sparskit-2.0.0/0000755000265600020320000000000011301043433012465 5ustar tilleaadminsparskit-2.0.0/BLASSM/0000755000265600020320000000000011301043347013452 5ustar tilleaadminsparskit-2.0.0/BLASSM/tester.f0000644000265600020320000001141606203735176015147 0ustar tilleaadmin program matprod c----------------------------------------------------------------------- c test program for some routines in BLASSM.f c----------------------------------------------------------------------- c Last update: May 2, 1994 c----------------------------------------------------------------------- implicit real*8 (a-h,o-z) parameter (nxmax = 30,nmx = nxmax*nxmax,nzmax=7*nmx) integer ia(nmx+1),ib(nmx+1),ic(nzmax), * ja(nzmax),jb(nzmax),jc(nzmax),iw(nmx) c----------------------------------------------------------------------- real*8 a(nzmax),b(nzmax),c(nzmax), * x(nmx),y(nmx),y1(nmx),rhs(nmx), al(6) character title*71,key*8,type*3 nx = 20 ny = 20 nz = 1 al(1) = 1.0D0 al(2) = 0.0D0 al(3) = 2.3D1 al(4) = 0.4D0 al(5) = 0.0D0 al(6) = 8.2D-2 iout = 8 c----------------------------------------------------------------------- call gen57pt (nx,ny,nz,al,0,n,a,ja,ia,iw,rhs) call gen57pt (ny,nx,nz,al,0,n,b,jb,ib,iw,rhs) c s = 3.812 c call aplsb1(n,n,a,ja,ia,s,b,jb,ib,c,jc,ic,nzmax,ierr) if (ierr .ne. 0) print *,' ierr = ',ierr c c call dump (1,n,.true.,c,jc,ic,9) c do 1 k=1,n x(k) = real(k)/real(n) 1 continue c call ope (n,x,y1,a,ja,ia) call ope (n,x,y,b,jb,ib) do 2 j=1, n y1(j) = s*y(j) + y1(j) 2 continue c call ope (n,x,y,c,jc,ic) c------------------------------------------------------ write (6,*) ' ------------ checking APLSB --------------' call ydfnorm(n,y1,y,6) c------------------------------------------------------ type = '--------' title=' test matrix for blassm c = a+b ' key = 'rua' c ifmt = 103 c job = -1 c-------- do 121 jj=1,2 write (9,*) 'DUMP A____________________________' call dump (1,n,.true.,a,ja,ia,9) write (9,*) 'DUMP B____________________________' call dump (1,n,.true.,b,jb,ib,9) call apmbt(n,n,job,a,ja,ia,b,jb,ib,c,jc,ic,nzmax,iw,ierr) write (9,*) 'DUMP C____________________________' call dump (1,n,.true.,c,jc,ic,9) if (ierr .ne. 0) print *,' ierr = ',ierr call ope (n,x,y1,a,ja,ia) call opet (n,x,y,b,jb,ib) s = real(job) do 3 j=1, n 3 y1(j) = y1(j) + s*y(j) c call ope (n,x,y,c,jc,ic) c------------xs------------------------------------------ write (6,*) ' ' write (6,*) ' ------------ checking APMBT---------------' write (6,*) ' ------------ with JOB = ',job,' -------------' call ydfnorm(n,y1,y,6) c------------------------------------------------------ job = job + 2 121 continue c type = '--------' title=' test matrix for blassm c = a+b^T ' c c c s = 0.1232445 call aplsbt(n,n,a,ja,ia,s,b,jb,ib,c,jc,ic,nzmax,iw,ierr) c if (ierr .ne. 0) print *,' ierr = ',ierr call ope (n,x,y1,a,ja,ia) call opet (n,x,y,b,jb,ib) do 4 j=1, n 4 y1(j) = y1(j) + s*y(j) c call ope (n,x,y,c,jc,ic) c------------------------------------------------------ c------------------------------------------------------ write (6,*) ' ' write (6,*) ' ------------ checking APLSBT---------------' call ydfnorm(n,y1,y,6) c----------------------------------------------------------------------- c testing products c----------------------------------------------------------------------- job = 1 call amub (n,n,job,a,ja,ia,b,jb,ib,c,jc,ic,nzmax,iw,ierr) c if (ierr .ne. 0) print *,' ierr = ',ierr call ope (n,x,y,b,jb,ib) call ope (n,y,y1,a,ja,ia) c call ope (n,x,y,c,jc,ic) c----------------------------------------------------------------------- write (6,*) ' ' write (6,*) ' ------------ checking AMUB ---------------' call ydfnorm(n,y1,y,6) c stop end c c subroutine ope (n,x,y,a,ja,ia) implicit real*8 (a-h,o-z) real*8 x(1),y(1),a(1) integer ia(*),ja(*) c sparse matrix * vector multiplication c do 100 i=1,n k1 = ia(i) k2 = ia(i+1) -1 y(i) = 0.0 do 99 k=k1,k2 y(i) = y(i) + a(k)*x(ja(k)) 99 continue 100 continue return end c subroutine opet (n,x,y,a,ja,ia) implicit real*8 (a-h,o-z) real*8 x(1),y(1),a(1) integer ia(*),ja(*) c sparse matrix * vector multiplication c do 1 j=1, n 1 y(j) = 0.0d0 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 return end c subroutine ydfnorm(n,y1,y,iout) implicit real*8 (a-h,o-z) real*8 y(*),y1(*) c t = 0.0d0 do 21 k=1,n t = t+(y(k)-y1(k))**2 21 continue t = sqrt(t) write(iout,*) '2-norm of error (exact answer-tested answer)=',t c----------------------------------------------------------------------- return end sparskit-2.0.0/BLASSM/makefile0000644000265600020320000000077606203735176015201 0ustar tilleaadminFFLAGS = F77 = f77 #F77 = cf77 #FFLAGS = -Wf"-dp" mvec.ex: rmatvec.o ../MATGEN/FDIF/functns.o ../libskit.a $(F77) $(FFLAGS) -o mvec.ex rmatvec.o ../MATGEN/FDIF/functns.o ../libskit.a tester.ex: tester.o ../MATGEN/FDIF/functns.o ../libskit.a $(F77) $(FFLAGS) -o tester.ex tester.o ../MATGEN/FDIF/functns.o ../libskit.a clean: rm -f *.o *.ex core *.trace fort.* ftn?? ../MATGEN/FDIF/functns.o: (cd ../MATGEN/FDIF; $(F77) $(FFLAGS) -c functns.f) ../libskit.a: (cd ..; $(MAKE) $(MAKEFLAGS) libskit.a) sparskit-2.0.0/BLASSM/rmatvec.f0000644000265600020320000002000606203735176015275 0ustar tilleaadmin program rmatvec parameter (nmax=10000, nzmax=80000) implicit real*8 (a-h,o-z) c----------------------------------------------------------------------- c This test program tests all the subroutines in matvec. c it generates matrices and transforms them in appropriate formats c and then call the appropriate routines. c----------------------------------------------------------------------- integer ia1(nmax), ia2(nmax), ja1(nzmax), ja2(nzmax), * jad(nzmax), iwk1(nmax), iwk2(nmax), idim(11), ioff(10) real*8 a1(nzmax), a2(nzmax), * x(nmax), y(nmax), y0(nmax), y1(nmax), stencil(100) c common used only to generate nonsymmetric matrices c common /gam/ gamma, gamma1, cvar data idim /4, 10, 15, 40, 50, 60, 70, 80, 90, 100, 200 / data iout /6/ c c initialize common gam c c gamma = 0.5 c gamma1 = 1.0 c cvar = 1.0 c----------------------------------------------------------------------- c ii loop corresponds to size of problem c----------------------------------------------------------------------- do 100 ii = 1, 3 write (iout,*) '---------------- ii ',ii,'--------------------' nfree = 1 nx = idim(ii) ny = nx c----------------------------------------------------------------------- c jj loop corresponds to 2-D and 3-D problems. c----------------------------------------------------------------------- do 150 jj=1, 2 write (iout,*) ' ----------- jj ',jj,' -------------' nz = 1 if (jj .eq. 2) nz = 10 c c call matrix generation routine -- c (strange to use block version to generate 1 x 1 blocks...) c call gen57bl (nx,ny,nz,1,1,n,a1,ja1,ia1,ia2,stencil) c c initialize x c do 1 j=1, n x(j) = real(j) 1 continue c c initial call to get `` exact '' answer in y0 c call amux(n,x,y0, a1, ja1, ia1) c----------------------------------------------------------------------- c TESTING AMUXE c----------------------------------------------------------------------- c c convert to itpack format ----- c call csrell (n,a1,ja1,ia1,7,a2,jad,n,ndiag,ierr) call amuxe (n, x, y, n, ndiag, a2,jad) call errpr (n, y, y0,iout,'amuxe ') c----------------------------------------------------------------------- c TESTING AMUXD c----------------------------------------------------------------------- c c convert to diagonal format c idiag = 7 call csrdia (n, idiag,10,a1, ja1, ia1, nmax, a2, * ioff, a2, ja2, ia2, jad) call amuxd (n,x,y,a2,nmax,idiag,ioff) call errpr (n, y, y0,iout,'amuxd ') c----------------------------------------------------------------------- c TESTING ATMUX c----------------------------------------------------------------------- c c convert to csc format (transpose) c call csrcsc (n,1,1,a1,ja1,ia1,a2,ja2,ia2) call atmux (n, x, y, a2, ja2, ia2) call errpr (n, y, y0,iout,'atmux ') c----------------------------------------------------------------------- c TESTING AMUXJ c----------------------------------------------------------------------- c c convert to jagged diagonal format c call csrjad (n,a1,ja1,ia1, jdiag, jad, a2, ja2, ia2) call amuxj (n, x, y, jdiag, a2, ja2, ia2) call dvperm (n, y, jad) call errpr (n, y, y0,iout,'amuxj ') c c convert back call jadcsr (n, jdiag, a2, ja2, ia2, jad, a1, ja1, ia1) call amux (n, x, y, a1, ja1, ia1) call errpr (n, y, y0,iout,'jadcsr') c----------------------------------------------------------------------- c----------------------------------------------------------------------- c triangular systems solutions c----------------------------------------------------------------------- c TESTING LDSOL c----------------------------------------------------------------------- call getl (n, a1, ja1, ia1, a2, ja2, ia2) call amux (n,x,y0, a2, ja2, ia2) call atmux(n,x,y1, a2, ja2, ia2) call csrmsr (n, a2, ja2, ia2, a2, ja2, y, iwk2) do 2 k=1,n a2(k) = 1.0d0/ a2(k) 2 continue call ldsol (n, y, y0, a2, ja2) call errpr (n, x, y, iout,'ldsol ') c----------------------------------------------------------------------- c TESTING LDSOLL c----------------------------------------------------------------------- call levels (n, ja2, ja2, nlev, jad, iwk1, iwk2) call ldsoll (n, y, y0, a2, ja2, nlev, jad, iwk1) call errpr (n, x, y, iout,'ldsoll') c----------------------------------------------------------------------- c TESTING UDSOLC c----------------------------------------------------------------------- c here we take advantage of the fact that the MSR format for U c is the MSC format for L c call udsolc (n, y, y1, a2, ja2) call errpr (n, x, y, iout,'udsolc') c----------------------------------------------------------------------- c TESTING LSOL c----------------------------------------------------------------------- c here we exploit the fact that with MSR format a, ja, ja is actually c the correct data structure for the strict lower triangular part of c the CSR format. First rescale matrix. c scal = 0.1 do 3 k=ja2(1), ja2(n+1)-1 a2(k)=a2(k)*scal 3 continue call amux(n, x, y0, a2, ja2, ja2) do 4 j=1,n y0(j) = x(j) + y0(j) 4 continue call lsol (n, y, y0, a2, ja2, ja2) call errpr (n, x, y, iout,'lsol ') c----------------------------------------------------------------------- c TESTING UDSOL c----------------------------------------------------------------------- call getu (n, a1, ja1, ia1, a2, ja2, ia2) call amux (n,x,y0, a2, ja2, ia2) call atmux(n,x,y1, a2, ja2, ia2) call csrmsr (n, a2, ja2, ia2, a2, ja2, y, jad) do 5 k=1,n a2(k) = 1.0d0/ a2(k) 5 continue call udsol (n, y, y0, a2, ja2) call errpr (n, x, y, iout,'udsol ') c----------------------------------------------------------------------- c TESTING LDSOLC c----------------------------------------------------------------------- c here we take advantage of the fact that the MSR format for L c is the MSC format for U c call ldsolc (n, y, y1, a2, ja2) call errpr (n, x, y, iout,'ldsolc') c----------------------------------------------------------------------- c TESTING USOL c----------------------------------------------------------------------- c here we exploit the fact that with MSR format a, ja, ja is actually c the correct data structure for the strict lower triangular part of c the CSR format. First rescale matrix. c scal = 0.1 do 6 k=ja2(1), ja2(n+1)-1 a2(k)=a2(k)*scal 6 continue call amux(n, x, y1, a2, ja2, ja2) do 7 j=1,n y1(j) = x(j) + y1(j) 7 continue call usol (n, y, y1, a2, ja2, ja2) call errpr (n, x, y, iout,'usol ') c----------------------------------------------------------------------- c -- END -- c----------------------------------------------------------------------- 150 continue 100 continue stop c---------------end-of-main--------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine errpr (n, y, y1,iout,msg) real*8 y(*), y1(*), t, sqrt character*6 msg t = 0.0d0 do 1 k=1,n t = t+(y(k)-y1(k))**2 1 continue t = sqrt(t) write (iout,*) ' 2-norm of difference in ',msg,' =', t return end sparskit-2.0.0/BLASSM/blassm.f0000644000265600020320000010413610325724515015117 0ustar tilleaadminc----------------------------------------------------------------------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 aplb1 : computes C = A+B [Sorted version: A, B, C sorted] c c aplsb : computes C = A + s B c c aplsb1 : computes C = A+sB [Sorted version: A, B, C sorted] c c apmbt : Computes C = A +/- transp(B) c c aplsbt : Computes C = A + s * transp(B) c c diamua : Computes C = Diag * A c c amudia : Computes C = A* Diag c c aplsca : Computes A:= A + s I (s = scalar) c c apldia : Computes C = A + Diag. 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) real*8 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 A. 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----------------------------------------------------------------------- real*8 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) real*8 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 aplb1(nrow,ncol,job,a,ja,ia,b,jb,ib,c,jc,ic,nzmax,ierr) real*8 a(*), b(*), c(*) integer ja(*),jb(*),jc(*),ia(nrow+1),ib(nrow+1),ic(nrow+1) c----------------------------------------------------------------------- c performs the matrix sum C = A+B for matrices in sorted CSR format. c the difference with aplb 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 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 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----------------------------------------------------------------------- logical values values = (job .ne. 0) ierr = 0 kc = 1 ic(1) = kc c do 6 i=1, nrow ka = ia(i) kb = ib(i) kamax = ia(i+1)-1 kbmax = ib(i+1)-1 5 continue if (ka .le. kamax) then j1 = ja(ka) else j1 = ncol+1 endif if (kb .le. kbmax) then j2 = jb(kb) else j2 = ncol+1 endif c c three cases c if (kc .gt. nzmax) goto 999 if (j1 .eq. j2) then if (values) c(kc) = a(ka)+b(kb) jc(kc) = j1 ka = ka+1 kb = kb+1 kc = kc+1 else if (j1 .lt. j2) then jc(kc) = j1 if (values) c(kc) = a(ka) ka = ka+1 kc = kc+1 else if (j1 .gt. j2) then jc(kc) = j2 if (values) c(kc) = b(kb) kb = kb+1 kc = kc+1 endif if (ka .le. kamax .or. kb .le. kbmax) goto 5 ic(i+1) = kc 6 continue return 999 ierr = i return c------------end-of-aplb1----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aplsb (nrow,ncol,a,ja,ia,s,b,jb,ib,c,jc,ic, * nzmax,ierr) real*8 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 (kc .gt. nzmax) goto 999 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 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 aplsb1 (nrow,ncol,a,ja,ia,s,b,jb,ib,c,jc,ic, * nzmax,ierr) real*8 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-aplsb1 --------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine apmbt (nrow,ncol,job,a,ja,ia,b,jb,ib, * c,jc,ic,nzmax,iw,ierr) real*8 a(*), b(*), c(*) integer ja(*),jb(*),jc(*),ia(nrow+1),ib(ncol+1),ic(*),iw(*) c----------------------------------------------------------------------- c performs the matrix sum C = A + transp(B) or C = A - transp(B) c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and transp(B) c ncol = integer. The column dimension of A. Also the row c dimension of B. c c job = integer. if job = -1, apmbt will compute C= A - transp(B) c (structure + values) c if (job .eq. 1) it will compute C=A+transp(A) c (structure+ values) c if (job .eq. 0) it will compute the structure of c C= A+/-transp(B) only (ignoring all real values). c any other value of job will be treated as job=1 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, jc, and ic. 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 format. c c ierr = integer. serving as error message. c ierr = 0 means normal return. c ierr = -1 means that nzmax was .lt. either the number of c nonzero elements of A or the number of nonzero elements in B. 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 at least max(ncol,nrow) c c Notes: c------- It is important to note that here all of three arrays c, ic, c and jc are assumed to be of length nnz(c). This is because c the matrix is internally converted in coordinate format. c c----------------------------------------------------------------------- logical values values = (job .ne. 0) c ierr = 0 do 1 j=1, ncol iw(j) = 0 1 continue c nnza = ia(nrow+1)-1 nnzb = ib(ncol+1)-1 len = nnzb if (nzmax .lt. nnzb .or. nzmax .lt. nnza) then ierr = -1 return endif c c trasnpose matrix b into c c ljob = 0 if (values) ljob = 1 ipos = 1 call csrcsc (ncol,ljob,ipos,b,jb,ib,c,jc,ic) c----------------------------------------------------------------------- if (job .eq. -1) then do 2 k=1,len c(k) = -c(k) 2 continue endif c c--------------- main loop -------------------------------------------- c do 500 ii=1, nrow do 200 k = ic(ii),ic(ii+1)-1 iw(jc(k)) = k 200 continue c----------------------------------------------------------------------- do 300 ka = ia(ii), ia(ii+1)-1 jcol = ja(ka) jpos = iw(jcol) if (jpos .eq. 0) then c c if fill-in append in coordinate format to matrix. c len = len+1 if (len .gt. nzmax) goto 999 jc(len) = jcol ic(len) = ii if (values) c(len) = a(ka) else c else do addition. if (values) c(jpos) = c(jpos) + a(ka) endif 300 continue do 301 k=ic(ii), ic(ii+1)-1 iw(jc(k)) = 0 301 continue 500 continue c c convert first part of matrix (without fill-ins) into coo format c ljob = 2 if (values) ljob = 3 do 501 i=1, nrow+1 iw(i) = ic(i) 501 continue call csrcoo (nrow,ljob,nnzb,c,jc,iw,nnzb,c,ic,jc,ierr) c c convert the whole thing back to csr format. c ljob = 0 if (values) ljob = 1 call coicsr (nrow,len,ljob,c,jc,ic,iw) return 999 ierr = ii return c--------end-of-apmbt--------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aplsbt(nrow,ncol,a,ja,ia,s,b,jb,ib, * c,jc,ic,nzmax,iw,ierr) real*8 a(*), b(*), c(*), s integer ja(*),jb(*),jc(*),ia(nrow+1),ib(ncol+1),ic(*),iw(*) c----------------------------------------------------------------------- c performs the matrix sum C = A + transp(B). c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and transp(B) c ncol = integer. The column dimension of A. Also the row c dimension of B. c c a, c ja, c ia = Matrix A in compressed sparse row format. c c s = real. scalar factor for B. c c c b, c jb, c ib = Matrix B in compressed sparse row format. c c nzmax = integer. The length of the arrays c, jc, and ic. 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 format. c c ierr = integer. serving as error message. c ierr = 0 means normal return. c ierr = -1 means that nzmax was .lt. either the number of c nonzero elements of A or the number of nonzero elements in B. 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 at least max(nrow,ncol) c c Notes: c------- It is important to note that here all of three arrays c, ic, c and jc are assumed to be of length nnz(c). This is because c the matrix is internally converted in coordinate format. c c----------------------------------------------------------------------- ierr = 0 do 1 j=1, ncol iw(j) = 0 1 continue c nnza = ia(nrow+1)-1 nnzb = ib(ncol+1)-1 len = nnzb if (nzmax .lt. nnzb .or. nzmax .lt. nnza) then ierr = -1 return endif c c transpose matrix b into c c ljob = 1 ipos = 1 call csrcsc (ncol,ljob,ipos,b,jb,ib,c,jc,ic) do 2 k=1,len 2 c(k) = c(k)*s c c main loop. add rows from ii = 1 to nrow. c do 500 ii=1, nrow c iw is used as a system to recognize whether there c was a nonzero element in c. do 200 k = ic(ii),ic(ii+1)-1 iw(jc(k)) = k 200 continue c do 300 ka = ia(ii), ia(ii+1)-1 jcol = ja(ka) jpos = iw(jcol) if (jpos .eq. 0) then c c if fill-in append in coordinate format to matrix. c len = len+1 if (len .gt. nzmax) goto 999 jc(len) = jcol ic(len) = ii c(len) = a(ka) else c else do addition. c(jpos) = c(jpos) + a(ka) endif 300 continue do 301 k=ic(ii), ic(ii+1)-1 iw(jc(k)) = 0 301 continue 500 continue c c convert first part of matrix (without fill-ins) into coo format c ljob = 3 do 501 i=1, nrow+1 iw(i) = ic(i) 501 continue call csrcoo (nrow,ljob,nnzb,c,jc,iw,nnzb,c,ic,jc,ierr) c c convert the whole thing back to csr format. c ljob = 1 call coicsr (nrow,len,ljob,c,jc,ic,iw) return 999 ierr = ii return c--------end-of-aplsbt-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine diamua (nrow,job, a, ja, ia, diag, b, jb, ib) real*8 a(*), b(*), diag(nrow), scal integer ja(*),jb(*), ia(nrow+1),ib(nrow+1) c----------------------------------------------------------------------- c performs the matrix by matrix product B = Diag * A (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 in this case use job=0. c----------------------------------------------------------------- do 1 ii=1,nrow c c normalize each row c k1 = ia(ii) k2 = ia(ii+1)-1 scal = diag(ii) do 2 k=k1, k2 b(k) = a(k)*scal 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----------end-of-diamua------------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine amudia (nrow,job, a, ja, ia, diag, b, jb, ib) real*8 a(*), b(*), diag(nrow) 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 aplsca (nrow, a, ja, ia, scal,iw) real*8 a(*), scal integer ja(*), ia(nrow+1),iw(*) c----------------------------------------------------------------------- c Adds a scalar to the diagonal entries of a sparse matrix A :=A + s I c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A c c a, c ja, c ia = Matrix A in compressed sparse row format. c c scal = real. scalar to add to the diagonal entries. c c on return: c---------- c c a, c ja, c ia = matrix A with diagonal elements shifted (or created). c c iw = integer work array of length n. On return iw will c contain the positions of the diagonal entries in the c output matrix. (i.e., a(iw(k)), ja(iw(k)), k=1,...n, c are the values/column indices of the diagonal elements c of the output matrix. ). c c Notes: c------- c The column dimension of A is not needed. c important: the matrix a may be expanded slightly to allow for c additions of nonzero elements to previously nonexisting diagonals. c The is no checking as to whether there is enough space appended c to the arrays a and ja. if not sure allow for n additional c elemnts. c coded by Y. Saad. Latest version July, 19, 1990 c----------------------------------------------------------------------- logical test c call diapos (nrow,ja,ia,iw) icount = 0 do 1 j=1, nrow if (iw(j) .eq. 0) then icount = icount+1 else a(iw(j)) = a(iw(j)) + scal endif 1 continue c c if no diagonal elements to insert in data structure return. c if (icount .eq. 0) return c c shift the nonzero elements if needed, to allow for created c diagonal elements. c ko = ia(nrow+1)+icount c c copy rows backward c do 5 ii=nrow, 1, -1 c c go through row ii c k1 = ia(ii) k2 = ia(ii+1)-1 ia(ii+1) = ko test = (iw(ii) .eq. 0) do 4 k = k2,k1,-1 j = ja(k) if (test .and. (j .lt. ii)) then test = .false. ko = ko - 1 a(ko) = scal ja(ko) = ii iw(ii) = ko endif ko = ko-1 a(ko) = a(k) ja(ko) = j 4 continue c diagonal element has not been added yet. if (test) then ko = ko-1 a(ko) = scal ja(ko) = ii iw(ii) = ko endif 5 continue ia(1) = ko return c----------------------------------------------------------------------- c----------end-of-aplsca------------------------------------------------ end c----------------------------------------------------------------------- subroutine apldia (nrow, job, a, ja, ia, diag, b, jb, ib, iw) real*8 a(*), b(*), diag(nrow) integer ja(*),jb(*), ia(nrow+1),ib(nrow+1), iw(*) c----------------------------------------------------------------------- c Adds a diagonal matrix to a general sparse matrix: B = A + Diag 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 (i.e. assume that a has already been copied into array b, c or that algorithm is used in place. ) For all practical c purposes enter job=0 for an in-place call and job=1 otherwise c c Note: in case there are missing diagonal elements in A, c then the option job =0 will be ignored, since the algorithm c must modify the data structure (i.e. jb, ib) in this c situation. 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 c iw = integer work array of length n. On return iw will c contain the positions of the diagonal entries in the c output matrix. (i.e., a(iw(k)), ja(iw(k)), k=1,...n, c are the values/column indices of the diagonal elements c of the output matrix. ). c c Notes: c------- c 1) The column dimension of A is not needed. c 2) algorithm in place (b, jb, ib, can be the same as c a, ja, ia, on entry). See comments for parameter job. c c coded by Y. Saad. Latest version July, 19, 1990 c----------------------------------------------------------------- logical test c c copy integer arrays into b's data structure if required c if (job .ne. 0) then nnz = ia(nrow+1)-1 do 2 k=1, nnz jb(k) = ja(k) b(k) = a(k) 2 continue do 3 k=1, nrow+1 ib(k) = ia(k) 3 continue endif c c get positions of diagonal elements in data structure. c call diapos (nrow,ja,ia,iw) c c count number of holes in diagonal and add diag(*) elements to c valid diagonal entries. c icount = 0 do 1 j=1, nrow if (iw(j) .eq. 0) then icount = icount+1 else b(iw(j)) = a(iw(j)) + diag(j) endif 1 continue c c if no diagonal elements to insert return c if (icount .eq. 0) return c c shift the nonzero elements if needed, to allow for created c diagonal elements. c ko = ib(nrow+1)+icount c c copy rows backward c do 5 ii=nrow, 1, -1 c c go through row ii c k1 = ib(ii) k2 = ib(ii+1)-1 ib(ii+1) = ko test = (iw(ii) .eq. 0) do 4 k = k2,k1,-1 j = jb(k) if (test .and. (j .lt. ii)) then test = .false. ko = ko - 1 b(ko) = diag(ii) jb(ko) = ii iw(ii) = ko endif ko = ko-1 b(ko) = a(k) jb(ko) = j 4 continue c diagonal element has not been added yet. if (test) then ko = ko-1 b(ko) = diag(ii) jb(ko) = ii iw(ii) = ko endif 5 continue ib(1) = ko return c----------------------------------------------------------------------- c------------end-of-apldiag--------------------------------------------- end sparskit-2.0.0/BLASSM/README0000644000265600020320000001326306203735175014353 0ustar tilleaadminc----------------------------------------------------------------------c c c c BLASSM and MATVEC MODULES c c c c----------------------------------------------------------------------c c c c This directory contains the BLASSM and MATVEC modules of SPARSKIT c c c c----------------------------------------------------------------------c c c c Current contents c c----------------------------------------------------------------------c c c c blassm.f : contains the latest version of the basc linear algerba c c routines for sparse matrices. c c c c tester.f : is a main program to test the routines and the paths c c c c matvec.f : contains the subroutines in the module matvec c c c c rmatvec.f: a test program that runs all the routines in matvec c c c c----------------------------------------------------------------------c c c c makefile : make file for tester.ex (tests blassm.f) and mvec.ex c c (tests routines in matvec.f) c c c c----------------------------------------------------------------------c c----------------------------------------------------------------------c c----------------------------------------------------------------------c c current status of blassm.f c c 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 apmbt : Computes C = A +/- transp(B) c c aplsbt : Computes C = A + s * transp(B) c c diamua : Computes C = Diag * A c c amudia : Computes C = A* Diag c c apldia : Computes C = A + Diag. c c aplsca : Computes A:= A + s I (s = scalar) c c----------------------------------------------------------------------c c----------------------------------------------------------------------c c c c current status of matvec.f c c c c----------------------------------------------------------------------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: c---------- c c 1) Matrix-vector products: c c--------------------------- c c amux : A times a vector. Compressed Sparse Row (CSR) format. c c amuxms: A times a vector. Modified Compress Sparse Row format. c c atmux : Transp(A) times a vector. CSR format. c c amuxe : A times a vector. Ellpack/Itpack (ELL) format. c c amuxd : A times a vector. Diagonal (DIA) format. c c amuxj : A times a vector. Jagged Diagonal (JAD) format. c c vbrmv : Sparse matrix-full vector product, in VBR format c c c c 2) Triangular system solutions: c c------------------------------- c c lsol : Unit Lower Triang. solve. Compressed Sparse Row (CSR) format.c c ldsol : Lower Triang. solve. Modified Sparse Row (MSR) format. c c lsolc : Unit Lower Triang. solve. Comp. Sparse Column (CSC) format. c c ldsolc: Lower Triang. solve. Modified Sparse Column (MSC) format. c c ldsoll: Lower Triang. solve with level scheduling. MSR format. c c usol : Unit Upper Triang. solve. Compressed Sparse Row (CSR) format.c c udsol : Upper Triang. solve. Modified Sparse Row (MSR) format. c c usolc : Unit Upper Triang. solve. Comp. Sparse Column (CSC) format. c c udsolc: Upper Triang. solve. Modified Sparse Column (MSC) format. c c----------------------------------------------------------------------c sparskit-2.0.0/BLASSM/matvec.f0000644000265600020320000007244211251300301015077 0ustar tilleaadminc----------------------------------------------------------------------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 amuxms: A times a vector. Modified Compress Sparse Row format. c c atmux : Transp(A) times a vector. CSR format. c c atmuxr: Transp(A) times a vector. CSR format. A rectangular. c c amuxe : A times a vector. Ellpack/Itpack (ELL) format. c c amuxd : A times a vector. Diagonal (DIA) format. c c amuxj : A times a vector. Jagged Diagonal (JAD) format. c c vbrmv : Sparse matrix-full vector product, in VBR format c c c c 2) Triangular system solutions: c c------------------------------- c c lsol : Unit Lower Triang. solve. Compressed Sparse Row (CSR) format.c c ldsol : Lower Triang. solve. Modified Sparse Row (MSR) format. c c lsolc : Unit Lower Triang. solve. Comp. Sparse Column (CSC) format. c c ldsolc: Lower Triang. solve. Modified Sparse Column (MSC) format. c c ldsoll: Lower Triang. solve with level scheduling. MSR format. c c usol : Unit Upper Triang. solve. Compressed Sparse Row (CSR) format.c c udsol : Upper Triang. solve. Modified Sparse Row (MSR) format. c c usolc : Unit Upper Triang. solve. Comp. Sparse Column (CSC) format. c c udsolc: Upper Triang. solve. Modified Sparse Column (MSC) 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) real*8 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 real*8 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 c---------end-of-amux--------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine amuxms (n, x, y, a,ja) real*8 x(*), y(*), a(*) integer n, ja(*) c----------------------------------------------------------------------- c A times a vector in MSR format c----------------------------------------------------------------------- c multiplies a matrix by a vector using the dot product form c Matrix A is stored in Modified 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,= input matrix in modified 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 integer i, k c----------------------------------------------------------------------- do 10 i=1, n y(i) = a(i)*x(i) 10 continue do 100 i = 1,n c c compute the inner product of row i with vector x c do 99 k=ja(i), ja(i+1)-1 y(i) = y(i) + a(k) *x(ja(k)) 99 continue 100 continue c return c---------end-of-amuxm-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine atmux (n, x, y, a, ja, ia) real*8 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 c----------------------------------------------------------------------- subroutine atmuxr (m, n, x, y, a, ja, ia) real*8 x(*), y(*), a(*) integer m, n, ia(*), ja(*) c----------------------------------------------------------------------- c transp( A ) times a vector, A can be rectangular c----------------------------------------------------------------------- c See also atmux. The essential difference is how the solution vector c is initially zeroed. If using this to multiply rectangular CSC c matrices by a vector, m number of rows, n is number of columns. c----------------------------------------------------------------------- c c on entry: c---------- c m = column dimension of A 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,m 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-atmuxr--------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine amuxe (n,x,y,na,ncol,a,ja) real*8 x(n), y(n), a(na,*) integer n, na, ncol, ja(na,*) c----------------------------------------------------------------------- c A times a vector in Ellpack Itpack format (ELL) c----------------------------------------------------------------------- c multiplies a matrix by a vector when the original matrix is stored c in the ellpack-itpack sparse 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 na = integer. The first dimension of arrays a and ja c as declared by the calling program. c ncol = integer. The number of active columns in array a. c (i.e., the number of generalized diagonals in matrix.) c a, ja = the real and integer arrays of the itpack format c (a(i,k),k=1,ncol contains the elements of row i in matrix c ja(i,k),k=1,ncol contains their column numbers) c c on return: c----------- c y = real array of length n, containing the product y=y=A*x c c----------------------------------------------------------------------- c local variables c integer i, j c----------------------------------------------------------------------- do 1 i=1, n y(i) = 0.0 1 continue do 10 j=1,ncol do 25 i = 1,n y(i) = y(i)+a(i,j)*x(ja(i,j)) 25 continue 10 continue c return c--------end-of-amuxe--------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine amuxd (n,x,y,diag,ndiag,idiag,ioff) integer n, ndiag, idiag, ioff(idiag) real*8 x(n), y(n), diag(ndiag,idiag) c----------------------------------------------------------------------- c A times a vector in Diagonal storage format (DIA) c----------------------------------------------------------------------- c multiplies a matrix by a vector when the original matrix is stored c in the diagonal storage 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 ndiag = integer. The first dimension of array adiag as declared in c the calling program. c idiag = integer. The number of diagonals in the matrix. c diag = real array containing the diagonals stored of A. c idiag = number of diagonals in matrix. c diag = real array of size (ndiag x idiag) containing the diagonals c c ioff = integer array of length idiag, containing the offsets of the c diagonals of the matrix: c diag(i,k) contains the element a(i,i+ioff(k)) of the matrix. c c on return: c----------- c y = real array of length n, containing the product y=A*x c c----------------------------------------------------------------------- c local variables c integer j, k, io, i1, i2 c----------------------------------------------------------------------- do 1 j=1, n y(j) = 0.0d0 1 continue do 10 j=1, idiag io = ioff(j) i1 = max0(1,1-io) i2 = min0(n,n-io) do 9 k=i1, i2 y(k) = y(k)+diag(k,j)*x(k+io) 9 continue 10 continue c return c----------end-of-amuxd------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine amuxj (n, x, y, jdiag, a, ja, ia) integer n, jdiag, ja(*), ia(*) real*8 x(n), y(n), a(*) c----------------------------------------------------------------------- c A times a vector in Jagged-Diagonal storage format (JAD) c----------------------------------------------------------------------- c multiplies a matrix by a vector when the original matrix is stored c in the jagged diagonal storage 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 jdiag = integer. The number of jadded-diagonals in the data-structure. c a = real array containing the jadded diagonals of A stored c in succession (in decreasing lengths) c j = integer array containing the colum indices of the c corresponding elements in a. c ia = integer array containing the lengths of the jagged diagonals c c on return: c----------- c y = real array of length n, containing the product y=A*x c c Note: c------- c Permutation related to the JAD format is not performed. c this can be done by: c call permvec (n,y,y,iperm) c after the call to amuxj, where iperm is the permutation produced c by csrjad. c----------------------------------------------------------------------- c local variables c integer i, ii, k1, len, j c----------------------------------------------------------------------- do 1 i=1, n y(i) = 0.0d0 1 continue do 70 ii=1, jdiag k1 = ia(ii)-1 len = ia(ii+1)-k1-1 do 60 j=1,len y(j)= y(j)+a(k1+j)*x(ja(k1+j)) 60 continue 70 continue c return c----------end-of-amuxj------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine vbrmv(nr, nc, ia, ja, ka, a, kvstr, kvstc, x, b) c----------------------------------------------------------------------- integer nr, nc, ia(nr+1), ja(*), ka(*), kvstr(nr+1), kvstc(*) real*8 a(*), x(*), b(*) c----------------------------------------------------------------------- c Sparse matrix-full vector product, in VBR format. c----------------------------------------------------------------------- c On entry: c-------------- c nr, nc = number of block rows and columns in matrix A c ia,ja,ka,a,kvstr,kvstc = matrix A in variable block row format c x = multiplier vector in full format c c On return: c--------------- c b = product of matrix A times vector x in full format c c Algorithm: c--------------- c Perform multiplication by traversing a in order. c c----------------------------------------------------------------------- c-----local variables integer n, i, j, ii, jj, k, istart, istop real*8 xjj c--------------------------------- n = kvstc(nc+1)-1 do i = 1, n b(i) = 0.d0 enddo c--------------------------------- k = 1 do i = 1, nr istart = kvstr(i) istop = kvstr(i+1)-1 do j = ia(i), ia(i+1)-1 do jj = kvstc(ja(j)), kvstc(ja(j)+1)-1 xjj = x(jj) do ii = istart, istop b(ii) = b(ii) + xjj*a(k) k = k + 1 enddo enddo enddo enddo c--------------------------------- return end c----------------------------------------------------------------------- c----------------------end-of-vbrmv------------------------------------- c----------------------------------------------------------------------- c----------------------------------------------------------------------c c 2) T R I A N G U L A R S Y S T E M S O L U T I O N S c c----------------------------------------------------------------------c subroutine lsol (n,x,y,al,jal,ial) integer n, jal(*),ial(n+1) real*8 x(n), y(n), al(*) c----------------------------------------------------------------------- c solves L x = y ; L = lower unit triang. / CSR format c----------------------------------------------------------------------- c solves a unit lower triangular system by standard (sequential ) c forward elimination - matrix stored in CSR format. c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real array containg the right side. c c al, c jal, c ial, = Lower triangular matrix stored in compressed sparse row c format. c c On return: c----------- c x = The solution of L x = y. c-------------------------------------------------------------------- c local variables c integer k, j real*8 t c----------------------------------------------------------------------- x(1) = y(1) do 150 k = 2, n t = y(k) do 100 j = ial(k), ial(k+1)-1 t = t-al(j)*x(jal(j)) 100 continue x(k) = t 150 continue c return c----------end-of-lsol-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine ldsol (n,x,y,al,jal) integer n, jal(*) real*8 x(n), y(n), al(*) c----------------------------------------------------------------------- c Solves L x = y L = triangular. MSR format c----------------------------------------------------------------------- c solves a (non-unit) lower triangular system by standard (sequential) c forward elimination - matrix stored in MSR format c with diagonal elements already inverted (otherwise do inversion, c al(1:n) = 1.0/al(1:n), before calling ldsol). c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real array containg the right hand side. c c al, c jal, = Lower triangular matrix stored in Modified Sparse Row c format. c c On return: c----------- c x = The solution of L x = y . c-------------------------------------------------------------------- c local variables c integer k, j real*8 t c----------------------------------------------------------------------- x(1) = y(1)*al(1) do 150 k = 2, n t = y(k) do 100 j = jal(k), jal(k+1)-1 t = t - al(j)*x(jal(j)) 100 continue x(k) = al(k)*t 150 continue return c----------end-of-ldsol------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine lsolc (n,x,y,al,jal,ial) integer n, jal(*),ial(*) real*8 x(n), y(n), al(*) c----------------------------------------------------------------------- c SOLVES L x = y ; where L = unit lower trang. CSC format c----------------------------------------------------------------------- c solves a unit lower triangular system by standard (sequential ) c forward elimination - matrix stored in CSC format. c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real*8 array containg the right side. c c al, c jal, c ial, = Lower triangular matrix stored in compressed sparse column c format. c c On return: c----------- c x = The solution of L x = y. c----------------------------------------------------------------------- c local variables c integer k, j real*8 t c----------------------------------------------------------------------- do 140 k=1,n x(k) = y(k) 140 continue do 150 k = 1, n-1 t = x(k) do 100 j = ial(k), ial(k+1)-1 x(jal(j)) = x(jal(j)) - t*al(j) 100 continue 150 continue c return c----------end-of-lsolc------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine ldsolc (n,x,y,al,jal) integer n, jal(*) real*8 x(n), y(n), al(*) c----------------------------------------------------------------------- c Solves L x = y ; L = nonunit Low. Triang. MSC format c----------------------------------------------------------------------- c solves a (non-unit) lower triangular system by standard (sequential) c forward elimination - matrix stored in Modified Sparse Column format c with diagonal elements already inverted (otherwise do inversion, c al(1:n) = 1.0/al(1:n), before calling ldsol). c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real array containg the right hand side. c c al, c jal, c ial, = Lower triangular matrix stored in Modified Sparse Column c format. c c On return: c----------- c x = The solution of L x = y . c-------------------------------------------------------------------- c local variables c integer k, j real*8 t c----------------------------------------------------------------------- do 140 k=1,n x(k) = y(k) 140 continue do 150 k = 1, n x(k) = x(k)*al(k) t = x(k) do 100 j = jal(k), jal(k+1)-1 x(jal(j)) = x(jal(j)) - t*al(j) 100 continue 150 continue c return c----------end-of-lsolc------------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine ldsoll (n,x,y,al,jal,nlev,lev,ilev) integer n, nlev, jal(*), ilev(nlev+1), lev(n) real*8 x(n), y(n), al(*) c----------------------------------------------------------------------- c Solves L x = y L = triangular. Uses LEVEL SCHEDULING/MSR format c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real array containg the right hand side. c c al, c jal, = Lower triangular matrix stored in Modified Sparse Row c format. c nlev = number of levels in matrix c lev = integer array of length n, containing the permutation c that defines the levels in the level scheduling ordering. c ilev = pointer to beginning of levels in lev. c the numbers lev(i) to lev(i+1)-1 contain the row numbers c that belong to level number i, in the level shcheduling c ordering. c c On return: c----------- c x = The solution of L x = y . c-------------------------------------------------------------------- integer ii, jrow, i real*8 t c c outer loop goes through the levels. (SEQUENTIAL loop) c do 150 ii=1, nlev c c next loop executes within the same level. PARALLEL loop c do 100 i=ilev(ii), ilev(ii+1)-1 jrow = lev(i) c c compute inner product of row jrow with x c t = y(jrow) do 130 k=jal(jrow), jal(jrow+1)-1 t = t - al(k)*x(jal(k)) 130 continue x(jrow) = t*al(jrow) 100 continue 150 continue return c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine usol (n,x,y,au,jau,iau) integer n, jau(*),iau(n+1) real*8 x(n), y(n), au(*) c----------------------------------------------------------------------- c Solves U x = y U = unit upper triangular. c----------------------------------------------------------------------- c solves a unit upper triangular system by standard (sequential ) c backward elimination - matrix stored in CSR format. c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real array containg the right side. c c au, c jau, c iau, = Lower triangular matrix stored in compressed sparse row c format. c c On return: c----------- c x = The solution of U x = y . c-------------------------------------------------------------------- c local variables c integer k, j real*8 t c----------------------------------------------------------------------- x(n) = y(n) do 150 k = n-1,1,-1 t = y(k) do 100 j = iau(k), iau(k+1)-1 t = t - au(j)*x(jau(j)) 100 continue x(k) = t 150 continue c return c----------end-of-usol-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine udsol (n,x,y,au,jau) integer n, jau(*) real*8 x(n), y(n),au(*) c----------------------------------------------------------------------- c Solves U x = y ; U = upper triangular in MSR format c----------------------------------------------------------------------- c solves a non-unit upper triangular matrix by standard (sequential ) c backward elimination - matrix stored in MSR format. c with diagonal elements already inverted (otherwise do inversion, c au(1:n) = 1.0/au(1:n), before calling). c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real array containg the right side. c c au, c jau, = Lower triangular matrix stored in modified sparse row c format. c c On return: c----------- c x = The solution of U x = y . c-------------------------------------------------------------------- c local variables c integer k, j real*8 t c----------------------------------------------------------------------- x(n) = y(n)*au(n) do 150 k = n-1,1,-1 t = y(k) do 100 j = jau(k), jau(k+1)-1 t = t - au(j)*x(jau(j)) 100 continue x(k) = au(k)*t 150 continue c return c----------end-of-udsol------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine usolc (n,x,y,au,jau,iau) real*8 x(*), y(*), au(*) integer n, jau(*),iau(*) c----------------------------------------------------------------------- c SOUVES U x = y ; where U = unit upper trang. CSC format c----------------------------------------------------------------------- c solves a unit upper triangular system by standard (sequential ) c forward elimination - matrix stored in CSC format. c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real*8 array containg the right side. c c au, c jau, c iau, = Uower triangular matrix stored in compressed sparse column c format. c c On return: c----------- c x = The solution of U x = y. c----------------------------------------------------------------------- c local variables c integer k, j real*8 t c----------------------------------------------------------------------- do 140 k=1,n x(k) = y(k) 140 continue do 150 k = n,1,-1 t = x(k) do 100 j = iau(k), iau(k+1)-1 x(jau(j)) = x(jau(j)) - t*au(j) 100 continue 150 continue c return c----------end-of-usolc------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine udsolc (n,x,y,au,jau) integer n, jau(*) real*8 x(n), y(n), au(*) c----------------------------------------------------------------------- c Solves U x = y ; U = nonunit Up. Triang. MSC format c----------------------------------------------------------------------- c solves a (non-unit) upper triangular system by standard (sequential) c forward elimination - matrix stored in Modified Sparse Column format c with diagonal elements already inverted (otherwise do inversion, c auuuul(1:n) = 1.0/au(1:n), before calling ldsol). c----------------------------------------------------------------------- c c On entry: c---------- c n = integer. dimension of problem. c y = real*8 array containg the right hand side. c c au, c jau, = Upper triangular matrix stored in Modified Sparse Column c format. c c On return: c----------- c x = The solution of U x = y . c-------------------------------------------------------------------- c local variables c integer k, j real*8 t c----------------------------------------------------------------------- do 140 k=1,n x(k) = y(k) 140 continue do 150 k = n,1,-1 x(k) = x(k)*au(k) t = x(k) do 100 j = jau(k), jau(k+1)-1 x(jau(j)) = x(jau(j)) - t*au(j) 100 continue 150 continue c return c----------end-of-udsolc------------------------------------------------ c----------------------------------------------------------------------- end sparskit-2.0.0/INFO/0000755000265600020320000000000011063776343013242 5ustar tilleaadminsparskit-2.0.0/INFO/makefile0000644000265600020320000000055507703627104014743 0ustar tilleaadmin# F77 = f77 #F77 = cf77 FFLAGS = -g -Wall FILES = rinfo1.o dinfo13.o ## needs library libskit.a in whatever machine version -- LIB = -L/project/darpa/lib/PC -lskit ##LIB = -L/project/darpa/lib/solaris -lskit info1.ex: $(FILES) $(F77) -o info1.ex $(FILES) $(LIB) clean: rm -f *.o *.ex core *.trace *~ .f.o : ; $(F77) $(FFLAGS) -c $*.f -o $*.osparskit-2.0.0/INFO/rinfo1.f0000644000265600020320000000267407663205501014612 0ustar tilleaadmin program info1 c---------------------------------------------------------------------- c usage info1.ex < HB_file c c where info1 is the executable generated by makefile, HB_file is a c file containing a matrix stored in Harwell-Boeing matrices. c Info1 will then dump the information into the standard output. c c To use with larger matrices, increase nmax and nzmax. c---------------------------------------------------------------------- implicit none integer nmax, nzmax parameter (nmax = 30000, nzmax = 800000) integer ia(nmax+1),ia1(nmax+1),ja(nzmax),ja1(nzmax) real*8 a(nzmax),a1(nzmax),rhs(1) character title*72, type*3, key*8, guesol*2 logical valued c integer job, iin, nrow,ncol,nnz,ierr, nrhs, iout c-------------- data iin /5/, iout/6/ c-------------- job = 2 nrhs = 0 call readmt (nmax,nzmax,job,iin,a,ja,ia, rhs, nrhs, * guesol,nrow,ncol,nnz,title,key,type,ierr) c---- if not readable return if (ierr .ne. 0) then write (iout,100) ierr 100 format(' **ERROR: Unable to read matrix',/, * ' Message returned fom readmt was ierr =',i3) stop endif valued = (job .ge. 2) c------- call dinfo1(ncol,iout,a,ja,ia,valued,title,key,type,a1,ja1,ia1) c--------------------end------------------------------------------------ c----------------------------------------------------------------------- end sparskit-2.0.0/INFO/rinfoC.c0000644000265600020320000000546307663204676014644 0ustar tilleaadmin#include #include #include #define readmtc readmtc_ #define dinfo1 dinfo1_ #define max(a,b) (((a)>(b))?(a):(b)) void errexit( char *f_str, ... ) { va_list argp; char out1[256], out2[256]; va_start(argp, f_str); vsprintf(out1, f_str, argp); va_end(argp); sprintf(out2, "Error! %s\n", out1); fprintf(stdout, out2); fflush(stdout); exit( -1 ); } void *Malloc( int nbytes, char *msg ) { void *ptr; if (nbytes == 0) return NULL; ptr = (void *)malloc(nbytes); if (ptr == NULL) errexit( "Not enough mem for %s. Requested size: %d bytes", msg, nbytes ); return ptr; } int main( int argc, char **argv ) { /*---------------------------------------------------------------------- * usage info1.ex HB_file * * where info1 is the executable generated by makefile, HB_file is a * file containing a matrix stored in Harwell-Boeing matrices. * Info1 will then dump the information into the standard output. *--------------------------------------------------------------------*/ int job, ncol, nrow, nnz, nrhs, ierr, valued = 0; char guesol[3], title[73], key[9], type[4]; int *ia = NULL, *ja = NULL, *ia1 = NULL, *ja1 = NULL; double *a = NULL, *a1 = NULL, *rhs = NULL; int tmp1, tmp2, maxnnz; int iout = 6; if( argc < 2 ) { printf( "usage: info1.ex HB_file\n" ); return 0; } /* find out size of Harwell-Boeing matrix ---------------------------*/ job = 0; tmp1 = tmp2 = 1; readmtc( &tmp1, &tmp2, &job, argv[1], a, ja, ia, rhs, &nrhs, guesol, &nrow, &ncol, &nnz, title, key, type, &ierr ); if( ierr != 0 ) { fprintf( stderr, "readhb: err in read matrix header = %d\n", ierr ); exit(-1); } /* allocate space ---------------------------------------------------*/ maxnnz = max( nnz, 2*ncol+1 ); ia = (int *)Malloc( sizeof(int)*(ncol+1), "readhb" ); ja = (int *)Malloc( sizeof(int)*nnz, "readhb" ); a = (double *)Malloc( sizeof(double)*nnz, "readhb" ); ia1 = (int *)Malloc( sizeof(int)*(ncol+1), "readhb" ); ja1 = (int *)Malloc( sizeof(int)*maxnnz, "readhb" ); a1 = (double *)Malloc( sizeof(double)*nnz, "readhb" ); /* read matrix ------------------------------------------------------*/ job = 2; nrhs = 0; tmp1 = ncol+1; tmp2 = nnz; readmtc( &tmp1, &tmp2, &job, argv[1], a, ja, ia, rhs, &nrhs, guesol, &nrow, &ncol, &nnz, title, key, type, &ierr ); if( ierr != 0 ) { fprintf( stderr, "readhb: err in read matrix data = %d\n", ierr ); exit(-1); } if( job >= 2 ) valued = 1; dinfo1( &ncol, &iout, a, ja, ia, &valued, title, key, type, a1, ja1, ia1 ); free( ia ); free( ja ); free( a ); free( ia1 ); free( ja1 ); free( a1 ); return 0; } sparskit-2.0.0/INFO/saylr10000644000265600020320000007171406203735240014401 0ustar tilleaadmin1unsymmetric matrix of paul saylor - 14 by 17 2d grid may, 1983 saylr1 363 24 113 226 0 rua 238 238 1128 0 (10i8) (10i8) (5e16.8) 1 4 8 12 16 20 24 28 32 36 40 44 48 52 55 59 64 69 74 79 84 89 94 99 104 109 114 119 123 127 132 137 142 147 152 157 162 167 172 177 182 187 191 195 200 205 210 215 220 225 230 235 240 245 250 255 259 263 268 273 278 283 288 293 298 303 308 313 318 323 327 331 336 341 346 351 356 361 366 371 376 381 386 391 395 399 404 409 414 419 424 429 434 439 444 449 454 459 463 467 472 477 482 487 492 497 502 507 512 517 522 527 531 535 540 545 550 555 560 565 570 575 580 585 590 595 599 603 608 613 618 623 628 633 638 643 648 653 658 663 667 671 676 681 686 691 696 701 706 711 716 721 726 731 735 739 744 749 754 759 764 769 774 779 784 789 794 799 803 807 812 817 822 827 832 837 842 847 852 857 862 867 871 875 880 885 890 895 900 905 910 915 920 925 930 935 939 943 948 953 958 963 968 973 978 983 988 993 998 1003 1007 1011 1016 1021 1026 1031 1036 1041 1046 1051 1056 1061 1066 1071 1075 1078 1082 1086 1090 1094 1098 1102 1106 1110 1114 1118 1122 1126 1129 1 2 15 1 2 3 16 2 3 4 17 3 4 5 18 4 5 6 19 5 6 7 20 6 7 8 21 7 8 9 22 8 9 10 23 9 10 11 24 10 11 12 25 11 12 13 26 12 13 14 27 13 14 28 1 15 16 29 2 15 16 17 30 3 16 17 18 31 4 17 18 19 32 5 18 19 20 33 6 19 20 21 34 7 20 21 22 35 8 21 22 23 36 9 22 23 24 37 10 23 24 25 38 11 24 25 26 39 12 25 26 27 40 13 26 27 28 41 14 27 28 42 15 29 30 43 16 29 30 31 44 17 30 31 32 45 18 31 32 33 46 19 32 33 34 47 20 33 34 35 48 21 34 35 36 49 22 35 36 37 50 23 36 37 38 51 24 37 38 39 52 25 38 39 40 53 26 39 40 41 54 27 40 41 42 55 28 41 42 56 29 43 44 57 30 43 44 45 58 31 44 45 46 59 32 45 46 47 60 33 46 47 48 61 34 47 48 49 62 35 48 49 50 63 36 49 50 51 64 37 50 51 52 65 38 51 52 53 66 39 52 53 54 67 40 53 54 55 68 41 54 55 56 69 42 55 56 70 43 57 58 71 44 57 58 59 72 45 58 59 60 73 46 59 60 61 74 47 60 61 62 75 48 61 62 63 76 49 62 63 64 77 50 63 64 65 78 51 64 65 66 79 52 65 66 67 80 53 66 67 68 81 54 67 68 69 82 55 68 69 70 83 56 69 70 84 57 71 72 85 58 71 72 73 86 59 72 73 74 87 60 73 74 75 88 61 74 75 76 89 62 75 76 77 90 63 76 77 78 91 64 77 78 79 92 65 78 79 80 93 66 79 80 81 94 67 80 81 82 95 68 81 82 83 96 69 82 83 84 97 70 83 84 98 71 85 86 99 72 85 86 87 100 73 86 87 88 101 74 87 88 89 102 75 88 89 90 103 76 89 90 91 104 77 90 91 92 105 78 91 92 93 106 79 92 93 94 107 80 93 94 95 108 81 94 95 96 109 82 95 96 97 110 83 96 97 98 111 84 97 98 112 85 99 100 113 86 99 100 101 114 87 100 101 102 115 88 101 102 103 116 89 102 103 104 117 90 103 104 105 118 91 104 105 106 119 92 105 106 107 120 93 106 107 108 121 94 107 108 109 122 95 108 109 110 123 96 109 110 111 124 97 110 111 112 125 98 111 112 126 99 113 114 127 100 113 114 115 128 101 114 115 116 129 102 115 116 117 130 103 116 117 118 131 104 117 118 119 132 105 118 119 120 133 106 119 120 121 134 107 120 121 122 135 108 121 122 123 136 109 122 123 124 137 110 123 124 125 138 111 124 125 126 139 112 125 126 140 113 127 128 141 114 127 128 129 142 115 128 129 130 143 116 129 130 131 144 117 130 131 132 145 118 131 132 133 146 119 132 133 134 147 120 133 134 135 148 121 134 135 136 149 122 135 136 137 150 123 136 137 138 151 124 137 138 139 152 125 138 139 140 153 126 139 140 154 127 141 142 155 128 141 142 143 156 129 142 143 144 157 130 143 144 145 158 131 144 145 146 159 132 145 146 147 160 133 146 147 148 161 134 147 148 149 162 135 148 149 150 163 136 149 150 151 164 137 150 151 152 165 138 151 152 153 166 139 152 153 154 167 140 153 154 168 141 155 156 169 142 155 156 157 170 143 156 157 158 171 144 157 158 159 172 145 158 159 160 173 146 159 160 161 174 147 160 161 162 175 148 161 162 163 176 149 162 163 164 177 150 163 164 165 178 151 164 165 166 179 152 165 166 167 180 153 166 167 168 181 154 167 168 182 155 169 170 183 156 169 170 171 184 157 170 171 172 185 158 171 172 173 186 159 172 173 174 187 160 173 174 175 188 161 174 175 176 189 162 175 176 177 190 163 176 177 178 191 164 177 178 179 192 165 178 179 180 193 166 179 180 181 194 167 180 181 182 195 168 181 182 196 169 183 184 197 170 183 184 185 198 171 184 185 186 199 172 185 186 187 200 173 186 187 188 201 174 187 188 189 202 175 188 189 190 203 176 189 190 191 204 177 190 191 192 205 178 191 192 193 206 179 192 193 194 207 180 193 194 195 208 181 194 195 196 209 182 195 196 210 183 197 198 211 184 197 198 199 212 185 198 199 200 213 186 199 200 201 214 187 200 201 202 215 188 201 202 203 216 189 202 203 204 217 190 203 204 205 218 191 204 205 206 219 192 205 206 207 220 193 206 207 208 221 194 207 208 209 222 195 208 209 210 223 196 209 210 224 197 211 212 225 198 211 212 213 226 199 212 213 214 227 200 213 214 215 228 201 214 215 216 229 202 215 216 217 230 203 216 217 218 231 204 217 218 219 232 205 218 219 220 233 206 219 220 221 234 207 220 221 222 235 208 221 222 223 236 209 222 223 224 237 210 223 224 238 211 225 226 212 225 226 227 213 226 227 228 214 227 228 229 215 228 229 230 216 229 230 231 217 230 231 232 218 231 232 233 219 232 233 234 220 233 234 235 221 234 235 236 222 235 236 237 223 236 237 238 224 237 238 -0.19315001E+02 0.19311001E+02 0.44227000E-02 0.19311001E+02 -0.38639999E+02 0.19311001E+02 0.17690999E-01 0.19311001E+02 -0.38693001E+02 0.19311001E+02 0.70762999E-01 0.19311001E+02 -0.38904999E+02 0.19311001E+02 0.28305000E+00 0.19311001E+02 -0.39755001E+02 0.19311001E+02 0.11322000E+01 0.19311001E+02 -0.43155998E+02 0.19311001E+02 0.45289001E+01 0.19311001E+02 -0.56756001E+02 0.19311001E+02 0.18115000E+02 0.19311001E+02 -0.11116000E+03 0.19311001E+02 0.72461998E+02 0.19311001E+02 -0.32876999E+03 0.19311001E+02 0.28985001E+03 0.19311001E+02 -0.11992000E+04 0.19309999E+02 0.11593000E+04 0.19309999E+02 -0.46805000E+04 0.19309000E+02 0.46370000E+04 0.19309000E+02 -0.18586000E+05 0.11061000E+02 0.18536000E+05 0.11060000E+02 -0.75788000E+05 0.19722000E+02 0.75689000E+05 0.19698999E+02 -0.41574000E+08 0.41579000E+08 0.44227000E-02 -0.10241000E+04 0.10230000E+04 0.11876000E+01 0.17690999E-01 0.10230000E+04 -0.20507000E+04 0.10230000E+04 0.47505999E+01 0.70762999E-01 0.10230000E+04 -0.20650000E+04 0.10230000E+04 0.19002001E+02 0.28305000E+00 0.10230000E+04 -0.21222000E+04 0.10230000E+04 0.76009003E+02 0.11322000E+01 0.10230000E+04 -0.23511001E+04 0.10230000E+04 0.30404001E+03 0.45288000E+01 0.10230000E+04 -0.32666001E+04 0.10230000E+04 0.12161000E+04 0.18115000E+02 0.10230000E+04 -0.69286001E+04 0.10229000E+04 0.48646001E+04 0.72460999E+02 0.10229000E+04 -0.21577000E+05 0.10230000E+04 0.19458000E+05 0.28984000E+03 0.10230000E+04 -0.80170000E+05 0.10229000E+04 0.77833000E+05 0.11593000E+04 0.10229000E+04 -0.31474000E+06 0.10229000E+04 0.31153000E+06 0.46368999E+04 0.10229000E+04 -0.12527000E+07 0.10229000E+04 0.12460000E+07 0.18536000E+05 0.10229000E+04 -0.50005000E+07 0.34723999E+03 0.49805000E+07 0.75682000E+05 0.34710001E+03 -0.27150000E+08 0.13908000E+04 0.27075000E+08 0.41574000E+08 0.13891000E+04 -0.90850000E+08 0.49273000E+08 0.11876000E+01 -0.19842000E+03 0.19612000E+03 0.11083000E+01 0.47505002E+01 0.19612000E+03 -0.40142999E+03 0.19612000E+03 0.44330001E+01 0.19002001E+02 0.19612000E+03 -0.42898001E+03 0.19612000E+03 0.17732000E+02 0.76008003E+02 0.19612000E+03 -0.53917999E+03 0.19612000E+03 0.70928001E+02 0.30403000E+03 0.19612000E+03 -0.97998999E+03 0.19612000E+03 0.28370999E+03 0.12161000E+04 0.19612000E+03 -0.27432000E+04 0.19612000E+03 0.11348000E+04 0.48645000E+04 0.19612000E+03 -0.97962002E+04 0.19612000E+03 0.45393999E+04 0.19458000E+05 0.19612000E+03 -0.38008000E+05 0.19612000E+03 0.18158000E+05 0.77832000E+05 0.19612000E+03 -0.15086000E+06 0.19612000E+03 0.72630000E+05 0.31152000E+06 0.19612000E+03 -0.60243000E+06 0.19612000E+03 0.29051000E+06 0.12460000E+07 0.19612000E+03 -0.24083000E+07 0.19611000E+03 0.11619000E+07 0.49805000E+07 0.19610001E+03 -0.96025000E+07 0.19986000E+03 0.46215000E+07 0.27072000E+08 0.19977000E+03 -0.52340000E+08 0.26682999E+03 0.25265000E+08 0.49269000E+08 0.26651001E+03 -0.20234000E+09 0.15307000E+09 0.11082000E+01 -0.61428001E+02 0.59667999E+02 0.65183997E+00 0.44330001E+01 0.59667999E+02 -0.12638000E+03 0.59667000E+02 0.26073999E+01 0.17732000E+02 0.59667000E+02 -0.14750000E+03 0.59667000E+02 0.10429000E+02 0.70928001E+02 0.59667000E+02 -0.23198000E+03 0.59667000E+02 0.41717999E+02 0.28370999E+03 0.59667000E+02 -0.56991998E+03 0.59667000E+02 0.16687000E+03 0.11348000E+04 0.59667000E+02 -0.19217000E+04 0.59667999E+02 0.66747998E+03 0.45393999E+04 0.59667999E+02 -0.73287002E+04 0.59667000E+02 0.26698999E+04 0.18158000E+05 0.59667000E+02 -0.28957000E+05 0.59667999E+02 0.10680000E+05 0.72630000E+05 0.59667999E+02 -0.11547000E+06 0.59667000E+02 0.42719000E+05 0.29051000E+06 0.59667000E+02 -0.46144000E+06 0.59645000E+02 0.17081000E+06 0.11619000E+07 0.59645000E+02 -0.18448000E+07 0.59602001E+02 0.68272000E+06 0.46215000E+07 0.59601002E+02 -0.73360000E+07 0.60827999E+02 0.27143000E+07 0.25264000E+08 0.60799999E+02 -0.40130000E+08 0.81210999E+02 0.14866000E+08 0.15306000E+09 0.81112999E+02 -0.30614000E+09 0.15307000E+09 0.65183997E+00 -0.60994999E+02 0.59561001E+02 0.78232998E+00 0.26073000E+01 0.59561001E+02 -0.12486000E+03 0.59561001E+02 0.31293001E+01 0.10429000E+02 0.59561001E+02 -0.14207001E+03 0.59561001E+02 0.12517000E+02 0.41717999E+02 0.59561001E+02 -0.21091000E+03 0.59561001E+02 0.50069000E+02 0.16687000E+03 0.59561001E+02 -0.48626999E+03 0.59561001E+02 0.20028000E+03 0.66747998E+03 0.59561001E+02 -0.15877000E+04 0.59561001E+02 0.80109998E+03 0.26698999E+04 0.59561001E+02 -0.59935000E+04 0.59561001E+02 0.32043999E+04 0.10680000E+05 0.59561001E+02 -0.23616000E+05 0.59561001E+02 0.12818000E+05 0.42719000E+05 0.59561001E+02 -0.94109000E+05 0.59561001E+02 0.51271000E+05 0.17081000E+06 0.59561001E+02 -0.37593000E+06 0.59539001E+02 0.20500000E+06 0.68272000E+06 0.59539001E+02 -0.15022000E+07 0.59495998E+02 0.81940000E+06 0.27143000E+07 0.59494999E+02 -0.59721000E+07 0.60830002E+02 0.32577000E+07 0.14865000E+08 0.60801998E+02 -0.32739000E+08 0.81213997E+02 0.17875000E+08 0.15307000E+09 0.81115997E+02 -0.21674000E+09 0.63673000E+08 0.78232002E+00 -0.66882001E+03 0.66802002E+03 0.10723000E-01 0.31293001E+01 0.66802002E+03 -0.13392000E+04 0.66802002E+03 0.42892002E-01 0.12517000E+02 0.66802002E+03 -0.13487000E+04 0.66802002E+03 0.17157000E+00 0.50069000E+02 0.66802002E+03 -0.13868000E+04 0.66802002E+03 0.68627000E+00 0.20027000E+03 0.66802002E+03 -0.15391000E+04 0.66802002E+03 0.27451000E+01 0.80109998E+03 0.66802002E+03 -0.21482000E+04 0.66803003E+03 0.10980000E+02 0.32043999E+04 0.66803003E+03 -0.45843999E+04 0.66802002E+03 0.43921001E+02 0.12818000E+05 0.66802002E+03 -0.14330000E+05 0.66803003E+03 0.17569000E+03 0.51270000E+05 0.66803003E+03 -0.53311000E+05 0.66802002E+03 0.70273999E+03 0.20500000E+06 0.66802002E+03 -0.20915000E+06 0.66777002E+03 0.28098999E+04 0.81939000E+06 0.66777002E+03 -0.83198000E+06 0.66728998E+03 0.11231000E+05 0.32577000E+07 0.66728998E+03 -0.33028000E+07 0.68526001E+03 0.43718000E+05 0.17873000E+08 0.68491998E+03 -0.18122000E+08 0.91488000E+03 0.24607000E+06 0.63668000E+08 0.91378998E+03 -0.11417000E+09 0.50497000E+08 0.10723000E-01 -0.73415001E+02 0.73396004E+02 0.79712998E-02 0.42892002E-01 0.73396004E+02 -0.14687000E+03 0.73396004E+02 0.31885002E-01 0.17157000E+00 0.73396004E+02 -0.14709000E+03 0.73396004E+02 0.12754001E+00 0.68625998E+00 0.73396004E+02 -0.14799001E+03 0.73396004E+02 0.51016003E+00 0.27451000E+01 0.73396004E+02 -0.15158000E+03 0.73396004E+02 0.20406001E+01 0.10980000E+02 0.73396004E+02 -0.16594000E+03 0.73396004E+02 0.81625996E+01 0.43921001E+02 0.73396004E+02 -0.22339999E+03 0.73394997E+02 0.32650002E+02 0.17567999E+03 0.73394997E+02 -0.45320999E+03 0.73396004E+02 0.13060001E+03 0.70272998E+03 0.73396004E+02 -0.13725000E+04 0.73396004E+02 0.52240002E+03 0.28098999E+04 0.73396004E+02 -0.50431001E+04 0.73213997E+02 0.20845000E+04 0.11231000E+05 0.73213997E+02 -0.19682000E+05 0.72862000E+02 0.82962998E+04 0.43717000E+05 0.72861000E+02 -0.75025000E+05 0.76553001E+02 0.31124000E+05 0.24605000E+06 0.76514000E+02 -0.43229000E+06 0.10220000E+03 0.18599000E+06 0.50492000E+08 0.10208000E+03 -0.14275000E+09 0.92259000E+08 0.79712002E-02 -0.18212000E+02 0.18188000E+02 0.16022000E-01 0.31885002E-01 0.18188000E+02 -0.36471001E+02 0.18188000E+02 0.64087003E-01 0.12754001E+00 0.18188000E+02 -0.36758999E+02 0.18188000E+02 0.25635001E+00 0.51016003E+00 0.18188000E+02 -0.37910999E+02 0.18188000E+02 0.10254000E+01 0.20406001E+01 0.18188000E+02 -0.42518002E+02 0.18188000E+02 0.41016002E+01 0.81625004E+01 0.18188000E+02 -0.60946999E+02 0.18188000E+02 0.16406000E+02 0.32650002E+02 0.18188000E+02 -0.13466000E+03 0.18187000E+02 0.65625000E+02 0.13060001E+03 0.18187000E+02 -0.42953000E+03 0.18188000E+02 0.26250000E+03 0.52240002E+03 0.18188000E+02 -0.16090000E+04 0.18188000E+02 0.10500000E+04 0.20845000E+04 0.18188000E+02 -0.63057002E+04 0.17983000E+02 0.41842998E+04 0.82962998E+04 0.17983000E+02 -0.24946000E+05 0.17992001E+02 0.16611000E+05 0.31123000E+05 0.17992001E+02 -0.91145000E+05 0.19391001E+02 0.59971000E+05 0.18598000E+06 0.19379999E+02 -0.56810000E+06 0.25884001E+02 0.38205000E+06 0.92255000E+08 0.25853001E+02 -0.23912000E+09 0.14687000E+09 0.16022000E-01 -0.17169001E+02 0.17139000E+02 0.13402000E-01 0.64087003E-01 0.17139000E+02 -0.34396000E+02 0.17139000E+02 0.53610001E-01 0.25635001E+00 0.17139000E+02 -0.34750000E+02 0.17139000E+02 0.21444000E+00 0.10254000E+01 0.17139000E+02 -0.36161999E+02 0.17139000E+02 0.85776001E+00 0.41015000E+01 0.17139000E+02 -0.41812000E+02 0.17139000E+02 0.34310000E+01 0.16406000E+02 0.17139000E+02 -0.64412003E+02 0.17139000E+02 0.13724000E+02 0.65625000E+02 0.17139000E+02 -0.15481000E+03 0.17139000E+02 0.54896999E+02 0.26250000E+03 0.17139000E+02 -0.51640997E+03 0.17139000E+02 0.21959000E+03 0.10500000E+04 0.17139000E+02 -0.19628000E+04 0.17139000E+02 0.87834998E+03 0.41842002E+04 0.17139000E+02 -0.77191001E+04 0.16943001E+02 0.35000000E+04 0.16611000E+05 0.16943001E+02 -0.29996000E+05 0.16965000E+02 0.13348000E+05 0.59971000E+05 0.16965000E+02 -0.10824000E+06 0.18620001E+02 0.48224000E+05 0.38204000E+06 0.18610001E+02 -0.70770000E+06 0.24850000E+02 0.32559000E+06 0.14686000E+09 0.24820000E+02 -0.27202000E+09 0.12516000E+09 0.13402000E-01 -0.23312000E+02 0.23288000E+02 0.10209000E-01 0.53610001E-01 0.23288000E+02 -0.46669998E+02 0.23288000E+02 0.40837999E-01 0.21444000E+00 0.23288000E+02 -0.46953999E+02 0.23288000E+02 0.16335000E+00 0.85776001E+00 0.23288000E+02 -0.48087002E+02 0.23288000E+02 0.65341002E+00 0.34310000E+01 0.23288000E+02 -0.52622002E+02 0.23288000E+02 0.26136000E+01 0.13724000E+02 0.23288000E+02 -0.70759003E+02 0.23288000E+02 0.10454000E+02 0.54896000E+02 0.23288000E+02 -0.14331000E+03 0.23288000E+02 0.41818001E+02 0.21959000E+03 0.23288000E+02 -0.43350000E+03 0.23288000E+02 0.16727000E+03 0.87834003E+03 0.23288000E+02 -0.15943000E+04 0.23289000E+02 0.66909003E+03 0.35000000E+04 0.23289000E+02 -0.62015000E+04 0.22726999E+02 0.26543000E+04 0.13348000E+05 0.22726999E+02 -0.23849000E+05 0.22785999E+02 0.10451000E+05 0.48224000E+05 0.22785999E+02 -0.82693000E+05 0.26002001E+02 0.34403000E+05 0.32558000E+06 0.25988001E+02 -0.58040000E+06 0.34688000E+02 0.25473000E+06 0.12516000E+09 0.34646000E+02 -0.22308000E+09 0.97921000E+08 0.10209000E-01 -0.26198999E+02 0.26172001E+02 0.17565999E-01 0.40837999E-01 0.26172001E+02 -0.52453999E+02 0.26171000E+02 0.70262000E-01 0.16335000E+00 0.26171000E+02 -0.52786999E+02 0.26171000E+02 0.28105000E+00 0.65340000E+00 0.26171000E+02 -0.54120998E+02 0.26172001E+02 0.11242000E+01 0.26136000E+01 0.26172001E+02 -0.59455002E+02 0.26171000E+02 0.44967999E+01 0.10454000E+02 0.26171000E+02 -0.80790001E+02 0.26172001E+02 0.17987000E+02 0.41818001E+02 0.26172001E+02 -0.16613000E+03 0.26171000E+02 0.71948997E+02 0.16727000E+03 0.26171000E+02 -0.50748999E+03 0.26172001E+02 0.28779001E+03 0.66908002E+03 0.26172001E+02 -0.18729000E+04 0.26173000E+02 0.11512000E+04 0.26543000E+04 0.26173000E+02 -0.72782998E+04 0.25355000E+02 0.45712002E+04 0.10451000E+05 0.25355000E+02 -0.28384000E+05 0.25518000E+02 0.17877000E+05 0.34402000E+05 0.25518000E+02 -0.91977000E+05 0.31083000E+02 0.57497000E+05 0.25472000E+06 0.31065001E+02 -0.72041000E+06 0.41421001E+02 0.46560000E+06 0.97916000E+08 0.41370998E+02 -0.18360000E+09 0.85686000E+08 0.17565999E-01 -0.20525000E+03 0.20514000E+03 0.10188000E+00 0.70262000E-01 0.20514000E+03 -0.41075000E+03 0.20513000E+03 0.40752000E+00 0.28105000E+00 0.20513000E+03 -0.41217999E+03 0.20513000E+03 0.16301000E+01 0.11242000E+01 0.20513000E+03 -0.41791000E+03 0.20513000E+03 0.65202999E+01 0.44967999E+01 0.20513000E+03 -0.44085001E+03 0.20513000E+03 0.26080999E+02 0.17987000E+02 0.20513000E+03 -0.53259003E+03 0.20514000E+03 0.10433000E+03 0.71947998E+02 0.20514000E+03 -0.89954999E+03 0.20513000E+03 0.41729999E+03 0.28779001E+03 0.20513000E+03 -0.23673999E+04 0.20514000E+03 0.16692000E+04 0.11512000E+04 0.20514000E+03 -0.82387998E+04 0.20519000E+03 0.66767998E+04 0.45711001E+04 0.20519000E+03 -0.31292000E+05 0.19413000E+03 0.26319000E+05 0.17877000E+05 0.19413000E+03 -0.11990000E+06 0.20783000E+03 0.10161000E+06 0.57497000E+05 0.20783000E+03 -0.62841000E+06 0.27437000E+03 0.57044000E+06 0.46557000E+06 0.27420999E+03 -0.34580000E+07 0.35998999E+03 0.29918000E+07 0.85682000E+08 0.35954999E+03 -0.16566000E+09 0.79979000E+08 0.10188000E+00 -0.64082999E+01 0.62616000E+01 0.44813000E-01 0.40752000E+00 0.62616000E+01 -0.13110000E+02 0.62616000E+01 0.17925000E+00 0.16301000E+01 0.62616000E+01 -0.14870000E+02 0.62616000E+01 0.71701002E+00 0.65202999E+01 0.62616000E+01 -0.21912001E+02 0.62616000E+01 0.28680999E+01 0.26080999E+02 0.62616000E+01 -0.50077000E+02 0.62616000E+01 0.11472000E+02 0.10432000E+03 0.62616000E+01 -0.16274001E+03 0.62617002E+01 0.45889000E+02 0.41729999E+03 0.62617002E+01 -0.61339001E+03 0.62616000E+01 0.18356000E+03 0.16692000E+04 0.62616000E+01 -0.24160000E+04 0.62617002E+01 0.73421997E+03 0.66767998E+04 0.62617002E+01 -0.96262998E+04 0.62676001E+01 0.29368999E+04 0.26319000E+05 0.62676001E+01 -0.38082000E+05 0.57582002E+01 0.11750000E+05 0.10161000E+06 0.57582002E+01 -0.14865000E+06 0.98239002E+01 0.47020000E+05 0.57041000E+06 0.98231001E+01 -0.82070000E+06 0.13079000E+02 0.25026000E+06 0.29917000E+07 0.13071000E+02 -0.39935000E+07 0.13096000E+02 0.10017000E+07 0.79974000E+08 0.13080000E+02 -0.13032000E+09 0.50342000E+08 0.44810999E-01 -0.15302000E+03 0.15298000E+03 0.17261000E-02 0.17924000E+00 0.15298000E+03 -0.30614001E+03 0.15298000E+03 0.69044000E-02 0.71697003E+00 0.15298000E+03 -0.30670001E+03 0.15298000E+03 0.27618000E-01 0.28678999E+01 0.15298000E+03 -0.30892999E+03 0.15298000E+03 0.11047000E+00 0.11472000E+02 0.15298000E+03 -0.31787000E+03 0.15298000E+03 0.44187999E+00 0.45886002E+02 0.15298000E+03 -0.35362000E+03 0.15298000E+03 0.17675000E+01 0.18353999E+03 0.15298000E+03 -0.49660001E+03 0.15298000E+03 0.70700998E+01 0.73417999E+03 0.15298000E+03 -0.10685000E+04 0.15298000E+03 0.28280001E+02 0.29367000E+04 0.15298000E+03 -0.33563000E+04 0.15298000E+03 0.11312000E+03 0.11749000E+05 0.15298000E+03 -0.12510000E+05 0.15298000E+03 0.45248999E+03 0.47017000E+05 0.15298000E+03 -0.49142000E+05 0.15300000E+03 0.18100000E+04 0.25023000E+06 0.15298000E+03 -0.25783000E+06 0.15310001E+03 0.72407998E+04 0.10016000E+07 0.15300999E+03 -0.10311000E+07 0.15331000E+03 0.28983000E+05 0.50337000E+08 0.15312000E+03 -0.87166000E+08 0.36828000E+08 0.17259000E-02 -0.27385000E+02 0.27382000E+02 0.12300001E-02 0.69034998E-02 0.27382000E+02 -0.54775002E+02 0.27382000E+02 0.49200999E-02 0.27613999E-01 0.27382000E+02 -0.54811001E+02 0.27382000E+02 0.19680001E-01 0.11046000E+00 0.27382000E+02 -0.54952999E+02 0.27382000E+02 0.78722000E-01 0.44183001E+00 0.27382000E+02 -0.55521000E+02 0.27382000E+02 0.31489000E+00 0.17673000E+01 0.27382000E+02 -0.57793999E+02 0.27382000E+02 0.12595000E+01 0.70692000E+01 0.27382000E+02 -0.66887001E+02 0.27381001E+02 0.50381999E+01 0.28277000E+02 0.27381001E+02 -0.10326000E+03 0.27382000E+02 0.20153000E+02 0.11311000E+03 0.27382000E+02 -0.24875000E+03 0.27382000E+02 0.80611000E+02 0.45242999E+03 0.27381001E+02 -0.83071997E+03 0.27382000E+02 0.32245001E+03 0.18098000E+04 0.27382000E+02 -0.31587000E+04 0.27385000E+02 0.12898000E+04 0.72398999E+04 0.27382000E+02 -0.12472000E+05 0.27403000E+02 0.51597998E+04 0.28980000E+05 0.27386999E+02 -0.49758000E+05 0.27440001E+02 0.20654000E+05 0.36824000E+08 0.27407000E+02 -0.87893000E+08 0.51069000E+08 0.12299001E-02 -0.11818000E+02 0.11816000E+02 0.71976997E-03 0.49196999E-02 0.11816000E+02 -0.23639000E+02 0.11816000E+02 0.28790999E-02 0.19679001E-01 0.11816000E+02 -0.23662001E+02 0.11816000E+02 0.11516000E-01 0.78713998E-01 0.11816000E+02 -0.23756001E+02 0.11816000E+02 0.46064999E-01 0.31485999E+00 0.11816000E+02 -0.24131001E+02 0.11816000E+02 0.18426000E+00 0.12594000E+01 0.11816000E+02 -0.25629999E+02 0.11816000E+02 0.73703998E+00 0.50377002E+01 0.11816000E+02 -0.31624001E+02 0.11816000E+02 0.29482000E+01 0.20150999E+02 0.11816000E+02 -0.55603001E+02 0.11816000E+02 0.11793000E+02 0.80603996E+02 0.11816000E+02 -0.15152000E+03 0.11816000E+02 0.47171001E+02 0.32242001E+03 0.11816000E+02 -0.53519000E+03 0.11816000E+02 0.18867999E+03 0.12897000E+04 0.11816000E+02 -0.20698999E+04 0.11817000E+02 0.75475000E+03 0.51593999E+04 0.11816000E+02 -0.82095996E+04 0.11825000E+02 0.30193000E+04 0.20652000E+05 0.11818000E+02 -0.32791000E+05 0.11841000E+02 0.12086000E+05 0.51064000E+08 0.11827000E+02 -0.80948000E+08 0.29884000E+08 0.71965001E-03 -0.55196999E+02 0.55195999E+02 0.28786000E-02 0.55195999E+02 -0.11039000E+03 0.55195999E+02 0.11514000E-01 0.55195999E+02 -0.11040000E+03 0.55195999E+02 0.46057999E-01 0.55195999E+02 -0.11044000E+03 0.55195999E+02 0.18423000E+00 0.55195999E+02 -0.11058000E+03 0.55195999E+02 0.73693001E+00 0.55195999E+02 -0.11114000E+03 0.55195999E+02 0.29477000E+01 0.55195999E+02 -0.11337000E+03 0.55195000E+02 0.11791000E+02 0.55195000E+02 -0.12232000E+03 0.55195999E+02 0.47162998E+02 0.55195999E+02 -0.15809000E+03 0.55195999E+02 0.18864999E+03 0.55195000E+02 -0.30120001E+03 0.55196999E+02 0.75463000E+03 0.55195999E+02 -0.87365002E+03 0.55202999E+02 0.30188999E+04 0.55196999E+02 -0.31638000E+04 0.55240002E+02 0.12084000E+05 0.55206001E+02 -0.12333000E+05 0.55314999E+02 0.29879000E+08 0.55248001E+02 -0.29912000E+08 sparskit-2.0.0/INFO/dinfo13.f0000644000265600020320000004054007663204765014664 0ustar tilleaadmin subroutine dinfo1(n,iout,a,ja,ia,valued, * title,key,type,ao,jao,iao) implicit real*8 (a-h,o-z) real*8 a(*),ao(*) integer ja(*),ia(n+1),jao(*),iao(n+1),nzdiag character title*72,key*8,type*3 logical valued c----------------------------------------------------------------------c c SPARSKIT: ELEMENTARY INFORMATION ROUTINE. c c----------------------------------------------------------------------c c info1 obtains a number of statistics on a sparse matrix and writes c c it into the output unit iout. The matrix is assumed c c to be stored in the compressed sparse COLUMN format sparse a, ja, ia c c----------------------------------------------------------------------c c Modified Nov 1, 1989. 1) Assumes A is stored in column c format. 2) Takes symmetry into account, i.e., handles Harwell-Boeing c matrices correctly. c *** (Because of the recent modification the words row and c column may be mixed-up at occasions... to be checked... c c bug-fix July 25: 'upper' 'lower' mixed up in formats 108-107. c c On entry : c----------- c n = integer. column dimension of matrix c iout = integer. unit number where the information it to be output. c a = real array containing the nonzero elements of the matrix c the elements are stored by columns in order c (i.e. column i comes before column i+1, but the elements c within each column can be disordered). c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c c valued= logical equal to .true. if values are provided and .false. c if only the pattern of the matrix is provided. (in that c case a(*) and ao(*) are dummy arrays. c c title = a 72-character title describing the matrix c NOTE: The first character in title is ignored (it is often c a one). c c key = an 8-character key for the matrix c type = a 3-character string to describe the type of the matrix. c see harwell/Boeing documentation for more details on the c above three parameters. c c on return c---------- c 1) elementary statistics on the matrix is written on output unit c iout. See below for detailed explanation of typical output. c 2) the entries of a, ja, ia are sorted. c c---------- c c ao = real*8 array of length nnz used as work array. c jao = integer work array of length max(2*n+1,nnz) c iao = integer work array of length n+1 c c Note : title, key, type are the same paramaters as those c used for Harwell-Bowing matrices. c c----------------------------------------------------------------------- c Output description: c-------------------- c *** The following info needs to be updated. c c + A header containing the Title, key, type of the matrix and, if values c are not provided a message to that effect. c * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * c * SYMMETRIC STRUCTURE MEDIEVAL RUSSIAN TOWNS c * Key = RUSSIANT , Type = SSA c * No values provided - Information of pattern only c * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * c c + dimension n, number of nonzero elements nnz, average number of c nonzero elements per column, standard deviation for this average. c + if the matrix is upper or lower triangular a message to that effect c is printed. Also the number of nonzeros in the strict upper c (lower) parts and the main diagonal are printed. c + weight of longest column. This is the largest number of nonzero c elements in a column encountered. Similarly for weight of c largest/smallest row. c + lower dandwidth as defined by c ml = max ( i-j, / all a(i,j).ne. 0 ) c + upper bandwidth as defined by c mu = max ( j-i, / all a(i,j).ne. 0 ) c NOTE that ml or mu can be negative. ml .lt. 0 would mean c that A is confined to the strict upper part above the diagonal c number -ml. Similarly for mu. c c + maximun bandwidth as defined by c Max ( Max [ j ; a(i,j) .ne. 0 ] - Min [ j ; a(i,j) .ne. 0 ] ) c i c + average bandwidth = average over all columns of the widths each column. c c + If there are zero columns /or rows a message is printed c giving the number of such columns/rows. c c + matching elements in A and transp(A) :this counts the number of c positions (i,j) such that if a(i,j) .ne. 0 then a(j,i) .ne. 0. c if this number is equal to nnz then the matrix is symmetric. c + Relative symmetry match : this is the ratio of the previous integer c over nnz. If this ratio is equal to one then the matrix has a c symmetric structure. c c + average distance of a given element from the diagonal, standard dev. c the distance of a(i,j) is defined as iabs(j-i). c c + Frobenius norm of A c Frobenius norm of 0.5*(A + transp(A)) c Frobenius norm of 0.5*(A - transp(A)) c these numbers provide information on the degree of symmetry c of the matrix. If the norm of the nonsymmetric part is c zero then the matrix is symmetric. c c + 90% of matrix is in the band of width k, means that c by moving away and in a symmetric manner from the main c diagonal you would have to include exactly k diagonals c (k is always odd), in order to include 90% of the nonzero c elements of A. The same thing is then for 80%. c c + The total number of nonvoid diagonals, i.e., among the c 2n-1 diagonals of the matrix which have at least one nonxero c element. c c + Most important diagonals. The code selects a number of k c (k .le. 10) diagonals that are the most important ones, i.e. c that have the largest number of nonzero elements. Any diagonal c that has fewer than 1% of the nonzero elements of A is dropped. c the numbers printed are the offsets with respect to the c main diagonal, going from left tp right. c Thus 0 means the main diagonal -1 means the subdiagonal, and c +10 means the 10th upper diagonal. c + The accumulated percentages in the next line represent the c percentage of the nonzero elements represented by the diagonals c up the current one put together. c Thus: c * The 10 most important diagonals are (offsets) : * c * 0 1 2 24 21 4 23 22 20 19 * c * The accumulated percentages they represent are : * c * 40.4 68.1 77.7 80.9 84.0 86.2 87.2 88.3 89.4 90.4 * c *-----------------------------------------------------------------* c shows the offsets of the most important diagonals and c 40.4 represent ratio of the number of nonzero elements in the c diagonal zero (main diagonal) over the total number of nonzero c elements. the second number indicates that the diagonal 0 and the c diagonal 1 together hold 68.1% of the matrix, etc.. c c + Block structure: c if the matrix has a block structure then the block size is found c and printed. Otherwise the info1 will say that the matrix c does not have a block structure. Note that block struture has c a very specific meaning here. the matrix has a block structure c if it consists of square blocks that are dense. even if there c are zero elements in the blocks they should be represented c otherwise it would be possible to determine the block size. c c----------------------------------------------------------------------- real*8 dcount(20),amx integer ioff(20) character*61 tmpst logical sym c----------------------------------------------------------------------- data ipar1 /1/ write (iout,99) write (iout,97) title(2:72), key, type 97 format(2x,' * ',a71,' *'/, * 2x,' *',20x,'Key = ',a8,' , Type = ',a3,25x,' *') if (.not. valued) write (iout,98) 98 format(2x,' * No values provided - Information on pattern only', * 23x,' *') c--------------------------------------------------------------------- nnz = ia(n+1)-ia(1) sym = ((type(2:2) .eq. 'S') .or. (type(2:2) .eq. 'Z') * .or. (type(2:2) .eq. 's') .or. (type(2:2) .eq. 'z')) c write (iout, 99) write(iout, 100) n, nnz job = 0 if (valued) job = 1 ipos = 1 call csrcsc(n, job, ipos, a, ja, ia, ao, jao, iao) call csrcsc(n, job, ipos, ao, jao, iao, a, ja, ia) c------------------------------------------------------------------- c computing max bandwith, max number of nonzero elements per column c min nonzero elements per column/row, row/column diagonal dominance c occurences, average distance of an element from diagonal, number of c elemnts in lower and upper parts, ... c------------------------------------------------------------------ c jao will be modified later, so we call skyline here call skyline(n,sym,ja,ia,jao,iao,nsky) call nonz_lud(n,ja,ia,nlower, nupper, ndiag) call avnz_col(n,ja,ia,iao, ndiag, av, st) c------ write out info ---------------------------------------------- if (sym) nupper = nlower write(iout, 101) av, st if (nlower .eq. 0 ) write(iout, 105) 1 if (nupper .eq. 0) write(iout, 106) write(iout, 107) nlower write(iout, 108) nupper write(iout, 109) ndiag c call nonz(n,sym, ja, ia, iao, nzmaxc, nzminc, * nzmaxr, nzminr, nzcol, nzrow) write(iout, 1020) nzmaxc, nzminc c if (.not. sym) write(iout, 1021) nzmaxr, nzminr c if (nzcol .ne. 0) write(iout,116) nzcol if (nzrow .ne. 0) write(iout,115) nzrow c call diag_domi(n,sym,valued,a, ja,ia,ao, jao, iao, * ddomc, ddomr) c----------------------------------------------------------------------- c symmetry and near symmetry - Frobenius norms c----------------------------------------------------------------------- call frobnorm(n,sym,a,ja,ia,Fnorm) call ansym(n,sym,a,ja,ia,ao,jao,iao,imatch,av,fas,fan) call distaij(n,nnz,sym,ja,ia,dist, std) amx = 0.0d0 do 40 k=1, nnz amx = max(amx, abs(a(k)) ) 40 continue write (iout,103) imatch, av, dist, std write(iout,96) if (valued) then write(iout,104) Fnorm, fas, fan, amx, ddomr, ddomc write (iout,96) endif c----------------------------------------------------------------------- c--------------------bandedness- main diagonals ----------------------- - c----------------------------------------------------------------------- n2 = n+n-1 do 8 i=1, n2 jao(i) = 0 8 continue do 9 i=1, n k1 = ia(i) k2 = ia(i+1) -1 do 91 k=k1, k2 j = ja(k) jao(n+i-j) = jao(n+i-j) +1 91 continue 9 continue c call bandwidth(n,ja, ia, ml, mu, iband, bndav) c c write bandwidth information . c write(iout,117) ml, mu, iband, bndav c write(iout,1175) nsky c c call percentage_matrix(n,nnz,ja,ia,jao,90,jb2) c call percentage_matrix(n,nnz,ja,ia,jao,80,jb1) nrow = n ncol = n call distdiag(nrow,ncol,ja,ia,jao) call bandpart(n,ja,ia,jao,90,jb2) call bandpart(n,ja,ia,jao,80,jb1) write (iout,112) 2*jb2+1, 2*jb1+1 c----------------------------------------------------------------- nzdiag = 0 n2 = n+n-1 do 42 i=1, n2 if (jao(i) .ne. 0) nzdiag=nzdiag+1 42 continue call n_imp_diag(n,nnz,jao,ipar1, ndiag,ioff,dcount) write (iout,118) nzdiag write (tmpst,'(10i6)') (ioff(j),j=1,ndiag) write (iout,110) ndiag,tmpst write (tmpst,'(10f6.1)')(dcount(j), j=1,ndiag) write (iout,111) tmpst write (iout, 96) c jump to next page -- optional // c write (iout,'(1h1)') c----------------------------------------------------------------------- c determine block size if matrix is a block matrix.. c----------------------------------------------------------------------- call blkfnd(n, ja, ia, nblk) if (nblk .le. 1) then write(iout,113) else write(iout,114) nblk endif write (iout,96) c c---------- done. Next define all the formats -------------------------- c 99 format (2x,38(2h *)) 96 format (6x,' *',65(1h-),'*') c----------------------------------------------------------------------- 100 format( * 6x,' * Dimension N = ', * i10,' *'/ * 6x,' * Number of nonzero elements = ', * i10,' *') 101 format( * 6x,' * Average number of nonzero elements/Column = ', * f10.4,' *'/ * 6x,' * Standard deviation for above average = ', * f10.4,' *') c----------------------------------------------------------------------- 1020 format( * 6x,' * Weight of longest column = ', * i10,' *'/ * 6x,' * Weight of shortest column = ', * i10,' *') 1021 format( * 6x,' * Weight of longest row = ', * i10,' *'/ * 6x,' * Weight of shortest row = ', * i10,' *') 117 format( * 6x,' * Lower bandwidth (max: i-j, a(i,j) .ne. 0) = ', * i10,' *'/ * 6x,' * Upper bandwidth (max: j-i, a(i,j) .ne. 0) = ', * i10,' *'/ * 6x,' * Maximum Bandwidth = ', * i10,' *'/ * 6x,' * Average Bandwidth = ', * e10.3,' *') 1175 format( * 6x,' * Number of nonzeros in skyline storage = ', * i10,' *') 103 format( * 6x,' * Matching elements in symmetry = ', * i10,' *'/ * 6x,' * Relative Symmetry Match (symmetry=1) = ', * f10.4,' *'/ * 6x,' * Average distance of a(i,j) from diag. = ', * e10.3,' *'/ * 6x,' * Standard deviation for above average = ', * e10.3,' *') 104 format( * 6x,' * Frobenius norm of A = ', * e10.3,' *'/ * 6x,' * Frobenius norm of symmetric part = ', * e10.3,' *'/ * 6x,' * Frobenius norm of nonsymmetric part = ', * e10.3,' *'/ * 6x,' * Maximum element in A = ', * e10.3,' *'/ * 6x,' * Percentage of weakly diagonally dominant rows = ', * e10.3,' *'/ * 6x,' * Percentage of weakly diagonally dominant columns = ', * e10.3,' *') 105 format( * 6x,' * The matrix is lower triangular ... ',21x,' *') 106 format( * 6x,' * The matrix is upper triangular ... ',21x,' *') 107 format( * 6x,' * Nonzero elements in strict lower part = ', * i10,' *') 108 format( * 6x,' * Nonzero elements in strict upper part = ', * i10,' *') 109 format( * 6x,' * Nonzero elements in main diagonal = ', * i10,' *') 110 format(6x,' * The ', i2, ' most important', * ' diagonals are (offsets) : ',10x,' *',/, * 6x,' *',a61,3x,' *') 111 format(6x,' * The accumulated percentages they represent are ', * ' : ', 10x,' *',/, * 6x,' *',a61,3x,' *') c 111 format( c * 6x,' * They constitute the following % of A = ', c * f8.1,' % *') 112 format( * 6x,' * 90% of matrix is in the band of width = ', * i10,' *',/, * 6x,' * 80% of matrix is in the band of width = ', * i10,' *') 113 format( * 6x,' * The matrix does not have a block structure ',19x, * ' *') 114 format( * 6x,' * Block structure found with block size = ', * i10,' *') 115 format( * 6x,' * There are zero rows. Number of such rows = ', * i10,' *') 116 format( * 6x,' * There are zero columns. Number of such columns = ', * i10,' *') 118 format( * 6x,' * The total number of nonvoid diagonals is = ', * i10,' *') c-------------------------- end of dinfo -------------------------- return end sparskit-2.0.0/INFO/infofun.f0000644000265600020320000007436007663210005015054 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c INFORMATION ROUTINES. INFO MODULE c c----------------------------------------------------------------------c c bandwidth : Computes ml = lower_bandwidth(A) c c mu = upper_bandwidth(A) c c iband = max_bandwidth(A) c c bndav = average_bandwidth(A) c c nonz : Computes nzmaxc = max_column_length(A) c c nzminc = min_column_length(A) c c nzmaxr = max_row_length(A) c c nzminr = min_row_length(A) c c nzcol = zero_column_number(A) c c nzrow = zero_row_number(A) c c diag_domi : Computes ddomc = diag_domi_column_percentage(A) c c ddomr = diag_domi_row_percentage(A) c c frobnorm : Computes Fnorm = Frobenius_norm(A) c c ansym : Computes fas = sym_part_Frobenius_norm(A) c c fan = nonsym_part_Frobenius_norm(A) c c imatch = matching_elements_number(A) c c av = relative_sym_match(A) c c distaij : Computes dist = average_dist_of_a(i,j)(A) c c std = standard_deviation(A) c c skyline : Computes nsky = nonzero_number_in_skyline(A) c c distdiag : Computes dist = element_number_in_eachdiag(A) c c bandpart : Computes band = bandwidth_width(A) c c n_imp_diag: Computes ndiag = important_diag_number(A) c c nonz_lud : Computes nlower = nonzero_number_of_lower_part(A) c c nupper = nonzero_number_of_upper_part(A) c c ndiag = nonzero_number_of_maindiag(A) c c avnz_col : Computes av = average_nonzero_number_in_column(A) c c st = standard_deviation(A) c c vbrinfo : Print info on matrix in variable block row format c c----------------------------------------------------------------------c subroutine bandwidth(n,ja, ia, ml, mu, iband, bndav) implicit none integer n, ml, mu, iband integer ja(*), ia(n+1) real*8 bndav c----------------------------------------------------------------------- c this routine computes the lower, upper, maximum, and average c bandwidths. revised -- July 12, 2001 -- bug fix -- YS. c----------------------------------------------------------------------- c On Entry: c---------- c n = integer. column dimension of matrix c a = real array containing the nonzero elements of the matrix c the elements are stored by columns in order c (i.e. column i comes before column i+1, but the elements c within each column can be disordered). c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c c on return c---------- c ml = lower bandwidth as defined by c ml = max(i-j | all a(i,j).ne. 0) c mu = upper bandwidth as defined by c mu = max ( j-i | all a(i,j).ne. 0 ) c iband = maximum bandwidth as defined by c iband = Max ( Max [ j | a(i,j) .ne. 0 ] - c Min [ j | a(i,j) .ne. 0 ] ) c bndav = Average Bandwidth c----------------------------------------------------------------------- c locals integer max integer j0, j1, jminc, jmaxc, i c----------------------------------------------------------------------- ml = -n mu = -n bndav = 0.0d0 iband = 0 do 10 i=1,n j0 = ia(i) j1 = ia(i+1) - 1 jminc = ja(j0) jmaxc = ja(j1) ml = max(ml,i-jminc) mu = max(mu,jmaxc-i) iband = max(iband,jmaxc-jminc+1) bndav = bndav+real( jmaxc-jminc+1) 10 continue bndav = bndav/real(n) return c-----end-of-bandwidth-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine nonz(n,sym, ja, ia, iao, nzmaxc, nzminc, * nzmaxr, nzminr, nzcol, nzrow) implicit none integer n , nzmaxc, nzminc, nzmaxr, nzminr, nzcol, nzrow integer ja(*), ia(n+1), iao(n+1) logical sym c---------------------------------------------------------------------- c this routine computes maximum numbers of nonzero elements c per column/row, minimum numbers of nonzero elements per column/row, c and numbers of zero columns/rows. c---------------------------------------------------------------------- c On Entry: c---------- c n = integer column dimension of matrix c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c iao = similar array for the transpose of the matrix. c sym = logical variable indicating whether or not the matrix is c stored in symmetric mode. c on return c---------- c nzmaxc = max length of columns c nzminc = min length of columns c nzmaxr = max length of rows c nzminr = min length of rows c nzcol = number of zero columns c nzrow = number of zero rows c----------------------------------------------------------------------- integer i, j0, j0r, j1r, indiag, k, j1, lenc, lenr c nzmaxc = 0 nzminc = n nzmaxr = 0 nzminr = n nzcol = 0 nzrow = 0 c----------------------------------------------------------------------- do 10 i = 1, n j0 = ia(i) j1 = ia(i+1) j0r = iao(i) j1r = iao(i+1) indiag = 0 do 20 k=j0, j1-1 if (ja(k) .eq. i) indiag = 1 20 continue c lenc = j1-j0 lenr = j1r-j0r c if (sym) lenc = lenc + lenr - indiag if (lenc .le. 0) nzcol = nzcol +1 nzmaxc = max0(nzmaxc,lenc) nzminc = min0(nzminc,lenc) if (lenr .le. 0) nzrow = nzrow+1 nzmaxr = max0(nzmaxr,lenr) nzminr = min0(nzminr,lenr) 10 continue return end c----------------------------------------------------------------------- subroutine diag_domi(n,sym,valued,a, ja,ia,ao,jao, iao, * ddomc, ddomr) implicit none real*8 a(*), ao(*), ddomc, ddomr integer n, ja(*), ia(n+1), jao(*), iao(n+1) logical sym, valued c----------------------------------------------------------------- c this routine computes the percentage of weakly diagonally c dominant rows/columns c----------------------------------------------------------------- c on entry: c --------- c n = integer column dimension of matrix c a = real array containing the nonzero elements of the matrix c the elements are stored by columns in order c (i.e. column i comes before column i+1, but the elements c within each column can be disordered). c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c ao = real array containing the nonzero elements of the matrix c the elements are stored by rows in order c (i.e. row i comes before row i+1, but the elements c within each row can be disordered). c ao,jao, iao, c structure for transpose of a c sym = logical variable indicating whether or not the matrix is c symmetric. c valued= logical equal to .true. if values are provided and .false. c if only the pattern of the matrix is provided. (in that c case a(*) and ao(*) are dummy arrays. c c ON RETURN c---------- c ddomc = percentage of weakly diagonally dominant columns c ddomr = percentage of weakly diagonally dominant rows c------------------------------------------------------------------- c locals integer i, j0, j1, k, j real*8 aii, dsumr, dsumc c number of diagonally dominant columns c real arithmetic used to avoid problems.. YS. 03/27/01 ddomc = 0.0 c number of diagonally dominant rows ddomr = 0.0 do 10 i = 1, n j0 = ia(i) j1 = ia(i+1) - 1 if (valued) then aii = 0.0d0 dsumc = 0.0d0 do 20 k=j0,j1 j = ja(k) if (j .eq. i) then aii = abs(a(k)) else dsumc = dsumc + abs(a(k)) endif 20 continue dsumr = 0.0d0 if (.not. sym) then do 30 k=iao(i), iao(i+1)-1 if (jao(k) .ne. i) dsumr = dsumr+abs(ao(k)) 30 continue else dsumr = dsumc endif if (dsumc .le. aii) ddomc = ddomc + 1.0 if (dsumr .le. aii) ddomr = ddomr + 1.0 endif 10 continue ddomr = ddomr / real(n) ddomc = ddomc / real(n) return c----------------------------------------------------------------------- c--------end-of-diag_moni----------------------------------------------- end c----------------------------------------------------------------------- subroutine frobnorm(n,sym,a,ja,ia,Fnorm) implicit none integer n real*8 a(*),Fnorm integer ja(*),ia(n+1) logical sym c-------------------------------------------------------------------------- c this routine computes the Frobenius norm of A. c-------------------------------------------------------------------------- c on entry: c----------- c n = integer colum dimension of matrix c a = real array containing the nonzero elements of the matrix c the elements are stored by columns in order c (i.e. column i comes before column i+1, but the elements c within each column can be disordered). c ja = integer array containing the row indices of elements in a. c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and c ja. It is assumed that ia(*)= 1 and ia(n+1) = nnz +1. c sym = logical variable indicating whether or not the matrix is c symmetric. c c on return c----------- c Fnorm = Frobenius norm of A. c-------------------------------------------------------------------------- real*8 Fdiag integer i, k Fdiag = 0.0 Fnorm = 0.0 do i =1,n do k = ia(i), ia(i+1)-1 if (ja(k) .eq. i) then Fdiag = Fdiag + a(k)**2 else Fnorm = Fnorm + a(k)**2 endif enddo enddo if (sym) then Fnorm = 2*Fnorm +Fdiag else Fnorm = Fnorm + Fdiag endif Fnorm = sqrt(Fnorm) return end c---------------------------------------------------------------------- subroutine ansym(n,sym,a,ja,ia,ao,jao,iao,imatch, * av,fas,fan) c--------------------------------------------------------------------- c this routine computes the Frobenius norm of the symmetric and c non-symmetric parts of A, computes number of matching elements c in symmetry and relative symmetry match. c--------------------------------------------------------------------- c on entry: c---------- c n = integer column dimension of matrix c a = real array containing the nonzero elements of the matrix c the elements are stored by columns in order c (i.e. column i comes before column i+1, but the elements c within each column can be disordered). c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c sym = logical variable indicating whether or not the matrix is c symmetric. c on return c---------- c fas = Frobenius norm of symmetric part c fan = Frobenius norm of non-symmetric part c imatch = number of matching elements in symmetry c av = relative symmetry match (symmetry = 1) c ao,jao,iao = transpose of A just as a, ja, ia contains c information of A. c----------------------------------------------------------------------- implicit real*8 (a-h, o-z) real*8 a(*),ao(*),fas,fan,av, Fnorm, st integer n, ja(*), ia(n+1), jao(*), iao(n+1),imatch logical sym c----------------------------------------------------------------------- nnz = ia(n+1)-ia(1) call csrcsc(n,1,1,a,ja,ia,ao,jao,iao) if (sym) goto 7 st = 0.0d0 fas = 0.0d0 fan = 0.0d0 imatch = 0 do 6 i=1,n k1 = ia(i) k2 = iao(i) k1max = ia(i+1) - 1 k2max = iao(i+1) - 1 c 5 if (k1 .gt. k1max .or. k2 .gt. k2max) goto 6 c j1 = ja(k1) j2 = jao(k2) if (j1 .ne. j2 ) goto 51 fas = fas + (a(k1)+ao(k2))**2 fan = fan + (a(k1)-ao(k2))**2 st = st + a(k1)**2 imatch = imatch + 1 51 k1 = k1+1 k2 = k2+1 if (j1 .lt. j2) k2 = k2 - 1 if (j1 .gt. j2) k1 = k1 - 1 goto 5 6 continue fas = 0.25D0 * fas fan = 0.25D0 * fan 7 call frobnorm(n,sym,ao,jao,iao,Fnorm) if (sym) then imatch = nnz fas = Fnorm fan = 0.0d0 else if (imatch.eq.nnz) then st = 0.0D0 else st = 0.5D0 * (Fnorm**2 - st) if (st.lt.0.0D0) st = 0.0D0 endif fas = sqrt(fas + st) fan = sqrt(fan + st) endif av = real(imatch)/real(nnz) return end c------end-of-ansym----------------------------------------------------- c----------------------------------------------------------------------- subroutine distaij(n,nnz,sym,ja,ia,dist, std) implicit real*8 (a-h, o-z) real*8 dist, std integer ja(*), ia(n+1) c----------------------------------------------------------------------- c this routine computes the average distance of a(i,j) from diag and c standard deviation for this average. c----------------------------------------------------------------------- c On entry : c----------- c n = integer. column dimension of matrix c nnz = number of nonzero elements of matrix c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c sym = logical variable indicating whether or not the matrix is c symmetric. c on return c---------- c dist = average distance of a(i,j) from diag. c std = standard deviation for above average. c----------------------------------------------------------------------- c c distance of an element from diagonal. c dist = 0.0 std = 0.0 do 3 i=1,n j0 = ia(i) j1 = ia(i+1) - 1 do 31 k=j0, j1 j=ja(k) dist = dist + real(iabs(j-i) ) 31 continue 3 continue dist = dist/real(nnz) do 6 i = 1, n do 61 k=ia(i), ia(i+1) - 1 std=std+(dist-real(iabs(ja(k)-i)))**2 61 continue 6 continue std = sqrt(std/ real(nnz)) return end c----------------------------------------------------------------------- subroutine skyline(n,sym,ja,ia,jao,iao,nsky) implicit real*8 (a-h, o-z) integer n, ja(*), ia(n+1), jao(*), iao(n+1) integer nskyl, nskyu, nsky logical sym c------------------------------------------------------------------- c this routine computes the number of nonzeros in the skyline storage. c------------------------------------------------------------------- c c On entry : c----------- c n = integer. column dimension of matrix c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c iao = integer array containing of length n+1 containing the c pointers to the beginning of the rows in arrays ao and jao. c It is assumed that iao(*) = 1 and iao(n+1) = nzz+1. c jao = integer array containing the column indices of elements in ao. c sym = logical variable indicating whether or not the matrix is c symmetric. c on return c---------- c nsky = number of nonzeros in skyline storage c------------------------------------------------------------------- c c nskyu = skyline storage for upper part nskyu = 0 c nskyl = skyline storage for lower part nskyl = 0 do 10 i=1,n j0 = ia(i) j0r = iao(i) jminc = ja(j0) jminr = jao(j0r) if (sym) jminc = jminr nskyl = nskyl + i-jminr + 1 nskyu = nskyu + i-jminc + 1 10 continue nsky = nskyl+nskyu-n if (sym) nsky = nskyl return end c----------------------------------------------------------------------- subroutine distdiag(nrow,ncol,ja,ia,dist) implicit real*8 (a-h, o-z) integer nrow,ncol,ja(*), ia(nrow+1),dist(*) c---------------------------------------------------------------------- c this routine computes the numbers of elements in each diagonal. c---------------------------------------------------------------------- c On entry : c----------- c nrow = integer. row dimension of matrix c ncol = integer. column dimension of matrix c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c on return c---------- c dist = integer array containing the numbers of elements in each of c the nrow+ncol-1 diagonals of A. dist(k) contains the c number of elements in diagonal '-nrow+k'. k ranges from c 1 to (nrow+ncol-1). c---------------------------------------------------------------------- nnz = ia(nrow+1)-ia(1) n2 = nrow+ncol-1 do 8 i=1, n2 dist(i) = 0 8 continue do 9 i=1, nrow k1 = ia(i) k2 = ia(i+1) -1 do 91 k=k1, k2 j = ja(k) dist(nrow+j-i) = dist(nrow+j-i) +1 91 continue 9 continue return end c----------------------------------------------------------------------- subroutine bandpart(n,ja,ia,dist,nper,band) implicit real*8 (a-h, o-z) integer n,ja(*), ia(n+1),dist(*) integer nper,band c------------------------------------------------------------------------- c this routine computes the bandwidth of the banded matrix, which contains c 'nper' percent of the original matrix. c------------------------------------------------------------------------- c On entry : c----------- c n = integer. column dimension of matrix c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c dist = integer array containing the numbers of elements in the c matrix with different distance of row indices and column c indices. c nper = percentage of matrix within the bandwidth c on return c---------- c band = the width of the bandwidth c---------------------------------------------------------------------- nnz = ia(n+1)-ia(1) iacc = dist(n) band = 0 j = 0 10 j = j+1 iacc = iacc + dist(n+j) +dist(n-j) if (iacc*100 .le. nnz*nper) then band = band +1 goto 10 endif return end c----------------------------------------------------------------------- subroutine n_imp_diag(n,nnz,dist, ipar1,ndiag,ioff,dcount) implicit real*8 (a-h, o-z) real*8 dcount(*) integer n,nnz, dist(*), ndiag, ioff(*), ipar1 c----------------------------------------------------------------------- c this routine computes the most important diagonals. c----------------------------------------------------------------------- c c On entry : c----------- c n = integer. column dimension of matrix c nnz = number of nonzero elements of matrix c dist = integer array containing the numbers of elements in the c matrix with different distance of row indices and column c indices. ipar1 = percentage of nonzero elements of A that c a diagonal should have in order to be an important diagonal c on return c---------- c ndiag = number of the most important diagonals c ioff = the offsets with respect to the main diagonal c dcount= the accumulated percentages c----------------------------------------------------------------------- n2 = n+n-1 ndiag = 10 ndiag = min0(n2,ndiag) itot = 0 ii = 0 idiag = 0 c sort diagonals by decreasing order of weights. 40 jmax = 0 i = 1 do 41 k=1, n2 j = dist(k) if (j .lt. jmax) goto 41 i = k jmax = j 41 continue c permute ---- c save offsets and accumulated count if diagonal is acceptable c (if it has at least ipar1*nnz/100 nonzero elements) c quite if no more acceptable diagonals -- c if (jmax*100 .lt. ipar1*nnz) goto 4 ii = ii+1 ioff(ii) = i-n dist(i) = - jmax itot = itot + jmax dcount(ii) = real(100*itot)/real(nnz) if (ii .lt. ndiag) goto 40 4 continue ndiag = ii return c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine nonz_lud(n,ja,ia,nlower, nupper, ndiag) implicit real*8 (a-h, o-z) integer n, ja(*), ia(n+1) integer nlower, nupper, ndiag c----------------------------------------------------------------------- c this routine computes the number of nonzero elements in strict lower c part, strict upper part, and main diagonal. c----------------------------------------------------------------------- c c On entry : c----------- c n = integer. column dimension of matrix c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c on return c---------- c nlower= number of nonzero elements in strict lower part c nupper= number of nonzero elements in strict upper part c ndiag = number of nonzero elements in main diagonal c------------------------------------------------------------------- c c number of nonzero elements in upper part c nupper = 0 ndiag = 0 do 3 i=1,n c indiag = nonzero diagonal element indicator do 31 k=ia(i), ia(i+1)-1 j=ja(k) if (j .lt. i) nupper = nupper+1 if (j .eq. i) ndiag = ndiag + 1 31 continue 3 continue nlower = ia(n+1)-1-nupper-ndiag return end c----------------------------------------------------------------------- subroutine avnz_col(n,ja,ia,iao, ndiag, av, st) implicit real*8 (a-h, o-z) real*8 av, st integer n, ja(*), ia(n+1), iao(n+1) c--------------------------------------------------------------------- c this routine computes average number of nonzero elements/column and c standard deviation for this average c--------------------------------------------------------------------- c c On entry : c----------- c n = integer. column dimension of matrix c ja = integer array containing the row indices of elements in a c ia = integer array containing of length n+1 containing the c pointers to the beginning of the columns in arrays a and ja. c It is assumed that ia(*) = 1 and ia(n+1) = nzz+1. c ndiag = number of the most important diagonals c On return c---------- c av = average number of nonzero elements/column c st = standard deviation for this average c Notes c--------- c standard deviation will not be correct for symmetric storage. c---------------------------------------------------------------------- c standard deviatioan for the average st = 0.0d0 c average and standard deviation c av = real(ia(n+1)-1)/real(n) c c will be corrected later. c do 3 i=1,n j0 = ia(i) j1 = ia(i+1) - 1 c indiag = nonzero diagonal element indicator do 31 k=j0, j1 j=ja(k) 31 continue lenc = j1+1-j0 st = st + (real(lenc) - av)**2 3 continue c st = sqrt( st / real(n) ) return end c----------------------------------------------------------------------- c----------------------------------------------------------------------- subroutine vbrinfo(nr, nc, kvstr, kvstc, ia, ja, ka, iwk, iout) c----------------------------------------------------------------------- integer nr, nc, kvstr(nr+1), kvstc(nc+1), ia(nr+1), ja(*), ka(*) integer iwk(nr+nc+2+nr), iout c----------------------------------------------------------------------- c Print info on matrix in variable block row format. c----------------------------------------------------------------------- c On entry: c-------------- c nr,nc = matrix block row and block column dimension c kvstr = first row number for each block row c kvstc = first column number for each block column c ia,ja,ka,a = input matrix in VBR format c iout = unit number for printed output c c On return: c--------------- c Printed output to unit number specified in iout. If a non-square c matrix is provided, the analysis will be performed on the block c rows, otherwise a row/column conformal partitioning will be used. c c Work space: c---------------- c iwk(1:nb+1) = conformal block partitioning c (nb is unknown at start but is no more than nr+nc) c iwk(nb+2:nb+2+nr) = frequency of each blocksize c The workspace is not assumed to be initialized to zero, nor is it c left that way. c c----------------------------------------------------------------------- c-----local variables integer n, nb, nnz, nnzb, i, j, neq, max, num character*101 tmpst integer bsiz(10), freq(10) c----------------------------------------------------------------------- n = kvstr(nr+1)-1 nnz = ka(ia(nr+1)) - ka(1) nnzb = ia(nr+1) - ia(1) write (iout, 96) write (iout, 100) n, nnz, real(nnz)/real(n) write (iout, 101) nr, nnzb, real(nnzb)/real(nr) c-----if non-square matrix, do analysis on block rows, c else do analysis on conformal partitioning if (kvstr(nr+1) .ne. kvstc(nc+1)) then write (iout, 103) do i = 1, nr+1 iwk(i) = kvstr(i) enddo nb = nr else call kvstmerge(nr, kvstr, nc, kvstc, nb, iwk) if ((nr .ne. nc) .or. (nc .ne. nb)) write (iout, 104) nb endif c-----accumulate frequencies of each blocksize max = 1 iwk(1+nb+2) = 0 do i = 1, nb neq = iwk(i+1) - iwk(i) if (neq .gt. max) then do j = max+1, neq iwk(j+nb+2) = 0 enddo max = neq endif iwk(neq+nb+2) = iwk(neq+nb+2) + 1 enddo c-----store largest 10 of these blocksizes num = 0 do i = max, 1, -1 if ((iwk(i+nb+2) .ne. 0) .and. (num .lt. 10)) then num = num + 1 bsiz(num) = i freq(num) = iwk(i+nb+2) endif enddo c-----print information about blocksizes write (iout, 109) num write (tmpst,'(10i6)') (bsiz(j),j=1,num) write (iout,110) num,tmpst write (tmpst,'(10i6)') (freq(j),j=1,num) write (iout,111) tmpst write (iout, 96) c----------------------------------------------------------------------- 99 format (2x,38(2h *)) 96 format (6x,' *',65(1h-),'*') 100 format( * 6x,' * Number of rows = ', * i10,' *'/ * 6x,' * Number of nonzero elements = ', * i10,' *'/ * 6x,' * Average number of nonzero elements/Row = ', * f10.4,' *') 101 format( * 6x,' * Number of block rows = ', * i10,' *'/ * 6x,' * Number of nonzero blocks = ', * i10,' *'/ * 6x,' * Average number of nonzero blocks/Block row = ', * f10.4,' *') 103 format( * 6x,' * Non-square matrix. ', * ' *'/ * 6x,' * Performing analysis on block rows. ', * ' *') 104 format( * 6x,' * Non row-column conformal partitioning supplied. ', * ' *'/ * 6x,' * Using conformal partitioning. Number of bl rows = ', * i10,' *') 109 format( * 6x,' * Number of different blocksizes = ', * i10,' *') 110 format(6x,' * The ', i2, ' largest dimension nodes', * ' have dimension : ',10x,' *',/, * 6x,' *',a61,3x,' *') 111 format(6x,' * The frequency of nodes these ', * 'dimensions are : ',10x,' *',/, * 6x,' *',a61,3x,' *') c--------------------------------- return end c----------------------------------------------------------------------- c-----------------------end-of-vbrinfo---------------------------------- sparskit-2.0.0/INFO/README0000644000265600020320000001234207663204647014130 0ustar tilleaadminc------------------------------------------------------------------------------c c INFO MODULE c c------------------------------------------------------------------------------c c The INFO module provides some elementary information on a sparse c c matrix. Geared towards a matrix in Harwell-Boeing format. c c There is also a short main program that will read a Harwell-Boeing c c matrix and produce the information on the standard output. See below. c c c c------------------------------------------------------------------------------c c infofun.f contains subroutines: c c------------------------------------------------------------------------------c c bandwidth : computes the lower, upper, maximum, and average bandwidths. c c nonz : computes maximum numbers of nonzero elements per column/row, c c minimum numbers of nonzero elements per column/row, and c c numbers of zero columns/rows. c c diag_domi : computes the percentage of weakly diagonally dominant c c rows/columns. c c frobnorm : computes the Frobenius norm of A. c c ansym : computes the Frobenius norm of the symmetric and non-symmetricc c parts of A, computes number of matching elements in symmetry c c and relative symmetry match. c c distaij : computes the average distance of a(i,j) from diag and standardc c deviation for this average. c c skyline : computes the number of nonzeros in the skyline storage. c c distdiag : computes the numbers of elements in each diagonal. c c bandpart : computes the bandwidth of the banded matrix, which contains c c 'nper' percent of the original matrix. c c n_imp_diag: computes the most important diagonals. c c nonz_lud : computes the number of nonzero elements in strict lower part, c c strict upper part, and main diagonal. c c avnz_col : computes average number of nonzero elements/column and std c c deviation for this average. c c vbrinfo : Print info on matrix in variable block row format c c------------------------------------------------------------------------------c c rinfo1.f : contains the main program to produce an executable c c rinfoC.f : same thing in C -- info1.ex is made by makeC makefile c c------------------------------------------------------------------------------c c dinfo13.f : contains the main subroutine called by rinfo1.f c c------------------------------------------------------------------------------c c makefile: contains the make file to produce info1.ex c c makeC: contains the make file to produce info1.ex from rinfoC.c c c------------------------------------------------------------------------------c c saylr1 : contains the Harwell-Boeing matrix saylr1 for testing purposes. c c------------------------------------------------------------------------------c c info.saylr1 : contains a sample output (see below) for the matrix saylr1. c c------------------------------------------------------------------------------c c------------------------------------------------------------------------------c c Notes: c c------------------------------------------------------------------------------c c The makefile will actually create an executable tool called info1.ex c c which will provide some information on a Harwell/Boeing matrix. c c c c Once you have made the executable info1 using the makefile, c c you can execute for a matrix stored in the Harwell-Boeing c c format. You will need to have a matrix in the harwell/boeing c c format and type c c c c info1.ex < HB_file c c c c This will dump the info on the standard output/ c c c c for example typing info1.ex < saylr1 > info.saylr1 c c c c produces the file info.saylr1. [info.saylr1 is included in this directory c c to check whether you get the same answers]. c c------------------------------------------------------------------------------c sparskit-2.0.0/INFO/info.saylr10000644000265600020320000000613606203735240015327 0ustar tilleaadmin * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * unsymmetric matrix of paul saylor - 14 by 17 2d grid may, 1983 * * Key = saylr1 , Type = rua * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Dimension N = 238 * * Number of nonzero elements = 1128 * * Average number of nonzero elements/Column = 4.7395 * * Standard deviation for above average = 0.4757 * * Nonzero elements in strict lower part = 445 * * Nonzero elements in strict upper part = 445 * * Nonzero elements in main diagonal = 238 * * Weight of longest column = 5 * * Weight of shortest column = 3 * * Weight of longest row = 5 * * Weight of shortest row = 3 * * Matching elements in symmetry = 1128 * * Relative Symmetry Match (symmetry=1) = 1.0000 * * Average distance of a(i,j) from diag. = 0.595E+01 * * Standard deviation for above average = 0.654E+01 * *-----------------------------------------------------------------* * Frobenius norm of A = 0.886E+09 * * Frobenius norm of symmetric part = 0.991E+09 * * Frobenius norm of nonsymmetric part = 0.443E+09 * * Maximum element in A = 0.306E+09 * * Percentage of weakly diagonally dominant rows = 0.761E+00 * * Percentage of weakly diagonally dominant columns = 0.744E+00 * *-----------------------------------------------------------------* * Lower bandwidth (max: i-j, a(i,j) .ne. 0) = 14 * * Upper bandwidth (max: j-i, a(i,j) .ne. 0) = 14 * * Maximum Bandwidth = 29 * * Average Bandwidth = 0.275E+02 * * Number of nonzeros in skyline storage = 6536 * * 90% of matrix is in the band of width = 27 * * 80% of matrix is in the band of width = 27 * * The total number of nonvoid diagonals is = 5 * * The 5 most important diagonals are (offsets) : * * 0 14 -14 1 -1 * * The accumulated percentages they represent are : * * 21.1 41.0 60.8 80.4 100.0 * *-----------------------------------------------------------------* * The matrix does not have a block structure * *-----------------------------------------------------------------* sparskit-2.0.0/makefile0000644000265600020320000001032607323417103014177 0ustar tilleaadmin#----------------------------------------------------------------------- # S P A R S K I T makefile #----------------------------------------------------------------------- # # There are three types of source files in SPARSKIT: # 1. library source files # 2. non-library and unsupported source files # 3. test programs # # Simply type "make" to make the SPARSKIT library. # # "make all" will additionally make all the unsupported objects. # # To make the test programs, use the makefiles in each subdirectory, # or see the dotests script. # There are no references to test programs in this makefile. # Some test programs use the non-library objects from other directories, # so do a "make all" before making test programs. # # Last Updated: May 9, 1994. SHELL = /bin/sh F77 = f77 # F77 = f77 # AR = ar rcv AR = ar -rcv # OPT = -c # OPT = -c -static -64 -mips4 -O3 -r10000 OPT = -c -O # Cray options #F77 = cf77 #AR = bld rv #OPT = -c -Wf"-dp" # # library objects # OBJ = BLASSM/blassm.o \ BLASSM/matvec.o \ FORMATS/formats.o \ FORMATS/unary.o \ INFO/infofun.o \ INOUT/inout.o \ ITSOL/ilut.o \ ITSOL/iters.o \ MATGEN/FDIF/genmat.o \ MATGEN/FEM/elmtlib2.o \ MATGEN/FEM/femgen.o \ MATGEN/FEM/meshes.o \ MATGEN/MISC/sobel.o \ MATGEN/MISC/zlatev.o \ ORDERINGS/ccn.o \ ORDERINGS/color.o \ ORDERINGS/dsepart.o # # non-library and unsupported objects # OBJ2 = ITSOL/itaux.o \ MATGEN/FDIF/functns.o \ MATGEN/FEM/functns2.o \ UNSUPP/BLAS1/blas1.o \ UNSUPP/MATEXP/exppro.o \ UNSUPP/MATEXP/phipro.o \ UNSUPP/PLOTS/psgrd.o \ UNSUPP/PLOTS/texgrid1.o \ UNSUPP/PLOTS/texplt1.o DIRS = . \ BLASSM \ FORMATS \ INFO \ INOUT \ ITSOL \ MATGEN/FDIF \ MATGEN/FEM \ MATGEN/MISC \ ORDERINGS \ UNSUPP/BLAS1 \ UNSUPP/MATEXP \ UNSUPP/PLOTS lib libskit.a: $(OBJ) $(AR) libskit.a $(OBJ) ## ranlib libskit.a # do not ranlib on some architectures clean: @for dir in $(DIRS) ;\ do \ echo cleaning $$dir ;\ (cd $$dir; rm -f *~ *.o *.ex .,* fort.* ftn?? *.mat *.pic *.ps *.trace core) ;\ done tarit: (cd ..; tar cvf - SPARSKIT2 | gzip -c > SPARSKIT2.tar.gz) all: $(OBJ) $(OBJ2) libskit.a BLASSM/blassm.o: BLASSM/blassm.f (cd BLASSM ; $(F77) $(OPT) blassm.f) BLASSM/matvec.o: BLASSM/matvec.f (cd BLASSM ; $(F77) $(OPT) matvec.f) FORMATS/formats.o: FORMATS/formats.f (cd FORMATS ; $(F77) $(OPT) formats.f) FORMATS/unary.o: FORMATS/unary.f (cd FORMATS ; $(F77) $(OPT) unary.f) INFO/infofun.o: INFO/infofun.f (cd INFO ; $(F77) $(OPT) infofun.f) INOUT/inout.o: INOUT/inout.f (cd INOUT; $(F77) $(OPT) inout.f) ITSOL/ilut.o: ITSOL/ilut.f (cd ITSOL; $(F77) $(OPT) ilut.f) ITSOL/iters.o: ITSOL/iters.f (cd ITSOL; $(F77) $(OPT) iters.f) ITSOL/itaux.o: ITSOL/itaux.f (cd ITSOL; $(F77) $(OPT) itaux.f) MATGEN/FDIF/genmat.o: MATGEN/FDIF/genmat.f (cd MATGEN/FDIF ; $(F77) $(OPT) genmat.f) MATGEN/FDIF/functns.o: MATGEN/FDIF/functns.f (cd MATGEN/FDIF ; $(F77) $(OPT) functns.f) MATGEN/FEM/elmtlib2.o: MATGEN/FEM/elmtlib2.f (cd MATGEN/FEM ; $(F77) $(OPT) elmtlib2.f) MATGEN/FEM/femgen.o: MATGEN/FEM/femgen.f (cd MATGEN/FEM ; $(F77) $(OPT) femgen.f) MATGEN/FEM/functns2.o : MATGEN/FEM/functns2.f (cd MATGEN/FEM ; $(F77) $(OPT) functns2.f) MATGEN/FEM/meshes.o: MATGEN/FEM/meshes.f (cd MATGEN/FEM ; $(F77) $(OPT) meshes.f) MATGEN/MISC/sobel.o: MATGEN/MISC/sobel.f (cd MATGEN/MISC ; $(F77) $(OPT) sobel.f) MATGEN/MISC/zlatev.o: MATGEN/MISC/zlatev.f (cd MATGEN/MISC ; $(F77) $(OPT) zlatev.f) ORDERINGS/ccn.o: ORDERINGS/ccn.f (cd ORDERINGS ; $(F77) $(OPT) ccn.f) ORDERINGS/color.o: ORDERINGS/color.f (cd ORDERINGS ; $(F77) $(OPT) color.f) ORDERINGS/dsepart.o: ORDERINGS/dsepart.f (cd ORDERINGS ; $(F77) $(OPT) dsepart.f) UNSUPP/BLAS1/blas1.o: UNSUPP/BLAS1/blas1.f (cd UNSUPP/BLAS1 ; $(F77) $(OPT) blas1.f) UNSUPP/MATEXP/exppro.o: UNSUPP/MATEXP/exppro.f (cd UNSUPP/MATEXP ; $(F77) $(OPT) exppro.f) UNSUPP/MATEXP/phipro.o: UNSUPP/MATEXP/phipro.f (cd UNSUPP/MATEXP ; $(F77) $(OPT) phipro.f) UNSUPP/PLOTS/psgrd.o : UNSUPP/PLOTS/psgrd.f (cd UNSUPP/PLOTS ; $(F77) $(OPT) psgrd.f) UNSUPP/PLOTS/texgrid1.o : UNSUPP/PLOTS/texgrid1.f (cd UNSUPP/PLOTS ; $(F77) $(OPT) texgrid1.f) UNSUPP/PLOTS/texplt1.o : UNSUPP/PLOTS/texplt1.f (cd UNSUPP/PLOTS ; $(F77) $(OPT) texplt1.f) sparskit-2.0.0/LGPL0000644000265600020320000006347610213357135013176 0ustar tilleaadmin GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! sparskit-2.0.0/MATGEN/0000755000265600020320000000000006203735306013454 5ustar tilleaadminsparskit-2.0.0/MATGEN/MISC/0000755000265600020320000000000011063776343014215 5ustar tilleaadminsparskit-2.0.0/MATGEN/MISC/zlatev.f0000644000265600020320000003731606203735300015667 0ustar tilleaadmin SUBROUTINE MATRF2(M,N,C,INDEX,ALPHA,NN,NZ,A,SNR,RNR,FEJLM) C-------------------------------------------------------------------- C C PURPOSE C ------- C The subroutine generates sparse (rectangular or square) matrices. C The dimensions of the matrix and the average number of nonzero C elements per row can be specified by the user. Moreover, the user C can also change the sparsity pattern and the condition number of the C matrix. The non-zero elements of the desired matrix will be C accumulated (in an arbitrary order) in the first NZ positions of C array A. The column and the row numbers of the non-zero element C stored in A(I), I=1,...,NZ, will be found in SNR(I) and RNR(I), C respectively. The matrix generated by this subroutine is of the C class F(M,N,C,R,ALPHA) (see reference). C C Note: If A is the sparse matrix of type F(M,N,C,R,ALPHA), then C C min|A(i,j)| = 1/ALPHA, C C max|A(i,j)| = max(INDEX*N - N,10*ALPHA). C C C CONTRIBUTOR: Ernest E. Rothman C Cornell Theory Center/Cornell National Supercomputer C Facility. C e-mail address: BITNET: eer@cornellf C INTERNET: eer@cornellf.tn.cornell.edu C C minor modifications by Y. Saad. April 26, 1990. C C Note: This subroutine has been copied from the following reference. C The allowable array sizes have been changed. C C REFERENCE: Zlatev, Zahari; Schaumburg, Kjeld; Wasniewski, Jerzy; C "A testing Scheme for Subroutines Solving Large Linear Problems", C Computers and Chemistry, Vol. 5, No. 2-3, pp. 91-100, 1981. C C C INPUT PARAMETERS C ---------------- C M - Integer. The number of rows in the desired matrix. C N < M+1 < 9000001 must be specified. C C N - Integer. The number of columns in the desired matrix. C 21 < N < 9000001 must be specified. C C C - Integer. The sparsity pattern can be changed by means of this C parameter. 10 < C < N-10 must be specified. C C INDEX - Integer. The average number of non-zero elements per row in C the matrix will be equal to INDEX. C 1 < INDEX < N-C-8 must be specified. C C ALPHA - Real. The condition number of the matrix can be changed C BY THIS PARAMETER. ALPHA > 0.0 MUST BE SPECIFIED. C If ALPHA is approximately equal to 1.0 then the generated C matrix is well-conditioned. Large values of ALPHA will C usually produce ill-conditioned matrices. Note that no C round-off errors during the computations in this subroutine C are made if ALPHA = 2**I (where I is an arbitrary integer C which produces numbers in the machine range). C C NN - Integer. The length of arrays A, RNR, and SNR (see below). C INDEX*M+109 < NN < 9000001 must be specified. C C C OUTPUT PARAMETERS C ----------------- C NZ - Integer. The number of non-zero elements in the matrix. C C A(NN) - Real array. The non-zero elements of the matrix generated C are accumulated in the first NZ locations of array A. C C SNR(NN) - INTEGER array. The column number of the non-zero element C kept in A(I), I=1,...NZ, is stored in SNR(I). C C RNR(NN) - Integer array. The row number of the non-zero element C kept in A(I), I=1,...NZ, is stored in RNR(I). C C FEJLM - Integer. FEJLM=0 indicates that the call is successful. C Error diagnostics are given by means of positive values of C this parameter as follows: C FEJLM = 1 - N is out of range. C FEJLM = 2 - M is out of range. C FEJLM = 3 - C is out of range. C FEJLM = 4 - INDEX is out of range. C FEJLM = 5 - NN is out of range. C FEJLM = 7 - ALPHA is out of range. C C C C REAL*8 A, ALPHA, ALPHA1 INTEGER M, N, NZ, C, NN, FEJLM, M1, NZ1, RR1, RR2, RR3, K INTEGER M2, N2 INTEGER SNR, RNR DIMENSION A(NN), SNR(NN), RNR(NN) M1 = M FEJLM = 0 NZ1 = INDEX*M + 110 K = 1 ALPHA1 = ALPHA INDEX1 = INDEX - 1 C C Check the parameters. C IF(N.GE.22) GO TO 1 2 FEJLM = 1 RETURN 1 IF(N.GT.9000000) GO TO 2 IF(M.GE.N) GO TO 3 4 FEJLM = 2 RETURN 3 IF(M.GT.9000000) GO TO 4 IF(C.LT.11)GO TO 6 IF(N-C.GE.11)GO TO 5 6 FEJLM = 3 RETURN 5 IF(INDEX.LT.1) GO TO 12 IF(N-C-INDEX.GE.9)GO TO 13 12 FEJLM = 4 13 IF(NN.GE.NZ1)GO TO 7 8 FEJLM = 5 RETURN 7 IF(NN.GT.9000000)GO TO 8 IF(ALPHA.GT.0.0)GO TO 9 FEJLM = 6 RETURN 9 CONTINUE C C End of the error check. Begin to generate the non-zero elements of C the required matrix. C DO 20 I=1,N A(I) = 1.0d0 SNR(I) = I 20 RNR(I) = I NZ = N J1 = 1 IF(INDEX1.EQ.0) GO TO 81 DO 21 J = 1,INDEX1 J1 = -J1 DO 22 I=1,N A(NZ+I) = dfloat(J1*J*I) IF(I+C+J-1.LE.N)SNR(NZ+I) = I + C + J - 1 IF(I+C+J-1.GT.N)SNR(NZ+I) = C + I + J - 1 - N 22 RNR(NZ + I) = I 21 NZ = NZ + N 81 RR1 = 10 RR2 = NZ RR3 = 1 25 CONTINUE DO 26 I=1,RR1 A(RR2 + I) = ALPHA*dfloat(I) SNR(RR2+I) = N - RR1 + I RNR(RR2+I) = RR3 26 CONTINUE IF(RR1.EQ.1) GO TO 27 RR2 = RR2 + RR1 RR1 = RR1 - 1 RR3 = RR3 + 1 GO TO 25 27 NZ = NZ + 55 29 M1 = M1 - N ALPHA = 1.0d0/ALPHA IF(M1.LE.0) GO TO 28 N2 = K*N IF(M1.GE.N)M2 = N IF(M1.LT.N)M2 = M1 DO 30 I=1,M2 A(NZ+I) = ALPHA*dfloat(K+1) SNR(NZ + I) = I 30 RNR(NZ + I) = N2 + I NZ = NZ + M2 IF(INDEX1.EQ.0) GO TO 82 J1 = 1 DO 41 J = 1,INDEX1 J1 = -J1 DO 42 I = 1,M2 A(NZ+I) = ALPHA*dFLOAT(J*J1)*(dfloat((K+1)*I)+1.0d0) IF(I+C+J-1.LE.N)SNR(NZ+I) = I + C + J - 1 IF(I+C+J-1.GT.N)SNR(NZ+I) = C + I + J - 1 - N 42 RNR(NZ + I) = N2 + I 41 NZ = NZ +M2 82 K = K + 1 GO TO 29 28 CONTINUE ALPHA = 1.0d0/ALPHA1 RR1 = 1 RR2 = NZ 35 CONTINUE DO 36 I = 1,RR1 A(RR2+I) = ALPHA*dfloat(RR1+1-I) SNR(RR2+I) = I RNR(RR2+I) = N - 10 + RR1 36 CONTINUE IF(RR1.EQ.10) GO TO 34 RR2 = RR2 + RR1 RR1 = RR1 + 1 GO TO 35 34 NZ = NZ + 55 ALPHA = ALPHA1 RETURN END SUBROUTINE DCN(AR,IA,JA,N,NE,IC,NN,IERR) C----------------------------------------------------------------------- C C PURPOSE C ------- C The subroutine generates sparse (square) matrices of the type C D(N,C). This type of matrix has the following characteristics: C 1's in the diagonal, three bands at the distance C above the C diagonal (and reappearing cyclicly under it), and a 10 x 10 C triangle of elements in the upper right-hand corner. C Different software libraries require different storage schemes. C This subroutine generates the matrix in the storage by C indices mode. C C C Note: If A is the sparse matrix of type D(N,C), then C C min|A(i,j)| = 1, max|A(i,j)| = max(1000,N + 1) C C C C CONTRIBUTOR: Ernest E. Rothman C Cornell Theory Center/Cornell National Supercomputer C Facility. C e-mail address: BITNET: eer@cornellf C INTERNET: eer@cornellf.tn.cornell.edu C C C REFERENCE C --------- C 1) Zlatev, Zahari; Schaumburg, Kjeld; Wasniewski, Jerzy; C "A Testing Scheme for Subroutines Solving Large Linear Problems", C Computers and Chemistry, Vol. 5, No. 2-3, pp. 91-100, 1981. C 2) Osterby, Ole and Zletev, Zahari; C "Direct Methods for Sparse Matrices"; C Springer-Verlag 1983. C C C C INPUT PARAMETERS C ---------------- C N - Integer. The size of the square matrix. C N > 13 must be specified. C C NN - Integer. The dimension of integer arrays IA and JA and C real array AR. Must be at least NE. C C IC - Integer. The sparsity pattern can be changed by means of this C parameter. 0 < IC < N-12 must be specified. C C C OUTPUT PARAMETERS C ----------------- C NE - Integer. The number of nonzero elements in the sparse matrix C of the type D(N,C). NE = 4*N + 55. C C AR(NN) - Real array. (Double precision) C Stored entries of a sparse matrix to be generated by this C subroutine. C NN is greater then or equal to, NE, the number of C nonzeros including a mandatory diagonal entry for C each row. Entries are stored by indices. C C IA(NN) - Integer array. C Pointers to specify rows for the stored nonzero entries C in AR. C C JA(NN) - Integer array. C Pointers to specify columns for the stored nonzero entries C in AR. C C IERR - Error parameter is returned as zero on successful C execution of the subroutine. C Error diagnostics are given by means of positive values C of this parameter as follows: C IERR = 1 - N is out of range. C IERR = 2 - IC is out of range. C IERR = 3 - NN is out of range. C C---------------------------------------------------------------------- C real*8 ar(nn) integer ia(nn), ja(nn), ierr ierr = 0 c c c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Check the input parameters: c if(n.le.13)then ierr = 1 return endif if(ic .le. 0 .or. ic .ge. n-12)then ierr = 2 return endif ne = 4*n+55 if(nn.lt.ne)then ierr = 3 return endif c c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c c Begin to generate the nonzero elements as well as the row and column c pointers: c do 20 i=1,n ar(i) = 1.0d0 ia(i) = i ja(i) = i 20 continue ilast = n do 30 i=1,n-ic it = ilast + i ar(it) = 1.0 + dfloat(i) ia(it) = i ja(it) = i+ic 30 continue ilast = ilast + n-ic do 40 i=1,n-ic-1 it = ilast + i ar(it) = -dfloat(i) ia(it) = i ja(it) = i+ic+1 40 continue ilast = ilast + n-ic-1 do 50 i=1,n-ic-2 it = ilast + i ar(it) = 16.0d0 ia(it) = i ja(it) = i+ic+2 50 continue ilast = ilast + n-ic-2 icount = 0 do 70 j=1,10 do 60 i=1,11-j icount = icount + 1 it = ilast + icount ar(it) = 100.0d0 * dfloat(j) ia(it) = i ja(it) = n-11+i+j 60 continue 70 continue icount = 0 ilast = 55 + ilast do 80 i=n-ic+1,n icount = icount + 1 it = ilast + icount ar(it) = 1.0d0 + dfloat(i) ia(it) = i ja(it) = i-n+ic 80 continue ilast = ilast + ic icount = 0 do 90 i=n-ic,n icount = icount + 1 it = ilast + icount ar(it) = -dfloat(i) ia(it) = i ja(it) = i-n+ic+1 90 continue ilast = ilast + ic + 1 icount = 0 do 100 i=n-ic-1,n icount = icount + 1 it = ilast + icount ar(it) = 16.0d0 ia(it) = i ja(it) = i-n+ic+2 100 continue c ilast = ilast + ic + 2 c if(ilast.ne.4*n+55) then c write(*,*)' ilast equal to ', ilast c write(*,*)' ILAST, the number of nonzeros, should = ', 4*n + 55 c stop c end if c c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return end SUBROUTINE ECN(N,IC,NE,IA,JA,AR,NN,IERR) C---------------------------------------------------------------------- C C PURPOSE C ------- C The subroutine generates sparse (square) matrices of the type C E(N,C). This type of matrix has the following characteristics: C Symmetric, positive-definite, N x N matrices with 4 in the diagonal C and -1 in the two sidediagonal and in the two bands at the distance C C from the diagonal. These matrices are similar to matrices obtained C from using the five-point formula in the discretization of the C elliptic PDE. C C C Note: If A is the sparse matrix of type E(N,C), then C C min|A(i,j)| = 1, max|A(i,j)| = 4 C C C C CONTRIBUTOR: Ernest E. Rothman C Cornell Theory Center/Cornell National Supercomputer C Facility. C e-mail address: BITNET: eer@cornellf C INTERNET: eer@cornellf.tn.cornell.edu C C C REFERENCE C --------- C 1) Zlatev, Zahari; Schaumburg, Kjeld; Wasniewski, Jerzy; C "A Testing Scheme for Subroutines Solving Large Linear Problems", C Computers and Chemistry, Vol. 5, No. 2-3, pp. 91-100, 1981. C 2) Osterby, Ole and Zletev, Zahari; C "Direct Methods for Sparse Matrices"; C Springer-Verlag 1983. C C C C INPUT PARAMETERS C ---------------- C N - Integer. The size of the square matrix. C N > 2 must be specified. C C NN - Integer. The dimension of integer arrays IA and JA and C real array AR. Must be at least NE. C C NN - Integer. The dimension of integer array JA. Must be at least C NE. C C IC - Integer. The sparsity pattern can be changed by means of this C parameter. 1 < IC < N must be specified. C C C C OUTPUT PARAMETERS C ----------------- C NE - Integer. The number of nonzero elements in the sparse matrix C of the type E(N,C). NE = 5*N - 2*IC - 2 . C C AR(NN) - Real array. C Stored entries of the sparse matrix A. C NE is the number of nonzeros including a mandatory C diagonal entry for each row. C C IA(NN) - Integer array.(Double precision) C Pointers to specify rows for the stored nonzero entries C in AR. C C JA(NN) - Integer array. C Pointers to specify columns for the stored nonzero entries C in AR. C C IERR - Error parameter is returned as zero on successful C execution of the subroutine. C Error diagnostics are given by means of positive values C of this parameter as follows: C IERR = 1 - N is out of range. C IERR = 2 - IC is out of range. C IERR = 3 - NN is out of range. C C--------------------------------------------------------------------- C C real*8 ar(nn) integer ia(nn), ja(nn), n, ne, ierr ierr = 0 c c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c Check the input parameters: c if(n.le.2)then ierr = 1 return endif if(ic.le.1.or.ic.ge.n)then ierr = 2 return endif c ne = 5*n-2*ic-2 if(nn.lt.ne)then ierr = 3 return endif c c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c c Begin to generate the nonzero elements as well as the row and column c pointers: c do 20 i=1,n ar(i) = 4.0d0 ia(i) = i ja(i) = i 20 continue ilast = n do 30 i=1,n-1 it = ilast + i ar(it) = -1.0d0 ia(it) = i+1 ja(it) = i 30 continue ilast = ilast + n - 1 do 40 i=1,n-1 it = ilast + i ar(it) = -1.0d0 ia(it) = i ja(it) = i+1 40 continue ilast = ilast + n-1 do 50 i=1,n-ic it = ilast + i ar(it) = -1.0d0 ia(it) = i+ic ja(it) = i 50 continue ilast = ilast + n-ic do 60 I=1,n-ic it = ilast + i ar(it) = -1.0d0 ia(it) = i ja(it) = i+ic 60 continue c ilast = ilast + n-ic c if(ilast.ne.5*n-2*ic-2) then c write(*,*)' ilast equal to ', ilast c write(*,*)' ILAST, the no. of nonzeros, should = ', 5*n-2*ic-2 c stop c end if c c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return end sparskit-2.0.0/MATGEN/MISC/makefile0000644000265600020320000000076406203735300015710 0ustar tilleaadminFFLAGS = F77 = f77 #F77 = cf77 #FFLAGS = -Wf"-dp" FILES1 = rsobel.o FILES2 = rzlatev.o FILES3 = markov.o sobel.ex: $(FILES1) ../../libskit.a $(F77) $(FFLAGS) -o sobel.ex $(FILES1) ../../libskit.a zlatev.ex: $(FILES2) ../../libskit.a $(F77) $(FFLAGS) -o zlatev.ex $(FILES2) ../../libskit.a markov.ex: $(FILES3) ../../libskit.a $(F77) $(FFLAGS) -o markov.ex $(FILES3) ../../libskit.a clean: rm -f *.o *.ex core *.trace ../../libskit.a: (cd ../..; $(MAKE) $(MAKEFLAGS) libskit.a) sparskit-2.0.0/MATGEN/MISC/sobel.f0000644000265600020320000001237606203735300015465 0ustar tilleaadmin subroutine sobel(n,nrowc,ncolc,c,jc,ic,a,ja,ia,b,jb,ib,nzmax,ierr) integer i, n, ia(*), ja(*), ib(*), jb(*) integer nrowa, ncola, nrowb, ncolb, nrowc, ncolc, ipos integer ic(*), jc(*), offset, ierr real*8 a(*), b(*), c(*) c----------------------------------------------------------------------- c This subroutine generates a matrix used in the statistical problem c presented by Prof. Sobel. The matrix is formed by a series of c small submatrix on or adjancent to the diagonal. The submatrix on c the diagonal is square and the size goes like 1, 1, 2, 2, 3, 3,... c Each of the diagonal block is a triadiagonal matrix, each of the c off-diagonal block is a bidiagonal block. The values of elements c in the off-diagonal block are all -1. So are the values of the c elements on the sub- and super-diagonal of the blocks on the c diagonal. The first element(1,1) of the diagonal block is alternating c between 3 and 5, the rest of the diagonal elements (of the block c on the diagonal) are 6. c----------------------------------------------------------------------- c This subroutine calls following subroutines to generate the three c thypes of submatrices: c diagblk -- generates diagonal block. c leftblk -- generates the block left of the diagonal one. c rightblk-- generates the block right of the diagonal one. c----------------------------------------------------------------------- if (n.lt.2) return ipos = 1 offset = 1 call diagblk(1, nrowc, ncolc, c, jc, ic) do 10 i=2, n-2 nrowa = nrowc ncola = ncolc call copmat (nrowc,c,jc,ic,a,ja,ia,1,1) call rightblk(i-1, nrowb, ncolb, b,jb,ib) call addblk(nrowa,ncola,a,ja,ia,ipos,ipos+offset,1, $ nrowb,ncolb,b,jb,ib,nrowc,ncolc,c,jc,ic,nzmax,ierr) call leftblk(i,nrowb,ncolb,b,jb,ib) call addblk(nrowc,ncolc,c,jc,ic,ipos+offset,ipos,1, $ nrowb,ncolb,b,jb,ib,nrowa,ncola,a,ja,ia,nzmax,ierr) ipos = ipos + offset call diagblk(i,nrowb,ncolb,b,jb,ib) call addblk(nrowa,ncola,a,ja,ia,ipos,ipos,1, $ nrowb,ncolb,b,jb,ib,nrowc,ncolc,c,jc,ic,nzmax,ierr) offset = 1 + (i-1)/2 10 continue end c----------------------------------------------------------------------- subroutine diagblk(n, nrow, ncol, a, ja, ia) implicit none integer n, nrow, ncol, ia(1:*), ja(1:*) real*8 a(1:*) c----------------------------------------------------------------------- c generates the diagonal block for the given problem. c----------------------------------------------------------------------- integer i, k nrow = 1 + (n-1)/2 ncol = nrow k = 1 ia(1) = 1 ja(1) = 1 if (mod(n, 2) .eq. 1) then a(1) = 3 else a(1) = 5 end if k = k + 1 if (ncol.gt.1) then ja(2) = 2 a(2) = -1.0 k = k + 1 end if do 10 i = 2, nrow ia(i) = k ja(k) = i-1 a(k) = -1.0 k = k + 1 ja(k) = i a(k) = 6.0 k = k + 1 if (i.lt.nrow) then ja(k) = i + 1 a(k) = -1.0 k = k+1 end if 10 continue ia(nrow+1) = k return c---------end-of-diagblk------------------------------------------------ end c----------------------------------------------------------------------- subroutine leftblk(n, nrow, ncol, a, ja, ia) implicit none integer n, nrow, ncol, ja(1:*), ia(1:*) real*8 a(1:*) c----------------------------------------------------------------------- c Generate the subdiagonal block for the problem given. c----------------------------------------------------------------------- integer i, k nrow = 1 + (n-1)/2 ncol = n/2 k = 1 do 10 i = 1, nrow ia(i) = k if (nrow.ne.ncol) then if (i.gt.1) then ja(k) = i-1 a(k) = -1.0 k = k+1 end if end if if (i.le.ncol) then ja(k) = i a(k) = -1.0 k = k+1 end if if (nrow.eq.ncol) then if (i.lt.ncol) then ja(k) = i+1 a(k) = -1.0 k = k+1 end if end if 10 continue ia(nrow+1) = k return c---------end-of-leftblk------------------------------------------------ end c----------------------------------------------------------------------- subroutine rightblk(n, nrow, ncol, a, ja, ia) implicit none integer n, nrow, ncol, ja(1:*), ia(1:*) real*8 a(1:*) integer i, k nrow = 1 + (n-1)/2 ncol = 1 + n/2 k = 1 do 10 i = 1, nrow ia(i) = k if (nrow.eq.ncol) then if (i.gt.1) then ja(k) = i-1 a(k) = -1.0 k = k+1 end if end if ja(k) = i a(k) = -1.0 k = k+1 if (nrow.ne.ncol) then ja(k) = i+1 a(k) = -1.0 k = k+1 end if 10 continue ia(nrow+1) = k c---------end-of-rightblk----------------------------------------------- end sparskit-2.0.0/MATGEN/MISC/markov.f0000644000265600020320000001142106203735300015646 0ustar tilleaadmin program markov c----------------------------------------------------------------------- c c program to generate a Markov chain matrix (to test eigenvalue routines c or algorithms for singular systems (in which case use I-A )) c the matrix models simple random walk on a triangular grid. c see additional comments in subroutine. c ----- c just compile this segment and link to the rest of sparskit c (uses subroutine prtmt from MATGEN) c will create a matrix in the HARWELL/BOEING format and put it in c the file markov.mat c c----------------------------------------------------------------------- parameter (nmax=5000, nzmax= 4*nmax) real*8 a(nzmax) integer ja(nzmax), ia(nmax+1) c character title*72,key*8,type*3 open (unit=11,file='markov.mat') c c read - in grid size - will not accept too large grids. c write (6,'(17hEnter grid-size: ,$)') read *, m if (m*(m+1) .gt. 2*nmax ) then print *, ' m too large - unable to produce matrix ' stop endif c c call generator. c call markgen (m, n, a, ja, ia) c----------------------------------------------------------------------- title=' Test matrix from SPARSKIT - markov chain model ' key = 'randwk01' type = 'rua' iout = 11 job = 2 ifmt = 10 call prtmt (n, n, a, ja, ia, x,'NN',title, * key, type,ifmt, job, iout) stop end c subroutine markgen (m, n, a, ja, ia) c----------------------------------------------------------------------- c matrix generator for a markov model of a random walk on a triang. grid c----------------------------------------------------------------------- c this subroutine generates a test matrix that models a random c walk on a triangular grid. This test example was used by c G. W. Stewart ["{SRRIT} - a FORTRAN subroutine to calculate the c dominant invariant subspaces of a real matrix", c Tech. report. TR-514, University of Maryland (1978).] and in a few c papers on eigenvalue problems by Y. Saad [see e.g. LAA, vol. 34, c pp. 269-295 (1980) ]. These matrices provide reasonably easy c test problems for eigenvalue algorithms. The transpose of the c matrix is stochastic and so it is known that one is an exact c eigenvalue. One seeks the eigenvector of the transpose associated c with the eigenvalue unity. The problem is to calculate the c steady state probability distribution of the system, which is c the eigevector associated with the eigenvalue one and scaled in c such a way that the sum all the components is equal to one. c----------------------------------------------------------------------- c parameters c------------ c on entry : c---------- c m = integer. number of points in each direction. c c on return: c---------- c n = integer. The dimension of the matrix. (In fact n is known c to be equal to (m(m+1))/2 ) c a, c ja, c ia = the matrix stored in CSR format. c c----------------------------------------------------------------------- c Notes: 1) the code will actually compute the transpose of the c stochastic matrix that contains the transition probibilities. c 2) It should also be possible to have a matrix generator c with an additional parameter (basically redefining `half' below c to be another parameter and changing the rest accordingly, but c this is not as simple as it sounds). This is not likely to provide c any more interesting matrices. c----------------------------------------------------------------------- real*8 a(*), cst, pd, pu, half integer ja(*), ia(*) c----------------------------------------------------------------------- data half/0.5d0/ c cst = half/real(m-1) c c --- ix counts the grid point (natural ordering used), i.e., c --- the row number of the matrix. c ix = 0 jax = 1 ia(1) = jax c c sweep y coordinates c do 20 i=1,m jmax = m-i+1 c c sweep x coordinates c do 10 j=1,jmax ix = ix + 1 if (j .eq. jmax) goto 2 pd = cst*real(i+j-1) c c north c a(jax) = pd if (i.eq. 1) a(jax) = a(jax)+pd ja(jax) = ix + 1 jax = jax+1 c east a(jax) = pd if (j .eq. 1) a(jax) = a(jax)+pd ja(jax) = ix + jmax jax = jax+1 c south 2 pu = half - cst*real(i+j-3) if ( j .gt. 1) then a(jax) = pu ja(jax) = ix-1 jax = jax+1 endif c west if ( i .gt. 1) then a(jax) = pu ja(jax) = ix - jmax - 1 jax = jax+1 endif ia(ix+1) = jax 10 continue 20 continue n = ix return end sparskit-2.0.0/MATGEN/MISC/rzlatev.f0000644000265600020320000000600006203735300016033 0ustar tilleaadmin program zlatev c----------------------------------------------------------------------- c c test suite for zlatev matrices. generates three matrices and c writes them in three different files in Harwell-Boeing format. c zlatev1.mat produced from matrf2 c zlatev2.mat produced from dcn c zlatev3.mat produced from ecn c c----------------------------------------------------------------------- parameter (nmax = 1000, nzmax=20*nmax) implicit real*8 (a-h,o-z) integer ia(nzmax), ja(nzmax), iwk(nmax) real*8 a(nzmax) character title*72, key*3,type*8, guesol*2 c open (unit=7,file='zlatev1.mat') open (unit=8,file='zlatev2.mat') open (unit=9,file='zlatev3.mat') c m = 100 n = m ic = n/2 index = 10 alpha = 5.0 nn = nzmax c c call matrf2 c call matrf2(m,n,ic,index,alpha,nn,nz,a,ia,ja,ierr) job = 1 c do 110 i = 1, nz c print *, ia(i), ja(i), a(i) c 110 continue call coicsr(n, nz, job, a, ja, ia, iwk) c----- title = ' 1st matrix from zlatev examples ' type = 'RUA' key = ' ZLATEV1' iout = 7 guesol='NN' c ifmt = 3 job = 2 c c write result in H-B format. c c Replaces prtmt with smms in order to print matrix in format for c SMMS instead. c call smms (n,1,n,0,a,ja,ia,iout) call prtmt (n,n,a,ja,ia,rhs,guesol,title,type,key, 1 ifmt,job,iout) c-------- second type of matrices dcn matrices --------------- n = 200 nn = nzmax ic = 20 c------------------------------------------------------- c matrix of the type e(c,n) c------------------------------------------------------- call dcn(a,ia,ja,n,ne,ic,nn,ierr) c--------------------------------------------------- call coicsr(n, ne, job, a, ja, ia, iwk) title = ' 2nd matrix from zlatev examples ' iout = iout+1 guesol='NN' type = 'RUA' key = ' ZLATEV2' c ifmt = 3 job = 2 c c write result in second file c c Replaced prtmt with smms in order to print matrix in format for c SMMS instead. c call smms (n,1,n,0,a,ja,ia,iout) call prtmt (n,n,a,ja,ia,rhs,guesol,title,type,key, 1 ifmt,job,iout) c------------------------------------------------------- c matrix of the type e(c,n) c------------------------------------------------------- n = 200 ic = 20 nn = nzmax c c call ecn c call ecn(n,ic,ne,ia,ja,a,nn,ierr) call coicsr(n, ne, job, a, ja, ia, iwk) title = ' 3nd matrix from zlatev examples ' guesol='NN' type = 'RUA' key = ' ZLATEV3' iout = iout+1 c ifmt = 3 job = 2 c c write resulting matrix in third file c c Replaced prtmt with smms in order to print matrix in format for c SMMS instead. c call smms (n,1,n,0,a,ja,ia,iout) call prtmt (n,n,a,ja,ia,rhs,guesol,title,type,key, 1 ifmt,job,iout) stop end sparskit-2.0.0/MATGEN/MISC/rsobel.f0000644000265600020320000000071306203735300015637 0ustar tilleaadmin program rsobel integer n, ia(1:200), ja(1:1000), ib(1:200), jb(1:1000) integer nrowc, ncolc integer ic(1:200), jc(1:1000), ierr real*8 a(1:1000), b(1:1000), c(1:1000) write (*, '(1x, 9hInput n: ,$)') read *, n call sobel(n,nrowc,ncolc,c,jc,ic,a,ja,ia,b,jb,ib,1000,ierr) print *, 'ierr =', ierr print *, 'Nrow =', nrowc, ' Ncol =', ncolc call dump(1, nrowc, .true., c, jc, ic, 6) end sparskit-2.0.0/MATGEN/MISC/README0000644000265600020320000000110006203735277015066 0ustar tilleaadminThis directory contains the last two test problems as described in README of the directory above this one. zlatev.f : three different codes to generate matrices from the Zlatev et. al. paper (see above). Contributed by E. Rothman (Cornell). rzlatev.f : driver for a test program for the zlatev code. makzlatev : makefiles. See above for details. markov.f : a main program followed by a subroutine to generate markov chain matrices modeling random walk on a triang. grid. There is one parameter to the subroutine. sparskit-2.0.0/MATGEN/FEM/0000755000265600020320000000000011301043350014045 5ustar tilleaadminsparskit-2.0.0/MATGEN/FEM/functns2.f0000644000265600020320000001220506203735272015776 0ustar tilleaadminc----------------------------------------------------------------------- c contains the functions needed for defining the PDE poroblems. c c first for the scalar 5-point and 7-point PDE c----------------------------------------------------------------------- function afun (x,y,z) real*8 afun, x,y,z afun = -1.0 return end function bfun (x,y,z) real*8 bfun, x,y,z bfun = -1.0 return end function cfun (x,y,z) real*8 cfun, x,y,z cfun = -1.0d0 return end function dfun (x,y,z) real*8 dfun, x,y,z dfun = 10.d0 return end function efun (x,y,z) real*8 efun, x,y,z efun = 0.0d0 return end function ffun (x,y,z) real*8 ffun, x,y,z ffun = 0.0 return end function gfun (x,y,z) real*8 gfun, x,y,z gfun = 0.0 return end function hfun(x, y, z) real*8 hfun, x, y, z hfun = 0.0 return end function betfun(side, x, y, z) real*8 betfun, x, y, z character*2 side betfun = 1.0 return end function gamfun(side, x, y, z) real*8 gamfun, x, y, z character*2 side if (side.eq.'x2') then gamfun = 5.0 else if (side.eq.'y1') then gamfun = 2.0 else if (side.eq.'y2') then gamfun = 7.0 else gamfun = 0.0 endif return end c----------------------------------------------------------------------- c functions for the block PDE's c----------------------------------------------------------------------- subroutine afunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue coeff((j-1)*nfree+j) = -1.0d0 2 continue return end subroutine bfunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue coeff((j-1)*nfree+j) = -1.0d0 2 continue return end subroutine cfunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue coeff((j-1)*nfree+j) = -1.0d0 2 continue return end subroutine dfunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue 2 continue return end subroutine efunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue 2 continue return end subroutine ffunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue 2 continue return end subroutine gfunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue 2 continue return end c----------------------------------------------------------------------- c The material property function xyk for the c finite element problem c----------------------------------------------------------------------- c subroutine xyk(nel,xyke,x,y,ijk,node) c implicit real*8 (a-h,o-z) c dimension xyke(2,2), x(*), y(*), ijk(node,*) cc cc this is the identity matrix. cc c xyke(1,1) = 1.0d0 c xyke(2,2) = 1.0d0 c xyke(1,2) = 0.0d0 c xyke(2,1) = 0.0d0 cc c return c end c subroutine xyk (xyke, x, y) implicit real*8(a-h,o-z) dimension xyke(2,2) xyke(1,1) = 1. xyke(1,1) = exp(x+y) xyke(1,2) = 0. xyke(2,1) = 0. xyke(2,2) = 1. xyke(2,2) = exp(x+y) return end function funb(x,y) implicit real*8(a-h,o-z) funb = 0. funb = 2.5 funb = 2*x return end function func(x,y) implicit real*8(a-h,o-z) func = 0. func = -1.5 func = -5*y return end function fung(x,y) c Right hand side corresponding to the exact solution of c u = exp(x+y)*x*(1.-x)*y*(1.-y) c (That exact solution is defined in the function exact) implicit real*8(a-h,o-z) c fung = 1. + x c fung = 2*y*(1.-y) + 2*x*(1.-x) c fung = 2*y*(1.-y) + 2*x*(1.-x) +2.5*(1-2*x)*y*(1-y) c 1 - 1.5*(1.-2*y)*x*(1-x) r = exp(x+y) fung = r*r*((x*x+3.*x)*y*(1.-y) + 1 (y*y+3.*y)*x*(1.-x)) 2 + r*(r-2.*x)*(x*x+x-1.)*y*(1.-y) 3 + r*(r+5.*y)*(y*y+y-1.)*x*(1.-x) return end function exact(x,y) C Exact Solution. implicit real*8(a-h,o-z) exact = exp(x+y)*x*(1.-x)*y*(1.-y) return end sparskit-2.0.0/MATGEN/FEM/femgen.f0000644000265600020320000006137106731661721015510 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c MATRIX GENERATION ROUTINES - FINITE ELEMENT MATRICES c c----------------------------------------------------------------------c c contents: c c---------- c c genfea : generates finite element matrices in assembled form c c genfea_wbc : generates finite element matrices in assembled form c c without applying the boundary conditions c c genfeu : generates finite element matrices in unassembled form c c genfeu_wbc : generates finite element matrices in unassembled form c c without applying the boundary conditions c c genfeu_lstif : generates finite element matrices in unassembled form c c using the lstif problem appearing in elmtlib2.f c c assmb1 : assembles an unassembled matrix (produced by genfeu) c c----------------------------------------------------------------------c subroutine genfea (nx,nelx,node,job,x,y,ijk,nodcode,fs,nint, * a,ja,ia,f,iwk,jwk,ierr,xyk) c----------------------------------------------------------------------- c this subroutine generates a finite element matrix in assembled form. c the matrix is assembled in compressed sparse row format. See genfeu c for matrices in unassembled form. The user must provide the grid, c (coordinates x, y and connectivity matrix ijk) as well as some c information on the nodes (nodcode) and the material properties c (the function K(x,y) above) in the form of a subroutine xyk. c---------------------------------------------------------------------- c c on entry: c --------- c c nx = integer . the number of nodes in the grid . c nelx = integer . the number of elements in the grid. c node = integer = the number of nodes per element (should be c set to three in this version). also the first dimension c of ijk c job = integer. If job=0, it is assumed that there is no heat c source (i.e. fs = 0) and the right hand side c produced will therefore be a zero vector. c If job = 1 on entry then the contributions from the c heat source in each element are taken into account. c c x, y = two real arrays containing the coordinates of the nodes. c c ijk = an integer array containing the connectivity matrix. c ijk(i,nel), i=1,2,..node, is the list of the nodes c constituting the element nel, ans listed in c counter clockwise order. c c nodcode = an integer array containing the boundary information for c each node with the following meaning. c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner node. [This node and the c corresponmding element are discarded.] c c fs = real array of length nelx on entry containing the heat c source for each element (job = 1 only) c c xyk = subroutine defining the material properties at each c element. Form: c call xyk(nel,xyke,x,y,ijk,node) with on return c xyke = material constant matrices. c for each element nel, xyke(1,nel),xyke(2,nel) c and xyke(3,nel) represent the constants c K11, K22, and K12 at that element. c c on return c --------- c nint = integer. The number of active (nonboundary) nodes. Also c equal to the dimension of the assembled matrix. c c a, ja, ia = assembled matrix in compressed sparse row format. c c f = real array containing the right hand for the linears c system to solve. c c ierr = integer. Error message. If (ierr .ne. 0) on return c it means that one of the elements has a negative or zero c area probably because of a bad ordering of the nodes c (see ijk above). Use the subroutine chkelmt to reorder c the nodes properly if necessary. c iwk, jwk = two integer work arrays of length nx each. c c----------------------------------------------------------------------- real*8 a(*),x(*),y(*),f(*),fs(*) integer ijk(node,*), nodcode(*),ia(*),ja(*),iwk(*),jwk(*) external xyk, funb, func, fung c ierr = 0 c c take into boundary conditions to remove boundary nodes. c call bound (nx,nelx,ijk,nodcode,node,nint,jwk, * x,y,f,iwk) c c assemble the matrix c call assmbo (nx,nelx,node,ijk,nodcode,x,y, * a,ja,ia,f,iwk,jwk,ierr,xyk, funb, func, fung) c c if applicable (job .eq. 1) get heat source function c indic = 1 if (job .eq. 1) * call hsourc (indic,nx,nelx,node,x,y,ijk,fs,f) c c call diric for Dirichlet conditions c call diric(nx,nint,a,ja,ia,f) c done return c------end of genfea --------------------------------------------------- c----------------------------------------------------------------------- end subroutine genfea_wbc (nx,nelx,node,job,x,y,ijk,nodcode,fs, * a,ja,ia,f,iwk,jwk,ierr,xyk) c----------------------------------------------------------------------- c this subroutine generates a finite element matrix in assembled form. c the matrix is assembled in compressed sparse row format. See genfeu c for matrices in unassembled form. The user must provide the grid, c (coordinates x, y and connectivity matrix ijk) as well as some c information on the nodes (nodcode) and the material properties c (the function K(x,y) above) in the form of a subroutine xyk. c---------------------------------------------------------------------- c Irene Moulitsas, moulitsa@cs.umn.edu : It does not apply boundary c conditions; variable nint is eliminated c---------------------------------------------------------------------- c c on entry: c --------- c c nx = integer . the number of nodes in the grid . c nelx = integer . the number of elements in the grid. c node = integer = the number of nodes per element (should be c set to three in this version). also the first dimension c of ijk c job = integer. If job=0, it is assumed that there is no heat c source (i.e. fs = 0) and the right hand side c produced will therefore be a zero vector. c If job = 1 on entry then the contributions from the c heat source in each element are taken into account. c c x, y = two real arrays containing the coordinates of the nodes. c c ijk = an integer array containing the connectivity matrix. c ijk(i,nel), i=1,2,..node, is the list of the nodes c constituting the element nel, ans listed in c counter clockwise order. c c nodcode = an integer array containing the boundary information for c each node with the following meaning. c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner node. [This node and the c corresponmding element are discarded.] c c fs = real array of length nelx on entry containing the heat c source for each element (job = 1 only) c c xyk = subroutine defining the material properties at each c element. Form: c call xyk(nel,xyke,x,y,ijk,node) with on return c xyke = material constant matrices. c for each element nel, xyke(1,nel),xyke(2,nel) c and xyke(3,nel) represent the constants c K11, K22, and K12 at that element. c c on return c --------- c a, ja, ia = assembled matrix in compressed sparse row format. c c f = real array containing the right hand for the linears c system to solve. c c ierr = integer. Error message. If (ierr .ne. 0) on return c it means that one of the elements has a negative or zero c area probably because of a bad ordering of the nodes c (see ijk above). Use the subroutine chkelmt to reorder c the nodes properly if necessary. c iwk, jwk = two integer work arrays of length nx each. c c----------------------------------------------------------------------- real*8 a(*),x(*),y(*),f(*),fs(*) integer ijk(node,*), nodcode(*),ia(*),ja(*),iwk(*),jwk(*) external xyk, funb, func, fung c ierr = 0 c c assemble the matrix c call assmbo (nx,nelx,node,ijk,nodcode,x,y, * a,ja,ia,f,iwk,jwk,ierr,xyk, funb, func, fung) c c if applicable (job .eq. 1) get heat source function c indic = 1 if (job .eq. 1) * call hsourc (indic,nx,nelx,node,x,y,ijk,fs,f) c c done return c------end of genfea_wbc ----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine genfeu (nx,nelx,node,job,x,y,ijk,nodcode,fs, * nint,a,na,f,iwk,jwk,ierr,xyk) c----------------------------------------------------------------------- c this subroutine generates finite element matrices for heat c condution problem c c - Div ( K(x,y) Grad u ) = f c u = 0 on boundary c c (with Dirichlet boundary conditions). The matrix is returned c in unassembled form. The user must provide the grid, c (coordinates x, y and connectivity matrix ijk) as well as some c information on the nodes (nodcode) and the material properties c (the function K(x,y) above) in the form of a subroutine xyk. c c---------------------------------------------------------------------- c c on entry: c --------- c c nx = integer . the number of nodes in the grid . c nelx = integer . the number of elements in the grid. c node = integer = the number of nodes per element (should be c set to three in this version). also the first dimension c of ijk c job = integer. If job=0, it is assumed that there is no heat c source (i.e. fs = 0) and the right hand side c produced will therefore be a zero vector. c If job = 1 on entry then the contributions from the c heat source in each element are taken into account. c c na = integer. The first dimension of the array a. c a is declared as an array of dimension a(na,node,node). c c x, y = two real arrays containing the coordinates of the nodes. c c ijk = an integer array containing the connectivity matrix. c ijk(i,nel), i=1,2,..node, is the list of the nodes c constituting the element nel, ans listed in c counter clockwise order. c c xyk = subroutine defining the material properties at each c element. Form: c call xyk(nel,xyke,x,y,ijk,node) with on return c xyke = material constant matrices. c for each element nel, xyke(1,nel),xyke(2,nel) c and xyke(3,nel) represent the constants c K11, K22, and K12 at that element. c c nodcode = an integer array containing the boundary information for c each node with the following meaning. c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner node. [This node and the c corresponmding element are discarded.] c c fs = real array of length nelx on entry containing the heat c source for each element (job = 1 only) c c on return c --------- c nint = integer. The number of active (nonboundary) nodes. Also c equal to the dimension of the assembled matrix. c c a = matrix in unassembled form. a(nel,*,*) contains the c element matrix for element nel. c c f = real array containing the right hand for the linears c system to solve, in assembled form. c c ierr = integer. Error message. If (ierr .ne. 0) on return c it means that one of the elements has a negative or zero c area probably because of a bad ordering of the nodes c (see ijk above). Use the subroutine chkelmt to reorder c the nodes properly if necessary. c iwk, jwk = two integer work arrays of length nx each. c c----------------------------------------------------------------------- real*8 a(na,node,node),x(*),y(*),f(*), fs(*) integer ijk(node,*), nodcode(*),iwk(*),jwk(*) external xyk c ierr = 0 c c take boundary conditions into account to move boundary nodes to c the end.. c call bound (nx,nelx,ijk,nodcode,node,nint,jwk, * x,y,f,iwk) c c assemble the matrix c call unassbl (a,na,f,nx,nelx,ijk,nodcode, * node,x,y,ierr,xyk) c c if applicable (job .eq. 1) get heat source function c indic = 0 if (job .eq. 1) * call hsourc (indic,nx,nelx,node,x,y,ijk,fs,f) c c done c return end c----- end of genfeu ---------------------------------------------------- subroutine genfeu_wbc (nx,nelx,node,job,x,y,ijk,nodcode,fs, * a,na,f,iwk,jwk,ierr,xyk) c----------------------------------------------------------------------- c this subroutine generates finite element matrices for heat c condution problem c c - Div ( K(x,y) Grad u ) = f c u = 0 on boundary c c (with Dirichlet boundary conditions). The matrix is returned c in unassembled form. The user must provide the grid, c (coordinates x, y and connectivity matrix ijk) as well as some c information on the nodes (nodcode) and the material properties c (the function K(x,y) above) in the form of a subroutine xyk. c c---------------------------------------------------------------------- c moulitsa@cs : It does not apply boundary conditions c variable nint is eliminated c---------------------------------------------------------------------- c c on entry: c --------- c c nx = integer . the number of nodes in the grid . c nelx = integer . the number of elements in the grid. c node = integer = the number of nodes per element (should be c set to three in this version). also the first dimension c of ijk c job = integer. If job=0, it is assumed that there is no heat c source (i.e. fs = 0) and the right hand side c produced will therefore be a zero vector. c If job = 1 on entry then the contributions from the c heat source in each element are taken into account. c c na = integer. The first dimension of the array a. c a is declared as an array of dimension a(na,node,node). c c x, y = two real arrays containing the coordinates of the nodes. c c ijk = an integer array containing the connectivity matrix. c ijk(i,nel), i=1,2,..node, is the list of the nodes c constituting the element nel, ans listed in c counter clockwise order. c c xyk = subroutine defining the material properties at each c element. Form: c call xyk(nel,xyke,x,y,ijk,node) with on return c xyke = material constant matrices. c for each element nel, xyke(1,nel),xyke(2,nel) c and xyke(3,nel) represent the constants c K11, K22, and K12 at that element. c c nodcode = an integer array containing the boundary information for c each node with the following meaning. c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner node. [This node and the c corresponmding element are discarded.] c c fs = real array of length nelx on entry containing the heat c source for each element (job = 1 only) c c on return c --------- c a = matrix in unassembled form. a(nel,*,*) contains the c element matrix for element nel. c c f = real array containing the right hand for the linears c system to solve, in assembled form. c c ierr = integer. Error message. If (ierr .ne. 0) on return c it means that one of the elements has a negative or zero c area probably because of a bad ordering of the nodes c (see ijk above). Use the subroutine chkelmt to reorder c the nodes properly if necessary. c iwk, jwk = two integer work arrays of length nx each. c c----------------------------------------------------------------------- real*8 a(na,node,node),x(*),y(*),f(*), fs(*) integer ijk(node,*), nodcode(*),iwk(*),jwk(*) external xyk c ierr = 0 c c assemble the matrix c call unassbl (a,na,f,nx,nelx,ijk,nodcode, * node,x,y,ierr,xyk) c c if applicable (job .eq. 1) get heat source function c indic = 0 if (job .eq. 1) * call hsourc (indic,nx,nelx,node,x,y,ijk,fs,f) c c done c return end c----- end of genfeu_wbc ----------------------------------------------- subroutine genfeu_lstif (nx,nelx,node,job,x,y,ijk,nodcode,fs, * a,na,f,iwk,jwk,ierr,xyk) c----------------------------------------------------------------------- c this subroutine generates finite element matrices using unassmbl_lstif. c The matrix is returned in unassembled form. c The user must provide the grid, coordinates x, y and connectivity matrix c ijk) as well as some information on the nodes (nodcode) and the material c properties (the function K(x,y) above) in the form of a subroutine xyk. c c---------------------------------------------------------------------- c moulitsa@cs.umn.edu : It does not apply boundary conditions c variable nint is eliminated c---------------------------------------------------------------------- c c on entry: c --------- c c nx = integer . the number of nodes in the grid . c nelx = integer . the number of elements in the grid. c node = integer = the number of nodes per element (should be c set to three in this version). also the first dimension c of ijk c job = integer. If job=0, it is assumed that there is no heat c source (i.e. fs = 0) and the right hand side c produced will therefore be a zero vector. c If job = 1 on entry then the contributions from the c heat source in each element are taken into account. c c na = integer. The first dimension of the array a. c a is declared as an array of dimension a(na,node,node). c c x, y = two real arrays containing the coordinates of the nodes. c c ijk = an integer array containing the connectivity matrix. c ijk(i,nel), i=1,2,..node, is the list of the nodes c constituting the element nel, ans listed in c counter clockwise order. c c xyk = subroutine defining the material properties at each c element. Form: c call xyk(nel,xyke,x,y,ijk,node) with on return c xyke = material constant matrices. c for each element nel, xyke(1,nel),xyke(2,nel) c and xyke(3,nel) represent the constants c K11, K22, and K12 at that element. c c nodcode = an integer array containing the boundary information for c each node with the following meaning. c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner node. [This node and the c corresponmding element are discarded.] c c fs = real array of length nelx on entry containing the heat c source for each element (job = 1 only) c c on return c --------- c a = matrix in unassembled form. a(nel,*,*) contains the c element matrix for element nel. c c f = real array containing the right hand for the linears c system to solve, in assembled form. c c ierr = integer. Error message. If (ierr .ne. 0) on return c it means that one of the elements has a negative or zero c area probably because of a bad ordering of the nodes c (see ijk above). Use the subroutine chkelmt to reorder c the nodes properly if necessary. c iwk, jwk = two integer work arrays of length nx each. c c----------------------------------------------------------------------- real*8 a(na,node,node),x(*),y(*),f(*), fs(*) integer ijk(node,*), nodcode(*),iwk(*),jwk(*) external xyk, funb, func, fung c ierr = 0 c c assemble the matrix c call unassbl_lstif (a,na,f,nx,nelx,ijk,nodcode, * node,x,y,ierr,xyk,funb,func,fung) c c if applicable (job .eq. 1) get heat source function c indic = 0 if (job .eq. 1) * call hsourc (indic,nx,nelx,node,x,y,ijk,fs,f) c c done c return end c----- end of genfeu_lstif --------------------------------------------- c----------------------------------------------------------------------- subroutine assmb1 (u,nu,a,ja,ia,fu,f,nx,nelx,ijk,nodcode, * node,iwk,jwk) c-------------------------------------------------------------- c u = unassembled matrix u(na,node,node) c nu = 1-st dimension of u c a,ja,ia= assembled matrix on output c fu = unassembled right hand side c f = right hand side (global load vector) assembled c nx = number of nodes at input c nelx = number of elements at input c ijk = connectivity matrix: for node k, ijk(*,k) point to the c nodes of element k. c node = total number of nodal points in each element c c nodcode= boundary information list for each node with the c following meaning: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point (corner points c c x,y = real*8 arrays containing the $x$ and $y$ coordinates c resp. of the nodes. c K11, K22, and K12 at that element. c iwk,jwk = two integer work arrays. c ierr = error message integer . c ierr = 0 --> normal return c ierr = 1 --> negative area encountered (due to bad c numbering of nodes of an element- see c message printed in unit iout). not used.. c iout = output unit (not used here). c-------------------------------------------------------------- implicit real*8 (a-h,o-z) real*8 u(nu,node,node),a(*),fu(node,*),f(*) integer ja(*),ia(*),ijk(node,*),iwk(*),jwk(*),nodcode(*) c max number of nonzeros per row allowed = 200 c-------------------------------------------------------------- c initialize c-------------------------------------------------------------- do 100 i=1,nx f(i) = 0.0d0 100 continue c c initialize pointer arrays. c do 5 k=1,nx+1 ia(k) = 1 jwk(k) = 0 5 continue do 6 k=1,nelx do 59 j=1,node knod = ijk(j,k) ia(knod) = ia(knod) + 1 59 continue 6 continue c--------------------------------------------------- do 7 k=1, nx if (nodcode(k) .ge.1 ) ia(k)=ia(k)+1 7 continue c ksav = ia(1) ia(1) = 1 do 101 j=2, nx+1 ksavn = ia(j) ia(j) = ia(j-1) + ksav iwk(j-1) = ia(j-1)-1 ksav = ksavn 101 continue c----------------- c main loop c----------------- do 102 nel=1, nelx c c get nodal points c do 120 ka=1, node ii = ijk(ka,nel) f(ii) = f(ii) + fu(ka,nel) c c unpack row into jwk1 c irowst = ia(ii) ilast = iwk(ii) do 109 k=irowst,ilast jwk(ja(k)) = k 109 continue c do 108 kb = 1,node c c column number = jj c jj = ijk(kb,nel) k = jwk(jj) if (k .eq. 0) then ilast = ilast+1 jwk(jj) = ilast ja(ilast) = jj a(ilast) = u(nel,ka,kb) else a(k) = a(k) + u(nel,ka,kb) endif 108 continue c refresh jwk do 119 k=irowst,ilast jwk(ja(k)) = 0 119 continue iwk(ii) = ilast 120 continue c 102 continue return c---------end-of-assmb1---------------------------------------------- end c-------------------------------------------------------------------- sparskit-2.0.0/MATGEN/FEM/meshes.f0000644000265600020320000007716406731661723015544 0ustar tilleaadmin subroutine inmesh (nmesh,iin,nx,nelx,node,x,y,nodcode,ijk,iperm) implicit none real*8 x(*),y(*) integer nmesh,iin,nx,nelx,node,nodcode(nx),ijk(node,nelx), * iperm(nx) c----------------------------------------------------------------------- c this subroutine selects and initializes a mesh among a few c choices. So far there are 9 initial meshes provided and the user can c also enter his own mesh as a 10th option. c c on entry: c--------- c nmesh = integer indicating the mesh chosen. nmesh=1,...,9 c corresponds to one of the 9 examples supplied by c SPARSKIT. nmesh = 0 is a user supplied initial mesh. c see below for additional information for the format. c iin = integer containing the I/O unit number where to read c the data from in case nmesh = 1. A dummy integer c otherwise. c node = integer = the number of nodes per element (should be c set to node=3 in this version). node is also the first c dimension of the array ijk. c c on return c --------- c nx = integer . the number of nodes c nelx = integer . the number of elements c x, y = two real arrays containing the coordinates of the nodes. c nodcode = an integer array containing the boundary information for c each node with the following meaning. c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner node. c c ijk(node,*)= an integer array containing the connectivity matrix. c c----------------------------------------------------------------------- c format for user supplied mesh (when nmesh = 7) c c option nmesh = 0, is a user definied initial mesh. c--------- c format is as follows: c line 1: two integers, the first containing the number of nodes c the second the number of elements. c line 2: to line nx+1: node information. c enter the following, one line per node: c * the number of the node in the numbering chosen (integer c taking the values 1 to nx), followed by, c * the coordinates of the nodes (2 reals) followed by c the boundary information, an integer taking one of the c values 0, 1, or 2, with the meaning explained above. c c line nx+2 to nx+nelx+1: connectivity matrix c enter the following one line per element: c * number of the element in the numbering chosen, followed by c * The three numbers of the nodes (according to the above numbering c of the nodes) that constitute the element, in a counter clock-wise c order (this is in fact not important since it is checked by the c subroutine chkelemt). c c AN EXAMPLE: consisting on one single element (a triangle) c------------ c 3 1 c 1 0.0000 0.0000 2 c 2 4.0000 0.0000 2 c 3 0.0000 4.0000 2 c 1 1 2 3 c c----------------------------------------------------------------------- c local variables integer i, j, ii c c print *, ' ----- nmesh = ', nmesh goto (10,1,2,3,4,5,6,7,8,9) nmesh+1 1 continue call fmesh1 (nx,nelx,node,x,y,nodcode,ijk) goto 18 2 continue call fmesh2 (nx,nelx,node,x,y,nodcode,ijk) goto 18 3 continue call fmesh3 (nx,nelx,node,x,y,nodcode,ijk) goto 18 4 continue call fmesh4 (nx,nelx,node,x,y,nodcode,ijk) goto 18 5 continue call fmesh5 (nx,nelx,node,x,y,nodcode,ijk) goto 18 6 continue call fmesh6 (nx,nelx,node,x,y,nodcode,ijk) goto 18 7 continue call fmesh7 (nx,nelx,node,x,y,nodcode,ijk,iperm) goto 18 8 continue call fmesh8 (nx,nelx,node,x,y,nodcode,ijk,iperm) goto 18 9 continue call fmesh9(nx,nelx,node,x,y,nodcode,ijk,iperm) goto 18 10 continue c c-------option 0 : reading mesh from IO unit iin. c read (iin,*) nx, nelx c do 16 i=1,nx read(iin,*) ii,x(ii),y(ii),nodcode(ii) 16 continue do 17 i=1,nelx read(iin,*) ii,(ijk(j,ii),j=1,node) if (ii. gt. nelx) nelx = ii 17 continue c----------------------------------------------------------------------- 18 continue c and return return c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine fmesh1 (nx,nelx,node,x,y,nodcode,ijk) c-------------------------------------------------------------- c c initial mesh for a simple square with two elemnts c 3 4 c -------------- c | . | c | 2 . | c | . | c | . 1 | c | . | c -------------- c 1 2 c-------------------------------------------------------------- c input parameters: node = first dimensoin of ijk (must be .ge. 3) c output parameters: c nx = number of nodes c nelx = number of elemnts c (x(1:nx), y(1:nx)) = coordinates of nodes c nodcode(1:nx) = integer code for each node with the c following meening: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point. c ijk(1:3,1:nelx) = connectivity matrix. for a given element c number nel, ijk(k,nel), k=1,2,3 represent the nodes c composing the element nel. c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension x(*),y(*),nodcode(*),ijk(node,*) real*8 x1(4),y1(4) integer ijk1(2),ijk2(2),ijk3(2) c-------------------------------------------------------------- c coordinates of nodal points c-------------------------------------------------------------- data x1/0.0, 1.0, 0.0, 1.0/ data y1/0.0, 0.0, 1.0, 1.0/ c c------------------|--| c elements 1 2 c------------------|--| data ijk1 /1, 1/ data ijk2 /2, 4/ data ijk3 /4, 3/ c nx = 4 c do 1 k=1, nx x(k) = x1(k) y(k) = y1(k) nodcode(k) = 1 1 continue c nodcode(2) = 2 nodcode(3) = 2 c nelx = 2 c do 2 k=1,nelx ijk(1,k) = ijk1(k) ijk(2,k) = ijk2(k) ijk(3,k) = ijk3(k) 2 continue c return end c----------------------------------------------------------------------- subroutine fmesh2 (nx,nelx,node,x,y,nodcode,ijk) c--------------------------------------------------------------- c initial mesh for a simple D-shaped region with 4 elemnts c 6 c | . c | . c | . c | 4 . c | . c 4 -------------- 5 c | . | c | 3 . | c | . | c | . 2 | c | . | c -------------- c | 2 . 3 c | . c | 1 . c | . c | . c |. c 1 c-------------------------------------------------------------- c input parameters: node = first dimensoin of ijk (must be .ge. 3) c output parameters: c nx = number of nodes c nelx = number of elemnts c (x(1:nx), y(1:nx)) = coordinates of nodes c nodcode(1:nx) = integer code for each node with the c following meening: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point. c ijk(1:3,1:nelx) = connectivity matrix. for a given element c number nel, ijk(k,nel), k=1,2,3 represent the nodes c composing the element nel. c c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension x(*),y(*),nodcode(*),ijk(node,*) real*8 x1(6),y1(6) integer ijk1(4),ijk2(4),ijk3(4) c-------------------------------------------------------------- c coordinates of nodal points c-------------------------------------------------------------- data x1/0.0, 0.0, 1.0, 0.0, 1.0, 0.0/ data y1/0.0, 1.0, 1.0, 2.0, 2.0, 3.0/ c c------------------|--|--|--| c elements 1 2 3 4 c------------------|--|--|--| data ijk1 /1, 2, 2, 4/ data ijk2 /3, 3, 5, 5/ data ijk3 /2, 5, 4, 6/ c nx = 6 c do 1 k=1, nx x(k) = x1(k) y(k) = y1(k) nodcode(k) = 1 1 continue c nelx = 4 c do 2 k=1,nelx ijk(1,k) = ijk1(k) ijk(2,k) = ijk2(k) ijk(3,k) = ijk3(k) 2 continue c return end c----------------------------------------------------------------------- subroutine fmesh3 (nx,nelx,node,x,y,nodcode,ijk) c--------------------------------------------------------------- c initial mesh for a C-shaped region composed of 10 elements -- c c c 10 11 12 c --------------------------- c | . | . | c | 7 . | 9 . | c | . | . | c | . 8 | . 10 | c | . | . | c 7 --------------------------- c | . |8 9 c | 5 . | c | . | c | . 6 | c 4 | . |5 6 c --------------------------- c | . | . | c | 1 . | 3 . | c | . | . | c | . 2 | . 4 | c | . | . | c --------------------------- c 1 2 3 c c-------------------------------------------------------------- c input parameters: node = first dimensoin of ijk (must be .ge. 3) c nx = number of nodes c nelx = number of elemnts c (x(1:nx), y(1:nx)) = coordinates of nodes c nodcode(1:nx) = integer code for each node with the c following meening: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point. c ijk(1:3,1:nelx) = connectivity matrix. for a given element c number nel, ijk(k,nel), k=1,2,3 represent the nodes c composing the element nel. c c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension x(*),y(*),nodcode(*),ijk(node,*) real*8 x1(12),y1(12) integer ijk1(10),ijk2(10),ijk3(10) c-------------------------------------------------------------- c coordinates of nodal points c-------------------------------------------------------------- data x1/0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0/ data y1/0.0,0.0,0.0,1.0,1.0,1.0,2.0,2.0,2.0,3.0,3.0,3.0/ c c------------------|--|--|--|--|--|--|---|---|---| c elements 1 2 3 4 5 6 7 8 9 10 c------------------|--|--|--|--|--|--|---|---|---| data ijk1 /1, 1, 2, 2, 4, 4, 7, 7, 8, 8/ data ijk2 /5, 2, 6, 3, 8, 5, 11, 8, 12, 9/ data ijk3 /4, 5, 5, 6, 7, 8, 10, 11,11, 12/ c nx = 12 c do 1 k=1, nx x(k) = x1(k) y(k) = y1(k) nodcode(k) = 1 1 continue c nodcode(3) = 2 nodcode(10) = 2 nodcode(9) = 2 c nelx = 10 c do 2 k=1,nelx ijk(1,k) = ijk1(k) ijk(2,k) = ijk2(k) ijk(3,k) = ijk3(k) 2 continue c return end c----------------------------------------------------------------------- subroutine fmesh4 (nx,nelx,node,x,y,nodcode,ijk) c----------------------------------------------------------------------- c initial mesh for a C-shaped region composed of 10 elements -- c 10 11 c +------------------+ . c | . | . c | . 8 | . 12 c | . | 9 . | c | 7 . | . | c 7 | . | . 10 | c -------------------+--------+ 9 c | .| 8 c | 5 . | c | . | c | . 6 | c |. | 5 6 c 4 +------------------+--------+ c | . | . 4 | c | 1 . | . | c | . | 3 .| 3 c | . 2 | . c | . | . c -------------------- c 1 2 c-------------------------------------------------------------- c input parameters: node = first dimensoin of ijk (must be .ge. 3) c nx = number of nodes c nelx = number of elemnts c (x(1:nx), y(1:nx)) = coordinates of nodes c nodcode(1:nx) = integer code for each node with the c following meening: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point. c ijk(1:3,1:nelx) = connectivity matrix. for a given element c number nel, ijk(k,nel), k=1,2,3 represent the nodes c composing the element nel. c c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension x(*),y(*),nodcode(*),ijk(node,*) real*8 x1(12),y1(12) integer ijk1(10),ijk2(10),ijk3(10) c-------------------------------------------------------------- c coordinates of nodal points c-------------------------------------------------------------- data x1/0.0,1.0,1.5,0.0,1.0,1.5,0.0,1.0,1.5,0.0,1.0,1.5/ data y1/0.0,0.0,0.5,1.0,1.0,1.0,2.0,2.0,2.0,3.0,3.0,2.5/ c c------------------|--|--|--|--|--|--|---|---|---| c elements 1 2 3 4 5 6 7 8 9 10 c------------------|--|--|--|--|--|--|---|---|---| data ijk1 /1, 1, 2, 5, 4, 4, 7, 10, 8, 8/ data ijk2 /5, 2, 3, 3, 8, 5, 8, 8, 12, 9/ data ijk3 /4, 5, 5, 6, 7, 8, 10, 11,11, 12/ c nx = 12 c do 1 k=1, nx x(k) = x1(k) y(k) = y1(k) nodcode(k) = 1 1 continue c nodcode(6) = 2 nodcode(9) = 2 c nelx = 10 c do 2 k=1,nelx ijk(1,k) = ijk1(k) ijk(2,k) = ijk2(k) ijk(3,k) = ijk3(k) 2 continue c return end c----------------------------------------------------------------------- subroutine fmesh5 (nx,nelx,node,x,y,nodcode,ijk) c--------------------------------------------------------------- c initial mesh for a whrench shaped region composed of 14 elements -- c c 13 15 c . ----------. |-3 c . . 13 . . | c . 12 . . 14 . | c 9 10 11 12 . . 14 . 16 | c ---------------------------------------------------------- |-2 c | . | . | . | . | | c | 1 . | 3 . | 5 . | 7 . | | c | . 2 | . 4 | . 6 | . 8 | | c |. |. |. | . | | c ----------------------------------------------------------- |-1 c 1 2 3 4 . 6 . . 8 | c . 9 . . 11 . | c . . 10 . . | c .___________. |-0 c 5 7 c c 0---------1--------2----------3--------------4-------------5 c-------------------------------------------------------------- c input parameters: node = first dimensoin of ijk (must be .ge. 3) c nx = number of nodes c nelx = number of elemnts c (x(1:nx), y(1:nx)) = coordinates of nodes c nodcode(1:nx) = integer code for each node with the c following meening: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point. c ijk(1:3,1:nelx) = connectivity matrix. for a given element c number nel, ijk(k,nel), k=1,2,3 represent the nodes c composing the element nel. c c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension x(*),y(*),nodcode(*),ijk(node,*) real*8 x1(16),y1(16) integer ijk1(14),ijk2(14),ijk3(14) c-------------------------------------------------------------- c coordinates of nodal points c-------------------------------------------------------------- data x1/0.,1.,2.,3.,3.5,4.,4.5,5.,0.,1.,2.,3.,3.5,4.,4.5,5./ data y1/1.,1.,1.,1.,0.,1.,0.,1.,2.,2.,2.,2.,3.,2.,3.,2./ c c------------------|--|--|--|--|--|--|---|---|---|--|---|---|---| c elements 1 2 3 4 5 6 7 8 9 10 11 12 13 14 c------------------|--|--|--|--|--|--|---|---|---|--|---|---|---| data ijk1 /1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 6, 12, 14, 14/ data ijk2 /10,2,11, 3,12, 4,14, 6, 5, 7, 7, 14, 15, 16/ data ijk3 /9,10,10,11,11,12,12, 14, 6, 6, 8, 13, 13, 15/ c nx = 16 c do 1 k=1, nx x(k) = x1(k) y(k) = y1(k) nodcode(k) = 1 1 continue c nodcode(9) = 2 nodcode(8) = 2 nodcode(16) = 2 c nelx = 14 c do 2 k=1,nelx ijk(1,k) = ijk1(k) ijk(2,k) = ijk2(k) ijk(3,k) = ijk3(k) 2 continue c return end c----------------------------------------------------------------------- subroutine fmesh6 (nx,nelx,node,x,y,nodcode,ijk) c--------------------------------------------------------------- c this generates a finite element mesh for an ellipse-shaped c domain. c--------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension x(*),y(*),nodcode(*),ijk(node,*), ijktr(200,3) integer nel(200) c-------------------------------------------------------------- c coordinates of nodal points c-------------------------------------------------------------- nd = 8 nr = 3 c c define axes of ellipse c a = 2.0 b = 1.30 c nx = 1 pi = 4.0* atan(1.0) theta = 2.0 * pi / real(nd) x(1) = 0.0 y(1) = 0.0 delr = a / real(nr) nx = 0 do i = 1, nr ar = real(i)*delr br = ar*b / a do j=1, nd nx = nx+1 x(nx) = a +ar*cos(real(j)*theta) y(nx) = b +br*sin(real(j)*theta) c write (13,*) ' nod ', nx, ' x,y', x(nx), y(nx) nodcode(nx) = 0 if (i .eq. nr) nodcode(nx) = 1 enddo enddo c nemax = 200 call dlauny(x,y,nx,ijktr,nemax,nelx) c c print *, ' delauny -- nx, nelx ', nx, nelx do 3 j=1,nx nel(j) = 0 3 continue c transpose ijktr into ijk and count the number of c elemnts to which each node belongs c do 4 j=1, nelx do 41 k=1, node i = ijktr(j,k) ijk(k,j) = i nel(i) = nel(i)+1 41 continue 4 continue c c take care of ordering within each element c call chkelmt (nx, x, y, nelx, ijk, node) c return end c-------------------------------------------------------- subroutine fmesh7 (nx,nelx,node,x,y,nodcode,ijk,iperm) implicit none real*8 x(*),y(*) integer nx,nelx,node,nodcode(nx),ijk(node,nelx),iperm(nx) c--------------------------------------------------------------- c this generates a U-shaped domain with an elliptic inside. c then a Delauney triangulation is used to generate the mesh. c mesh needs to be post-processed -- see inmesh -- c--------------------------------------------------------------- integer nr,nsec,i,k,nemax,j,nel(200),ijktr(200,3),nodexc real*8 a,b,x1, y1, x2, y2, xcntr,ycntr, rad,pi,delr,xnew,ynew, * arx, ary, cos, sin, theta,excl c-------------------------------------------------------------- c coordinates of nodal points c-------------------------------------------------------------- data x1/0.0/,y1/0.0/,x2/6.0/,y2/6.0/,nodexc/1/ xcntr = x2/3.0 ycntr = y2/2.0 rad = 1.8 nsec = 20 nr = 3 c c exclusion zone near the boundary c excl = 0.02*x2 c----------------------------------------------------------------------- c enter the four corner points. c----------------------------------------------------------------------- nx = 1 x(nx) = x1 y(nx) = y1 nodcode(nx) = 1 nx = nx+1 x(nx) = x2 y(nx) = y1 nodcode(nx) = 1 nx = nx+1 x(nx) = x2 y(nx) = y2 nodcode(nx) = 1 nx = nx+1 x(nx) = x1 y(nx) = y2 nodcode(nx) = 1 c c define axes of ellipse c a = 2.0 b = 1.30 c----------------------------------------------------------------------- pi = 4.0*atan(1.0) delr = a / real(nr) do 2 i = 1, nsec theta = 2.0 * real(i-1) * pi / real(nsec) xnew = xcntr + rad*cos(theta) ynew = ycntr + rad*b*sin(theta)/a if ((xnew .ge. x2) .or. (xnew .le. x1) .or. (ynew .ge. y2) * .or. (ynew .le. y1)) goto 2 nx = nx+1 x(nx) = xnew y(nx) = ynew nodcode(nx) = nodexc arx = delr*cos(theta) ary = delr*b*sin(theta)/a c c while inside domain do: c 1 continue xnew = x(nx) + arx ynew = y(nx) + ary if (xnew .ge. x2) then x(nx) = x2 nodcode(nx) = 1 else if (xnew .le. x1) then x(nx) = x1 nodcode(nx) = 1 else if (ynew .ge. y2) then y(nx) = y2 nodcode(nx) = 1 else if (ynew .le. y1) then y(nx) = y1 nodcode(nx) = 1 else nx = nx+1 x(nx) = xnew y(nx) = ynew nodcode(nx) = 0 call clos2bdr(nx,xnew,ynew,x,y,x1,x2,y1,y2,excl,nodcode) endif c write (13,*) ' nod ', nx, ' x,y', x(nx), y(nx) c * ,' arx--ary ', arx, ary arx = arx*1.2 ary = ary*1.2 if (nodcode(nx) .le. 0) goto 1 2 continue c nemax = 200 call dlauny(x,y,nx,ijktr,nemax,nelx) c c print *, ' delauny -- nx, nelx ', nx, nelx do 3 j=1,nx nel(j) = 0 3 continue c c transpose ijktr into ijk and count the number of c elemnts to which each node belongs c do 4 j=1, nelx do 41 k=1, node i = ijktr(j,k) ijk(k,j) = i nel(i) = nel(i)+1 41 continue 4 continue c c this mesh needs cleaning up -- c call cleanel (nelx,ijk, node,nodcode,nodexc) call cleannods(nx,x,y,nelx,ijk,node,nodcode,iperm) c c take care of ordering within each element c call chkelmt (nx, x, y, nelx, ijk, node) return end c----------------------------------------------------------------------- subroutine fmesh8 (nx,nelx,node,x,y,nodcode,ijk,iperm) implicit none real*8 x(*),y(*) integer nx,nelx,node,nodcode(nx),ijk(node,nelx),iperm(nx) c--------------------------------------------------------------- c this generates a small rocket type shape inside a rectangle c then a Delauney triangulation is used to generate the mesh. c mesh needs to be post-processed -- see inmesh -- c--------------------------------------------------------------- integer nr,nsec,i,k,nemax,j,nel(1500),ijktr(1500,3),nodexc real*8 a,b,x1, y1, x2, y2, xcntr,ycntr, rad,pi,delr,xnew,ynew, * arx, ary, cos, sin, theta,radi,excl c-------------------------------------------------------------- c coordinates of corners + some additional data c-------------------------------------------------------------- data x1/0.0/,y1/0.0/,x2/6.0/,y2/6.0/,nodexc/3/ xcntr = 4.0 ycntr = y2/2.0 rad = 0.6 c c exclusion zone near the boundary. c excl = 0.02*x2 nsec = 30 nr = 4 c----------------------------------------------------------------------- c enter the four corner points. c----------------------------------------------------------------------- nx = 1 x(nx) = x1 y(nx) = y1 nodcode(nx) = 1 nx = nx+1 x(nx) = x2 y(nx) = y1 nodcode(nx) = 1 nx = nx+1 x(nx) = x2 y(nx) = y2 nodcode(nx) = 1 nx = nx+1 x(nx) = x1 y(nx) = y2 nodcode(nx) = 1 c c define axes of ellipse /circle / object c a = 2.0 b = 1.0 c----------------------------------------------------------------------- pi = 4.0*atan(1.0) delr = 2.0*rad / real(nr) do 2 i = 1, nsec theta = 2.0*real(i-1) * pi / real(nsec) if (theta .gt. pi) theta = theta - 2.0*pi radi=rad*(1.0+0.05*((pi/2.0)**2-theta**2)**2) * /(1.0+0.05*(pi/2.0)**4) arx = radi*cos(theta)/real(nr) ary = radi*sin(theta)/real(nr) c a hack! c arx = (abs(theta)+0.25)*cos(theta)/real(nr) c ary = (abs(theta)+0.25)*sin(theta)/real(nr) c xnew = xcntr + radi*cos(theta) ynew = ycntr + radi*b*sin(theta)/a if ((xnew .ge. x2) .or. (xnew .le. x1) .or. (ynew .ge. y2) * .or. (ynew .le. y1)) goto 2 nx = nx+1 x(nx) = xnew y(nx) = ynew nodcode(nx) = nodexc c c while inside domain do: c 1 continue xnew = xnew + arx ynew = ynew + ary if (xnew .ge. x2) then x(nx) = x2 nodcode(nx) = 1 else if (xnew .le. x1) then x(nx) = x1 nodcode(nx) = 1 else if (ynew .ge. y2) then y(nx) = y2 nodcode(nx) = 1 else if (ynew .le. y1) then y(nx) = y1 nodcode(nx) = 1 c c else we can add this as interior point c else nx = nx+1 x(nx) = xnew y(nx) = ynew nodcode(nx) = 0 c c do something if point is too close to boundary c call clos2bdr(nx,xnew,ynew,x,y,x1,x2,y1,y2,excl,nodcode) endif c arx = arx*1.1 ary = ary*1.1 if (nodcode(nx) .eq. 0) goto 1 2 continue c nemax = 1500 call dlauny(x,y,nx,ijktr,nemax,nelx) c print *, ' delauney -- nx, nelx ', nx, nelx do 3 j=1,nx nel(j) = 0 3 continue c----------------------------------------------------------------------- c transpose ijktr into ijk and count the number of c elemnts to which each node belongs c----------------------------------------------------------------------- do 4 j=1, nelx do 41 k=1, node i = ijktr(j,k) ijk(k,j) = i nel(i) = nel(i)+1 41 continue 4 continue c c this mesh needs cleaning up -- c call cleanel (nelx,ijk, node,nodcode,nodexc) call cleannods(nx,x,y,nelx,ijk,node,nodcode,iperm) c c take care of ordering within each element c call chkelmt (nx, x, y, nelx, ijk, node) return end c----------------------------------------------------------------------- subroutine fmesh9 (nx,nelx,node,x,y,nodcode,ijk,iperm) implicit none real*8 x(*),y(*) integer nx,nelx,node,nodcode(nx),ijk(node,nelx),iperm(nx) c--------------------------------------------------------------- c this generates a U-shaped domain with an elliptic inside. c then a Delauney triangulation is used to generate the mesh. c mesh needs to be post-processed -- see inmesh -- c--------------------------------------------------------------- integer nr,nsec,i,k,nemax,j,nel(1500),ijktr(1500,3),nodexc real*8 x1, y1, x2, y2, xcntr,ycntr, rad,pi,delr,xnew,ynew, * arx, ary, cos, sin, theta,excl c-------------------------------------------------------------- c coordinates of nodal points c-------------------------------------------------------------- data x1/0.0/,y1/0.0/,x2/11.0/,y2/5.5/,nodexc/3/ xcntr = 1.50 ycntr = y2/2.0 rad = 0.6 nsec = 30 nr = 3 c c----------------------------------------------------------------------- c enter the four corner points. c----------------------------------------------------------------------- nx = 1 x(nx) = x1 y(nx) = y1 nodcode(nx) = 1 nx = nx+1 x(nx) = x2 y(nx) = y1 nodcode(nx) = 1 nx = nx+1 x(nx) = x2 y(nx) = y2 nodcode(nx) = 1 nx = nx+1 x(nx) = x1 y(nx) = y2 nodcode(nx) = 1 c c define axes of ellipse c c----------------------------------------------------------------------- pi = 4.0*atan(1.0) delr = rad / real(nr) do 2 i = 1, nsec theta = 2.0 * real(i-1) * pi / real(nsec) xnew = xcntr + rad*cos(theta) ynew = ycntr + rad*sin(theta) if ((xnew .ge. x2) .or. (xnew .le. x1) .or. (ynew .ge. y2) * .or. (ynew .le. y1)) goto 2 nx = nx+1 x(nx) = xnew y(nx) = ynew nodcode(nx) = nodexc arx = delr*cos(theta) ary = delr*sin(theta) c c exclusion zone near the boundary c c excl = 0.1*delr excl = 0.15*delr c c while inside domain do: c 1 continue xnew = x(nx) + arx ynew = y(nx) + ary if (xnew .ge. x2) then x(nx) = x2 nodcode(nx) = 1 else if (xnew .le. x1) then x(nx) = x1 nodcode(nx) = 1 else if (ynew .ge. y2) then y(nx) = y2 nodcode(nx) = 1 else if (ynew .le. y1) then y(nx) = y1 nodcode(nx) = 1 else nx = nx+1 x(nx) = xnew y(nx) = ynew nodcode(nx) = 0 call clos2bdr(nx,xnew,ynew,x,y,x1,x2,y1,y2,excl,nodcode) endif arx = arx*1.1 ary = ary*1.1 excl = excl*1.1 if (nodcode(nx) .le. 0) goto 1 2 continue c nemax = 1500 call dlauny(x,y,nx,ijktr,nemax,nelx) c c print *, ' delauny -- nx, nelx ', nx, nelx do 3 j=1,nx nel(j) = 0 3 continue c c transpose ijktr into ijk and count the number of c elemnts to which each node belongs c do 4 j=1, nelx do 41 k=1, node i = ijktr(j,k) ijk(k,j) = i nel(i) = nel(i)+1 41 continue 4 continue c c this mesh needs cleaning up -- c call cleanel (nelx,ijk, node,nodcode,nodexc) call cleannods(nx,x,y,nelx,ijk,node,nodcode,iperm) c c take care of ordering within each element c call chkelmt (nx, x, y, nelx, ijk, node) return end c----------------------------------------------------------------------- subroutine clos2bdr (nx,xnew,ynew,x,y,x1,x2,y1,y2,excl,nodcode) implicit none integer nx,nodcode(nx) real*8 x(nx),y(nx),xnew,ynew,x1,x2,y1,y2,excl c----------------------------------------------------------------------- c takes care of case where a point generated is too close to the c boundary -- in this case projects the previous point to the c rectangle boundary == that makes some exclusion criterion c violated... does a simple job. c----------------------------------------------------------------------- if (xnew .ge. x2-excl) then x(nx) = x2 y(nx) = y(nx-1) nodcode(nx) = 1 endif if (xnew .le. x1+excl) then x(nx) = x1 y(nx) = y(nx-1) nodcode(nx) = 1 endif if (ynew .ge. y2-excl) then y(nx) = y2 x(nx) = x(nx-1) nodcode(nx) = 1 endif if (ynew .le. y1+excl) then y(nx) = y1 x(nx) = x(nx-1) nodcode(nx) = 1 endif c return end sparskit-2.0.0/MATGEN/FEM/makefile0000644000265600020320000000067011063776462015576 0ustar tilleaadminFFLAGS = F77 = f77 #F77 = cf77 #FFLAGS = -Wf"-dp" FILES = convdif.o functns2.o fem.ex: $(FILES) ../../UNSUPP/PLOTS/psgrd.o ../../libskit32.a $(F77) $(FFLAGS) -o fem.ex $(FILES) ../../UNSUPP/PLOTS/psgrd.o ../../libskit32.a clean: rm -f *.o *.ex core *.trace ../../libskit.a: (cd ../..; $(MAKE) $(MAKEFLAGS) libskit.a) ../../UNSUPP/PLOTS/psgrd.o: ../../UNSUPP/PLOTS/psgrd.f (cd ../../UNSUPP/PLOTS; $(F77) $(FFLAGS) -c psgrd.f) sparskit-2.0.0/MATGEN/FEM/semantic.cache0000644000265600020320000000144411063776462016666 0ustar tilleaadmin;; Object FEM/ ;; SEMANTICDB Tags save file (semanticdb-project-database-file "FEM/" :tables (list (semanticdb-table "makefile" :major-mode 'makefile-mode :tags '(("FFLAGS" variable nil nil [1 11]) ("F77" variable (:default-value ("f77")) nil [11 21]) ("FILES" variable (:default-value ("convdif.o" "functns2.o")) nil [54 83]) ("fem.ex" function (:arguments ("$(FILES)" "../../UNSUPP/PLOTS/psgrd.o" "../../libskit32.a")) nil [84 232]) ("clean" function nil nil [232 269]) ("../../libskit.a" function nil nil [269 331]) ("../../UNSUPP/PLOTS/psgrd.o" function (:arguments ("../../UNSUPP/PLOTS/psgrd.f")) nil [331 441])) :file "makefile" :pointmax 441 :unmatched-syntax 'nil ) ) :file "semantic.cache" :semantic-tag-version "2.0pre3" :semanticdb-version "2.0pre3" ) sparskit-2.0.0/MATGEN/FEM/elmtlib2.f0000644000265600020320000012403507663207305015755 0ustar tilleaadmin subroutine refall(nx, nelx,ijk,node,ndeg,x,y, * ichild,iparnts,nodcode,nxmax,nelmax,ierr) implicit real*8 (a-h,o-z) integer nx, nelx, node, ndeg, nxmax, nelmax integer ichild(ndeg,1),iparnts(2,nx),ijk(node,*), nodcode(nx) integer midnode(20),inod(20) real*8 x(*),y(*) c------------------------------------------------------------- c refines a finite element grid using triangular elements. c uses mid points to refine all the elements of the grid. c c nx = number of nodes at input c nelx = number of elements at input c ijk = connectivity matrix: for node k, ijk(*,k) point to the c nodes of element k. c node = first dimension of array ijk [should be >=3] c ndeg = first dimension of array ichild which is at least as large c as the max degree of each node c x,y = real*8 arrays containing the x(*) and y(*) coordinates c resp. of the nodes. c ichild= list of the children of a node: ichild(1,k) stores c the position in ichild(*,k) of the last child so far. c (local use) c iparnts= list of the 2 parents of each node. c (local use) c nodcode= boundary information list for each node with the c following meaning: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point. c corner elements are used only to generate the grid by refinement c since they do not correspond to real elements. c nxmax = maximum number of nodes allowed. If during the algorithm c the number of nodes being created exceeds nxmax then c refall quits without modifying the (x,y) xoordinates c and nx, nelx. ijk is modified. Also ierr is set to 1. c nelmax = same as above for number of elements allowed. See ierr.. c ierr = error message: c 0 --> normal return c 1 --> refall quit because nxmax was exceeded. c 2 --> refall quit because nelmax was exceeded. c-------------------------------------------------------------- c--------------------------------------------------------------- c inilitialize lists of children and parents -- c data structure is as follows c ichild(1,k) stores the position of last child of node k so far in list c ichild(j,k) , j .ge. 2 = list of children of node k. c iparnts(1,k) and iparnts(2,k) are the two parents of node k. c--------------------------------------------------------------- c------ do a first check : if (nx .ge. nxmax) goto 800 if (nelx .ge. nelmax) goto 900 c------ initialize do 1 k=1,nx do 2 j=2,ndeg ichild(j,k) = 0 2 continue ichild(1,k) = 1 iparnts(1,k)= 0 iparnts(2,k)= 0 1 continue c------- initialize nelxnew and nxnew nelxnew = nelx nxnew = nx ierr = 0 c-------------------------------------------------------------- c main loop: scan all elements c-------------------------------------------------------------- c do 100 nel = nelx,1,-1 do 100 nel = 1, nelx c note : interesting question which order is best for parallelism? c alternative order: do 100 nel = nelx, 1, -1 c c------ unpack nodes of element do 101 i=1,node inod(i) = ijk(i,nel) c convention: node after last node = first node. inod(node+i) = inod(i) midnode(i) = 0 101 continue c-------------------------------------------------------------- c for each new potential node determine if it has already been c numbered. a potential node is the middle of any two nodes .. c-------------------------------------------------------------- do 80 ii=1,node k1 = inod(ii) k2 = inod(ii+1) c------- test for current pair : last = ichild(1,k1) do 21 k=2,last jchild = ichild(k,k1) ipar1 = iparnts(1,jchild) ipar2 = iparnts(2,jchild) if( (ipar1 .eq. k1 .and. ipar2 .eq. k2) .or. * (ipar2 .eq. k1 .and. ipar1 .eq. k2)) then c node has already been created and numbered .... midnode(ii) = jchild c... therefore it must be an internal node nodcode(jchild) = 0 c... and no new node to create. goto 80 endif c----------------------------------------------------- 21 continue c c else create a new node c nxnew = nxnew + 1 if (nxnew .gt. nxmax) goto 800 c------- x(nxnew) = (x(k1) + x(k2))*0.5 y(nxnew) = (y(k1) + y(k2))*0.5 midnode(ii) = nxnew c c update nodcode information -- normally min0(nodcode(k1),nodcode(k2)) c nodcode(nxnew) = min0(1,nodcode(k1),nodcode(k2)) c c update parents and children's lists c iparnts(1,nxnew) = k1 iparnts(2,nxnew) = k2 c last = last+1 ichild(last,k1) = nxnew ichild(1,k1) = last c last = ichild(1,k2)+1 ichild(last,k2) = nxnew ichild(1,k2) = last c 80 continue c c------- replace current element by new one c do 81 i=1,node jnod = midnode(i) ijk(i,nel) = jnod 81 continue c-------create new elements do 82 ii=1, node nelxnew = nelxnew+1 if (nelxnew .gt. nelmax) goto 900 ijk(1,nelxnew) = inod(ii) k = ii do jj=2,node ijk(jj,nelxnew) = midnode(k) k = k+2 if (k .gt. node) k = k-node enddo 82 continue c------ done ! 100 continue nx = nxnew nelx = nelxnew return 800 ierr = 1 return 900 ierr = 2 return end c subroutine checkref(nx,nelx,ijk,node,nodcode, * nbound, nxnew,nelxnew) c------------------------------------------------------------- c returns the expected the new number of nodes and c elemnts of refall is applied to current grid once. c c nx = number of nodes at input c nelx = number of elements at input c ijk = connectivity matrix: for node k, ijk(*,k) point to the c nodes of element k. c nbound = number of boundary points on entry - enter zero if c unknown c c nodcode= boundary information list for each node with the c following meaning: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point. c c nxnew = new number of nodes if refall were to be applied c nelxnew = same for nelx. c-------------------------------------------------------------- integer ijk(node,1),nodcode(nx) c nelxnew = nelx*4 c c count the number of boundary nodes c if (nbound .ne. 0) goto 2 do 1 j=1, nx if (nodcode(j) .ge. 1) nbound = nbound+1 1 continue c number of edges=[3*(number of elmts) + number of bound nodes ]/ 2 2 continue nxnew = nx + (3*nelx+nbound)/2 nbound = 2*nbound return end c----------------------------------------------------------------------- subroutine unassbl (a,na,f,nx,nelx,ijk,nodcode, * node,x,y,ierr,xyk) c----------------------------------------------------------------------- c a = un-assembled matrix on output c na = 1-st dimension of a. a(na,node,node) c c f = right hand side (global load vector) in un-assembled form c nx = number of nodes at input c nelx = number of elements at input c ijk = connectivity matrix: for node k, ijk(*,k) point to the c nodes of element k. c node = total number of nodal points in each element c also second dimension of a. c c nodcode= boundary information list for each node with the c following meaning: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point (corner points c c x,y = real*8 arrays containing the $x$ and $y$ coordinates c resp. of the nodes. c K11, K22, and K12 at that element. c ierr = error message integer . c ierr = 0 --> normal return c ierr = 1 --> negative area encountered (due to bad c numbering of nodes of an element) c c xyk = subroutine defining the material properties at each c element. Form: c call xyk(nel,xyke,x,y,ijk,node) c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension a(na,node,node),ijk(node,1),x(1),y(1),f(node,1), * ske(3,3),fe(3),xe(3),ye(3),xyke(2,2) integer nodcode(1) external xyk c-------------------------------------------------------------- c initialize c-------------------------------------------------------------- do 100 i=1, node do 100 j=1, nx f(i,j) = 0.0d0 100 continue c--------------------------------------------------- c main loop c--------------------------------------------------- do 102 nel=1, nelx c c get coordinetes of nodal points c do 104 i=1, node j = ijk(i,nel) xe(i) = x(j) ye(i) = y(j) 104 continue c c compute determinant c det=xe(2)*(ye(3)-ye(1))+xe(3)*(ye(1)-ye(2))+xe(1)*(ye(2)-ye(3)) if ( det .le. 0.) then print *, 'nel', nel, ' det = ' , det print *, xe(1), xe(2), xe(3) print *, ye(1), ye(2), ye(3) end if c c set material properties c call xyk(xyke,x,y) c c construct element stiffness matrix c ierr = 0 call estif3(nel,ske,fe,det,xe,ye,xyke,ierr) if (ierr .ne. 0) then write (*,*) 'ERROR: estif3 gave an error',ierr return endif c write (8,'(9f8.4)') ((ske(i,j),j=1,3),i=1,3) c assemble: add element stiffness matrix to global matrix c do 120 ka=1, node f(ka,nel) = fe(ka) do 108 kb = 1,node a(nel,ka,kb) = ske(ka,kb) 108 continue 120 continue 102 continue return end c----------------------------------------------------------------------- subroutine unassbl_lstif(a, na, f, nx, nelx, ijk, nodcode, * node, x, y, ierr, xyk, funb, func, fung) c----------------------------------------------------------------------- c a = un-assembled matrix on output c c na = 1-st dimension of a. a(na,node,node) c c f = right hand side (global load vector) in un-assembled form c c nx = number of nodes at input c c nelx = number of elements at input c c ijk = connectivity matrix: for node k, ijk(*,k) point to the c nodes of element k. c c nodcode= boundary information list for each node with the c following meaning: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point (corner points c c node = total number of nodal points in each element c also second dimension of a. c c x,y = real*8 arrays containing the $x$ and $y$ coordinates c resp. of the nodes. c K11, K22, and K12 at that element. c c ierr = error message integer . c ierr = 0 --> normal return c ierr = 1 --> negative area encountered (due to bad c numbering of nodes of an element) c c xyk = subroutine defining the material properties at each c element. Form: call xyk(xyke,x,y) c c funb, = functions needed for the definition of lstif3 problem c func, c fung c-------------------------------------------------------------- c moulitsa@cs.umn.edu : It uses lstif3 problem c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension a(na,node,node), ijk(node,1), x(1), y(1), f(node,1), & ske(3,3), fe(3), xe(3), ye(3) integer nodcode(1) external xyk, funb, func, fung c-------------------------------------------------------------- c initialize c-------------------------------------------------------------- do i=1, node do j=1, nx f(i,j) = 0.0d0 end do end do c--------------------------------------------------- c main loop c--------------------------------------------------- do nel=1, nelx c c get coordinetes of nodal points c do i=1, node j = ijk(i,nel) xe(i) = x(j) ye(i) = y(j) end do c c compute determinant c c det=xe(2)*(ye(3)-ye(1))+xe(3)*(ye(1)-ye(2))+xe(1)*(ye(2)-ye(3)) c if ( det .le. 0.) then c print *, 'nel', nel, ' det = ' , det c print *, xe(1), xe(2), xe(3) c print *, ye(1), ye(2), ye(3) c end if c c construct element stiffness matrix c ierr = 0 call lstif3(ske, fe, xe, ye, xyk, funb, func, fung) c write (8,'(9f8.4)') ((ske(i,j),j=1,3),i=1,3) c c assemble: add element stiffness matrix to global matrix c do ka=1, node f(ka,nel) = fe(ka) do kb = 1,node a(nel,ka,kb) = ske(ka,kb) end do end do end do return end c----------------------------------------------------------------------- subroutine assmbo (nx, nelx, node, ijk, nodcode, x, y, a, ja, * ia, f, iwk, jwk, ierr, xyk, funb, func, fung) c----------------------------------------------------------------------- c nx = number of nodes at input c c nelx = number of elements at input c c node = total number of nodal points in each element c c ijk = connectivity matrix: for node k, ijk(*,k) point to the c nodes of element k. c c nodcode= boundary information list for each node with the c following meaning: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point (corner points c c x,y = real arrays containing the $x$ and $y$ coordinates c resp. of the nodes. c c a,ja,ia= assembled matrix on output c c f = right hand side (global load vector) c c iwk,jwk = two integer work arrays. c c ierr = error message integer . c ierr = 0 --> normal return c ierr = 1 --> negative area encountered (due to bad c numbering of nodes of an element) c c xyk = subroutine defining the material properties at each c element. Form: c call xyk(nel,xyke,x,y,ijk,node) with on return c xyke = material constant matrices. c for each element nel, xyke(1,nel),xyke(2,nel) c and xyke(3,nel) represent the constants c K11, K22, and K12 at that element. c-------------------------------------------------------------- c moulitsa@cs.umn.edu : It has been modified so as to handle c more types of domains/meshes i.e. |\ /| c | X | c |/ \| c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension a(*),ijk(node,1),x(1),y(1),f(1),ske(3,3),fe(3), * xe(3),ye(3),iwk(1),jwk(1) integer ia(1), ja(*), nodcode(1) external xyk, funb, func, fung c-------------------------------------------------------------- c initialize c-------------------------------------------------------------- do i=1,nx f(i) = 0.0 end do c initialize pointer arrays. do k=1,nx+1 ia(k) = 1 jwk(k) = 0 end do do k=1,nelx do j=1,node knod = ijk(j,k) ia(knod) = ia(knod) + 2 end do end do c--------------------------------------------------- do k=1, nx if (nodcode(k) .ge.1 ) ia(k)=ia(k)+1 end do c ksav = ia(1) ia(1) = 1 do j=2, nx+1 ksavn = ia(j) ia(j) = ia(j-1) + ksav iwk(j-1) = ia(j-1)-1 ksav = ksavn end do c----------------- c main loop c----------------- do nel=1, nelx c c get coordinates of nodal points c do i=1, node j = ijk(i,nel) xe(i) = x(j) ye(i) = y(j) end do c c compute determinant c c det=xe(2)*(ye(3)-ye(1))+xe(3)*(ye(1)-ye(2))+xe(1)*(ye(2)-ye(3)) c c set material properties c c call xyk(nel,xyke,x,y,ijk,node) c c construct element stiffness matrix c ierr = 0 c c call evalg(nel, fe, xe, ye, fung, ierr) c call estif3(nel,ske,fe,det,xe,ye,xyke,ierr) call lstif3(ske, fe, xe, ye, xyk, funb, func, fung) if (ierr .ne. 0) return c c assemble: add element stiffness matrix to global matrix c do ka=1, node ii = ijk(ka,nel) f(ii) = f(ii) + fe(ka) c c unpack row into jwk1 c irowst = ia(ii) ilast = iwk(ii) do k=irowst,ilast jwk(ja(k)) = k end do c do kb = 1,node c c column number = jj c jj = ijk(kb,nel) k = jwk(jj) if (k .eq. 0) then ilast = ilast+1 jwk(jj) = ilast ja(ilast) = jj a(ilast) = ske(ka,kb) else a(k) = a(k) + ske(ka,kb) endif end do c refresh jwk do k=irowst,ilast jwk(ja(k)) = 0 end do iwk(ii) = ilast end do c end do c squeeze away the zero entries c added so as to handle more type of domains/meshes do i=1, nx ista=ia(i) isto=ia(i+1)-1 do j=ista, isto if (ja(j) .EQ. 0) then iwk(i)=j-ista go to 200 end if end do 200 continue end do do i=2, nx ksav=ia(i) ia(i)=ia(i-1)+iwk(i-1) ksavn=ia(i) do j=0, iwk(i)-1 ja(ksavn+j)=ja(ksav+j) a(ksavn+j) = a(ksav+j) end do end do ia(nx+1)=ia(nx)+iwk(nx) return end c----------------------------------------------------------------------- subroutine assmbo2 (nx, nelx, node, ijk, nodcode, x, y, a, ja, * ia, f, iwk, jwk, ierr, xyk, funb, func, fung) c----------------------------------------------------------------------- c nx = number of nodes at input c c nelx = number of elements at input c c node = total number of nodal points in each element c c ijk = connectivity matrix: for node k, ijk(*,k) point to the c nodes of element k. c c nodcode= boundary information list for each node with the c following meaning: c nodcode(i) = 0 --> node i is internal c nodcode(i) = 1 --> node i is a boundary but not a corner point c nodcode(i) = 2 --> node i is a corner point (corner points c c x,y = real arrays containing the $x$ and $y$ coordinates c resp. of the nodes. c c a,ja,ia= assembled matrix on output c c f = right hand side (global load vector) c c iwk,jwk = two integer work arrays. c c ierr = error message integer . c ierr = 0 --> normal return c ierr = 1 --> negative area encountered (due to bad c numbering of nodes of an element) c c xyk = subroutine defining the material properties at each c element. Form: c call xyk(nel,xyke,x,y,ijk,node) with on return c xyke = material constant matrices. c for each element nel, xyke(1,nel),xyke(2,nel) c and xyke(3,nel) represent the constants c K11, K22, and K12 at that element. c-------------------------------------------------------------- c c moulitsa@cs.umn.edu : This routine yields the same results c as assmbo. It differs in that it constructs the ia array c by creating a list with the adjacent nodes for each node c c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension a(*),ijk(node,1),x(1),y(1),f(1),ske(3,3),fe(3), * xe(3),ye(3),iwk(1),jwk(1), kwk(500) integer ia(1), ja(*), nodcode(1) external xyk, funb, func, fung c-------------------------------------------------------------- c initialize c-------------------------------------------------------------- do i=1,nx f(i) = 0.0 iwk(i) = 0 kwk(i) = 0 end do c iwk : how many elements a node belongs to do k=1,nelx do j=1,node knod = ijk(j,k) iwk(knod) = iwk(knod) + 1 end do end do c c iwk : prepare for csr like format ksav=iwk(1) iwk(1)=1 do j=2, nx+1 ksavn = iwk(j) iwk(j) = iwk(j-1) + ksav ksav = ksavn end do c c jwk : list of elements a node belongs to k=1 do i=1,nelx do j=1,node knod = ijk(j,i) k=iwk(knod) jwk(k)=i iwk(knod)=iwk(knod)+1 end do end do c iwk : transform iwk back to what it was do i=nx+1,2,-1 iwk(i)=iwk(i-1) end do iwk(1)=1 c kwk : mark edges that a node is associated with nedges=1 ia(1)=1 do i=1,nx kwk(i)=i do j=iwk(i), iwk(i+1)-1 do k=1, node knod = ijk(k,jwk(j)) if ( kwk(knod) .NE. i) then kwk(knod) = i nedges=nedges+1 end if end do end do ia(i+1)=nedges end do do i=2,nx+1 ia(i)=ia(i)+i-1 iwk(i-1)=ia(i-1)-1 jwk(i)=0 end do jwk(1)=0 c----------------- c main loop c----------------- do nel=1, nelx c c get coordinates of nodal points c do i=1, node j = ijk(i,nel) xe(i) = x(j) ye(i) = y(j) end do c c compute determinant c c det=xe(2)*(ye(3)-ye(1))+xe(3)*(ye(1)-ye(2))+xe(1)*(ye(2)-ye(3)) c c set material properties c c call xyk(nel,xyke,x,y,ijk,node) c c construct element stiffness matrix c ierr = 0 c c call evalg(nel, fe, xe, ye, fung, ierr) c call estif3(nel,ske,fe,det,xe,ye,xyke,ierr) call lstif3(ske, fe, xe, ye, xyk, funb, func, fung) if (ierr .ne. 0) return c c assemble: add element stiffness matrix to global matrix c do ka=1, node ii = ijk(ka,nel) f(ii) = f(ii) + fe(ka) c c unpack row into jwk1 c irowst = ia(ii) ilast = iwk(ii) do k=irowst,ilast jwk(ja(k)) = k end do c do kb = 1,node c c column number = jj c jj = ijk(kb,nel) k = jwk(jj) if (k .eq. 0) then ilast = ilast+1 jwk(jj) = ilast ja(ilast) = jj a(ilast) = ske(ka,kb) else a(k) = a(k) + ske(ka,kb) endif end do c refresh jwk do k=irowst,ilast jwk(ja(k)) = 0 end do iwk(ii) = ilast end do c end do return end c----------------------------------------------------------------------- subroutine chkelmt (nx, x, y, nelx, ijk, node) implicit real*8 (a-h,o-z) dimension ijk(node,1),x(1),y(1) c----------------------------------------------------------------------- c this subsourine checks the labeling within each elment and reorders c the nodes in they ar not correctly ordered. c----------------------------------------------------------------------- do 1 nel =1, nelx det = x(ijk(2,nel))*(y(ijk(3,nel))-y(ijk(1,nel)))+ * x(ijk(3,nel))*(y(ijk(1,nel))-y(ijk(2,nel)))+ * x(ijk(1,nel))*(y(ijk(2,nel))-y(ijk(3,nel))) c c if determinant negative exchange last two nodes of elements. c if (det .lt. 0.0d0) then j = ijk(2,nel) ijk(2,nel) = ijk(3,nel) ijk(3,nel) = j endif 1 continue c return end c----------------------------------------------------------------------- SUBROUTINE DLAUNY(X,Y,NODES,ELMNTS,NEMAX,NELMNT) IMPLICIT DOUBLE PRECISION (A-H,O-Z) c C code written by P.K. Sweby c simple delauney triangulation routine (non optimal) c C ****************************************************************** C * * C * Performs a Delaunay triangularisation of a region given a set * C * of mesh points. * C * X,Y :- 1D arrays holding coordinates of mesh points. * C * dimensioned AT LEAST NODES+3. * C * NODES :- number of mesh points. * C * ELMNTS :- INTEGER array, dimensioned NEMAX x 3, which on exit* C * contains the index of global nodes associated with * C * each element. * C * NELMNT :- on exit contains the number of elements in the * C * triangularisation. * C * * C * P.K.Sweby * C * * C ****************************************************************** C INTEGER ELMNTS DIMENSION X(NODES),Y(NODES),ELMNTS(NEMAX,3) C PI=4.0*ATAN(1.0) C C Calculate artificial nodes NODES+i i=1,2,3,4 and construct first C two (artificial) elements. C XMIN=X(1) XMAX=X(1) YMIN=Y(1) YMAX=Y(1) DO 10 I=2,NODES XMIN=MIN(XMIN,X(I)) XMAX=MAX(XMAX,X(I)) YMIN=MIN(YMIN,Y(I)) YMAX=MAX(YMAX,Y(I)) 10 CONTINUE DX=XMAX-XMIN DY=YMAX-YMIN XL=XMIN-4.0*DX XR=XMAX+4.0*DX YL=YMIN-4.0*DY YR=YMAX+4.0*DY X(NODES+1)=XL Y(NODES+1)=YL X(NODES+2)=XL Y(NODES+2)=YR X(NODES+3)=XR Y(NODES+3)=YR X(NODES+4)=XR Y(NODES+4)=YL ELMNTS(1,1)=NODES+1 ELMNTS(1,2)=NODES+2 ELMNTS(1,3)=NODES+3 ELMNTS(2,1)=NODES+3 ELMNTS(2,2)=NODES+4 ELMNTS(2,3)=NODES+1 NELMNT=2 DO 90 IN=1,NODES C C Add one mesh point at a time and remesh locally if necessary C NDEL=0 NEWEL=0 DO 40 IE=1,NELMNT C C Is point IN insided circumcircle of element IE ? C I1=ELMNTS(IE,1) I2=ELMNTS(IE,2) I3=ELMNTS(IE,3) X2=X(I2)-X(I1) X3=X(I3)-X(I1) Y2=Y(I2)-Y(I1) Y3=Y(I3)-Y(I1) Z=(X2*(X2-X3)+Y2*(Y2-Y3))/(Y2*X3-Y3*X2) CX=0.5*(X3-Z*Y3) CY=0.5*(Y3+Z*X3) R2=CX**2+CY**2 RN2=((X(IN)-X(I1)-CX)**2+(Y(IN)-Y(I1)-CY)**2) IF(RN2.GT.R2)GOTO 40 C C Yes it is inside,create new elements and mark old for deletion. C DO 30 J=1,3 DO 20 K=1,3 ELMNTS(NELMNT+NEWEL+J,K)=ELMNTS(IE,K) 20 CONTINUE ELMNTS(NELMNT+NEWEL+J,J)=IN 30 CONTINUE NEWEL=NEWEL+3 ELMNTS(IE,1)=0 NDEL=NDEL+1 C 40 CONTINUE C C If IN was inside circumcircle of more than 1 element then will C have created 2 identical new elements: delete them both. C IF(NDEL.GT.1)THEN DO 60 IE=NELMNT+1,NELMNT+NEWEL-1 DO 60 JE=IE+1,NELMNT+NEWEL MATCH=0 DO 50 K=1,3 DO 50 L=1,3 IF(ELMNTS(IE,K).EQ.ELMNTS(JE,L))MATCH=MATCH+1 50 CONTINUE IF(MATCH.EQ.3)THEN ELMNTS(IE,1)=0 ELMNTS(JE,1)=0 NDEL=NDEL+2 ENDIF 60 CONTINUE ENDIF C C Delete any elements C NN=NELMNT+NEWEL IE=1 70 CONTINUE IF(ELMNTS(IE,1).EQ.0)THEN DO 80 J=IE,NN-1 DO 80 K=1,3 ELMNTS(J,K)=ELMNTS(J+1,K) 80 CONTINUE NN=NN-1 IE=IE-1 ENDIF IE=IE+1 IF(IE.LE.NN)GOTO 70 NELMNT=NN 90 CONTINUE C C Finally remove elements containing artificial nodes C IE=1 100 CONTINUE NART=0 DO 110 L=1,3 IF(ELMNTS(IE,L).GT.NODES)NART=NART+1 110 CONTINUE IF(NART.GT.0)THEN DO 120 J=IE,NN-1 DO 120 K=1,3 ELMNTS(J,K)=ELMNTS(J+1,K) 120 CONTINUE NELMNT=NELMNT-1 IE=IE-1 ENDIF IE=IE+1 IF(IE.LE.NELMNT)GOTO 100 RETURN END c----------------------------------------------------------------------- subroutine estif3(nel,ske,fe,det,xe,ye,xyke,ierr) c----------------------------------------------------------------------- c this subroutine constructs the element stiffness matrix for heat c condution problem c c - Div ( K(x,y) Grad u ) = f c u = 0 on boundary c c using 3-node triangular elements arguments: c nel = element number c ske = element stiffness matrix c fe = element load vector c det = 2*area of the triangle c xy, ye= coordinates of the three nodal points in an element. c xyke = material constants (kxx, kxy, kyx, kyy) c c------------------------------------------------------------------------ implicit real*8 (a-h,o-z) dimension ske(3,3), fe(3), xe(3), ye(3), dn(3,2),xyke(2,2) c c initialize c area = 0.5*det c do 200 i=1,3 do 200 j=1,3 ske(i,j) = 0.0d0 200 continue c c get first gradient of shape function c call gradi3(nel,xe,ye,dn,det,ierr) if (ierr .ne. 0) return c do 100 i=1,3 do 100 j=1,3 t = 0.0d0 do 102 k=1,2 do 102 l=1,2 102 t = t+xyke(k,l)*dn(i,k)*dn(j,l) 100 ske(i,j) = t*area c return end c------------------------------------------------------- subroutine gradi3(nel, xe, ye, dn, det,ierr) c------------------------------------------------------- c constructs the first derivative of the shape functions. c arguments: c nel = element nuumber c xy, ye= coordinates of the three nodal points in an element. c dn = gradients (1-st derivatives) of the shape functions. c area = area of the triangle c c------------------------------------------------------- implicit real*8 (a-h,o-z) dimension xe(3), ye(3), dn(3,2) data eps/1.d-17/ c compute area ierr = 0 if (det .le. eps) goto 100 c dn(1,1) = (ye(2)-ye(3))/det dn(2,1) = (ye(3)-ye(1))/det dn(3,1) = (ye(1)-ye(2))/det dn(1,2) = (xe(3)-xe(2))/det dn(2,2) = (xe(1)-xe(3))/det dn(3,2) = (xe(2)-xe(1))/det c return c 100 continue ierr = 3 write(iout,*) 'ERROR:negative area encountered at elmt: ',nel c write(iout,*) det,(xe(i),ye(i),i=1,3) return end c----------------------------------------------------------------------- subroutine hsourc (indic,nx,nelx,node,x,y,ijk,fs,f) implicit real*8 (a-h,o-z) real*8 x(*),y(*),fs(*),f(*),xe(3),ye(3),det,areao3 integer ijk(node,*) c c generates the load vector f in assembled/unassembled form from the c the element contributions fs. c indic = indicates if f is to be assembled (1) or not (zero) c note: f(*) not initilazed. because might use values from boundary c conditions. c jnod = 0 do 130 nel = 1,nelx c c get coordinates of nodal points c do 104 i=1, node j = ijk(i,nel) xe(i) = x(j) ye(i) = y(j) 104 continue c c compute determinant c det=xe(2)*(ye(3)-ye(1))+xe(3)*(ye(1)-ye(2))+xe(1)*(ye(2)-ye(3)) c area3 = area/3 areao3 = det/6.0 c c contributions to nodes in the element c if (indic .eq. 0) then do 115 ka=1,node jnod = jnod+1 f(jnod) = fs(nel)*areao3 115 continue else do 120 ka=1, node ii = ijk(ka,nel) f(ii) = f(ii) + fs(nel)*areao3 120 continue endif c 130 continue return end c----- end of hsourc --------------------------------------------------- c----------------------------------------------------------------------- subroutine bound (nx,nelx,ijk,nodcode,node,nint,iperm, * x,y,wk,iwk) c----------------------------------------------------------------------- c this routine counts the number of boundary points and c reorders the points in such a way that the boundary nodes c are last. c c nx, nelx, ijk, nodcode, node: see other subroutines c iperm = permutation array from old orderin to new ordering, c iwk = reverse permutation array or return. c wk = real work array c On return c x, y, nodecode, are permuted c ijk is updated according to new oerdering. c nint = number of interior points. c c----------------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension ijk(node,1),x(1),y(1),wk(1),iwk(1),iperm(1), * nodcode(1) c put all boundary points at the end, backwards nint = 1 nbound = nx do 1 j=1, nx if (nodcode(j) .eq. 0) then iperm(nint) = j nint = nint+1 else iperm(nbound) = j nbound = nbound-1 endif 1 continue c------------------------------------------------------------------- nint = nint-1 c c permute x's c do 2 k=1, nx wk(k) = x(k) 2 continue do 3 k=1,nx x(k) = wk(iperm(k)) 3 continue c c permute the y's c do 4 k=1, nx wk(k) = y(k) 4 continue do 5 k=1, nx y(k) = wk(iperm(k)) 5 continue c c permute the boundary information c do 6 k=1, nx iwk(k) = nodcode(k) 6 continue do 7 k=1,nx nodcode(k) = iwk(iperm(k)) 7 continue c c get reverse permutation c do 8 k=1, nx iwk(iperm(k)) = k 8 continue c c update the elements connectivity matrix c do 10 nel = 1, nelx do 9 j=1, node knod = ijk(j,nel) ijk(j,nel) = iwk(knod) 9 continue 10 continue return end c----------------------------------------------------------------------- subroutine symbound (nx,nelx,ijk,nodcode,node,nint, * iperm,wk,iwk) c----------------------------------------------------------------------- c this routine is a symbolic version of routine bound. c c nx, nelx, ijk, nodcode, node: see other subroutines c iperm = permutation array from old orderin to new ordering, c iwk = reverse permutation array or return. c wk = real work array c On return c ijk = is updated according to new oerdering. c nint = number of interior points. c c----------------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension ijk(node,1),wk(1),iwk(1),iperm(1), * nodcode(1) c put all boundary points at the end, backwards nint = 1 nbound = nx do 1 j=1, nx if (nodcode(j) .eq. 0) then iperm(nint) = j nint = nint+1 else iperm(nbound) = j nbound = nbound-1 endif 1 continue c------------------------------------------------------------------- nint = nint-1 c c permute the boundary information c do 6 k=1, nx iwk(k) = nodcode(k) 6 continue do 7 k=1,nx nodcode(k) = iwk(iperm(k)) 7 continue c c get reverse permutation c do 8 k=1, nx iwk(iperm(k)) = k 8 continue c c update the elements connectivity matrix c do 10 nel = 1, nelx do 9 j=1, node knod = ijk(j,nel) ijk(j,nel) = iwk(knod) 9 continue 10 continue return end c----------------------------------------------------------------------- subroutine diric (nx,nint,a,ja,ia, f) c-------------------------------------------------------------- c this routine takes into account the boundary conditions c and removes the unnecessary boundary points. c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension a(*),ia(*),ja(*),f(*) c call extract from UNARY call submat (nx,1,1,nint,1,nint,a,ja,ia,nr,nc,a,ja,ia) write (*,*) 'nr=',nr,'nc=',nc return c----------- end of diric ------------------------------------- end c----------------------------------------------------------------------- subroutine symdiric (nx,nint,a,ja,ia, f) c-------------------------------------------------------------- c this routine takes into account the boundary conditions c and removes the unnecessary boundary points. c-------------------------------------------------------------- implicit real*8 (a-h,o-z) dimension a(*),ia(*),ja(*),f(*) c call submat from UNARY, with job = 0, c meaning no movement of real values. call submat (nx,0,1,nint,1,nint,a,ja,ia,nr,nc,a,ja,ia) return c----------- end of symdiric ------------------------------------- end c----------------------------------------------------------------------- subroutine cleannods (nx,x,y,nelx,ijk,node,nodcode,iperm) c implicit none integer nx,nelx,node,ijk(node,nelx),nodcode(*),iperm(nx) real*8 x(nx),y(nx) c----------------------------------------------------------------------- c this routine removes the nodes that do not belong to any element c (spurious points) and relabels the ijk array accordingly. c----------------------------------------------------------------------- integer nel,i,k,j,indx c do j=1, nx iperm(j) = 0 enddo c do nel = 1, nelx do i=1,node k = ijk(i,nel) iperm(k) = nel enddo enddo c indx = 0 do j =1, nx if (iperm(j) .ne. 0) then indx = indx+1 iperm(indx) = j x(indx) = x(j) y(indx) = y(j) nodcode(indx) = nodcode(j) endif enddo c c update nx c nx = indx c c old number to new numbers c do j =1, nx iperm(nx+iperm(j)) = j enddo c c c change all node numbers in ijk c do nel = 1, nelx do i=1,node k = ijk(i,nel) k = iperm(nx+k) ijk(i,nel) = k enddo enddo return c----------------------------------------------------------------------- c-----end-of-cleannod--------------------------------------------------- end c----------------------------------------------------------------------- subroutine cleanel (nelx,ijk,node,nodcode,nodexc) c implicit none integer nelx,node,nodexc,ijk(node,nelx),nodcode(*) c----------------------------------------------------------------------- c this routine remove certain types of elements from the mesh c An element whose nodes are all labelled by the same label c nodexc are removed. nelx is changed accordingly on return. c----------------------------------------------------------------------- logical exclude integer nel, i,k nel = 1 1 continue exclude = .true. do i=1,node k = ijk(i,nel) exclude = (exclude .and. nodcode(k).eq. nodexc) enddo c if (exclude) then do i=1,node ijk(i,nel) = ijk(i,nelx) enddo nelx = nelx - 1 else nel = nel+1 endif if (nel .le. nelx) goto 1 return c----------------------------------------------------------------------- c-----end-of-cleanel---------------------------------------------------- end subroutine lstif3(ske, fe, xe, ye, 1 xyk, funb, func, fung) c--------------------------------------------------------------------------- c c This subroutine computes the local stiffness matrix for the c Diffusion-Convection Equation with the c variable cofficients, 'K(x,y), B(x,y), C(x,y) ' c c -Div( K(x,y) T(x,y)) + B(x,y) Tx + C(x,y) Ty = G c c Here K(x,y) is a 2x2 Matrix, where each entry is a function of x and y. c c K, B, C and G need to be supplied by user. c They need to be defined as externals in the calling routines. c c PSI(i,x,y) : i-th shape fucntions on the standard triangle N, i=1, 2, 3 c where N is the following. c c (-1,1) c . c . . c . . c . . c . . . . . . (1,-1) c (-1,-1) c c Local stiffness matrix is obtained by integral on the current c element. To do so, change the current coordinates to N c by Affine mapping, sending c c (xe(1),ye(1)) ---> (-1,-1) c (xe(2),ye(2)) ---> (1,-1) c (xe(3),ye(3)) ---> (-1,1) . c c Then we perform the integration on N c by Gaussian Quadrature with 9 points. c c--------------------------------------------------------------------------- c c on entry c --------- c c xe = x coordinates of the nodes in the current element. c ye = y coordinates of the nodes in the current element. c xyk = subroutine defining the function K(x,y). c funb = function defining the function b(x,y). c func = function defining the function c(x,y). c fung = function defining the function g(x,y). c c--------------------------------------------------------------------------- c c on return c --------- c c ske : Local Stiffness Matrix.( 3x3 in this subroutine.) c fe : Local Load Vector. c c--------------------------------------------------------------------------- implicit real*8(a-h,o-z) dimension ske(3,3), fe(3), xe(3), ye(3), dn(3,2), 1 xyke(2,2), wei(9), gau1(9), gau2(9) external xyk, funb, func, fung c Gau1 and Gau2 are the Gaussian Quadrature Points for the Traingle N, c and Wei, are the corresponding weights. c c They are derived from the 1-D case by Reiterated integrals. c data gau1/-0.8, -0.1127016654, 0.5745966692, -0.8872983346, -0.5, 1 -0.1127016654, -0.9745966692, -0.8872983346, -0.8 / data gau2/3*-0.7745966692, 3*0., 3*0.7745966692 / data wei/0.2738575107, 0.4381720172, 0.2738551072, 0.2469135803, 1 0.3950617284, 0.2469135803, 0.03478446464, 2 0.05565514341, 0.03478446464 / npt = 9 c c Compute the Affine mappings from the current triangle to the c standard triangle N. Integration will be performed on that c triangle by Gaussian quadrature. c c T = A X + B c c A11, A12, A21, A22, B1, B2 will denote the entries of c A & B. c x1 = xe(1) x2 = xe(2) x3 = xe(3) y1 = ye(1) y2 = ye(2) y3 = ye(3) rj1 = (x3-x1)*(y2-y3) - (x2-x3)*(y3-y1) rj2 = (x3-x1)*(y1-y2) - (x1-x2)*(y3-y1) a11 = 2*(y1-y3)/rj1 a12 = 2*(x3-x1)/rj1 a21 = 2*(y1-y2)/rj2 a22 = 2*(x2-x1)/rj2 b1 = 1. - a11*x2 - a12*y2 b2 = -1. - a21*x2 - a22*y2 c c Compute the first order partial derivatives of the shape functions. c dn(i,1) and dn(i,2) are the first order partial derivativ of i-th shape function c with respect to x and y, respectively. c dn(1,1) = -0.5*(a11+a21) dn(1,2) = -0.5*(a12+a22) dn(2,1) = 0.5*a11 dn(2,2) = 0.5*a12 dn(3,1) = 0.5*a21 dn(3,2) = 0.5*a22 c Compute the Jacobian associated with T. Rja = a11*a22 - a12*a21 c c Find the inverse mapping of T c u11 = a22/rja u12 = -a12/Rja u21 = -a21/rja u22 = a11/rja v1 = -u11*b1 - u12*b2 v2 = -u21*b1 - u22*b2 do 200 i = 1 , 3 T4 = 0. do 220 j = 1 , 3 T1 = 0. T2 = 0. T3 = 0. do 250 k = 1, npt r = gau1(k) s = gau2(k) w = wei(k) x = u11*r + u12*s + v1 y = u21*r + u22*s + v2 call xyk(xyke, x, y) derv2 = dn(i,1)*dn(j,1)*xyke(1,1) 1 + dn(i,2)*dn(j,2)*xyke(2,2) 2 + dn(i,1)*dn(j,2)*xyke(1,2) 3 + dn(i,2)*dn(j,1)*xyke(2,1) if(j .eq. 1) then T4 = T4 + w*fung(x,y)*psi(i,r,s) endif T1 = T1 + w*derv2 T2 = T2 + w*funb(x,y)*psi(i,r,s) T3 = T3 + w*func(x,y)*psi(i,r,s) 250 continue ske(i,j) = (T1 + T2*dn(j,1) + T3*dn(j,2))/Rja 220 continue fe(i) = T4/Rja 200 continue return end c--- end of lstif3 --------------------------------------------------------- c--------------------------------------------------------------------------- C Piecewise linear fucntions on triangle. function psi(i,r,s) implicit real*8(a-h,o-z) goto (100,200,300) ,i 100 psi = -(r+s)/2. return 200 psi = (r+1.)/2. return 300 psi = (s+1.)/2. return end sparskit-2.0.0/MATGEN/FEM/mat.hb0000644000265600020320000011225411063776520015167 0ustar tilleaadmin1Sample matrix from SPARSKIT SPARSKIT 509 19 92 398 0 rua 369 369 2385 0 (20I4) (26I3) (6D12.6) (6D12.6) 1 5 9 13 18 25 28 32 40 43 47 51 55 62 69 74 79 86 91 98 103 108 115 122 127 132 139 144 151 156 163 168 173 178 185 192 199 206 213 220 227 234 241 248 255 262 269 276 283 290 297 304 311 318 325 332 339 346 353 360 367 374 381 388 395 400 407 414 419 426 431 438 443 450 455 462 467 474 479 484 489 494 501 506 513 520 525 532 537 542 547 554 559 566 571 578 583 590 597 602 609 614 619 624 629 634 641 648 655 662 669 676 683 690 697 704 711 718 725 732 739 746 753 760 767 774 781 788 795 802 809 816 823 830 837 844 851 858 865 872 879 886 893 900 907 914 921 928 935 942 949 956 963 970 977 984 991 99810051012 10191026103310401047105410611068107510821089109611031110111711241131113811451152 11591166117311801187119412011208121512221229123612431250125712641271127812851292 12991306131313201327133413411348135513621369137613831390139714041411141814251432 14391446145314601467147414811488149515021509151615231530153715441551155815651572 15791586159316001607161416211628163516421649165616631670167716841691169817051712 17191726173317401747175417611768177517821789179618031810181718241831183818451852 18591866187318801887189419011906191319181925193219391946195119581963197019751980 19871992199920042011201820232028203520402047205220592066207120762081208620912096 21012106211321182125213021372144215121582163217021752182218721922197220222072212 22192226223122382243225022552260226722742279228622912298230523122317232423292336 2341234623512356236123662371237623812386 1286287298 2300301306 3308309316 4294295322323 5290291304312314334 6318 319 7330331338 8326327336340348354362 9364365 10342343346 11350351360 12356 357368 13226227236237288293 14228229256257292297 15230231289296 16232233299303 17234235242243302305 18238239307311 19240241244245310313 20246247317321 21248 249315320 22250251260261324329 23252253262263328333 24254255325332 25258259335 337 26264265268269341345 27266267339344 28270271278279349353 29272273347352 30 274275284285355359 31276277358361 32280281363367 33282283366369 34106108140139 226229 35107106143142228231 36108107137136227230 37109111149148232235 38110109 152151234237 39111110146145233236 40112114158157238241 41113112161160240243 42 114113155154239242 43115117167166244247 44116115170169246249 45117116164163245 248 46118120176175250253 47119118179178252255 48120119173172251254 49121123185 184256259 50122121188187258261 51123122182181257260 52124126194193262265 53125 124197196264267 54126125191190263266 55127129203202268271 56128127206205270273 57129128200199269272 58130132212211274277 59131130215214276279 60132131209208 275278 61133135221220280283 62134133224223282285 63135134218217281284 64136138 147146286288 65138137287289 66139141186185290292 67141140151153291293 68142144 294296 69144143181183295297 70145147298299 71148150156155300302 72150149301303 73153152160162304305 74154156306307 75157159168167308310 76159158309311 77162 161163165312313 78165164314315 79166168316317 80169171318320 81171170319321 82 172174183182322324 83174173323325 84175177195194326328 85177176187189327329 86 178180330332 87180179190192331333 88184186334335 89189188336337 90192191338339 91193195204203340341 92196198342344 93198197199201343345 94201200346347 95202 204210209348349 96205207350352 97207206214216351353 98208210219218354355 99211 213356358100213212223225357359101216215360361102217219362363103220222364366104 222221365367105225224368369106107108228229 34 35106107108230231 35 36106107108 226227 34 36109110111234235 37 38109110111236237 38 39109110111232233 37 39112 113114240241 40 41112113114242243 41 42112113114238239 40 42115116117246247 43 44115116117248249 44 45115116117244245 43 45118119120252253 46 47118119120254 255 47 48118119120250251 46 48121122123258259 49 50121122123260261 50 51121122 123256257 49 51124125126264265 52 53124125126266267 53 54124125126262263 52 54 127128129270271 55 56127128129272273 56 57127128129268269 55 57130131132276277 58 59130131132278279 59 60130131132274275 58 60133134135282283 61 62133134135 284285 62 63133134135280281 61 63136137138227288 64 36136137138289230 36 65136 137138286287 64 65139140141229292 66 34139140141293226 34 67139140141290291 66 67142143144231296 68 35142143144297228 35 69142143144294295 68 69145146147233 299 70 39145146147288236 39 64145146147298286 70 64148149150235302 71 37148149 150303232 37 72148149150300301 71 72151152153237293 67 38151152153305234 38 73 151152153291304 67 73154155156239307 74 42154155156302242 42 71154155156306300 74 71157158159241310 75 40157158159311238 40 76157158159308309 75 76160161162 243305 73 41160161162313240 41 77160161162304312 73 77163164165245313 77 45163 164165315248 45 78163164165312314 77 78166167168247317 79 43166167168310244 43 75166167168316308 79 75169170171249320 80 44169170171321246 44 81169170171318 319 80 81172173174251324 82 48172173174325254 48 83172173174322323 82 83175176 177253328 84 46175176177329250 46 85175176177326327 84 85178179180255332 86 47 178179180333252 47 87178179180330331 86 87181182183257297 69 51181182183324260 51 82181182183295322 69 82184185186259335 88 49184185186292256 49 66184185186 334290 88 66187188189261329 85 50187188189337258 50 89187188189327336 85 89190 191192263333 87 54190191192339266 54 90190191192331338 87 90193194195265341 91 52193194195328262 52 84193194195340326 91 84196197198267344 92 53196197198345 264 53 93196197198342343 92 93199200201269345 93 57199200201347272 57 94199200 201343346 93 94202203204271349 95 55202203204341268 55 91202203204348340 95 91 205206207273352 96 56205206207353270 56 97205206207350351 96 97208209210275355 98 60208209210349278 60 95208209210354348 98 95211212213277358 99 58211212213 359274 58100211212213356357 99100214215216279353 97 59214215216361276 59101214 215216351360 97101217218219281363102 63217218219355284 63 98217218219362354102 98220221222283366103 61220221222367280 61104220221222364365103104223224225285 359100 62223224225369282 62105223224225357368100105226108227293140 13 34226108 227136288 13 36228106229297143 14 35228106229139292 14 34230107231289137 15 36 230107231142296 15 35232111233303149 16 37232111233145299 16 39234109235305152 17 38234109235148302 17 37236110237288146 13 39236110237151293 13 38238114239 311158 18 40238114239154307 18 42240112241313161 19 41240112241157310 19 40242 113243302155 17 42242113243160305 17 41244117245310167 19 43244117245163313 19 45246115247321170 20 44246115247166317 20 43248116249315164 21 45248116249169 320 21 44250120251329176 22 46250120251172324 22 48252118253333179 23 47252118 253175328 23 46254119255325173 24 48254119255178332 24 47256123257292185 14 49 256123257181297 14 51258121259337188 25 50258121259184335 25 49260122261324182 22 51260122261187329 22 50262126263328194 23 52262126263190333 23 54264124265 345197 26 53264124265193341 26 52266125267339191 27 54266125267196344 27 53268 129269341203 26 55268129269199345 26 57270127271353206 28 56270127271202349 28 55272128273347200 29 57272128273205352 29 56274132275359212 30 58274132275208 355 30 60276130277361215 31 59276130277211358 31 58278131279349209 28 60278131 279214353 28 59280135281367221 32 61280135281217363 32 63282133283369224 33 62 282133283220366 33 61284134285355218 30 63284134285223359 30 62286138287298147 1 64286138287 1 65227136288146236 13 64289137230 15 65290141291334186 5 66 290141291153304 5 67229139292185256 14 66293140226237151 13 67294144295 4 68 294144295183322 4 69231142296 15 68297143228257181 14 69298147286 1 70233145 299 16 70300150301306156 2 71300150301 2 72235148302155242 17 71303149232 16 72291153304162312 5 73305152234243160 17 73306156300 2 74239154307 18 74308 159309316168 3 75308159309 3 76241157310167244 19 75311158238 18 76304162312 165314 5 77313161240245163 19 77312165314 5 78315164248 21 78316168308 3 79 247166317 20 79318171319 6 80318171319 6 81249169320 21 80321170246 20 81322 174323295183 4 82322174323 4 83251172324182260 22 82325173254 24 83326177327 340195 8 84326177327189336 8 85253175328194262 23 84329176250261187 22 85330 180331 7 86330180331192338 7 87255178332 24 86333179252263190 23 87334186290 5 88259184335 25 88327189336 8 89337188258 25 89331192338 7 90339191266 27 90340195326348204 8 91265193341203268 26 91342198343 10 92342198343201346 10 93267196344 27 92345197264269199 26 93343201346 10 94347200272 29 94348204340 354210 8 95271202349209278 28 95350207351 11 96350207351216360 11 97273205352 29 96353206270279214 28 97354210348362219 8 98275208355218284 30 98356213357 12 99356213357225368 12100277211358 31 99359212274285223 30100351216360 11101 361215276 31101362219354 8102281217363 32102364222365 9103364222365 9104283 220366 33103367221280 32104357225368 12105369224282 33105 0.113853E+01-.195313E-02-.575124E+00-.561452E+000.422461E+01-.138777E+01 -.140127E+01-.143557E+010.109521E+02-.363284E+01-.354984E+01-.376946E+01 0.581191E+01-.126000E+01-.279169E+01-.106120E+00-.165409E+010.212429E+02 -.714433E+010.605469E-01-.309815E+01-.345169E+01-.380250E+01-.380676E+01 0.116662E+02-.587421E+01-.579202E+010.154372E+02-.349426E+01-.771406E+01 -.422891E+010.596294E+02-.185829E+020.164713E+00-.863206E+01-.251953E+00 -.107769E+02-.109829E+02-.105675E+020.332621E+02-.166681E+02-.165940E+02 0.198031E+02-.933238E+010.310547E+00-.107813E+020.760070E+02-.251677E+02 -.246854E+02-.261539E+020.779786E+02-.263571E+02-.261276E+02-.254939E+02 0.109416E+02-.303909E+01-.264850E+01-.244798E+01-.280211E+010.292969E-01 -.332031E-010.180320E+020.813802E-01-.400577E+01-.852864E-01-.502651E+01 -.463328E+01-.436254E+010.352740E+01-.170153E+01-.540364E-01-.776606E+00 -.995235E+000.352740E+010.188802E-01-.179267E+01-.844965E+00-.908646E+00 0.177179E+02-.435213E+010.846354E-02-.439768E+01-.473607E+01-.189173E+01 -.234874E+010.915553E+01-.315755E-01-.457737E+01-.216269E+01-.238390E+01 0.292905E+02-.698365E+010.725911E-01-.761003E+01-.767969E+01-.345430E+01 -.363545E+010.186563E+02-.708008E-01-.921896E+01-.451251E+01-.485402E+01 0.184896E+02-.912196E+010.776367E-01-.457647E+01-.486883E+010.297222E+02 -.823563E+01-.715474E+01-.664173E+01-.768616E+010.133463E+00-.137370E+00 0.484203E+020.185547E+00-.110552E+02-.133835E+02-.231120E+00-.126784E+02 -.112576E+020.957841E+01-.462286E+01-.158203E+00-.209077E+01-.270658E+01 0.230525E+02-.117141E+020.112630E+00-.519240E+01-.625868E+010.805632E+02 -.186550E+02-.183919E+02-.216064E+02-.219059E+020.279297E+00-.283203E+00 0.254511E+020.258463E+00-.132299E+02-.559257E+01-.688712E+010.132081E+03 -.304036E+00-.309451E+02-.329645E+02-.353405E+02-.148767E+02-.176501E+02 0.630204E+02-.305362E+020.331380E+00-.152600E+02-.175555E+020.133373E+03 -.239909E+00-.333526E+02-.318650E+02-.340234E+02-.158228E+02-.180697E+02 0.103485E+03-.512571E+020.280924E+00-.261435E+02-.263649E+020.534711E+02 -.786133E-01-.268678E+02-.129251E+02-.135996E+020.825567E+02-.414242E+02 0.854492E-01-.198324E+02-.213854E+020.140459E+02-.340219E+010.553385E-01 -.360060E+01-.592448E-01-.312354E+01-.391571E+010.109416E+02-.240631E+01 -.279690E+01-.308076E+01-.265371E+01-.696614E-010.657552E-010.852390E+01 -.436198E-01-.238653E+010.397135E-01-.189170E+01-.218080E+01-.206097E+01 0.109416E+02-.299742E+01-.264329E+01-.248964E+01-.280732E+01-.716146E-02 0.325521E-020.140459E+020.188802E-01-.316521E+01-.227865E-01-.387404E+01 -.360581E+01-.339698E+010.852390E+01-.218601E+01-.716146E-02-.205576E+01 0.325521E-02-.193337E+01-.234486E+010.230692E+02-.586496E+01-.546024E+01 -.565662E+01-.607634E+010.465495E-01-.576172E-010.230692E+020.595703E-01 -.565793E+01-.706380E-01-.586365E+01-.609066E+01-.544592E+010.179676E+02 -.472175E+01-.445963E-01-.426237E+010.335286E-01-.439638E+01-.457606E+01 0.335163E+02-.869232E+01-.681966E-01-.806989E+010.672200E-01-.813304E+01 -.862006E+010.379785E+02-.920724E+01-.913758E+01-.977698E+01-.985576E+01 0.737304E-01-.747070E-010.335163E+020.711263E-01-.863178E+01-.721028E-01 -.812132E+01-.805426E+01-.870795E+010.381607E+02-.915874E+010.159505E+00 -.990143E+01-.163411E+00-.856759E+01-.105290E+020.297222E+02-.660006E+01 -.768095E+01-.827730E+01-.715995E+01-.173828E+000.169922E+000.231502E+02 -.147786E+00-.647968E+010.143880E+00-.511171E+01-.596146E+01-.559348E+01 0.297222E+02-.819397E+01-.714954E+01-.668339E+01-.769137E+010.970052E-01 -.100911E+000.381607E+020.123047E+00-.860926E+01-.126953E+00-.104874E+02 -.990663E+01-.915353E+010.231502E+02-.596666E+01-.111328E+00-.558827E+01 0.107422E+00-.515338E+01-.643802E+010.627452E+02-.257161E+00-.145046E+02 0.253255E+00-.168479E+02-.142676E+02-.171213E+020.627452E+02-.142051E+02 0.268880E+00-.171838E+02-.272786E+00-.168947E+02-.144577E+020.488686E+02 -.131830E+02-.134460E+02-.112311E+02-.110046E+020.242838E+00-.246745E+00 0.103442E+03-.279722E+02-.293620E+00-.237650E+020.289713E+00-.240385E+02 -.276623E+020.132819E+03-.308982E+02-.305987E+02-.354909E+02-.358269E+02 0.315755E+00-.319661E+000.103442E+030.305338E+00-.277091E+02-.309245E+00 -.239916E+02-.237025E+02-.280347E+020.170422E+03-.427835E+02-.399174E+02 -.423668E+02-.453437E+020.254883E+00-.265950E+000.170422E+030.267904E+00 -.423681E+02-.278971E+00-.427822E+02-.453580E+02-.399031E+020.132726E+03 -.353262E+02-.252930E+00-.310746E+020.241862E+00-.329632E+02-.333513E+02 0.132637E+03-.344472E+02-.322889E+02-.318755E+02-.340247E+020.815429E-01 -.825195E-010.150297E+030.880534E-01-.361395E+02-.890299E-01-.390131E+02 -.385711E+02-.365725E+020.117052E+03-.300119E+02-.851237E-01-.285091E+02 0.841471E-01-.281035E+02-.304266E+020.664102E+01-.183434E+01-.159359E+01 -.150244E+01-.170674E+010.136719E-01-.175781E-010.274844E+01-.133809E+01 -.279948E-01-.620062E+00-.762297E+000.231502E+020.709635E-01-.519505E+01 -.748698E-01-.639635E+01-.597187E+01-.558307E+010.180320E+02-.498484E+01 -.435734E+01-.404744E+01-.463849E+01-.488281E-010.449219E-010.452761E+01 -.217559E+01-.800781E-01-.128694E+01-.985008E+000.140459E+020.917968E-01 -.308187E+01-.957031E-01-.395737E+01-.340739E+01-.359539E+010.274844E+01 0.846354E-02-.139278E+01-.651963E+00-.712167E+000.138007E+02-.339177E+01 -.175781E-01-.341806E+01-.366708E+01-.149280E+01-.181336E+010.452761E+01 0.292969E-01-.230319E+01-.116389E+01-.108983E+010.227477E+02-.557786E+01 0.345052E-01-.565923E+01-.610498E+01-.302509E+01-.241507E+010.713003E+01 -.185547E-01-.357041E+01-.169095E+01-.185012E+010.292905E+02-.699797E+01 0.595703E-01-.759831E+01-.766407E+01-.345560E+01-.363414E+010.117511E+02 -.445963E-01-.586626E+01-.307075E+01-.276953E+010.292905E+02-.696933E+01 0.856120E-01-.762175E+01-.769532E+01-.363675E+01-.345299E+010.163050E+02 -.803864E+010.750325E-01-.403914E+01-.430222E+010.164716E+02-.642903E-01 -.814476E+01-.398429E+01-.427830E+010.209652E+02-.103492E+020.802409E-01 -.551123E+01-.518500E+010.211318E+02-.773112E-01-.104371E+02-.550554E+01 -.511193E+010.180320E+02-.506818E+01-.436775E+01-.396411E+01-.462807E+01 0.117838E+00-.121745E+000.746097E+01-.359019E+01-.132161E+00-.162049E+01 -.211813E+010.621696E+020.175130E+00-.143059E+02-.170588E+02-.241536E+00 -.162711E+02-.144674E+020.489960E+02-.134173E+02-.117193E+02-.110969E+02 -.127585E+02-.152995E+000.149088E+000.122973E+02-.595625E+01-.184245E+00 -.345476E+01-.270201E+010.377124E+020.195963E+00-.852593E+01-.105235E+02 -.220703E+00-.875324E+01-.988495E+010.179731E+02-.914832E+010.865885E-01 -.402784E+01-.488351E+010.295747E+02-.150012E+020.138672E+00-.801704E+01 -.669513E+010.198226E+020.232422E+00-.103334E+02-.432566E+01-.539598E+01 0.805632E+02-.187018E+02-.184544E+02-.215596E+02-.218434E+020.263672E+00 -.267578E+000.326782E+020.284505E+00-.169416E+02-.879439E+01-.722671E+01 0.805632E+02-.186081E+02-.183294E+02-.216533E+02-.219684E+02-.298828E+00 0.294922E+000.489434E+02-.236400E+020.320963E+00-.118784E+02-.137459E+02 0.102867E+03-.277995E+00-.240853E+02-.256429E+02-.275249E+02-.115446E+02 -.137910E+020.810956E+02-.393881E+020.341797E+00-.224502E+02-.195991E+02 0.169593E+03-.330078E+00-.397605E+02-.423694E+02-.453723E+02-.225942E+02 -.191663E+020.103872E+03-.226888E+00-.260036E+02-.247751E+02-.264713E+02 -.123095E+02-.140858E+020.103503E+03-.512715E+020.267904E+00-.261383E+02 -.263610E+020.171253E+03-.252930E+00-.427848E+02-.409731E+02-.437237E+02 -.231847E+02-.203343E+020.103466E+03-.512428E+020.293945E+00-.263688E+02 -.261487E+020.472127E+02-.812174E-01-.237360E+02-.114068E+02-.119888E+02 0.728635E+02-.365712E+020.789388E-01-.174914E+02-.188799E+020.605627E+02 -.760091E-01-.304162E+02-.154253E+02-.146452E+020.935404E+02-.469226E+02 0.919596E-01-.242237E+02-.224861E+020.123969E+020.605469E-01-.274222E+01 -.347250E+01-.644531E-01-.317302E+01-.300524E+01-.566405E-010.965729E+01 -.246881E+010.527342E-01-.233965E+01-.271360E+01-.213132E+01-.305992E+01 -.265110E+010.109416E+02-.279951E+01-.242714E+01-.514321E-010.475259E-01 0.123969E+02-.299742E+010.585945E-02-.976560E-02-.318083E+01-.280472E+01 -.341000E+01-.280472E+010.109416E+02-.246881E+01-.264589E+01-.301826E+01 -.149739E-010.110676E-01-.195312E-02-.265110E+010.965729E+01-.219382E+01 -.195306E-02-.247662E+01-.233184E+010.230692E+02-.545308E+010.530599E-01 -.641274E-01-.608350E+01-.565727E+01-.586431E+01-.536389E+010.203592E+02 -.498737E+01-.481680E+01-.518008E+01-.576170E-010.465493E-01-.511067E-01 -.518073E+010.203592E+02-.498672E+010.400391E-01-.535673E+01-.482396E+01 0.356777E+02-.714518E-01-.865326E+01-.918055E+010.704751E-01-.858685E+01 -.925607E+010.724282E-010.356777E+02-.857904E+01-.734047E-01-.926388E+01 -.918641E+01-.864740E+01-.862592E+01-.870014E+010.335163E+02-.806208E+01 -.812718E+010.691731E-01-.701496E-010.336781E+020.164713E+00-.752209E+01 -.933322E+01-.168620E+00-.872124E+01-.809761E+01-.160807E+000.262311E+02 -.676672E+010.156901E+00-.632864E+01-.732402E+01-.580781E+01-.825647E+01 -.715735E+010.297222E+02-.768355E+01-.662089E+01-.155598E+000.151692E+00 0.336781E+02-.808980E+010.110026E+00-.113932E+00-.872905E+01-.758459E+01 -.927072E+01-.768876E+010.297222E+02-.666256E+01-.715214E+01-.821480E+01 -.119140E+000.115234E+00-.106120E+00-.726152E+010.262311E+02-.587031E+01 0.102214E+00-.677454E+01-.632083E+010.627452E+02-.144811E+02-.142363E+02 -.171526E+02-.168713E+020.261068E+00-.264974E+00-.149238E+020.553739E+02 0.255859E+00-.127429E+02-.259765E+00-.151999E+02-.125033E+02-.151686E+02 -.251952E+000.553739E+020.248046E+00-.125346E+02-.149004E+02-.127663E+02 0.117213E+03-.306641E+00-.272534E+02-.313331E+020.302734E+00-.269670E+02 -.316560E+020.310546E+000.117213E+03-.269357E+02-.314452E+00-.316873E+02 -.313565E+02-.272300E+02-.276857E+02-.280034E+020.103442E+03-.237338E+02 -.240150E+020.297526E+00-.301432E+000.170422E+03-.399103E+020.261393E+00 -.272460E+00-.453508E+02-.423674E+02-.427828E+02-.400294E+020.150398E+03 -.373717E+02-.352129E+02-.377728E+02-.265950E+000.254882E+00-.259440E+00 -.377734E+020.150398E+03-.373711E+020.248372E+00-.400223E+02-.352201E+02 0.141191E+03-.343639E+020.847982E-01-.857745E-01-.362268E+02-.339407E+02 -.366591E+02-.340240E+020.132637E+03-.318702E+02-.322895E+02-.344524E+02 -.870765E-010.860999E-01-.838216E-01-.323742E+020.124601E+03-.299305E+02 0.828451E-01-.319555E+02-.303400E+020.752370E+01-.181351E+010.266927E-01 -.305989E-01-.192816E+01-.168330E+01-.209483E+01-.170413E+010.664102E+01 -.148161E+01-.159619E+01-.185517E+01-.358072E-010.319009E-01-.227864E-01 -.162224E+010.586205E+01-.132507E+010.188802E-01-.151026E+01-.140059E+01 0.180320E+02-.402661E+01-.463589E+01-.435994E+01-.500568E+01-.670570E-01 0.631508E-01-.441723E+010.159146E+02-.540365E-01-.355633E+010.501303E-01 -.385060E+01-.408650E+01-.493276E+010.579428E-010.204314E+02-.618488E-01 -.526275E+01-.564817E+01-.458380E+010.965729E+01-.748698E-01-.273443E+01 -.211049E+010.709635E-01-.234226E+01-.246621E+010.787758E-010.123969E+02 -.300784E+01-.826821E-01-.317042E+01-.272138E+01-.349333E+01-.238548E+01 -.279430E+010.109416E+02-.265631E+01-.310159E+010.839841E-01-.878904E-01 0.664102E+01-.181351E+01-.159099E+01-.170934E+01-.152328E+01-.455732E-02 0.651076E-03-.170413E+010.752370E+010.846358E-02-.207399E+01-.123698E-01 -.193076E+01-.181090E+01-.151286E+01-.455731E-020.586205E+010.651036E-03 -.139798E+01-.134590E+01-.160140E+010.123969E+02-.123698E-01-.282555E+01 -.338917E+010.846345E-02-.318344E+01-.299482E+010.162760E-010.965729E+01 -.247923E+01-.201822E-01-.232924E+01-.263027E+01-.221465E+01-.297659E+01 -.264068E+010.109416E+02-.280992E+01-.251048E+010.214844E-01-.253906E-01 0.159146E+02-.408911E+01-.358074E-010.319009E-01-.384800E+01-.439640E+01 -.357716E+01-.435473E+010.180320E+02-.496401E+01-.464109E+01-.406827E+01 0.266925E-01-.305988E-010.397135E-01-.460464E+010.204314E+02-.562734E+01 -.436199E-01-.493016E+01-.526536E+010.158571E+02-.404226E+01-.377385E+01 -.415430E+01-.387559E+010.205077E-01-.315754E-01-.387624E+010.158571E+02 0.270182E-01-.404160E+01-.380859E-01-.416146E+01-.376669E+01-.365992E+01 -.250651E-010.139945E+020.139973E-01-.333634E+01-.341741E+01-.356976E+01 0.261401E+020.530599E-01-.641668E+01-.663933E+01-.641276E-01-.689185E+01 -.618116E+01-.511066E-010.230692E+02-.606918E+010.400389E-01-.546741E+01 -.586561E+01-.565597E+01-.663998E+01-.618832E+010.261401E+02-.688469E+01 -.641603E+01-.576170E-010.465493E-010.230692E+02-.609782E+01-.771484E-01 0.660805E-01-.543876E+01-.586300E+01-.565858E+01-.615967E+010.261401E+02 -.663738E+01-.691334E+01-.641863E+010.725910E-01-.836587E-010.791015E-01 -.641928E+010.261401E+02-.663673E+01-.901692E-01-.615251E+01-.692050E+01 0.314858E+02-.818577E+01-.708006E-010.698240E-01-.756120E+01-.762696E+01 -.811091E+01-.804645E+010.335163E+02-.811546E+01-.871576E+01-.863764E+01 0.730793E-01-.740559E-010.717773E-01-.811676E+010.314858E+02-.762110E+01 -.727538E-01-.755339E+01-.819359E+010.335163E+02-.813890E+01-.807770E+01 -.868451E+01-.861420E+010.652668E-01-.662434E-01-.809333E+010.314858E+02 0.639647E-01-.764454E+01-.649413E-01-.816234E+01-.758464E+01-.815452E+01 -.629882E-010.314858E+020.620115E-01-.759245E+01-.808747E+01-.765040E+01 0.404278E+020.769856E-01-.104117E+02-.979716E+01-.779621E-01-.104937E+02 -.972425E+01-.760089E-010.404278E+02-.104859E+020.750323E-01-.973206E+01 -.980302E+01-.104058E+02-.104312E+02-.103570E+020.430349E+02-.111646E+02 -.110812E+02-.792642E-010.782877E-010.204314E+02-.494318E+010.130859E+00 -.134765E+00-.525234E+01-.450047E+01-.573150E+01-.462547E+010.180320E+02 -.394327E+01-.437036E+01-.508901E+01-.139974E+000.136067E+00-.126953E+00 -.450057E+010.159146E+02-.347300E+010.123047E+00-.407609E+01-.386102E+01 0.489960E+02-.110761E+02-.127559E+02-.117219E+02-.134382E+02-.171223E+00 0.167317E+00-.118834E+020.432402E+02-.158203E+00-.975299E+010.154297E+00 -.103598E+02-.112401E+02-.132611E+020.162109E+000.555181E+02-.166015E+00 -.144778E+02-.151757E+02-.125996E+020.262311E+02-.179036E+00-.734485E+01 -.578698E+010.175130E+00-.633125E+01-.676412E+010.182942E+000.336781E+02 -.810022E+01-.186848E+00-.871863E+01-.750126E+01-.935405E+01-.657922E+01 -.767834E+010.297222E+02-.716256E+01-.829813E+010.188150E+00-.192057E+00 0.180320E+02-.504734E+01-.436515E+01-.463068E+01-.398494E+010.996091E-01 -.103515E+00-.452130E+010.204314E+020.112630E+00-.571067E+01-.116536E+00 -.525494E+01-.494057E+01-.407869E+01-.108724E+000.159146E+020.104817E+00 -.385841E+01-.349383E+01-.447973E+010.336781E+020.917968E-01-.760543E+01 -.924988E+01-.957032E-01-.873165E+01-.808720E+01-.878904E-010.262311E+02 -.677714E+010.839841E-01-.631823E+01-.724068E+01-.589114E+01-.817314E+01 -.714693E+010.297222E+02-.769397E+01-.670422E+01-.826820E-010.787757E-01 0.432402E+02-.112427E+02-.139974E+000.136067E+00-.103572E+02-.118625E+02 -.977382E+01-.117167E+020.489960E+02-.133965E+02-.127611E+02-.111177E+02 0.130859E+00-.134765E+000.143880E+00-.126205E+020.555181E+02-.151549E+02 -.147786E+00-.132585E+02-.144804E+020.431278E+02-.233724E+00-.989852E+01 -.116452E+020.229817E+00-.968498E+01-.118952E+020.237630E+000.431278E+02 -.965373E+01-.241536E+00-.119264E+02-.116686E+02-.987509E+01-.103100E+02 -.105548E+020.380615E+02-.849226E+01-.870060E+010.224609E+00-.228516E+00 0.710981E+02-.162307E+020.258463E+00-.262369E+00-.193347E+02-.190560E+02 -.164729E+02-.170901E+020.627452E+02-.168244E+02-.142988E+02-.145280E+02 -.249349E+000.245443E+00-.254557E+00-.164963E+020.710981E+02-.190326E+02 0.250650E+00-.193034E+02-.162619E+020.627452E+02-.169182E+02-.172151E+02 -.141738E+02-.144343E+02-.280599E+000.276693E+00-.164026E+020.710981E+02 -.285807E+00-.191263E+020.281900E+00-.161369E+02-.194284E+02-.161057E+02 0.289713E+000.710981E+02-.293619E+00-.194597E+02-.163791E+02-.191498E+02 0.912885E+02-.248119E+02-.304036E+000.300129E+00-.208486E+02-.211325E+02 -.244916E+02-.236713E+020.103442E+03-.239681E+02-.280659E+02-.277326E+02 0.313151E+00-.317057E+000.307943E+00-.245150E+020.912885E+02-.211090E+02 -.311848E+00-.208174E+02-.248431E+020.103442E+03-.240619E+02-.237963E+02 -.279409E+02-.276388E+020.281901E+00-.285807E+00-.244213E+020.912885E+02 0.276692E+00-.212028E+02-.280598E+00-.247181E+02-.209424E+02-.246869E+02 -.272786E+000.912885E+020.268879E+00-.209736E+02-.243978E+02-.212262E+02 0.150502E+030.328776E+00-.402006E+02-.350300E+02-.332681E+00-.405496E+02 -.347175E+02-.324869E+000.150502E+03-.405183E+020.320963E+00-.347487E+02 -.350534E+02-.401772E+02-.397371E+02-.394194E+020.170539E+03-.458664E+02 -.455123E+02-.337890E+000.333984E+000.117131E+03-.294485E+02-.274233E+02 -.311749E+02-.290735E+020.228841E+00-.239908E+00-.290742E+020.117131E+03 0.235351E+00-.294479E+02-.246419E+00-.311820E+02-.274162E+02-.275177E+02 -.233398E+000.103369E+030.222330E+00-.241947E+02-.256423E+02-.260029E+02 0.193113E+030.261393E+00-.480286E+02-.484596E+02-.272461E+00-.513737E+02 -.452401E+02-.259439E+000.170422E+03-.453365E+020.248372E+00-.399246E+02 -.427841E+02-.423661E+02-.484603E+02-.452473E+020.193113E+03-.513665E+02 -.480280E+02-.265950E+000.254882E+000.170422E+03-.453651E+02-.285481E+00 0.274413E+00-.398960E+02-.427815E+02-.423687E+02-.452187E+020.193113E+03 -.484577E+02-.513952E+02-.480306E+020.280924E+00-.291992E+000.287435E+00 -.480312E+020.193113E+03-.484570E+02-.298502E+00-.452115E+02-.514023E+02 0.103299E+03-.268730E+02-.251723E+02-.264720E+02-.247804E+020.821937E-01 -.831703E-01-.263873E+020.109961E+030.854492E-01-.285970E+02-.864258E-01 -.281862E+02-.267890E+02-.248611E+02-.844727E-010.970402E+020.834959E-01 -.236540E+02-.232659E+02-.252582E+020.141191E+030.802409E-01-.339459E+02 -.366538E+02-.812175E-01-.362274E+02-.343632E+02-.792641E-010.124601E+03 -.319562E+020.782875E-01-.303394E+02-.323689E+02-.299357E+02-.344420E+02 -.322882E+020.132637E+03-.340253E+02-.318807E+02-.779619E-010.769854E-01 0.159990E+03-.410668E+02-.922852E-010.913083E-01-.389233E+02-.415186E+02 -.384806E+02-.414249E+020.170309E+03-.441801E+02-.437244E+02-.409783E+02 0.900062E-01-.909827E-010.932617E-01-.436319E+020.181292E+03-.470183E+02 -.942383E-01-.440883E+02-.465528E+020.123969E+02-.300263E+010.423177E-01 -.317562E+01-.462240E-01-.276305E+01-.345167E+01-.384114E-01-.269277E+01 0.965729E+010.345052E-01-.215215E+01-.247141E+01-.233705E+010.140459E+02 -.310271E+01-.359800E+01-.393654E+01-.340479E+01-.774737E-010.735675E-01 -.385321E+010.683594E-010.159146E+02-.408390E+01-.722657E-01-.443807E+01 -.353550E+010.752370E+01-.488281E-01-.211566E+010.449219E-01-.166247E+01 -.181611E+01-.192555E+01-.187087E+01-.217819E+010.852390E+01-.240736E+01 -.206358E+010.579425E-01-.618488E-010.852390E+01-.232403E+01-.205316E+01 -.195420E+01-.218861E+01-.149740E-010.110677E-01-.193337E+010.585932E-02 0.752370E+01-.180830E+01-.976557E-02-.172497E+01-.205316E+010.159146E+02 0.136719E-01-.359800E+01-.175781E-01-.437557E+01-.409171E+01-.384539E+01 -.385321E+01-.339437E+010.140459E+02-.318604E+01-.360842E+01-.455719E-02 0.650949E-030.965729E+01-.247402E+01-.201823E-01-.233444E+010.162761E-01 -.267193E+01-.217299E+010.240885E-01-.278388E+010.123969E+02-.279948E-01 -.343083E+01-.300003E+01-.317823E+010.203592E+02-.518138E+01-.483113E+01 -.498607E+01-.534957E+010.335285E-01-.445962E-01-.471459E+01-.380859E-01 0.179676E+02-.426953E+010.270182E-01-.439573E+01-.457672E+010.261401E+02 0.660807E-01-.641798E+01-.771484E-01-.663803E+01-.690617E+01-.616683E+01 -.663868E+01-.617399E+010.261401E+02-.641733E+01-.689901E+01-.706378E-01 0.595701E-010.179676E+02-.472891E+01-.511067E-01-.425521E+010.400390E-01 -.457541E+01-.439703E+010.530599E-01-.498802E+010.203592E+02-.641276E-01 -.517943E+01-.480964E+01-.537105E+010.314858E+02-.817015E+01-.668944E-01 -.757683E+010.659178E-01-.763868E+01-.809919E+010.678711E-01-.810505E+01 0.314858E+02-.688476E-01-.763282E+01-.756901E+01-.817796E+010.379785E+02 -.921310E+01-.914539E+01-.977112E+01-.984794E+010.717772E-01-.727538E-01 -.924826E+01-.694986E-010.356777E+02-.859467E+010.685220E-01-.917469E+01 -.865912E+010.356777E+020.743815E-01-.919227E+01-.753580E-01-.864154E+01 -.927170E+01-.857123E+01-.920138E+01-.912977E+010.379785E+02-.978284E+01 -.986357E+01-.766601E-010.756835E-010.336781E+02-.809501E+010.146484E+00 -.872384E+01-.150391E+00-.754293E+01-.931238E+01-.142578E+00-.730318E+01 0.262311E+020.138672E+00-.582864E+01-.676933E+01-.632604E+010.381607E+02 -.854676E+01-.989882E+01-.105499E+02-.916134E+01-.181640E+000.177734E+00 -.103624E+020.172526E+000.432402E+02-.112375E+02-.176432E+00-.119042E+02 -.973215E+010.204314E+02-.152995E+00-.575234E+010.149088E+00-.447964E+01 -.494578E+01-.524973E+01-.509088E+01-.595885E+010.231502E+02-.650052E+01 -.559609E+010.162109E+00-.166015E+000.231502E+02-.641718E+01-.558567E+01 -.517421E+01-.596927E+010.891924E-01-.930986E-01-.525754E+01-.983073E-01 0.204314E+02-.493797E+010.944011E-01-.454213E+01-.568984E+010.432402E+02 0.117838E+00-.979466E+01-.121745E+00-.118417E+02-.112453E+02-.103546E+02 -.104665E+02-.915092E+010.381607E+02-.863009E+01-.990924E+01-.108724E+00 0.104817E+000.262311E+02-.677193E+01-.124349E+00-.632343E+010.120443E+00 -.728235E+01-.584948E+010.128255E+00-.756376E+010.336781E+02-.132161E+00 -.929155E+01-.809241E+01-.872644E+010.553739E+02-.244141E+00-.127898E+02 0.240234E+00-.148770E+02-.125658E+02-.151374E+02-.131596E+02-.134148E+02 0.488686E+02-.112546E+02-.110358E+020.235026E+00-.238932E+000.710981E+02 -.161682E+020.274088E+00-.193972E+02-.277994E+00-.191029E+02-.164260E+02 -.270182E+00-.164494E+020.710981E+020.266276E+00-.190794E+02-.193659E+02 -.161994E+020.488686E+02-.132064E+02-.134773E+02-.112077E+02-.109733E+02 -.254557E+000.250651E+00-.124721E+020.263671E+000.553739E+02-.152311E+02 -.267577E+00-.127195E+02-.149473E+020.912885E+02-.247494E+02-.288411E+00 -.209111E+020.284504E+00-.211793E+02-.244447E+020.292318E+00-.244681E+02 0.912885E+02-.296224E+00-.211559E+02-.208799E+02-.247806E+020.132819E+03 -.309216E+02-.306300E+02-.354675E+02-.357956E+020.307942E+00-.311849E+00 -.316248E+02-.298827E+000.117213E+03-.269982E+020.294921E+00-.313096E+02 -.272769E+020.117213E+030.318359E+00-.313800E+02-.322265E+00-.272065E+02 -.317185E+02-.269045E+02-.308748E+02-.305675E+020.132819E+03-.355144E+02 -.358581E+02-.327474E+000.323568E+000.150398E+03-.377741E+02-.352273E+02 -.373704E+02-.400151E+020.241862E+00-.252929E+00-.353190E+02-.246419E+00 0.132726E+03-.310818E+020.235351E+00-.329626E+02-.333519E+020.193113E+03 0.274414E+00-.480299E+02-.285482E+00-.484583E+02-.513880E+02-.452258E+02 -.484590E+02-.452330E+020.193113E+03-.480293E+02-.513808E+02-.278971E+00 0.267903E+000.132726E+03-.353334E+02-.259440E+00-.310675E+020.248372E+00 -.333506E+02-.329639E+020.261393E+00-.373724E+020.150398E+03-.272461E+00 -.377721E+02-.352058E+02-.400366E+020.117052E+03-.304214E+02-.285085E+02 -.281087E+02-.300126E+020.795896E-01-.805661E-01-.281869E+02-.818685E-01 0.109961E+03-.267884E+020.808920E-01-.263925E+02-.285918E+020.159990E+03 0.867513E-01-.384858E+02-.877278E-01-.415134E+02-.410675E+02-.389226E+02 -.390079E+02-.365718E+020.150297E+03-.361447E+02-.385717E+02-.844723E-01 0.834958E-010.124601E+03-.319549E+02-.883789E-01-.303407E+020.874024E-01 -.323794E+02-.299253E+020.893554E-01-.339355E+020.141191E+03-.903320E-01 -.366643E+02-.343645E+02-.362261E+020.517462E+01-.141361E+01-.122644E+01 -.118998E+01-.134069E+010.585934E-02-.976559E-02-.118998E+01-.149740E-01 0.242618E+01-.557546E+00-.663682E+00-.236569E+01-.205837E+010.852391E+01 -.191253E+01-.218340E+01-.253905E-010.214843E-010.311361E+01-.150765E+01 -.410156E-01-.872309E+00-.692635E+000.262311E+020.657552E-01-.591198E+01 -.696614E-01-.721985E+01-.677974E+01-.631562E+01-.637552E+01-.558046E+01 0.231502E+02-.521588E+01-.597448E+01-.566404E-010.527341E-010.761718E-01 -.456297E+010.204314E+02-.800781E-01-.566900E+01-.493536E+01-.526015E+01 0.140459E+02-.389487E+01-.339958E+01-.314437E+01-.360321E+010.371092E-01 -.410154E-010.512968E+01-.246360E+01-.930989E-01-.145987E+01-.111311E+01 0.970052E-01-.270055E+010.123969E+02-.100911E+00-.351416E+01-.301044E+01 -.316781E+01-.192295E+01-.670573E-010.399629E+01-.873490E+00-.113279E+01 0.159146E+020.865885E-01-.351467E+01-.904948E-01-.445890E+01-.408130E+01 -.385581E+010.242618E+010.325521E-02-.122644E+01-.571218E+00-.631781E+00 0.136719E-01-.158057E+010.311361E+01-.803949E+00-.742765E+000.121801E+02 -.299222E+01-.305988E-01-.301391E+01-.322371E+01-.133112E+01-.158850E+01 0.345052E-01-.260943E+010.512968E+01-.131859E+01-.123615E+01-.384279E+01 -.455719E-020.156370E+02-.387689E+01-.416862E+01-.206556E+01-.167860E+01 0.399629E+010.240885E-01-.203233E+01-.960078E+00-.102798E+01-.631302E+01 0.475261E-010.257754E+02-.641993E+01-.692766E+01-.342823E+01-.273407E+01 0.200758E+02-.492755E+010.214845E-01-.498867E+01-.537821E+01-.213585E+01 -.266703E+010.629050E+01-.120443E-01-.315259E+01-.149612E+01-.162975E+01 -.250651E-01-.404291E+010.808013E+01-.210019E+01-.191197E+010.292905E+02 -.700513E+010.530599E-01-.759245E+01-.765625E+01-.345625E+01-.363349E+01 -.511067E-01-.664063E+010.133117E+02-.348473E+01-.313521E+01-.699081E+01 0.660807E-010.292905E+02-.760417E+01-.767188E+01-.363480E+01-.345495E+01 0.103729E+02-.380859E-01-.518203E+01-.244705E+01-.270573E+01-.696216E+01 0.921223E-010.292905E+02-.762761E+01-.770313E+01-.363740E+01-.345234E+01 0.292905E+02-.697649E+010.791015E-01-.761589E+01-.768750E+01-.345364E+01 -.363610E+01-.754558E+010.737303E-010.153109E+02-.379452E+01-.404451E+01 0.173632E+02-.856342E+010.763345E-01-.457664E+01-.429946E+010.154775E+02 -.610351E-01-.765625E+01-.374423E+01-.401603E+01-.675455E-01-.866498E+01 0.175298E+02-.455727E+01-.424005E+010.223239E+02-.110226E+020.815428E-01 -.586396E+01-.551888E+01-.805664E-01-.111060E+020.224906E+02-.586282E+01 -.544125E+01-.971643E+010.789386E-010.196887E+02-.487127E+01-.517996E+01 0.198554E+02-.740560E-01-.980888E+01-.480275E+01-.516971E+010.140459E+02 -.397821E+01-.341000E+01-.306104E+01-.359279E+010.110026E+00-.113932E+00 -.316521E+01-.119141E+000.658497E+01-.142818E+01-.187244E+01-.645885E+01 -.559088E+010.231502E+02-.513255E+01-.596406E+01-.129557E+000.125651E+00 0.845361E+01-.407348E+01-.145182E+00-.239480E+01-.184014E+010.704458E+02 0.169922E+00-.162637E+02-.192722E+02-.246744E+00-.184358E+02-.163974E+02 -.171439E+02-.150038E+020.629087E+02-.143268E+02-.164304E+02-.160807E+00 0.156901E+000.180338E+00-.125788E+020.548659E+02-.151061E+02-.236328E+00 -.127630E+02-.143619E+020.381607E+02-.105082E+02-.915613E+01-.858842E+01 -.990403E+010.141276E+00-.145182E+000.139338E+02-.676152E+01-.197266E+00 -.390246E+01-.307260E+010.201172E+00-.748043E+010.332824E+02-.934122E+01 -.215494E+00-.771536E+01-.873110E+01-.524713E+01-.171224E+000.108530E+02 -.237650E+01-.305813E+010.427322E+020.190755E+00-.971132E+01-.118639E+02 -.225911E+00-.111938E+02-.992792E+010.158717E+02-.808459E+010.735678E-01 -.354830E+01-.431234E+01-.103519E+020.996094E-010.203543E+02-.552899E+01 -.457296E+01-.169772E+020.151693E+000.335007E+02-.907282E+01-.760233E+01 0.261101E+02-.132559E+020.125651E+00-.589605E+01-.708380E+010.219401E+00 -.913289E+010.174941E+02-.380378E+01-.477684E+010.224612E+020.245443E+00 -.116921E+02-.609583E+01-.491877E+010.805632E+02-.187253E+02-.184857E+02 -.215361E+02-.218122E+020.255859E+00-.259765E+00-.186784E+02-.184232E+02 0.805632E+02-.215830E+02-.218747E+02-.275390E+000.271484E+000.370285E+02 0.297526E+00-.191732E+02-.993980E+01-.821301E+01-.185847E+02-.182982E+02 0.805632E+02-.216767E+02-.219997E+02-.306640E+000.302734E+000.271484E+00 -.149707E+020.288391E+02-.635783E+01-.778205E+010.805632E+02-.186315E+02 -.183607E+02-.216299E+02-.219372E+020.287109E+00-.291015E+00-.207861E+02 0.315754E+000.431196E+02-.104785E+02-.121707E+020.555425E+02-.268732E+02 0.326171E+00-.155315E+02-.134640E+020.907806E+02-.264974E+00-.212497E+02 -.226150E+02-.242904E+02-.101694E+02-.121911E+02-.291016E+00-.273003E+02 0.116562E+03-.290748E+02-.311892E+02-.156013E+02-.131054E+020.919758E+02 -.447154E+020.347004E+00-.253975E+02-.222099E+02-.343099E+00-.450696E+02 0.192173E+03-.480319E+02-.514095E+02-.255663E+02-.217524E+02-.346862E+02 0.336588E+000.714939E+02-.172945E+02-.198498E+020.149666E+03-.317057E+00 -.350769E+02-.373730E+02-.400437E+02-.168864E+02-.199691E+020.916674E+02 -.220378E+00-.229620E+02-.218434E+02-.233480E+02-.108561E+02-.124375E+02 -.233398E+00-.294492E+020.117702E+03-.280983E+02-.300113E+02-.159534E+02 -.139564E+020.103512E+03-.512786E+020.261393E+00-.261357E+02-.263590E+02 -.259440E+00-.484609E+020.194055E+03-.464571E+02-.495640E+02-.262635E+02 -.230501E+02-.512643E+020.274414E+000.103494E+03-.263629E+02-.261409E+02 0.151131E+03-.246419E+00-.377747E+02-.361343E+02-.385704E+02-.179377E+02 -.204676E+02-.512357E+020.300455E+000.103457E+03-.263707E+02-.261513E+02 0.103476E+03-.512500E+020.287434E+00-.261461E+02-.263668E+020.443650E+02 -.825195E-01-.223108E+02-.107157E+02-.112559E+02-.799153E-01-.252530E+02 0.502441E+02-.127690E+02-.121422E+020.684528E+02-.343626E+020.756836E-01 -.164264E+02-.177396E+02-.747070E-01-.323637E+020.644552E+02-.164275E+02 -.155892E+02-.389220E+020.821941E-010.775587E+02-.200937E+02-.186252E+02 0.569061E+02-.773112E-01-.285866E+02-.137583E+02-.144839E+02-.499403E+02 0.952149E-010.995691E+02-.257812E+02-.239429E+020.878770E+02-.440877E+02 0.887045E-01-.211177E+02-.227603E+02 sparskit-2.0.0/MATGEN/FEM/README0000644000265600020320000000167106203735272014752 0ustar tilleaadmin--------------------------------------------------------------- SPARSKIT Modules FEM --------------------------------------------------------------- This directory contains the SPARSKIT FEM module, a matrix generator for finite element matrices. contents: ========= convdif.f == a driver to generate a matrix and some associated plots functns2.o == functions needed by the driver -- define the coefficients of the PDE meshes.f == set of sample meshes defined as inout to the driver makefile == a makefile for an executable to generate a sample mesh elmtlib2.f == a small finite element library mat.hb is a test matrix. Two output files are provided: mat.ps and msh.ps. You may wish to save these to another name before running the test program so that you may compare your output to these files. ----------------------------------------------------------------------- sparskit-2.0.0/MATGEN/FEM/convdif.f0000644000265600020320000001231011066234506015656 0ustar tilleaadmin program convdif c----------------------------------------------------------------------- c this driver will generate a finite element matrix for the c convection-diffusion problem c c - Div ( K(x,y) Grad u ) + C grad u = f c u = 0 on boundary c c (Dirichlet boundary conditions). c----------------------------------------------------------------------- c this code will prompt for desired mesh (from 0 to 9, with one being c a user input one) and will general the matrix in harewell-Boeing format c in the file mat.hb. It also generates two post script files, one c showing the pattern of the matrix (mat.ps) and the other showing the c corresponding mesh (msh.ps). c----------------------------------------------------------------------- c the structure and organization of the fem codes follow very closely c that of the book by Noborou Kikuchi (Finite element methods in c mechanics, Cambridge Univ. press, 1986). c----------------------------------------------------------------------- c coded Y. Saad and S. Ma -- this version dated August 11, 1993 c----------------------------------------------------------------------- implicit none integer maxnx, maxnel parameter (maxnx = 8000, maxnel = 15000) real*8 a(7*maxnx),x(maxnx),y(maxnx),f(3*maxnx) integer ijk(3,maxnel),ichild(12,maxnel),iparnts(2,maxnx), * ia(maxnx),ja(7*maxnx),iwk(maxnx),jwk(maxnx),nodcode(maxnx), * iperm(maxnx) c character matfile*20, title*72, munt*2,key*8, type*3 real size c integer iin,node,nx,nelx,iout,ndeg,na,nmesh,nref,nxmax,nelmax,nb, * ii,nxnew, nelxnew,ierr,job,n,ncol,mode,ptitle,ifmt external xyk, funb, func, fung data iin/7/,node/3/,nx/0/,nelx/0/,iout/8/,ndeg/12/, na/3000/ c-------------------------------------------------------------- c choose starting mesh --- c-------------------------------------------------------------- c files for output c open(unit=10,file='mat.hb') open(unit=11,file='msh.ps') open(unit=12,file='mat.ps') c----------------------------------------------------------------------- print *, ' enter chosen mesh ' read (*,*) nmesh if (nmesh .eq. 0) then print *, 'enter input file for initial mesh ' read(*,'(a20)') matfile open (unit=7,file=matfile) endif c----------------------------------------------------------------------- print *, ' Enter the number of refinements desired ' read (*,*) nref call inmesh (nmesh,iin,nx,nelx,node,x,y,nodcode,ijk,iperm) c c ...REFINE THE GRID c nxmax = maxnx nelmax= maxnel nb = 0 do 10 ii = 1, nref c c estimate the number nx and nelx at next refinement level. c call checkref(nx,nelx,ijk,node,nodcode,nb,nxnew,nelxnew) if (nxnew .gt. nxmax .or. nelxnew .gt. nelmax) then print *, ' Was able to do only ', ii-1 ,' refinements' goto 11 endif c c ...if OK refine all elements c call refall(nx,nelx,ijk,node,ndeg,x,y,ichild,iparnts,nodcode, * nxmax, nelmax, ierr) if (ierr .ne. 0) print *, '** ERROR IN REFALL : ierr =',ierr 10 continue 11 continue c----------------------------------------------------------------------- job = 0 c----------------------------------------------------------------------- c assemble the matrix in CSR format c----------------------------------------------------------------------- call assmbo (nx,nelx,node,ijk,nodcode,x,y, * a,ja,ia,f,iwk,jwk,ierr,xyk,funb,func,fung) n = nx c----------------------Harewell-Boeing matrix--------------------------- c---------------------1---------2---------3---------5---------6 c 12345678901234567890123456789012345678901234567890 title='1Sample matrix from SPARSKIT ' key = 'SPARSKIT' type = 'rua' ifmt = 6 job = 2 call prtmt (n,n,a,ja,ia,f,'NN',title,key,type,ifmt,job,10) c----------------------Plot of mesh------------------------------------- c----------------------------------------------------------------------- size = 6.0 munt = 'in' mode = 0 title ='Finite element mesh ' ptitle = 1 call psgrid (nx,ja,ia,x,y,title,ptitle,size,munt,11) c hsize = 5.6 c vsize = 5.6 c xleft = 0.0 c bot = 0.0 c job = 30 c call texgrd(nx,ja,ia,x,y,munt,size,vsize,hsize, c * xleft,bot,job,title,ptitle,ijk,node,nelx,11) c----------------------Plot of matrix-pattern--------------------------- c----------------------------------------------------------------------- size = 5.5 mode = 0 title = 'Assembled Matrix' ptitle = 1 ncol = 0 iout = 12 call pspltm(n,n,mode,ja,ia,title,ptitle,size,munt,ncol,iwk,12) c xleft = 0.00 c bot = 0.70 c job = 0 c call texplt(nx,nx,mode,ja,ia,munt,size,vsize,hsize,xleft,bot, c * job,title,ptitle,ncol,iwk,12) stop c-----end-of-program-convdif-------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- sparskit-2.0.0/MATGEN/README0000644000265600020320000000465306203735306014344 0ustar tilleaadmin------------------------------------------------------------- SPARSKIT MODULE MATGEN ------------------------------------------------------------- The current directory MATGEN contains a few subroutines and drivers for generating sparse matrices. 1) 5-pt and 7-pt matrices on rectangular regions discretizing elliptic operators of the form: L u == delx( a delx u ) + dely ( b dely u) + delz ( c delz u ) + delx ( d u ) + dely (e u) + delz( f u ) + g u = h u with Boundary conditions, alpha del u / del n + beta u = gamma on a rectangular 1-D, 2-D or 3-D grid using centered difference scheme or upwind scheme. The functions a, b, ..., h are known through the subroutines afun, bfun, ..., hfun in the file functns.f. The alpha is a constant on each side of the rectanglar domain. the beta and the gamma are defined by the functions betfun and gamfun (see functns.f for examples). 2) block version of the finite difference matrices (several degrees of freedom per grid point. ) It only generates the matrix (without the right-hand-side), only Dirichlet Boundary conditions are used. 3) Finite element matrices for the convection-diffusion problem - Div ( K(x,y) Grad u ) + C(x,y) Grad u = f u = 0 on boundary (with Dirichlet boundary conditions). The matrix is returned assembled in compressed sparse row format. See genfeu for matrices in unassembled form. The user must provide the grid, (coordinates x, y and connectivity matrix ijk) as well as some information on the nodes (nodcode) and the material properties (the function K(x,y) above) in the form of a subroutine xyk. 4) Markov chain matrices arising from a random walk on a trangular grid. Useful for testing nonsymmetric eigenvalue codes. Has been suggested by G.W. Stewart in one of his papers. Used by Y. Saad in several papers as a test problem for nonsymmetric eigenvalue methods. 5) Matrices from the paper by Z. Zlatev, K. Schaumburg, and J. Wasniewski. (``A testing scheme for subroutines solving large linear problems.'' Computers and Chemistry, 5:91--100, 1981.) ---------------------------------------------------------------------- the items (1) and (2) are in directory FDIF, the item (3) is in directory FEM the items (4) and (5) are in directory MISC sparskit-2.0.0/MATGEN/FDIF/0000755000265600020320000000000011063776343014172 5ustar tilleaadminsparskit-2.0.0/MATGEN/FDIF/functns.f0000644000265600020320000000766106564651771016042 0ustar tilleaadminc----------------------------------------------------------------------- c contains the functions needed for defining the PDE poroblems. c c first for the scalar 5-point and 7-point PDE c----------------------------------------------------------------------- function afun (x,y,z) real*8 afun, x,y,z afun = -1.0d0 return end function bfun (x,y,z) real*8 bfun, x,y,z bfun = -1.0d0 return end function cfun (x,y,z) real*8 cfun, x,y,z cfun = -1.0d0 return end function dfun (x,y,z) real*8 dfun, x,y,z data gamma /100.0/ c dfun = gamma * exp( x * y ) dfun = 10.d0 return end function efun (x,y,z) real*8 efun, x,y,z data gamma /100.0/ c efun = gamma * exp( (- x) * y ) efun = 0.d0 return end function ffun (x,y,z) real*8 ffun, x,y,z ffun = 0.0 return end function gfun (x,y,z) real*8 gfun, x,y,z gfun = 0.0 return end function hfun(x, y, z) real*8 hfun, x, y, z hfun = 0.0 return end function betfun(side, x, y, z) real*8 betfun, x, y, z character*2 side betfun = 1.0 return end function gamfun(side, x, y, z) real*8 gamfun, x, y, z character*2 side if (side.eq.'x2') then gamfun = 5.0 else if (side.eq.'y1') then gamfun = 2.0 else if (side.eq.'y2') then gamfun = 7.0 else gamfun = 0.0 endif return end c----------------------------------------------------------------------- c functions for the block PDE's c----------------------------------------------------------------------- subroutine afunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue coeff((j-1)*nfree+j) = -1.0d0 2 continue return end subroutine bfunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue coeff((j-1)*nfree+j) = -1.0d0 2 continue return end subroutine cfunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue coeff((j-1)*nfree+j) = -1.0d0 2 continue return end subroutine dfunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue 2 continue return end subroutine efunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue 2 continue return end subroutine ffunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue 2 continue return end subroutine gfunbl (nfree,x,y,z,coeff) real*8 x, y, z, coeff(100) do 2 j=1, nfree do 1 i=1, nfree coeff((j-1)*nfree+i) = 0.0d0 1 continue 2 continue return end c----------------------------------------------------------------------- c The material property function xyk for the c finite element problem c----------------------------------------------------------------------- subroutine xyk(nel,xyke,x,y,ijk,node) implicit real*8 (a-h,o-z) dimension xyke(2,2), x(*), y(*), ijk(node,*) c c this is the identity matrix. c xyke(1,1) = 1.0d0 xyke(2,2) = 1.0d0 xyke(1,2) = 0.0d0 xyke(2,1) = 0.0d0 return end sparskit-2.0.0/MATGEN/FDIF/makefile0000644000265600020320000000062206203735264015667 0ustar tilleaadminFFLAGS = F77 = f77 #F77 = cf77 #FFLAGS = -Wf"-dp" FILES1 = rgen5pt.o functns.o gen5.ex: $(FILES1) ../../libskit.a $(F77) $(FFLAGS) -o gen5.ex $(FILES1) ../../libskit.a FILES2 = rgenblk.o functns.o genbl.ex: $(FILES2) ../../libskit.a $(F77) $(FFLAGS) -o genbl.ex $(FILES2) ../../libskit.a clean: rm -f *.o *.ex core *.trace ../../libskit.a: (cd ../..; $(MAKE) $(MAKEFLAGS) libskit.a) sparskit-2.0.0/MATGEN/FDIF/rgenblk.f0000644000265600020320000000401706203735264015764 0ustar tilleaadmin program bfivept c----------------------------------------------------------------------- c main program for generating BLOCK 5 point and 7-point matrices in the c Harwell-Boeing format. Creates a file with containing a c harwell-boeing matrix. c c max block size = 5 c max number of grid points = 8000 = ( nx * ny * nz .le. 8000) c matrix dimension = (nx*ny*nz* Block-size**2) .le. 8000 * 25= 200,000 c c typical session: c Enter nx, ny, nz : 10 10 1 c enter block-size : 4 c enter filename for matrix: test.mat c output matrix in data file : test.mat c c nz =1 will create a 2-D problem c----------------------------------------------------------------------- parameter (nxmax = 20, nmx = nxmax*nxmax*nxmax, ntot=nmx*25) integer ia(ntot),ja(ntot),iau(ntot), iao(ntot),jao(ntot) real*8 stencil(7,100), a(ntot), ao(ntot) character title*72,key*8,type*3, matfile*50, guesol*2 c----------------------------------------------------------------------- write (6,*) ' ' write(6,'(22hEnter nx, ny, nz : ,$)') read (5,*) nx, ny, nz write(6,'(22hnfree (Block size) : ,$)') read (5,*) nfree write(6,'(22hFilename for matrix : ,$)') read(5,'(a50)') matfile open (unit=7,file=matfile) c write (6,*) ' output in data file : ', matfile c------------------------------------------------------ na = nfree*nfree c call gen57bl (nx,ny,nz,nfree,na,n,a,ja,ia,iau,stencil) c------------------------------------------------------ print *, ' n=', n, ' nfree ', nfree, ' na =', na call bsrcsr(1,n,nfree, na, a, ja, ia, ao, jao, iao) n = n * nfree ! Apr. 21, 1995 guesol='NN' title = * ' BLOCK 5-POINT TEST MATRIX FROM SPARSKIT ' type = 'RUA' key = 'BLOCK5PT' C 12345678 ifmt = 15 job = 2 iout = 7 call prtmt (n,n,ao,jao,iao,rhs,guesol,title,key,type, 1 ifmt,job,iout) print *, ' output in data file : ', matfile c stop end sparskit-2.0.0/MATGEN/FDIF/genmat.f0000644000265600020320000012073106731662662015624 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c MATRIX GENERATION ROUTINES -- FINITE DIFFERENCE MATRICES c c----------------------------------------------------------------------c c contents: c c---------- c c gen57pt : generates 5-point and 7-point matrices. c c gen57bl : generates block 5-point and 7-point matrices. c c c c supporting routines: c c--------- c c gensten : generate the stencil (point version) c c bsten : generate the stencil (block version) c c fdaddbc : finite difference add boundary conditions c c fdreduce : reduce the system to eliminate node with known values c c clrow : clear a row of a CSR matrix c c lctcsr : locate the position of A(i,j) in CSR format c c----------------------------------------------------------------------c subroutine gen57pt(nx,ny,nz,al,mode,n,a,ja,ia,iau,rhs) integer ja(*),ia(*),iau(*), nx, ny, nz, mode, n real*8 a(*), rhs(*), al(6) c----------------------------------------------------------------------- c On entry: c c nx = number of grid points in x direction c ny = number of grid points in y direction c nz = number of grid points in z direction c al = array of size 6, carries the coefficient alpha of the c boundary conditions c mode = what to generate: c < 0 : generate the graph only, c = 0 : generate the matrix, c > 0 : generate the matrix and the right-hand side. c c On exit: c c n = number of nodes with unknown values, ie number of rows c in the matrix c c a,ja,ia = resulting matrix in row-sparse format c c iau = integer*n, containing the poisition of the diagonal element c in the a, ja, ia structure c c rhs = the right-hand side c c External functions needed (must be supplied by caller) c afun, bfun, cfun, dfun, efun, ffun, gfun, hfun c betfun, gamfun c They have the following prototype: c real*8 function xfun(x, y, z) c real*8 x, y, z c----------------------------------------------------------------------- c This subroutine computes the sparse matrix in compressed sparse row c format for the elliptic equation: c d du d du d du du du du c L u = --(A --) + --(B --) + --(C --) + D -- + E -- + F -- + G u = H u c dx dx dy dy dz dz dx dy dz c c with general Mixed Boundary conditions, on a rectangular 1-D, c 2-D or 3-D grid using 2nd order centered difference schemes. c c The functions a, b, ..., g, h are known through the c as afun, bfun, ..., gfun, hfun in this subroutine. c NOTE: To obtain the correct matrix, any function that is not c needed should be set to zero. For example for two-dimensional c problems, nz should be set to 1 and the functions cfun and ffun c should be zero functions. c c The Boundary condition is specified in the following form: c du c alpha -- + beta u = gamma c dn c Where alpha is constant at each side of the boundary surfaces. Alpha c is represented by parameter al. It is expected to an array that c contains enough elements to specify the boundaries for the problem, c 1-D case needs two elements, 2-D needs 4 and 3-D needs 6. The order c of the boundaries in the array is left(west), right(east), c bottom(south), top(north), front, rear. Beta and gamma are functions c of type real with three arguments x, y, z. These two functions are c known subroutine 'addbc' as betfun and gamfun. They should following c the same notion as afun ... hfun. For more restriction on afun ... c hfun, please read the documentation follows the subroutine 'getsten', c and, for more on betfun and gamfun, please refer to the documentation c under subroutine 'fdaddbc'. c c The nodes are ordered using natural ordering, first x direction, then c y, then z. The mesh size h is uniform and determined by grid points c in the x-direction. c c The domain specified for the problem is [0 .ge. x .ge. 1], c [0 .ge. y .ge. (ny-1)*h] and [0 .ge. z .ge. (nz-1)*h], where h is c 1 / (nx-1). Thus if non-Dirichlet boundary condition is specified, c the mesh will have nx points along the x direction, ny along y and c nz along z. For 1-D case, both y and z value are assumed to zero c when calling relavent functions that have three parameters. c Similarly, for 2-D case, z is assumed to be zero. c c About the expectation of nx, ny and nz: c nx is required to be .gt. 1 always; c if the second dimension is present in the problem, then ny should be c .gt. 1, else 1; c if the third dimension is present in the problem, nz .gt. 1, else 1. c when ny is 1, nz must be 1. c----------------------------------------------------------------------- c c stencil [1:7] has the following meaning: c c center point = stencil(1) c west point = stencil(2) c east point = stencil(3) c south point = stencil(4) c north point = stencil(5) c front point = stencil(6) c back point = stencil(7) c c al[1:6] carry the coefficient alpha in the similar order c c west side = al(1) c east side = al(2) c south side = al(3) c north side = al(4) c front side = al(5) c back side = al(6) c c al(4) c st(5) c | c | c | al(6) c | .st(7) c | . c al(1) | . al(2) c st(2) ----------- st(1) ---------- st(3) c . | c . | c . | c st(6) | c al(5) | c | c st(4) c al(3) c c------------------------------------------------------------------- c some constants c real*8 one parameter (one=1.0D0) c c local variables c integer ix, iy, iz, kx, ky, kz, node, iedge real*8 r, h, stencil(7) logical value, genrhs c c nx has to be larger than 1 c if (nx.le.1) return h = one / dble(nx-1) c c the mode c value = (mode.ge.0) genrhs = (mode.gt.0) c c first generate the whole matrix as if the boundary condition does c not exist c kx = 1 ky = nx kz = nx*ny iedge = 1 node = 1 do 100 iz = 1,nz do 90 iy = 1,ny do 80 ix = 1,nx ia(node) = iedge c c compute the stencil at the current node c if (value) call & getsten(nx,ny,nz,mode,ix-1,iy-1,iz-1,stencil,h,r) c west if (ix.gt.1) then ja(iedge)=node-kx if (value) a(iedge) = stencil(2) iedge=iedge + 1 end if c south if (iy.gt.1) then ja(iedge)=node-ky if (value) a(iedge) = stencil(4) iedge=iedge + 1 end if c front plane if (iz.gt.1) then ja(iedge)=node-kz if (value) a(iedge) = stencil(6) iedge=iedge + 1 endif c center node ja(iedge) = node iau(node) = iedge if (value) a(iedge) = stencil(1) iedge = iedge + 1 c east if (ix.lt.nx) then ja(iedge)=node+kx if (value) a(iedge) = stencil(3) iedge=iedge + 1 end if c north if (iy.lt.ny) then ja(iedge)=node+ky if (value) a(iedge) = stencil(5) iedge=iedge + 1 end if c back plane if (iz.lt.nz) then ja(iedge)=node+kz if (value) a(iedge) = stencil(7) iedge=iedge + 1 end if c the right-hand side if (genrhs) rhs(node) = r node=node+1 80 continue 90 continue 100 continue ia(node)=iedge c c Add in the boundary conditions c call fdaddbc(nx,ny,nz,a,ja,ia,iau,rhs,al,h) c c eliminate the boudary nodes from the matrix c call fdreduce(nx,ny,nz,al,n,a,ja,ia,iau,rhs,stencil) c c done c return c-----end-of-gen57pt---------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine getsten (nx,ny,nz,mode,kx,ky,kz,stencil,h,rhs) integer nx,ny,nz,mode,kx,ky,kz real*8 stencil(*),h,rhs,afun,bfun,cfun,dfun,efun,ffun,gfun,hfun external afun,bfun,cfun,dfun,efun,ffun,gfun,hfun c----------------------------------------------------------------------- c This subroutine calculates the correct stencil values for c centered difference discretization of the elliptic operator c and the right-hand side c c L u = delx( A delx u ) + dely ( B dely u) + delz ( C delz u ) + c delx ( D u ) + dely (E u) + delz( F u ) + G u = H c c For 2-D problems the discretization formula that is used is: c c h**2 * Lu == A(i+1/2,j)*{u(i+1,j) - u(i,j)} + c A(i-1/2,j)*{u(i-1,j) - u(i,j)} + c B(i,j+1/2)*{u(i,j+1) - u(i,j)} + c B(i,j-1/2)*{u(i,j-1) - u(i,j)} + c (h/2)*D(i,j)*{u(i+1,j) - u(i-1,j)} + c (h/2)*E(i,j)*{u(i,j+1) - u(i,j-1)} + c (h/2)*E(i,j)*{u(i,j+1) - u(i,j-1)} + c (h**2)*G(i,j)*u(i,j) c----------------------------------------------------------------------- c some constants c real*8 zero, half parameter (zero=0.0D0,half=0.5D0) c c local variables c integer k real*8 hhalf,cntr, x, y, z, coeff c c if mode < 0, we shouldn't have come here c if (mode .lt. 0) return c do 200 k=1,7 stencil(k) = zero 200 continue c hhalf = h*half x = h*dble(kx) y = h*dble(ky) z = h*dble(kz) cntr = zero c differentiation wrt x: coeff = afun(x+hhalf,y,z) stencil(3) = stencil(3) + coeff cntr = cntr + coeff c coeff = afun(x-hhalf,y,z) stencil(2) = stencil(2) + coeff cntr = cntr + coeff c coeff = dfun(x,y,z)*hhalf stencil(3) = stencil(3) + coeff stencil(2) = stencil(2) - coeff if (ny .le. 1) goto 99 c c differentiation wrt y: c coeff = bfun(x,y+hhalf,z) stencil(5) = stencil(5) + coeff cntr = cntr + coeff c coeff = bfun(x,y-hhalf,z) stencil(4) = stencil(4) + coeff cntr = cntr + coeff c coeff = efun(x,y,z)*hhalf stencil(5) = stencil(5) + coeff stencil(4) = stencil(4) - coeff if (nz .le. 1) goto 99 c c differentiation wrt z: c coeff = cfun(x,y,z+hhalf) stencil(7) = stencil(7) + coeff cntr = cntr + coeff c coeff = cfun(x,y,z-hhalf) stencil(6) = stencil(6) + coeff cntr = cntr + coeff c coeff = ffun(x,y,z)*hhalf stencil(7) = stencil(7) + coeff stencil(6) = stencil(6) - coeff c c contribution from function G: c 99 coeff = gfun(x,y,z) stencil(1) = h*h*coeff - cntr c c the right-hand side c if (mode .gt. 0) rhs = h*h*hfun(x,y,z) c return c------end-of-getsten--------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine gen57bl (nx,ny,nz,nfree,na,n,a,ja,ia,iau,stencil) c implicit real*8 (a-h,o-z) integer ja(*),ia(*),iau(*),nx,ny,nz,nfree,na,n real*8 a(na,1), stencil(7,1) c-------------------------------------------------------------------- c This subroutine computes the sparse matrix in compressed c format for the elliptic operator c c L u = delx( a . delx u ) + dely ( b . dely u) + delz ( c . delz u ) + c delx ( d . u ) + dely (e . u) + delz( f . u ) + g . u c c Here u is a vector of nfree componebts and each of the functions c a, b, c, d, e, f, g is an (nfree x nfree) matrix depending of c the coordinate (x,y,z). c with Dirichlet Boundary conditions, on a rectangular 1-D, c 2-D or 3-D grid using centered difference schemes. c c The functions a, b, ..., g are known through the c subroutines afunbl, bfunbl, ..., gfunbl. (user supplied) . c c uses natural ordering, first x direction, then y, then z c mesh size h is uniform and determined by grid points c in the x-direction. c c The output matrix is in Block -- Sparse Row format. c c-------------------------------------------------------------------- c parameters: c------------- c Input: c ------ c nx = number of points in x direction c ny = number of points in y direction c nz = number of points in z direction c nfree = number of degrees of freedom per point c na = first dimension of array a as declared in calling c program. Must be .ge. nfree**2 c c Output: c ------ c n = dimension of matrix (output) c c a, ja, ia = resulting matrix in Block Sparse Row format c a(1:nfree**2, j ) contains a nonzero block and ja(j) c contains the (block) column number of this block. c the block dimension of the matrix is n (output) and c therefore the total number of (scalar) rows is n x nfree. c c iau = integer*n containing the position of the diagonal element c in the a, ja, ia structure c c Work space: c------------ c stencil = work array of size (7,nfree**2) [stores local stencils] c c-------------------------------------------------------------------- c c stencil (1:7,*) has the following meaning: c c center point = stencil(1) c west point = stencil(2) c east point = stencil(3) c south point = stencil(4) c north point = stencil(5) c front point = stencil(6) c back point = stencil(7) c c c st(5) c | c | c | c | .st(7) c | . c | . c st(2) ----------- st(1) ---------- st(3) c . | c . | c . | c st(6) | c | c | c st(4) c c------------------------------------------------------------------- c some constants c real*8 one parameter (one=1.0D0) c c local variables c integer iedge,ix,iy,iz,k,kx,ky,kz,nfree2,node real*8 h c h = one/dble(nx+1) kx = 1 ky = nx kz = nx*ny nfree2 = nfree*nfree iedge = 1 node = 1 do 100 iz = 1,nz do 90 iy = 1,ny do 80 ix = 1,nx ia(node) = iedge call bsten(nx,ny,nz,ix,iy,iz,nfree,stencil,h) c west if (ix.gt.1) then ja(iedge)=node-kx do 4 k=1,nfree2 a(k,iedge) = stencil(2,k) 4 continue iedge=iedge + 1 end if c south if (iy.gt.1) then ja(iedge)=node-ky do 5 k=1,nfree2 a(k,iedge) = stencil(4,k) 5 continue iedge=iedge + 1 end if c front plane if (iz.gt.1) then ja(iedge)=node-kz do 6 k=1,nfree2 a(k,iedge) = stencil(6,k) 6 continue iedge=iedge + 1 endif c center node ja(iedge) = node iau(node) = iedge do 7 k=1,nfree2 a(k,iedge) = stencil(1,k) 7 continue iedge = iedge + 1 c -- upper part c east if (ix.lt.nx) then ja(iedge)=node+kx do 8 k=1,nfree2 a(k,iedge) = stencil(3,k) 8 continue iedge=iedge + 1 end if c north if (iy.lt.ny) then ja(iedge)=node+ky do 9 k=1,nfree2 a(k,iedge) = stencil(5,k) 9 continue iedge=iedge + 1 end if c back plane if (iz.lt.nz) then ja(iedge)=node+kz do 10 k=1,nfree2 a(k,iedge) = stencil(7,k) 10 continue iedge=iedge + 1 end if c------next node ------------------------- node=node+1 80 continue 90 continue 100 continue c c -- new version of BSR -- renumbering removed. c change numbering of nodes so that each ja(k) will contain the c actual column number in the original matrix of entry (1,1) of each c block (k). c do 101 k=1,iedge-1 c ja(k) = (ja(k)-1)*nfree+1 c 101 continue c c n = (node-1)*nfree n = node-1 ia(node)=iedge return c--------------end-of-gen57bl------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine bsten (nx,ny,nz,kx,ky,kz,nfree,stencil,h) c----------------------------------------------------------------------- c This subroutine calcultes the correct block-stencil values for c centered difference discretization of the elliptic operator c (block version of stencil) c c L u = delx( a delx u ) + dely ( b dely u) + delz ( c delz u ) + c d delx ( u ) + e dely (u) + f delz( u ) + g u c c For 2-D problems the discretization formula that is used is: c c h**2 * Lu == a(i+1/2,j)*{u(i+1,j) - u(i,j)} + c a(i-1/2,j)*{u(i-1,j) - u(i,j)} + c b(i,j+1/2)*{u(i,j+1) - u(i,j)} + c b(i,j-1/2)*{u(i,j-1) - u(i,j)} + c (h/2)*d(i,j)*{u(i+1,j) - u(i-1,j)} + c (h/2)*e(i,j)*{u(i,j+1) - u(i,j-1)} + c (h/2)*e(i,j)*{u(i,j+1) - u(i,j-1)} + c (h**2)*g(i,j)*u(i,j) c----------------------------------------------------------------------- c some constants c real*8 zero,half parameter(zero=0.0D0,half=0.5D0) c c local variables c integer i,k,kx,ky,kz,nfree,nfree2,nx,ny,nz real*8 stencil(7,*), cntr(225), coeff(225),h,h2,hhalf,x,y,z c------------ if (nfree .gt. 15) then print *, ' ERROR ** nfree too large ' stop endif c nfree2 = nfree*nfree do 200 k=1, nfree2 cntr(k) = zero do 199 i=1,7 stencil(i,k) = zero 199 continue 200 continue c------------ hhalf = h*half h2 = h*h x = h*dble(kx) y = h*dble(ky) z = h*dble(kz) c differentiation wrt x: call afunbl(nfree,x+hhalf,y,z,coeff) do 1 k=1, nfree2 stencil(3,k) = stencil(3,k) + coeff(k) cntr(k) = cntr(k) + coeff(k) 1 continue c call afunbl(nfree,x-hhalf,y,z,coeff) do 2 k=1, nfree2 stencil(2,k) = stencil(2,k) + coeff(k) cntr(k) = cntr(k) + coeff(k) 2 continue c call dfunbl(nfree,x,y,z,coeff) do 3 k=1, nfree2 stencil(3,k) = stencil(3,k) + coeff(k)*hhalf stencil(2,k) = stencil(2,k) - coeff(k)*hhalf 3 continue if (ny .le. 1) goto 99 c c differentiation wrt y: c call bfunbl(nfree,x,y+hhalf,z,coeff) do 4 k=1,nfree2 stencil(5,k) = stencil(5,k) + coeff(k) cntr(k) = cntr(k) + coeff(k) 4 continue c call bfunbl(nfree,x,y-hhalf,z,coeff) do 5 k=1, nfree2 stencil(4,k) = stencil(4,k) + coeff(k) cntr(k) = cntr(k) + coeff(k) 5 continue c call efunbl(nfree,x,y,z,coeff) do 6 k=1, nfree2 stencil(5,k) = stencil(5,k) + coeff(k)*hhalf stencil(4,k) = stencil(4,k) - coeff(k)*hhalf 6 continue if (nz .le. 1) goto 99 c c differentiation wrt z: c call cfunbl(nfree,x,y,z+hhalf,coeff) do 7 k=1, nfree2 stencil(7,k) = stencil(7,k) + coeff(k) cntr(k) = cntr(k) + coeff(k) 7 continue c call cfunbl(nfree,x,y,z-hhalf,coeff) do 8 k=1, nfree2 stencil(6,k) = stencil(6,k) + coeff(k) cntr(k) = cntr(k) + coeff(k) 8 continue c call ffunbl(nfree,x,y,z,coeff) do 9 k=1, nfree2 stencil(7,k) = stencil(7,k) + coeff(k)*hhalf stencil(6,k) = stencil(6,k) - coeff(k)*hhalf 9 continue c c discretization of product by g: c 99 call gfunbl(nfree,x,y,z,coeff) do 10 k=1, nfree2 stencil(1,k) = h2*coeff(k) - cntr(k) 10 continue c return c------------end of bsten----------------------------------------------- c----------------------------------------------------------------------- end subroutine fdreduce(nx,ny,nz,alpha,n,a,ja,ia,iau,rhs,stencil) implicit none integer nx,ny, nz, n, ia(*), ja(*), iau(*) real*8 alpha(*), a(*), rhs(*), stencil(*) c----------------------------------------------------------------------- c This subroutine tries to reduce the size of the matrix by looking c for Dirichlet boundary conditions at each surface and solve the boundary c value and modify the right-hand side of related nodes, then clapse all c the boundary nodes. c----------------------------------------------------------------------- c parameters c real*8 zero parameter(zero=0.0D0) c c local variables c integer i,j,k,kx,ky,kz,lx,ux,ly,uy,lz,uz,node,nbnode,lk,ld,iedge real*8 val integer lctcsr external lctcsr c c The first half of this subroutine will try to change the right-hand c side of all the nodes that has a neighbor with Dirichlet boundary c condition, since in this case the value of the boundary point is c known. c Then in the second half, we will try to eliminate the boundary c points with known values (with Dirichlet boundary condition). c kx = 1 ky = nx kz = nx*ny lx = 1 ux = nx ly = 1 uy = ny lz = 1 uz = nz c c Here goes the first part. ---------------------------------------- c c the left (west) side c if (alpha(1) .eq. zero) then lx = 2 do 10 k = 1, nz do 11 j = 1, ny node = (k-1)*kz + (j-1)*ky + 1 nbnode = node + kx lk = lctcsr(nbnode, node, ja, ia) ld = iau(node) val = rhs(node)/a(ld) c modify the rhs rhs(nbnode) = rhs(nbnode) - a(lk)*val 11 continue 10 continue endif c c right (east) side c if (alpha(2) .eq. zero) then ux = nx - 1 do 20 k = 1, nz do 21 j = 1, ny node = (k-1)*kz + (j-1)*ky + nx nbnode = node - kx lk = lctcsr(nbnode, node, ja, ia) ld = iau(node) val = rhs(node)/a(ld) c modify the rhs rhs(nbnode) = rhs(nbnode) - a(lk)*val 21 continue 20 continue endif c c if it's only 1-D, skip the following part c if (ny .le. 1) goto 100 c c the bottom (south) side c if (alpha(3) .eq. zero) then ly = 2 do 30 k = 1, nz do 31 i = lx, ux node = (k-1)*kz + i nbnode = node + ky lk = lctcsr(nbnode, node, ja, ia) ld = iau(node) val = rhs(node)/a(ld) c modify the rhs rhs(nbnode) = rhs(nbnode) - a(lk)*val 31 continue 30 continue endif c c top (north) side c if (alpha(4) .eq. zero) then uy = ny - 1 do 40 k = 1, nz do 41 i = lx, ux node = (k-1)*kz + i + (ny-1)*ky nbnode = node - ky lk = lctcsr(nbnode, node, ja, ia) ld = iau(node) val = rhs(node)/a(ld) c modify the rhs rhs(nbnode) = rhs(nbnode) - a(lk)*val 41 continue 40 continue endif c c if only 2-D skip the following section on z c if (nz .le. 1) goto 100 c c the front surface c if (alpha(5) .eq. zero) then lz = 2 do 50 j = ly, uy do 51 i = lx, ux node = (j-1)*ky + i nbnode = node + kz lk = lctcsr(nbnode, node, ja, ia) ld = iau(node) val = rhs(node)/a(ld) c modify the rhs rhs(nbnode) = rhs(nbnode) - a(lk)*val 51 continue 50 continue endif c c rear surface c if (alpha(6) .eq. zero) then uz = nz - 1 do 60 j = ly, uy do 61 i = lx, ux node = (nz-1)*kz + (j-1)*ky + i nbnode = node - kz lk = lctcsr(nbnode, node, ja, ia) ld = iau(node) val = rhs(node)/a(ld) c modify the rhs rhs(nbnode) = rhs(nbnode) - a(lk)*val 61 continue 60 continue endif c c now the second part ---------------------------------------------- c c go through all the actual nodes with unknown values, collect all c of them to form a new matrix in compressed sparse row format. c 100 kx = 1 ky = ux - lx + 1 kz = (uy - ly + 1) * ky node = 1 iedge = 1 do 80 k = lz, uz do 81 j = ly, uy do 82 i = lx, ux c c the corresponding old node number nbnode = ((k-1)*ny + j-1)*nx + i c c copy the row into local stencil, copy is done is the exact c same order as the stencil is written into array a lk = ia(nbnode) if (i.gt.1) then stencil(2) = a(lk) lk = lk + 1 end if if (j.gt.1) then stencil(4) = a(lk) lk = lk + 1 end if if (k.gt.1) then stencil(6) = a(lk) lk = lk + 1 end if stencil(1) = a(lk) lk = lk + 1 if (i.lt.nx) then stencil(3) = a(lk) lk = lk + 1 endif if (j.lt.ny) then stencil(5) = a(lk) lk = lk + 1 end if if (k.lt.nz) stencil(7) = a(lk) c c first the ia pointer -- points to the beginning of each row ia(node) = iedge c c move the values from the local stencil to the new matrix c c the neighbor on the left (west) if (i.gt.lx) then ja(iedge)=node-kx a(iedge) =stencil(2) iedge=iedge + 1 end if c the neighbor below (south) if (j.gt.ly) then ja(iedge)=node-ky a(iedge)=stencil(4) iedge=iedge + 1 end if c the neighbor in the front if (k.gt.lz) then ja(iedge)=node-kz a(iedge)=stencil(6) iedge=iedge + 1 endif c center node (itself) ja(iedge) = node iau(node) = iedge a(iedge) = stencil(1) iedge = iedge + 1 c the neighbor to the right (east) if (i.lt.ux) then ja(iedge)=node+kx a(iedge)=stencil(3) iedge=iedge + 1 end if c the neighbor above (north) if (j.lt.uy) then ja(iedge)=node+ky a(iedge)=stencil(5) iedge=iedge + 1 end if c the neighbor at the back if (k.lt.uz) then ja(iedge)=node+kz a(iedge)=stencil(7) iedge=iedge + 1 end if c the right-hand side rhs(node) = rhs(nbnode) c------next node ------------------------- node=node+1 c 82 continue 81 continue 80 continue c ia(node) = iedge c c the number of nodes in the final matrix is stored in n c n = node - 1 return c----------------------------------------------------------------------- end c-----end of fdreduce----------------------------------------------------- c----------------------------------------------------------------------- subroutine fdaddbc(nx,ny,nz,a,ja,ia,iau,rhs,al,h) integer nx, ny, nz, ia(nx*ny*nz), ja(7*nx*ny*nz), iau(nx*ny*nz) real*8 h, al(6), a(7*nx*ny*nz), rhs(nx*ny*nz) c----------------------------------------------------------------------- c This subroutine will add the boundary condition to the linear system c consutructed without considering the boundary conditions c c The Boundary condition is specified in the following form: c du c alpha -- + beta u = gamma c dn c Alpha is stored in array AL. The six side of the boundary appares c in AL in the following order: left(west), right(east), bottom(south), c top(north), front, back(rear). (see also the illustration in gen57pt) c Beta and gamma appears as the functions, betfun and gamfun. c They have the following prototype c c real*8 function xxxfun(x, y, z) c real*8 x, y, z c c where x, y, z are vales in the range of [0, 1][0, (ny-1)*h] c [0, (nz-1)*h] c c At the corners or boundary lines, the boundary conditions are applied c in the follow order: c 1) if one side is Dirichlet boundary condition, the Dirichlet boundary c condition is used; c 2) if more than one sides are Dirichlet, the Direichlet condition c specified for X direction boundary will overwrite the one specified c for Y direction boundary which in turn has priority over Z c direction boundaries. c 3) when all sides are non-Dirichlet, the average values are used. c----------------------------------------------------------------------- c some constants c real*8 half,zero,one,two parameter(half=0.5D0,zero=0.0D0,one=1.0D0,two=2.0D0) c c local variables c character*2 side integer i,j,k,kx,ky,kz,node,nbr,ly,uy,lx,ux real*8 coeff, ctr, hhalf, x, y, z real*8 afun, bfun, cfun, dfun, efun, ffun, gfun, hfun external afun, bfun, cfun, dfun, efun, ffun, gfun, hfun real*8 betfun, gamfun integer lctcsr external lctcsr, betfun, gamfun c hhalf = half * h kx = 1 ky = nx kz = nx*ny c c In 3-D case, we need to go through all 6 faces one by one. If c the actual dimension is lower, test on ny is performed first. c If ny is less or equals to 1, then the value of nz is not c checked. c----- c the surface on the left (west) side c Concentrate on the contribution from the derivatives related to x, c The terms with derivative of x was assumed to be: c c a(3/2,j,k)*[u(2,j,k)-u(1,j,k)] + a(1/2,j,k)*[u(0,j,k)-u(1,j,k)] + c h*d(1,j,k)*[u(2,j,k)-u(0,j,k)]/2 c c But they actually are: c c 2*{a(3/2,j,k)*[u(2,j,k)-u(1,j,k)] - c h*a(1,j,k)*[beta*u(1,j,k)-gamma]/alpha]} + c h*h*d(1,j,k)*[beta*u(1,j,k)-gamma]/alpha c c Therefore, in terms of local stencil the right neighbor of a node c should be changed to 2*a(3/2,j,k), c The matrix never contains the left neighbor on this border, nothing c needs to be done about it. c The following terms should be added to the center stencil: c -a(3/2,j,k) + a(1/2,j,k) + [h*d(1,j,k)-2*a(1,j,k)]*h*beta/alpha c c And these terms should be added to the corresponding right-hand side c [h*d(1,j,k)-2*a(1,j,k)]*h*gamma/alpha c c Obviously, the formula do not apply for the Dirichlet Boundary c Condition, where alpha will be zero. In that case, we simply set c all the elements in the corresponding row to zero(0), then let c the diagonal element be beta, and the right-hand side be gamma. c Thus the value of u at that point will be set. Later on point c like this will be removed from the matrix, since they are of c know value before solving the system.(not done in this subroutine) c x = zero side = 'x1' do 20 k = 1, nz z = (k-1)*h do 21 j = 1, ny y = (j-1)*h node = 1+(j-1)*ky+(k-1)*kz c c check to see if it's Dirichlet Boundary condition here c if (al(1) .eq. zero) then call clrow(node, a, ja, ia) a(iau(node)) = betfun(side,x,y,z) rhs(node) = gamfun(side,x,y,z) else c c compute the terms formulated above to modify the matrix. c c the right neighbor is stroed in nbr'th posiiton in the a nbr = lctcsr(node, node+kx, ja, ia) c coeff = two*afun(x,y,z) ctr = (h*dfun(x,y,z) - coeff)*h/al(1) rhs(node) = rhs(node) + ctr * gamfun(side,x,y,z) ctr = afun(x-hhalf,y,z) + ctr * betfun(side,x,y,z) coeff = afun(x+hhalf,y,z) a(iau(node)) = a(iau(node)) - coeff + ctr a(nbr) = two*coeff end if 21 continue 20 continue c c the right (east) side boudary, similarly, the contirbution from c the terms containing the derivatives of x were assumed to be c c a(nx+1/2,j,k)*[u(nx+1,j,k)-u(nx,j,k)] + c a(nx-1/2,j,k)*[u(nx-1,j,k)-u(nx,j,k)] + c d(nx,j,k)*[u(nx+1,j,k)-u(nx-1,j,k)]*h/2 c c Actualy they are: c c 2*{h*a(nx,j,k)*[gamma-beta*u(nx,j,k)]/alpha + c a(nx-1/2,j,k)*[u(nx-1,j,k)-u(nx,j,k)]} + c h*h*d(nx,j,k)*[gamma-beta*u(nx,j,k)]/alpha c c The left stencil has to be set to 2*a(nx-1/2,j,k) c c The following terms have to be added to the center stencil: c c -a(nx-1/2,j,k)+a(nx+1/2,j,k)-[2*a(nx,j,k)+h*d(nx,j,k)]*beta/alpha c c The following terms have to be added to the right-hand side: c c -[2*a(nx,j,k)+h*d(nx,j,k)]*h*gamma/alpha c x = one side = 'x2' do 22 k = 1, nz z = (k-1)*h do 23 j = 1, ny y = (j-1)*h node = (k-1)*kz + j*ky c if (al(2) .eq. zero) then call clrow(node, a, ja, ia) a(iau(node)) = betfun(side,x,y,z) rhs(node) = gamfun(side,x,y,z) else nbr = lctcsr(node, node-kx, ja, ia) c coeff = two*afun(x,y,z) ctr = (coeff + h*dfun(x,y,z))*h/al(2) rhs(node) = rhs(node) - ctr * gamfun(side,x,y,z) ctr = afun(x+hhalf,y,z) - ctr * betfun(side,x,y,z) coeff = afun(x-hhalf,y,z) a(iau(node)) = a(iau(node)) - coeff + ctr a(nbr) = two*coeff end if 23 continue 22 continue c c If only one dimension, return now c if (ny .le. 1) return c c the bottom (south) side suface, This similar to the situation c with the left side, except all the function and realted variation c should be on the y. c c These two block if statment here is to resolve the possible conflict c of assign the boundary value differently by different side of the c Dirichlet Boundary Conditions. They ensure that the edges that have c be assigned a specific value will not be reassigned. c if (al(1) .eq. zero) then lx = 2 else lx = 1 end if if (al(2) .eq. zero) then ux = nx-1 else ux = nx end if y = zero side = 'y1' do 24 k = 1, nz z = (k-1)*h do 25 i = lx, ux x = (i-1)*h node = i + (k-1)*kz c if (al(3) .eq. zero) then call clrow(node, a, ja, ia) a(iau(node)) = betfun(side,x,y,z) rhs(node) = gamfun(side,x,y,z) else nbr = lctcsr(node, node+ky, ja, ia) c coeff = two*bfun(x,y,z) ctr = (h*efun(x,y,z) - coeff)*h/al(3) rhs(node) = rhs(node) + ctr * gamfun(side,x,y,z) ctr = bfun(x,y-hhalf,z) + ctr * betfun(side,x,y,z) coeff = bfun(x,y+hhalf,z) a(iau(node)) = a(iau(node)) - coeff + ctr a(nbr) = two*coeff end if 25 continue 24 continue c c The top (north) side, similar to the right side c y = (ny-1) * h side = 'y2' do 26 k = 1, nz z = (k-1)*h do 27 i = lx, ux x = (i-1)*h node = (k-1)*kz+(ny-1)*ky + i c if (al(4) .eq. zero) then call clrow(node, a, ja, ia) a(iau(node)) = betfun(side,x,y,z) rhs(node) = gamfun(side,x,y,z) else nbr = lctcsr(node, node-ky, ja, ia) c coeff = two*bfun(x,y,z) ctr = (coeff + h*efun(x,y,z))*h/al(4) rhs(node) = rhs(node) - ctr * gamfun(side,x,y,z) ctr = bfun(x,y+hhalf,z) - ctr * betfun(side,x,y,z) coeff = bfun(x,y-hhalf,z) a(iau(node)) = a(iau(node)) - coeff + ctr a(nbr) = two*coeff end if 27 continue 26 continue c c If only has two dimesion to work on, return now c if (nz .le. 1) return c c The front side boundary c c If the edges of the surface has been decided by Dirichlet Boundary c Condition, then leave them alone. c if (al(3) .eq. zero) then ly = 2 else ly = 1 end if if (al(4) .eq. zero) then uy = ny-1 else uy = ny end if c z = zero side = 'z1' do 28 j = ly, uy y = (j-1)*h do 29 i = lx, ux x = (i-1)*h node = i + (j-1)*ky c if (al(5) .eq. zero) then call clrow(node, a, ja, ia) a(iau(node)) = betfun(side,x,y,z) rhs(node) = gamfun(side,x,y,z) else nbr = lctcsr(node, node+kz, ja, ia) c coeff = two*cfun(x,y,z) ctr = (h*ffun(x,y,z) - coeff)*h/al(5) rhs(node) = rhs(node) + ctr * gamfun(side,x,y,z) ctr = cfun(x,y,z-hhalf) + ctr * betfun(side,x,y,z) coeff = cfun(x,y,z+hhalf) a(iau(node)) = a(iau(node)) - coeff + ctr a(nbr) = two*coeff end if 29 continue 28 continue c c Similiarly for the top side of the boundary suface c z = (nz - 1) * h side = 'z2' do 30 j = ly, uy y = (j-1)*h do 31 i = lx, ux x = (i-1)*h node = (nz-1)*kz + (j-1)*ky + i c if (al(6) .eq. zero) then call clrow(node, a, ja, ia) a(iau(node)) = betfun(side,x,y,z) rhs(node) = gamfun(side,x,y,z) else nbr = lctcsr(node, node-kz, ja, ia) c coeff = two*cfun(x,y,z) ctr = (coeff + h*ffun(x,y,z))*h/al(6) rhs(node) = rhs(node) - ctr * gamfun(side,x,y,z) ctr = cfun(x,y,z+hhalf) - ctr * betfun(side,x,y,z) coeff = cfun(x,y,z-hhalf) a(iau(node)) = a(iau(node)) - coeff + ctr a(nbr) = two*coeff end if 31 continue 30 continue c c all set c return c----------------------------------------------------------------------- end c-----end of fdaddbc---------------------------------------------------- c----------------------------------------------------------------------- subroutine clrow(i, a, ja, ia) integer i, ja(*), ia(*), k real *8 a(*) c----------------------------------------------------------------------- c clear the row i to all zero, but still keep the structure of the c CSR matrix c----------------------------------------------------------------------- do 10 k = ia(i), ia(i+1)-1 a(k) = 0.0D0 10 continue c return c-----end of clrow------------------------------------------------------ end c----------------------------------------------------------------------- function lctcsr(i,j,ja,ia) integer lctcsr, i, j, ja(*), ia(*), k c----------------------------------------------------------------------- c locate the position of a matrix element in a CSR format c returns -1 if the desired element is zero c----------------------------------------------------------------------- lctcsr = -1 k = ia(i) 10 if (k .lt. ia(i+1) .and. (lctcsr .eq. -1)) then if (ja(k) .eq. j) lctcsr = k k = k + 1 goto 10 end if c return c----------------------------------------------------------------------- end c-----end of lctcsr----------------------------------------------------- sparskit-2.0.0/MATGEN/FDIF/rgen5pt.f0000644000265600020320000000372407663206571015735 0ustar tilleaadmin program fivept c----------------------------------------------------------------------- c main program for generating 5 point and 7-point matrices in the c Harwell-Boeing format. Creates a file with containing a c harwell-boeing matrix. typical session: c user answer are after the colon c Enter nx, ny, nz : 10 10 1 c Filename for matrix: test.mat c output matrix in data file : test.mat c c nz = 1 will create a 2-D problem c c----------------------------------------------------------------------- integer nmx, nxmax parameter (nxmax = 50, nmx = nxmax*nxmax) c implicit none integer ia(nmx),ja(7*nmx),iau(nmx) real*8 a(7*nmx),rhs(nmx),al(6) character title*72, key*8, type*3, matfile*50, guesol*2 c----------------------------------------------------------------------- integer nx, ny, nz, iout, n, ifmt, job write (6,*) ' ' write(6,'(22hEnter nx, ny, nz : ,$)') read (5,*) nx, ny, nz write(6,'(22hFilename for matrix : ,$)') read(5,'(a50)') matfile open (unit=7,file=matfile) c c boundary condition is partly specified here c c al(1) = 1.0D0 c al(2) = 0.0D0 c al(3) = 2.3D1 c al(4) = 0.4D0 c al(5) = 0.0D0 c al(6) = 8.2D-2 al(1) = 0.0D0 al(2) = 0.0D0 al(3) = 0.0D1 al(4) = 0.0D0 al(5) = 0.0D0 al(6) = 0.0D0 c call gen57pt (nx,ny,nz,al,0,n,a,ja,ia,iau,rhs) iout = 7 c c write out the matrix c guesol='NN' title = * ' 5-POINT TEST MATRIX FROM SPARSKIT ' c '123456789012345678901234567890123456789012345678901234567890 type = 'RUA' key ='SC5POINT' C 12345678 ifmt = 15 job = 2 c upper part only?? c call getu (n, a, ja, ia, a, ja, ia) call prtmt (n,n,a,ja,ia,rhs,guesol,title,key,type, 1 ifmt,job,iout) write (6,*) ' output matrix in data file : ', matfile c stop end sparskit-2.0.0/MATGEN/FDIF/README0000644000265600020320000000240406203735263015046 0ustar tilleaadminThis directory contains the routines that generate finite difference matrices from a second order elliptic operator. 1) 5-pt and 7-pt matrices on rectangular regions discretizing elliptic operators of the form: L u == delx( a delx u ) + dely ( b dely u) + delz ( c delz u ) + delx ( d u ) + dely (e u) + delz( f u ) + g u = h u with Boundary conditions, alpha del u / del n + beta u = gamma on a rectangular 1-D, 2-D or 3-D grid using centered difference scheme or upwind scheme. The functions a, b, ..., h are known through the subroutines afun, bfun, ..., hfun in the file functns.f. The alpha is a constant on each side of the rectanglar domain. the beta and the gamma are defined by the functions betfun and gamfun (see functns.f for examples). 2) block version of the finite difference matrices (several degrees of freedom per grid point. ) It only generates the matrix (without the right-hand-side), only Dirichlet Boundary conditions are used. genmat.f ---- the matrix generation routines. functns.f --- functions used by the genmat.f to test the 5-point/7-point matrix please see mak57pt to test the block version of the 5-point/7-point matrix see mak57bl sparskit-2.0.0/FORMATS/0000755000265600020320000000000011301043152013576 5ustar tilleaadminsparskit-2.0.0/FORMATS/makefile0000644000265600020320000000125306203735224015314 0ustar tilleaadminFFLAGS = F77 = f77 #F77 = cf77 #FFLAGS = -Wf"-dp" FILES1 = chkun.o FILES2 = chkfmt1.o FILES3 = rvbr.o un.ex: $(FILES1) ../MATGEN/FDIF/functns.o ../libskit.a $(F77) $(FFLAGS) -o un.ex $(FILES1) ../MATGEN/FDIF/functns.o ../libskit.a fmt.ex: $(FILES2) ../MATGEN/FDIF/functns.o ../libskit.a $(F77) $(FFLAGS) -o fmt.ex $(FILES2) ../MATGEN/FDIF/functns.o ../libskit.a rvbr.ex: $(FILES3) ../MATGEN/FDIF/functns.o ../libskit.a $(F77) $(FFLAGS) -o rvbr.ex $(FILES3) ../MATGEN/FDIF/functns.o ../libskit.a clean: rm -f *.o *.ex core *.trace ../MATGEN/FDIF/functns.o: (cd ../MATGEN/FDIF; $(F77) $(FFLAGS) -c functns.f) ../libskit.a: (cd ..; $(MAKE) $(MAKEFLAGS) libskit.a) sparskit-2.0.0/FORMATS/formats.f0000644000265600020320000041240407663204415015446 0ustar tilleaadminc----------------------------------------------------------------------c 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 csrssr : converts compressed sparse row to symmetric sparse row c c ssrcsr : converts symmetric sparse row to compressed sparse row c c csrell : converts compressed sparse row to ellpack format c c ellcsr : converts ellpack format to compressed sparse row format c c csrmsr : converts compressed sparse row format to modified sparse c c row format c c msrcsr : converts modified sparse row format to compressed sparse c c row format. c c csrcsc : converts compressed sparse row format to compressed sparse c c column format (transposition) c c csrcsc2 : rectangular version of csrcsc c c csrlnk : converts compressed sparse row to linked list format c c lnkcsr : converts linked list format to compressed sparse row fmt c c csrdia : converts a compressed sparse row format into a diagonal c c format. c c diacsr : converts a diagonal format into a compressed sparse row c c format. c c bsrcsr : converts a block-row sparse format into a compressed c c sparse row format. c c csrbsr : converts a compressed sparse row format into a block-row c c sparse format. c c csrbnd : converts a compressed sparse row format into a banded c c format (linpack style). c c bndcsr : converts a banded format (linpack style) into a compressed c c sparse row storage. c c csrssk : converts the compressed sparse row format to the symmetric c c skyline format c c sskssr : converts symmetric skyline format to symmetric sparse row c c format. c c csrjad : converts the csr format into the jagged diagonal format c c jadcsr : converts the jagged-diagonal format into the csr format c c csruss : Compressed Sparse Row to Unsymmetric Sparse Skyline c c format c c usscsr : Unsymmetric Sparse Skyline format to Compressed Sparse Row c c csrsss : Compressed Sparse Row to Symmetric Sparse Skyline format c c ssscsr : Symmetric Sparse Skyline format to Compressed Sparse Row c c csrvbr : Converts compressed sparse row to var block row format c c vbrcsr : Converts var block row to compressed sparse row format c c csorted : Checks if matrix in CSR format is sorted by columns c c--------- miscalleneous additions not involving the csr format--------c c cooell : converts coordinate to Ellpack/Itpack format c c dcsort : sorting routine used by crsjad c c----------------------------------------------------------------------c subroutine csrdns(nrow,ncol,a,ja,ia,dns,ndns,ierr) real*8 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 c----------------------------------------------------------------------- subroutine dnscsr(nrow,ncol,nzmax,dns,ndns,a,ja,ia,ierr) real*8 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----------------------------------------------------------------------- real*8 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) real*8 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 real*8 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----------------------------------------------------------------------- real*8 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----------------------------------------------------------------------- subroutine csrssr (nrow,a,ja,ia,nzmax,ao,jao,iao,ierr) real*8 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 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) real*8 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 real*8 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 ---------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine xssrcsr (nrow,a,ja,ia,nzmax,ao,jao,iao,indu,ierr) integer ia(nrow+1),iao(nrow+1),ja(*),jao(nzmax),indu(nrow+1) real*8 a(*),ao(nzmax) c----------------------------------------------------------------------- c Symmetric Sparse Row to (regular) Compressed Sparse Row c----------------------------------------------------------------------- c this subroutine converts a symmetric matrix in which only the lower c part is stored in compressed sparse row format, i.e., c a matrix stored in symmetric sparse format, into a fully stored matrix c i.e., a matrix where both the lower and upper parts are stored in c compressed sparse row format. the algorithm is in place (i.e. result c may be overwritten onto the input matrix a, ja, ia ----- ). c the output matrix delivered by ssrcsr is such that each row starts with c the elements of the lower part followed by those of the upper part. c----------------------------------------------------------------------- c on entry: c--------- c c nrow = row dimension of inout matrix c a, c ia, c ja = matrix in compressed sparse row format. This is assumed to be c a lower triangular matrix. c c nzmax = size of arrays ao and jao. ssrcsr will abort if the storage c provided in a, ja is not sufficient to store A. See ierr. c c on return: c---------- c ao, iao, c jao = output matrix in compressed sparse row format. The resulting c matrix is symmetric and is equal to A+A**T - D, if c A is the original lower triangular matrix. ao, jao, iao, c can be the same as a, ja, ia in the calling sequence. c c indu = integer array of length nrow+1. If the input matrix is such c that the last element in each row is its diagonal element then c on return, indu will contain the pointers to the diagonal c element in each row of the output matrix. Otherwise used as c work array. 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----------------------------------------------------------------------- ierr = 0 do 1 i=1,nrow+1 indu(i) = 0 1 continue c c compute number of elements in each row of strict upper part. c put result in indu(i+1) for row i. c do 3 i=1, nrow do 2 k=ia(i),ia(i+1)-1 j = ja(k) if (j .lt. i) indu(j+1) = indu(j+1)+1 2 continue 3 continue c----------- c find addresses of first elements of ouput matrix. result in indu c----------- indu(1) = 1 do 4 i=1,nrow lenrow = ia(i+1)-ia(i) indu(i+1) = indu(i) + indu(i+1) + lenrow 4 continue c--------------------- enough storage in a, ja ? -------- nnz = indu(nrow+1)-1 if (nnz .gt. nzmax) then ierr = nnz return endif c c now copy lower part (backwards). c kosav = indu(nrow+1) do 6 i=nrow,1,-1 klast = ia(i+1)-1 kfirst = ia(i) iao(i+1) = kosav ko = indu(i) kosav = ko do 5 k = kfirst, klast ao(ko) = a(k) jao(ko) = ja(k) ko = ko+1 5 continue indu(i) = ko 6 continue iao(1) = 1 c c now copy upper part. Go through the structure of ao, jao, iao c that has already been copied (lower part). indu(i) is the address c of the next free location in row i for ao, jao. c do 8 i=1,nrow c i-th row is now in ao, jao, iao structure -- lower half part do 9 k=iao(i), iao(i+1)-1 j = jao(k) if (j .ge. i) goto 8 ipos = indu(j) ao(ipos) = ao(k) jao(ipos) = i indu(j) = indu(j) + 1 9 continue 8 continue return c----- end of xssrcsr -------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrell (nrow,a,ja,ia,maxcol,coef,jcoef,ncoef, * ndiag,ierr) integer ia(nrow+1), ja(*), jcoef(ncoef,1) real*8 a(*), coef(ncoef,1) c----------------------------------------------------------------------- c Compressed Sparse Row to Ellpack - Itpack format c----------------------------------------------------------------------- c this subroutine converts matrix stored in the general a, ja, ia c format into the coef, jcoef itpack format. c c----------------------------------------------------------------------- c on entry: c---------- c nrow = row dimension of the matrix A. c c a, c ia, c ja = input matrix in compressed sparse row format. c c ncoef = first dimension of arrays coef, and jcoef. c c maxcol = integer equal to the number of columns available in coef. c c on return: c---------- c coef = real array containing the values of the matrix A in c itpack-ellpack format. c jcoef = integer array containing the column indices of coef(i,j) c in A. c ndiag = number of active 'diagonals' found. c c ierr = error message. 0 = correct return. If ierr .ne. 0 on c return this means that the number of diagonals found c (ndiag) exceeds maxcol. c c----------------------------------------------------------------------- c first determine the length of each row of lower-part-of(A) ierr = 0 ndiag = 0 do 3 i=1, nrow k = ia(i+1)-ia(i) ndiag = max0(ndiag,k) 3 continue c----- check whether sufficient columns are available. ----------------- if (ndiag .gt. maxcol) then ierr = 1 return endif c c fill coef with zero elements and jcoef with row numbers.------------ c do 4 j=1,ndiag do 41 i=1,nrow coef(i,j) = 0.0d0 jcoef(i,j) = i 41 continue 4 continue c c------- copy elements row by row.-------------------------------------- c do 6 i=1, nrow k1 = ia(i) k2 = ia(i+1)-1 do 5 k=k1,k2 coef(i,k-k1+1) = a(k) jcoef(i,k-k1+1) = ja(k) 5 continue 6 continue return c--- end of csrell------------------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine ellcsr(nrow,coef,jcoef,ncoef,ndiag,a,ja,ia,nzmax,ierr) integer ia(nrow+1), ja(*), jcoef(ncoef,1) real*8 a(*), coef(ncoef,1) c----------------------------------------------------------------------- c Ellpack - Itpack format to Compressed Sparse Row c----------------------------------------------------------------------- c this subroutine converts a matrix stored in ellpack-itpack format c coef-jcoef into the compressed sparse row format. It actually checks c whether an entry in the input matrix is a nonzero element before c putting it in the output matrix. The test does not account for small c values but only for exact zeros. c----------------------------------------------------------------------- c on entry: c---------- c c nrow = row dimension of the matrix A. c coef = array containing the values of the matrix A in ellpack format. c jcoef = integer arraycontains the column indices of coef(i,j) in A. c ncoef = first dimension of arrays coef, and jcoef. c ndiag = number of active columns in coef, jcoef. c c ndiag = on entry the number of columns made available in coef. c c on return: c---------- c a, ia, c ja = matrix in a, ia, ja format where. c c nzmax = size of arrays a and ja. ellcsr will abort if the storage c provided in a, ja is not sufficient to store A. See ierr. c c ierr = integer. serves are output error message. c ierr = 0 means normal return. c ierr = 1 means that there is not enough space in c a and ja to store output matrix. c----------------------------------------------------------------------- c first determine the length of each row of lower-part-of(A) ierr = 0 c-----check whether sufficient columns are available. ----------------- c c------- copy elements row by row.-------------------------------------- kpos = 1 ia(1) = kpos do 6 i=1, nrow do 5 k=1,ndiag if (coef(i,k) .ne. 0.0d0) then if (kpos .gt. nzmax) then ierr = kpos return endif a(kpos) = coef(i,k) ja(kpos) = jcoef(i,k) kpos = kpos+1 endif 5 continue ia(i+1) = kpos 6 continue return c--- end of ellcsr ----------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrmsr (n,a,ja,ia,ao,jao,wk,iwk) real*8 a(*),ao(*),wk(n) integer ia(n+1),ja(*),jao(*),iwk(n+1) 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 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+1: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 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----------------------------------------------------------------------- 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 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 msrcsr (n,a,ja,ao,jao,iao,wk,iwk) real*8 a(*),ao(*),wk(n) integer ja(*),jao(*),iao(n+1),iwk(n+1) c----------------------------------------------------------------------- c Modified - Sparse Row to Compressed Sparse Row c c----------------------------------------------------------------------- c converts a compressed matrix using a separated diagonal c (modified sparse row format) in the Compressed Sparse Row c format. c does not check for zero elements in the diagonal. c c c on entry : c--------- c n = row dimension of matrix c a, ja = sparse matrix in msr sparse storage format c see routine csrmsr for details on data structure c c on return : c----------- c c ao,jao,iao = output matrix in csr format. 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 The original version of this was NOT in place, but has c been modified by adding the vector iwk to be in place. c The original version had ja instead of iwk everywhere in c loop 500. Modified Sun 29 May 1994 by R. Bramley (Indiana). c c----------------------------------------------------------------------- logical added do 1 i=1,n wk(i) = a(i) iwk(i) = ja(i) 1 continue iwk(n+1) = ja(n+1) iao(1) = 1 iptr = 1 c--------- do 500 ii=1,n added = .false. idiag = iptr + (iwk(ii+1)-iwk(ii)) do 100 k=iwk(ii),iwk(ii+1)-1 j = ja(k) if (j .lt. ii) then ao(iptr) = a(k) jao(iptr) = j iptr = iptr+1 elseif (added) then ao(iptr) = a(k) jao(iptr) = j iptr = iptr+1 else c add diag element - only reserve a position for it. idiag = iptr iptr = iptr+1 added = .true. c then other element ao(iptr) = a(k) jao(iptr) = j iptr = iptr+1 endif 100 continue ao(idiag) = wk(ii) jao(idiag) = ii if (.not. added) iptr = iptr+1 iao(ii+1) = iptr 500 continue return c------------ end of subroutine msrcsr --------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrcsc (n,job,ipos,a,ja,ia,ao,jao,iao) integer ia(n+1),iao(n+1),ja(*),jao(*) real*8 a(*),ao(*) c----------------------------------------------------------------------- c Compressed Sparse Row to Compressed Sparse Column c c (transposition operation) Not in place. c----------------------------------------------------------------------- c -- not in place -- c this subroutine transposes a matrix stored in a, ja, ia format. c --------------- c on entry: c---------- c n = dimension of A. 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 csrcsc (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----------------------------------------------------------------------- call csrcsc2 (n,n,job,ipos,a,ja,ia,ao,jao,iao) end c----------------------------------------------------------------------- subroutine csrcsc2 (n,n2,job,ipos,a,ja,ia,ao,jao,iao) integer ia(n+1),iao(n2+1),ja(*),jao(*) real*8 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 c----------------------------------------------------------------------- subroutine csrlnk (n,a,ja,ia,link) real*8 a(*) integer n, ja(*), ia(n+1), link(*) c----------------------------------------------------------------------- c Compressed Sparse Row to Linked storage format. c----------------------------------------------------------------------- c this subroutine translates a matrix stored in compressed sparse c row into one with a linked list storage format. Only the link c array needs to be obtained since the arrays a, ja, and ia may c be unchanged and carry the same meaning for the output matrix. c in other words a, ja, ia, link is the output linked list data c structure with a, ja, unchanged from input, and ia possibly c altered (in case therea re null rows in matrix). Details on c the output array link are given below. c----------------------------------------------------------------------- c Coded by Y. Saad, Feb 21, 1991. c----------------------------------------------------------------------- c c on entry: c---------- c n = integer equal to the dimension of A. c c a = real array of size nna containing the nonzero elements c ja = integer array of size nnz containing the column positions c of the corresponding elements in a. c ia = integer of size n+1 containing the pointers to the beginning c of each row. ia(k) contains the position in a, ja of the c beginning of the k-th row. c c on return: c---------- c a, ja, are not changed. c ia may be changed if there are null rows. c c a = nonzero elements. c ja = column positions. c ia = ia(i) points to the first element of row i in linked structure. c link = integer array of size containing the linked list information. c link(k) points to the next element of the row after element c a(k), ja(k). if link(k) = 0, then there is no next element, c i.e., a(k), jcol(k) is the last element of the current row. c c Thus row number i can be accessed as follows: c next = ia(i) c while(next .ne. 0) do c value = a(next) ! value a(i,j) c jcol = ja(next) ! column index j c next = link(next) ! address of next element in row c endwhile c notes: c ------ ia may be altered on return. c----------------------------------------------------------------------- c local variables integer i, k c c loop through all rows c do 100 i =1, n istart = ia(i) iend = ia(i+1)-1 if (iend .gt. istart) then do 99 k=istart, iend-1 link(k) = k+1 99 continue link(iend) = 0 else ia(i) = 0 endif 100 continue c return c-------------end-of-csrlnk -------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine lnkcsr (n, a, jcol, istart, link, ao, jao, iao) real*8 a(*), ao(*) integer n, jcol(*), istart(n), link(*), jao(*), iao(*) c----------------------------------------------------------------------- c Linked list storage format to Compressed Sparse Row format c----------------------------------------------------------------------- c this subroutine translates a matrix stored in linked list storage c format into the compressed sparse row format. c----------------------------------------------------------------------- c Coded by Y. Saad, Feb 21, 1991. c----------------------------------------------------------------------- c c on entry: c---------- c n = integer equal to the dimension of A. c c a = real array of size nna containing the nonzero elements c jcol = integer array of size nnz containing the column positions c of the corresponding elements in a. c istart= integer array of size n poiting to the beginning of the rows. c istart(i) contains the position of the first element of c row i in data structure. (a, jcol, link). c if a row is empty istart(i) must be zero. c link = integer array of size nnz containing the links in the linked c list data structure. link(k) points to the next element c of the row after element ao(k), jcol(k). if link(k) = 0, c then there is no next element, i.e., ao(k), jcol(k) is c the last element of the current row. c c on return: c----------- c ao, jao, iao = matrix stored in csr format: c c ao = real array containing the values of the nonzero elements of c the matrix stored row-wise. c jao = integer array of size nnz containing the column indices. c iao = integer array of size n+1 containing the pointers array to the c beginning of each row. iao(i) is the address in ao,jao of c first element of row i. c c----------------------------------------------------------------------- c first determine individial bandwidths and pointers. c----------------------------------------------------------------------- c local variables integer irow, ipos, next c----------------------------------------------------------------------- ipos = 1 iao(1) = ipos c c loop through all rows c do 100 irow =1, n c c unroll i-th row. c next = istart(irow) 10 if (next .eq. 0) goto 99 jao(ipos) = jcol(next) ao(ipos) = a(next) ipos = ipos+1 next = link(next) goto 10 99 iao(irow+1) = ipos 100 continue c return c-------------end-of-lnkcsr ------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrdia (n,idiag,job,a,ja,ia,ndiag, * diag,ioff,ao,jao,iao,ind) real*8 diag(ndiag,idiag), a(*), ao(*) integer ia(*), ind(*), ja(*), jao(*), iao(*), ioff(*) c----------------------------------------------------------------------- c Compressed sparse row to diagonal format c----------------------------------------------------------------------- c this subroutine extracts idiag diagonals from the input matrix a, c a, ia, and puts the rest of the matrix in the output matrix ao, c jao, iao. The diagonals to be extracted depend on the value of job c (see below for details.) In the first case, the diagonals to be c extracted are simply identified by their offsets provided in ioff c by the caller. In the second case, the code internally determines c the idiag most significant diagonals, i.e., those diagonals of the c matrix which have the largest number of nonzero elements, and c extracts them. c----------------------------------------------------------------------- c on entry: c---------- c n = dimension of the matrix a. c idiag = integer equal to the number of diagonals to be extracted. c Note: on return idiag may be modified. c a, ja, c ia = matrix stored in a, ja, ia, format c job = integer. serves as a job indicator. Job is better thought c of as a two-digit number job=xy. If the first (x) digit c is one on entry then the diagonals to be extracted are c internally determined. In this case csrdia exctracts the c idiag most important diagonals, i.e. those having the largest c number on nonzero elements. If the first digit is zero c then csrdia assumes that ioff(*) contains the offsets c of the diagonals to be extracted. there is no verification c that ioff(*) contains valid entries. c The second (y) digit of job determines whether or not c the remainder of the matrix is to be written on ao,jao,iao. c If it is zero then ao, jao, iao is not filled, i.e., c the diagonals are found and put in array diag and the rest is c is discarded. if it is one, ao, jao, iao contains matrix c of the remaining elements. c Thus: c job= 0 means do not select diagonals internally (pick those c defined by ioff) and do not fill ao,jao,iao c job= 1 means do not select diagonals internally c and fill ao,jao,iao c job=10 means select diagonals internally c and do not fill ao,jao,iao c job=11 means select diagonals internally c and fill ao,jao,iao c c ndiag = integer equal to the first dimension of array diag. c c on return: c----------- c c idiag = number of diagonals found. This may be smaller than its value c on entry. c diag = real array of size (ndiag x idiag) containing the diagonals c of A on return c c ioff = integer array of length idiag, containing the offsets of the c diagonals to be extracted. c ao, jao c iao = remainder of the matrix in a, ja, ia format. c work arrays: c------------ c ind = integer array of length 2*n-1 used as integer work space. c needed only when job.ge.10 i.e., in case the diagonals are to c be selected internally. c c Notes: c------- c 1) The algorithm is in place: ao, jao, iao can be overwritten on c a, ja, ia if desired c 2) When the code is required to select the diagonals (job .ge. 10) c the selection of the diagonals is done from left to right c as a result if several diagonals have the same weight (number c of nonzero elemnts) the leftmost one is selected first. c----------------------------------------------------------------------- job1 = job/10 job2 = job-job1*10 if (job1 .eq. 0) goto 50 n2 = n+n-1 call infdia(n,ja,ia,ind,idum) c----------- determine diagonals to accept.---------------------------- c----------------------------------------------------------------------- ii = 0 4 ii=ii+1 jmax = 0 do 41 k=1, n2 j = ind(k) if (j .le. jmax) goto 41 i = k jmax = j 41 continue if (jmax .le. 0) then ii = ii-1 goto 42 endif ioff(ii) = i-n ind(i) = - jmax if (ii .lt. idiag) goto 4 42 idiag = ii c---------------- initialize diago to zero ----------------------------- 50 continue do 55 j=1,idiag do 54 i=1,n diag(i,j) = 0.0d0 54 continue 55 continue c----------------------------------------------------------------------- ko = 1 c----------------------------------------------------------------------- c extract diagonals and accumulate remaining matrix. c----------------------------------------------------------------------- do 6 i=1, n do 51 k=ia(i),ia(i+1)-1 j = ja(k) do 52 l=1,idiag if (j-i .ne. ioff(l)) goto 52 diag(i,l) = a(k) goto 51 52 continue c--------------- append element not in any diagonal to ao,jao,iao ----- if (job2 .eq. 0) goto 51 ao(ko) = a(k) jao(ko) = j ko = ko+1 51 continue if (job2 .ne. 0 ) ind(i+1) = ko 6 continue if (job2 .eq. 0) return c finish with iao iao(1) = 1 do 7 i=2,n+1 iao(i) = ind(i) 7 continue return c----------- end of csrdia --------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine diacsr (n,job,idiag,diag,ndiag,ioff,a,ja,ia) real*8 diag(ndiag,idiag), a(*), t integer ia(*), ja(*), ioff(*) c----------------------------------------------------------------------- c diagonal format to compressed sparse row c----------------------------------------------------------------------- c this subroutine extract the idiag most important diagonals from the c input matrix a, ja, ia, i.e, those diagonals of the matrix which have c the largest number of nonzero elements. If requested (see job), c the rest of the matrix is put in a the output matrix ao, jao, iao c----------------------------------------------------------------------- c on entry: c---------- c n = integer. dimension of the matrix a. c job = integer. job indicator with the following meaning. c if (job .eq. 0) then check for each entry in diag c whether this entry is zero. If it is then do not include c in the output matrix. Note that the test is a test for c an exact arithmetic zero. Be sure that the zeros are c actual zeros in double precision otherwise this would not c work. c c idiag = integer equal to the number of diagonals to be extracted. c Note: on return idiag may be modified. c c diag = real array of size (ndiag x idiag) containing the diagonals c of A on return. c c ndiag = integer equal to the first dimension of array diag. c c ioff = integer array of length idiag, containing the offsets of the c diagonals to be extracted. c c on return: c----------- c a, c ja, c ia = matrix stored in a, ja, ia, format c c Note: c ----- the arrays a and ja should be of length n*idiag. c c----------------------------------------------------------------------- ia(1) = 1 ko = 1 do 80 i=1, n do 70 jj = 1, idiag j = i+ioff(jj) if (j .lt. 1 .or. j .gt. n) goto 70 t = diag(i,jj) if (job .eq. 0 .and. t .eq. 0.0d0) goto 70 a(ko) = t ja(ko) = j ko = ko+1 70 continue ia(i+1) = ko 80 continue return c----------- end of diacsr --------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine bsrcsr (job, n, m, na, a, ja, ia, ao, jao, iao) implicit none integer job, n, m, na, ia(*), ja(*), jao(*), iao(n+1) real*8 a(na,*), ao(*) c----------------------------------------------------------------------- c Block Sparse Row to Compressed Sparse Row. c----------------------------------------------------------------------- c NOTE: ** meanings of parameters may have changed wrt earlier versions c FORMAT DEFINITION HAS CHANGED WRT TO EARLIER VERSIONS... c----------------------------------------------------------------------- c c converts a matrix stored in block-reduced a, ja, ia format to the c general sparse row a, ja, ia format. A matrix that has a block c structure is a matrix whose entries are blocks of the same size m c (e.g. 3 x 3). Then it is often preferred to work with the reduced c graph of the matrix. Instead of storing one element at a time one can c store a whole block at a time. In this storage scheme an entry is a c square array holding the m**2 elements of a block. c c----------------------------------------------------------------------- c on entry: c---------- c job = if job.eq.0 on entry, values are not copied (pattern only) c c n = the block row dimension of the matrix. c c m = the dimension of each block. Thus, the actual row dimension c of A is n x m. c c na = first dimension of array a as declared in calling program. c This should be .ge. m**2. c c a = real array containing the real entries of the matrix. Recall c that each entry is in fact an m x m block. These entries c are stored column-wise in locations a(1:m*m,k) for each k-th c entry. See details below. c c ja = integer array of length n. ja(k) contains the column index c of the leading element, i.e., the element (1,1) of the block c that is held in the column a(*,k) of the value array. c c ia = integer array of length n+1. ia(i) points to the beginning c of block row number i in the arrays a and ja. c c on return: c----------- c ao, jao, c iao = matrix stored in compressed sparse row format. The number of c rows in the new matrix is n x m. c c Notes: THIS CODE IS NOT IN PLACE. c c----------------------------------------------------------------------- c BSR FORMAT. c---------- c Each row of A contains the m x m block matrix unpacked column- c wise (this allows the user to declare the array a as a(m,m,*) on entry c if desired). The block rows are stored in sequence just as for the c compressed sparse row format. c c----------------------------------------------------------------------- c example with m = 2: c 1 2 3 c +-------|--------|--------+ +-------+ c | 1 2 | 0 0 | 3 4 | Block | x 0 x | 1 c | 5 6 | 0 0 | 7 8 | Representation: | 0 x x | 2 c +-------+--------+--------+ | x 0 0 | 3 c | 0 0 | 9 10 | 11 12 | +-------+ c | 0 0 | 13 14 | 15 16 | c +-------+--------+--------+ c | 17 18 | 0 0 | 0 0 | c | 22 23 | 0 0 | 0 0 | c +-------+--------+--------+ c c For this matrix: n = 3 c m = 2 c nnz = 5 c----------------------------------------------------------------------- c Data structure in Block Sparse Row format: c------------------------------------------- c Array A: c------------------------- c 1 3 9 11 17 <<--each m x m block is stored column-wise c 5 7 13 15 22 in a column of the array A. c 2 4 10 12 18 c 6 8 14 16 23 c------------------------- c JA 1 3 2 3 1 <<-- column indices for each block. Note that c------------------------- these indices are wrt block matrix. c IA 1 3 5 6 <<-- pointers to beginning of each block row c------------------------- in arrays A and JA. c----------------------------------------------------------------------- c locals c integer i, i1, i2, ij, ii, irow, j, jstart, k, krow, no logical val c val = (job.ne.0) no = n * m irow = 1 krow = 1 iao(irow) = 1 c----------------------------------------------------------------------- do 2 ii=1, n c c recall: n is the block-row dimension c i1 = ia(ii) i2 = ia(ii+1)-1 c c create m rows for each block row -- i.e., each k. c do 23 i=1,m do 21 k=i1, i2 jstart = m*(ja(k)-1) do 22 j=1,m ij = (j-1)*m + i if (val) ao(krow) = a(ij,k) jao(krow) = jstart+j krow = krow+1 22 continue 21 continue irow = irow+1 iao(irow) = krow 23 continue 2 continue return c-------------end-of-bsrcsr -------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrbsr (job,nrow,m,na,a,ja,ia,ao,jao,iao,iw,ierr) implicit none integer job,ierr,nrow,m,na,ia(nrow+1),ja(*),jao(na),iao(*),iw(*) real*8 a(*),ao(na,*) c----------------------------------------------------------------------- c Compressed Sparse Row to Block Sparse Row c----------------------------------------------------------------------- c c This subroutine converts a matrix stored in a general compressed a, c ja, ia format into a a block sparse row format a(m,m,*),ja(*),ia(*). c See routine bsrcsr for more details on data structure for block c matrices. c c NOTES: 1) the initial matrix does not have to have a block structure. c zero padding is done for general sparse matrices. c 2) For most practical purposes, na should be the same as m*m. c c----------------------------------------------------------------------- c c In what follows nr=1+(nrow-1)/m = block-row dimension of output matrix c c on entry: c---------- c c job = job indicator. c job = 0 -> only the pattern of output matrix is generated c job > 0 -> both pattern and values are generated. c job = -1 -> iao(1) will return the number of nonzero blocks, c in the output matrix. In this case jao(1:nr) is used as c workspace, ao is untouched, iao is untouched except iao(1) c c nrow = integer, the actual row dimension of the matrix. c c m = integer equal to the dimension of each block. m should be > 0. c c na = first dimension of array ao as declared in calling program. c na should be .ge. m*m. c c a, ja, c ia = input matrix stored in compressed sparse row format. c c on return: c----------- c c ao = real array containing the values of the matrix. For details c on the format see below. Each row of a contains the m x m c block matrix unpacked column-wise (this allows the user to c declare the array a as ao(m,m,*) on entry if desired). The c block rows are stored in sequence just as for the compressed c sparse row format. The block dimension of the output matrix c is nr = 1 + (nrow-1) / m. c c jao = integer array. containing the block-column indices of the c block-matrix. Each jao(k) is an integer between 1 and nr c containing the block column index of the block ao(*,k). c c iao = integer array of length nr+1. iao(i) points to the beginning c of block row number i in the arrays ao and jao. When job=-1 c iao(1) contains the number of nonzero blocks of the output c matrix and the rest of iao is unused. This is useful for c determining the lengths of ao and jao. c c ierr = integer, error code. c 0 -- normal termination c 1 -- m is equal to zero c 2 -- NA too small to hold the blocks (should be .ge. m**2) c c Work arrays: c------------- c iw = integer work array of dimension nr = 1 + (nrow-1) / m c c NOTES: c------- c 1) this code is not in place. c 2) see routine bsrcsr for details on data sctructure for block c sparse row format. c c----------------------------------------------------------------------- c nr is the block-dimension of the output matrix. c integer nr, m2, io, ko, ii, len, k, jpos, j, i, ij, jr, irow logical vals c----- ierr = 0 if (m*m .gt. na) ierr = 2 if (m .eq. 0) ierr = 1 if (ierr .ne. 0) return c----------------------------------------------------------------------- vals = (job .gt. 0) nr = 1 + (nrow-1) / m m2 = m*m ko = 1 io = 1 iao(io) = 1 len = 0 c c iw determines structure of block-row (nonzero indicator) c do j=1, nr iw(j) = 0 enddo c c big loop -- leap by m rows each time. c do ii=1, nrow, m irow = 0 c c go through next m rows -- make sure not to go beyond nrow. c do while (ii+irow .le. nrow .and. irow .le. m-1) do k=ia(ii+irow),ia(ii+irow+1)-1 c c block column index = (scalar column index -1) / m + 1 c j = ja(k)-1 jr = j/m + 1 j = j - (jr-1)*m jpos = iw(jr) if (jpos .eq. 0) then c c create a new block c iw(jr) = ko jao(ko) = jr if (vals) then c c initialize new block to zero -- then copy nonzero element c do i=1, m2 ao(i,ko) = 0.0d0 enddo ij = j*m + irow + 1 ao(ij,ko) = a(k) endif ko = ko+1 else c c copy column index and nonzero element c jao(jpos) = jr ij = j*m + irow + 1 if (vals) ao(ij,jpos) = a(k) endif enddo irow = irow+1 enddo c c refresh iw c do j = iao(io),ko-1 iw(jao(j)) = 0 enddo if (job .eq. -1) then len = len + ko-1 ko = 1 else io = io+1 iao(io) = ko endif enddo if (job .eq. -1) iao(1) = len c return c--------------end-of-csrbsr-------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrbnd (n,a,ja,ia,job,abd,nabd,lowd,ml,mu,ierr) real*8 a(*),abd(nabd,n) integer ia(n+1),ja(*) c----------------------------------------------------------------------- c Compressed Sparse Row to Banded (Linpack ) format. c----------------------------------------------------------------------- c this subroutine converts a general sparse matrix stored in c compressed sparse row format into the banded format. for the c banded format,the Linpack conventions are assumed (see below). c----------------------------------------------------------------------- c on entry: c---------- c n = integer,the actual row dimension of the matrix. c c a, c ja, c ia = input matrix stored in compressed sparse row format. c c job = integer. if job=1 then the values of the lower bandwith ml c and the upper bandwidth mu are determined internally. c otherwise it is assumed that the values of ml and mu c are the correct bandwidths on input. See ml and mu below. c c nabd = integer. first dimension of array abd. c c lowd = integer. this should be set to the row number in abd where c the lowest diagonal (leftmost) of A is located. c lowd should be ( 1 .le. lowd .le. nabd). c if it is not known in advance what lowd should be c enter lowd = 0 and the default value lowd = ml+mu+1 c will be chosen. Alternative: call routine getbwd from unary c first to detrermione ml and mu then define lowd accordingly. c (Note: the banded solvers in linpack use lowd=2*ml+mu+1. ) c c ml = integer. equal to the bandwidth of the strict lower part of A c mu = integer. equal to the bandwidth of the strict upper part of A c thus the total bandwidth of A is ml+mu+1. c if ml+mu+1 is found to be larger than lowd then an error c flag is raised (unless lowd = 0). see ierr. c c note: ml and mu are assumed to have the correct bandwidth values c as defined above if job is set to zero on entry. c c on return: c----------- c c abd = real array of dimension abd(nabd,n). c on return contains the values of the matrix stored in c banded form. The j-th column of abd contains the elements c of the j-th column of the original matrix comprised in the c band ( i in (j-ml,j+mu) ) with the lowest diagonal at c the bottom row (row lowd). See details below for this format. c c ml = integer. equal to the bandwidth of the strict lower part of A c mu = integer. equal to the bandwidth of the strict upper part of A c if job=1 on entry then these two values are internally computed. c c lowd = integer. row number in abd where the lowest diagonal c (leftmost) of A is located on return. In case lowd = 0 c on return, then it is defined to ml+mu+1 on return and the c lowd will contain this value on return. ` c c ierr = integer. used for error messages. On return: c ierr .eq. 0 :means normal return c ierr .eq. -1 : means invalid value for lowd. (either .lt. 0 c or larger than nabd). c ierr .eq. -2 : means that lowd is not large enough and as c result the matrix cannot be stored in array abd. c lowd should be at least ml+mu+1, where ml and mu are as c provided on output. c c----------------------------------------------------------------------* c Additional details on banded format. (this closely follows the * c format used in linpack. may be useful for converting a matrix into * c this storage format in order to use the linpack banded solvers). * c----------------------------------------------------------------------* c --- band storage format for matrix abd --- * c uses ml+mu+1 rows of abd(nabd,*) to store the diagonals of * c a in rows of abd starting from the lowest (sub)-diagonal which is * c stored in row number lowd of abd. the minimum number of rows needed * c in abd is ml+mu+1, i.e., the minimum value for lowd is ml+mu+1. the * c j-th column of abd contains the elements of the j-th column of a, * c from bottom to top: the element a(j+ml,j) is stored in position * c abd(lowd,j), then a(j+ml-1,j) in position abd(lowd-1,j) and so on. * c Generally, the element a(j+k,j) of original matrix a is stored in * c position abd(lowd+k-ml,j), for k=ml,ml-1,..,0,-1, -mu. * c The first dimension nabd of abd must be .ge. lowd * c * c example [from linpack ]: if the original matrix is * c * c 11 12 13 0 0 0 * c 21 22 23 24 0 0 * c 0 32 33 34 35 0 original banded matrix * c 0 0 43 44 45 46 * c 0 0 0 54 55 56 * c 0 0 0 0 65 66 * c * c then n = 6, ml = 1, mu = 2. lowd should be .ge. 4 (=ml+mu+1) and * c if lowd = 5 for example, abd should be: * c * c untouched --> x x x x x x * c * * 13 24 35 46 * c * 12 23 34 45 56 resulting abd matrix in banded * c 11 22 33 44 55 66 format * c row lowd--> 21 32 43 54 65 * * c * c * = not used * c * c----------------------------------------------------------------------* c first determine ml and mu. c----------------------------------------------------------------------- ierr = 0 c----------- if (job .eq. 1) call getbwd(n,a,ja,ia,ml,mu) m = ml+mu+1 if (lowd .eq. 0) lowd = m if (m .gt. lowd) ierr = -2 if (lowd .gt. nabd .or. lowd .lt. 0) ierr = -1 if (ierr .lt. 0) return c------------ do 15 i=1,m ii = lowd -i+1 do 10 j=1,n abd(ii,j) = 0.0d0 10 continue 15 continue c--------------------------------------------------------------------- mdiag = lowd-ml do 30 i=1,n do 20 k=ia(i),ia(i+1)-1 j = ja(k) abd(i-j+mdiag,j) = a(k) 20 continue 30 continue return c------------- end of csrbnd ------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine bndcsr (n,abd,nabd,lowd,ml,mu,a,ja,ia,len,ierr) real*8 a(*),abd(nabd,*), t integer ia(n+1),ja(*) c----------------------------------------------------------------------- c Banded (Linpack ) format to Compressed Sparse Row format. c----------------------------------------------------------------------- c on entry: c---------- c n = integer,the actual row dimension of the matrix. c c nabd = first dimension of array abd. c c abd = real array containing the values of the matrix stored in c banded form. The j-th column of abd contains the elements c of the j-th column of the original matrix,comprised in the c band ( i in (j-ml,j+mu) ) with the lowest diagonal located c in row lowd (see below). c c lowd = integer. this should be set to the row number in abd where c the lowest diagonal (leftmost) of A is located. c lowd should be s.t. ( 1 .le. lowd .le. nabd). c The subroutines dgbco, ... of linpack use lowd=2*ml+mu+1. c c ml = integer. equal to the bandwidth of the strict lower part of A c mu = integer. equal to the bandwidth of the strict upper part of A c thus the total bandwidth of A is ml+mu+1. c if ml+mu+1 is found to be larger than nabd then an error c message is set. see ierr. c c len = integer. length of arrays a and ja. bndcsr will stop if the c length of the arrays a and ja is insufficient to store the c matrix. see ierr. c c on return: c----------- c a, c ja, c ia = input matrix stored in compressed sparse row format. c c lowd = if on entry lowd was zero then lowd is reset to the default c value ml+mu+l. c c ierr = integer. used for error message output. c ierr .eq. 0 :means normal return c ierr .eq. -1 : means invalid value for lowd. c ierr .gt. 0 : means that there was not enough storage in a and ja c for storing the ourput matrix. The process ran out of space c (as indicated by len) while trying to fill row number ierr. c This should give an idea of much more storage might be required. c Moreover, the first irow-1 rows are correctly filled. c c notes: the values in abd found to be equal to zero c ----- (actual test: if (abd(...) .eq. 0.0d0) are removed. c The resulting may not be identical to a csr matrix c originally transformed to a bnd format. c c----------------------------------------------------------------------- ierr = 0 c----------- if (lowd .gt. nabd .or. lowd .le. 0) then ierr = -1 return endif c----------- ko = 1 ia(1) = 1 do 30 irow=1,n c----------------------------------------------------------------------- i = lowd do 20 j=irow-ml,irow+mu if (j .le. 0 ) goto 19 if (j .gt. n) goto 21 t = abd(i,j) if (t .eq. 0.0d0) goto 19 if (ko .gt. len) then ierr = irow return endif a(ko) = t ja(ko) = j ko = ko+1 19 i = i-1 20 continue c end for row irow 21 ia(irow+1) = ko 30 continue return c------------- end of bndcsr ------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrssk (n,imod,a,ja,ia,asky,isky,nzmax,ierr) real*8 a(*),asky(nzmax) integer n, imod, nzmax, ierr, ia(n+1), isky(n+1), ja(*) c----------------------------------------------------------------------- c Compressed Sparse Row to Symmetric Skyline Format c or Symmetric Sparse Row c----------------------------------------------------------------------- c this subroutine translates a compressed sparse row or a symmetric c sparse row format into a symmetric skyline format. c the input matrix can be in either compressed sparse row or the c symmetric sparse row format. The output matrix is in a symmetric c skyline format: a real array containing the (active portions) of the c rows in sequence and a pointer to the beginning of each row. c c This module is NOT in place. c----------------------------------------------------------------------- c Coded by Y. Saad, Oct 5, 1989. Revised Feb. 18, 1991. c----------------------------------------------------------------------- c c on entry: c---------- c n = integer equal to the dimension of A. c imod = integer indicating the variant of skyline format wanted: c imod = 0 means the pointer isky points to the `zeroth' c element of the row, i.e., to the position of the diagonal c element of previous row (for i=1, isky(1)= 0) c imod = 1 means that itpr points to the beginning of the row. c imod = 2 means that isky points to the end of the row (diagonal c element) c c a = real array of size nna containing the nonzero elements c ja = integer array of size 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 nzmax = integer. must be set to the number of available locations c in the output array asky. c c on return: c---------- c c asky = real array containing the values of the matrix stored in skyline c format. asky contains the sequence of active rows from c i=1, to n, an active row being the row of elemnts of c the matrix contained between the leftmost nonzero element c and the diagonal element. c isky = integer array of size n+1 containing the pointer array to c each row. The meaning of isky depends on the input value of c imod (see above). c ierr = integer. Error message. If the length of the c output array asky exceeds nzmax. ierr returns the minimum value c needed for nzmax. otherwise ierr=0 (normal return). c c Notes: c 1) This module is NOT in place. c 2) even when imod = 2, length of isky is n+1, not n. c c----------------------------------------------------------------------- c first determine individial bandwidths and pointers. c----------------------------------------------------------------------- ierr = 0 isky(1) = 0 do 3 i=1,n ml = 0 do 31 k=ia(i),ia(i+1)-1 ml = max(ml,i-ja(k)+1) 31 continue isky(i+1) = isky(i)+ml 3 continue c c test if there is enough space asky to do the copying. c nnz = isky(n+1) if (nnz .gt. nzmax) then ierr = nnz return endif c c fill asky with zeros. c do 1 k=1, nnz asky(k) = 0.0d0 1 continue c c copy nonzero elements. c do 4 i=1,n kend = isky(i+1) do 41 k=ia(i),ia(i+1)-1 j = ja(k) if (j .le. i) asky(kend+j-i) = a(k) 41 continue 4 continue c c modify pointer according to imod if necessary. c if (imod .eq. 0) return if (imod .eq. 1) then do 50 k=1, n+1 isky(k) = isky(k)+1 50 continue endif if (imod .eq. 2) then do 60 k=1, n isky(k) = isky(k+1) 60 continue endif c return c------------- end of csrssk ------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine sskssr (n,imod,asky,isky,ao,jao,iao,nzmax,ierr) real*8 asky(*),ao(nzmax) integer n, imod,nzmax,ierr, isky(n+1),iao(n+1),jao(nzmax) c----------------------------------------------------------------------- c Symmetric Skyline Format to Symmetric Sparse Row format. c----------------------------------------------------------------------- c tests for exact zeros in skyline matrix (and ignores them in c output matrix). In place routine (a, isky :: ao, iao) c----------------------------------------------------------------------- c this subroutine translates a symmetric skyline format into a c symmetric sparse row format. Each element is tested to see if it is c a zero element. Only the actual nonzero elements are retained. Note c that the test used is simple and does take into account the smallness c of a value. the subroutine filter (see unary module) can be used c for this purpose. c----------------------------------------------------------------------- c Coded by Y. Saad, Oct 5, 1989. Revised Feb 18, 1991./ c----------------------------------------------------------------------- c c on entry: c---------- c n = integer equal to the dimension of A. c imod = integer indicating the variant of skyline format used: c imod = 0 means the pointer iao points to the `zeroth' c element of the row, i.e., to the position of the diagonal c element of previous row (for i=1, iao(1)= 0) c imod = 1 means that itpr points to the beginning of the row. c imod = 2 means that iao points to the end of the row c (diagonal element) c asky = real array containing the values of the matrix. asky contains c the sequence of active rows from i=1, to n, an active row c being the row of elemnts of the matrix contained between the c leftmost nonzero element and the diagonal element. c isky = integer array of size n+1 containing the pointer array to c each row. isky (k) contains the address of the beginning of the c k-th active row in the array asky. c nzmax = integer. equal to the number of available locations in the c output array ao. c c on return: c ---------- c ao = real array of size nna containing the nonzero elements c jao = integer array of size nnz containing the column positions c of the corresponding elements in a. c iao = integer of size n+1. iao(k) contains the position in a, ja of c the beginning of the k-th row. c ierr = integer. Serving as error message. If the length of the c output arrays ao, jao exceeds nzmax then ierr returns c the row number where the algorithm stopped: rows c i, to ierr-1 have been processed succesfully. c ierr = 0 means normal return. c ierr = -1 : illegal value for imod c Notes: c------- c This module is in place: ao and iao can be the same as asky, and isky. c----------------------------------------------------------------------- c local variables integer next, kend, kstart, i, j ierr = 0 c c check for validity of imod c if (imod.ne.0 .and. imod.ne.1 .and. imod .ne. 2) then ierr =-1 return endif c c next = pointer to next available position in output matrix c kend = pointer to end of current row in skyline matrix. c next = 1 c c set kend = start position -1 in skyline matrix. c kend = 0 if (imod .eq. 1) kend = isky(1)-1 if (imod .eq. 0) kend = isky(1) c c loop through all rows c do 50 i=1,n c c save value of pointer to ith row in output matrix c iao(i) = next c c get beginnning and end of skyline row c kstart = kend+1 if (imod .eq. 0) kend = isky(i+1) if (imod .eq. 1) kend = isky(i+1)-1 if (imod .eq. 2) kend = isky(i) c c copy element into output matrix unless it is a zero element. c do 40 k=kstart,kend if (asky(k) .eq. 0.0d0) goto 40 j = i-(kend-k) jao(next) = j ao(next) = asky(k) next=next+1 if (next .gt. nzmax+1) then ierr = i return endif 40 continue 50 continue iao(n+1) = next return c-------------end-of-sskssr -------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrjad (nrow, a, ja, ia, idiag, iperm, ao, jao, iao) integer ja(*), jao(*), ia(nrow+1), iperm(nrow), iao(nrow) real*8 a(*), ao(*) c----------------------------------------------------------------------- c Compressed Sparse Row to JAgged Diagonal storage. c----------------------------------------------------------------------- c this subroutine converts matrix stored in the compressed sparse c row format to the jagged diagonal format. The data structure c for the JAD (Jagged Diagonal storage) is as follows. The rows of c the matrix are (implicitly) permuted so that their lengths are in c decreasing order. The real entries ao(*) and their column indices c jao(*) are stored in succession. The number of such diagonals is idiag. c the lengths of each of these diagonals is stored in iao(*). c For more details see [E. Anderson and Y. Saad, c ``Solving sparse triangular systems on parallel computers'' in c Inter. J. of High Speed Computing, Vol 1, pp. 73-96 (1989).] c or [Y. Saad, ``Krylov Subspace Methods on Supercomputers'' c SIAM J. on Stat. Scient. Comput., volume 10, pp. 1200-1232 (1989).] c----------------------------------------------------------------------- c on entry: c---------- c nrow = row dimension of the matrix A. c c a, c ia, c ja = input matrix in compressed sparse row format. c c on return: c---------- c c idiag = integer. The number of jagged diagonals in the matrix. c c iperm = integer array of length nrow containing the permutation c of the rows that leads to a decreasing order of the c number of nonzero elements. c c ao = real array containing the values of the matrix A in c jagged diagonal storage. The j-diagonals are stored c in ao in sequence. c c jao = integer array containing the column indices of the c entries in ao. c c iao = integer array containing pointers to the beginning c of each j-diagonal in ao, jao. iao is also used as c a work array and it should be of length n at least. c c----------------------------------------------------------------------- c ---- define initial iperm and get lengths of each row c ---- jao is used a work vector to store tehse lengths c idiag = 0 ilo = nrow do 10 j=1, nrow iperm(j) = j len = ia(j+1) - ia(j) ilo = min(ilo,len) idiag = max(idiag,len) jao(j) = len 10 continue c c call sorter to get permutation. use iao as work array. c call dcsort (jao, nrow, iao, iperm, ilo, idiag) c c define output data structure. first lengths of j-diagonals c do 20 j=1, nrow iao(j) = 0 20 continue do 40 k=1, nrow len = jao(iperm(k)) do 30 i=1,len iao(i) = iao(i)+1 30 continue 40 continue c c get the output matrix itself c k1 = 1 k0 = k1 do 60 jj=1, idiag len = iao(jj) do 50 k=1,len i = ia(iperm(k))+jj-1 ao(k1) = a(i) jao(k1) = ja(i) k1 = k1+1 50 continue iao(jj) = k0 k0 = k1 60 continue iao(idiag+1) = k1 return c----------end-of-csrjad------------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine jadcsr (nrow, idiag, a, ja, ia, iperm, ao, jao, iao) integer ja(*), jao(*), ia(idiag+1), iperm(nrow), iao(nrow+1) real*8 a(*), ao(*) c----------------------------------------------------------------------- c Jagged Diagonal Storage to Compressed Sparse Row c----------------------------------------------------------------------- c this subroutine converts a matrix stored in the jagged diagonal format c to the compressed sparse row format. c----------------------------------------------------------------------- c on entry: c---------- c nrow = integer. the row dimension of the matrix A. c c idiag = integer. The number of jagged diagonals in the data c structure a, ja, ia. c c a, c ja, c ia = input matrix in jagged diagonal format. c c iperm = permutation of the rows used to obtain the JAD ordering. c c on return: c---------- c c ao, jao, c iao = matrix in CSR format. c----------------------------------------------------------------------- c determine first the pointers for output matrix. Go through the c structure once: c do 137 j=1,nrow jao(j) = 0 137 continue c c compute the lengths of each row of output matrix - c do 140 i=1, idiag len = ia(i+1)-ia(i) do 138 k=1,len jao(iperm(k)) = jao(iperm(k))+1 138 continue 140 continue c c remember to permute c kpos = 1 iao(1) = 1 do 141 i=1, nrow kpos = kpos+jao(i) iao(i+1) = kpos 141 continue c c copy elemnts one at a time. c do 200 jj = 1, idiag k1 = ia(jj)-1 len = ia(jj+1)-k1-1 do 160 k=1,len kpos = iao(iperm(k)) ao(kpos) = a(k1+k) jao(kpos) = ja(k1+k) iao(iperm(k)) = kpos+1 160 continue 200 continue c c rewind pointers c do 5 j=nrow,1,-1 iao(j+1) = iao(j) 5 continue iao(1) = 1 return c----------end-of-jadcsr------------------------------------------------ c----------------------------------------------------------------------- end subroutine dcsort(ival, n, icnt, index, ilo, ihi) c----------------------------------------------------------------------- c Specifications for arguments: c ---------------------------- integer n, ilo, ihi, ival(n), icnt(ilo:ihi), index(n) c----------------------------------------------------------------------- c This routine computes a permutation which, when applied to the c input vector ival, sorts the integers in ival in descending c order. The permutation is represented by the vector index. The c permuted ival can be interpreted as follows: c ival(index(i-1)) .ge. ival(index(i)) .ge. ival(index(i+1)) c c A specialized sort, the distribution counting sort, is used c which takes advantage of the knowledge that c 1) The values are in the (small) range [ ilo, ihi ] c 2) Values are likely to be repeated often c c contributed to SPARSKIT by Mike Heroux. (Cray Research) c --------------------------------------- c----------------------------------------------------------------------- c Usage: c------ c call dcsort( ival, n, icnt, index, ilo, ihi ) c c Arguments: c----------- c ival integer array (input) c On entry, ia is an n dimensional array that contains c the values to be sorted. ival is unchanged on exit. c c n integer (input) c On entry, n is the number of elements in ival and index. c c icnt integer (work) c On entry, is an integer work vector of length c (ihi - ilo + 1). c c index integer array (output) c On exit, index is an n-length integer vector containing c the permutation which sorts the vector ival. c c ilo integer (input) c On entry, ilo is .le. to the minimum value in ival. c c ihi integer (input) c On entry, ihi is .ge. to the maximum value in ival. c c Remarks: c--------- c The permutation is NOT applied to the vector ival. c c---------------------------------------------------------------- c c Local variables: c Other integer values are temporary indices. c c Author: c-------- c Michael Heroux c Sandra Carney c Mathematical Software Research Group c Cray Research, Inc. c c References: c Knuth, Donald E., "The Art of Computer Programming, Volume 3: c Sorting and Searching," Addison-Wesley, Reading, Massachusetts, c 1973, pp. 78-79. c c Revision history: c 05/09/90: Original implementation. A variation of the c Distribution Counting Sort recommended by c Sandra Carney. (Mike Heroux) c c----------------------------------------------------------------- c ---------------------------------- c Specifications for local variables c ---------------------------------- integer i, j, ivalj c c -------------------------- c First executable statement c -------------------------- do 10 i = ilo, ihi icnt(i) = 0 10 continue c do 20 i = 1, n icnt(ival(i)) = icnt(ival(i)) + 1 20 continue c do 30 i = ihi-1,ilo,-1 icnt(i) = icnt(i) + icnt(i+1) 30 continue c do 40 j = n, 1, -1 ivalj = ival(j) index(icnt(ivalj)) = j icnt(ivalj) = icnt(ivalj) - 1 40 continue return end c-------end-of-dcsort--------------------------------------------------- c----------------------------------------------------------------------- subroutine cooell(job,n,nnz,a,ja,ia,ao,jao,lda,ncmax,nc,ierr) implicit none integer job,n,nnz,lda,ncmax,nc,ierr integer ja(nnz),ia(nnz),jao(lda,ncmax) real*8 a(nnz),ao(lda,ncmax) c----------------------------------------------------------------------- c COOrdinate format to ELLpack format c----------------------------------------------------------------------- c On entry: c job -- 0 if only pattern is to be processed(AO is not touched) c n -- number of rows in the matrix c a,ja,ia -- input matix in COO format c lda -- leading dimension of array AO and JAO c ncmax -- size of the second dimension of array AO and JAO c c On exit: c ao,jao -- the matrix in ELL format c nc -- maximum number of nonzeros per row c ierr -- 0 if convertion succeeded c -1 if LDA < N c nc if NC > ncmax c c NOTE: the last column of JAO is used as work space!! c----------------------------------------------------------------------- integer i,j,k,ip real*8 zero logical copyval parameter (zero=0.0D0) c .. first executable statement .. copyval = (job.ne.0) if (lda .lt. n) then ierr = -1 return endif c .. use the last column of JAO as workspace c .. initialize the work space do i = 1, n jao(i,ncmax) = 0 enddo nc = 0 c .. go through ia and ja to find out number nonzero per row do k = 1, nnz i = ia(k) jao(i,ncmax) = jao(i,ncmax) + 1 enddo c .. maximum number of nonzero per row nc = 0 do i = 1, n if (nc.lt.jao(i,ncmax)) nc = jao(i,ncmax) jao(i,ncmax) = 0 enddo c .. if nc > ncmax retrun now if (nc.gt.ncmax) then ierr = nc return endif c .. go through ia and ja to copy the matrix to AO and JAO do k = 1, nnz i = ia(k) j = ja(k) jao(i,ncmax) = jao(i,ncmax) + 1 ip = jao(i,ncmax) if (ip.gt.nc) nc = ip if (copyval) ao(i,ip) = a(k) jao(i,ip) = j enddo c .. fill the unspecified elements of AO and JAO with zero diagonals do i = 1, n do j = ia(i+1)-ia(i)+1, nc jao(i,j)=i if(copyval) ao(i,j) = zero enddo enddo ierr = 0 c return end c-----end-of-cooell----------------------------------------------------- c----------------------------------------------------------------------- subroutine xcooell(n,nnz,a,ja,ia,ac,jac,nac,ner,ncmax,ierr) C----------------------------------------------------------------------- C coordinate format to ellpack format. C----------------------------------------------------------------------- C C DATE WRITTEN: June 4, 1989. C C PURPOSE C ------- C This subroutine takes a sparse matrix in coordinate format and C converts it into the Ellpack-Itpack storage. C C Example: C ------- C ( 11 0 13 0 0 0 ) C | 21 22 0 24 0 0 | C | 0 32 33 0 35 0 | C A = | 0 0 43 44 0 46 | C | 51 0 0 54 55 0 | C ( 61 62 0 0 65 66 ) C C Coordinate storage scheme: C C A = (11,22,33,44,55,66,13,21,24,32,35,43,46,51,54,61,62,65) C IA = (1, 2, 3, 4, 5, 6, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6 ) C JA = ( 1, 2, 3, 4, 5, 6, 3, 1, 4, 2, 5, 3, 6, 1, 4, 1, 2, 5) C C Ellpack-Itpack storage scheme: C C ( 11 13 0 0 ) ( 1 3 * * ) C | 22 21 24 0 | | 2 1 4 * | C AC = | 33 32 35 0 | JAC = | 3 2 5 * | C | 44 43 46 0 | | 4 3 6 * | C | 55 51 54 0 | | 5 1 4 * | C ( 66 61 62 65 ) ( 6 1 2 5 ) C C Note: * means that you can store values from 1 to 6 (1 to n, where C n is the order of the matrix) in that position in the array. C C Contributed by: C --------------- C Ernest E. Rothman C Cornell Thoery Center/Cornell National Supercomputer Facility C e-mail address: BITNET: EER@CORNELLF.BITNET C INTERNET: eer@cornellf.tn.cornell.edu C C checked and modified 04/13/90 Y.Saad. C C REFERENCES C ---------- C Kincaid, D. R.; Oppe, T. C.; Respess, J. R.; Young, D. M. 1984. C ITPACKV 2C User's Guide, CNA-191. Center for Numerical Analysis, C University of Texas at Austin. C C "Engineering and Scientific Subroutine Library; Guide and C Reference; Release 3 (SC23-0184-3). Pp. 79-86. C C----------------------------------------------------------------------- C C INPUT PARAMETERS C ---------------- C N - Integer. The size of the square matrix. C C NNZ - Integer. Must be greater than or equal to the number of C nonzero elements in the sparse matrix. Dimension of A, IA C and JA. C C NCA - Integer. First dimension of output arrays ca and jac. C C A(NNZ) - Real array. (Double precision) C Stored entries of the sparse matrix A. C NNZ is the number of nonzeros. C C IA(NNZ) - Integer array. C Pointers to specify rows for the stored nonzero entries C in A. C C JA(NNZ) - Integer array. C Pointers to specify columns for the stored nonzero C entries in A. C C NER - Integer. Must be set greater than or equal to the maximum C number of nonzeros in any row of the sparse matrix. C C OUTPUT PARAMETERS C ----------------- C AC(NAC,*) - Real array. (Double precision) C Stored entries of the sparse matrix A in compressed C storage mode. C C JAC(NAC,*) - Integer array. C Contains the column numbers of the sparse matrix C elements stored in the corresponding positions in C array AC. C C NCMAX - Integer. Equals the maximum number of nonzeros in any C row of the sparse matrix. C C IERR - Error parameter is returned as zero on successful C execution of the subroutin 1 c c Work space: c iwk -- integer work space of size nrow+1 c c .. Local Scalars .. integer i,j,k,ko,ipos,kfirst,klast real*8 tmp c .. c 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 IA 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) = ia(i) 90 continue iwk(nrow+1) = ia(nrow+1) k = 1 do 120 i = 1, nrow ia(i) = k ipos = iwk(i) klast = iwk(i+1) 100 if (ipos.lt.klast) then j = ja(ipos) if (indu(j).eq.0) then c .. new entry .. if (value2.ne.0) then if (a(ipos) .ne. 0.0D0) then indu(j) = k ja(k) = ja(ipos) a(k) = a(ipos) k = k + 1 endif else indu(j) = k ja(k) = ja(ipos) k = k + 1 endif else if (value2.ne.0) then c .. duplicate entry .. a(indu(j)) = a(indu(j)) + a(ipos) endif ipos = ipos + 1 go to 100 endif c .. remove marks before working on the next row .. do 110 ipos = ia(i), k - 1 indu(ja(ipos)) = 0 110 continue 120 continue ia(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 upper part. c do 140 i = 1, nrow klast = ia(i+1) - 1 kfirst = ia(i) 130 if (klast.gt.kfirst) then if (ja(klast).lt.i .and. ja(kfirst).ge.i) then c .. swap klast with kfirst .. j = ja(klast) ja(klast) = ja(kfirst) ja(kfirst) = j if (value2.ne.0) then tmp = a(klast) a(klast) = a(kfirst) a(kfirst) = tmp endif endif if (ja(klast).ge.i) & klast = klast - 1 if (ja(kfirst).lt.i) & kfirst = kfirst + 1 go to 130 endif c if (ja(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 burble-sort is used c do 190 i = 1, nrow do 160 ipos = ia(i), indu(i)-1 do 150 j = indu(i)-1, ipos+1, -1 k = j - 1 if (ja(k).gt.ja(j)) then ko = ja(k) ja(k) = ja(j) ja(j) = ko if (value2.ne.0) then tmp = a(k) a(k) = a(j) a(j) = tmp endif endif 150 continue 160 continue do 180 ipos = indu(i), ia(i+1)-1 do 170 j = ia(i+1)-1, ipos+1, -1 k = j - 1 if (ja(k).gt.ja(j)) then ko = ja(k) ja(k) = ja(j) ja(j) = ko if (value2.ne.0) then tmp = a(k) a(k) = a(j) a(j) = tmp endif endif 170 continue 180 continue 190 continue return c---- end of clncsr ---------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine copmat (nrow,a,ja,ia,ao,jao,iao,ipos,job) real*8 a(*),ao(*) integer nrow, ia(*),ja(*),jao(*),iao(*), ipos, job c---------------------------------------------------------------------- c copies the matrix a, ja, ia, into the matrix ao, jao, iao. c---------------------------------------------------------------------- c on entry: c--------- c nrow = row dimension of the matrix c a, c ja, c ia = input matrix in compressed sparse row format. c ipos = integer. indicates the position in the array ao, jao c where the first element should be copied. Thus c iao(1) = ipos on return. c job = job indicator. if (job .ne. 1) the values are not copies c (i.e., pattern only is copied in the form of arrays ja, ia). c c on return: c---------- c ao, c jao, c iao = output matrix containing the same data as a, ja, ia. c----------------------------------------------------------------------- c Y. Saad, March 1990. c----------------------------------------------------------------------- c local variables integer kst, i, k c kst = ipos -ia(1) do 100 i = 1, nrow+1 iao(i) = ia(i) + kst 100 continue c do 200 k=ia(1), ia(nrow+1)-1 jao(kst+k)= ja(k) 200 continue c if (job .ne. 1) return do 201 k=ia(1), ia(nrow+1)-1 ao(kst+k) = a(k) 201 continue c return c--------end-of-copmat ------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine msrcop (nrow,a,ja,ao,jao,job) real*8 a(*),ao(*) integer nrow, ja(*),jao(*), job c---------------------------------------------------------------------- c copies the MSR matrix a, ja, into the MSR matrix ao, jao c---------------------------------------------------------------------- c on entry: c--------- c nrow = row dimension of the matrix c a,ja = input matrix in Modified compressed sparse row format. c job = job indicator. Values are not copied if job .ne. 1 c c on return: c---------- c ao, jao = output matrix containing the same data as a, ja. c----------------------------------------------------------------------- c Y. Saad, c----------------------------------------------------------------------- c local variables integer i, k c do 100 i = 1, nrow+1 jao(i) = ja(i) 100 continue c do 200 k=ja(1), ja(nrow+1)-1 jao(k)= ja(k) 200 continue c if (job .ne. 1) return do 201 k=ja(1), ja(nrow+1)-1 ao(k) = a(k) 201 continue do 202 k=1,nrow ao(k) = a(k) 202 continue c return c--------end-of-msrcop ------------------------------------------------- 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 getdia (nrow,ncol,job,a,ja,ia,len,diag,idiag,ioff) real*8 diag(*),a(*) integer nrow, ncol, job, len, ioff, ia(*), ja(*), idiag(*) c----------------------------------------------------------------------- c this subroutine extracts a given diagonal from a matrix stored in csr c format. the output matrix may be transformed with the diagonal removed c from it if desired (as indicated by job.) c----------------------------------------------------------------------- c our definition of a diagonal of matrix is a vector of length nrow c (always) which contains the elements in rows 1 to nrow of c the matrix that are contained in the diagonal offset by ioff c with respect to the main diagonal. if the diagonal element c falls outside the matrix then it is defined as a zero entry. c thus the proper definition of diag(*) with offset ioff is c c diag(i) = a(i,ioff+i) i=1,2,...,nrow c with elements falling outside the matrix being defined as zero. c c----------------------------------------------------------------------- c c on entry: c---------- c c nrow = integer. the row dimension of the matrix a. c ncol = integer. the column dimension of the matrix a. c job = integer. job indicator. if job = 0 then c the matrix a, ja, ia, is not altered on return. c if job.ne.0 then getdia will remove the entries c collected in diag from the original matrix. c this is done in place. c c a,ja, c ia = matrix stored in compressed sparse row a,ja,ia,format c ioff = integer,containing the offset of the wanted diagonal c the diagonal extracted is the one corresponding to the c entries a(i,j) with j-i = ioff. c thus ioff = 0 means the main diagonal c c on return: c----------- c len = number of nonzero elements found in diag. c (len .le. min(nrow,ncol-ioff)-max(1,1-ioff) + 1 ) c c diag = real*8 array of length nrow containing the wanted diagonal. c diag contains the diagonal (a(i,j),j-i = ioff ) as defined c above. c c idiag = integer array of length len, containing the poisitions c in the original arrays a and ja of the diagonal elements c collected in diag. a zero entry in idiag(i) means that c there was no entry found in row i belonging to the diagonal. c c a, ja, c ia = if job .ne. 0 the matrix is unchanged. otherwise the nonzero c diagonal entries collected in diag are removed from the c matrix and therefore the arrays a, ja, ia will change. c (the matrix a, ja, ia will contain len fewer elements) c c----------------------------------------------------------------------c c Y. Saad, sep. 21 1989 - modified and retested Feb 17, 1996. c c----------------------------------------------------------------------c c local variables integer istart, max, iend, i, kold, k, kdiag, ko c istart = max(0,-ioff) iend = min(nrow,ncol-ioff) len = 0 do 1 i=1,nrow idiag(i) = 0 diag(i) = 0.0d0 1 continue c c extract diagonal elements c do 6 i=istart+1, iend do 51 k= ia(i),ia(i+1) -1 if (ja(k)-i .eq. ioff) then diag(i)= a(k) idiag(i) = k len = len+1 goto 6 endif 51 continue 6 continue if (job .eq. 0 .or. len .eq.0) return c c remove diagonal elements and rewind structure c ko = 0 do 7 i=1, nrow kold = ko kdiag = idiag(i) do 71 k= ia(i), ia(i+1)-1 if (k .ne. kdiag) then ko = ko+1 a(ko) = a(k) ja(ko) = ja(k) endif 71 continue ia(i) = kold+1 7 continue c c redefine ia(nrow+1) c ia(nrow+1) = ko+1 return c------------end-of-getdia---------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine transp (nrow,ncol,a,ja,ia,iwk,ierr) integer nrow, ncol, ia(*), ja(*), iwk(*), ierr real*8 a(*) c------------------------------------------------------------------------ c In-place transposition routine. c------------------------------------------------------------------------ c this subroutine transposes a matrix stored in compressed sparse row c format. the transposition is done in place in that the arrays a,ja,ia c of the transpose are overwritten onto the original arrays. c------------------------------------------------------------------------ c on entry: c--------- c nrow = integer. The row dimension of A. c ncol = integer. The column dimension of A. 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 of size n+1, where n = max(nrow,ncol). On entry c ia(k) contains the position in a,ja of the beginning of c the k-th row. c c iwk = integer work array of same length as ja. c c on return: c---------- c c ncol = actual row dimension of the transpose of the input matrix. c Note that this may be .le. the input value for ncol, in c case some of the last columns of the input matrix are zero c columns. In the case where the actual number of rows found c in transp(A) exceeds the input value of ncol, transp will c return without completing the transposition. see ierr. c a, c ja, c ia = contains the transposed matrix in compressed sparse c row format. The row dimension of a, ja, ia is now ncol. c c ierr = integer. error message. If the number of rows for the c transposed matrix exceeds the input value of ncol, c then ierr is set to that number and transp quits. c Otherwise ierr is set to 0 (normal return). c c Note: c----- 1) If you do not need the transposition to be done in place c it is preferrable to use the conversion routine csrcsc c (see conversion routines in formats). c 2) the entries of the output matrix are not sorted (the column c indices in each are not in increasing order) use csrcsc c if you want them sorted. c----------------------------------------------------------------------c c Y. Saad, Sep. 21 1989 c c modified Oct. 11, 1989. c c----------------------------------------------------------------------c c local variables real*8 t, t1 ierr = 0 nnz = ia(nrow+1)-1 c c determine column dimension c jcol = 0 do 1 k=1, nnz jcol = max(jcol,ja(k)) 1 continue if (jcol .gt. ncol) then ierr = jcol return endif c c convert to coordinate format. use iwk for row indices. c ncol = jcol c do 3 i=1,nrow do 2 k=ia(i),ia(i+1)-1 iwk(k) = i 2 continue 3 continue c find pointer array for transpose. do 35 i=1,ncol+1 ia(i) = 0 35 continue do 4 k=1,nnz i = ja(k) ia(i+1) = ia(i+1)+1 4 continue ia(1) = 1 c------------------------------------------------------------------------ do 44 i=1,ncol ia(i+1) = ia(i) + ia(i+1) 44 continue c c loop for a cycle in chasing process. c init = 1 k = 0 5 t = a(init) i = ja(init) j = iwk(init) iwk(init) = -1 c------------------------------------------------------------------------ 6 k = k+1 c current row number is i. determine where to go. l = ia(i) c save the chased element. t1 = a(l) inext = ja(l) c then occupy its location. a(l) = t ja(l) = j c update pointer information for next element to be put in row i. ia(i) = l+1 c determine next element to be chased if (iwk(l) .lt. 0) goto 65 t = t1 i = inext j = iwk(l) iwk(l) = -1 if (k .lt. nnz) goto 6 goto 70 65 init = init+1 if (init .gt. nnz) goto 70 if (iwk(init) .lt. 0) goto 65 c restart chasing -- goto 5 70 continue do 80 i=ncol,1,-1 ia(i+1) = ia(i) 80 continue ia(1) = 1 c return c------------------end-of-transp ---------------------------------------- c------------------------------------------------------------------------ end c------------------------------------------------------------------------ subroutine getl (n,a,ja,ia,ao,jao,iao) integer n, ia(*), ja(*), iao(*), jao(*) real*8 a(*), ao(*) c------------------------------------------------------------------------ c this subroutine extracts the lower triangular part of a matrix c and writes the result ao, jao, iao. The routine is in place in c that ao, jao, iao can be the same as a, ja, ia if desired. c----------- c on input: c c n = dimension of the matrix a. c a, ja, c ia = matrix stored in compressed sparse row format. c On return: c ao, jao, c iao = lower triangular matrix (lower part of a) c stored in a, ja, ia, format c note: the diagonal element is the last element in each row. c i.e. in a(ia(i+1)-1 ) c ao, jao, iao may be the same as a, ja, ia on entry -- in which case c getl will overwrite the result on a, ja, ia. c c------------------------------------------------------------------------ c local variables real*8 t integer ko, kold, kdiag, k, i c c inititialize ko (pointer for output matrix) c ko = 0 do 7 i=1, n kold = ko kdiag = 0 do 71 k = ia(i), ia(i+1) -1 if (ja(k) .gt. i) goto 71 ko = ko+1 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(n+1) = ko+1 return c----------end-of-getl ------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine getu (n,a,ja,ia,ao,jao,iao) integer n, ia(*), ja(*), iao(*), jao(*) real*8 a(*), ao(*) c------------------------------------------------------------------------ c this subroutine extracts the upper triangular part of a matrix c and writes the result ao, jao, iao. The routine is in place in c that ao, jao, iao can be the same as a, ja, ia if desired. c----------- c on input: c c n = dimension of the matrix a. c a, ja, c ia = matrix stored in a, ja, ia, format c On return: c ao, jao, c iao = upper triangular matrix (upper part of a) c stored in compressed sparse row format c note: the diagonal element is the last element in each row. c i.e. in a(ia(i+1)-1 ) c ao, jao, iao may be the same as a, ja, ia on entry -- in which case c getu will overwrite the result on a, ja, ia. c c------------------------------------------------------------------------ c local variables real*8 t integer ko, k, i, kdiag, kfirst ko = 0 do 7 i=1, n kfirst = ko+1 kdiag = 0 do 71 k = ia(i), ia(i+1) -1 if (ja(k) .lt. i) goto 71 ko = ko+1 ao(ko) = a(k) jao(ko) = ja(k) if (ja(k) .eq. i) kdiag = ko 71 continue if (kdiag .eq. 0 .or. kdiag .eq. kfirst) goto 72 c exchange t = ao(kdiag) ao(kdiag) = ao(kfirst) ao(kfirst) = t c k = jao(kdiag) jao(kdiag) = jao(kfirst) jao(kfirst) = k 72 iao(i) = kfirst 7 continue c redefine iao(n+1) iao(n+1) = ko+1 return c----------end-of-getu ------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine levels (n, jal, ial, nlev, lev, ilev, levnum) integer jal(*),ial(*), levnum(*), ilev(*), lev(*) c----------------------------------------------------------------------- c levels gets the level structure of a lower triangular matrix c for level scheduling in the parallel solution of triangular systems c strict lower matrices (e.g. unit) as well matrices with their main c diagonal are accepted. c----------------------------------------------------------------------- c on entry: c---------- c n = integer. The row dimension of the matrix c jal, ial = c c on return: c----------- c nlev = integer. number of levels found c lev = integer array of length n containing the level c scheduling permutation. c ilev = integer array. pointer to beginning of levels in lev. c the numbers lev(i) to lev(i+1)-1 contain the row numbers c that belong to level number i, in the level scheduling c ordering. The equations of the same level can be solved c in parallel, once those of all the previous levels have c been solved. c work arrays: c------------- c levnum = integer array of length n (containing the level numbers c of each unknown on return) c----------------------------------------------------------------------- do 10 i = 1, n levnum(i) = 0 10 continue c c compute level of each node -- c nlev = 0 do 20 i = 1, n levi = 0 do 15 j = ial(i), ial(i+1) - 1 levi = max (levi, levnum(jal(j))) 15 continue levi = levi+1 levnum(i) = levi nlev = max(nlev,levi) 20 continue c-------------set data structure -------------------------------------- do 21 j=1, nlev+1 ilev(j) = 0 21 continue c------count number of elements in each level ----------------------- do 22 j=1, n i = levnum(j)+1 ilev(i) = ilev(i)+1 22 continue c---- set up pointer for each level ---------------------------------- ilev(1) = 1 do 23 j=1, nlev ilev(j+1) = ilev(j)+ilev(j+1) 23 continue c-----determine elements of each level -------------------------------- do 30 j=1,n i = levnum(j) lev(ilev(i)) = j ilev(i) = ilev(i)+1 30 continue c reset pointers backwards do 35 j=nlev, 1, -1 ilev(j+1) = ilev(j) 35 continue ilev(1) = 1 return c----------end-of-levels------------------------------------------------ C----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine amask (nrow,ncol,a,ja,ia,jmask,imask, * c,jc,ic,iw,nzmax,ierr) c--------------------------------------------------------------------- real*8 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 = 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 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 rperm (nrow,a,ja,ia,ao,jao,iao,perm,job) integer nrow,ja(*),ia(nrow+1),jao(*),iao(nrow+1),perm(nrow),job real*8 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 cperm (nrow,a,ja,ia,ao,jao,iao,perm,job) integer nrow,ja(*),ia(nrow+1),jao(*),iao(nrow+1),perm(*), job real*8 a(*), ao(*) c----------------------------------------------------------------------- c this subroutine permutes the columns of a matrix a, ja, ia. c the result is written in the output matrix ao, jao, iao. c cperm computes B = A P, where P is a permutation matrix c that maps column j into column perm(j), i.e., on return c a(i,j) becomes a(i,perm(j)) in new matrix c Y. Saad, May 2, 1990 / modified Jan. 28, 1991. c----------------------------------------------------------------------- c on entry: c---------- c nrow = row dimension of the matrix c c a, ja, ia = input matrix in csr format. c c perm = integer array of length ncol (number of columns of A c containing the permutation array the columns: c a(i,j) in the original matrix becomes a(i,perm(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 ao and ignore iao. c c------------ c on return: c------------ c ao, jao, iao = input matrix in a, ja, ia format (array ao not needed) c c Notes: c------- c 1. if job=1 then ao, iao are not used. c 2. This routine is in place: ja, jao can be the same. c 3. If the matrix is initially sorted (by increasing column number) c then ao,jao,iao may not be on return. c c----------------------------------------------------------------------c c local parameters: integer k, i, nnz c nnz = ia(nrow+1)-1 do 100 k=1,nnz jao(k) = perm(ja(k)) 100 continue c c done with ja array. return if no need to touch values. c if (job .ne. 1) return c c else get new pointers -- and copy values too. c do 1 i=1, nrow+1 iao(i) = ia(i) 1 continue c do 2 k=1, nnz ao(k) = a(k) 2 continue c return c---------end-of-cperm-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine dperm (nrow,a,ja,ia,ao,jao,iao,perm,qperm,job) integer nrow,ja(*),ia(nrow+1),jao(*),iao(nrow+1),perm(nrow), + qperm(*),job real*8 a(*),ao(*) c----------------------------------------------------------------------- c This routine permutes the rows and columns of a matrix stored in CSR c format. i.e., it computes P A Q, where P, Q are permutation matrices. c P maps row i into row perm(i) and Q maps column j into column qperm(j): c a(i,j) becomes a(perm(i),qperm(j)) in new matrix c In the particular case where Q is the transpose of P (symmetric c permutation of A) then qperm is not needed. c note that qperm should be of length ncol (number of columns) but this c is not checked. c----------------------------------------------------------------------- c Y. Saad, Sep. 21 1989 / recoded Jan. 28 1991. c----------------------------------------------------------------------- c on entry: c---------- c n = dimension of the matrix c a, ja, c ia = input matrix in a, ja, ia format c perm = integer array of length n containing the permutation arrays c for the rows: perm(i) is the destination of row i in the c permuted matrix -- also the destination of column i in case c permutation is symmetric (job .le. 2) c c qperm = same thing for the columns. This should be provided only c if job=3 or job=4, i.e., only in the case of a nonsymmetric c permutation of rows and columns. Otherwise qperm is a dummy c c job = integer indicating the work to be done: c * job = 1,2 permutation is symmetric Ao :== P * A * transp(P) c job = 1 permute a, ja, ia into ao, jao, iao c job = 2 permute matrix ignoring real values. c * job = 3,4 permutation is non-symmetric Ao :== P * A * Q c job = 3 permute a, ja, ia into ao, jao, iao c job = 4 permute matrix ignoring real values. c c on return: c----------- c ao, jao, iao = input matrix in a, ja, ia format c c in case job .eq. 2 or job .eq. 4, a and ao are never referred to c and can be dummy arguments. c Notes: c------- c 1) algorithm is in place c 2) column indices may not be sorted on return even though they may be c on entry. c----------------------------------------------------------------------c c local variables integer locjob, mod c c locjob indicates whether or not real values must be copied. c locjob = mod(job,2) c c permute rows first c call rperm (nrow,a,ja,ia,ao,jao,iao,perm,locjob) c c then permute columns c locjob = 0 c if (job .le. 2) then call cperm (nrow,ao,jao,iao,ao,jao,iao,perm,locjob) else call cperm (nrow,ao,jao,iao,ao,jao,iao,qperm,locjob) endif c return c-------end-of-dperm---------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine dperm1 (i1,i2,a,ja,ia,b,jb,ib,perm,ipos,job) integer i1,i2,job,ja(*),ia(*),jb(*),ib(*),perm(*) real*8 a(*),b(*) c----------------------------------------------------------------------- c general submatrix extraction routine. c----------------------------------------------------------------------- c extracts rows perm(i1), perm(i1+1), ..., perm(i2) (in this order) c from a matrix (doing nothing in the column indices.) The resulting c submatrix is constructed in b, jb, ib. A pointer ipos to the c beginning of arrays b,jb,is also allowed (i.e., nonzero elements c are accumulated starting in position ipos of b, jb). c----------------------------------------------------------------------- c Y. Saad,Sep. 21 1989 / recoded Jan. 28 1991 / modified for PSPARSLIB c Sept. 1997.. c----------------------------------------------------------------------- c on entry: c---------- c n = dimension of the matrix c a,ja, c ia = input matrix in CSR format c perm = integer array of length n containing the indices of the rows c to be extracted. c c job = job indicator. if (job .ne.1) values are not copied (i.e., c only pattern is copied). c c on return: c----------- c b,ja, c ib = matrix in csr format. b(ipos:ipos+nnz-1),jb(ipos:ipos+nnz-1) c contain the value and column indices respectively of the nnz c nonzero elements of the permuted matrix. thus ib(1)=ipos. c c Notes: c------- c algorithm is NOT in place c----------------------------------------------------------------------- c local variables c integer ko,irow,k logical values c----------------------------------------------------------------------- values = (job .eq. 1) ko = ipos ib(1) = ko do 900 i=i1,i2 irow = perm(i) do 800 k=ia(irow),ia(irow+1)-1 if (values) b(ko) = a(k) jb(ko) = ja(k) ko=ko+1 800 continue ib(i-i1+2) = ko 900 continue return c--------end-of-dperm1-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine dperm2 (i1,i2,a,ja,ia,b,jb,ib,cperm,rperm,istart, * ipos,job) integer i1,i2,job,istart,ja(*),ia(*),jb(*),ib(*),cperm(*),rperm(*) real*8 a(*),b(*) c----------------------------------------------------------------------- c general submatrix permutation/ extraction routine. c----------------------------------------------------------------------- c extracts rows rperm(i1), rperm(i1+1), ..., rperm(i2) and does an c associated column permutation (using array cperm). The resulting c submatrix is constructed in b, jb, ib. For added flexibility, the c extracted elements are put in sequence starting from row 'istart' c of B. In addition a pointer ipos to the beginning of arrays b,jb, c is also allowed (i.e., nonzero elements are accumulated starting in c position ipos of b, jb). In most applications istart and ipos are c equal to one. However, the generality adds substantial flexiblity. c EXPLE: (1) to permute msr to msr (excluding diagonals) c call dperm2 (1,n,a,ja,ja,b,jb,jb,rperm,rperm,1,n+2) c (2) To extract rows 1 to 10: define rperm and cperm to be c identity permutations (rperm(i)=i, i=1,n) and then c call dperm2 (1,10,a,ja,ia,b,jb,ib,rperm,rperm,1,1) c (3) to achieve a symmetric permutation as defined by perm: c call dperm2 (1,10,a,ja,ia,b,jb,ib,perm,perm,1,1) c (4) to get a symmetric permutation of A and append the c resulting data structure to A's data structure (useful!) c call dperm2 (1,10,a,ja,ia,a,ja,ia(n+1),perm,perm,1,ia(n+1)) c----------------------------------------------------------------------- c Y. Saad,Sep. 21 1989 / recoded Jan. 28 1991. c----------------------------------------------------------------------- c on entry: c---------- c n = dimension of the matrix c i1,i2 = extract rows rperm(i1) to rperm(i2) of A, with i1 0 : Row number i is a zero row. 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----------------------------------------------------------------- call rnrms (nrow,nrm,a,ja,ia,diag) ierr = 0 do 1 j=1, nrow if (diag(j) .eq. 0.0d0) then ierr = j return else diag(j) = 1.0d0/diag(j) endif 1 continue call diamua(nrow,job,a,ja,ia,diag,b,jb,ib) return c-------end-of-roscal--------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine coscal(nrow,job,nrm,a,ja,ia,diag,b,jb,ib,ierr) c----------------------------------------------------------------------- real*8 a(*),b(*),diag(nrow) integer nrow,job,ja(*),jb(*),ia(nrow+1),ib(nrow+1),ierr c----------------------------------------------------------------------- c scales the columns of A such that their norms are one on return c result matrix written on b, or overwritten on A. c 3 choices of norms: 1-norm, 2-norm, max-norm. 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 nrm = integer. norm indicator. nrm = 1, means 1-norm, nrm =2 c means the 2-nrm, nrm = 0 means max norm c c a, c ja, c ia = Matrix A in compressed sparse row format. c c on return: c---------- c c diag = diagonal matrix stored as a vector containing the matrix c by which the columns have been scaled, i.e., on return c we have B = A * Diag c c b, c jb, c ib = resulting matrix B in compressed sparse row sparse format. c c ierr = error message. ierr=0 : Normal return c ierr=i > 0 : Column number i is a zero row. 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----------------------------------------------------------------- call cnrms (nrow,nrm,a,ja,ia,diag) ierr = 0 do 1 j=1, nrow if (diag(j) .eq. 0.0) then ierr = j return else diag(j) = 1.0d0/diag(j) endif 1 continue call amudia (nrow,job,a,ja,ia,diag,b,jb,ib) return c--------end-of-coscal-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine addblk(nrowa, ncola, a, ja, ia, ipos, jpos, job, & nrowb, ncolb, b, jb, ib, nrowc, ncolc, c, jc, ic, nzmx, ierr) c implicit none integer nrowa, nrowb, nrowc, ncola, ncolb, ncolc, ipos, jpos integer nzmx, ierr, job integer ja(1:*), ia(1:*), jb(1:*), ib(1:*), jc(1:*), ic(1:*) real*8 a(1:*), b(1:*), c(1:*) c----------------------------------------------------------------------- c This subroutine adds a matrix B into a submatrix of A whose c (1,1) element is located in the starting position (ipos, jpos). c The resulting matrix is allowed to be larger than A (and B), c and the resulting dimensions nrowc, ncolc will be redefined c accordingly upon return. c The input matrices are assumed to be sorted, i.e. in each row c the column indices appear in ascending order in the CSR format. c----------------------------------------------------------------------- c on entry: c --------- c nrowa = number of rows in A. c bcola = number of columns in A. c a,ja,ia = Matrix A in compressed sparse row format with entries sorted c nrowb = number of rows in B. c ncolb = number of columns in B. c b,jb,ib = Matrix B in compressed sparse row format with entries sorted c c nzmax = integer. The length of the arrays c and jc. addblk will c stop if the number of nonzero elements in the matrix C c exceeds nzmax. See ierr. c c on return: c---------- c nrowc = number of rows in C. c ncolc = number of columns in C. c c,jc,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 addblk 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----------------------------------------------------------------------- logical values integer i,j1,j2,ka,kb,kc,kamax,kbmax values = (job .ne. 0) ierr = 0 nrowc = max(nrowa, nrowb+ipos-1) ncolc = max(ncola, ncolb+jpos-1) kc = 1 kbmax = 0 ic(1) = kc c do 10 i=1, nrowc if (i.le.nrowa) then ka = ia(i) kamax = ia(i+1)-1 else ka = ia(nrowa+1) end if if ((i.ge.ipos).and.((i-ipos).le.nrowb)) then kb = ib(i-ipos+1) kbmax = ib(i-ipos+2)-1 else kb = ib(nrowb+1) end if c c a do-while type loop -- goes through all the elements in a row. c 20 continue if (ka .le. kamax) then j1 = ja(ka) else j1 = ncolc+1 endif if (kb .le. kbmax) then j2 = jb(kb) + jpos - 1 else j2 = ncolc+1 endif c c if there are more elements to be added. c if ((ka .le. kamax .or. kb .le. kbmax) .and. & (j1 .le. ncolc .or. j2 .le. ncolc)) then c c three cases c if (j1 .eq. j2) then if (values) c(kc) = a(ka)+b(kb) jc(kc) = j1 ka = ka+1 kb = kb+1 kc = kc+1 else if (j1 .lt. j2) then jc(kc) = j1 if (values) c(kc) = a(ka) ka = ka+1 kc = kc+1 else if (j1 .gt. j2) then jc(kc) = j2 if (values) c(kc) = b(kb) kb = kb+1 kc = kc+1 endif if (kc .gt. nzmx) goto 999 goto 20 end if ic(i+1) = kc 10 continue return 999 ierr = i return c---------end-of-addblk------------------------------------------------- end c----------------------------------------------------------------------- subroutine get1up (n,ja,ia,ju) integer n, ja(*),ia(*),ju(*) c---------------------------------------------------------------------- c obtains the first element of each row of the upper triangular part c of a matrix. Assumes that the matrix is already sorted. c----------------------------------------------------------------------- c parameters c input c ----- c ja = integer array containing the column indices of aij c ia = pointer array. ia(j) contains the position of the c beginning of row j in ja c c output c ------ c ju = integer array of length n. ju(i) is the address in ja c of the first element of the uper triangular part of c of A (including rthe diagonal. Thus if row i does have c a nonzero diagonal element then ju(i) will point to it. c This is a more general version of diapos. c----------------------------------------------------------------------- c local vAriables integer i, k c do 5 i=1, n ju(i) = 0 k = ia(i) c 1 continue if (ja(k) .ge. i) then ju(i) = k goto 5 elseif (k .lt. ia(i+1) -1) then k=k+1 c c go try next element in row c goto 1 endif 5 continue return c-----end-of-get1up----------------------------------------------------- end c---------------------------------------------------------------------- subroutine xtrows (i1,i2,a,ja,ia,ao,jao,iao,iperm,job) integer i1,i2,ja(*),ia(*),jao(*),iao(*),iperm(*),job real*8 a(*),ao(*) c----------------------------------------------------------------------- c this subroutine extracts given rows from a matrix in CSR format. c Specifically, rows number iperm(i1), iperm(i1+1), ...., iperm(i2) c are extracted and put in the output matrix ao, jao, iao, in CSR c format. NOT in place. c Youcef Saad -- coded Feb 15, 1992. c----------------------------------------------------------------------- c on entry: c---------- c i1,i2 = two integers indicating the rows to be extracted. c xtrows will extract rows iperm(i1), iperm(i1+1),..,iperm(i2), c from original matrix and stack them in output matrix c ao, jao, iao in csr format c c a, ja, ia = input matrix in csr format c c iperm = integer array of length nrow containing the reverse permutation c array for the rows. row number iperm(j) in permuted matrix PA c used to be row number j in unpermuted matrix. c ---> a(i,j) in the permuted matrix was a(iperm(i),j) c in the inout matrix. c c job = integer indicating the work to be done: c job .ne. 1 : get structure only of output matrix,, c i.e., ignore real values. (in which case arrays a c and ao are not used nor accessed). c job = 1 get complete data structure of output matrix. c (i.e., including arrays ao and iao). 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, revised May 2, 1990 c c----------------------------------------------------------------------c logical values values = (job .eq. 1) c c copying c ko = 1 iao(1) = ko do 100 j=i1,i2 c c ii=iperm(j) is the index of old row to be copied. c ii = iperm(j) do 60 k=ia(ii), ia(ii+1)-1 jao(ko) = ja(k) if (values) ao(ko) = a(k) ko = ko+1 60 continue iao(j-i1+2) = ko 100 continue c return c---------end-of-xtrows------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrkvstr(n, ia, ja, nr, kvstr) c----------------------------------------------------------------------- integer n, ia(n+1), ja(*), nr, kvstr(*) c----------------------------------------------------------------------- c Finds block row partitioning of matrix in CSR format. c----------------------------------------------------------------------- c On entry: c-------------- c n = number of matrix scalar rows c ia,ja = input matrix sparsity structure in CSR format c c On return: c--------------- c nr = number of block rows c kvstr = first row number for each block row c c Notes: c----------- c Assumes that the matrix is sorted by columns. c This routine does not need any workspace. c c----------------------------------------------------------------------- c local variables integer i, j, jdiff c----------------------------------------------------------------------- nr = 1 kvstr(1) = 1 c--------------------------------- do i = 2, n jdiff = ia(i+1)-ia(i) if (jdiff .eq. ia(i)-ia(i-1)) then do j = ia(i), ia(i+1)-1 if (ja(j) .ne. ja(j-jdiff)) then nr = nr + 1 kvstr(nr) = i goto 299 endif enddo 299 continue else 300 nr = nr + 1 kvstr(nr) = i endif enddo kvstr(nr+1) = n+1 c--------------------------------- return end c----------------------------------------------------------------------- c------------------------end-of-csrkvstr-------------------------------- subroutine csrkvstc(n, ia, ja, nc, kvstc, iwk) c----------------------------------------------------------------------- integer n, ia(n+1), ja(*), nc, kvstc(*), iwk(*) c----------------------------------------------------------------------- c Finds block column partitioning of matrix in CSR format. c----------------------------------------------------------------------- c On entry: c-------------- c n = number of matrix scalar rows c ia,ja = input matrix sparsity structure in CSR format c c On return: c--------------- c nc = number of block columns c kvstc = first column number for each block column c c Work space: c---------------- c iwk(*) of size equal to the number of scalar columns plus one. c Assumed initialized to 0, and left initialized on return. c c Notes: c----------- c Assumes that the matrix is sorted by columns. c c----------------------------------------------------------------------- c local variables integer i, j, k, ncol c c----------------------------------------------------------------------- c-----use ncol to find maximum scalar column number ncol = 0 c-----mark the beginning position of the blocks in iwk do i = 1, n if (ia(i) .lt. ia(i+1)) then j = ja(ia(i)) iwk(j) = 1 do k = ia(i)+1, ia(i+1)-1 j = ja(k) if (ja(k-1).ne.j-1) then iwk(j) = 1 iwk(ja(k-1)+1) = 1 endif enddo iwk(j+1) = 1 ncol = max0(ncol, j) endif enddo c--------------------------------- nc = 1 kvstc(1) = 1 do i = 2, ncol+1 if (iwk(i).ne.0) then nc = nc + 1 kvstc(nc) = i iwk(i) = 0 endif enddo nc = nc - 1 c--------------------------------- return end c----------------------------------------------------------------------- c------------------------end-of-csrkvstc-------------------------------- c----------------------------------------------------------------------- subroutine kvstmerge(nr, kvstr, nc, kvstc, n, kvst) c----------------------------------------------------------------------- integer nr, kvstr(nr+1), nc, kvstc(nc+1), n, kvst(*) c----------------------------------------------------------------------- c Merges block partitionings, for conformal row/col pattern. c----------------------------------------------------------------------- c On entry: c-------------- c nr,nc = matrix block row and block column dimension c kvstr = first row number for each block row c kvstc = first column number for each block column c c On return: c--------------- c n = conformal row/col matrix block dimension c kvst = conformal row/col block partitioning c c Notes: c----------- c If matrix is not square, this routine returns without warning. c c----------------------------------------------------------------------- c-----local variables integer i,j c--------------------------------- if (kvstr(nr+1) .ne. kvstc(nc+1)) return i = 1 j = 1 n = 1 200 if (i .gt. nr+1) then kvst(n) = kvstc(j) j = j + 1 elseif (j .gt. nc+1) then kvst(n) = kvstr(i) i = i + 1 elseif (kvstc(j) .eq. kvstr(i)) then kvst(n) = kvstc(j) j = j + 1 i = i + 1 elseif (kvstc(j) .lt. kvstr(i)) then kvst(n) = kvstc(j) j = j + 1 else kvst(n) = kvstr(i) i = i + 1 endif n = n + 1 if (i.le.nr+1 .or. j.le.nc+1) goto 200 n = n - 2 c--------------------------------- return c------------------------end-of-kvstmerge------------------------------- end sparskit-2.0.0/FORMATS/rvbr.f0000644000265600020320000001210506573336250014742 0ustar tilleaadmin program rvbr c----------------------------------------------------------------------- c SPARSKIT test program for Variable Block Matrix Support c----------------------------------------------------------------------- c This program tests all three conversion routines of csrvbr. c For each conversion to VBR, the format is converted back to CSR c with vbrcsr. The subroutines csrkvstr, csrkvstc, and kvstmerge c become tested in the process. The subroutines vbrinfo and vbrmv c are also tested. c----------------------------------------------------------------------- integer nxmax, nmx, nnzmax parameter (nxmax = 10, nmx = nxmax*nxmax, nnzmax=10*nmx) integer ia(nmx+1),ja(nnzmax),ia1(nnzmax),ja1(nnzmax), iwk(nmx*2+1) real*8 stencil(7,100),a(nnzmax),a1(nnzmax) integer ib(nmx+1),kvstr(nmx+1),kvstc(nmx+1),jb(nmx*10),kb(nmx*10) real*8 b(nnzmax) real*8 x(nmx),rhs(nmx),ans(nmx) integer n, na, nx, ny, nz, nfree integer nr, nc, i, job, maxblock, ierr real*8 rnd c-----dimension of grid nx = 4 ny = 2 nz = 1 nfree = 2 c-----generate grid problem. na = nfree*nfree call gen57bl (nx,ny,nz,nfree,na,n,a1,ja1,ia1,iwk,stencil) c-----convert matrix to CSR call bsrcsr (1,n,nfree,na,a1,ja1,ia1,a,ja,ia) n = n * nfree c call dump(1, n, .true., a, ja, ia, 6) c-----generate random x vector for testing matrix-vector product do i = 1, n x(i) = rnd() enddo c-----generate correct solution for matrix-vector product call amux(n, x, ans, a, ja, ia) do job = 0, 2 write (*,*) 'Testing job = ', job if (job .eq. 0) then c-----------maximum blocksize for random block partitioning maxblock = n/4 c-----------generate random block partitioning for rows nr = 1 kvstr(1) = 1 2000 continue nr = nr + 1 kvstr(nr) = kvstr(nr-1) + int(rnd()*maxblock)+1 if (kvstr(nr) .lt. n+1) goto 2000 kvstr(nr) = n+1 nr = nr - 1 c-----------generate random block partitioning for columns nc = 1 kvstc(1) = 1 2010 continue nc = nc + 1 kvstc(nc) = kvstc(nc-1) + int(rnd()*maxblock)+1 if (kvstc(nc) .lt. n+1) goto 2010 kvstc(nc) = n+1 nc = nc - 1 endif c--------convert to VBR format------------------------------------------ call csrvbr(n, ia, ja, a, nr, nc, kvstr, kvstc, ib, jb, kb, & b, job, iwk, nmx*10, nnzmax, ierr) c--------convert back to CSR format------------------------------------- call vbrcsr(ia1, ja1, a1, nr, kvstr, kvstc, ib, jb, kb, & b, nnzmax, ierr) c--------compare original and converted CSR structures if job not 0 write (*,*) 'Checking conversions....' if (job .ne. 0) then do i = 1, n if (ia(i) .ne. ia1(i)) then write (*,*) 'csrvbr or vbrcsr conversion mismatch' stop endif enddo do i = 1, ia(n+1)-1 if ((ja(i) .ne. ja1(i)) .or. (a(i) .ne. a1(i))) then write (*,*) 'csrvbr or vbrcsr conversion mismatch' stop endif enddo endif c--------test vbrinfo--------------------------------------------------- call vbrinfo(nr, nc, kvstr, kvstc, ib, jb, kb, iwk, 6) c--------test vbrmv----------------------------------------------------- call vbrmv(nr, nc, ib, jb, kb, b, kvstr, kvstc, x, rhs) c--------compare answer with answer computed with CSR format do i = 1, n if (abs(ans(i) - rhs(i)) .gt. abs(0.001d0*ans(i))) then write (*,*) 'VBR matrix-vector product is erroneous ',i stop endif enddo c--------fill CSR structure with garbage do i = 1, ia1(n+1)-1 ja1(i) = -1 a1(i) = -1.d0 enddo do i = 1, n+1 ia1(i) = -1 enddo c--------fill VBR structure with garbage do i = 1, kb(ib(nr+1))-1 b(i) = -1.d0 enddo do i = 1, ib(nr+1) jb(i) = -1 kb(i) = -1 enddo do i = 1, nr+1 ib(i) = -1 enddo c--------fill kvstr and kvstc with garbage do i = 1, nr+1 kvstr(i) = -1 enddo do i = 1, nc+1 kvstc(i) = -1 enddo c--------fill rhs with garbage do i = 1, n rhs(i) = -1.d0 enddo c-----endloop on job enddo stop end c----------------------------------------------------------------------- function rnd() real*8 rnd integer im, ia, ic, jran save jran data im /6075/, ia /106/, ic /1283/, jran/1/ jran = mod(jran*ia+ic, im) rnd = dble(jran)/dble(im) return end c----------------------------------------------------------------------- c Coded by Edmond Chow, chow@cs.umn.edu c----------------------------------------------------------------------- sparskit-2.0.0/UNSUPP/0000755000265600020320000000000006203735314013532 5ustar tilleaadminsparskit-2.0.0/UNSUPP/BLAS1/0000755000265600020320000000000011001743732014327 5ustar tilleaadminsparskit-2.0.0/UNSUPP/BLAS1/blas1.f0000644000265600020320000003737006602550336015521 0ustar tilleaadmin subroutine dcopy(n,dx,incx,dy,incy) c c copies a vector, x, to a vector, y. c uses unrolled loops for increments equal to one. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dy(1) integer i,incx,incy,ix,iy,m,mp1,n c if(n.le.0)return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments c not equal to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n dy(iy) = dx(ix) ix = ix + incx iy = iy + incy 10 continue return c c code for both increments equal to 1 c c c clean-up loop c 20 m = mod(n,7) if( m .eq. 0 ) go to 40 do 30 i = 1,m dy(i) = dx(i) 30 continue if( n .lt. 7 ) return 40 mp1 = m + 1 do 50 i = mp1,n,7 dy(i) = dx(i) dy(i + 1) = dx(i + 1) dy(i + 2) = dx(i + 2) dy(i + 3) = dx(i + 3) dy(i + 4) = dx(i + 4) dy(i + 5) = dx(i + 5) dy(i + 6) = dx(i + 6) 50 continue return end double precision function ddot(n,dx,incx,dy,incy) c c forms the dot product of two vectors. c uses unrolled loops for increments equal to one. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dy(1),dtemp integer i,incx,incy,ix,iy,m,mp1,n c ddot = 0.0d0 dtemp = 0.0d0 if(n.le.0)return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments c not equal to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n dtemp = dtemp + dx(ix)*dy(iy) ix = ix + incx iy = iy + incy 10 continue ddot = dtemp return c c code for both increments equal to 1 c c c clean-up loop c 20 m = mod(n,5) if( m .eq. 0 ) go to 40 do 30 i = 1,m dtemp = dtemp + dx(i)*dy(i) 30 continue if( n .lt. 5 ) go to 60 40 mp1 = m + 1 do 50 i = mp1,n,5 dtemp = dtemp + dx(i)*dy(i) + dx(i + 1)*dy(i + 1) + * dx(i + 2)*dy(i + 2) + dx(i + 3)*dy(i + 3) + dx(i + 4)*dy(i + 4) 50 continue 60 ddot = dtemp return end c double precision function dasum(n,dx,incx) c c takes the sum of the absolute values. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dtemp integer i,incx,m,mp1,n,nincx c dasum = 0.0d0 dtemp = 0.0d0 if(n.le.0)return if(incx.eq.1)go to 20 c c code for increment not equal to 1 c nincx = n*incx do 10 i = 1,nincx,incx dtemp = dtemp + dabs(dx(i)) 10 continue dasum = dtemp return c c code for increment equal to 1 c c c clean-up loop c 20 m = mod(n,6) if( m .eq. 0 ) go to 40 do 30 i = 1,m dtemp = dtemp + dabs(dx(i)) 30 continue if( n .lt. 6 ) go to 60 40 mp1 = m + 1 do 50 i = mp1,n,6 dtemp = dtemp + dabs(dx(i)) + dabs(dx(i + 1)) + dabs(dx(i + 2)) * + dabs(dx(i + 3)) + dabs(dx(i + 4)) + dabs(dx(i + 5)) 50 continue 60 dasum = dtemp return end subroutine daxpy(n,da,dx,incx,dy,incy) c c constant times a vector plus a vector. c uses unrolled loops for increments equal to one. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dy(1),da integer i,incx,incy,ix,iy,m,mp1,n c if(n.le.0)return if (da .eq. 0.0d0) return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments c not equal to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n dy(iy) = dy(iy) + da*dx(ix) ix = ix + incx iy = iy + incy 10 continue return c c code for both increments equal to 1 c c c clean-up loop c 20 m = mod(n,4) if( m .eq. 0 ) go to 40 do 30 i = 1,m dy(i) = dy(i) + da*dx(i) 30 continue if( n .lt. 4 ) return 40 mp1 = m + 1 do 50 i = mp1,n,4 dy(i) = dy(i) + da*dx(i) dy(i + 1) = dy(i + 1) + da*dx(i + 1) dy(i + 2) = dy(i + 2) + da*dx(i + 2) dy(i + 3) = dy(i + 3) + da*dx(i + 3) 50 continue return end double precision function dnrm2 ( n, dx, incx) integer next double precision dx(1), cutlo, cuthi, hitest, sum, xmax,zero,one data zero, one /0.0d0, 1.0d0/ c c euclidean norm of the n-vector stored in dx() with storage c increment incx . c if n .le. 0 return with result = 0. c if n .ge. 1 then incx must be .ge. 1 c c c.l.lawson, 1978 jan 08 c c four phase method using two built-in constants that are c hopefully applicable to all machines. c cutlo = maximum of dsqrt(u/eps) over all known machines. c cuthi = minimum of dsqrt(v) over all known machines. c where c eps = smallest no. such that eps + 1. .gt. 1. c u = smallest positive no. (underflow limit) c v = largest no. (overflow limit) c c brief outline of algorithm.. c c phase 1 scans zero components. c move to phase 2 when a component is nonzero and .le. cutlo c move to phase 3 when a component is .gt. cutlo c move to phase 4 when a component is .ge. cuthi/m c where m = n for x() real and m = 2*n for complex. c c values for cutlo and cuthi.. c from the environmental parameters listed in the imsl converter c document the limiting values are as follows.. c cutlo, s.p. u/eps = 2**(-102) for honeywell. close seconds are c univac and dec at 2**(-103) c thus cutlo = 2**(-51) = 4.44089e-16 c cuthi, s.p. v = 2**127 for univac, honeywell, and dec. c thus cuthi = 2**(63.5) = 1.30438e19 c cutlo, d.p. u/eps = 2**(-67) for honeywell and dec. c thus cutlo = 2**(-33.5) = 8.23181d-11 c cuthi, d.p. same as s.p. cuthi = 1.30438d19 c data cutlo, cuthi / 8.232d-11, 1.304d19 / c data cutlo, cuthi / 4.441e-16, 1.304e19 / data cutlo, cuthi / 8.232d-11, 1.304d19 / c if(n .gt. 0) go to 10 dnrm2 = zero go to 300 c 10 assign 30 to next sum = zero nn = n * incx c begin main loop i = 1 20 go to next,(30, 50, 70, 110) 30 if( dabs(dx(i)) .gt. cutlo) go to 85 assign 50 to next xmax = zero c c phase 1. sum is zero c 50 if( dx(i) .eq. zero) go to 200 if( dabs(dx(i)) .gt. cutlo) go to 85 c c prepare for phase 2. assign 70 to next go to 105 c c prepare for phase 4. c 100 i = j assign 110 to next sum = (sum / dx(i)) / dx(i) 105 xmax = dabs(dx(i)) go to 115 c c phase 2. sum is small. c scale to avoid destructive underflow. c 70 if( dabs(dx(i)) .gt. cutlo ) go to 75 c c common code for phases 2 and 4. c in phase 4 sum is large. scale to avoid overflow. c 110 if( dabs(dx(i)) .le. xmax ) go to 115 sum = one + sum * (xmax / dx(i))**2 xmax = dabs(dx(i)) go to 200 c 115 sum = sum + (dx(i)/xmax)**2 go to 200 c c c prepare for phase 3. c 75 sum = (sum * xmax) * xmax c c c for real or d.p. set hitest = cuthi/n c for complex set hitest = cuthi/(2*n) c 85 hitest = cuthi/float( n ) c c phase 3. sum is mid-range. no scaling. c do 95 j =i,nn,incx if(dabs(dx(j)) .ge. hitest) go to 100 95 sum = sum + dx(j)**2 dnrm2 = dsqrt( sum ) go to 300 c 200 continue i = i + incx if ( i .le. nn ) go to 20 c c end of main loop. c c compute square root and adjust for scaling. c dnrm2 = xmax * dsqrt(sum) 300 continue return end subroutine dscal(n,da,dx,incx) c scales a vector by a constant. c uses unrolled loops for increment equal to one. c jack dongarra, linpack, 3/11/78. c double precision da,dx(1) integer i,incx,m,mp1,n,nincx c if(n.le.0)return if(incx.eq.1)go to 20 c c code for increment not equal to 1 c nincx = n*incx do 10 i = 1,nincx,incx dx(i) = da*dx(i) 10 continue return c c code for increment equal to 1 c c c clean-up loop c 20 m = mod(n,5) if( m .eq. 0 ) go to 40 do 30 i = 1,m dx(i) = da*dx(i) 30 continue if( n .lt. 5 ) return 40 mp1 = m + 1 do 50 i = mp1,n,5 dx(i) = da*dx(i) dx(i + 1) = da*dx(i + 1) dx(i + 2) = da*dx(i + 2) dx(i + 3) = da*dx(i + 3) dx(i + 4) = da*dx(i + 4) 50 continue return end subroutine dswap (n,dx,incx,dy,incy) c c interchanges two vectors. c uses unrolled loops for increments equal one. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dy(1),dtemp integer i,incx,incy,ix,iy,m,mp1,n c if(n.le.0)return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments not equal c to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n dtemp = dx(ix) dx(ix) = dy(iy) dy(iy) = dtemp ix = ix + incx iy = iy + incy 10 continue return c c code for both increments equal to 1 c c c clean-up loop c 20 m = mod(n,3) if( m .eq. 0 ) go to 40 do 30 i = 1,m dtemp = dx(i) dx(i) = dy(i) dy(i) = dtemp 30 continue if( n .lt. 3 ) return 40 mp1 = m + 1 do 50 i = mp1,n,3 dtemp = dx(i) dx(i) = dy(i) dy(i) = dtemp dtemp = dx(i + 1) dx(i + 1) = dy(i + 1) dy(i + 1) = dtemp dtemp = dx(i + 2) dx(i + 2) = dy(i + 2) dy(i + 2) = dtemp 50 continue return end integer function idamax(n,dx,incx) c c finds the index of element having max. absolute value. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dmax integer i,incx,ix,n c idamax = 0 if( n .lt. 1 ) return idamax = 1 if(n.eq.1)return if(incx.eq.1)go to 20 c c code for increment not equal to 1 c ix = 1 dmax = dabs(dx(1)) ix = ix + incx do 10 i = 2,n if(dabs(dx(ix)).le.dmax) go to 5 idamax = i dmax = dabs(dx(ix)) 5 ix = ix + incx 10 continue return c c code for increment equal to 1 c 20 dmax = dabs(dx(1)) do 30 i = 2,n if(dabs(dx(i)).le.dmax) go to 30 idamax = i dmax = dabs(dx(i)) 30 continue return end c subroutine drot (n,dx,incx,dy,incy,c,s) c c applies a plane rotation. c jack dongarra, linpack, 3/11/78. c double precision dx(1),dy(1),dtemp,c,s integer i,incx,incy,ix,iy,n c if(n.le.0)return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments not equal c to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n dtemp = c*dx(ix) + s*dy(iy) dy(iy) = c*dy(iy) - s*dx(ix) dx(ix) = dtemp ix = ix + incx iy = iy + incy 10 continue return c c code for both increments equal to 1 c 20 do 30 i = 1,n dtemp = c*dx(i) + s*dy(i) dy(i) = c*dy(i) - s*dx(i) dx(i) = dtemp 30 continue return end c subroutine drotg(da,db,c,s) c c construct givens plane rotation. c jack dongarra, linpack, 3/11/78. c double precision da,db,c,s,roe,scale,r,z c roe = db if( dabs(da) .gt. dabs(db) ) roe = da scale = dabs(da) + dabs(db) if( scale .ne. 0.0d0 ) go to 10 c = 1.0d0 s = 0.0d0 r = 0.0d0 go to 20 10 r = scale*dsqrt((da/scale)**2 + (db/scale)**2) r = dsign(1.0d0,roe)*r c = da/r s = db/r 20 z = 1.0d0 if( dabs(da) .gt. dabs(db) ) z = s if( dabs(db) .ge. dabs(da) .and. c .ne. 0.0d0 ) z = 1.0d0/c da = r db = z return end c subroutine ccopy(n,cx,incx,cy,incy) c c copies a vector, x, to a vector, y. c jack dongarra, linpack, 3/11/78. c complex cx(1),cy(1) integer i,incx,incy,ix,iy,n c if(n.le.0)return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments c not equal to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n cy(iy) = cx(ix) ix = ix + incx iy = iy + incy 10 continue return c c code for both increments equal to 1 c 20 do 30 i = 1,n cy(i) = cx(i) 30 continue return end subroutine cscal(n,ca,cx,incx) c c scales a vector by a constant. c jack dongarra, linpack, 3/11/78. c complex ca,cx(1) integer i,incx,n,nincx c if(n.le.0)return if(incx.eq.1)go to 20 c c code for increment not equal to 1 c nincx = n*incx do 10 i = 1,nincx,incx cx(i) = ca*cx(i) 10 continue return c c code for increment equal to 1 c 20 do 30 i = 1,n cx(i) = ca*cx(i) 30 continue return end c subroutine csrot (n,cx,incx,cy,incy,c,s) c c applies a plane rotation, where the cos and sin (c and s) are real c and the vectors cx and cy are complex. c jack dongarra, linpack, 3/11/78. c complex cx(1),cy(1),ctemp real c,s integer i,incx,incy,ix,iy,n c if(n.le.0)return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments not equal c to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n ctemp = c*cx(ix) + s*cy(iy) cy(iy) = c*cy(iy) - s*cx(ix) cx(ix) = ctemp ix = ix + incx iy = iy + incy 10 continue return c c code for both increments equal to 1 c 20 do 30 i = 1,n ctemp = c*cx(i) + s*cy(i) cy(i) = c*cy(i) - s*cx(i) cx(i) = ctemp 30 continue return end subroutine cswap (n,cx,incx,cy,incy) c c interchanges two vectors. c jack dongarra, linpack, 3/11/78. c complex cx(1),cy(1),ctemp integer i,incx,incy,ix,iy,n c if(n.le.0)return if(incx.eq.1.and.incy.eq.1)go to 20 c c code for unequal increments or equal increments not equal c to 1 c ix = 1 iy = 1 if(incx.lt.0)ix = (-n+1)*incx + 1 if(incy.lt.0)iy = (-n+1)*incy + 1 do 10 i = 1,n ctemp = cx(ix) cx(ix) = cy(iy) cy(iy) = ctemp ix = ix + incx iy = iy + incy 10 continue return c c code for both increments equal to 1 20 do 30 i = 1,n ctemp = cx(i) cx(i) = cy(i) cy(i) = ctemp 30 continue return end subroutine csscal(n,sa,cx,incx) c c scales a complex vector by a real constant. c jack dongarra, linpack, 3/11/78. c complex cx(1) real sa integer i,incx,n,nincx c if(n.le.0)return if(incx.eq.1)go to 20 c c code for increment not equal to 1 c nincx = n*incx do 10 i = 1,nincx,incx cx(i) = cmplx(sa*real(cx(i)),sa*aimag(cx(i))) 10 continue return c c code for increment equal to 1 c 20 do 30 i = 1,n cx(i) = cmplx(sa*real(cx(i)),sa*aimag(cx(i))) 30 continue return end sparskit-2.0.0/UNSUPP/README0000644000265600020320000000406106203735315014414 0ustar tilleaadmin ---------- | UNSUPP | ---------- This is meant to contain any subroutine that is not part of SPARSKIT proper (for example preconditioners, iterative solvers, plotting and other tools,...) but which are nevertheless provided with the understanding that they may not be the best codes around or that there is further work needed on them.. CONTRIBUTIONS REQUESTED. ----------------------- ----------------- Current contents: ----------------- SUBDIRECTORY BLAS1 ------------------ * blas1.f : includes subroutines: dcopy : copies a vector, x, to a vector, y. ddot : dot product of two vectors. csscal: scales a complex vector by a real constant. cswap : interchanges two vectors. csrot : applies a plane rotation. cscal : scales a vector by a constant. ccopy : copies a vector, x, to a vector, y. drotg : construct givens plane rotation. drot : applies a plane rotation. dswap : interchanges two vectors. dscal : scales a vector by a constant. daxpy : constant times a vector plus a vector. SUBDIRECTORY PLOTS ------------------ * psgrd.f contains subroutine "psgrid" which plots a symmetric graph. * texplt1.f contains subroutine "texplt" allows several matrices in the same picture by calling texplt several times and exploiting job and different shifts. * texgrid1.f contains subroutine "texgrd" which generates tex commands for plotting a symmetric graph associated with a mesh. Allows several grids in the same picture by calling texgrd several times and exploiting job and different shifts. SUBDIRECTORY MATEXP ------------------- routines related to matrix exponentials. * exppro.f computes w=exp( t A) v -- + a simple test program rexp.f * phipro.f computes w = phi(At)v, where phi(x)=(1-exp(x))/x; Also allows to solve the P.D.E. system y'= A y + b sparskit-2.0.0/UNSUPP/MATEXP/0000755000265600020320000000000006602553251014531 5ustar tilleaadminsparskit-2.0.0/UNSUPP/MATEXP/phipro.f0000644000265600020320000005353206203735311016205 0ustar tilleaadmin subroutine phiprod (n, m, eps, tn, u, w, r, x, y, a, ioff, ndiag) real*8 eps, tn real*8 a(n,ndiag), u(n,m+1), w(n), r(n), x(n), y(n) integer n, m, ndiag, ioff(ndiag) c----------------------------------------------------------------------- c this subroutine computes an approximation to the vector c c w(tn) = w(t0) + tn * phi( - A * tn ) * (r - A w(t0)) c c where phi(z) = (1-exp(z)) / z c c i.e. solves dw/dt = - A w + r in [t0,t0+ tn] (returns only w(t0+tn)) c c for matrices stored in diagonal (DIA) format. c c this routine constitutes an interface for the routine phipro for c matrices stored in diagonal (DIA) format. The phipro routine uses c reverse communication and as a result does not depend on any c data structure of the matrix. c----------------------------------------------------------------------- c ARGUMENTS c---------- c see phipro for meaning of parameters n, m, eps, tn, u, w, x, y. c c a, ioff, and ndiag are the arguments of the matrix: c c a(n,ndiag) = a rectangular array with a(*,k) containing the diagonal c offset by ioff(k) (negative or positive or zero), i.e., c a(i,jdiag) contains the element A(i,i+ioff(jdiag)) in c the usual dense storage scheme. c c ioff = integer array containing the offsets of the ndiag diagonals c ndiag = integer. the number of diagonals. c c----------------------------------------------------------------------- c local variables c integer indic, ierr indic = 0 101 continue call phipro (n, m, eps, tn, w, r, u, x, y, indic, ierr) if (indic .eq. 1) goto 102 c c matrix vector-product for diagonal storage -- c call oped(n, x, y, a, ioff, ndiag) goto 101 102 continue return end c----------end-of-phiprod----------------------------------------------- c----------------------------------------------------------------------- subroutine phipro (n, m, eps, tn, w, r, u, x, y, indic, ierr) c implicit real*8 (a-h,o-z) integer n, m, indic, ierr real*8 eps, tn, w(n), r(n), u(n,m+1), x(n), y(n) c----------------------------------------------------------------------- c c this subroutine computes an approximation to the vector c c w(tn) = w(t0) + tn * phi( - A * tn ) * (r - A w(t0)) c where phi(z) = (1-exp(z)) / z c c i.e. solves dw/dt=-Aw+r in [t0,t0+tn] (returns w(t0+tn)) c t0 need not be known. c c note that for w(t0)=0 the answer is w=tn *phi(-tn * A) r c in other words this allows to compute phi(A tn) v. c This code will work well only for cases where eigenvalues are c real (or nearly real) and positive. It has also been coded to c work for cases where tn .lt. 0.0 (and A has real negative spectrum) c c----------------------------------------------------------------------- c c THIS IS A REVERSE COMMUNICATION IMPLEMENTATION. c------------------------------------------------- c USAGE: (see also comments on argument indic below). c------ c c indic = 0 c 1 continue c call phipro (n, m, eps, tn, u, w, x, y, indic) c if (indic .eq. 1) goto 2 <-- indic .eq. 1 means phipro has finished c call matvec(n, x, y) <--- user's matrix-vec. product c with x = input vector, and c y = result = A * x. c goto 1 c 2 continue c ..... c c----------------------------------------------------------------------- c c en entry: c---------- c n = dimension of matrix c c m = dimension of Krylov subspace (= degree of polynomial c approximation to the exponential used. ) c c eps = scalar indicating the relative error tolerated for the result. c the code will try to compute an answer such that c norm2(exactanswer-approximation) / norm2(w) .le. eps c c tn = scalar by which to multiply matrix. (may be .lt. 0) c the code will compute a solution to dw/dt = -A w + r, c and overwrite the result w(tn) onto in w. c c w = real array of length n. Initial condition for the ODE system c on input, result w(tn) on output (input and output argument) c c r = real array of length n. the constant term in the system c dw/dt = -A w + r to be solved. c c u = work array of size n*(m+1) (used to hold the Arnoldi basis ) c c x, y = two real work vectors of length n each. x and y are used to c carry the input and output vectors for the matrix-vector c products y=Ax in the reverse communication protocole. c see argument indic (return) below for details on their usage. c c indic = integer used as indicator for the reverse communication. c in the first call enter indic = 0. c c ierr = error indicator. c ierr = 1 means phipro was called with indic=1 (not allowed) c ierr = -1 means that the input is zero the solution has been c unchanged. c c on return: c----------- c c w = contains the result w(tn)=w(t0)+tn*phi(-A*tn)*(r-Aw(t0)) c when phipro has finished (as indicated by indic see below) c c indic = indicator for the reverse communication protocole. c * INDIC .eq. 1 means that phipro has finished and w contains the c result. c * INDIC .gt. 1 means that phipro has not finished and that c it is requesting another matrix vector product before c continuing. The user must compute Ax where A is the matrix c and x is the vector provided by phipro and return the c result in y. Then phipro must be called again without c changing any other argument. typically this is best c implemented in a loop with phipro being called as long c indic is returned with a value .ne. 1. c c NOTES: m should not exceed 60 in this version (see mmax below) c----------------------------------------------------------------------- c local variables c integer mmax parameter (mmax=60) real*8 errst, tcur, told, dtl, beta, red, dabs, dble real*8 hh(mmax+2,mmax+1), z(mmax+1) complex*16 wkc(mmax+1) integer ih, k, job logical verboz data verboz/.true./ save c----------------------------------------------------------------------- c indic = 4 means getting y=Ax needed in phipro c indic = 3 means passing through only with result of y= Ax to phihes c indic = 2 means phihes has finished its job c indic = 1 means phipro has finished its job (real end)/ c----------------------------------------------------------------------- ierr = 0 if (indic .eq. 3) goto 101 if (indic .eq. 4) goto 11 if (indic .eq. 1) then ierr = 1 return endif c----- ih = mmax m = min0(m,mmax) tcur = 0.0d0 dtl = tn - tcur job = -1 c-------------------- outer loop ----------------------------- 100 continue if(verboz) print *,'In PHIPRO, current time = ', tcur ,'---------' c------------------------------------------------------------- c ---- call phionential propagator --------------------------- c------------------------------------------------------------- told = tcur c c if (told + dtl .gt. tn) dtl = tn-told c construct initial vector for Arnoldi: r - A w(old) c do 10 k=1, n x(k) = w(k) 10 continue indic = 4 return 11 continue do 12 k=1, n u(k,1) = r(k) - y(k) 12 continue c 101 continue call phihes (n,m,dtl,eps,u,job,z,wkc,beta,errst,hh,ih,x, y,indic, * ierr) c----------------------------------------------------------------------- if (ierr .ne. 0) return if (indic .eq. 3) return tcur = told + dtl if(verboz) print *, ' tcur now = ', tcur, ' dtl = ', dtl c c relative error c if(verboz) print *, ' beta', beta errst = errst / beta c--------- if ((errst .le. eps) .and. ( (errst .gt. eps/100.0) .or. * (tcur .eq. tn))) goto 102 c c use approximation : [ new err ] = fact**m * [cur. error] c red = (0.5*eps / errst)**(1.0d0 /dble(m) ) dtl = dtl*red if (dabs(told+dtl) .gt. dabs(tn) ) dtl = tn-told if(verboz) print *, ' red =',red,' , reducing dt to: ', dtl c------- job = 1 goto 101 c------- 102 continue c call project(n, m, w, dtl, u, z) c never go beyond tcur job = 0 dtl = dmin1(dtl, tn-tcur) if (dabs(tcur+dtl) .gt. dabs(tn)) dtl = tn-tcur if (dabs(tcur) .lt. dabs(tn)) goto 100 indic = 1 return end c----------end-of-phipro------------------------------------------------ c----------------------------------------------------------------------- subroutine phihes (n,m,dt,eps,u,job,z,wkc,beta,errst,hh,ih, * x, y, indic,ierr) c implicit real*8 (a-h,o-z) integer n, m, job, ih, indic, ierr real*8 hh(ih+2,m+1), u(n,m+1), z(m+1), x(n), y(n) complex*16 wkc(m+1) real*8 dt, eps, beta, errst c----------------------------------------------------------------------- c this subroutine computes the Arnoldi basis Vm and the corresponding c coeffcient vector ym in the approximation c c w ::= beta Vm ym c where ym = phi(- Hm * dt) * e1 c c to the vector phi(-A * dt) w where A is an arbitary matrix and c w is a given input vector. The phi function is defined by c phi(z) = (1 - exp(z) ) / z c c In case job .lt.0 the arnoldi basis is recomputed. Otherwise the c code assumes assumes that u(*) contains an already computed c arnoldi basis and computes only the y-vector (which is stored in c v(*)). Three different options are available through the argument job. c----------------------------------------------------------------------- c on entry: c---------- c n = dimension of matrix c c m = dimension of Krylov subspace (= degree of polynomial c approximation to the phionential used. ) c c dt = scalar by which to multiply matrix. Can be viewed c as a time step. dt must be positive [to be fixed]. c c eps = scalar indicating the relative error tolerated for the result. c the code will try to compute an answer such that c norm2(exactanswer-approximation) / norm2(w) .le. eps c c u = work array of size n*(m+1) to contain the Arnoldi basis c c w = real array of length n = input vector to which phi(-A) is c to be applied. c c job = integer. job indicator. If job .lt. 0 then the Arnoldi c basis is recomputed. If job .gt. 0 then it is assumed c that the user wants to use a previously computed Krylov c subspace but a different dt. Thus the Arnoldi basis and c the Hessenberg matrix Hm are not recomputed. c In that case the user should not modify the values of beta c and the matrices hh and u(n,*) when recalling phipro. c job = -1 : recompute basis and get an initial estimate for c time step dt to be used. c job = 0 : recompute basis and do not alter dt. c job = 1 : do not recompute arnoldi basis. c c z = real work array of size (m+1) c wkc = complex*16 work array of size (m+1) c c hh = work array of size size at least (m+2)*(m+1) c c ih+2 = first dimension of hh as declared in the calling program. c ih must be .ge. m. c c----------------------------------------------------------------------- c on return: c----------- c w2 = resulting vector w2 = phi(-A *dt) * w c beta = real equal to the 2-norm of w. Needed if phipro will c be recalled with the same Krylov subspace and a different dt. c errst = rough estimates of the 2-norm of the error. c hh = work array of dimension at least (m+2) x (m+1) c c----------------------------------------------------------------------- c local variables c integer ndmax parameter (ndmax=20) real*8 alp0, fnorm, t, rm, ddot, dabs, dsqrt, dsign,dble complex*16 alp(ndmax+1), rd(ndmax+1) integer i, j, k, ldg, i0, i1, m1 logical verboz data verboz/.true./ save c------use degree 14 chebyshev all the time -------------------------- if (indic .eq. 3) goto 60 c c------get partial fraction expansion of rational function ----------- c----------------------------------------------------------------------- c chebyshev (14,14) c ldg= 7 c alp0 = 0.183216998528140087E-11 c alp(1)=( 0.557503973136501826E+02,-0.204295038779771857E+03) c rd(1)=(-0.562314417475317895E+01, 0.119406921611247440E+01) c alp(2)=(-0.938666838877006739E+02, 0.912874896775456363E+02) c rd(2)=(-0.508934679728216110E+01, 0.358882439228376881E+01) c alp(3)=( 0.469965415550370835E+02,-0.116167609985818103E+02) c rd(3)=(-0.399337136365302569E+01, 0.600483209099604664E+01) c alp(4)=(-0.961424200626061065E+01,-0.264195613880262669E+01) c rd(4)=(-0.226978543095856366E+01, 0.846173881758693369E+01) c alp(5)=( 0.752722063978321642E+00, 0.670367365566377770E+00) c rd(5)=( 0.208756929753827868E+00, 0.109912615662209418E+02) c alp(6)=(-0.188781253158648576E-01,-0.343696176445802414E-01) c rd(6)=( 0.370327340957595652E+01, 0.136563731924991884E+02) c alp(7)=( 0.143086431411801849E-03, 0.287221133228814096E-03) c rd(7)=( 0.889777151877331107E+01, 0.166309842834712071E+02) c----------------------------------------------------------------------- c Pade of degree = (4,4) c c ldg= 2 c alp(1)=(-0.132639894655051648E+03,-0.346517448171383875E+03) c rd(1)=(-0.579242120564063611E+01, 0.173446825786912484E+01) c alp(2)=( 0.926398946550511936E+02, 0.337809095284865179E+02) c rd(2)=(-0.420757879435933546E+01, 0.531483608371348736E+01) c c Pade of degree = 8 c ldg= 4 alp(1)=( 0.293453004361944040E+05, 0.261671093076405813E+05) rd(1)=(-0.104096815812822569E+02, 0.523235030527069966E+01) alp(2)=(-0.212876889060526154E+05,-0.764943398790569044E+05) rd(2)=(-0.111757720865218743E+02, 0.173522889073929320E+01) alp(3)=(-0.853199767523084301E+04,-0.439758928252937039E+03) rd(3)=(-0.873657843439934822E+01, 0.882888500094418304E+01) alp(4)=( 0.330386145089576530E+03,-0.438315990671386316E+03) rd(4)=(-0.567796789779646360E+01, 0.127078225972105656E+02) c do 102 k=1, ldg alp(k) = - alp(k) / rd(k) 102 continue alp0 = 0.0d0 c c if job .gt. 0 skip arnoldi process: c if (job .gt. 0) goto 2 c------normalize vector u and put in first column of u -- beta = dsqrt(ddot(n,u,1,u,1)) c----------------------------------------------------------------------- if(verboz) print *, ' In PHIHES, beta ', beta if (beta .eq. 0.0d0) then ierr = -1 indic = 1 return endif c t = 1.0d0/beta do 25 j=1, n u(j,1) = u(j,1)*t 25 continue c------------------Arnoldi loop ----------------------------------------- c fnorm = 0.0d0 i1 = 1 58 i = i1 i1 = i + 1 do 59 k=1, n x(k) = u(k,i) 59 continue indic = 3 return 60 continue do 61 k=1, n u(k,i1) = y(k) 61 continue i0 =1 c switch for Lanczos version c i0 = max0(1, i-1) call mgsr (n, i0, i1, u, hh(1,i)) fnorm = fnorm + ddot(i1, hh(1,i),1, hh(1,i),1) if (hh(i1,i) .eq. 0.0) m = i if (i .lt. m) goto 58 c--------------done with arnoldi loop --------------------------------- rm = dble(m) fnorm = dsqrt( fnorm / rm ) c------- put beta*e1 into z ------------------------------------------- m1 = m+1 do 4 i=1,m1 hh(i,m1) = 0.0 4 continue c c compute initial dt when job .lt. 1 c if (job .ge. 0) goto 2 c t = 2.0*eps do 41 k=1, m t = 2.0*t*dble(k+1)/rm 41 continue c t = rm* (t**(1.0d0/rm) ) / fnorm if(verboz) print *, ' t, dt = ', t, dt t = dmin1(dabs(dt),t) dt = dsign(t, dt) c---------------------- get the vector phi(Hm)e_1 + estimate ----------- 2 continue z(1) = beta do 3 k=2, m1 z(k) = 0.0d0 3 continue c-------get : phi(H) * beta*e1 call hes(ldg,m1,hh,ih,dt,z,rd,alp,alp0,wkc) c-------error estimate errst = dabs(z(m1)) if(verboz) print *, ' error estimate =', errst c----------------------------------------------------------------------- indic = 2 return end c----------------------------------------------------------------------- subroutine mgsr (n, i0, i1, ss, r) c implicit real*8 (a-h,o-z) integer n, i0, i1 real*8 ss(n,i1), r(i1) c----------------------------------------------------------------------- c modified gram - schmidt with partial reortho. the vector ss(*,i1) is c orthogonalized against the first i vectors of ss (which are already c orthogonal). the coefficients of the orthogonalization are returned in c the array r c------------------------------------------------------------------------ c local variables c integer i, j, k, it real*8 hinorm, tet, ddot, t, dsqrt data tet/10.0d0/ do 53 j=1, i1 r(j) = 0.0d0 53 continue i = i1-1 it = 0 54 hinorm = 0.0d0 it = it +1 if (i .eq. 0) goto 56 c do 55 j=i0, i t = ddot(n, ss(1,j),1,ss(1,i1),1) hinorm = hinorm + t**2 r(j) = r(j) + t call daxpy(n,-t,ss(1,j),1,ss(1,i1),1) 55 continue t = ddot(n, ss(1,i1), 1, ss(1,i1), 1) 56 continue c c test for reorthogonalization see daniel et. al. c two reorthogonalization allowed --- c if (t*tet .le. hinorm .and. it .lt. 2) goto 54 t =dsqrt(t) r(i1)= t if (t .eq. 0.0d0) return t = 1.0d0/t do 57 k=1,n ss(k,i1) = ss(k,i1)*t 57 continue return end c----------end-of-mgsr-------------------------------------------------- c----------------------------------------------------------------------- subroutine project(n, m, w, t, u, v) integer n, m real*8 u(n,m), v(m), w(n), t, scal c c computes the vector w = w + t * u * v c c local variables c integer j, k do 100 j=1,m scal = t*v(j) do 99 k=1,n w(k) = w(k) + scal*u(k,j) 99 continue 100 continue return end c----------------------------------------------------------------------- subroutine hes (ndg,m1,hh,ih,dt,y,root,coef,coef0,w2) c implicit real*8 (a-h,o-z) integer ndg, m1, ih real*8 hh(ih+2,m1), y(m1) complex*16 coef(ndg), root(ndg), w2(m1) real*8 dt, coef0 c-------------------------------------------------------------------- c computes phi ( H dt) * y (1) c where H = Hessenberg matrix (hh) c y = arbitrary vector. c ---------------------------- c ndg = number of poles as determined by getrat c m1 = dimension of hessenberg matrix c hh = hessenberg matrix (real) c ih+2 = first dimension of hh c dt = scaling factor used for hh (see (1)) c y = real vector. on return phi(H dt ) y is computed c and overwritten on y. c root = poles of the rational approximation to phi as c computed by getrat c coef, c coef0 = coefficients of partial fraction phiansion c c phi(t) ~ coef0 + sum Real [ coef(i) / (t - root(i) ] c i=1,ndg c c valid for real t. c coef0 is real, coef(*) is a complex array. c c-------------------------------------------------------------------- c local variables c integer m1max parameter (m1max=70) complex*16 hloc(m1max+1,m1max), t, zpiv, dcmplx real*8 yloc(m1max), dble integer i, j, ii c c if (m1 .gt. m1max) print *, ' *** ERROR : In HES, M+1 TOO LARGE' c c loop associated with the poles. c do 10 j=1,m1 yloc(j) = y(j) y(j) = y(j)*coef0 10 continue c do 8 ii = 1, ndg c c copy Hessenberg matrix into temporary c do 2 j=1, m1 do 1 i=1, j+1 hloc(i,j) = dcmplx( dt*hh(i,j) ) 1 continue hloc(j,j) = hloc(j,j) - root(ii) w2(j) = dcmplx(yloc(j)) 2 continue c c forward solve c do 4 i=2,m1 zpiv = hloc(i,i-1) / hloc(i-1,i-1) do 3 j=i,m1 hloc(i,j) = hloc(i,j) - zpiv*hloc(i-1,j) 3 continue w2(i) = w2(i) - zpiv*w2(i-1) 4 continue c c backward solve c do 6 i=m1,1,-1 t=w2(i) do 5 j=i+1,m1 t = t-hloc(i,j)*w2(j) 5 continue w2(i) = t/hloc(i,i) 6 continue c c accumulate result in y. c do 7 i=1,m1 y(i) = y(i) + dble ( coef(ii) * w2(i) ) 7 continue 8 continue return end c----------end-of-hes--------------------------------------------------- c----------------------------------------------------------------------- subroutine daxpy(n,t,x,indx,y,indy) integer n, indx, indy real*8 x(n), y(n), t c------------------------------------------------------------------- c does the following operation c y <--- y + t * x , (replace by the blas routine daxpy ) c indx and indy are supposed to be one here c------------------------------------------------------------------- integer k do 1 k=1,n y(k) = y(k) + x(k)*t 1 continue return end c----------end-of-daxpy------------------------------------------------- c----------------------------------------------------------------------- function ddot(n,x,ix,y,iy) integer n, ix, iy real*8 ddot, x(n), y(n) c------------------------------------------------------------------- c computes the inner product t=(x,y) -- replace by blas routine ddot c------------------------------------------------------------------- integer j real*8 t t = 0.0d0 do 10 j=1,n t = t + x(j)*y(j) 10 continue ddot=t return end c----------end-of-ddot-------------------------------------------------- c----------------------------------------------------------------------- sparskit-2.0.0/UNSUPP/MATEXP/makefile0000644000265600020320000000034106203735311016223 0ustar tilleaadminFFLAGS = F77 = f77 #F77 = cf77 #FFLAGS = -Wf"-dp" FILES1 = rexp.o exppro.o FILES2 = rphi.o phipro.o exp.ex: $(FILES1) $(F77) $(FFLAGS) $(FILES1) -o exp.ex phi.ex: $(FILES2) $(F77) $(FFLAGS) $(FILES2) -o phi.ex sparskit-2.0.0/UNSUPP/MATEXP/rexp.f0000644000265600020320000000525106203735311015655 0ustar tilleaadmin program exptest c------------------------------------------------------------------- c c Test program for exponential propagator using Arnoldi approach c This main program is a very simple test using diagonal matrices c (Krylov subspace methods are blind to the structure of the matrix c except for symmetry). This provides a good way of testing the c accuracy of the method as well as the error estimates. c c------------------------------------------------------------------- implicit real*8 (a-h,o-z) parameter (nmax = 400, ih0=60, ndmx=20,nzmax = 7*nmax) real*8 a(nzmax), u(ih0*nmax), w(nmax),w1(nmax),x(nmax),y(nmax) integer ioff(10) data iout/6/, a0/0.0/, b0/1.0/, epsmac/1.d-10/, eps /1.d-10/ c c set dimension of matrix c n = 100 c--------------------------- define matrix ----------------------------- c A is a single diagonal matrix (ndiag = 1 and ioff(1) = 0 ) c----------------------------------------------------------------------- ndiag = 1 ioff(1) = 0 c c-------- entries in the diagonal are uniformly distributed. c h = 1.0d0 / real(n+1) do 1 j=1, n a(j) = real(j+1)* h 1 continue c-------- write (6,'(10hEnter tn: ,$)') read (5,*) tn c write (6,'(36hEpsilon (desired relative accuracy): ,$)') read (5,*) eps c------- write (6,'(36h m (= dimension of Krylov subspace): ,$)') read (5,*) m c------- c define initial conditions: chosen so that solution = (1,1,1,1..1)^T c------- do 2 j=1,n w(j) = dexp(a(j)*tn) 2 w1(j) = w(j) c call expprod (n, m, eps, tn, u, w, x, y, a, ioff, ndiag) c print *, ' final answer ' print *, (w(k),k=1,20) c do 4 k=1,n 4 w1(k) = dexp(-a(k)*tn) * w1(k) print *, ' exact solution ' print *, (w1(k),k=1,20) c c---------- computing actual 2-norm of error ------------------ c t = 0.0d0 do 47 k=1,n 47 t = t+ (w1(k)-w(k))**2 t = dsqrt(t / ddot(n, w,1,w,1) ) c write (6,*) ' final error', t c-------------------------------------------------------------- stop end c------- subroutine oped(n,x,y,diag,ioff,ndiag) c====================================================== c this kernel performs a matrix by vector multiplication c for a diagonally structured matrix stored in diagonal c format c====================================================== implicit real*8 (a-h,o-z) real*8 x(n), y(n), diag(n,ndiag) common nope, nmvec integer j, n, ioff(ndiag) CDIR$ IVDEP do 1 j=1, n y(j) = 0.00 1 continue c do 10 j=1,ndiag io = ioff(j) i1=max0(1,1-io) i2=min0(n,n-io) CDIR$ IVDEP do 9 k=i1,i2 y(k) = y(k)+diag(k,j)*x(k+io) 9 continue 10 continue nmvec = nmvec + 1 nope = nope + 2*ndiag*n return end c sparskit-2.0.0/UNSUPP/MATEXP/rphi.f0000644000265600020320000000721706203735311015645 0ustar tilleaadmin program phitest c------------------------------------------------------------------- c Test program for exponential propagator using Arnoldi approach c This main program is a very simple test using diagonal matrices c (Krylov subspace methods are blind to the structure of the matrix c except for symmetry). This provides a good way of testing the c accuracy of the method as well as the error estimates. This test c program tests the phi-function variant instead of the exponential. c c The subroutine phipro which is tested here computes an approximation c to the vector c c w(tn) = w(t0) + tn * phi( - A * tn ) * (r - A w(t0)) c c where phi(z) = (1-exp(z)) / z c c i.e. it solves dw/dt = -A w + r in [t0,t0+ tn] (returns only w(t0+tn)) c c In this program t0=0, tn is input by the user and A is a simple c diagonal matrix. c c------------------------------------------------------------------- implicit real*8 (a-h,o-z) parameter (nmax = 400, ih0=60, ndmx=20,nzmax = 7*nmax) real*8 a(nzmax), u(ih0*nmax), w(nmax),w1(nmax),x(nmax),y(nmax), * r(nmax) integer ioff(10) data iout/6/,a0/0.0/,b0/1.0/,epsmac/1.d-10/,eps/1.d-10/ c c dimendion of matrix c n = 100 c---------------------------define matrix ----------------------------- c A is a single diagonal matrix (ndiag = 1 and ioff(1) = 0 ) c----------------------------------------------------------------------- ndiag = 1 ioff(1) = 0 c c entriesin the diagonal are uniformly distributed. c h = 1.0d0 / real(n+1) do 1 j=1, n a(j) = real(j+1)*h 1 continue c-------- write (6,'(10hEnter tn: ,$)') read (5,*) tn c write (6,'(36hEpsilon (desired relative accuracy): ,$)') read (5,*) eps c------- write (6,'(36h m (= dimension of Krylov subspace): ,$)') read (5,*) m c c define initial conditions to be (1,1,1,1..1)^T c do 2 j=1,n w(j) = 1.0 - 1.0/real(j+10) r(j) = 1.0 w1(j) = w(j) 2 continue c c c HERE IT IS DONE IN 10 SUBSTEPS c nsteps = 10 c tnh = tn/real(nsteps) c MARCHING LOOP c do jj =1, nsteps c call phiprod (n, m, eps, tnh, u, w, r, x, y, a, ioff, ndiag) call phiprod (n, m, eps, tn, u, w, r, x, y, a, ioff, ndiag) c enddo print *, ' final answer ' print *, (w(k),k=1,20) c c exact solution c do 4 k=1,n w1(k)=w1(k)+((1.0 - dexp(-a(k)*tn) )/a(k))*(r(k) + - a(k)*w1(k) ) 4 continue c c exact solution c print *, ' exact answer ' print *, (w1(k),k=1,20) c c computing actual 2-norm of error c t = 0.0d0 do 47 k=1,n t = t+ (w1(k)-w(k))**2 47 continue t = dsqrt(t / ddot(n, w,1,w,1) ) c write (6,*) ' final error', t c----------------------------------------------------------------------- stop end c----------------------------------------------------------------------- subroutine oped(n,x,y,diag,ioff,ndiag) c====================================================== c this kernel performs a matrix by vector multiplication c for a diagonally structured matrix stored in diagonal format c====================================================== implicit real*8 (a-h,o-z) real*8 x(n), y(n), diag(n,ndiag) common nope, nmvec integer j, n, ioff(ndiag) CDIR$ IVDEP do 1 j=1, n y(j) = 0.00 1 continue c do 10 j=1,ndiag io = ioff(j) i1=max0(1,1-io) i2=min0(n,n-io) CDIR$ IVDEP do 9 k=i1,i2 y(k) = y(k)+diag(k,j)*x(k+io) 9 continue 10 continue nmvec = nmvec + 1 nope = nope + 2*ndiag*n return end c sparskit-2.0.0/UNSUPP/MATEXP/README0000644000265600020320000000112406203735311015403 0ustar tilleaadmin SUBDIRECTORY MATEXP ------------------- routines related to matrix exponentials. contents: ---------- exppro.f computes exp( t A) v rexp.f a simple test program for exppro.f phipro.f solves y'= A y + b rphi.f a simple test program for phipro.f makefile makefile for the test problems. make exp.ex will make an executable for exppro, make phi.ex will test program for phipro.f feedback appreciated. BEWARE: DOCUMENTATION MAY BE INACCURATE - --------------------- VERY LITTLE TESTING DONE WITH PHIPRO.F -- sparskit-2.0.0/UNSUPP/MATEXP/exppro.f0000644000265600020320000004751306203735311016223 0ustar tilleaadmin subroutine expprod (n, m, eps, tn, u, w, x, y, a, ioff, ndiag) real*8 eps, tn real*8 a(n,ndiag), u(n,m+1), w(n), x(n), y(n) integer n, m, ndiag, ioff(ndiag) c----------------------------------------------------------------------- c this subroutine computes an approximation to the vector c c w := exp( - A * tn ) * w c c for matrices stored in diagonal (DIA) format. c c this routine constitutes an interface for the routine exppro for c matrices stored in diagonal (DIA) format. c----------------------------------------------------------------------- c ARGUMENTS c---------- c see exppro for meaning of parameters n, m, eps, tn, u, w, x, y. c c a, ioff, and ndiag are the arguments of the matrix: c c a(n,ndiag) = a rectangular array with a(*,k) containing the diagonal c offset by ioff(k) (negative or positive or zero), i.e., c a(i,jdiag) contains the element A(i,i+ioff(jdiag)) in c the usual dense storage scheme. c c ioff = integer array containing the offsets of the ndiag diagonals c ndiag = integer. the number of diagonals. c c----------------------------------------------------------------------- c local variables c integer indic, ierr indic = 0 101 continue call exppro (n, m, eps, tn, u, w, x, y, indic, ierr) if (indic .eq. 1) goto 102 c c matrix vector-product for diagonal storage -- c call oped(n, x, y, a, ioff, ndiag) goto 101 102 continue return end c----------end-of-expprod----------------------------------------------- c----------------------------------------------------------------------- subroutine exppro (n, m, eps, tn, u, w, x, y, indic, ierr) c implicit real*8 (a-h,o-z) integer n, m, indic, ierr real*8 eps, tn, u(n,m+1), w(n), x(n), y(n) c----------------------------------------------------------------------- c c this subroutine computes an approximation to the vector c c w := exp( - A * tn ) * w c c where A is an arbitary matrix and w is a given input vector c uses a dynamic estimation of internal time advancement (dt) c----------------------------------------------------------------------- c THIS IS A REVERSE COMMUNICATION IMPLEMENTATION. c------------------------------------------------- c USAGE: (see also comments on indic below). c------ c c indic = 0 c 1 continue c call exppro (n, m, eps, tn, u, w, x, y, indic) c if (indic .eq. 1) goto 2 <-- indic .eq. 1 means job is finished c call matvec(n, x, y) <--- user's matrix-vec. product c with x = input vector, and c y = result = A * x. c goto 1 c 2 continue c ..... c c----------------------------------------------------------------------- c c en entry: c---------- c n = dimension of matrix c c m = dimension of Krylov subspace (= degree of polynomial c approximation to the exponential used. ) c c eps = scalar indicating the relative error tolerated for the result. c the code will try to compute an answer such that c norm2(exactanswer-approximation) / norm2(w) .le. eps c c tn = scalar by which to multiply matrix. (may be .lt. 0) c the code will compute an approximation to exp(- tn * A) w c and overwrite the result onto w. c c u = work array of size n*(m+1) (used to hold the Arnoldi basis ) c c w = real array of length n = input vector to which exp(-A) is c to be applied. this is also an output argument c c x, y = two real work vectors of length at least n each. c see indic for usage. c c indic = integer used as indicator for the reverse communication. c in the first call enter indic = 0. See below for more. c c on return: c----------- c c w = contains the resulting vector exp(-A * tn ) * w when c exppro has finished (see indic) c c indic = indicator for the reverse communication protocole. c * INDIC .eq. 1 means that exppro has finished and w contains the c result. c * INDIC .gt. 1 , means that exppro has not finished and that c it is requesting another matrix vector product before c continuing. The user must compute Ax where A is the matrix c and x is the vector provided by exppro, and return the c result in y. Then exppro must be called again without c changing any other argument. typically this must be c implemented in a loop with exppro being called as long c indic is returned with a value .ne. 1. c c ierr = error indicator. c ierr = 1 means phipro was called with indic=1 (not allowed) c ierr = -1 means that the input is zero the solution has been c unchanged. c c NOTES: m should not exceed 60 in this version (see mmax below) c----------------------------------------------------------------------- c written by Y. Saad -- version feb, 1991. c----------------------------------------------------------------------- c For reference see following papers : c (1) E. Gallopoulos and Y. Saad: Efficient solution of parabolic c equations by Krylov approximation methods. RIACS technical c report 90-14. c (2) Y.Saad: Analysis of some Krylov subspace approximations to the c matrix exponential operator. RIACS Tech report. 90-14 c----------------------------------------------------------------------- c local variables c integer mmax parameter (mmax=60) real*8 errst, tcur, told, dtl, beta, red, dabs, dble real*8 hh(mmax+2,mmax+1), z(mmax+1) complex*16 wkc(mmax+1) integer ih, job logical verboz data verboz/.true./ save c----------------------------------------------------------------------- c indic = 3 means passing through only with result of y= Ax to exphes c indic = 2 means exphes has finished its job c indic = 1 means exppro has finished its job (real end)/ c----------------------------------------------------------------------- ierr = 0 if (indic .eq. 3) goto 101 if (indic .eq. 1) then ierr = 1 return endif c----- ih = mmax m = min0(m,mmax) tcur = 0.0d0 dtl = tn-tcur job = -1 c-------------------- outer loop ----------------------------- 100 continue if(verboz) print *,'In EXPPRO, current time = ', tcur ,'---------' c------------------------------------------------------------- c ---- call exponential propagator --------------------------- c------------------------------------------------------------- told = tcur 101 continue c if (told + dtl .gt. tn) dtl = tn-told call exphes (n,m,dtl,eps,u,w,job,z,wkc,beta,errst,hh,ih, * x,y,indic,ierr) c----------------------------------------------------------------------- if (ierr .ne. 0) return if (indic .ge. 3) return tcur = told + dtl if(verboz) print *, ' tcur now = ', tcur, ' dtl = ', dtl c c relative error c if(verboz) print *, ' beta', beta errst = errst / beta c--------- if ((errst .le. eps) .and. ( (errst .gt. eps/100.0) .or. * (tcur .eq. tn))) goto 102 c c use approximation : [ new err ] = fact**m * [cur. error] c red = (0.5*eps / errst)**(1.0d0 /dble(m) ) dtl = dtl*red if (dabs(told+dtl) .gt. dabs(tn) ) dtl = tn-told if(verboz) print *, ' red =',red,' , reducing dt to: ', dtl c------- job = 1 goto 101 c------- 102 continue c call project(n,m,u,z,w) c never go beyond tcur job = 0 dtl = dmin1(dtl, tn-tcur) if (dabs(tcur+dtl) .gt. dabs(tn)) dtl = tn-tcur if (dabs(tcur) .lt. dabs(tn)) goto 100 indic = 1 c return end c----------end-of-expro------------------------------------------------- c----------------------------------------------------------------------- subroutine exphes (n,m,dt,eps,u,w,job,z,wkc,beta,errst,hh,ih, * x, y, indic,ierr) c implicit real*8 (a-h,o-z) integer n, m, job, ih, indic, ierr real*8 hh(ih+2,m+1), u(n,m+1), w(n), z(m+1), x(n), y(n) complex*16 wkc(m+1) real*8 dt, eps, beta, errst c----------------------------------------------------------------------- c this subroutine computes the Arnoldi basis and the corresponding c coeffcient vector in the approximation c c w ::= beta Vm ym c where ym = exp(- Hm *dt) * e1 c c to the vector exp(-A dt) w where A is an arbitary matrix and c w is a given input vector. In case job = 0 the arnoldi basis c is recomputed. Otherwise the c code assumes assumes that u(*) contains an already computed c arnoldi basis and computes only the y-vector (which is stored in v(*)) c----------------------------------------------------------------------- c on entry: c---------- c n = dimension of matrix c c m = dimension of Krylov subspace (= degree of polynomial c approximation to the exponential used. ) c c dt = scalar by which to multiply matrix. Can be viewed c as a time step. dt must be positive [to be fixed]. c c eps = scalar indicating the relative error tolerated for the result. c the code will try to compute an answer such that c norm2(exactanswer-approximation) / norm2(w) .le. eps c c u = work array of size n*(m+1) to contain the Arnoldi basis c c w = real array of length n = input vector to which exp(-A) is c to be applied. c c job = integer. job indicator. If job .lt. 0 then the Arnoldi c basis is recomputed. If job .gt. 0 then it is assumed c that the user wants to use a previously computed Krylov c subspace but a different dt. Thus the Arnoldi basis and c the Hessenberg matrix Hm are not recomputed. c In that case the user should not modify the values of beta c and the matrices hh and u(n,*) when recalling phipro. c job = -1 : recompute basis and get an initial estimate for c time step dt to be used. c job = 0 : recompute basis and do not alter dt. c job = 1 : do not recompute arnoldi basis. c c z = real work array of size (m+1) c wkc = complex*16 work array of size (m+1) c c hh = work array of size size at least (m+2)*(m+1) c c ih+2 = first dimension of hh as declared in the calling program. c ih must be .ge. m. c c----------------------------------------------------------------------- c on return: c----------- c w2 = resulting vector w2 = exp(-A *dt) * w c beta = real equal to the 2-norm of w. Needed if exppro will c be recalled with the same Krylov subspace and a different dt. c errst = rough estimates of the 2-norm of the error. c hh = work array of dimension at least (m+2) x (m+1) c c----------------------------------------------------------------------- c local variables c integer ndmax parameter (ndmax=20) real*8 alp0, fnorm, t, rm, ddot, dabs, dsqrt, dsign,dble complex*16 alp(ndmax+1), rd(ndmax+1) integer i, j, k, ldg, i0, i1, m1 logical verboz data verboz/.true./ save c------use degree 14 chebyshev all the time -------------------------- if (indic .ge. 3) goto 60 c c------input fraction expansion of rational function ------------------ c chebyshev (14,14) ldg= 7 alp0 = 0.183216998528140087E-11 alp(1)=( 0.557503973136501826E+02,-0.204295038779771857E+03) rd(1)=(-0.562314417475317895E+01, 0.119406921611247440E+01) alp(2)=(-0.938666838877006739E+02, 0.912874896775456363E+02) rd(2)=(-0.508934679728216110E+01, 0.358882439228376881E+01) alp(3)=( 0.469965415550370835E+02,-0.116167609985818103E+02) rd(3)=(-0.399337136365302569E+01, 0.600483209099604664E+01) alp(4)=(-0.961424200626061065E+01,-0.264195613880262669E+01) rd(4)=(-0.226978543095856366E+01, 0.846173881758693369E+01) alp(5)=( 0.752722063978321642E+00, 0.670367365566377770E+00) rd(5)=( 0.208756929753827868E+00, 0.109912615662209418E+02) alp(6)=(-0.188781253158648576E-01,-0.343696176445802414E-01) rd(6)=( 0.370327340957595652E+01, 0.136563731924991884E+02) alp(7)=( 0.143086431411801849E-03, 0.287221133228814096E-03) rd(7)=( 0.889777151877331107E+01, 0.166309842834712071E+02) c----------------------------------------------------------------------- c c if job .gt. 0 skip arnoldi process: c if (job .gt. 0) goto 2 c------normalize vector w and put in first column of u -- beta = dsqrt(ddot(n,w,1,w,1)) c----------------------------------------------------------------------- if(verboz) print *, ' In EXPHES, beta ', beta if (beta .eq. 0.0d0) then ierr = -1 indic = 1 return endif c t = 1.0d0/beta do 25 j=1, n u(j,1) = w(j)*t 25 continue c------------------Arnoldi loop ------------------------------------- c fnorm = 0.0d0 i1 = 1 58 i = i1 i1 = i + 1 do 59 k=1, n x(k) = u(k,i) 59 continue indic = 3 return 60 continue do 61 k=1, n u(k,i1) = y(k) 61 continue i0 =1 c c switch for Lanczos version c i0 = max0(1, i-1) call mgsr (n, i0, i1, u, hh(1,i)) fnorm = fnorm + ddot(i1, hh(1,i),1, hh(1,i),1) if (hh(i1,i) .eq. 0.0) m = i if (i .lt. m) goto 58 c--------------done with arnoldi loop --------------------------------- rm = dble(m) fnorm = dsqrt( fnorm / rm ) c-------get : beta*e1 into z m1 = m+1 do 4 i=1,m1 hh(i,m1) = 0.0 4 continue c c compute initial dt when job .lt. 1 c if (job .ge. 0) goto 2 c c t = eps / beta c t = eps do 41 k=1, m-1 t = t*(1.0d0 - dble(m-k)/rm ) 41 continue c t = 2.0d0*rm* (t**(1.0d0/rm) ) / fnorm if(verboz) print *, ' t, dt = ', t, dt t = dmin1(dabs(dt),t) dt = dsign(t, dt) c 2 continue z(1) = beta do 3 k=2, m1 z(k) = 0.0d0 3 continue c-------get : exp(H) * beta*e1 call hes(ldg,m1,hh,ih,dt,z,rd,alp,alp0,wkc) c-------error estimate errst = dabs(z(m1)) if(verboz) print *, ' error estimate =', errst c----------------------------------------------------------------------- indic = 2 return end c----------------------------------------------------------------------- subroutine mgsr (n, i0, i1, ss, r) c implicit real*8 (a-h,o-z) integer n, i0, i1 real*8 ss(n,i1), r(i1) c----------------------------------------------------------------------- c modified gram - schmidt with partial reortho. the vector ss(*,i1) is c orthogonalized against the first i vectors of ss (which are already c orthogonal). the coefficients of the orthogonalization are returned in c the array r c------------------------------------------------------------------------ c local variables c integer i, j, k, it real*8 hinorm, tet, ddot, t, dsqrt data tet/10.0d0/ do 53 j=1, i1 r(j) = 0.0d0 53 continue i = i1-1 it = 0 54 hinorm = 0.0d0 it = it +1 if (i .eq. 0) goto 56 c do 55 j=i0, i t = ddot(n, ss(1,j),1,ss(1,i1),1) hinorm = hinorm + t**2 r(j) = r(j) + t call daxpy(n,-t,ss(1,j),1,ss(1,i1),1) 55 continue t = ddot(n, ss(1,i1), 1, ss(1,i1), 1) 56 continue c c test for reorthogonalization see daniel et. al. c two reorthogonalization allowed --- c if (t*tet .le. hinorm .and. it .lt. 2) goto 54 t =dsqrt(t) r(i1)= t if (t .eq. 0.0d0) return t = 1.0d0/t do 57 k=1,n ss(k,i1) = ss(k,i1)*t 57 continue return end c----------end-of-mgsr-------------------------------------------------- c----------------------------------------------------------------------- subroutine project(n,m,u,v,w) integer n, m real*8 u(n,m), v(m), w(n) c c computes the vector w = u * v c c local variables c integer j, k do 1 k=1,n w(k) = 0.d0 1 continue do 100 j=1,m do 99 k=1,n w(k) = w(k) + v(j) * u(k,j) 99 continue 100 continue return end c----------------------------------------------------------------------- subroutine hes (ndg,m1,hh,ih,dt,y,root,coef,coef0,w2) c implicit real*8 (a-h,o-z) integer ndg, m1, ih real*8 hh(ih+2,m1), y(m1) complex*16 coef(ndg), root(ndg), w2(m1) real*8 dt, coef0 c-------------------------------------------------------------------- c computes exp ( H dt) * y (1) c where H = Hessenberg matrix (hh) c y = arbitrary vector. c ---------------------------- c ndg = number of poles as determined by getrat c m1 = dimension of hessenberg matrix c hh = hessenberg matrix (real) c ih+2 = first dimension of hh c dt = scaling factor used for hh (see (1)) c y = real vector. on return exp(H dt ) y is computed c and overwritten on y. c root = poles of the rational approximation to exp as c computed by getrat c coef, c coef0 = coefficients of partial fraction expansion c c exp(t) ~ coef0 + sum Real [ coef(i) / (t - root(i) ] c i=1,ndg c c valid for real t. c coef0 is real, coef(*) is a complex array. c c-------------------------------------------------------------------- c local variables c integer m1max parameter (m1max=61) complex*16 hloc(m1max+1,m1max), t, zpiv, dcmplx real*8 yloc(m1max), dble integer i, j, ii c c if (m1 .gt. m1max) print *, ' *** ERROR : In HES, M+1 TOO LARGE' c c loop associated with the poles. c do 10 j=1,m1 yloc(j) = y(j) y(j) = y(j)*coef0 10 continue c do 8 ii = 1, ndg c c copy Hessenberg matrix into temporary c do 2 j=1, m1 do 1 i=1, j+1 hloc(i,j) = dcmplx( dt*hh(i,j) ) 1 continue hloc(j,j) = hloc(j,j) - root(ii) w2(j) = dcmplx(yloc(j)) 2 continue c c forward solve c do 4 i=2,m1 zpiv = hloc(i,i-1) / hloc(i-1,i-1) do 3 j=i,m1 hloc(i,j) = hloc(i,j) - zpiv*hloc(i-1,j) 3 continue w2(i) = w2(i) - zpiv*w2(i-1) 4 continue c c backward solve c do 6 i=m1,1,-1 t=w2(i) do 5 j=i+1,m1 t = t-hloc(i,j)*w2(j) 5 continue w2(i) = t/hloc(i,i) 6 continue c c accumulate result in y. c do 7 i=1,m1 y(i) = y(i) + dble ( coef(ii) * w2(i) ) 7 continue 8 continue return end c----------end-of-hes--------------------------------------------------- c----------------------------------------------------------------------- subroutine daxpy(n,t,x,indx,y,indy) integer n, indx, indy real*8 x(n), y(n), t c------------------------------------------------------------------- c does the following operation c y <--- y + t * x , (replace by the blas routine daxpy ) c indx and indy are supposed to be one here c------------------------------------------------------------------- integer k do 1 k=1,n y(k) = y(k) + x(k)*t 1 continue return end c----------end-of-daxpy------------------------------------------------- c----------------------------------------------------------------------- function ddot(n,x,ix,y,iy) integer n, ix, iy real*8 ddot, x(n), y(n) c------------------------------------------------------------------- c computes the inner product t=(x,y) -- replace by blas routine ddot c------------------------------------------------------------------- integer j real*8 t t = 0.0d0 do 10 j=1,n t = t + x(j)*y(j) 10 continue ddot=t return end c----------end-of-ddot-------------------------------------------------- c----------------------------------------------------------------------- sparskit-2.0.0/UNSUPP/PLOTS/0000755000265600020320000000000011301043350014416 5ustar tilleaadminsparskit-2.0.0/UNSUPP/PLOTS/texplt1.f0000644000265600020320000002065206203735314016210 0ustar tilleaadmin subroutine texplt(nrow,ncol,mode,ja,ia,munt,size,vsize,hsize, * xleft,bot,job,title,ptitle,nlines,lines,iunt) c----------------------------------------------------------------------- integer nrow,ncol,mode,iunt,ptitle,ja(*),ia(*),lines(nlines) character title*(*), munt*2 c----------------------------------------------------------------------- c allows to have several matrices in same picture by calling texplt c several times and exploiting job and different shifts. c----------------------------------------------------------------------- c input arguments description : c c nrow = number of rows in matrix c c ncol = number of columns in matrix c c mode = integer indicating whether the matrix is stored in c CSR mode (mode=0) or CSC mode (mode=1) or MSR mode (mode=2) c c ja = column indices of nonzero elements when matrix is c stored rowise. Row indices if stores column-wise. c ia = integer array of containing the pointers to the c beginning of the columns in arrays a, ja. c c munt = units used for sizes : either 'cm' or 'in' c c size = size of the matrix box in 'munt' units c c vsize = vertical size of the frame containing the picture c in 'munt' units c c hsize = horizontal size of the frame containing the picture c in 'munt' units c c xleft = position of left border of matrix in 'munt' units c c bot = position of bottom border of matrix in 'munt' units c c job = job indicator for preamble and post process c c can be thought of as a 2-digit number job = [job1,job2] c where job1 = job /10 , job2 = job - 10*job1 = mod(job,10) c job2 = 0: all preambles+end-document lines c job2 = 1: preamble only c job2 = 2: end-document only c anything else for job2: no preamble or end-docuiment lines c Useful for plotting several matrices in same frame. c c job1 indicates what to put for a nonzero dot. c job1 relates to preamble/post processing: c job1 = 0 : a filled squate c job1 = 1 : a filled circle c job1 = 2 : the message $a_{ij}$ where i,j are the trow/column c positions of the nonzero element. c c title = character*(*). a title of arbitrary length to be printed c as a caption to the matrix. Can be a blank character if no c caption is desired. Can be put on top or bottom of matrix c se ptitle. c c ptitle = position of title; 0 under the frame, else above c c nlines = number of separation lines to draw for showing a partionning c of the matrix. enter zero if no partition lines are wanted. c c lines = integer array of length nlines containing the coordinates of c the desired partition lines . The partitioning is symmetric: c a horizontal line across the matrix will be drawn in c between rows lines(i) and lines(i)+1 for i=1, 2, ..., nlines c an a vertical line will be similarly drawn between columns c lines(i) and lines(i)+1 for i=1,2,...,nlines c c iunt = logical unit number where to write the matrix into. c----------------------------------------------------------------------- data haf /0.5/, zero/0.0/, conv/2.54/ c----------------------------------------------------------------------- n = ncol if (mode .eq. 0) n = nrow job1 = job /10 job2 = job - 10*job1 maxdim = max(nrow, ncol) rwid = real(ncol-1) rht = real(nrow-1) unit0 = size/real(maxdim) hsiz = hsize/unit0 vsiz = vsize/unit0 siz = size/unit0 c c size of little box for each dot -- boxr = in local units c boxabs in inches (or cm) c boxr = 0.6 boxabs = unit0*boxr c c spaces between frame to nearest box c space = 0.03/unit0+(1.0-boxr)/2.0 c c begin document generation c for very first call better have \unitlength set first.. if (job2 .le. 1) then write (iunt,*) ' \\documentstyle[epic,12pt]{article} ' write (iunt,*) ' \\begin{document}' write (iunt,100) unit0, munt write (iunt,99) hsiz, vsiz else c redeclare unitlength write (iunt,100) unit0, munt endif c----- always redefine units if (job1 .eq. 0) then write (iunt,101) boxabs, boxabs else write (iunt,102) boxabs/unit0 endif 100 format(' \\setlength{\\unitlength}{',f5.3,a2,'}') 99 format('\\begin{picture}(',f8.2,1h,,f8.2,1h)) 101 format('\\def\\boxd{\\vrule height',f7.4,'in width',f7.4,'in }') 102 format('\\def\\boxd{\\circle*{',f7.4,'}}') c c draw a frame around the matrix c get shifts from real inches to local units c xs = xleft/unit0 + (hsiz-siz)*0.5 ys = bot/unit0 c eps = 0.0 xmin = xs xmax = xs +rwid + boxr + 2.0*space ymin = ys ymax = ys+rht + boxr + 2.0*space c c bottom margin between box and title c xmargin = 0.30/unit0 if (munt .eq. 'cm' .or. munt .eq. 'CM') xmargin = xmargin*2.5 xtit = 0.5*(xmin+xmax) xtit = xmin ytit = ymax if (ptitle .eq. 0) ytit = ymin - xmargin xdim = xmax-xmin ltit = LENSTR(title) write(iunt,111) xtit,ytit,xdim,xmargin,title(1:ltit) c 111 format ('\\put(',F6.2,',',F6.2, * '){\\makebox(',F6.2,1h,F6.2,'){',A,2h}}) c write(iunt,*) ' \\thicklines' write (iunt,108) xmin,ymin,xmax,ymin,xmax,ymax, * xmin,ymax,xmin,ymin 108 format('\\drawline',1h(,f8.2,1h,,f8.2,1h), * 1h(,f8.2,1h,,f8.2,1h), 1h(,f8.2,1h,,f8.2,1h), * 1h(,f8.2,1h,,f8.2,1h), 1h(,f8.2,1h,,f8.2,1h)) c c draw the separation lines c c if (job1 .gt.0) then c xs = xs + 0.25 c ys = ys + 0.25 c endif write(iunt,*) ' \\thinlines' do 22 kol=1, nlines isep = lines(kol) c c horizontal lines c yy = ys + real(nrow-isep) write(iunt,109) xmin, yy, xmax, yy c c vertical lines c xx = xs+real(isep) write(iunt,109) xx, ymin, xx, ymax 22 continue c 109 format('\\drawline', * 1h(,f8.2,1h,,f8.2,1h), 1h(,f8.2,1h,,f8.2,1h)) c-----------plotting loop --------------------------------------------- c c add some space right of the frame and up from the bottom c xs = xs+space ys = ys+space c----------------------------------------------------------------------- do 1 ii=1, n istart = ia(ii) ilast = ia(ii+1)-1 if (mode .eq. 1) then do 2 k=istart, ilast if (job1 .le. 1) then write(iunt,12) xs+real(ii-1),ys+real(nrow-ja(k)) else write(iunt,13) xs+real(ii-1),ys+real(nrow-ja(k)), * ii,ja(k) endif 2 continue else y = ys+real(nrow-ii) do 3 k=istart, ilast if (job1 .le. 1) then write(iunt,12) xs+real(ja(k)-1), y else write(iunt,13) xs+real(ja(k)-1), y, ii, ja(k) endif 3 continue c add diagonal element if MSR mode. if (mode .eq. 2) * write(iunt,12) xs+real(ii-1), ys+real(nrow-ii) endif 1 continue c----------------------------------------------------------------------- 12 format ('\\put(',F6.2,',',F6.2,')','{\\boxd}') 13 format ('\\put(',F6.2,',',F6.2,')','{$a_{',i3,1h,,i3,'}$}') c----------------------------------------------------------------------- if (job2 .eq. 0 .or. job2 .eq. 2) then write (iunt,*) ' \\end{picture} ' write (iunt,*) ' \\end{document} ' endif c return end integer function lenstr0(s) c----------------------------------------------------------------------- c return length of the string S c----------------------------------------------------------------------- character*(*) s integer len intrinsic len integer n c----------------------------------------------------------------------- n = len(s) 10 continue if (s(n:n).eq.' ') then n = n-1 if (n.gt.0) go to 10 end if lenstr0 = n c return c----------------------------------------------------------------------- end c----------------------------------------------------------------------- sparskit-2.0.0/UNSUPP/PLOTS/psgrd.f0000644000265600020320000001420606203735313015723 0ustar tilleaadmin subroutine psgrid (npts,ja,ia,xx,yy,title,ptitle,size,munt,iunt) c----------------------------------------------------------------------- c plots a symmetric graph defined by ja,ia and the coordinates c xx(*),yy(*) c----------------------------------------------------------------------- c npts = number of points in mesh c ja, ia = connectivity of mesh -- as given by pattern of sparse c matrix. c xx, yy = cordinates of the points. c c title = character*(*). a title of arbitrary length to be printed c as a caption to the figure. Can be a blank character if no c caption is desired. c c ptitle = position of title; 0 under the drawing, else above c c size = size of the drawing c c munt = units used for size : 'cm' or 'in' c c iunt = logical unit number where to write the matrix into. c----------------------------------------------------------------------- implicit none integer npts,ptitle,iunt, ja(*), ia(*) character title*(*), munt*2 real*8 xx(npts),yy(npts) real size c----------------------------------------------------------------------- c local variables -------------------------------------------------- c----------------------------------------------------------------------- integer nr,ii,k,ltit real xi,yi,xj,yj,lrmrgn,botmrgn,xtit,ytit,ytitof,fnstit,siz, * xl,xr, yb,yt, scfct,u2dot,frlw,delt,paperx,conv,dimen, * haf,zero, xdim, ydim real*8 xmin,xmax,ymin,ymax,max,min integer j c----------------------------------------------------------------------- integer LENSTR external LENSTR c----------------------------------------------------------------------- data haf /0.5/, zero/0.0/, conv/2.54/ siz = size c c get max and min dimensions c xmin = xx(1) xmax = xmin ymin = yy(1) ymax = ymin do j=2, npts xmax = max(xmax,xx(j)) xmin = min(xmin,xx(j)) ymax = max(ymax,yy(j)) ymin = min(ymin,yy(j)) enddo c----------------------------------------------------------------------- c n = npts nr = npts xdim = xmax -xmin ydim = ymax -ymin dimen = max(xdim,ydim) c----------------------------------------------------------------------- print *, ' xmin', xmin, ' xmax', xmax print *, ' ymin', ymin, ' ymax', ymax, ' dimen ', dimen c----------------------------------------------------------------------- c c units (cm or in) to dot conversion factor and paper size c if (munt.eq.'cm' .or. munt.eq.'CM') then u2dot = 72.0/conv paperx = 21.0 else u2dot = 72.0 paperx = 8.5*conv siz = siz*conv end if c c left and right margins (drawing is centered) c lrmrgn = (paperx-siz)/2.0 c c bottom margin : 2 cm c botmrgn = 2.0/dimen c scaling factor scfct = siz*u2dot/dimen c frame line witdh frlw = 0.25/dimen c font siz for title (cm) fnstit = 0.5/dimen ltit = LENSTR(title) c c position of title : centered horizontally c at 1.0 cm vertically over the drawing ytitof = 1.0/dimen xtit = paperx/2.0 ytit = botmrgn+siz*nr/dimen + ytitof c almost exact bounding box xl = lrmrgn*u2dot - scfct*frlw/2 xr = (lrmrgn+siz)*u2dot + scfct*frlw/2 yb = botmrgn*u2dot - scfct*frlw/2 yt = (botmrgn+siz*ydim/dimen)*u2dot + scfct*frlw/2 if (ltit.gt.0) then yt = yt + (ytitof+fnstit*0.70)*u2dot end if c add some room to bounding box delt = 10.0 xl = xl-delt xr = xr+delt yb = yb-delt yt = yt+delt c c correction for title under the drawing c if (ptitle.eq.0 .and. ltit.gt.0) then ytit = botmrgn + fnstit*0.3 botmrgn = botmrgn + ytitof + fnstit*0.7 end if c c begin output c write(iunt,10) '%!' write(iunt,10) '%%Creator: PSPLTM routine' write(iunt,12) '%%BoundingBox:',xl,yb,xr,yt write(iunt,10) '%%EndComments' write(iunt,10) '/cm {72 mul 2.54 div} def' write(iunt,10) '/mc {72 div 2.54 mul} def' write(iunt,10) '/pnum { 72 div 2.54 mul 20 string' write(iunt,10) 'cvs print ( ) print} def' write(iunt,10) 1 '/Cshow {dup stringwidth pop -2 div 0 rmoveto show} def' c c we leave margins etc. in cm so it is easy to modify them if c needed by editing the output file c write(iunt,10) 'gsave' if (ltit.gt.0) then write(iunt,*) '/Helvetica findfont',fnstit,' cm scalefont setfont' write(iunt,*) xtit,' cm',ytit,' cm moveto' write(iunt,'(3A)') '(',title(1:ltit),') Cshow' end if c write(iunt,*) lrmrgn,' cm ',botmrgn,' cm translate' write(iunt,*) siz,' cm ',dimen,' div dup scale ' c c draw a frame around the matrix // REMOVED c c del = 0.005 c del2 = del*2.0 c write(iunt,*) del, ' setlinewidth' c write(iunt,10) 'newpath' c write(iunt,11) -del2, -del2, ' moveto' c write(iunt,11) dimen+del2,-del2,' lineto' c write(iunt,11) dimen+del2, dimen+del2, ' lineto' c write(iunt,11) -del2,dimen+del2,' lineto' c write(iunt,10) 'closepath stroke' c c----------- plotting loop --------------------------------------------- write(iunt,*) ' 0.01 setlinewidth' c do 1 ii=1, npts c if (mask(ii) .eq. 0) goto 1 xi = xx(ii) - xmin yi = yy(ii) - ymin c write (iout+1,*) ' ******** ii pt', xi, yi, xmin, ymin do 2 k=ia(ii),ia(ii+1)-1 j = ja(k) if (j .le. ii) goto 2 xj = xx(j) - xmin yj = yy(j) - ymin c write (iout+1,*) ' j pt -- j= ',j, 'pt=', xj, yj c c draw a line from ii to j c write(iunt,11) xi, yi, ' moveto ' write(iunt,11) xj, yj, ' lineto' write(iunt,10) 'closepath stroke' 2 continue 1 continue c----------------------------------------------------------------------- write(iunt,10) 'showpage' return c 10 format (A) 11 format (2F9.2,A) 12 format (A,4F9.2) 13 format (2F9.2,A) c----------------------------------------------------------------------- end sparskit-2.0.0/UNSUPP/PLOTS/texgrid1.f0000644000265600020320000002053106203735314016332 0ustar tilleaadmin subroutine texgrd(npts,ja,ia,xx,yy,munt,size,vsize,hsize, * xleft,bot,job,title,ptitle,ijk,node,nelx,iunt) c----------------------------------------------------------------------- integer npts,iunt,ptitle,ja(*),ia(*), ijk(node,*) character title*(*), munt*2 real*8 xx(npts), yy(npts) c----------------------------------------------------------------------- c allows to have several grids in same picture by calling texgrd c several times and exploiting job and different shifts. c----------------------------------------------------------------------- c input arguments description : c c npts = number of rows in matrix c c ncol = number of columns in matrix c c mode = integer indicating whether the matrix is stored in c CSR mode (mode=0) or CSC mode (mode=1) or MSR mode (mode=2) c c ja = column indices of nonzero elements when matrix is c stored rowise. Row indices if stores column-wise. c ia = integer array of containing the pointers to the c beginning of the columns in arrays a, ja. c c munt = units used for sizes : either 'cm' or 'in' c c size = size of the matrix box in 'munt' units c c vsize = vertical size of the frame containing the picture c in 'munt' units c c hsize = horizontal size of the frame containing the picture c in 'munt' units c c xleft = position of left border of matrix in 'munt' units c c bot = position of bottom border of matrix in 'munt' units c c job = job indicator for preamble and post process c can be viewed as a 2-digit number job = [job1,job2] c where job1 = job /10 , job2 = job - 10*job1 = mod(job,10) c job2 relates to preamble/post processing: c job2 = 0: all preambles+end-document lines c job2 = 1: preamble only c job2 = 2: end-document only c anything else: no preamble or end-docuiment lines c Useful for plotting several matrices in same frame. c c job1 relates to the way in which the nodes and elements must c be processed: c job1 relates to options for the plot. c job1 = 0 : only a filled circle for the nodes, no labeling c job1 = 1 : labels the nodes (in a circle) c job1 = 2 : labels both nodes and elements. c job1 = 3 : no circles, no labels c c title = character*(*). a title of arbitrary length to be printed c as a caption to the matrix. Can be a blank character if no c caption is desired. Can be put on top or bottom of matrix c se ptitle. c c ptitle = position of title; 0 under the frame, else above c c nlines = number of separation lines to draw for showing a partionning c of the matrix. enter zero if no partition lines are wanted. c c lines = integer array of length nlines containing the coordinates of c the desired partition lines . The partitioning is symmetric: c a horizontal line across the matrix will be drawn in c between rows lines(i) and lines(i)+1 for i=1, 2, ..., nlines c an a vertical line will be similarly drawn between columns c lines(i) and lines(i)+1 for i=1,2,...,nlines c c iunt = logical unit number where to write the matrix into. c----------------------------------------------------------------------- real*8 xmin, xmax, ymin, ymax n = npts siz = size job1 = job /10 job2 = job - 10*job1 c c get max and min dimensions c xmin = xx(1) xmax = xmin ymin = yy(1) ymax = ymin c do j=2, npts xmax = max(xmax,xx(j)) xmin = min(xmin,xx(j)) ymax = max(ymax,yy(j)) ymin = min(ymin,yy(j)) enddo c----------------------------------------------------------------------- n = npts xdim = xmax -xmin ydim = ymax -ymin dimen = max(xdim,ydim) c----------------------------------------------------------------------- print *, ' xmin', xmin, ' xmax', xmax print *, ' ymin', ymin, ' ymax', ymax, ' dimen ', dimen c----------------------------------------------------------------------- c c units (cm or in) to dot conversion factor and paper size c tdim = max(ydim,xdim) unit0 = size/tdim hsiz = hsize/unit0 vsiz = vsize/unit0 siz = size/unit0 c c size of little circle for each node -- cirr = in local units c cirabs in inches (or cm) -- rad = radius in locl units -- c cirabs = 0.15 if (job1 .le. 0) cirabs = 0.08 if (job1 .eq. 3) cirabs = 0.0 cirr = cirabs/unit0 rad = cirr/2.0 c c begin document generation c if (job2 .le. 1) then write (iunt,*) ' \\documentstyle[epic,eepic,12pt]{article} ' write (iunt,*) ' \\begin{document}' write (iunt,100) unit0, munt write (iunt,99) hsiz, vsiz else c redeclare unitlength write (iunt,100) unit0, munt endif if (job1 .le. 0) then write (iunt,101) cirr else write (iunt,102) cirr endif 102 format('\\def\\cird{\\circle{',f5.2,'} }') 101 format('\\def\\cird{\\circle*{',f5.2,'} }') 99 format('\\begin{picture}(',f8.2,1h,,f8.2,1h)) 100 format(' \\setlength{\\unitlength}{',f5.3,a2,'}') c c bottom margin between cir and title c xs = xleft / unit0 + (tdim - xdim)*0.5 + (hsiz - siz)*0.5 ys = bot / unit0 - ymin c xmargin = 0.30/unit0 if (munt .eq. 'cm' .or. munt .eq. 'CM') xmargin = xmargin*2.5 xtit = xs + xmin if (ptitle .eq. 0) then ytit = ys + ymin - xmargin else ytit = ys + ymax + xmargin endif ltit = LENSTR(title) write(iunt,111) xtit,ytit,xdim,xmargin,title(1:ltit) c 111 format ('\\put(',F6.2,',',F6.2, * '){\\makebox(',F6.2,1h,,F6.2,'){',A,2h}}) c c print all the circles if needed c c ##### temporary for showing f c write (iunt,102) 0.01 c write (iunt,112)xs+xx(1), ys+yy(1) c----------------------------------------------------------------------- if (job1 .eq. 3) goto 230 do 22 i=1, npts x = xs + xx(i) y = ys + yy(i) write(iunt,112) x, y 112 format ('\\put(',F6.2,',',F6.2,'){\\cird}') c write(iunt,113) x-rad, y-rad, cirr, cirr, i c 113 format ('\\put(',F6.2,',',F6.2, c * '){\\makebox(',F6.2,1h,,F6.2,'){\\scriptsize ',i4,2h}}) if (job1 .ge. 1) then write(iunt,113) x, y, i endif 113 format ('\\put(',F6.2,',',F6.2, * '){\\makebox(0.0,0.0){\\scriptsize ',i4,2h}}) 22 continue 230 continue c c number the elements if needed c if (job1 .eq. 2) then do 23 iel = 1, nelx x = 0.0 y = 0.0 do j=1, node x = x+xx(ijk(j,iel)) y = y+yy(ijk(j,iel)) enddo x = xs + x / real(node) y = ys + y / real(node) write(iunt,113) x, y, iel 23 continue endif c c draw lines c write (iunt,*) ' \\Thicklines ' do 1 ii=1, npts xi = xs+ xx(ii) yi = ys+ yy(ii) do 2 k=ia(ii),ia(ii+1)-1 j = ja(k) if (j .le. ii) goto 2 xj = xs + xx(j) yj = ys + yy(j) xspan = xj - xi yspan = yj - yi tlen = sqrt(xspan**2 + yspan**2) if (abs(xspan) .gt. abs(yspan)) then ss = yspan / tlen cc = sqrt(abs(1.0 - ss**2)) cc = sign(cc,xspan) else cc = xspan / tlen ss = sqrt(abs(1.0 - cc**2)) ss = sign(ss,yspan) endif c print *, ' ss -- cc ', ss, cc c write(iunt,114)xi,yi,xj,yj write(iunt,114)xi+cc*rad,yi+ss*rad,xj-cc*rad,yj-ss*rad 114 format('\\drawline(',f6.2,1h,,f6.2,')(',f6.2,1h,,f6.2,1h)) c tlen = tlen - 2.0*cirr c write(iunt,114) xi+cc*cirr,yi+ss*cirr,cc,ss,tlen c 114 format('\\put(',f6.2,1h,,f6.2,'){\\line(', c * f6.2,1h,,f6.2,'){',f6.2,'}}') 2 continue 1 continue c----------------------------------------------------------------------- if (job2 .eq. 0 .or. job2 .eq. 2) then write (iunt,*) ' \\end{picture} ' write (iunt,*) ' \\end{document} ' endif c return end sparskit-2.0.0/UNSUPP/PLOTS/README0000644000265600020320000000130106203735313015305 0ustar tilleaadmin ----------------- Current contents: ----------------- Some of the files that were originally in this directory have been moved to the INOUT module, or were obsolte and removed. * psgrd.f contains subroutine "psgrid" which plots a symmetric graph. * texplt1.f contains subroutine "texplt" allows several matrices in the same picture by calling texplt several times and exploiting job and different shifts. * texgrid1.f contains subroutine "texgrd" which generates tex commands for plotting a symmetric graph associated with a mesh. Allows several grids in the same picture by calling texgrd several times and exploiting job and different shifts. sparskit-2.0.0/DOC/0000750000265600020320000000000010213354246013075 5ustar tilleaadminsparskit-2.0.0/DOC/dir.fig0000640000265600020320000000311106203735206014342 0ustar tilleaadmin#FIG 2.1 80 2 2 1 0 1 -1 0 0 0 0.000 -1 0 0 49 244 319 99 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 99 134 244 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 99 204 244 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 99 264 244 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 99 324 244 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 99 394 244 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 99 484 244 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 99 569 244 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 544 304 564 264 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 564 264 614 304 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 344 304 389 264 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 389 264 399 304 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 389 264 454 304 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 99 319 99 634 244 634 244 9999 9999 4 0 0 14 0 -1 0 0.00000 4 10 58 19 259 BLASSM 4 0 0 14 0 -1 0 0.00000 4 10 68 99 259 FORMATS 4 0 0 14 0 -1 0 0.00000 4 10 34 189 259 INFO 4 0 0 14 0 -1 0 0.00000 4 10 45 239 259 INOUT 4 0 0 14 0 -1 0 0.00000 4 10 41 304 259 ITSOL 4 0 0 14 0 -1 0 0.00000 4 10 64 359 259 MATGEN 4 0 0 14 0 -1 0 0.00000 4 10 82 439 259 ORDERINGS 4 0 0 14 0 -1 0 0.00000 4 10 55 539 259 UNSUPP 4 0 0 12 0 -1 0 0.00000 4 9 50 519 319 MATEXP 4 0 0 12 0 -1 0 0.00000 4 9 29 329 319 FDIF 4 0 0 12 0 -1 0 0.00000 4 9 27 384 319 FEM 4 0 0 12 0 -1 0 0.00000 4 9 30 439 319 MISC 4 0 0 18 0 -1 0 0.00000 4 13 88 279 89 SPARSKIT 4 0 0 12 0 -1 0 0.00000 4 9 37 599 319 PLOTS 4 0 0 20 0 -1 0 0.00000 4 17 279 199 364 General organization of SPARSKIT 4 0 0 14 0 -1 0 0.00000 4 10 30 619 259 DOC sparskit-2.0.0/DOC/vbrpic.fig0000640000265600020320000001546006203735214015062 0ustar tilleaadmin#FIG 2.1 80 2 6 69 424 499 459 2 3 0 1 -1 0 0 0 0.000 -1 0 0 99 439 479 439 479 459 99 459 99 439 99 439 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 119 439 119 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 139 439 139 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 159 439 159 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 179 439 179 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 199 439 199 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 219 439 219 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 239 439 239 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 259 439 259 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 279 439 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 279 439 279 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 299 439 299 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 319 439 319 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 339 439 339 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 359 439 359 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 379 439 379 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 399 439 399 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 419 439 419 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 459 439 459 459 9999 9999 4 0 0 12 0 -1 0 0.00000 4 9 393 104 434 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 0 0 14 0 -1 0 0.00000 4 10 11 69 454 A -6 6 339 64 499 99 2 3 0 1 -1 0 0 0 0.000 -1 0 0 399 79 499 79 499 99 399 99 399 79 399 79 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 419 79 419 99 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 439 79 439 99 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 459 79 459 99 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 479 79 479 99 9999 9999 4 0 0 12 0 -1 0 0.00000 4 9 90 404 74 1 2 3 4 5 4 0 0 14 0 -1 0 0.00000 4 10 46 339 94 KVSTC -6 6 139 64 279 99 2 3 0 1 -1 0 0 0 0.000 -1 0 0 199 79 279 79 279 99 199 99 199 79 199 79 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 219 79 219 99 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 239 79 239 99 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 259 79 259 99 9999 9999 4 0 0 12 0 -1 0 0.00000 4 9 63 209 94 1 3 4 7 4 0 0 12 0 -1 0 0.00000 4 9 69 204 74 1 2 3 4 4 0 0 14 0 -1 0 0.00000 4 10 45 139 94 KVSTR -6 2 3 0 1 -1 0 0 0 0.000 -1 0 0 99 219 179 219 179 239 99 239 99 219 99 219 9999 9999 2 3 0 1 -1 0 0 0 0.000 -1 0 0 99 279 219 279 219 299 99 299 99 279 99 279 9999 9999 2 3 0 1 -1 0 0 0 0.000 -1 0 0 99 339 239 339 239 359 99 359 99 339 99 339 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 119 219 119 239 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 139 219 139 239 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 159 219 159 239 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 119 279 119 299 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 139 279 139 299 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 159 279 159 299 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 179 279 179 299 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 199 279 199 299 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 119 339 119 359 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 139 339 139 359 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 159 339 159 359 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 179 339 179 359 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 199 339 199 359 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 219 339 219 359 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 109 239 109 259 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 124 239 144 259 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 149 239 184 259 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 169 239 224 259 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 439 439 439 459 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 109 359 109 419 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 129 359 184 419 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 144 359 224 419 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 169 359 279 419 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 189 359 299 419 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 209 359 364 419 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 229 359 484 419 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 379 159 379 279 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 439 159 439 279 9999 9999 2 2 0 1 -1 0 0 0 0.000 0 0 0 499 279 499 159 339 159 339 279 499 279 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 459 159 459 279 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 339 199 499 199 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 0 0 339 219 499 219 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 409 99 354 139 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 429 99 389 139 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 449 99 449 139 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 469 99 469 139 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 489 99 504 139 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 269 99 319 284 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 249 99 319 224 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 224 99 319 204 9999 9999 2 1 0 1 -1 0 0 0 0.000 -1 1 0 0 0 1.000 4.000 8.000 209 99 319 169 9999 9999 4 0 0 12 0 -1 0 0.00000 4 9 108 104 294 1 3 2 3 3 4 4 0 0 12 0 -1 0 0.00000 4 9 132 104 354 1 5 7 10 11 14 20 4 0 0 12 0 -1 0 0.00000 4 9 129 104 334 1 2 3 4 5 6 7 4 0 0 14 0 -1 0 0.00000 4 10 16 69 234 IA 4 0 0 14 0 -1 0 0.00000 4 10 17 69 294 JA 4 0 0 14 0 -1 0 0.00000 4 10 21 64 354 KA 4 0 0 12 0 -1 0 0.00000 4 9 69 104 234 1 3 5 7 4 0 0 12 0 -1 0 0.00000 4 9 69 104 214 1 2 3 4 4 0 0 12 0 -1 0 0.00000 4 9 108 104 274 1 2 3 4 5 6 4 0 0 12 0 -1 0 0.00000 4 9 9 224 274 7 4 0 0 12 0 -1 0 0.00000 4 9 372 104 454 1 4 2 5 3 6 7 8 9 10 11 14 17 12 15 18 13 16 19 4 0 0 12 0 -1 0 0.00000 4 9 96 404 94 1 3 6 7 9  4 0 0 12 0 -1 0 0.00000 4 9 108 344 174 1 2 3 4 0 0 12 0 -1 0 0.00000 4 9 108 344 194 4 5 6 4 0 0 12 0 -1 0 0.00000 4 9 72 384 214 7 8 9 10 4 0 0 12 0 -1 0 0.00000 4 9 51 444 234 11 12 13 4 0 0 12 0 -1 0 0.00000 4 9 51 444 254 14 15 16 4 0 0 12 0 -1 0 0.00000 4 9 51 444 274 17 18 19 4 0 0 12 0 -1 0 0.00000 4 9 6 324 174 1 4 0 0 12 0 -1 0 0.00000 4 9 6 324 194 2 4 0 0 12 0 -1 0 0.00000 4 9 6 324 214 3 4 0 0 12 0 -1 0 0.00000 4 9 6 324 234 4 4 0 0 12 0 -1 0 0.00000 4 9 6 324 254 5 4 0 0 12 0 -1 0 0.00000 4 9 6 324 274 6 4 0 0 12 0 -1 0 0.00000 4 9 147 344 154 1 2 3 4 5 6 7 8 4 0 0 12 0 -1 0 0.00000 4 9 6 324 294 7 4 0 0 12 0 -1 0 0.00000 4 9 18 494 154 9 4 0 0 12 0 -1 0 0.00000 4 9 121 259 344 IA also indexes into KA sparskit-2.0.0/DOC/msh9.pdf0000640000265600020320000005063010213314311014442 0ustar tilleaadmin%PDF-1.3 %Çì¢ 5 0 obj <> stream xœ•½KŽ5;¯¦×ߣȦÝY%)Š®Ãí²Ï p]àlÜðôMêNòåŠÜ88Øÿ§|–()$’¢nÿó'|âOàÿëÿý/¿ÿü§ÿóþù¯ÿï?áçÿ ÿÿ¯ÿüÏb~úþËïÏÿö•ŸøI¥äûç?þïÚãOJ秤øsî#ðŸ~ÿù_~þ×ÿøÿüïÿñÏþçø<éN÷ÏÿGü§lÃÏ?çq¦Ÿßú¯xŸœ®ŸÿçŸÿöÏÿ¥ÿNÿ3œñ+“rü÷óÓõ‰”ò)É9íPgø”ü“îós”ÛøŸé QñÀÄqQaŸ ÉJ)RbžÙ*òs:D/M|Êý¹ ††¬‘²ê¾˜Q÷?1‘jöDÈŒo‘ÂCÂùÔ‰¿?)øëSsuæ¹Â'p•Vå–ç¿\&…ÏýpÊy~â»Ä@þ 6s ÷ç¹WÏKÉó<Ÿ#gUKËÅÿ¯o*Îñ»>ùþr÷º~‘JùKny>×_äZ®œŸÛÖÃpñHŸÂ)…ä?߸ëSþ.ö­Cl(á“Ç`¢Br:^Ŭ] ¥ƒ ¥<™×7®ð˜û›Ð· ¡á*Ÿ)3Q{–x• 8ªcŒº–;ŽûXVÂ_¸œy8üYîK5†Øpîj+So/ç»XÀqö²Êg©Š9Å›ßç®ës=úVƒ!4dÒtSè™22ïB-w¦X‡ˆ¬àh`eJIDZ)}Ë]¤o’éP¾Ü·z ¹þ’'wÝaï¶®\ÀÏ'&]ËÝôwV()“"=¿pTþ­Ä¯rßê1ä†Hÿý ‘ ÷»\Ë•˜>éÑõ ì›;=9áò¹‡Åiìž/÷­]îó”OSŸ=OÚÇ©+p÷ýI‡®‡áhlߟ“ë[òR,+Â`¾‰}«ÆûÜd¦f³ÐØ»e·Çr¯H.·¬ÀÒE&ãå3}gÝÏǸ4NfÏ™?%œ¯S=JlÞÁ䎫)xY8Ëå'r?R…³®„+WÕã ççzk±;Õ~-ka°“¬Y bGm#w”œ·W¡=·‡RösëeS5-¤Âó.päs“ÈJX®¤¦¡òÉÇçÒŒì©TR¾ph_î¶é’_ Ùz}© °XËá!.ªjާXüòÉf©‘„7¡ªÿÅG„,КV“M¸.ž¤’¯K-Ï*h2“}Oï F.ÇÃÙ¥@U˜bŸóC_ž…)r§äƒá Cá*h,šg]IÍ)@nTðÈ5 ñ¢‹v"87r&—sJ÷Ú¿LÆ ‡ƒ–Cµ¹#Õïá€àý|É/]mEÓ·óþÂ]WuÒI^Ñšô’a‹yºòÎtÜB0ò8X Ë¥D…bûÜ{:똎zThíŽi¢Ã27Ïrü ¹å`ðp¨;¨œ±N¨qž/Ù‘a•Ie Sîl:ùˆ×¦:H³ÔV!sEŠOȃˆC•°\>Cªõ”oùѧ­žyP_²;®ü9 ;Dñ“g8éÇÜÛ»ëèOÉ ‡ãˆCÕr©¤µ|ìä/ùQ53§\Ôe¾qä9œBªqi•+77ó8hX_¦ä†Ã!Ä¡zXî¦væn%¿ÈïìfºUþ’ßÏ„ËDZ}›=/. ÍüâíOÉ-‡C€ƒõroàhî¢ïÅcR¸1H.MñX£eÒ×ÛT›Ry0d2ÂmíÆ™’‡ ëa¸¨=8x–SÚÔÈ/×EÌTÃûþRÔ<£óHKW‘‘¢n­Èf“ E †j¸”síU™¤O Žò£ÞÇßñ¤|ï/ùò:¸•Or6Öü0^ÈTæçñg¾–sæù†‘ Áº‚‘?Åã ™ý—£.Z »’¾ÜÒ¬ÚE#cŽðD®Ø‡†ËIþB|ü²Áp4À`¸»¨”loNò‘×¼×`U•ýÕë&›åË$™ûæM*tÉ,¡)š“`ú6Ç7.œåR¦µÅ‡ù‘ÊãùçM!~‘{S~4oêËÓR&¯R/òfãéÏÝ ‡CˆCÕrÙÃe yÑ_¦ÿ ò+ä9Ðà,¤¦!EbyB–—4ˬîq¶ˆØBëÆxVn1©¬„åNîK$õ&õ™£ÏE6¨T[žZ­ÉûUšSt“Ö¬æÖ™m[Ëg8¼ÿ…+¤ Bò岋\Ðò>¦Ä>»——†œ­Š@ÓöM M<ál~u› ¹óTƒá ¹Á2uÛ£::qê$KuúDÇ/ZyŽÏ´wõÜܧxI#îÜÓrx® 8X 66³šîkQ]>¤R–Ø ÔÔqÍ´Ï6$»ÇïÎ>-‡gÚ€CÕ@ÜÓÞÊŽ\—+…-D™­æë>ü—1‹Îu†1~íÎ?-gÛÃÕÙQoagMØCÄÅæpwÙv…øÅËdH¶Ù{_´?¨?„äÎ@-†gÛ–ÃÕùõ…øã)[(pýkä#,uËj/ÈÔK׌ç ņ®{Àî ÔrxÆm9\ß󴞘Ž×`n¥EGŸ—?øIºmíjóúL}½EIð ÔrxÆm9\ ·G"N2Î÷±¤ ®CM)hâ«SÕ§KîÄpp"m9X<ÝYÀ“:ËùEj¦±ÈÞS÷}©TªêAórBú‘êáI oÍۦѼG’RÏ'öN§Ÿ–ÃÓmËÁê±ÔhuG%ÙÁã‹Ø‹,G.RßÄŽh…pÉç\ýºê:ª7ÿ´žm×ä×çó² ¿¹é/ÛË•ºQ'²\³¤k,ŽZãâ}hîÜÒrp¾m0\ $¶OèE5`~dHynAÿ-3¿DÎZ¨wÚh(_Ú#õ–ÃsÀ‘[SwÄ p°d]&g4Žë˜¿ö&%Ã35ËÁêŽÔÄ]cŒÇ³>/’ÛW„ß8Al¼Ž;~ÖêiŸÑ¬ø¶3'Ñœ73¬’Kƒô'/ƒ²+¬öí´‚ìzŠô¦ÆÖèåŒâ9‰åð p°Vl_ŽÍäãîkÀ6»61_Äõá’óÔb@#”ëLI,‡g`€ƒÕrãS7öÔó7¹=?éþ®/ Ÿ|Xe~ R¹5 Û|,wFb0<³¬„›ÓÐÄ·Ü®pm³P¶6y½¨…˚̑ÛÜ?לµXOÒk äöÉ«œ€üȨ°ßHÊ~mÎ¥FêïPç`îlÄ`X¨Í-ŸuŽqŸi[:5Ø(¬•¡½…oÞ?µXéï܇or ú‚#œbXϨkäÞ¹EUÉ5<|,ƯªXŠˆMuçe)ç¦nšôs"Uí8ýù…ÁðtÊ`° @æU7ÇsÜöð±Ñ¾Í¦}2iÀÐxM¬‘W4¢<íÐ\ Åz$wj88“B¬…áð„• Ù¡PÀõ¹®òòÂY}ÉÍËÃN­å o1è4Ol ‡« ¸BûÐ>7÷¯êãŒÝ…r»î4÷?xt--6ö€£¥oÅ=ÔÎŽ'Äæ·´` ëj {ǃB©~gRîØ—Üö%Ĺ‹°{#žw8äË —ˆí«Â\¯o©] ;@lŸ ¯èK-d ,Pîlš+çû€Ã¯Âp]}¡'õ¦Ç-Ûôî¥Ã6½Ñ±$í8v–ƒ~,Àp鬨¾›Qú ¿Þv'ͲqÛ7®o½bÞwQ^Uµma2ìÜYû±€ƒõ@rcuxº7ârá¾k ó:ï}—§•ÎjÌd~Ã_¾Io=·ïywÃN/à`uGVœ×ôÅB2àÈ™«QZéBŽwܾe–¨OñÒ¨tÆYÌBf0DßÑô+-‡+k¹º¹ô!+ð|š®ÔcBa? ™ï:\xiöñ}(‹!_ÑP `6§ÐBdáÙÚÙ¬ú aKp)úÜEçu^Ûbs G8ì)Z×ÁrÐ5\æ XE»0¤žpm;6—?±ÏoØîvXŽƒ¨1éíA€£n[ ÔüÆÃšû ±«`±o®Ó¢`U5ͺ͋ìe©XÛ,èa‘·s&Ûðº2)Þ¶‡: –sÄÚüFX‘7ôÌyÈ,Ø‘ò»\Òg±º»sÂãû u‹ytM§å°§8èÖp¼ÍJ˜aËÌ>wÒŸ–‡m¹ÑJ|4jN:¦GÕ×<óŠ8äNXÔäÕ]³¾¥ÌÍ‹ôj¹õÊ!àx%‰W .ªKöåÎï%Mÿ¸8£[R×¶º–ƒõE\ÿÒnöO¡°Ü8GÕw ×)´£ËrÁB¸p 32ÌuAL˜aù÷ [ø\‹RSÇÚì\bn‡"v×Û©ìh:B rj¨szšewð(¨ÿJ!Â?« ’›¹„VßbX¦å õ%q±Ô]C>'ò»iFÝVSšÝ#³J_'—¢VÍ/àŽ«mr 7ûj¬ÆÜ›9ƒaçÀb¸F(´]@èÓ®Íê{u<,°µJáB>îÕugÝO²A¹¸pШZ×ä7ü›n¢ÜüÈ6׸J7ï.GnRUï҉ȼ'¥š Tw`b0l.-†+a0²¥ÏÕ¤Ð`ã wÄR¹|Ï£,/Àz÷±÷ùµçîml,-çÔÁrc©»Ï&]n|Á›¾È7ŒÜŒR·žÄ=4HŒ=ËëL³€ƒ6ßr¸ ¿§ã¢/Éæ7Æ?w™©&7¾#÷ÀµÂÞ Íëv¥Á°Á·®ƒÁîØ4 g»ÜeÍ2ÿeµ0õZV“‰÷+§äZÀA£ˆ8àXÌ©…åFÊKñ8 @:]Eó×;”“ß‹ñ´ÜKù&7åJcLj³…—Ç®`R,ƒ ¬åhHW"¶¿Z«óÃ7¬]Ò:Fj¾Nqr>[Ä[ ÀAË8\ Ë¥Òö«ˆ¥zËjôë"r£ÁUGÙ<ñÀ Y®„åFa_ËÊök••¹åЖæÒ:¶y€Ã¥³\ÖÏ2£ÂQ@X«Ì팟'Õ½†¥»;ÈÜY [mÀÙ X†i=|Â]eš,7*Ú”w=Oa 8h±-çÏr£óÉ¡åî"¿´FU^òÕ6qzñÏUÚdëuÀAs8dØ-æÔÖr}N”x¡gÚlËÍVyÉo´JOèXv¯ÖÄç„u²œS Ãj¼r­²x<–êþÉeQxOö£U;àåXŽÍ7v‘#hÕ™ýnÌ"Àp%,—Ÿ†ÝU;àh€‡ãT^àRêSÙÝ~^ùlãà» @°wõ\ÿÂŽÔÔQ[o?8jÜ+Þʀζún. Àp-,w„æ`4)¬:Yx –;Kß×µ›YþkÕ\Ëb@U 8dYL(À`]-6>ìKáxfßn(ßM-àÈ‚ÔÝ»åæʼÇК¡h‡ÌÀp-,7ºç‹XPdc•w<Í9Vp)4OK,ˆÎ~fìTÜ€Cö`¸º†;Ÿü)¼ðø"–÷öÙën½-—ŸT—¼¤7Їˋù1.œÁxË0‡ª¤ õ1ióÆ›ÑQG½[3ËFO˱«¾»Ø¦¸Þ*2Ê{>¡-ÆÎÀ&VÜ€ƒf p°–ã4Õ5MÀ }!ÂË€#MD„ç¯g`ënÄ!Ce9§–£‰BN‹Ø&àRÛV+â ¹/Iîqæó8Ûld„-±V0T–ÂU0ØÐe"´i0v<ê.E¶¹e‡ñfõgdkdÀ!û0\ à u!›€ãëªmnG½¼® #Ÿ¯ç#âšØ® —Îbä ž¼a\D, Æš®*Îéé3¶±ÄFÀbÐäÌ)›ÁÂÕÔ“ˆCŒ•fÕŠÂ_°éÌÚID@ø Qr‰($¶)€ƒöp°–›)/rñs& ¿t·àˆö‚üžT/ùÁãɽQ˽Ôãåé–ó®»«ÖÆ¢© öM>––ÑÏlßõtÖí·c‹cœ$ ¶b`Á%J»_EìþQL½û`ߥóèêF¬ÁNE½ù*Ö´³â…*Àáj¹™²=Æ5Gíx¢Ê'ÃÊ`¨V(îÔ“ñN:4ŒxÌæ6âfã ëØùˆIƒ…³ÜôùÅóT(¿³Å#ÄÛ^ ¿øQÜ0ãë}*Ø--GÀ°â°®®_<ñHʯûâ°/ù©wÊÃΘQ¨þËò2¦-_oêÁ 84BQv--úû’MáVD€zIÝ€°=¦ˆ:ààx±,ÛÀ/Üj¼—jÌâ‘;¿ÒáoϪÂd9<® ‡ëa9~Ç-m¯XúùÏñRQ¾@:üòÍúʇçÃþèã—ÁòR~ŘÁàÈùVþ—øûìÈ4RŽnŸ€f*û}º¸ajÃ6gnX–@:±¾‡¿!à`Ÿµ.’ÛmxŒå×­wà×u/?¿á Rw‡±¤‹ö;Ä->?mU—âöYÃáz€ü†q äZÛ¼òë&<„˜Ü•]·i|‹pÜÂqݶôà½nl9<ô«ñEn7Á™üº Wox»ù=g! '†ôbÌpT‡e²yHc–Ù+ìõH‹Áh±1w ÔkÁ`c:-ÞºŸsÇb_‰…ÃÀrŽX›_Ÿò Õ)~~}™C>N¸®Ÿ›oëÑsÛçæ{öÝa08š«a¹1×{ø-¤or»6”]p}ê­ÞOïs‘êËáao9XËI¤|ÈÜ`c‘€o¿‚ž*ïÅkSêÂO±ÍóŒ~u©±>×vt _òöe<Õß]°1¨z8›rðEžÉ-ŠüûÕ?äi„»øÀrx [®«Ñ—üüÚ†™'ó›\‡Ë%9ðF~üÚëÙ–Ãp¸VnÁ?4†ŽrûùuOç•ëû éÿI[ë|yøÐLq»6ààH¬àzp½\Ľ”°ç×–:ø­…¬W&6l¤$~ÃA»Ø%ó^…ìPÃáâüºßPø–¶Çç†jä篬§ [~=åæ{ko«¿ïÒ»3¶–Úp¸®Ü‘ò–ß}„mX®{:W¹· ÂCØEí£þ‹¤™º|ð"åâ‡@Ò¾Wä¡ß•P·jöýuŒ#^˜:F1}ïÊ“yïÏÔW}Fyx‹Löǹå°þ3.?ȯëq1Þ@v)×SÕRmøbKá“`3¿>IŸÕæÃZ p°@jó©ÉéM'[v£^™oÏ>×#;rcL{ÚpP«Ö×{óƳGïŠYܨÙMy¹YHnSöj”wvñåÚboÇ+‡µŸáp=Ü6[»è»ÑÀóóëíLr÷ï,×'»W.û$±mÚ¸ècík m,UÀp<¡'ýgyøöþâÓx÷í‹íûgÞòÎí¨ …yòv”ëVõwTt…ôM.ù¼ªSê‰9žã“Â<#Ó6Üç©-‹A%íbRY¬x"?ä¼›—BScþ¦ž†‘ Ö¥ŠÁE’ Í-9šRRܺ€bú‰é')¦ŸLPZ±¤»ð[\ÙÕ&€ƒÚÓr¸ü ¿îz“ÿ³»ò6¿~ÆàUn;²póI•GoͿߓ]e8¨<-çTÃr-˜üì\r±Ñ‹îtïˆÍ®×ÿâ]»ËVtKsÅ£Z$O¡éN‹ÁZ€Üº-âWÕ—Ó²ë.¾*z­„X®D8˹[ä¾`pÆXÛÊS‹–sÊg¹ÞzR¯YnL7O~¿cîÐùõNÅ[,]3¶ªçÀ®òãêSËaõn9\_îÁÏ®Û6¿¿q¼•ŒÿLcs³Ž–ë' ŽëÜ<¤¾K>•căÆfúžâ`¸tnn‘„æõ¬‘Æz¬ï  ·hóÔ@ÊnT‡­¯ÜFެÔ8Þ#Mž±´'ªåtÜbýÀ¼pû-ÕË?Ô§×É€~Ú{9óØ,šAËá:€üúiï»°üÇϯŸ–/éÜ]ËõÓ÷7}ü™¥¾ÏPŠg‡Ì Àp5,×=–ay™'¬Uö5·Vّбþ}†ÉÄFÊRØ$VÁbíV1i¢Öjú–Y«¨ôÆ•bÃZzö pÐ[×Áb½“dò¦×`kU}Í­ÕUúÃ=Îüƺ¸øE(ÀA[l9\ ‹õsÐÈ+æ¶«+±ÆCÞ²k• .Öo;SR{MÏ9&àÐX<€!ën1§Mlvã¾¾ êþ’_¿í¬'t/« â7kâbÒ8 —Í`ã³¾b­‹¢ ¨wËt:€³Ø¸Wú-»q™±0›ã¾hcp¤F08s g¹~_ô›Øqa²°ÂëwrK£>î‹6G¨aD{c1§–ëâEê¸ÐXÚ`Àõ+~¥M eLŽÔÃ6Çb¸ËÚŽ¦ß,-0àúõ¼Â û§wCT0€½±¨€eú—z‘8.ã–æ×rãnoiÎÇÍÓ/FÄb¸tëÝHjsËû¸¥a\¿ß[êñ­_´>À )´œS itßx,è…÷q › °~½·°À·… ƒ>À›Á1˜S ÃÍWJ„Ñô9%·÷ËÄÊÚPÐ.ª·‘ P¬WÁ³/ص™õöÝþ N:ØbÐØ ×À`ýÁ#š4ØP2°k±> eœxüx&±F26€ƒµ°ÜxñH&ן‹’]Àõdœx ΚĺqÀæXÌ©†åú«G22 ¸þ^”ŒëZn@®6³®#´È2ÈYm 9e—P7Xí42P}YíÒP{dù»¸þZs¢~¿µSVøÍ\úœ4¿€ÃÕ´\{m9^Ïç«Øþв²æÍ$­#C¥Ê£ûf{7¬{’òÈC}KœÀvÐbÐ1ps“U°4Z^®:ØÌºÅ’'S@f¡`]\5®1§ÙŽ‘±6¨€C•°XWíòh…_<é¡ü޶Aû»ØR½]¬ð¥õeiò¦ß× hŽ,†-/à`m‘Xêw‡>€ásò KäWt®{;XáËA³j1\<ÃÅT¯¾’g+P~-EžKAù‘çRL3“Šäg[¶³ޱ¶«–ƒõ°¿m@ü=¿›´V½ eWÕ±ô­HÏr€z?˜ å€YE™¡:ŽúRIÈï,|‰Œ³Žãç"×꩞{ÇhòÆ ¿¹Ø~Ïré°ƒTèæÏè¬÷ÝŸ±lËg€Ë‘o;ùɤ–µ ƒwËMkîÙO€A7p¶:ß+ñ.4_ìí«5”ù¼À~ofaÛ“Ÿ#]›9ŽçU¤yó‡«a¹ë¬Ç„R(û¹(Ë݉W—ùòÎ]ƒZ®^Õ¾L‰uËÖ:­2à ›b¹1”çÛA~#ò$Îý?ÔCy=w[wì¨å°Û`9X>Àu ùš_w/ä €k36Ù|‘ßæ û¹uè –ÎrýEu¹þ²£ÿ•«Wº_²£ '}yèؽujý»}ܹoîÀÎaï䇪k°n–¥Kˆ²#7™þ.–ÉPvñþ˜;G•T‹ü¶ñ¾êöùuò[‹aßÂãTe-×÷·×½Xêø€kfT‰M¤¬óÏM&»(=kk0ìY8˜¬ƒ¡ŽÈ‡˜~h$<ƒ‘ææN,ö–ìâ Ì\¶–úà·­žM¶ô+,+a¹œîêIOpÍó¹›÷ÈO'wØQ>I4}0ß* ; ƒ•0Ø™ùhä D¹ØqÔ¦“Þ±Á®ë8ìA¼Ž]¡wÉ×1”"t, g¹ëæ üOŽÛCX»ÚN8úÏZ(ÜÍ'9u¤°%ް›ë} ;G67TCÞÉKha¿°`‰eª¨Å^ÃøÉ¹lñJ­—¥³¿°æ¸OÃe3ØC∯¹=ìü=ßÑX ¼jvü¤IÖ'Mÿ^^];ÀÁÒY.Å\ÃŽrqp)× _âK÷o;®z­ü«Xþ¢åTÕàWÅMoŽƒ¥1ÇŸ4¹‘5n×î÷¼Y¬{‰ò²ºç>Ûóú6ì8yÃ¥3ÜðÌäõm(¿æ<Ç@£%}‘ÛÃ<ò–¼á­ëÛ‡ÈbØM´ªâHïó…iÊ=µ\ªµËÛï×âìò6½„ÙnƒÃŽåpù@~…wÈ©ëרãS¯N "än9ò(8À,.É\wÙªõfÒQß.Ú®uîå  0T[ µð"¯¹uGQÎSã‘ÙšîN6öÚ,‡ýSÀ¡â±O}û¯Ð§ÛÝ,P<öîÔ¼ `Í©”aü˜Ïú\ÏØáåzm–ÃN*à`5,w¦&x |TѬO}#®\u"HÞìæß¹g½Tîm'eÏ;ßúTÈuñ,‡½Y¬¯å.~Jæç¢VÜ|€Å³6³¸Ç q¤¸“ÊÏÑ}˜áú»Î à K 8T ‹•öÙËÝïüU›:Q~¹Ún¹¤Cj„76îqæ'ñf3=õ5\ dƹ×ËÑaóÃ.¦å / ²ƒÍªÁõÕR 7ŒúÆ™®êzr5žj&¯ûÜB`€#‡¯­8Ó~G!à8]ô †Ãn+à ë óCõM¼»#Ò¯sßa™8KJCöRÀOŸ¤ÖóD;ê:/Ó_³ÃÍ‚8ä.[»ó™/¾âMõGßñ“23êV9mÎ!à®ÄÝXwòRÕ—_³ÿÆáv±tû¯«êªtÆq·Ú}°ÎÈ×½iR€±!¥FÎaSô(7ö O=‰°®¬åð¤„í+÷ÑuÀ:uš"·`ޝ /?‰ŸŸšv`|Fú1S5Ã%öõx•è(ûíj–ÃÍb9<·ê1òu+¾3A°žYn¤ˆ[û׏學c6µn§Ç½åðpm&/íÈzxãûs5Ú2µ¼Ÿš£>´n±w<Ëá àH§œúÒ~ĵÝIïÜ_ëÑÖŸå­ø#°½Ý.ßcÓê–zÀs•=€þ*O› Gñ“ôd2ݹÀ@ÓŒr¹½Åðüp¯Îrç)ŸoÙ•¦ÏÞ°¿ÕÁ™!Úº¼Aa.ãé õjº§¤ê¶¹n¿åð4pÇÝ4¢ßŽWZ_¡¿V‚L Ùw¹RÏÈS…mט¥P÷??«²–ësˆWîÏrᜠÈ-¡6²Ø‡Fsø›÷`¬½âÄîùê9Ë]|—]zçþ*O†@~pîg¹;Ť’ê~¸oï‹™7õƒªôöˆ!àúìà•û³\<2œ3ù³åk ¹3p8Ûk'} ì j3ŸåœÙ•åºÛ/oøGùÝ÷Ǽ€òû[=ð,qxïc¿~õ[[˜J^±n9<½²\¼ª™SoR€üЬqè{ îbçÆ¼…‘ë¾"qÅ:_šôs“:Úæ–ÃÓ+ß]¯’šÄåð´È…ßpWxÚýyÅñF÷¼ÔOW©›ìÛæ§ OÁ ÆÙÐP¯— ÎK­Lø¹ v²šÈZ&7âsíW[?W=œ#_.ÍoøãËe98›³ž“~ËñÞóµ ¹ØÃáÑ+åñzB`%•ª?µxðºñ±ß¿n8<ýBj=À¡IîÁwÀ’¶ŽVÇS}½B³°uS®Åør½‹ïê ÛiƒSWÀñec%½JÅmLJøÉ‰É¤3þôOlfY˜)ËeޛËÂòf[—“Sk ÷<«zz“‹[ÏbhBŸs Ûý 9”fåÅÕ â~'`K lHËmþóš•¶WÛA&ù¨bú”wúÑbsj'Þ@E\ŸRŠ·÷‚x"1"&ØÁ“p™÷6ïÔZlF&¶:õoÿŽQß«OM‹7t7â&âß9Ýîmø;PéZpc.,žnE\Ÿ€«—ei|¹.§ –Ã)Åë•:u‹ñýÔçír3N$žHná…ÞµQX¨oaÔp ê³oñ4²aú|Ÿ霯s«"øò§"Œ†s"‘RŠÛ¯TêŠ0F¾å{õÀµmäg%×8ïq½Ñ é ×Ǿ3n9Ü~†²È/mtX®EȤ9S…ñÅzœX6•¿[ÉÔØŒüZé­·¿l\ Ó0‰«#<Ù[¥Ô£ÀêÕz‹Æ³TÞE~&a½çb±‹Ë#”OZûOd1<‰.¦ŸÂ6ŽËJ!^gÒ©+|ù‡ÛçF˜<žGZF|î3èm°Â¨ªU÷Äúõåç²hbÝuD«ÌTQ\¡€kÁÊÈ/0¬çE-×£•‘_"*‹“RÜØ²åp˜wo·²‚XýÔ—h8¥V"Vhœzè|\_‚ SxV(X¶åŠ?«Ö\ªkbªA,‡¿ª’âæg¹奡³Ý{ ¸å% s~Ž5VRÜx»åpŒ\ÕnæãÅ—ÔùX_ ‰|Õþ4wºrn5,׃ädÐé/_¸¾ ùråõ9””…V½ p'°;:uEÓ߸ÄûôyG*Ÿ–âåg¹‰Ž×µ-¨ ®¶#¿·öPe¶ñJ‰ÅÐR„®Ú õÇ’ÒrUÖÖS"_‚9g"ªÀkA@ÔÀRéª÷©v³l6)ÂÍÍ`=Œù6ìíA<ƒµ¨¼t)µ oéÃbp­BUl­ßD>,T²Ë%’ȑڵf Ê¼Ö4T-,ÇÏ;d=AGl<%ÅÍÏpc!¾Ž"}áÚ‚EäG«f|CKq×p,‡×\Tíüv6\[t‰–clV®§ŽµñÎÕÁ6±ÜØ’™øÞÙÆ€ƒeÛKò*³§zßA§öоB#EtñSR©xµÊBpÝK¯x«€ÇÜxtŸ>†ƒõ*Ôÿwn7‹é¾––@ Tk)^5dâZéâ×£×QCõSŽ‘]‘HZwƒè€kGÒ"¿Ÿƒ‘`%Äo:™ú;OþIÕrs‹¬,žŠ^{ÅX;j&=1ÀáÀ«â6žJýçãq—¥š×MF^d_;õd°Ø-ÅÚ‰´È¯Õ­¥ ƒá ¦’á¶JÝ–òÖ’'àFkæ¶åŠu˸v$M©,‡ƒ†JŠÛ|*õw$”êpýf¨Èï2og¾d¨Ó-ŸåFüäó>†crJˆÛ|*õwž$”aÀõk,"?¾v%ªH¢[>ÀÕ£f‘ÔÚBêƒ1/-Äm=‘ø;ýE~”t;ög0Ø&*LçÎrý`X䧸Öа -i)nÛ‰Äßy8õÞ›Ncýn‡ÈþÑì(:æÆ½×6nJ±–ƒ±-Äo;™ºÅÈoú´Ûš€áFÔ\NÊUÀÆ ÍX¬oÛ”b‡c Rˆ×x:õwÑ‹|]uù•R8c᳋3´ ã!né ÖOŽ‘Ôó†ãJ†ßv2u¨‹ÏVôÆÚÅáFÑQ·|–ëgÌ"»r[üÆphޝ…ø­'S÷sw|èØÇÆqDv²âÚZ)Â^á,ÕΗ%¾âxEI çÛJ„Ûp*uÅ\•TË¡Ñó9gæ¦Ý9ªJuëªRݦS©ne-×ð©yê>_sw$ªTwË¡áp @Ma¼ÙŠÅú-u4xÖ—°œ hûôr_ö·ÜzÔb_vÕ¿þ;7÷ÊjØüúUŠÊWS"wòc¸~›ù`Û#C³ -Äý*u]A(dÀ³£Ôi>ÛŒUL‰ÜÉ寴|n/È Î/”·õDâï¼F. ¬Ï`¥7«¦Dná,7..ççA×ÅQ€ƒ“ %Åo<™ºqÒ³´\¿¼PºÑjFäÏrý²:ò1㊓!N.”¿ùdêÆñ»©kÎe¹qøóäíßëú9Kp'€ë³SáK®_SùIÜíŽ[)Åm•ê·³LýgVÉ?<¶}VÁ‚‹úE1Sô^9¿†ë· Ê08âPñ”ßy£^¼Ï´o;²šÙèiÑ¿àúõv‘ïò?| Î0´¿2µNZsý…´Ã \®w~LhVÔ¼È-Ÿåú]x‘#´‡ÙµqhŽ¡¥¸Í'·ÁÏÆ¬Ë¨,V/_Œü@ÕÒ{jà–ÍpxŠ¡ý¥MDêï¼ãF:{€›÷/žyíŒÓ¥ùWú)çÑpΤ@¹žîÃ`ÐU?v¥ªT¯:Õm=Ëõ eñ´Ûæ9h–OA(ÈrÈÒBÖcôÃsY Àõ+¶åRþõ¿àfʾ®¸ö$‰ k/Щ-ÀÆ:‰ð ,‡]*%Äÿ2õw¼#BʯlKOÃm¢½@×á\O9©S¬+«‡*%Äo<™ºùòÂÜhN¹¥Py^ñ,6uHC8èOI!¯×S·q^÷fÑ ‡[E;nñ,ן–ˆw(۪ࠟ¤¤øÍ'S딩>cEùÝàäÍÆõóMWÌûJô²\wÏ`ý ¹š 8ì`H!n«¨Ô/­,R¹õ¨3sèXúI€k¤¨ü”÷äVÃrõ„¿-·N~Xú!J‚ÛÄ*õw¾Ùèl‹O–k/©¨ø¯ò¼â¬=V‘³o0·tW”Ür{ÒïZµä;i=·…ò ÜBYz ú×~cÈÔßñ8Ê+Ö ‘bµ=r¬±Å ½S¿]oIŧöóê·Çúc¢ªhÏAKK¬ªÅÎ}¾š’ãÒ…›Q@Ñ?þ;7ž }å`eµ”-vÉ{ æ„pØ`+èš:Ëñ¦eý0 6#Z‚W6êÖU¥n¾Øy\«?®?íªÛDI×®=KF"lšÉrØ()¨÷”õ,©\º”Ìœ 𞻸<0iòÜ2YnÔFŸVá7˜LÝ:¥\{µÜè22¤ŠŒ g¡þ†h,d·»Ë57¯à—Ê·ƒÖ›ˆßù¸¦²5 ÂFWš2×n š›Ys:o.Únr“"ܲ©T¿¢2õwÔOŸÎK_¸1§^½o]Uska0h*õç3¡‰Ï·?Úßß8X ½&æ­~YÜÍ |‰áí©"¼Ìtªw‹‰Å൤º$ÞÝ)C›¹µeô,¾å°íÕ¿¦ü¨>õ‘v±Ä¸þ¨z<ò½º“þõ¿àrQáÀWÛÍ*V½t͸Møðoþ!c8/`µ¶Ú‚þ n¸c'ßû}Ú%-Å«‡N%ŽœŽÊ÷½æ¢€#ß´pä&÷ÒcÚ’zåõçŠj2j¹ñÔx¼ø9Ÿõž”â¶ŸJå>u·¥¦=r0rŠkäF¸LºÐnñ 7ÕÍOð¸Ø+bÅC ÙVÊù³lºkvíü nÄï¸cÞÆ3]´íZŠWºi þRS³ŽTÖUêÞ£¸½q¡<×÷°Ü[¯çl.ÍAk«…¸Í§R·€2·Øú–˼]„%ðÍv+,%Œ°ï3n¤H3o¸‡¬ kWeæ•Ï‘‰^ëTÖ,¤Óù1S±˜8Øxºn^-têê£j1ÃçD~»mò¬bHCÔQ,.eP ÔÆZ—ÿ .•ú<¦Ü[ 8¨µ·*õ÷Ÿ‹úm; u._ag‹.ˆÜ¤&w g°ñ D°Ùbô©S©É«–á6J]U=é/sqa½ª"7Ud·t†RÅLaMªl%£;ZÂÒš0eÿþŽÑ8©Ocñ÷YÑ7a½¯eÀ äÝ^Žæâï2okÒHk*ið•}òJd¹Ù¡øÉ3ëo®üª×B¼öÒ©T òkPçC ¢5±§s-7<úÄ+OÓ‚ü .ÕR¼V‘‰^ëÔ­QÞ¸Þ(ÂyÐf­„JõE§®â½r½xÏUVOͽ¿†Âw˜ Ms•çð°2޲·T~zäwW”~f’ˆâíù6Wë¹d#¦¢ûwŒÆx8N5s\Žm– |eNÜšjjd&4½›™¢„÷¨TâHMµNûqÀ¥ÔgÙ»·¢L˜[8M¡.ª=íæ¥(!Àm5•J\HM‹Ù%âH«Ç[y*Z';Ú`£}…2÷³zKÉxi’eaóÊÄßxz^ãÂʬoÕÛ­½ò[l´®Pã~vBO*nãªTªÎl >ணíß#Zµ{…ó097±ØùäOá%Va:” ·åT*eÇÛåx"/Ì=àRhަXæVeöJ§SÿÉ%×è4¨€{R]Å“3E­o]Íj¹1¬E\pX)í÷wŽ·%WÿUÄð@~X()n=TêÖEÅ*àHŸUç_·ÖJÐ-Ÿáx{uoŠà ºPB¼æÓ©ÜKK»dÐìxú,w‚k ç”`clˆ(à¾P2¼¦Ó©<„JÛ3)³–ã»—ÎPÔR°Öq^é 6F®ŒóìF‹8Ÿâ¶Jåu¡³9SÂJŽœ®ÃL“u¡½âYŽ5BæƒbÝÕr<¾jØ^x-…ëAÙðžr7´Ö·Z[ÿc´ªšT¸ZŠWÊë~¥ªtié÷µ× —p#Eñ3ÜAÃï2¡C-Åk?Ê£»Í»E¤pùnA,­ëR{åÓ©¼<ÖeYß/œÈOÿú•[ù=©Þ¶"Ò–‹g¬ÚP.Oë9©7ý4˜óªÈ¾´!…x‹¶Úxzfp¡´;hÄÎ*ÀaC¤¤l6aßk°î?ÉUVõã¿cõ²‹}«œEf¾mMYa·šã­Õ‰[M867lД ÷#¨ÔÍ¢‰ÛK-7åŠ5vm†½òYŽïu«s§}{À EÓB¼ÖÓ©›¦ÛÛ,Ç­Qbyg–²Ã®Å5{æµ»ŠN ?hIµ¯ùdbµŸðá,FC³úˆbº¯—g¦Ç÷}›=b€ƒf@KqE¥z¬Sëµ£­›‰½n–›õÛ嵑sëa8l.wÍA{¨´·U*çw׸t䏸ãc°Yt¡½âY[=ýëÅE^_·ÏZ®¤Ö1äÖ2%…—kƒÞf(S§¾ÉÜ8+SýrËKn<´\j›ÝnŒ\»#™©®÷£a#Uº4ç¦_+Á€;Ö¥ATRÜ:¨TÎïîÞöû7J"®GÐ¥öÊg9Ž´ç¢¾6¿aKD ]KáüB›ù‹3Z–öI[¶¿sG:šó NKš -Å«‡NÝäŠ+ÇJq¿y¾6m®3_ÊQ½8,òÃÚ_Iq›O¥ò…¾¥;-ÛQ8‹áVQ*ÜUÖÃ:Çbgî;©÷Ì”·ITª×Ä:µžŠn}G¬GŽü¤êÿÈC ªnN5f¬úáÊIä3gÄñɹ֦–ý9˜ÆàÓZ³¹:Ìpsô òúIIÙükqEŽåfLE!Ö¿þ;7µŸ¸p£$âÊ­¡½úZn:e"Ä 8¤›´ïsèTx¤¶!D|^ËMßW4ŸÒ0®.ÑØ^Âàù˜…Z†§¯e¢ÛÂ*•GF[Í—¾UZ¼a 4ŒW ËA €°î rœs-Ämc•Ê'Є;×]ëÛE?€£ÖöŠXYh¯x3ŠLÿpÏJÜÓj9ÎK0ZºïìÎ{?WþÚ?×ràŠ~­cðÉ™‹Í¦Û1Ý!¼ÂYVÀ‘KžÀsNRŠßx2uWû{퀛͹sºÔ^ùgº§þåÖ&òÍkÃÍVœvo×e¿4q 1}®Ýœœ3¯WÍÙ‰ò‚Ý'© öÇÜÚ=ÌùâËbÖw"¼÷­¤//KÁæ¿]÷Aï‹z\¬ß¬}ÒøY˜MÞÀÜ0µ<ýËø×“ÃSwëÁ ë(^—¶Ür<ýÃjÁ9õP©›ãÈ|^Üp`Â6[•Ú-Ÿá†ùaÛV °áª„¸¯7)!›é 4wIå ‡Æ¬ñçª>ycfÊþ2²–àÖA¥.F½aj¹î`°¢Y÷}ï%öʦS[=Ÿ³’7ºu1=Erºƒy] pc¨ÂkÍÆpÓËä„f®Ûýwn¬öȧz7" â…e-eÍNùÕÀ-àa9Ø×Õ@ù36¦yßç`¼æ…ÁN¢e¸•P©KßÉN`¹¡QŸ›oÐÒSâѵ½òYnÌ¥…²ì£Zˆ×z:u­ž<1~®õ¸«åzÌB¾:º*¯l:Õ©ªJ\¹•ƒ¯yM6š¨Gp­ §^g\ÜÏÍo¨\>¿¿î=çF<ýI‡¸AÅpðCh)n=TêÚ´üd~æOoRÚ¸î¨ò©îã•p=X^®"¢£šÁ£ÂÈÎ;4´·ýTêZ g¯.ëE…e2 |’þŸ´µÞf3 íÏpcE¢„¸9€ëЦü8Ý-eÙ÷Âý=—ÏÁá¡ÇÖß9ñjDZ¦§Ü7ïÔºlHpë Rwa뢀ë‹C7ßм=^˦SçJËUîíê{C¥éùÁzEÏ ×ož–›^ÇÛÉü>tëœxθþÏ™Ón£,gGÃ/T«Âøb ‡gHê×ë !~ri€ko2e{X Ù¯ëH ÀàGÓêÒSŒ–«ËÒ®ïzøá兩•”åå E0¨Èta<±:umôz2ï¨;|.qï9•c¡´¯«g56œMj*ênnX{j^ÛÉÄÕ$jÿƒÆøªt3ßÖ¿6]H…ïp=åæ=‹Oq9¬î´¿ídêÚÖ Õ1àúÜZ>ä•´W>Àõ‰ßEíG½Ëç ²UBÞšo¤®ÏA¶hï –ë¾´>Ò>8…Ó›¢+³žq‰öï“þ³&)*o¿Ådêrî/>3ºTåzØâÊÛVæ½°NÁTâÚÙ%_Þ2ØØêuú[8NX!×Þ¨T¶#¥^ð)9­¨<•¤S—ŠS*ÓrP?èTOAXËÕ¿fK’êÅ6%Åí³Zh-e>y"·ÿésýx‹ôuµOAXΩ‡úõšÊ÷(â2šÃ#UKYç*Õ÷°\?À¢¢Òž\ËõŋNJhƒìÐhÔ2ÜVQ©óî}ñµæ·õîx§{³ëZƒx¥³X?¸@èæg[nì甊E qšN%®¹ìÅ;à§ê·X?¹rñ ïk!M•Ø-›áƉ™³œûÜÎr}’~òÃ:ë©N%e©m©E-‡Õ¨ÖÁçXãÏñIáö™žrð;¤ÛÛªR‚WºÆÏ|–îÜu×¹W¦Þ¼LÞ^b¯l:u;RŽ=–e¸qÚCå§~ýw®mh;·‹o3¢Ò‚ÓÖñžã:7§p-^*¯Ú â‰Ô©ÛI¡„q7\?jÓµ5‡62ž9Ñ©ëf)²œ£ÖUª§Ö-çÈU¿^W!Ü…ÿ¢oRÄZȺºHÌMÖo `§i X%ÃSëÃuP?^.ÊøèrXk)똛=¸ð…ëP(c§¤xªÝr¸ú×ë0ÿE_qµ²å° ÐRVŸ’“Ëõ;(„‘Õ2<ƒb9§ê×+F~ò¡„Í~j+m-eÝPtr\fjÀõ±wò;wÛB””âËázè_¯0ÀQžÍµV¶Zʺ¦(“˼‡‚ ×uC¦þ³Å¾•Gy[Ì©†ü±§¿ 6nFHüÌ^Ð *CWâü<ôQHÛ°i:â¶£^Å“j9l\ô¯±›×Jä{ÓSZȺôAеÜHQwÍ«_ÿ›}çœ.o“!½r–¯!R‹õgë¯xˆˆ«áàÌpù®½ì!ßuõdUW¬Áp˜ÌNidO÷ÊÄuYü †U Lô4 ¦¾Š\êt\Ï®sSÔ[Zĺx^X]€‘#ÉA|9¹–"°4Ð×òO…:Ê¥ò’TY:ÿõà€t@×nW¾€â¨@C}«ÀR§|»ÎH!P[©Ü×uâÒUX{ƒH™v)ÂÑ}†B…¿[Mª2RTÏ9óÞë;æÝîŒ;ý…{ ‘v³¾4語0MÛü¥©X»ì^ÙV)b}¥`5æèa•ê(D‹}•:~ìéMýãõÞ´é€ëWÝK#¬„li)u­¹ÑíÄLNÿøÏؼÖ_ØkÀg|„ SÚÒÑ‹*q:µÖS*ÕÓS€Ãbկ׳\2ˆ 8¬c”j»P‘Èø4Àú“qg-ÄÓY€ÃÕP¿^¯rɦå°ÊQBÖ°aqÀõçÐd[ qµ˜ÆœJ¨¯'ÍdpPßi)ë9V\ M²µOÖCÿz[ÂTfZÊz–Uú€ëÏœI{¨¥8Ê`¸òÇëí.Á4Øx£Dõ´~¢6p°Izë/«Éð.Š#Õb1DêÛI§×8“Ád%d½Ü%¢Ãv@§zvÀrŽXõëõÀ—ÊÏp³Ù…=ÓR¸U.~þSź×BAl]W®áÆÓe²>§¶æªHd9Öz¨€²åð&TNõ§Ê0y&È`Ã=}ln] Ê}HZŒ§íèûw‡-‹*Œ+W¥²Í5˜*÷q®ëx¹?K—Ƴh€ÃõU¿^O‚KÿÂrŽ RRÜzX®÷ù’ùÒÆ)WIqmšáœz¨_·'ÁåÎÀ@û£%¬'ëe_\îR~3-ųg€3uп\/ƒË=M–ƒög°lÜ2&™{ñræ­òv­˜Æœ²«¯§Ôå¾Ä!k§¥¬gêÕÖR‹ÝõÚPé-j!žñDª†þõz\mݱ4OZÊz±^í“ÑÛlÉRRY-B YMm]\;8œŸüõRéÒ½ò9¥ú•§¶*±º™Ç£¾Æ`ä]R¡Äæ ]×ÜX VUþxéþ;oÏ º”²J ½ÚŒkïr#ëÁ›KÕJˆop,‡*¡~\uÝ"{ñœu³›–ƒvIÈX…S l°ƒÔ$w.±F‰pœÅ`ÔYµ§»oéGÛ)…å^¹NL©Ï®hàz~r«¥¸& p°ê×õà5Õ¤šÅm:‰¸D~~´k}3%„ÅÞ|Z‚À±Ýq¸ó8jH¿TÆk±+ÔËDäÎnÄ]W‹ îá%„±›~rÜ^•µ´ÚÚæÿ ®ðvH^| ûýV–»oÒS7‡h)^-d"ç–#M¶T!kJ¹Ëx.±[6ËÁø àÊÃË=?™|ƒÑR8?2‡¾Mp%ðv6í¹©_ÿÃëq€sâN26T9žë8[8y¡r w8ñ.ÃÅ'ñ"·¾ÛpÔ­Í~H..Ÿ,/×r(¾§Íß#W×N†mØÛÓû”ƒèº‚*•=ßÐoÈÜïXôe¢ë  U?®‹$5 *ïDr£´”å¾Ë‹'×õHu¤-$#¤x~ÀP5Ô#ëÁ÷wˆÆ³ù`sc𖱂^ò¶KËQµë«ò:I]_®áú⊼Ùæw´)n'URjD†wªÛL‘èú—ƒ2Õo97šз‘2ýA)c•í¡öÛ,•ÅZnrެe¸î¥å`%Ôk<ƒ]ÍŸB_m÷-ýA)į…Æš›+çÑZ„ë\ZWBýºzeÌ.-‡½A%e5ŠÜq¸œŽÚwäSR\ïp°ê×5ŽÃ·j_|#ÜRÃ^¨ÂbÏ£ži'wQƒrˆ½´׫ª†ú±gC‡=G!ƒ…’ã%û”Áî‹w4«ÍºJ„ë‡Z VAýØu?,‡ÝP%ÅwS¤³ëæg8ì6ê_{õÐÎé—åOÍÁíc2ѽwR¥z÷NjoÃó+t*q4nbÖw·šxê™xËa¹ú׿sÕIÞU8ä twp]UÿÐ ©»îÅùëáXyƒ¿Åpã)\¸œxÜÊ‹ê‡*« ã7žl×ï±ndõëß¹ì$oGåÃ+Þbf£[áwnf‘í‚8Ü ä¯W¸QÝ’8\ùëß¶4¦2άˆ»ïÓÁwïð-ŸÛcÈ"'í«ÜÝÆU©nvƒ® ò™<÷Èb8;ùcÎíàePê3Y¬Z :3²1«_ÙÔ¤h]K¡‘?­%ã]纯 U@Šð›CVËõÆ,‡Åª_s~d•øU±z„¸rÕU R$[L]µÁo[ÜSM üQ·ŸÖ’•¦ºóùÙjª!X|ùÓåtªÌ,‡óS¿æüHEð­ê‰ À…úaÄÆ!-Åm^•êçg9ìíÊRWe2õ0–«~Í%}ÙªB÷UAÄ¥X#r¼*)~=dªïµËTW®å°­j·\cU_Ëa¹ê×ËG•!AÄÝ|†Km\ÓRü‰€Lõg2Õ—k9è“«Úy!PÀa¹ê×^¨TÿÚ+ßþçÿ›Aülendstream endobj 6 0 obj 19876 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 9 0 obj <> endobj 10 0 obj <> endobj 8 0 obj <> endobj 2 0 obj <>endobj xref 0 11 0000000000 65535 f 0000020200 00000 n 0000020412 00000 n 0000020141 00000 n 0000019982 00000 n 0000000015 00000 n 0000019961 00000 n 0000020248 00000 n 0000020348 00000 n 0000020289 00000 n 0000020318 00000 n trailer << /Size 11 /Root 1 0 R /Info 2 0 R /ID [(”MzUq”]-ÒFv^ëœ)(”MzUq”]-ÒFv^ëœ)] >> startxref 20546 %%EOF sparskit-2.0.0/DOC/paper.tex0000640000265600020320000027004210213316630014727 0ustar tilleaadmin%\documentstyle[12pt]{article} \documentclass[12pt]{article} \usepackage{graphicx} %% page lay-out / RUNNING HEAD \pagestyle{myheadings} \markright{\underline{SPARSKIT \hskip 5.3in} \hskip -1.0in} \setlength{\headheight}{0.3in} \setlength{\headsep}{0.3in} %% \setlength{\textheight}{8.7in} \setlength{\textwidth}{6.2in} \setlength{\oddsidemargin}{0.2in} % \setlength{\evensidemargin}{0.2in} % \setlength{\parindent}{0.2in} % \setlength{\topmargin}{-0.3in} %% %% abstract redefinition. \def\@abssec#1{\vspace{.5in}\footnotesize \parindent 0.2in {\bf #1. }\ignorespaces} \def\abstract{\@abssec{Abstract}} %% \setcounter{secnumdepth}{5} \setcounter{tocdepth}{5} %% a few macros \def\half{{1\over2}}% \def\del{\partial} % \def\nref#1{(\ref{#1})} %% more macros: for indented boxes. \def\marg#1{\parbox[b]{1.3in}{\bf #1}} \def\disp#1{\parbox[t]{4.62in}{#1} \vskip 0.2in } %% %\input{psfig} \title{ \parbox{4in}{SPARSKIT: a basic tool kit for sparse matrix computations } } \author{\parbox{4in}{VERSION 2\\Youcef Saad\thanks{ Work done partly at CSRD, university of Illinois and partly at RIACS (NASA Ames Research Center). Current address: Computer Science Dept., University of Minnesota, Minneapolis, MN 55455. This work was supported in part by the NAS Systems Division, via Cooperative Agreement NCC 2-387 between NASA and the University Space Research Association (USRA) and in part by the Department of Energy under grant DE-FG02-85ER25001.}}} \date{ } \begin{document} \bibliographystyle{plain} %\bibliographystyle{SIAM} \maketitle \vskip 1.5in \centerline{{\it June 6, 1994} } %\centerline{{\it May 21, 1990} } %\centerline{{\it Updated June 5, 1993 --- Version 2} } \thispagestyle{empty} \begin{abstract} This paper presents the main features of a tool package for manipulating and working with sparse matrices. One of the goals of the package is to provide basic tools to facilitate exchange of software and data between researchers in sparse matrix computations. Our starting point is the Harwell/Boeing collection of matrices for which we provide a number of tools. Among other things the package provides programs for converting data structures, printing simple statistics on a matrix, plotting a matrix profile, performing basic linear algebra operations with sparse matrices and so on. \end{abstract} \newpage \section{Introduction} Research on sparse matrix techniques has become increasingly complex, and this trend is likely to accentuate if only because of the growing need to design efficient sparse matrix algorithms for modern supercomputers. While there are a number of packages and `user friendly' tools, for performing computations with small dense matrices there is a lack of any similar tool or in fact of any general-purpose libraries for working with sparse matrices. Yet a collection of a few basic programs to perform some elementary and common tasks may be very useful in reducing the typical time to implement and test sparse matrix algorithms. That a common set of routines shared among researchers does not yet exist for sparse matrix computation is rather surprising. Consider the contrasting situation in dense matrix computations. The Linpack and Eispack packages developed in the 70's have been of tremendous help in various areas of scientific computing. One might speculate on the number of hours of programming efforts saved worldwide thanks to the widespread availability of these packages. In contrast, it is often the case that researchers in sparse matrix computation code their own subroutine for such things as converting the storage mode of a matrix or for reordering a matrix according to a certain permutation. One of the reasons for this situation might be the absence of any standard for sparse matrix computations. For instance, the number of different data structures used to store sparse matrices in various applications is staggering. For the same basic data structure there often exist a large number of variations in use. As sparse matrix computation technology is maturing there is a desperate need for some standard for the basic storage schemes and possibly, although this is more controversial, for the basic linear algebra operations. An important example where a package such as SPARSKIT can be helpful is for exchanging matrices for research or other purposes. In this situation, one must often translate the matrix from some initial data structure in which it is generated, into a different desired data structure. One way around this difficulty is to restrict the number of schemes that can be used and set some standards. However, this is not enough because often the data structures are chosen for their efficiency and convenience, and it is not reasonable to ask practitioners to abandon their favorite storage schemes. What is needed is a large set of programs to translate one data structure into another. In the same vein, subroutines that generate test matrices would be extremely valuable since they would allow users to have access to a large number of matrices without the burden of actually passing large sets of data. A useful collection of sparse matrices known as the Harwell/Boeing collection, which is publically available \cite{Duff-HB}, has been widely used in recent years for testing and comparison purposes. Because of the importance of this collection many of the tools in SPARSKIT can be considered as companion tools to it. For example, SPARSKIT supplies simple routines to create a Harwell/Boeing (H/B) file from a matrix in any format, tools for creating pic files in order to plot a H/B matrix, a few routines that will deliver statistics for any H/B matrix, etc.. However, SPARSKIT is not limited to being a set of tools to work with H/B matrices. Since one of our main motivations is research on iterative methods, we provide numerous subroutines that may help researchers in this specific area. SPARSKIT will hopefully be an evolving package that will benefit from contributions from other researchers. This report is a succinct description of the package in this release. \begin{figure}[h] %\special{psfile=dir.eps vscale = 75 hscale = 75 hoffset =0 voffset= -30} \includegraphics[width=15cm]{dir} \caption {General organization of SPARSKIT.} \label{organization} %\vskip 0.1cm \end{figure} \section{Data structures for sparse matrices and the conversion routines} One of the difficulties in sparse matrix computations is the variety of types of matrices that are encountered in practical applications. The purpose of each of these schemes is to gain efficiency both in terms of memory utilization and arithmetic operations. As a result many different ways of storing sparse matrices have been devised to take advantage of the structure of the matrices or the specificity of the problem from which they arise. For example if it is known that a matrix consists of a few diagonals one may simply store these diagonals as vectors and the offsets of each diagonal with respect to the main diagonal. If the matrix is not regularly structured, then one of the most common storage schemes in use today is what we refer to in SPARSKIT as the Compressed Sparse Row (CSR) scheme. In this scheme all the nonzero entries are stored row by row in a one-dimensional real array $A$ together with an array $JA$ containing their column indices and a pointer array which contains the addresses in $A$ and $JA$ of the beginning of each row. The order of the elements within each row does not matter. Also of importance because of its simplicity is the coordinate storage scheme in which the nonzero entries of $A$ are stored in any order together with their row and column indices. Many of the other existing schemes are specialized to some extent. The reader is referred to the book by Duff et al. \cite{Duff-book} for more details. \subsection{Storage Formats} Currently, the conversion routines of SPARSKIT can handle thirteen different storage formats. These include some of the most commonly used schemes but they are by no means exhaustive. We found it particularly useful to have all these storage modes when trying to extract a matrix from someone else's application code in order, for example, to analyze it with the tools described in the next sections or, more commonly, to try a given solution method which requires a different data structure than the one originally used in the application. Often the matrix is stored in one of these modes or a variant that is very close to it. We hope to add many more conversion routines as SPARSKIT evolves. In this section we describe in detail the storage schemes that are handled in the FORMATS module. For convenience we have decided to label by a three character name each format used. We start by listing the formats and then describe them in detail in separate subsections (except for the dense format which needs no detailed description). \begin{description} \item{{\bf DNS}} Dense format \item{{\bf BND}} Linpack Banded format \item{{\bf CSR}} Compressed Sparse Row format \item{{\bf CSC}} Compressed Sparse Column format \item{{\bf COO}} Coordinate format \item{{\bf ELL}} Ellpack-Itpack generalized diagonal format \item{{\bf DIA}} Diagonal format \item{{\bf BSR}} Block Sparse Row format \item{{\bf MSR}} Modified Compressed Sparse Row format \item{{\bf SSK}} Symmetric Skyline format \item{{\bf NSK}} Nonsymmetric Skyline format \item{{\bf LNK}} Linked list storage format \item{{\bf JAD}} The Jagged Diagonal format \item{{\bf SSS}} The Symmetric Sparse Skyline format \item{{\bf USS}} The Unsymmetric Sparse Skyline format \item{{\bf VBR}} Variable Block Row format \end{description} In the following sections we denote by $A$ the matrix under consideration and by $N$ its row dimension and $NNZ$ the number of its nonzero elements. \subsubsection{Compressed Sparse Row and related formats (CSR, CSC and MSR)} The Compressed Sparse Row format is the basic format used in SPARSKIT. Its data structure consists of three arrays. \begin{itemize} \item A real array $A$ containing the real values $a_{ij}$ stored row by row, from row 1 to $N$. The length of $A$ is NNZ. \item An integer array $JA$ containing the column indices of the elements $a_{ij}$ as stored in the array $A$. The length of $JA$ is NNZ. \item An integer array $IA$ containing the pointers to the beginning of each row in the arrays $A$ and $JA$. Thus the content of $IA(i)$ is the position in arrays $A$ and $JA$ where the $i$-th row starts. The length of $IA$ is $N+1$ with $IA(N+1)$ containing the number $IA(1)+NNZ$, i.e., the address in $A$ and $JA$ of the beginning of a fictitious row $N+1$. \end{itemize} The order of the nonzero elements within the same row are not important. A variation to this scheme is to sort the elements in each row in such a way that their column positions are in increasing order. When this sorting in enforced, it is often possible to make substantial savings in the number of operations of some well-known algorithms. The Compressed Sparse Column format is identical with the Compressed Sparse Row format except that the columns of $A$ are stored instead of the rows. In other words the Compressed Sparse Column format is simply the Compressed Sparse Row format for the matrix $A^T$. The Modified Sparse Row (MSR) format is a rather common variation of the Compressed Sparse Row format which consists of keeping the main diagonal of $A$ separately. The corresponding data structure consists of a real array $A$ and an integer array $JA$. The first $N$ positions in $A$ contain the diagonal elements of the matrix, in order. The position $N+1$ of the array $A$ is not used. Starting from position $N+2$, the nonzero elements of $A$, excluding its diagonal elements, are stored row-wise. Corresponding to each element $A(k)$ the integer $JA(k)$ is the column index of the element $A(k)$ in the matrix $A$. The $N+1$ first positions of $JA$ contain the pointer to the beginning of each row in $A$ and $JA$. The advantage of this storage mode is that many matrices have a full main diagonal, i.e., $a_{ii} \ne 0, i=1,\ldots, N$, and this diagonal is best represented by an array of length $N$. This storage mode is particularly useful for triangular matrices with non-unit diagonals. Often the diagonal is then stored in inverted form (i.e. $1/a_{ii} $ is stored in place of $a_{ii} $) because triangular systems are often solved repeatedly with the same matrix many times, as is the case for example in preconditioned Conjugate Gradient methods. The column oriented analogue of the MSR format, called MSC format, is also used in some of the other modules, but no transformation to/from it to the CSC format is necessary: for example to pass from CSC to MSC one can use the routine to pass from the CSR to the MSR formats, since the data structures are identical. The above three storage modes are used in many well-known packages. \subsubsection{The banded Linpack format (BND)} Banded matrices represent the simplest form of sparse matrices and they often convey the easiest way of exploiting sparsity. There are many ways of storing a banded matrix. The one we adopted here follows the data structure used in the Linpack banded solution routines. Our motivation is that one can easily take advantage of this widely available package if the matrices are banded. For fairly small matrices (say, $N < 2000$ on supercomputers, $ N < 200 $ on fast workstations, and with a bandwidth of $O(N^{\half} )$), this may represent a viable and simple way of solving linear systems. One must first transform the initial data structure into the banded Linpack format and then call the appropriate band solver. For large problems it is clear that a better alternative would be to use a sparse solver such as MA28, which requires the input matrix to be in the coordinate format. %%It is %%expected that these types of utilization of the conversion routines %% will in fact be among the most common ones. In the BND format the nonzero elements of $A$ are stored in a rectangular array $ABD$ with the nonzero elements of the $j$-th column being stored in the $j-th$ column of $ABD$. We also need to know the number $ML$ of diagonals below the main diagonals and the number $MU$ of diagonals above the main diagonals. Thus the bandwidth of $A$ is $ML+MU+1$ which is the minimum number of rows required in the array $ABD$. An additional integer parameter is needed to indicate which row of $ABD$ contains the lowest diagonal. \subsubsection{The coordinate format (COO) } The coordinate format is certainly the simplest storage scheme for sparse matrices. It consists of three arrays: a real array of size $NNZ$ containing the real values of nonzero elements of $A$ in any order, an integer array containing their row indices and a second integer array containing their column indices. Note that this scheme is as general as the CSR format, but from the point of view of memory requirement it is not as efficient. On the other hand it is attractive because of its simplicity and the fact that it is very commonly used. Incidentally, we should mention a variation to this mode which is perhaps the most economical in terms of memory usage. The modified version requires only a real array $A$ containing the real values $a_{ij}$ along with only one integer array that contains the integer values $ (i-1)N + j$ for each corresponding nonzero element $a_{ij}$. It is clear that this is an unambiguous representation of all the nonzero elements of $A$. There are two drawbacks to this scheme. First, it requires some integer arithmetic to extract the column and row indices of each element when they are needed. Second, for large matrices it may lead to integer overflow because of the need to deal with integers which may be very large (of the order of $N^2$). Because of these two drawbacks this scheme has seldom been used in practice. \subsubsection{The diagonal format (DIA) } The matrices that arise in many applications often consist of a few diagonals. This structure has probably been the first one to be exploited for the purpose of improving performance of matrix by vector products on supercomputers, see references in \cite{Saad-Boeing}. To store these matrices we may store the diagonals in a rectangular array $DIAG(1:N,1:NDIAG) $ where $NDIAG$ is the number of diagonals. We also need to know the offsets of each of the diagonals with respect to the main diagonal. These will be stored in an array $IOFF(1:NDIAG)$. Thus, in position $(i,k)$ of the array $DIAG$ is located the element $a_{i,i+ioff(k)}$ of the original matrix. The order in which the diagonals are stored in the columns of $DIAG$ is unimportant. Note also that all the diagonals except the main diagonal have fewer than $N$ elements, so there are positions in $DIAG$ that will not be used. In many applications there is a small number of non-empty diagonals and this scheme is enough. In general however, it may be desirable to supplement this data structure, e.g., by a compressed sparse row format. A general matrix is therefore represented as the sum of a diagonal-structured matrix and a general sparse matrix. The conversion routine CSRDIA which converts from the compressed sparse row format to the diagonal format has an option to this effect. If the user wants to convert a general sparse matrix to one with, say, 5 diagonals, and if the input matrix has more than 5 diagonals, the rest of the matrix (after extraction of the 5 desired diagonals) will be put, if desired, into a matrix in the CSR format. In addition, the code may also compute the most important 5 diagonals if wanted, or it can get those indicated by the user through the array $IOFF$. \subsubsection{The Ellpack-Itpack format (ELL) } The Ellpack-Itpack format \cite{Oppe-Kincaid,Young-Oppe-al,Oppe-NSPCG} is a generalization of the diagonal storage scheme which is intended for general sparse matrices with a limited maximum number of nonzeros per row. Two rectangular arrays of the same size are required, one real and one integer. The first, $COEF$, is similar to $DIAG$ and contains the nonzero elements of $A$. Assuming that there are at most $NDIAG$ nonzero elements in each row of $A$, we can store the nonzero elements of each row of the matrix in a row of the array $COEF(1:N,1:NDIAG)$ completing the row by zeros if necessary. Together with $COEF$ we need to store an integer array $JCOEF(1:N,1:NDIAG)$ which contains the column positions of each entry in $COEF$. \subsubsection{The Block Sparse Row format (BSR)} Block matrices are common in all areas of scientific computing. The best way to describe block matrices is by viewing them as sparse matrices whose nonzero entries are square dense blocks. Block matrices arise from the discretization of partial differential equations when there are several degrees of freedom per grid point. There are restrictions to this scheme. Each of the blocks is treated as a dense block. If there are zero elements within each block they must be treated as nonzero elements with the value zero. There are several variations to the method used for storing sparse matrices with block structure. The one considered here, the Block Sparse Row format, is a simple generalization of the Compressed Sparse Row format. We denote here by $NBLK$ the dimension of each block, by $NNZR$ the number of nonzero blocks in $A$ (i.e., $NNZR = NNZ/(NBLK^2) $) and by $NR$ the block dimension of $A$, (i.e., $NR = N/NBLK$), the letter $R$ standing for `reduced'. Like the Compressed Sparse Row format we need three arrays. A rectangular real array $A(1:NNZR,1:NBLK,1:NBLK) $ contains the nonzero blocks listed (block)-row-wise. Associated with this real array is an integer array $JA(1:NNZR) $ which holds the actual column positions in the original matrix of the $(1,1)$ elements of the nonzero blocks. Finally, the pointer array $IA(1:NR+1)$ points to the beginning of each block row in $A$ and $JA$. The savings in memory and in the use of indirect addressing with this scheme over Compressed Sparse Row can be substantial for large values of $NBLK$. \subsubsection{The Symmetric Skyline format (SSK) } A skyline matrix is often referred to as a variable band matrix or a profile matrix \cite{Duff-book}. The main attraction of skyline matrices is that when pivoting is not necessary then the skyline structure of the matrix is preserved during Gaussian elimination. If the matrix is symmetric we only need to store its lower triangular part. This is a collection of rows whose length varies. A simple method used to store a Symmetric Skyline matrix is to place all the rows in order from 1 to $N$ in a real array $A$ and then keep an integer array which holds the pointers to the beginning of each row, see \cite{Duff-survey}. The column positions of the nonzero elements stored in $A$ can easily be derived and are therefore not needed. However, there are several variations to this scheme that are commonly used is commercial software packages. For example, we found that in many instances the pointer is to the diagonal element rather than to the first element in the row. In some cases (e.g., IBM's ISSL library) both are supported. Given that these variations are commonly used it is a good idea to provide at least a few of them. \subsubsection{The Non Symmetric Skyline format (NSK) } Conceptually, the data structure of a nonsymmetric skyline matrix consists of two substructures. The first consists of the lower part of $A$ stored in skyline format and the second of its upper triangular part stored in a column oriented skyline format (i.e., the transpose is stored in standard row skyline mode). Several ways of putting these substructures together may be used and there are no compelling reasons for preferring one strategy over another one. One possibility is to use two separate arrays $AL$ and $AU$ for the lower part and upper part respectively, with the diagonal element in the upper part. The data structures for each of two parts is similar to that used for the SSK storage. %% NOT DONE YET --- %%We chose to store contiguously each row of the lower part and column of %%the upper part of the matrix. The real array $A$ will contain %%the 1-st row followed by the first column (empty), followed %%by the second row followed by the second column, etc.. %%An additional pointer is needed to indicate where the %%diagonal elements, which separate the lower from the upper part, %%are located in this array. G \subsubsection{The linked list storage format (LNK) } This is one of the oldest data structures used for sparse matrix computations. It consists of four arrays: $A$, $JCOL$, $LINK$ and $JSTART$. The arrays $A$ and $JCOL$ contain the nonzero elements and their corresponding column indices respectively. The integer array $LINK$ is the usual link pointer array in linked list data structures: $LINK(k)$ points to the position of the nonzero element next to $A(k), JCOL(k)$ in the same row. Note that the order of the elements within each row is unimportant. If $LINK(k) =0$ then there is no next element, i.e., $A(k), JCOL(k)$ is the last element of the row. Finally, $ISTART$ points to the first element of each row in in the previous arrays. Thus, $k=ISTART(1)$ points to the first element of the first row, in $A, ICOL$, $ISTART(2) $ to the second element, etc.. As a convention $ISTART(i) = 0$, means that the $i$-th row is empty. \subsubsection{The Jagged Diagonal format (JAD)} This storage mode is very useful for the efficient implementation of iterative methods on parallel and vector processors \cite{Saad-Boeing}. Starting from the CSR format, the idea is to first reorder the rows of the matrix decreasingly according to their number of nonzeros entries. Then, a new data structure is built by constructing what we call ``jagged diagonals" (j-diagonals). We store as a dense vector, the vector consisting of all the first elements in $A, JA$ from each row, together with an integer vector containing the column positions of the corresponding elements. This is followed by the second jagged diagonal consisting of the elements in the second positions from the left. As we build more and more of these diagonals, their length decreases. The number of j-diagonals is equal to the number of nonzero elements of the first row, i.e., to the largest number of nonzero elements per row. The data structure to represent a general matrix in this form consists, before anything, of the permutation array which reorders the rows. Then the real array $A$ containing the jagged diagonals in succession and the array $JA$ of the corresponding column positions are stored, together with a pointer array $ IA $ which points to the beginning of each jagged diagonal in the arrays $A, JA$. The advantage of this scheme for matrix multiplications has been illustrated in \cite{Saad-Boeing} and in \cite{Anderson-Saad} in the context of triangular system solutions. \subsubsection{The Symmetric and Unsymmetric Sparse Skyline format (SSS, USS)} This is an extension of the CSR-type format described above. In the symmetric version, the following arrays are used: $DIAG$ stores the diagonal, $AL, JAL, IAL$ stores the strict lower part in CSR format, and $AU$ stores the values of the strict upper part in CSC format. In the unsymmetric version, instead of $AU$ alone, the strict upper part is stored in $AU, JAU, IAU$ in CSC format. %% THIS SECTION HAS BEEN MODIFIED %% \subsubsection{The Compressed Variable Block Format(CVB)} %% This is an extension of the Block Sparse Row format (BSR). In the BSR %% format, all the blocks have the same size. %% A more general way of partitioning might allow the %% matrix to be split into different size blocks. In the CVB format, an %% arbitrary partitioning of the matrix is allowed. However, the columns and %% the rows must be split in the same way. %% %% Figure 0 shows a 9x9 sparse matrix and its corresponding storage vectors. %% Let $h$ be the index of the leading elements of the $k^{th}$ block %% stored in $AA$. Then $k^{th}$ block of size $m*p$ is stored in %% $AA(h)$ to $AA(h+mp-1)$. %% For example, the $3^{rd}$ block is stored in $AA(9)$ to $AA(17)$. %% %% The data structure consists of the integers \(N\), \(NB\), and the arrays %% \(AA\), \(JA\), \(IA\), and %% \(KVST\), where \(N\) is the matrix size, i.e.~number of rows in the %% matrix, \(NB\) is the number of block rows, \(AA\) stores the non-zero %% values of the matrix, \(JA\) has the column indices of the first %% elements in the blocks, \(IA\) contains the pointers to the beginning %% of each block row (in \(AA\)), \(KVST\) contains the index of %% the first row in each block row. %% %% \begin{figure}[h] %% \vspace{3in} %% \special{psfile= fig1.eps vscale = 100 hscale = 100 hoffset =-50 voffset= -420} %%\caption {\bf Fig 1: An example of a 9x9 sparse matrix and its storage vectors. } %%\label{conventional} %% \end{figure} \subsubsection{The Variable Block Row format (VBR)} In many applications, matrices are blocked, but the blocks are not all the same size. These so-called variable block matrices arise from the discretization of systems of partial differential equations where there is a varying number of equations at each grid point. Like in the Block Sparse Row (BSR) format, all entries of nonzero blocks (blocks which contain any nonzeros) are stored, even if their value is zero. Also like the BSR format, there is significant savings in integer pointer overhead in the data structure. Variable block generalizations can be made to many matrix storage formats. The Variable Block Row (VBR) format is a generalization of the Compressed Sparse Row (CSR) format, and is similar to the variable block format used at the University of Waterloo, and one currently proposed in the Sparse BLAS toolkit. In the VBR format, the $IA$ and $JA$ arrays of the CSR format store the sparsity structure of the blocks. The entries in each block are stored in $A$ in column-major order so that each block may be passed as a small dense matrix to a Fortran subprogram. The block row and block column partitionings are stored in the vectors {\em KVSTR} and {\em KVSTC}, by storing the first row or column number of each block row or column respectively. In most applications, the block row and column partitionings will be conformal, and the same array may be used in the programs. Finally, integer pointers to the beginning of each block in $A$ are stored in the array $KA$. $IA$ contains pointers to the beginning of each block row in $JA$ and $KA$. Thus $IA$ has length equal to the number of block rows (plus one to mark the end of the matrix), and $JA$ has length equal to the number of nonzero blocks. $KA$ has the same length as $JA$ plus one to mark the end of the matrix. {\em KVSTR} and {\em KVSTC} have length equal to the number of block rows and columns respectively, and $A$ has length equal to the number of nonzeros in the matrix. The following figure shows the VBR format applied to a small matrix. This version of Sparskit has a number of routines to support the variable block matrix format. CSRVBR and VBRCSR convert between the VBR and CSR formats; VBRINFO prints some elementary information about the block structure of a matrix in VBR format; AMUXV performs a matrix-vector product with a matrix in VBR format; CSRKVSTR and CSRKVSTC are used to determine row and column block partitionings of a matrix in CSR format, and KVSTMERGE is used to combine row and column partitionings to achieve a conformal partitioning. \begin{figure}[htb] %\vspace{4.8in} %\centerline{\psfig{figure=vbrpic.eps,width=6.2in}} \includegraphics[width=6.2in]{vbrpic} %\special{psfile=vbrpic.eps vscale = 100 hscale = 100} %\special{psfile=vbrpic.eps vscale = 100 hscale = 100 voffset= -420} \caption {A $6 \times 8$ sparse matrix and its storage vectors.} \end{figure} \subsection{The FORMATS conversion module} It is important to note that there is no need to have a subroutine for each pair of data structures, since all we need is to be able to convert any format to the standard row-compressed format and then back to any other format. There are currently 32 different conversion routines in this module all of which are devoted to converting from one data structure into another. The naming mechanism adopted is to use a 6-character name for each of the subroutines, the first 3 for the input format and the last 3 for the output format. Thus COOCSR performs the conversion from the coordinate format to the Compressed Sparse Row format. However it was necessary to break the naming rule in one exception. We needed a version of COOCSR that is in-place, i.e., which can take the input matrix, and convert it directly into a CSR format by using very little additional work space. This routine is called COICSR. Each of the formats has a routine to translate it to the CSR format and a routine to convert back to it from the CSR format. The only exception is that a CSCCSR routine is not necessary since the conversion from Column Sparse format to Sparse Row format can be performed with the same routine CSRCSC. This is essentially a transposition operation. Considerable effort has been put at attempting to make the conversion routines in-place, i.e., in allowing some or all of the output arrays to be the same as the input arrays. The purpose is to save storage whenever possible without sacrificing performance. The added flexibility can be very convenient in some situations. When the additional coding complexity to permit the routine to be in-place was not too high this was always done. If the subroutine is in-place this is clearly indicated in the documentation. As mentioned above, we found it necessary in one instance to provide both the in-place version as well as the regular version: COICSR is an in-place version of the COOCSR routine. We would also like to add that other routines that avoid the CSR format for some of the more important data structures may eventually be included. For now, there is only one such routine \footnote{Contributed by E. Rothman from Cornell University.} namely, COOELL. \subsection{Internal format used in SPARSKIT} Most of the routines in SPARSKIT use internally the Compressed Sparse Row format. The selection of the CSR mode has been motivated by several factors. Simplicity, generality, and widespread use are certainly the most important ones. However, it has often been argued that the column scheme may have been a better choice. One argument in this favor is that vector machines usually give a better performance for such operations as matrix vector by multiplications for matrices stored in CSC format. In fact for parallel machines which have a low overhead in loop synchronization (e.g., the Alliants), the situation is reversed, see \cite{Saad-Boeing} for details. For almost any argument in favor of one scheme there seems to be an argument in favor of the other. Fortunately, the difference provided in functionality is rather minor. For example the subroutine APLB to add two matrices in CSR format, described in Section 5.1, can actually be also used to add two matrices in CSC format, since the data structures are identical. Several such subroutines can be used for both schemes, by pretending that the input matrices are stored in CSR mode whereas in fact they are stored in CSC mode. \section{Manipulation routines} The module UNARY of SPARSKIT consists of a number of utilities to manipulate and perform basic operations with sparse matrices. The following sections give an overview of this part of the package. \subsection{Miscellaneous operations with sparse matrices} There are a large number of non-algebraic operations that are commonly used when working with sparse matrices. A typical example is to transform $A$ into $B = P A Q $ where $P$ and $Q$ are two permutation matrices. Another example is to extract the lower triangular part of $A$ or a given diagonal from $A$. Several other such `extraction' operations are supplied in SPARSKIT. Also provided is the transposition function. This may seem as an unnecessary addition since the routine CSRCSC already does perform this function economically. However, the new transposition provided is in-place, in that it may transpose the matrix and overwrite the result on the original matrix, thus saving memory usage. Since many of these manipulation routines involve one matrix (as opposed to two in the basic linear algebra routines) we created a module called UNARY to include these subroutines. Another set of subroutines that are sometimes useful are those involving a `mask'. A mask defines a given nonzero pattern and for all practical purposes a mask matrix is a sparse matrix whose nonzero entries are all ones (therefore there is no need to store its real values). Sometimes it is useful to extract from a given matrix $A$ the `masked' matrix according to a mask $M$, i.e., to compute the matrix $A \odot M$ , where $\odot $ denotes the element-wise matrix product, and $M$ is some mask matrix. \subsection{The module UNARY} This module of SPARSKIT consists of a number of routines to perform some basic non-algebraic operations on a matrix. The following is a list of the routines currently supported with a brief explanation. %%There are many other routines which are not %% listed their inclusion still being debated. \vskip .5in \marg{SUBMAT}\disp{Extracts a square or rectangular submatrix from a sparse matrix. Both the input and output matrices are in CSR format. The routine is in-place.} \marg{FILTER}\disp{Filters out elements from a matrix according to their magnitude. Both the input and the output matrices are in CSR format. The output matrix, is obtained from the input matrix by removing all the elements that are smaller than a certain threshold. The threshold is computed for each row according to one of three provided options. The algorithm is in-place.} \marg{FILTERM}\disp{Same as above, but for the MSR format.} \marg{CSORT}\disp{Sorts the elements of a matrix stored in CSR format in increasing order of the column numbers. } \marg{ TRANSP }\disp{ This is an in-place transposition routine, i.e., it can be viewed as an in-place version of the CSRCSC routine in FORMATS. One notable disadvantage of TRANSP is that unlike CSRCSC it does not sort the nonzero elements in increasing number of the column positions.} \marg{ COPMAT }\disp{Copy of a matrix into another matrix (both stored CSR).} \marg{MSRCOP}\disp{Copies a matrix in MSR format into a matrix in MSR format.} \marg{ GETELM }\disp{Function returning the value of $a_{ij}$ for any pair $(i,j)$. Also returns address of the element in arrays $A, JA$. } \marg{ GETDIA }\disp{ Extracts a specified diagonal from a matrix. An option is provided to transform the input matrix so that the extracted diagonal is zeroed out in input matrix. Otherwise the diagonal is extracted and the input matrix remains untouched.} \marg{ GETL }\disp{This subroutine extracts the lower triangular part of a matrix, including the main diagonal. The algorithm is in-place.} \marg{ GETU }\disp{Extracts the upper triangular part of a matrix. Similar to GETL.} \marg{ LEVELS }\disp{ Computes the level scheduling data structure for lower triangular matrices, see \cite{Anderson-Saad}.} \marg{ AMASK }\disp{ Extracts $ C = A \odot M $, i.e., performs the mask operation. This routine computes a sparse matrix from an input matrix $A$ by extracting only the elements in $A$, where the corresponding elements of $M$ are nonzero. The mask matrix $M$, is a sparse matrix in CSR format without the real values, i.e., only the integer arrays of the CSR format are passed. } \marg{ CPERM }\disp{ Permutes the columns of a matrix, i.e., computes the matrix $B = A Q$ where $Q$ is a permutation matrix. } \marg{RPERM}\disp{ Permutes the rows of a matrix, i.e., computes the matrix $B = P A$ where $P$ is a permutation matrix. } \marg{DPERM}\disp{Permutes the rows and columns of a matrix, i.e., computes $B = P A Q$ given two permutation matrices $ P$ and $ Q$. This routine gives a special treatment to the common case where $Q=P^T$.} \marg{DPERM2}\disp{General submatrix permutation/extraction routine.} \marg{DMPERM}\disp{Symmetric permutation of row and column (B=PAP') in MSR format} \marg{DVPERM}\disp{ Performs an in-place permutation of a real vector, i.e., performs $x := P x $, where $P$ is a permutation matrix. } \marg{IVPERM}\disp{ Performs an in-place permutation of an integer vector.} \marg{RETMX}\disp{ Returns the maximum absolute value in each row of an input matrix. } \marg{DIAPOS}\disp{ Returns the positions in the arrays $A$ and $ JA$ of the diagonal elements, for a matrix stored in CSR format. } \marg{ EXTBDG }\disp{ Extracts the main diagonal blocks of a matrix. The output is a rectangular matrix of dimension $N \times NBLK$, containing the $N/NBLK$ blocks, in which $NBLK$ is the block-size (input).} \marg{ GETBWD }\disp{ Returns bandwidth information on a matrix. This subroutine returns the bandwidth of the lower part and the upper part of a given matrix. May be used to determine these two parameters for converting a matrix into the BND format.} \marg{ BLKFND }\disp{ Attempts to find the block-size of a matrix stored in CSR format. One restriction is that the zero elements in each block if there are any are assumed to be represented as nonzero elements in the data structure for the $A$ matrix, with zero values. } \marg{ BLKCHK }\disp{ Checks whether a given integer is the block size of A. This routine is called by BLKFND. Same restriction as above.} \marg{ INFDIA }\disp{ Computes the number of nonzero elements of each of the $2n-1$ diagonals of a matrix. Note that the first diagonal is the diagonal with offset $-n$ which consists of the entry $a_{n,1}$ and the last one is the diagonal with offset $n$ which consists of the element $a_{1,n}$.} \marg{ AMUBDG }\disp{ Computes the number of nonzero elements in each row of the product of two sparse matrices $A$ and $B$. Also returns the total number of nonzero elements.} \marg{ APLBDG }\disp{ Computes the number of nonzero elements in each row of the sum of two sparse matrices $A$ and $B$. Also returns the total number of nonzero elements.} \marg{ RNRMS }\disp{ Computes the norms of the rows of a matrix. The usual three norms $\|.\|_1, \|.\|_2, $ and $\|.\|_{\infty} $ are supported. } \marg{ CNRMS }\disp{ Computes the norms of the columns of a matrix. Similar to RNRMS. } \marg{ ROSCAL }\disp{ Scales the rows of a matrix by their norms. The same three norms as in RNRMS are available. } \marg{ COSCAL }\disp{ Scales the columns of a matrix by their norms. The same three norms as in RNRMS are available. } \marg{ADDBLK}\disp{Adds a matrix B into a block of A. } \marg{GET1UP}\disp{Collects the first elements of each row of the upper triangular portion of the matrix. } \marg{XTROWS}\disp{Extracts given rows from a matrix in CSR format.} \marg{CSRKVSTR}\disp{Finds block partitioning of matrix in CSR format.} \marg{CSRKVSTC}\disp{Finds block column partitioning of matrix in CSR format.} \marg{KVSTMERGE}\disp{Merges block partitionings for conformal row/column pattern.} \section{Input/Output routines} The INOUT module of SPARSKIT comprises a few routines for reading, writing, and for plotting and visualizing the structure of sparse matrices. Many of these routines are essentially geared towards the utilization of the Harwell/Boeing collection of matrices. There are currently eleven subroutines in this module. \vskip .5in \marg{ READMT}\disp{ Reads a matrix in the Harwell/Boeing format.} \marg{ PRTMT}\disp{ Creates a Harwell Boeing file from an arbitrary matrix in CSR or CSC format.} \marg{ DUMP }\disp{DUMP prints the rows of a matrix in a file, in a nice readable format. The best format is internally calculated depending on the number of nonzero elements. This is a simple routine which might be helpful for debugging purposes.} \marg{ PSPLTM }\disp{Generates a post-script plot of the non-zero pattern of A.} \marg{ PLTMT }\disp{Creates a pic file for plotting the pattern of a matrix.} \marg{ SMMS }\disp{Write the matrx in a format used in SMMS package.} \marg{ READSM }\disp{Reads matrices in coordinate format (as in SMMS package).} \marg{ READSK }\disp{Reads matrices in CSR format (simplified H/B format).} \marg{ SKIT }\disp{Writes matrices to a file, format same as above.} \marg{ PRTUNF }\disp{Writes matrices (in CSR format) in unformatted files.} \marg{ READUNF }\disp{Reads unformatted file containing matrices in CSR format.} \vskip 0.3in The routines readmt and prtmt allow to read and create files containing matrices stored in the H/B format. For details concerning this format the reader is referred to \cite{Duff-HB} or the summary given in the documentation of the subroutine READMT. While the purpose of readmt is clear, it is not obvious that one single subroutine can write a matrix in H/B format and still satisfy the needs of all users. For example for some matrices all nonzero entries are actually integers and a format using say a 10 digit mantissa may entail an enormous waste of storage if the matrix is large. The solution provided is to compute internally the best formats for the integer arrays IA and JA. A little help is required from the user for the real values in the arrays A and RHS. Specifically, the desired format is obtained from a parameter of the subroutine by using a simple notation, which is explained in detail in the documentation of the routine. Besides the pair of routines that can read/write matrices in H/B format, there are three other pairs which can be used to input and output matrices in different formats. The SMMS and READSM pair write and read matrices in the format used in the package SMMS. Specifically, READSM reads a matrix in SMMS format from a file and outputs it in CSR format. SMMS accepts a matrix in CSR format and writes it to a file in SMMS format. The SMMS format is essentially a COO format. The size of the matrix appears in the first line of the file. Each other line of the file contains triplets in the form of ($i$, $j$, $a_{ij}$) which denote the non-zero elements of the matrix. Similarly, READSK and SKIT read and write matrices in CSR format. This pair is very similar to READMT and PRTMT, only that the files read/written by READSK and SKIT do not have headers. The pair READUNF and PRTUNF reads and writes the matrices (stored as $ia$, $ja$ and $a$) in binary form, i.e.~the number in the file written by PRTUNF will be in machine representations. The primary motivation for this is that handling the arrays in binary form takes less space than in the usual ASCII form, and is usually faster. If the matrices are large and they are only used on compatible computers, it might be desirable to use unformatted files. We found it extremely useful to be able to visualize a sparse matrix, notably for debugging purposes. A simple look at the plot can sometimes reveal whether the matrix obtained from some reordering technique does indeed have the expected structure. For now two simple plotting mechanisms are provided. First, a preprocessor called PLTMT to the Unix utility `Pic' allows one to generate a pic file from a matrix that is in the Harwell/Boeing format or any other format. For example for a Harwell/Boeing matrix file, the command is of the form %%\[hb2pic.ex \; < \; HBfilename \] \begin{center} {\tt hb2pic.ex < HB\_file.} \end{center} The output file is then printed by the usual troff or TeX commands. A translation of this routine into one that generates a post-script file is also available (called PSPLTM). We should point out that the plotting routines are very simple in nature and should not be used to plot large matrices. For example the pltmt routine outputs one pic command line for every nonzero element. This constitutes a convenient tool for document preparation for example. Matrices of size just up to a few thousands can be printed this way. Several options concerning the size of the plot and caption generation are available. There is also a simple utility program called ``hb2ps'' which takes a matrix file with HB format and translates it into a post-script file. The usage of this program is as follows: \begin{center} {\tt hb2ps.ex < HB\_file > Postscript\_file.} \end{center} %%\[ hb2ps.ex < HB\_file > Postscript\_file. \] The file can be previewed with ghostscript. The following graph shows a pattern of an unsymmetric matrix. \begin{figure}[htb] %\centerline{\psfig{figure=jpwh.ps,width=5in}} \includegraphics[width=5in]{jpwh} %\vskip 5.5in %\special{psfile=jpwh.ps vscale = 100 hscale = 100 hoffset = -85 voffset= -450} %\special{psfile=jpwh.ps hoffset = -85} \end{figure} \section{Basic algebraic operations} The usual algebraic operations involving two matrices, such as $C= A+ B$, $C= A+\beta B$, $C= A B $, etc.., are fairly common in sparse matrix computations. These basic matrix operations are included in the module called BLASSM. In addition there is a large number of basic operations, involving a sparse matrix and a vector, such as matrix-vector products and triangular system solutions that are very commonly used. Some of these are included in the module MATVEC. Sometimes it is desirable to compute the patterns of the matrices $A+B$ and $AB$, or in fact of any result of the basic algebraic operations. This can be implemented by way of job options which will determine whether to fill-in the real values or not during the computation. We now briefly describe the contents of each of the two modules BLASSM and MATVEC. \subsection{The BLASSM module} Currently, the module BLASSM (Basic Linear Algebra Subroutines for Sparse Matrices) contains the following nine subroutines: \vskip 0.3in \marg{ AMUB }\disp{ Performs the product of two matrices, i.e., computes $C = A B $, where $A$ and $B$ are both in CSR format.} \marg{ APLB }\disp{ Performs the addition of two matrices, i.e., computes $C = A + B $, where $A$ and $B$ are both in CSR format.} \marg{ APLSB }\disp{ Performs the operation $ C=A + \sigma B $, where $\sigma$ is a scalar, and $A, B$ are two matrices in CSR format. } \marg{ APMBT }\disp{ Performs either the addition $C = A + B^T$ or the subtraction $C=A-B^T$. } \marg{ APLSBT }\disp{ Performs the operation $C = A + s B^T$. } \marg{ DIAMUA }\disp{ Computes the product of diagonal matrix (from the left) by a sparse matrix, i.e., computes $C = D A$, where $D$ is a diagonal matrix and $A$ is a general sparse matrix stored in CSR format. } \marg{ AMUDIA }\disp{ Computes the product of a sparse matrix by a diagonal matrix from the right, i.e., computes $C = A D $, where $D$ is a diagonal matrix and $A$ is a general sparse matrix stored in CSR format. } \marg{ APLDIA }\disp{ Computes the sum of a sparse matrix and a diagonal matrix, $ C = A + D $. } \marg{ APLSCA }\disp{Performs an in-place addition of a scalar to the diagonal entries of a sparse matrix, i.e., performs the operation $A := A + \sigma I$.} \vskip 0.3in Missing from this list are the routines {\bf AMUBT} which multiplies $A$ by the transpose of $B$, $C= AB^T$, and {\bf ATMUB } which multiplies the transpose of $A$ by $B$, $C= A^T B $. \vskip 0.3in These are very difficult to implement and we found it better to perform it with two passes. Operations of the form $ t A + s B $ have been avoided as their occurrence does not warrant additional subroutines. Several other operations similar to those defined for vectors have not been included. For example the scaling of a matrix in sparse format is simply a scaling of its real array $A$, which can be done with the usual BLAS1 scaling routine, on the array $A$. \subsection{The MATVEC module} In its current status, this module contains matrix by vector products and various sparse triangular solution methods. The contents are as follows. \vskip 0.3in \marg{ AMUX }\disp{ Performs the product of a matrix by a vector. Matrix stored in Compressed Sparse Row (CSR) format.} \marg{ ATMUX }\disp{ Performs the product of the transpose of a matrix by a vector. Matrix $A$ stored in Compressed Sparse Row format. Can also be viewed as the product of a matrix in the Compressed Sparse Column format by a vector.} \marg{ AMUXE }\disp{ Performs the product of a matrix by a vector. Matrix stored in Ellpack/Itpack (ELL) format.} \marg{ AMUXD }\disp{ Performs the product of a matrix by a vector. Matrix stored in Diagonal (DIA) format.} \marg{ AMUXJ }\disp{ Performs the product of a matrix by a vector. Matrix stored in Jagged Diagonal (JAD) format.} \marg{ VBRMV }\disp{ Sparse matrix - full vector product in VBR format.} \marg{ LSOL } \disp{ Unit lower triangular system solution. Matrix stored in Compressed Sparse Row (CSR) format. } \marg{ LDSOL }\disp{Lower triangular system solution. Matrix stored in Modified Sparse Row (MSR) format. Diagonal elements inverted. } \marg{ LSOLC }\disp{ Unit lower triangular system solution. Matrix stored in Compressed Sparse Column (CSC) format. } \marg{ LDSOLC }\disp{ Lower triangular system solution. Matrix stored in Modified Sparse Column (MSC) format with diagonal elements inverted. } \marg{ LDSOLL }\disp{ Unit lower triangular system solution with the level scheduling approach. Matrix stored in Modified Sparse Row format, with diagonal elements inverted.} \marg{ USOL }\disp{ Unit upper triangular system solution. Matrix stored in Compressed Sparse Row (CSR) format. } \marg{ UDSOL }\disp{ Upper triangular system solution. Matrix stored in Modified Sparse Row (MSR) format. Diagonal elements inverted. } \marg{ USOLC }\disp{ Unit upper triangular system solution. Matrix stored in Compressed Sparse Column (CSC) format. } \marg{ UDSOLC }\disp{ Upper triangular system solution. Matrix stored in Modified Sparse Column (MSC) format with diagonal elements inverted. } \vskip 0.3in Most of the above routines are short and rather straightforward. A long test program is provided to run all of the subroutines on a large number of matrices that are dynamically generated using the MATGEN module. \section{The basic statistics and information routines} It is sometimes very informative when analyzing solution methods, to be able in a short amount of time to obtain some statistical information about a sparse matrix. The purpose of the subroutine info1, is to print out such information. The first question we had to address was to determine the type of information that is inexpensive to obtain and yet practical and useful. The simplest and most common statistics are: total number of nonzero elements, average number of nonzero elements per row (with standard deviation), band size. Our preliminary package Info1 contains the above and a number of other features. For example it answers the following questions: Is the matrix lower triangular, upper triangular? does it have a symmetric structure? If not how close is it from having this property? Is it weakly row-diagonally dominant? What percentage of the rows are weakly diagonally dominant? Same questions for column diagonal dominance. A sample output from info1 is listed in Figure\ref{Fig1}. This print-out was generated by typing \begin{center} {\tt info1.ex < pores\_2} \end{center} %\[ {\rm info1.ex} < {\rm pores\_2} \] where {\tt pores\_2} is a file containing a matrix in H/B format. If the Harwell-Boeing matrix is symmetric then Info1 takes this information into account to obtain the correct information instead of the information on the lower triangular part only. Moreover, in cases where only the pattern is provided (no real values), then info1 will print a message to this effect and will then give information related only to the structure of the matrix. The output for an example of this type is shown in Figure~\ref{Fig2}. We should point out that the runs for these two tests were basically instantaneous on a Sun-4 workstation. Currently, this module contains the following subroutines: \vskip 0.3in \marg{ N\_IMP\_DIAG }\disp{ Computes the most important diagonals.} \marg{ DIAG\_DOMI }\disp{ Computes the percentage of weakly diagonally dominant rows/columns.} \marg{ BANDWIDTH }\disp{ Computes the lower, upper, maximum, and average bandwidths.} \marg{ NONZ }\disp{ Computes maximum numbers of nonzero elements per column/row, min numbers of nonzero elements per column/row, and numbers of zero columns/rows.} \marg{ FROBNORM }\disp{ Computes the Frobenius norm of A.} \marg{ ANSYM }\disp{ Computes the Frobenius norm of the symmetric and non-symmetric parts of A, computes the number of matching elements in symmetry and the relative symmetry match. The routine ANSYM provides some information on the degree of symmetry of A.} \marg{ DISTAIJ }\disp{ Computes the average distance of a(i,j) from diag and standard deviation for this average.} \marg{ SKYLINE }\disp{ Computes the number of nonzeros in the skyline storage.} \marg{ DISTDIAG }\disp{ Computes the numbers of elements in each diagonal.} \marg{ BANDPART }\disp{ Computes the bandwidth of the banded matrix, which contains 'nper' percent of the original matrix.} \marg{ NONZ\_LUD }\disp{ Computes the number of nonzero elements in strict lower part, strict upper part, and main diagonal.} \marg{ AVNZ\_COL }\disp{ Computes average number of nonzero elements/column and standard deviation for the average.} \marg{ VBRINFO }\disp{ Prints information about matrices in variable block row format.} % This has been updated to match the new code. -- June 3, 1994. %* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * %* unsymmetric matrix from pores * %* Key = pores_2 , Type = rua * %* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * % * Dimension N = 1224 * % * Number of nonzero elements = 9613 * % * Average number of nonzero elements/Column = 7.8538 * % * Standard deviation for above average = 5.4337 * % * Nonzero elements in strict upper part = 4384 * % * Nonzero elements in strict lower part = 4005 * % * Nonzero elements in main diagonal = 1224 * % * Weight of longest column = 30 * % * Weight of shortest column = 2 * % * Weight of longest row = 30 * % * Weight of shortest row = 2 * % * Matching elements in symmetry = 6358 * % * Relative Symmetry Match (symmetry=1) = 0.6614 * % * Average distance of a(i,j) from diag. = 0.615E+02 * % * Standard deviation for above average = 0.103E+03 * % *-----------------------------------------------------------------* % * Frobenius norm of A = 0.150E+09 * % * Frobenius norm of symmetric part = 0.100E+09 * % * Frobenius norm of nonsymmetric part = 0.951E+08 * % * Maximum element in A = 0.378E+08 * % * Percentage of weakly diagonally dominant rows = 0.481E+00 * % * Percentage of weakly diagonally dominant columns = 0.490E-02 * % *-----------------------------------------------------------------* % * Lower bandwidth (max: i-j, a(i,j) .ne. 0) = 470 * % * Upper bandwidth (max: j-i, a(i,j) .ne. 0) = 471 * % * Maximum Bandwidth = 736 * % * Average Bandwidth = 0.190E+03 * % * Number of nonzeros in skyline storage = 340385 * % * 90% of matrix is in the band of width = 527 * % * 80% of matrix is in the band of width = 145 * % * The total number of nonvoid diagonals is = 367 * % * The 10 most important diagonals are (offsets) : * % * 0 1 -1 -2 2 -3 -32 -264 264 32 * % * The accumulated percentages they represent are : * % * 12.7 24.6 31.7 37.9 43.6 49.0 52.4 55.7 58.6 61.4 * % *-----------------------------------------------------------------* % * The matrix does not have a block structure * % *-----------------------------------------------------------------* \begin{figure} \begin{verbatim} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * UNSYMMETRIC MATRIX FROM PORES * * Key = PORES 2 , Type = RUA * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Dimension N = 1224 * * Number of nonzero elements = 9613 * * Average number of nonzero elements/Column = 7.8538 * * Standard deviation for above average = 5.4337 * * Nonzero elements in strict lower part = 4384 * * Nonzero elements in strict upper part = 4005 * * Nonzero elements in main diagonal = 1224 * * Weight of longest column = 30 * * Weight of shortest column = 2 * * Weight of longest row = 16 * * Weight of shortest row = 5 * * Matching elements in symmetry = 6358 * * Relative Symmetry Match (symmetry=1) = 0.6614 * * Average distance of a(i,j) from diag. = 0.615E+02 * * Standard deviation for above average = 0.103E+03 * *-----------------------------------------------------------------* * Frobenius norm of A = 0.150E+09 * * Frobenius norm of symmetric part = 0.103E+09 * * Frobenius norm of nonsymmetric part = 0.980E+08 * * Maximum element in A = 0.378E+08 * * Percentage of weakly diagonally dominant rows = 0.490E-02 * * Percentage of weakly diagonally dominant columns = 0.481E+00 * *-----------------------------------------------------------------* * Lower bandwidth (max: i-j, a(i,j) .ne. 0) = 470 * * Upper bandwidth (max: j-i, a(i,j) .ne. 0) = 471 * * Maximum Bandwidth = 736 * * Average Bandwidth = 0.190E+03 * * Number of nonzeros in skyline storage = 342833 * * 90% of matrix is in the band of width = 527 * * 80% of matrix is in the band of width = 145 * * The total number of nonvoid diagonals is = 367 * * The 10 most important diagonals are (offsets) : * * 0 -1 1 2 -2 3 32 264 -264 -32 * * The accumulated percentages they represent are : * * 12.7 24.6 31.7 37.9 43.6 49.0 52.4 55.7 58.6 61.4 * *-----------------------------------------------------------------* * The matrix does not have a block structure * *-----------------------------------------------------------------* \end{verbatim} \caption{Sample output from Info1.ex \label{Fig1} } \end{figure} %* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * %* SYMMETRIC PATTERN FROM CANNES,LUCIEN MARRO,JUNE 1981. * %* Key = CAN 1072 , Type = PSA * %* No values provided - Information on pattern only * %* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * % * Dimension N = 1072 * % * Number of nonzero elements = 6758 * % * Average number of nonzero elements/Column = 11.6082 * % * Standard deviation for above average = 5.6474 * % * Nonzero elements in strict upper part = 5686 * % * Nonzero elements in strict lower part = 5686 * % * Nonzero elements in main diagonal = 1072 * % * Weight of longest column = 35 * % * Weight of shortest column = 6 * % * Matching elements in symmetry = 6758 * % * Relative Symmetry Match (symmetry=1) = 1.0000 * % * Average distance of a(i,j) from diag. = 0.110E+03 * % * Standard deviation for above average = 0.174E+03 * % *-----------------------------------------------------------------* % * Lower bandwidth (max: i-j, a(i,j) .ne. 0) = 1048 * % * Upper bandwidth (max: j-i, a(i,j) .ne. 0) = 1048 * % * Maximum Bandwidth = 1055 * % * Average Bandwidth = 0.376E+03 * % * Number of nonzeros in skyline storage = 277248 * % * 90% of matrix is in the band of width = 639 * % * 80% of matrix is in the band of width = 343 * % * The total number of nonvoid diagonals is = 627 * % * The 5 most important diagonals are (offsets) : * % * 0 -1 -2 -3 -4 * % * The accumulated percentages they represent are : * % * 15.9 24.7 29.7 33.9 36.3 * % *-----------------------------------------------------------------* % * The matrix does not have a block structure * % *-----------------------------------------------------------------* \begin{figure} \begin{verbatim} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SYMMETRIC PATTERN FROM CANNES,LUCIEN MARRO,JUNE 1981. * * Key = CAN 1072 , Type = PSA * * No values provided - Information on pattern only * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Dimension N = 1072 * * Number of nonzero elements = 6758 * * Average number of nonzero elements/Column = 6.3041 * * Standard deviation for above average = 6.2777 * * Nonzero elements in strict lower part = 5686 * * Nonzero elements in strict upper part = 5686 * * Nonzero elements in main diagonal = 1072 * * Weight of longest column = 39 * * Weight of shortest column = 4 * * Matching elements in symmetry = 6758 * * Relative Symmetry Match (symmetry=1) = 1.0000 * * Average distance of a(i,j) from diag. = 0.110E+03 * * Standard deviation for above average = 0.174E+03 * *-----------------------------------------------------------------* * Lower bandwidth (max: i-j, a(i,j) .ne. 0) = 0 * * Upper bandwidth (max: j-i, a(i,j) .ne. 0) = 1048 * * Maximum Bandwidth = 1049 * * Average Bandwidth = 0.117E+03 * * Number of nonzeros in skyline storage = 278320 * * 90% of matrix is in the band of width = 639 * * 80% of matrix is in the band of width = 343 * * The total number of nonvoid diagonals is = 627 * * The 5 most important diagonals are (offsets) : * * 0 1 2 3 4 * * The accumulated percentages they represent are : * * 15.9 24.7 29.7 33.9 36.3 * *-----------------------------------------------------------------* * The matrix does not have a block structure * *-----------------------------------------------------------------* \end{verbatim} \caption{Sample output from Info1.ex for matrix with pattern only \label{Fig2}} \end{figure} %% \vfill \section{Matrix generation routines} One of the difficulties encountered when testing and comparing numerical methods, is that it is sometimes difficult to guarantee that the matrices compared are indeed identical. Even though a paper may give full details on the test problems considered, programming errors or differences in coding may lead to the incorrect matrices and the incorrect conclusions. This has often happened in the past and is likely to be avoided if the matrices were generated with exactly the same code. The module MATGEN of SPARSKIT includes several matrix generation routines. \subsection{Finite Difference Matrices} \begin{enumerate} \item Scalar 5-point and 7-point matrices arising from discretization of the elliptic type equation: \begin{equation} L u = {\del \over \del x} ( a {\del \over \del x } u ) + {\del \over \del y } ( b {\del \over \del y } u) + {\del \over \del z } ( c {\del \over \del z } u ) + {\del \over \del x } ( d u ) + {\del \over \del y } (e u) + {\del \over \del z } ( f u ) + g u = h u \label{5-7pt} \end{equation} on rectangular regions with general mixed type boundary conditions of the following form \[ \alpha {\del u \over \del n} + \beta u = \gamma \] The user provides the functions $a, b, c, ...,h$, $\beta, \gamma$ and $\alpha$ is a constant on each boundary surface. The resulting matrix is in general sparse format, possibly printed in a file in the H/B format. There is a switch in the subroutine which makes it possible to choose between a strict centered difference type of discretization, or an upwind scheme for the first order derivatives. \item Block 5-point and 7-point matrices arising from discretization of the elliptic type equation \nref{5-7pt} in which $u$ is now a vector of $nfree$ components, and $a,b,c, ..., g$ are $nfree \times nfree $ matrices provided by the user. \end{enumerate} \subsection{Finite Element Matrices} Finite element matrices created from the convection-diffusion type problem \begin{equation} - \nabla . ({ K \nabla u }) + {C \nabla u} = f \label{kikuchi} \end{equation} on a domain $D$ with Dirichlet boundary conditions. A coarse initial domain is described by the user and the code does an arbitrary user-specified number of refinements of the grid and assembles the matrix, in CSR format. Linear triangular elements are used. If only the matrix is desired the heat source $f$ can be zero. Arbitrary grids can be input, but the user may also take advantage of nine initial grids supplied by the package for simple test problems. Two examples of meshes and the corresponding assemble matrices are shown in the following two pairs of figures: the first pair of figures are the mesh and assembled matrix with mesh number 8 and refinement 1; the second pair of figures are the mesh and assembled matrix with mesh number 9 and refinement 1. \begin{figure}[b] \begin{minipage}[h]{6.5cm} \includegraphics[height=5cm]{msh8} \end{minipage} \hfill \begin{minipage}[h]{6.5cm} \includegraphics[height=5cm]{mat8} \end{minipage} \hfill \end{figure} \newpage \begin{figure} \begin{minipage}[h]{6.5cm} \includegraphics[width=8cm]{msh9} \end{minipage} \hfill \begin{minipage}[h]{6.5cm} \includegraphics[height=7cm]{mat9} \end{minipage} \hfill \end{figure} \vskip 2.5in \subsection{Markov Chains} Markov chain matrices arising from a random walk on a triangular grid. This is mainly useful for testing nonsymmetric eigenvalue codes. It has been suggested by G.W. Stewart in one of his papers \cite{Stewart-SRRIT} and was used by Y. Saad in a few subsequent papers as a test problem for nonsymmetric eigenvalue methods, see, e.g., \cite{Saad-cheb}. \subsection{Other Matrices} Currently we have only one additional set of matrices. These are the test matrices \footnote{These subroutines have been contributed to the author by E. Rothman from Cornell University.} from Zlatev et. al. \cite{Zlatev-tests} and Osterby and Zlatev \cite{OsterbyZlatev-book}. The first two matrix generators described in the above references are referred to as $D(n,c) $ and $E(n,c)$ respectively. A more elaborate class where more than two parameters can be varied, is referred to as the class $F(m,n,c,r,\alpha) $ in \cite{OsterbyZlatev-book,Zlatev-tests}. The three subroutines to generate these matrices are called MATRF2 (for the class $F(m,n,c,r,\alpha)$ ), DCN (for the class $D(c,n)$) and ECN (for the class $E(c,n) $). These codes can generate rectangular as well as square matrices and allow a good flexibility in making the matrices more or less dense and more or less well conditioned. \section{The ORDERING Routines} The following subroutines are available in the directory ORDERINGS. \vskip 0.3in \marg{ levset.f }\disp{Reordering based on level sets, including Cuthill-McKee implemented with breadth first search.} \marg{ color.f }\disp{Reordering based on coloring, including a greedy algorithm for multicolor ordering.} \marg{ ccn.f }\disp{Reordering routines based on strongly connected components. Contributed by Laura C. Dutto (CERCA and Concordia University.} \section{The ITSOL routines} \marg{ILUT}\disp{This file contains a preconditioned GMRES algorithm with four preconditioners:} \marg{pgmres}\disp{Preconditioned GMRES solver. This solver may be used with all four of the precondioners below. Supports right preconditioning only.} \marg{ilut}\disp{ A robust preconditioner called ILUT which uses a dual thresholding strategy for dropping elements. Arbitrary accuracy is allowed in ILUT.} \marg{ilutp}\disp{ ILUT with partial pivoting} \marg{ilu0}\disp{ simple ILU(0) preconditioner} \marg{milu0}\disp{ MILU(0) preconditioner} \marg{ITERS}\disp{This file currently has several basic iterative linear system solvers which use reverse communication. They are:} \marg{cg}\disp{Conjugate Gradient Method} \marg{cgnr}\disp{Conjugate Gradient Method\-- for Normal Residual equation} \marg{bcg}\disp{Bi\-Conjugate Gradient Method} \marg{bcgstab}\disp{BCG stablized} \marg{tfqmr}\disp{Transpose\-Free Quasi\-Minimum Residual method} \marg{gmres}\disp{Generalized Minimum Residual method} \marg{fgmres}\disp{Flexible version of Generalized Minimum Residual method} \marg{dqgmres}\disp{Direct versions of Quasi Generalized Minimum Residual method} \marg{dbcg}\disp{BCG with partial pivoting} \section{The UNSUPP directory} In addition to the basic tools described in the previous sections, SPARSKIT includes a directory called UNSUPP includes software that is not necessarily portable or that does not fit in all previous modules. For example software for viewing matrix patterns on some particular workstation may be found here. Another example is routines related to matrix exponentials. %all the different %reordering schemes, such as minimum degree ordering, or %nested dissection etc.. Many of these are available from NETLIB but others may be contributed by researchers for comparison purposes. %The two basic programs for viewing matrix patterns on %a sun screen will eventually be replaced by %programs for the X-windows environment which is fast becoming %a standard. %There are three subdirecitories in this directory. %\subsection{Blas1} %The following items are available in Blas1. % %\vskip 0.3in % %\marg{dcopy} \disp{copies a vector, x, to a vector, y.} %\marg{ddot} \disp{dot product of two vectors.} %\marg{csscal}\disp{scales a complex vector by a real constant.} %\marg{cswap} \disp{interchanges two vectors.} %\marg{csrot} \disp{applies a plane rotation.} %\marg{cscal} \disp{scales a vector by a constant.} %\marg{ccopy} \disp{copies a vector, x, to a vector, y.} %\marg{drotg} \disp{construct givens plane rotation.} %\marg{drot} \disp{applies a plane rotation.} %\marg{dswap} \disp{interchanges two vectors.} %\marg{dscal} \disp{scales a vector by a constant.} %\marg{daxpy} \disp{constant times a vector plus a vector.} \subsection{Plots} The following items are available in PLOTS. \vskip 0.3in %\marg{ PLTMTPS}\disp{ a translation of the pltmt subroutine % in INOUT/inout.f % to produce a post-script file rather than a pic file. % Does not yet offer the same functionality as pltmt. } % %\marg{ HB2PIC}\disp{ reads a Harwell-Boeing % matrix and creates a picture file for pattern.} % %\marg{ HB2PS}\disp{translates a Harwell-Boeing file into a %Post-Script file.} \marg{ PSGRD}\disp{ contains subroutine "psgrid" which plots a symmetric graph.} %\marg{ RUNPS}\disp{ contains subroutine "rpltps" which reads % a Harwell-Boeing file from standard input and creates a % Post-Script file for it} \marg{ TEXPLT1}\disp{ contains subroutine "texplt" allows several matrices in the same picture by calling texplt several times and exploiting job and different shifts.} \marg{ TEXGRID1}\disp{ contains subroutine "texgrd" which generates tex commands for plotting a symmetric graph associated with a mesh. Allows several grids in the same picture by calling texgrd several times and exploiting job and different shifts.} \subsection{Matrix Exponentials} Two subroutines are available in this directory. \vskip 0.3in \marg{ EXPPRO}\disp{ A subroutine for computing the product of a matrix exponential times a vector, i.e. $w = exp(t\ A)\ v$.} \marg{ PHIPRO}\disp{ computes $w = \phi(A\ t)\ v$, where $\phi(x) = (1-exp(x))/x$; Also can solve the system of ODE's $ y'= A y + b$.} \section{Distribution} The SPARSKIT package follows the Linpack-Eispack approach in that it aims at providing efficient and well tested subroutines written in portable FORTRAN. Similarly to the Linpack and Eispack packages, the goal is to make available a common base of useful codes for a specific area of computation, in this case sparse linear algebra. The package is in the public domain and will be made accessible through the internet. See Figure \ref{organization} for an illustration of the organization of SPARSKIT. Read the README file in the main directory for more information. %Currently, the package is organized in six distinct subdirectories, %each containing one or more modules. The six directories %and the modules they contain are the following: %INOUT (inout.f), FORMATS (formats.f, unary.f), BLASSM (blassm.f, %matvec.f), MATGEN (genmat.f, zlatev.f), INFO (dinfo1.f), %UNSUPP (various routines). Test programs with unix makefiles %are provided in each %subdirectory to test a large number of the subroutines. %Each directory contains a README file listing contents, %and giving additional information. For information concerning distribution contact the author at %%saad@riacs.edu. saad@cs.umn.edu. \section{Conclusion and Future Plans} It is hoped that SPARSKIT will be useful in many ways to researchers in different areas of scientific computing. In this version of SPARSKIT, there are few sparse problem solvers, such as direct solution methods, or eigenvalue solvers. Some of these are available from different sources and we felt that it was not appropriate to provide additional ones. The original motivation for SPARSKIT is that there is a gap to fill in the manipulation and basic computations with sparse matrices. Once this gap is filled with some satisfaction, then additional functionality may be added. We briefly mentioned in the introduction the possibility of using SPARSKIT to develop an interactive package. Large matrices of dimension tens of of thousands can easily be manipulated with the current supercomputers, in real time. One of the difficulties with such an interactive package is that we do not yet have reliable routines for computing eigenvalues/eigenvectors of large sparse matrices. The state of the art in solving linear systems is in a much better situation. However, one must not contemplate performing the same type of computations as with small dense matrices. As an example, getting all the eigenvalues of a sparse matrix is not likely to be too useful when the matrix is very large. Beyond interactive software for sparse linear algebra, one can envision the integration of SPARSKIT in a larger package devoted to solving certain types of Partial Differential Equations, possibly interactively. \vskip 1.3in \noindent {\bf Acknowledgements.} The idea of creating a tool package for sparse matrices germinated while the author was at the Center for Supercomputing Research and Development of the University of Illinois (1986-1987) and part of this work was performed there. Initially the author has benefited from helpful comments from Iain Duff (then visiting CSRD) and a number of colleagues at CSRD. Billy Stewart and his students at NCSU used a preliminary version of SPARSKIT in a class project and made some valuable comments. Ernie Rothman (Cornell) and Laura Dutto (Montreal) contributed some software. The author has also benefited from helpful discussions from a number of other colleagues, including Mike Heroux, Giuseppe Radicatti, Ahmed Sameh, Horst Simon, Phuong Vu, and Harry Wijshoff. Students who contributed to version 2 of SPARSKIT include Kesheng Wu, Edmond Chow, and Dongli Su. \newpage \begin{thebibliography}{10} \bibitem{Anderson-Saad} E.~C. Anderson and Y.~Saad. \newblock Solving sparse triangular systems on parallel computers. \newblock Technical Report 794, University of Illinois, CSRD, Urbana, IL, 1988. \bibitem{Duff-survey} I.~S. Duff. \newblock A survey of sparse matrix research. \newblock In {\em Proceedings of the IEEE, 65}, pages 500--535, New York, 1977. Prentice Hall. \bibitem{Duff-book} I.~S. Duff, {A. M. Erisman}, and {J. K. Reid}. \newblock {\em Direct Methods for Sparse Matrices}. \newblock Clarendon Press, Oxford, 1986. \bibitem{Duff-HB} I.~S. Duff, R.~G. Grimes, and J.~G. Lewis. \newblock Sparse matrix test problems. \newblock {\em ACM trans. Math. Soft.}, 15:1--14, 1989. \bibitem{Oppe-NSPCG} T.~C. Oppe~Wayne Joubert and D.~R. Kincaid. \newblock Nspcg user's guide. a package for solving large linear systems by various iterative methods. \newblock Technical report, The University of Texas at Austin, 1988. \bibitem{Oppe-Kincaid} T.~C. Oppe and D.~R. Kincaid. \newblock The performance of {ITPACK} on vector computers for solving large sparse linear systems arising in sample oil reservoir simulation problems. \newblock {\em Communications in applied numerical methods}, 2:1--7, 1986. \bibitem{OsterbyZlatev-book} O.~Osterby and Z.~Zlatev. \newblock {\em Direct methods for sparse matrices}. \newblock Springer Verlag, New York, 1983. \bibitem{Saad-cheb} Y.~Saad. \newblock {Chebyshev} acceleration techniques for solving nonsymmetric eigenvalue problems. \newblock {\em Mathematics of Computation}, 42:567--588, 1984. \bibitem{Saad-Boeing} Y.~Saad. \newblock {Krylov} subspace methods on supercomputers. \newblock {\em SIAM J. Scient. Stat. Comput.}, 10:1200--1232, 1989. \bibitem{Stewart-SRRIT} G.W. Stewart. \newblock {SRRIT} - a FORTRAN subroutine to calculate the dominant invariant subspaces of a real matrix. \newblock Technical Report TR-514, University of Maryland, College Park, MD, 1978. \bibitem{Young-Oppe-al} D.~M. Young, T.C. Oppe, D.~R. Kincaid, and L.~J. Hayes. \newblock On the use of vector computers for solving large sparse linear systems. \newblock Technical Report CNA-199, Center for Numerical Analysis, University of Texas at Austin, Austin, Texas, 1985. \bibitem{Zlatev-tests} Z.~Zlatev, K.~Schaumburg, and J.~Wasniewski. \newblock A testing scheme for subroutines solving large linear problems. \newblock {\em Computers and Chemistry}, 5:91--100, 1981. \end{thebibliography} %% \newpage \appendix \centerline{\bf APPENDIX: QUICK REFERENCE} \vskip 0.3in For convenience we list in this appendix the most important subroutines in the various modules of SPARSKIT. More detailed information can be found either in the body of the paper or in the documentation of the package. \vskip 0.3in \centerline{\bf FORMATS Module} \begin{itemize} \item CSRDNS : converts a row-stored sparse matrix into the dense format. \item DNSCSR : converts a dense matrix to a sparse storage format. \item COOCSR : converts coordinate to to csr format \item COICSR : in-place conversion of coordinate to csr format \item CSRCOO : converts compressed sparse row to coordinate format. \item CSRSSR : converts compressed sparse row to symmetric sparse row format. \item SSRCSR : converts symmetric sparse row to compressed sparse row format. \item CSRELL : converts compressed sparse row to Ellpack format \item ELLCSR : converts Ellpack format to compressed sparse row format. \item CSRMSR : converts compressed sparse row format to modified sparse row format. \item MSRCSR : converts modified sparse row format to compressed sparse row format. \item CSRCSC : converts compressed sparse row format to compressed sparse column format (transposition). \item CSRLNK : converts compressed sparse row to linked list format. \item LNKCSR : converts linked list format to compressed sparse row fmt. \item CSRDIA : converts the compressed sparse row format into the diagonal format. \item DIACSR : converts the diagonal format into the compressed sparse row format. \item BSRCSR : converts the block-row sparse format into the compressed sparse row format. \item CSRBSR : converts the compressed sparse row format into the block-row sparse format. \item CSRBND : converts the compressed sparse row format into the banded format (Linpack style). \item BNDCSR : converts the banded format (Linpack style) into the compressed sparse row storage. \item CSRSSK : converts the compressed sparse row format to the symmetric skyline format \item SSKSSR : converts symmetric skyline format to symmetric sparse row format. \item CSRJAD : converts the csr format into the jagged diagonal format. \item JADCSR : converts the jagged-diagonal format into the csr format. \item CSRUSS : converts the csr format to unsymmetric sparse skyline format. \item USSCSR : converts unsymmetric sparse skyline format to the csr format. \item CSRSSS : converts the csr format to symmetric sparse skyline format. \item SSSCSR : converts symmetric sparse skyline format to the csr format. \item CSRVBR : converts compressed sparse row into variable block row format. \item VBRCSR : converts the variable block row format into the \item COOELL : converts the coordinate format into the Ellpack/Itpack format. compressed sparse row format. \end{itemize} \vskip 0.3in \centerline{\bf UNARY Module} \begin{itemize} \item SUBMAT : extracts a submatrix from a sparse matrix. \item FILTER : filters elements from a matrix according to their magnitude. \item FILTERM: Same as above, but for the MSR format. \item TRANSP : in-place transposition routine (see also CSRCSC in formats) \item GETELM : returns $a(i,j)$ for any $(i,j)$ from a CSR-stored matrix. \item COPMAT : copies a matrix into another matrix (both stored csr). \item MSRCOP : copies a matrix in MSR format into a matrix in MSR format. \item GETELM : returns a(i,j) for any (i,j) from a CSR-stored matrix. \item GETDIA : extracts a specified diagonal from a matrix. \item GETL : extracts lower triangular part. \item GETU : extracts upper triangular part. \item LEVELS : gets the level scheduling structure for lower triangular matrices. \item AMASK : extracts $C = A \odot M $ \item RPERM : permutes the rows of a matrix ($B = P A$) \item CPERM : permutes the columns of a matrix ($B = A Q$) \item DPERM : permutes a matrix ($B = P A Q$) given two permutations P, Q \item DPERM2 : general submatrix permutation/extraction routine. \item DMPERM : symmetric permutation of row and column (B=PAP') in MSR fmt. \item DVPERM : permutes a vector (in-place). \item IVPERM : permutes an integer vector (in-place). \item RETMX : returns the max absolute value in each row of the matrix. \item DIAPOS : returns the positions of the diagonal elements in A. \item EXTBDG : extracts the main diagonal blocks of a matrix. \item GETBWD : returns the bandwidth information on a matrix. \item BLKFND : finds the block-size of a matrix. \item BLKCHK : checks whether a given integer is the block size of $A$. \item INFDIA : obtains information on the diagonals of $A$. \item AMUBDG : computes the number of nonzero elements in each row of $A*B$. \item APLBDG : computes the number of nonzero elements in each row of $ A+B$. \item RNRMS : computes the norms of the rows of $A$. \item CNRMS : computes the norms of the columns of $A$. \item ROSCAL : scales the rows of a matrix by their norms. \item COSCAL : scales the columns of a matrix by their norms. \item ADDBLK : adds a matrix B into a block of A. \item GET1UP : collects the first elements of each row of the upper triangular portion of the matrix. \item XTROWS : extracts given rows from a matrix in CSR format. \end{itemize} \vskip 0.3in \centerline{\bf INOUT Module} \begin{itemize} \item READMT : reads matrices in the boeing/Harwell format. \item PRTMT : prints matrices in the boeing/Harwell format. \item DUMP : prints rows of a matrix, in a readable format. \item PLTMT : produces a 'pic' file for plotting a sparse matrix. \item PSPLTM : Generates a post-script plot of the non-zero pattern of A. \item SMMS : Write the matrix in a format used in SMMS package. \item READSM : Reads matrices in coordinate format (as in SMMS package). \item READSK : Reads matrices in CSR format (simplified H/B formate). \item SKIT : Writes matrices to a file, format same as above. \item PRTUNF : Writes matrices (in CSR format) unformatted. \item READUNF : Reads unformatted data of matrices (in CSR format). \end{itemize} \vskip 0.3in \centerline{\bf INFO Module} \begin{itemize} \item INFOFUN : routines for statistics on a sparse matrix. \end{itemize} \vskip 0.3in \centerline{\bf MATGEN Module} \begin{itemize} \item GEN57PT : generates 5-point and 7-point matrices. \item GEN57BL : generates block 5-point and 7-point matrices. \item GENFEA : generates finite element matrices in assembled form. \item GENFEU : generates finite element matrices in unassembled form. \item ASSMB1 : assembles an unassembled matrix (as produced by genfeu). \item MATRF2 : Routines for generating sparse matrices by Zlatev et al. \item DCN: Routines for generating sparse matrices by Zlatev et al. \item ECN: Routines for generating sparse matrices by Zlatev et al. \item MARKGEN: subroutine to produce a Markov chain matrix for a random walk. \end{itemize} \vskip 0.3in \centerline{\bf BLASSM Module} \begin{itemize} \item AMUB : computes $ C = A*B $ . \item APLB : computes $ C = A+B $ . \item APLSB : computes $ C = A + s B $. \item APMBT : Computes $ C = A \pm B^T $. \item APLSBT : Computes $ C = A + s * B^T $ . \item DIAMUA : Computes $ C = Diag * A $ . \item AMUDIA : Computes $ C = A* Diag $ . \item APLDIA : Computes $ C = A + Diag $ . \item APLSCA : Computes $ A:= A + s I $ ($s$ = scalar). \end{itemize} \vskip 0.3in \centerline{\bf MATVEC Module} \begin{itemize} \item AMUX : $A$ times a vector. Compressed Sparse Row (CSR) format. \item ATMUX : $A^T $ times a vector. CSR format. \item AMUXE : $A$ times a vector. Ellpack/Itpack (ELL) format. \item AMUXD : $A$ times a vector. Diagonal (DIA) format. \item AMUXJ : $A$ times a vector. Jagged Diagonal (JAD) format. \item VBRMV : $A$ times a vector. Variable Block Row (VBR) format. \item LSOL : Unit lower triangular system solution. Compressed Sparse Row (CSR) format. \item LDSOL : Lower triangular system solution. Modified Sparse Row (MSR) format. \item LSOL : Unit lower triangular system solution. Compressed Sparse Column (CSC) format. \item LDSOLC: Lower triangular system solution. Modified Sparse Column (MSC) format. \item LDSOLL: Lower triangular system solution with level scheduling. MSR format. \item USOL : Unit upper triangular system solution. Compressed Sparse Row (CSR) format. \item UDSOL : Upper triangular system solution. Modified Sparse Row (MSR) format. \item USOLC : Unit upper triangular system solution. Compressed Sparse Column (CSC) format. \item UDSOLC: Upper triangular system solution. Modified Sparse Column (MSC) format. \end{itemize} \vskip 0.3in \vbox{ \centerline{\bf ORDERINGS Module} \begin{itemize} \item levset.f : level set based reordering, including RCM \item color.f : coloring based reordering \item ccn.f : reordering based on strongly connected components \end{itemize} } \vskip 0.3in \vbox{ \centerline{\bf ITSOL Module} \begin{itemize} \item ILUT: ILUT(k) preconditioned GMRES mini package. \item ITERS: nine basic iterative linear system solvers. \end{itemize} } \vskip 0.3in \vbox{ \centerline{\bf PLOTS Module} \begin{itemize} %\item PLTMTPS : creates a Post Script file to plot a sparse matrix. %\item HB2PIC: reads a Harwell-Boeing matrix and creates a pic file % for pattern. %\item HB2PS: translates a Harwell - Boeing file into a Post-Script file. \item PSGRD: plots a symmetric graph. %\item RUNPS: reads a Harwell - Boeing file from standard input and % creates a Post-Script file for it. \item TEXPLT1: allows several matrices in the same picture. \item TEXGRID1: allows several grids in the same picture. \end{itemize} } \vskip 0.3in \vbox{ \centerline{\bf MATEXP Module} \begin{itemize} \item EXPPRO: computes $w = exp(t\ A)\ v$. \item PHIPRO: computes $w = \phi(A\ t)\ v$, where $ \phi(x) = (1-exp(x))/x$. Also solves the P.D.E. system $y' = Ay+b$. \end{itemize} } \end{document} \begin{thebibliography}{1} sparskit-2.0.0/DOC/dir.eps0000640000265600020320000000630106203735206014370 0ustar tilleaadmin%!PS-Adobe-2.0 EPSF-2.0 %%Title: /tmp/xfig-fig024490 %%Creator: fig2dev %%CreationDate: Thu Aug 19 20:24:55 1993 %%For: dsu@unity (Dongli Su,2-209 EECS,626-7512,378-3764) %%BoundingBox: 0 0 567 259 %%Pages: 0 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0 setlinecap 0 setlinejoin -18.0 328.0 translate 0.900 -0.900 scale 0.500 setlinewidth % Polyline n 49 244 m 319 99 l gs col-1 s gr % Polyline n 319 99 m 134 244 l gs col-1 s gr % Polyline n 319 99 m 204 244 l gs col-1 s gr % Polyline n 319 99 m 264 244 l gs col-1 s gr % Polyline n 319 99 m 324 244 l gs col-1 s gr % Polyline n 319 99 m 394 244 l gs col-1 s gr % Polyline n 319 99 m 484 244 l gs col-1 s gr % Polyline n 319 99 m 569 244 l gs col-1 s gr % Polyline n 544 304 m 564 264 l gs col-1 s gr % Polyline n 564 264 m 614 304 l gs col-1 s gr % Polyline n 344 304 m 389 264 l gs col-1 s gr % Polyline n 389 264 m 399 304 l gs col-1 s gr % Polyline n 389 264 m 454 304 l gs col-1 s gr % Polyline n 319 99 m 319 99 l 634 244 l 634 244 l gs col-1 s gr /Times-Roman findfont 14.00 scalefont setfont 19 259 m gs 1 -1 scale (BLASSM) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 99 259 m gs 1 -1 scale (FORMATS) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 189 259 m gs 1 -1 scale (INFO) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 239 259 m gs 1 -1 scale (INOUT) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 304 259 m gs 1 -1 scale (ITSOL) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 359 259 m gs 1 -1 scale (MATGEN) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 439 259 m gs 1 -1 scale (ORDERINGS) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 539 259 m gs 1 -1 scale (UNSUPP) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 519 319 m gs 1 -1 scale (MATEXP) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 329 319 m gs 1 -1 scale (FDIF) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 384 319 m gs 1 -1 scale (FEM) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 439 319 m gs 1 -1 scale (MISC) col-1 show gr /Times-Roman findfont 18.00 scalefont setfont 279 89 m gs 1 -1 scale (SPARSKIT) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 599 319 m gs 1 -1 scale (PLOTS) col-1 show gr %%/Times-Roman findfont 20.00 scalefont setfont %%199 364 m %%gs 1 -1 scale (General organization of SPARSKIT) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 619 259 m gs 1 -1 scale (DOC) col-1 show gr $F2psEnd sparskit-2.0.0/DOC/vbrpic.eps0000640000265600020320000002352706203735214015107 0ustar tilleaadmin%!PS-Adobe-2.0 EPSF-2.0 %%Title: /tmp/xfig-fig009549 %%Creator: fig2dev %%CreationDate: Sun May 1 19:21:40 1994 %%For: chow@mega (Edmond Chow,EE/CS 6-210,626-0071,625-3031) %%BoundingBox: 0 0 403 355 %%Pages: 0 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0 setlinecap 0 setlinejoin -58.0 414.0 translate 0.900 -0.900 scale 0.500 setlinewidth % Polyline n 99 439 m 479 439 l 479 459 l 99 459 l 99 439 l clp gs col-1 s gr % Polyline n 119 439 m 119 459 l gs col-1 s gr % Polyline n 139 439 m 139 459 l gs col-1 s gr % Polyline n 159 439 m 159 459 l gs col-1 s gr % Polyline n 179 439 m 179 459 l gs col-1 s gr % Polyline n 199 439 m 199 459 l gs col-1 s gr % Polyline n 219 439 m 219 459 l gs col-1 s gr % Polyline n 239 439 m 239 459 l gs col-1 s gr % Polyline n 259 439 m 259 459 l gs col-1 s gr n 279 439 m 279 439 l gs col-1 s gr % Polyline n 279 439 m 279 459 l gs col-1 s gr % Polyline n 299 439 m 299 459 l gs col-1 s gr % Polyline n 319 439 m 319 459 l gs col-1 s gr % Polyline n 339 439 m 339 459 l gs col-1 s gr % Polyline n 359 439 m 359 459 l gs col-1 s gr % Polyline n 379 439 m 379 459 l gs col-1 s gr % Polyline n 399 439 m 399 459 l gs col-1 s gr % Polyline n 419 439 m 419 459 l gs col-1 s gr % Polyline n 459 439 m 459 459 l gs col-1 s gr /Times-Roman findfont 12.00 scalefont setfont 104 434 m gs 1 -1 scale ( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 69 454 m gs 1 -1 scale (A) col-1 show gr % Polyline n 399 79 m 499 79 l 499 99 l 399 99 l 399 79 l clp gs col-1 s gr % Polyline n 419 79 m 419 99 l gs col-1 s gr % Polyline n 439 79 m 439 99 l gs col-1 s gr % Polyline n 459 79 m 459 99 l gs col-1 s gr % Polyline n 479 79 m 479 99 l gs col-1 s gr /Times-Roman findfont 12.00 scalefont setfont 404 74 m gs 1 -1 scale ( 1 2 3 4 5) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 339 94 m gs 1 -1 scale (KVSTC) col-1 show gr % Polyline n 199 79 m 279 79 l 279 99 l 199 99 l 199 79 l clp gs col-1 s gr % Polyline n 219 79 m 219 99 l gs col-1 s gr % Polyline n 239 79 m 239 99 l gs col-1 s gr % Polyline n 259 79 m 259 99 l gs col-1 s gr /Times-Roman findfont 12.00 scalefont setfont 209 94 m gs 1 -1 scale (1 3 4 7) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 204 74 m gs 1 -1 scale ( 1 2 3 4) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 139 94 m gs 1 -1 scale (KVSTR) col-1 show gr % Polyline n 99 219 m 179 219 l 179 239 l 99 239 l 99 219 l clp gs col-1 s gr % Polyline n 99 279 m 219 279 l 219 299 l 99 299 l 99 279 l clp gs col-1 s gr % Polyline n 99 339 m 239 339 l 239 359 l 99 359 l 99 339 l clp gs col-1 s gr % Polyline n 119 219 m 119 239 l gs col-1 s gr % Polyline n 139 219 m 139 239 l gs col-1 s gr % Polyline n 159 219 m 159 239 l gs col-1 s gr % Polyline n 119 279 m 119 299 l gs col-1 s gr % Polyline n 139 279 m 139 299 l gs col-1 s gr % Polyline n 159 279 m 159 299 l gs col-1 s gr % Polyline n 179 279 m 179 299 l gs col-1 s gr % Polyline n 199 279 m 199 299 l gs col-1 s gr % Polyline n 119 339 m 119 359 l gs col-1 s gr % Polyline n 139 339 m 139 359 l gs col-1 s gr % Polyline n 159 339 m 159 359 l gs col-1 s gr % Polyline n 179 339 m 179 359 l gs col-1 s gr % Polyline n 199 339 m 199 359 l gs col-1 s gr % Polyline n 219 339 m 219 359 l gs col-1 s gr % Polyline n 109 239 m 109 259 l gs col-1 s gr n 111.000 251.000 m 109.000 259.000 l 107.000 251.000 l gs 2 setlinejoin col-1 s gr % Polyline n 124 239 m 144 259 l gs col-1 s gr n 139.757 251.929 m 144.000 259.000 l 136.929 254.757 l gs 2 setlinejoin col-1 s gr % Polyline n 149 239 m 184 259 l gs col-1 s gr n 178.046 253.294 m 184.000 259.000 l 176.062 256.767 l gs 2 setlinejoin col-1 s gr % Polyline n 169 239 m 224 259 l gs col-1 s gr n 217.165 254.386 m 224.000 259.000 l 215.798 258.146 l gs 2 setlinejoin col-1 s gr % Polyline n 439 439 m 439 459 l gs col-1 s gr % Polyline n 109 359 m 109 419 l gs col-1 s gr n 111.000 411.000 m 109.000 419.000 l 107.000 411.000 l gs 2 setlinejoin col-1 s gr % Polyline n 129 359 m 184 419 l gs col-1 s gr n 180.069 411.751 m 184.000 419.000 l 177.120 414.454 l gs 2 setlinejoin col-1 s gr % Polyline n 144 359 m 224 419 l gs col-1 s gr n 218.800 412.600 m 224.000 419.000 l 216.400 415.800 l gs 2 setlinejoin col-1 s gr % Polyline n 169 359 m 279 419 l gs col-1 s gr n 272.935 413.413 m 279.000 419.000 l 271.019 416.925 l gs 2 setlinejoin col-1 s gr % Polyline n 189 359 m 299 419 l gs col-1 s gr n 292.935 413.413 m 299.000 419.000 l 291.019 416.925 l gs 2 setlinejoin col-1 s gr % Polyline n 209 359 m 364 419 l gs col-1 s gr n 357.261 414.247 m 364.000 419.000 l 355.817 417.977 l gs 2 setlinejoin col-1 s gr % Polyline n 229 359 m 484 419 l gs col-1 s gr n 476.671 415.221 m 484.000 419.000 l 475.755 419.115 l gs 2 setlinejoin col-1 s gr % Polyline n 379 159 m 379 279 l gs col-1 s gr % Polyline n 439 159 m 439 279 l gs col-1 s gr % Polyline n 499 279 m 499 159 l 339 159 l 339 279 l clp gs col-1 s gr % Polyline n 459 159 m 459 279 l gs col-1 s gr % Polyline n 339 199 m 499 199 l gs col-1 s gr % Polyline n 339 219 m 499 219 l gs col-1 s gr % Polyline n 409 99 m 354 139 l gs col-1 s gr n 361.646 135.912 m 354.000 139.000 l 359.294 132.677 l gs 2 setlinejoin col-1 s gr % Polyline n 429 99 m 389 139 l gs col-1 s gr n 396.071 134.757 m 389.000 139.000 l 393.243 131.929 l gs 2 setlinejoin col-1 s gr % Polyline n 449 99 m 449 139 l gs col-1 s gr n 451.000 131.000 m 449.000 139.000 l 447.000 131.000 l gs 2 setlinejoin col-1 s gr % Polyline n 469 99 m 469 139 l gs col-1 s gr n 471.000 131.000 m 469.000 139.000 l 467.000 131.000 l gs 2 setlinejoin col-1 s gr % Polyline n 489 99 m 504 139 l gs col-1 s gr n 503.064 130.807 m 504.000 139.000 l 499.318 132.212 l gs 2 setlinejoin col-1 s gr % Polyline n 269 99 m 319 284 l gs col-1 s gr n 318.843 275.755 m 319.000 284.000 l 314.982 276.799 l gs 2 setlinejoin col-1 s gr % Polyline n 249 99 m 319 224 l gs col-1 s gr n 316.836 216.043 m 319.000 224.000 l 313.346 217.997 l gs 2 setlinejoin col-1 s gr % Polyline n 224 99 m 319 204 l gs col-1 s gr n 315.116 196.726 m 319.000 204.000 l 312.150 199.410 l gs 2 setlinejoin col-1 s gr % Polyline n 209 99 m 319 169 l gs col-1 s gr n 313.324 163.018 m 319.000 169.000 l 311.177 166.392 l gs 2 setlinejoin col-1 s gr /Times-Roman findfont 12.00 scalefont setfont 104 294 m gs 1 -1 scale ( 1 3 2 3 3 4) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 354 m gs 1 -1 scale ( 1 5 7 10 11 14 20) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 334 m gs 1 -1 scale ( 1 2 3 4 5 6 7) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 69 234 m gs 1 -1 scale (IA) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 69 294 m gs 1 -1 scale (JA) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 64 354 m gs 1 -1 scale (KA) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 234 m gs 1 -1 scale ( 1 3 5 7) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 214 m gs 1 -1 scale ( 1 2 3 4) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 274 m gs 1 -1 scale ( 1 2 3 4 5 6) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 224 274 m gs 1 -1 scale ( 7) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 454 m gs 1 -1 scale ( 1 4 2 5 3 6 7 8 9 10 11 14 17 12 15 18 13 16 19) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 404 94 m gs 1 -1 scale ( 1 3 6 7 9 ) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 344 174 m gs 1 -1 scale ( 1 2 3) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 344 194 m gs 1 -1 scale ( 4 5 6) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 384 214 m gs 1 -1 scale ( 7 8 9 10) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 444 234 m gs 1 -1 scale (11 12 13) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 444 254 m gs 1 -1 scale (14 15 16) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 444 274 m gs 1 -1 scale (17 18 19) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 174 m gs 1 -1 scale (1) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 194 m gs 1 -1 scale (2) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 214 m gs 1 -1 scale (3) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 234 m gs 1 -1 scale (4) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 254 m gs 1 -1 scale (5) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 274 m gs 1 -1 scale (6) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 344 154 m gs 1 -1 scale ( 1 2 3 4 5 6 7 8) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 294 m gs 1 -1 scale (7) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 494 154 m gs 1 -1 scale ( 9) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 259 344 m gs 1 -1 scale (IA also indexes into KA) col-1 show gr $F2psEnd sparskit-2.0.0/DOC/dir.pdf0000640000265600020320000000267710213267546014371 0ustar tilleaadmin%PDF-1.3 %Çì¢ 5 0 obj <> stream xœuQËnÛ0¼ó+ö(ÄrÉåëèÄ’¡Ö¶‘9¥hÐ":9ô÷»ôS@!9;ÃÑìò”DPe]ö·I|=¼ ’þ „ßBÁVh‡€*L|ŒÚ„"ÍÐ$PiwVýÇ8»ÀhŒKŒ7 Œ1n!ôKL$¼3äÑ¥ÒÕ¥~“°†Î’“S¼éÑxÓß× ñ¦Ÿ×£šùÌû›ÍÑÚûäæçÄß<ÙÓë\¶· 2¿SÔÒAþ%·P+!ò$^ª‡Ý:¥ýªFFêXµý¸_çT ÊJë«îÐöŒ8…$è?f†Öh\ÕåÔïªxÒòÍms`LÆKª~Ü4cwØ;ÒªÜ8ÒqV¯ùû9K:² jKŠâÒ<«üG”Tš‹/U»éÚU­ 4¦jά­öì»ôxwtRÇš,håOŽiXéG—‹çü¯:¨¯¢a×sßWÅuj.©6ýc!›,žxýXœ¤endstream endobj 6 0 obj 377 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 9 0 obj <> endobj 10 0 obj <> endobj 8 0 obj <> endobj 2 0 obj <>endobj xref 0 11 0000000000 65535 f 0000000699 00000 n 0000000913 00000 n 0000000640 00000 n 0000000481 00000 n 0000000015 00000 n 0000000462 00000 n 0000000747 00000 n 0000000847 00000 n 0000000788 00000 n 0000000817 00000 n trailer << /Size 11 /Root 1 0 R /Info 2 0 R /ID [([ì¸Ê;Xé~|:kAá)([ì¸Ê;Xé~|:kAá)] >> startxref 1130 %%EOF sparskit-2.0.0/DOC/doc_data.txt0000640000265600020320000000065310213267120015373 0ustar tilleaadminInfoKey: Creator InfoValue: fig2dev Version 3.2 Patchlevel 3c InfoKey: Title InfoValue: dir.pdf InfoKey: Author InfoValue: q127038@caek315 (Daniel Heiserer, EK-213, +49-89-382-21187) InfoKey: Producer InfoValue: GPL Ghostscript 8.15 InfoKey: ModDate InfoValue: D:20050308101430 InfoKey: CreationDate InfoValue: D:20050308101430 PdfID0: 5eca9773bba4d12b8b37b446c3226559 PdfID1: 5eca9773bba4d12b8b37b446c3226559 NumberOfPages: 2 sparskit-2.0.0/DOC/mat8.ps0000640000265600020320000037336510213313741014327 0ustar tilleaadmin%!PS-Adobe-2.0 EPSF-2.0 %%Creator: PSPLTM routine %%BoundingBox: 100 50 510 500 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 0.500000 cm scalefont setfont 10.7950 cm 16.9700 cm moveto (Assembled Matrix) Cshow 3.81000 cm 2.00000 cm translate 13.9700 cm 1257 div dup scale 0.250000 setlinewidth newpath 0 0 moveto 1257 0 lineto 1257 1257 lineto 0 1257 lineto closepath stroke 0.2 setlinewidth 1 1 translate 0.8 setlinewidth /p {moveto 0 -.40 rmoveto 0 .80 rlineto stroke} def 0 1255 p 880 1255 p 881 1255 p 918 1255 p 1 1254 p 1161 1254 p 1160 1254 p 1199 1254 p 2 1253 p 469 1253 p 468 1253 p 472 1253 p 3 1252 p 730 1252 p 731 1252 p 732 1252 p 4 1251 p 330 1251 p 332 1251 p 333 1251 p 1202 1251 p 1233 1251 p 5 1250 p 332 1250 p 331 1250 p 335 1250 p 337 1250 p 1121 1250 p 1164 1250 p 6 1249 p 337 1249 p 336 1249 p 339 1249 p 341 1249 p 1041 1249 p 1080 1249 p 7 1248 p 341 1248 p 340 1248 p 343 1248 p 345 1248 p 961 1248 p 963 1248 p 8 1247 p 345 1247 p 344 1247 p 347 1247 p 349 1247 p 882 1247 p 920 1247 p 9 1246 p 349 1246 p 348 1246 p 351 1246 p 353 1246 p 820 1246 p 845 1246 p 10 1245 p 353 1245 p 352 1245 p 356 1245 p 799 1245 p 798 1245 p 11 1244 p 334 1244 p 333 1244 p 357 1244 p 359 1244 p 12 1243 p 331 1243 p 330 1243 p 334 1243 p 338 1243 p 358 1243 p 361 1243 p 13 1242 p 336 1242 p 335 1242 p 338 1242 p 342 1242 p 362 1242 p 364 1242 p 14 1241 p 340 1241 p 339 1241 p 342 1241 p 346 1241 p 365 1241 p 367 1241 p 15 1240 p 344 1240 p 343 1240 p 346 1240 p 350 1240 p 368 1240 p 370 1240 p 16 1239 p 348 1239 p 347 1239 p 350 1239 p 354 1239 p 371 1239 p 373 1239 p 17 1238 p 352 1238 p 351 1238 p 354 1238 p 355 1238 p 374 1238 p 376 1238 p 18 1237 p 356 1237 p 355 1237 p 377 1237 p 19 1236 p 360 1236 p 359 1236 p 379 1236 p 381 1236 p 20 1235 p 358 1235 p 357 1235 p 360 1235 p 363 1235 p 380 1235 p 383 1235 p 21 1234 p 362 1234 p 361 1234 p 363 1234 p 366 1234 p 384 1234 p 386 1234 p 22 1233 p 365 1233 p 364 1233 p 366 1233 p 369 1233 p 387 1233 p 389 1233 p 23 1232 p 368 1232 p 367 1232 p 369 1232 p 372 1232 p 390 1232 p 392 1232 p 24 1231 p 371 1231 p 370 1231 p 372 1231 p 375 1231 p 393 1231 p 395 1231 p 25 1230 p 374 1230 p 373 1230 p 375 1230 p 378 1230 p 396 1230 p 398 1230 p 26 1229 p 377 1229 p 376 1229 p 378 1229 p 399 1229 p 402 1229 p 404 1229 p 27 1228 p 382 1228 p 381 1228 p 406 1228 p 408 1228 p 28 1227 p 380 1227 p 379 1227 p 382 1227 p 385 1227 p 405 1227 p 410 1227 p 29 1226 p 384 1226 p 383 1226 p 385 1226 p 388 1226 p 409 1226 p 413 1226 p 30 1225 p 387 1225 p 386 1225 p 388 1225 p 391 1225 p 412 1225 p 415 1225 p 31 1224 p 390 1224 p 389 1224 p 391 1224 p 394 1224 p 416 1224 p 418 1224 p 32 1223 p 393 1223 p 392 1223 p 394 1223 p 397 1223 p 419 1223 p 421 1223 p 33 1222 p 396 1222 p 395 1222 p 397 1222 p 400 1222 p 422 1222 p 424 1222 p 34 1221 p 399 1221 p 398 1221 p 400 1221 p 401 1221 p 425 1221 p 427 1221 p 35 1220 p 402 1220 p 401 1220 p 403 1220 p 428 1220 p 430 1220 p 36 1219 p 404 1219 p 403 1219 p 431 1219 p 434 1219 p 37 1218 p 407 1218 p 408 1218 p 436 1218 p 438 1218 p 38 1217 p 405 1217 p 406 1217 p 407 1217 p 411 1217 p 435 1217 p 440 1217 p 39 1216 p 409 1216 p 410 1216 p 411 1216 p 414 1216 p 439 1216 p 443 1216 p 40 1215 p 412 1215 p 413 1215 p 414 1215 p 417 1215 p 442 1215 p 446 1215 p 41 1214 p 416 1214 p 415 1214 p 417 1214 p 420 1214 p 445 1214 p 449 1214 p 42 1213 p 419 1213 p 418 1213 p 420 1213 p 423 1213 p 448 1213 p 452 1213 p 43 1212 p 422 1212 p 421 1212 p 423 1212 p 426 1212 p 451 1212 p 455 1212 p 44 1211 p 425 1211 p 424 1211 p 426 1211 p 429 1211 p 454 1211 p 457 1211 p 45 1210 p 428 1210 p 427 1210 p 429 1210 p 432 1210 p 458 1210 p 460 1210 p 46 1209 p 431 1209 p 430 1209 p 432 1209 p 433 1209 p 461 1209 p 464 1209 p 465 1209 p 47 1208 p 434 1208 p 433 1208 p 466 1208 p 470 1208 p 469 1208 p 48 1207 p 437 1207 p 438 1207 p 475 1207 p 477 1207 p 49 1206 p 435 1206 p 436 1206 p 437 1206 p 441 1206 p 474 1206 p 479 1206 p 50 1205 p 439 1205 p 440 1205 p 441 1205 p 444 1205 p 478 1205 p 482 1205 p 51 1204 p 442 1204 p 443 1204 p 444 1204 p 447 1204 p 481 1204 p 485 1204 p 52 1203 p 445 1203 p 446 1203 p 447 1203 p 450 1203 p 484 1203 p 488 1203 p 53 1202 p 448 1202 p 449 1202 p 450 1202 p 453 1202 p 487 1202 p 491 1202 p 54 1201 p 451 1201 p 452 1201 p 453 1201 p 456 1201 p 490 1201 p 494 1201 p 55 1200 p 454 1200 p 455 1200 p 456 1200 p 459 1200 p 493 1200 p 497 1200 p 56 1199 p 458 1199 p 457 1199 p 459 1199 p 462 1199 p 496 1199 p 500 1199 p 57 1198 p 461 1198 p 460 1198 p 462 1198 p 463 1198 p 499 1198 p 503 1198 p 58 1197 p 464 1197 p 463 1197 p 467 1197 p 502 1197 p 507 1197 p 59 1196 p 466 1196 p 465 1196 p 467 1196 p 471 1196 p 506 1196 p 60 1195 p 468 1195 p 470 1195 p 471 1195 p 473 1195 p 505 1195 p 509 1195 p 61 1194 p 472 1194 p 473 1194 p 511 1194 p 62 1193 p 476 1193 p 477 1193 p 513 1193 p 515 1193 p 63 1192 p 474 1192 p 475 1192 p 476 1192 p 480 1192 p 512 1192 p 517 1192 p 64 1191 p 478 1191 p 479 1191 p 480 1191 p 483 1191 p 516 1191 p 520 1191 p 65 1190 p 481 1190 p 482 1190 p 483 1190 p 486 1190 p 519 1190 p 523 1190 p 66 1189 p 484 1189 p 485 1189 p 486 1189 p 489 1189 p 522 1189 p 526 1189 p 67 1188 p 487 1188 p 488 1188 p 489 1188 p 492 1188 p 525 1188 p 529 1188 p 68 1187 p 490 1187 p 491 1187 p 492 1187 p 495 1187 p 528 1187 p 532 1187 p 69 1186 p 493 1186 p 494 1186 p 495 1186 p 498 1186 p 531 1186 p 535 1186 p 70 1185 p 496 1185 p 497 1185 p 498 1185 p 501 1185 p 534 1185 p 538 1185 p 71 1184 p 499 1184 p 500 1184 p 501 1184 p 504 1184 p 537 1184 p 541 1184 p 72 1183 p 502 1183 p 503 1183 p 504 1183 p 508 1183 p 540 1183 p 544 1183 p 73 1182 p 505 1182 p 506 1182 p 507 1182 p 508 1182 p 510 1182 p 543 1182 p 547 1182 p 74 1181 p 509 1181 p 510 1181 p 511 1181 p 546 1181 p 75 1180 p 514 1180 p 515 1180 p 550 1180 p 76 1179 p 512 1179 p 513 1179 p 514 1179 p 518 1179 p 549 1179 p 552 1179 p 77 1178 p 516 1178 p 517 1178 p 518 1178 p 521 1178 p 551 1178 p 555 1178 p 78 1177 p 519 1177 p 520 1177 p 521 1177 p 524 1177 p 554 1177 p 558 1177 p 79 1176 p 522 1176 p 523 1176 p 524 1176 p 527 1176 p 557 1176 p 561 1176 p 80 1175 p 525 1175 p 526 1175 p 527 1175 p 530 1175 p 560 1175 p 564 1175 p 81 1174 p 528 1174 p 529 1174 p 530 1174 p 533 1174 p 563 1174 p 567 1174 p 82 1173 p 531 1173 p 532 1173 p 533 1173 p 536 1173 p 566 1173 p 570 1173 p 83 1172 p 534 1172 p 535 1172 p 536 1172 p 539 1172 p 569 1172 p 573 1172 p 84 1171 p 537 1171 p 538 1171 p 539 1171 p 542 1171 p 572 1171 p 576 1171 p 85 1170 p 540 1170 p 541 1170 p 542 1170 p 545 1170 p 575 1170 p 579 1170 p 86 1169 p 543 1169 p 544 1169 p 545 1169 p 548 1169 p 578 1169 p 582 1169 p 87 1168 p 546 1168 p 547 1168 p 548 1168 p 581 1168 p 584 1168 p 88 1167 p 549 1167 p 550 1167 p 553 1167 p 587 1167 p 89 1166 p 551 1166 p 552 1166 p 553 1166 p 556 1166 p 586 1166 p 589 1166 p 90 1165 p 554 1165 p 555 1165 p 556 1165 p 559 1165 p 588 1165 p 592 1165 p 91 1164 p 557 1164 p 558 1164 p 559 1164 p 562 1164 p 591 1164 p 595 1164 p 92 1163 p 560 1163 p 561 1163 p 562 1163 p 565 1163 p 594 1163 p 598 1163 p 93 1162 p 563 1162 p 564 1162 p 565 1162 p 568 1162 p 597 1162 p 601 1162 p 94 1161 p 566 1161 p 567 1161 p 568 1161 p 571 1161 p 600 1161 p 604 1161 p 95 1160 p 569 1160 p 570 1160 p 571 1160 p 574 1160 p 603 1160 p 607 1160 p 96 1159 p 572 1159 p 573 1159 p 574 1159 p 577 1159 p 606 1159 p 610 1159 p 97 1158 p 575 1158 p 576 1158 p 577 1158 p 580 1158 p 609 1158 p 613 1158 p 98 1157 p 578 1157 p 579 1157 p 580 1157 p 583 1157 p 612 1157 p 616 1157 p 99 1156 p 581 1156 p 582 1156 p 583 1156 p 585 1156 p 615 1156 p 619 1156 p 100 1155 p 584 1155 p 585 1155 p 618 1155 p 621 1155 p 101 1154 p 586 1154 p 587 1154 p 590 1154 p 624 1154 p 102 1153 p 588 1153 p 589 1153 p 590 1153 p 593 1153 p 623 1153 p 626 1153 p 103 1152 p 591 1152 p 592 1152 p 593 1152 p 596 1152 p 625 1152 p 629 1152 p 104 1151 p 594 1151 p 595 1151 p 596 1151 p 599 1151 p 628 1151 p 632 1151 p 105 1150 p 597 1150 p 598 1150 p 599 1150 p 602 1150 p 631 1150 p 635 1150 p 106 1149 p 600 1149 p 601 1149 p 602 1149 p 605 1149 p 634 1149 p 638 1149 p 107 1148 p 603 1148 p 604 1148 p 605 1148 p 608 1148 p 637 1148 p 641 1148 p 108 1147 p 606 1147 p 607 1147 p 608 1147 p 611 1147 p 640 1147 p 644 1147 p 109 1146 p 609 1146 p 610 1146 p 611 1146 p 614 1146 p 643 1146 p 647 1146 p 110 1145 p 612 1145 p 613 1145 p 614 1145 p 617 1145 p 646 1145 p 650 1145 p 111 1144 p 615 1144 p 616 1144 p 617 1144 p 620 1144 p 649 1144 p 653 1144 p 112 1143 p 618 1143 p 619 1143 p 620 1143 p 622 1143 p 652 1143 p 656 1143 p 113 1142 p 621 1142 p 622 1142 p 655 1142 p 658 1142 p 114 1141 p 623 1141 p 624 1141 p 627 1141 p 661 1141 p 115 1140 p 625 1140 p 626 1140 p 627 1140 p 630 1140 p 660 1140 p 663 1140 p 116 1139 p 628 1139 p 629 1139 p 630 1139 p 633 1139 p 662 1139 p 666 1139 p 117 1138 p 631 1138 p 632 1138 p 633 1138 p 636 1138 p 665 1138 p 669 1138 p 118 1137 p 634 1137 p 635 1137 p 636 1137 p 639 1137 p 668 1137 p 119 1136 p 637 1136 p 638 1136 p 639 1136 p 642 1136 p 671 1136 p 673 1136 p 120 1135 p 640 1135 p 641 1135 p 642 1135 p 645 1135 p 672 1135 p 676 1135 p 121 1134 p 643 1134 p 644 1134 p 645 1134 p 648 1134 p 675 1134 p 679 1134 p 122 1133 p 646 1133 p 647 1133 p 648 1133 p 651 1133 p 678 1133 p 682 1133 p 123 1132 p 649 1132 p 650 1132 p 651 1132 p 654 1132 p 681 1132 p 685 1132 p 124 1131 p 652 1131 p 653 1131 p 654 1131 p 657 1131 p 684 1131 p 688 1131 p 125 1130 p 655 1130 p 656 1130 p 657 1130 p 659 1130 p 687 1130 p 691 1130 p 693 1130 p 126 1129 p 658 1129 p 659 1129 p 692 1129 p 695 1129 p 127 1128 p 660 1128 p 661 1128 p 664 1128 p 698 1128 p 128 1127 p 662 1127 p 663 1127 p 664 1127 p 667 1127 p 697 1127 p 129 1126 p 665 1126 p 666 1126 p 667 1126 p 670 1126 p 699 1126 p 701 1126 p 130 1125 p 668 1125 p 669 1125 p 670 1125 p 671 1125 p 674 1125 p 700 1125 p 704 1125 p 131 1124 p 672 1124 p 673 1124 p 674 1124 p 677 1124 p 703 1124 p 707 1124 p 132 1123 p 675 1123 p 676 1123 p 677 1123 p 680 1123 p 706 1123 p 710 1123 p 133 1122 p 678 1122 p 679 1122 p 680 1122 p 683 1122 p 709 1122 p 713 1122 p 134 1121 p 681 1121 p 682 1121 p 683 1121 p 686 1121 p 712 1121 p 716 1121 p 135 1120 p 684 1120 p 685 1120 p 686 1120 p 689 1120 p 715 1120 p 719 1120 p 136 1119 p 687 1119 p 688 1119 p 689 1119 p 690 1119 p 718 1119 p 722 1119 p 137 1118 p 691 1118 p 690 1118 p 694 1118 p 721 1118 p 725 1118 p 138 1117 p 692 1117 p 693 1117 p 694 1117 p 696 1117 p 724 1117 p 728 1117 p 139 1116 p 695 1116 p 696 1116 p 727 1116 p 730 1116 p 140 1115 p 697 1115 p 698 1115 p 699 1115 p 702 1115 p 735 1115 p 141 1114 p 700 1114 p 701 1114 p 702 1114 p 705 1114 p 734 1114 p 142 1113 p 703 1113 p 704 1113 p 705 1113 p 708 1113 p 736 1113 p 738 1113 p 143 1112 p 706 1112 p 707 1112 p 708 1112 p 711 1112 p 737 1112 p 741 1112 p 144 1111 p 709 1111 p 710 1111 p 711 1111 p 714 1111 p 740 1111 p 744 1111 p 145 1110 p 712 1110 p 713 1110 p 714 1110 p 717 1110 p 743 1110 p 747 1110 p 146 1109 p 715 1109 p 716 1109 p 717 1109 p 720 1109 p 746 1109 p 750 1109 p 147 1108 p 718 1108 p 719 1108 p 720 1108 p 723 1108 p 749 1108 p 753 1108 p 148 1107 p 721 1107 p 722 1107 p 723 1107 p 726 1107 p 752 1107 p 757 1107 p 149 1106 p 724 1106 p 725 1106 p 726 1106 p 729 1106 p 756 1106 p 150 1105 p 727 1105 p 728 1105 p 729 1105 p 731 1105 p 733 1105 p 755 1105 p 759 1105 p 151 1104 p 732 1104 p 733 1104 p 761 1104 p 152 1103 p 734 1103 p 735 1103 p 736 1103 p 739 1103 p 763 1103 p 153 1102 p 737 1102 p 738 1102 p 739 1102 p 742 1102 p 762 1102 p 154 1101 p 740 1101 p 741 1101 p 742 1101 p 745 1101 p 764 1101 p 766 1101 p 155 1100 p 743 1100 p 744 1100 p 745 1100 p 748 1100 p 765 1100 p 769 1100 p 156 1099 p 746 1099 p 747 1099 p 748 1099 p 751 1099 p 768 1099 p 772 1099 p 157 1098 p 749 1098 p 750 1098 p 751 1098 p 754 1098 p 771 1098 p 775 1098 p 158 1097 p 752 1097 p 753 1097 p 754 1097 p 758 1097 p 774 1097 p 778 1097 p 159 1096 p 755 1096 p 756 1096 p 757 1096 p 758 1096 p 760 1096 p 777 1096 p 781 1096 p 160 1095 p 759 1095 p 760 1095 p 761 1095 p 780 1095 p 161 1094 p 762 1094 p 763 1094 p 764 1094 p 767 1094 p 784 1094 p 162 1093 p 765 1093 p 766 1093 p 767 1093 p 770 1093 p 783 1093 p 163 1092 p 768 1092 p 769 1092 p 770 1092 p 773 1092 p 785 1092 p 787 1092 p 164 1091 p 771 1091 p 772 1091 p 773 1091 p 776 1091 p 786 1091 p 790 1091 p 165 1090 p 774 1090 p 775 1090 p 776 1090 p 779 1090 p 789 1090 p 793 1090 p 166 1089 p 777 1089 p 778 1089 p 779 1089 p 782 1089 p 792 1089 p 796 1089 p 167 1088 p 780 1088 p 781 1088 p 782 1088 p 795 1088 p 168 1087 p 783 1087 p 784 1087 p 785 1087 p 788 1087 p 803 1087 p 802 1087 p 805 1087 p 169 1086 p 786 1086 p 787 1086 p 788 1086 p 791 1086 p 804 1086 p 808 1086 p 170 1085 p 789 1085 p 790 1085 p 791 1085 p 794 1085 p 807 1085 p 811 1085 p 171 1084 p 792 1084 p 793 1084 p 794 1084 p 797 1084 p 810 1084 p 814 1084 p 172 1083 p 795 1083 p 796 1083 p 797 1083 p 813 1083 p 816 1083 p 173 1082 p 801 1082 p 803 1082 p 822 1082 p 821 1082 p 824 1082 p 174 1081 p 802 1081 p 801 1081 p 806 1081 p 826 1081 p 828 1081 p 175 1080 p 804 1080 p 805 1080 p 806 1080 p 809 1080 p 827 1080 p 831 1080 p 176 1079 p 807 1079 p 808 1079 p 809 1079 p 812 1079 p 830 1079 p 834 1079 p 177 1078 p 810 1078 p 811 1078 p 812 1078 p 815 1078 p 833 1078 p 837 1078 p 178 1077 p 813 1077 p 814 1077 p 815 1077 p 817 1077 p 836 1077 p 840 1077 p 179 1076 p 816 1076 p 817 1076 p 839 1076 p 842 1076 p 180 1075 p 823 1075 p 822 1075 p 850 1075 p 849 1075 p 852 1075 p 181 1074 p 821 1074 p 823 1074 p 825 1074 p 854 1074 p 855 1074 p 182 1073 p 824 1073 p 825 1073 p 826 1073 p 829 1073 p 857 1073 p 858 1073 p 183 1072 p 827 1072 p 828 1072 p 829 1072 p 832 1072 p 860 1072 p 861 1072 p 184 1071 p 830 1071 p 831 1071 p 832 1071 p 835 1071 p 863 1071 p 864 1071 p 185 1070 p 833 1070 p 834 1070 p 835 1070 p 838 1070 p 866 1070 p 868 1070 p 186 1069 p 836 1069 p 837 1069 p 838 1069 p 841 1069 p 867 1069 p 871 1069 p 187 1068 p 839 1068 p 840 1068 p 841 1068 p 843 1068 p 870 1068 p 873 1068 p 876 1068 p 188 1067 p 842 1067 p 843 1067 p 875 1067 p 878 1067 p 189 1066 p 851 1066 p 850 1066 p 883 1066 p 885 1066 p 886 1066 p 190 1065 p 849 1065 p 851 1065 p 853 1065 p 887 1065 p 889 1065 p 191 1064 p 852 1064 p 853 1064 p 854 1064 p 856 1064 p 891 1064 p 892 1064 p 192 1063 p 855 1063 p 856 1063 p 857 1063 p 859 1063 p 894 1063 p 895 1063 p 193 1062 p 858 1062 p 859 1062 p 860 1062 p 862 1062 p 897 1062 p 898 1062 p 194 1061 p 861 1061 p 862 1061 p 863 1061 p 865 1061 p 900 1061 p 901 1061 p 195 1060 p 864 1060 p 865 1060 p 866 1060 p 869 1060 p 903 1060 p 904 1060 p 196 1059 p 867 1059 p 868 1059 p 869 1059 p 872 1059 p 906 1059 p 907 1059 p 197 1058 p 870 1058 p 871 1058 p 872 1058 p 874 1058 p 909 1058 p 910 1058 p 198 1057 p 873 1057 p 874 1057 p 877 1057 p 912 1057 p 913 1057 p 199 1056 p 875 1056 p 876 1056 p 877 1056 p 879 1056 p 881 1056 p 915 1056 p 916 1056 p 200 1055 p 878 1055 p 879 1055 p 880 1055 p 201 1054 p 884 1054 p 883 1054 p 923 1054 p 925 1054 p 202 1053 p 885 1053 p 884 1053 p 888 1053 p 924 1053 p 927 1053 p 203 1052 p 887 1052 p 886 1052 p 888 1052 p 890 1052 p 928 1052 p 930 1052 p 204 1051 p 889 1051 p 890 1051 p 891 1051 p 893 1051 p 931 1051 p 933 1051 p 935 1051 p 205 1050 p 892 1050 p 893 1050 p 894 1050 p 896 1050 p 937 1050 p 938 1050 p 206 1049 p 895 1049 p 896 1049 p 897 1049 p 899 1049 p 940 1049 p 941 1049 p 207 1048 p 898 1048 p 899 1048 p 900 1048 p 902 1048 p 943 1048 p 944 1048 p 208 1047 p 901 1047 p 902 1047 p 903 1047 p 905 1047 p 946 1047 p 947 1047 p 209 1046 p 904 1046 p 905 1046 p 906 1046 p 908 1046 p 949 1046 p 950 1046 p 210 1045 p 907 1045 p 908 1045 p 909 1045 p 911 1045 p 952 1045 p 955 1045 p 211 1044 p 910 1044 p 911 1044 p 912 1044 p 914 1044 p 953 1044 p 212 1043 p 913 1043 p 914 1043 p 915 1043 p 917 1043 p 954 1043 p 957 1043 p 213 1042 p 916 1042 p 917 1042 p 918 1042 p 958 1042 p 214 1041 p 926 1041 p 925 1041 p 964 1041 p 966 1041 p 215 1040 p 924 1040 p 923 1040 p 926 1040 p 929 1040 p 965 1040 p 969 1040 p 216 1039 p 928 1039 p 927 1039 p 929 1039 p 932 1039 p 968 1039 p 972 1039 p 217 1038 p 931 1038 p 930 1038 p 932 1038 p 934 1038 p 971 1038 p 975 1038 p 218 1037 p 933 1037 p 934 1037 p 936 1037 p 974 1037 p 977 1037 p 219 1036 p 935 1036 p 936 1036 p 937 1036 p 939 1036 p 979 1036 p 980 1036 p 220 1035 p 938 1035 p 939 1035 p 940 1035 p 942 1035 p 982 1035 p 983 1035 p 221 1034 p 941 1034 p 942 1034 p 943 1034 p 945 1034 p 985 1034 p 986 1034 p 222 1033 p 944 1033 p 945 1033 p 946 1033 p 948 1033 p 988 1033 p 989 1033 p 223 1032 p 947 1032 p 948 1032 p 949 1032 p 951 1032 p 991 1032 p 992 1032 p 224 1031 p 950 1031 p 951 1031 p 952 1031 p 956 1031 p 994 1031 p 995 1031 p 225 1030 p 954 1030 p 953 1030 p 955 1030 p 956 1030 p 959 1030 p 997 1030 p 998 1030 p 226 1029 p 958 1029 p 957 1029 p 959 1029 p 1000 1029 p 227 1028 p 967 1028 p 966 1028 p 1004 1028 p 1006 1028 p 228 1027 p 965 1027 p 964 1027 p 967 1027 p 970 1027 p 1003 1027 p 1008 1027 p 229 1026 p 968 1026 p 969 1026 p 970 1026 p 973 1026 p 1007 1026 p 1011 1026 p 230 1025 p 971 1025 p 972 1025 p 973 1025 p 976 1025 p 1010 1025 p 1014 1025 p 231 1024 p 974 1024 p 975 1024 p 976 1024 p 978 1024 p 1013 1024 p 1017 1024 p 232 1023 p 977 1023 p 978 1023 p 979 1023 p 981 1023 p 1016 1023 p 1019 1023 p 233 1022 p 980 1022 p 981 1022 p 982 1022 p 984 1022 p 1020 1022 p 1022 1022 p 234 1021 p 983 1021 p 984 1021 p 985 1021 p 987 1021 p 1024 1021 p 1025 1021 p 235 1020 p 986 1020 p 987 1020 p 988 1020 p 990 1020 p 1027 1020 p 1028 1020 p 236 1019 p 989 1019 p 990 1019 p 991 1019 p 993 1019 p 1030 1019 p 1031 1019 p 237 1018 p 992 1018 p 993 1018 p 994 1018 p 996 1018 p 1033 1018 p 1034 1018 p 238 1017 p 995 1017 p 996 1017 p 997 1017 p 999 1017 p 1036 1017 p 1037 1017 p 239 1016 p 998 1016 p 999 1016 p 1000 1016 p 1039 1016 p 240 1015 p 1005 1015 p 1006 1015 p 1043 1015 p 1045 1015 p 241 1014 p 1003 1014 p 1004 1014 p 1005 1014 p 1009 1014 p 1042 1014 p 1047 1014 p 242 1013 p 1007 1013 p 1008 1013 p 1009 1013 p 1012 1013 p 1046 1013 p 1050 1013 p 243 1012 p 1010 1012 p 1011 1012 p 1012 1012 p 1015 1012 p 1049 1012 p 1053 1012 p 244 1011 p 1013 1011 p 1014 1011 p 1015 1011 p 1018 1011 p 1052 1011 p 1056 1011 p 245 1010 p 1016 1010 p 1017 1010 p 1018 1010 p 1021 1010 p 1055 1010 p 1059 1010 p 246 1009 p 1020 1009 p 1019 1009 p 1021 1009 p 1023 1009 p 1058 1009 p 1061 1009 p 247 1008 p 1022 1008 p 1023 1008 p 1024 1008 p 1026 1008 p 1062 1008 p 1064 1008 p 248 1007 p 1025 1007 p 1026 1007 p 1027 1007 p 1029 1007 p 1066 1007 p 1067 1007 p 249 1006 p 1028 1006 p 1029 1006 p 1030 1006 p 1032 1006 p 1069 1006 p 1070 1006 p 250 1005 p 1031 1005 p 1032 1005 p 1033 1005 p 1035 1005 p 1072 1005 p 1073 1005 p 251 1004 p 1034 1004 p 1035 1004 p 1036 1004 p 1038 1004 p 1075 1004 p 1076 1004 p 252 1003 p 1037 1003 p 1038 1003 p 1039 1003 p 1078 1003 p 253 1002 p 1044 1002 p 1045 1002 p 1085 1002 p 254 1001 p 1042 1001 p 1043 1001 p 1044 1001 p 1048 1001 p 1084 1001 p 1087 1001 p 255 1000 p 1046 1000 p 1047 1000 p 1048 1000 p 1051 1000 p 1086 1000 p 1090 1000 p 256 999 p 1049 999 p 1050 999 p 1051 999 p 1054 999 p 1089 999 p 1093 999 p 257 998 p 1052 998 p 1053 998 p 1054 998 p 1057 998 p 1092 998 p 1096 998 p 258 997 p 1055 997 p 1056 997 p 1057 997 p 1060 997 p 1095 997 p 1099 997 p 259 996 p 1058 996 p 1059 996 p 1060 996 p 1063 996 p 1098 996 p 1102 996 p 260 995 p 1062 995 p 1061 995 p 1063 995 p 1065 995 p 1101 995 p 1104 995 p 261 994 p 1064 994 p 1065 994 p 1066 994 p 1068 994 p 1105 994 p 1107 994 p 262 993 p 1067 993 p 1068 993 p 1069 993 p 1071 993 p 1109 993 p 1110 993 p 263 992 p 1070 992 p 1071 992 p 1072 992 p 1074 992 p 1112 992 p 1113 992 p 264 991 p 1073 991 p 1074 991 p 1075 991 p 1077 991 p 1115 991 p 1116 991 p 265 990 p 1076 990 p 1077 990 p 1078 990 p 1118 990 p 1120 990 p 266 989 p 1084 989 p 1085 989 p 1088 989 p 1123 989 p 267 988 p 1086 988 p 1087 988 p 1088 988 p 1091 988 p 1122 988 p 1125 988 p 268 987 p 1089 987 p 1090 987 p 1091 987 p 1094 987 p 1124 987 p 1128 987 p 269 986 p 1092 986 p 1093 986 p 1094 986 p 1097 986 p 1127 986 p 1131 986 p 270 985 p 1095 985 p 1096 985 p 1097 985 p 1100 985 p 1130 985 p 1134 985 p 271 984 p 1098 984 p 1099 984 p 1100 984 p 1103 984 p 1133 984 p 1137 984 p 272 983 p 1101 983 p 1102 983 p 1103 983 p 1106 983 p 1136 983 p 1140 983 p 273 982 p 1105 982 p 1104 982 p 1106 982 p 1108 982 p 1139 982 p 1143 982 p 274 981 p 1107 981 p 1108 981 p 1109 981 p 1111 981 p 1142 981 p 1145 981 p 275 980 p 1110 980 p 1111 980 p 1112 980 p 1114 980 p 1146 980 p 1148 980 p 276 979 p 1113 979 p 1114 979 p 1115 979 p 1117 979 p 1149 979 p 1151 979 p 277 978 p 1116 978 p 1117 978 p 1118 978 p 1119 978 p 1153 978 p 1154 978 p 1156 978 p 278 977 p 1120 977 p 1119 977 p 1158 977 p 1162 977 p 279 976 p 1122 976 p 1123 976 p 1126 976 p 1169 976 p 280 975 p 1124 975 p 1125 975 p 1126 975 p 1129 975 p 1168 975 p 1171 975 p 281 974 p 1127 974 p 1128 974 p 1129 974 p 1132 974 p 1170 974 p 1174 974 p 282 973 p 1130 973 p 1131 973 p 1132 973 p 1135 973 p 1173 973 p 1177 973 p 283 972 p 1133 972 p 1134 972 p 1135 972 p 1138 972 p 1176 972 p 1180 972 p 284 971 p 1136 971 p 1137 971 p 1138 971 p 1141 971 p 1179 971 p 1183 971 p 285 970 p 1139 970 p 1140 970 p 1141 970 p 1144 970 p 1182 970 p 1186 970 p 286 969 p 1142 969 p 1143 969 p 1144 969 p 1147 969 p 1185 969 p 1189 969 p 287 968 p 1146 968 p 1145 968 p 1147 968 p 1150 968 p 1188 968 p 1191 968 p 288 967 p 1149 967 p 1148 967 p 1150 967 p 1152 967 p 1192 967 p 1196 967 p 289 966 p 1151 966 p 1152 966 p 1153 966 p 1155 966 p 1194 966 p 290 965 p 1154 965 p 1155 965 p 1157 965 p 1195 965 p 1200 965 p 291 964 p 1156 964 p 1157 964 p 1158 964 p 1160 964 p 1159 964 p 1198 964 p 292 963 p 1159 963 p 1161 963 p 1162 963 p 293 962 p 1168 962 p 1169 962 p 1172 962 p 1204 962 p 294 961 p 1170 961 p 1171 961 p 1172 961 p 1175 961 p 1203 961 p 1206 961 p 295 960 p 1173 960 p 1174 960 p 1175 960 p 1178 960 p 1205 960 p 1209 960 p 296 959 p 1176 959 p 1177 959 p 1178 959 p 1181 959 p 1208 959 p 1212 959 p 297 958 p 1179 958 p 1180 958 p 1181 958 p 1184 958 p 1211 958 p 1215 958 p 298 957 p 1182 957 p 1183 957 p 1184 957 p 1187 957 p 1214 957 p 1218 957 p 299 956 p 1185 956 p 1186 956 p 1187 956 p 1190 956 p 1217 956 p 1221 956 p 300 955 p 1188 955 p 1189 955 p 1190 955 p 1193 955 p 1220 955 p 1223 955 p 301 954 p 1192 954 p 1191 954 p 1193 954 p 1197 954 p 1224 954 p 1226 954 p 302 953 p 1195 953 p 1194 953 p 1196 953 p 1197 953 p 1201 953 p 1227 953 p 1229 953 p 303 952 p 1199 952 p 1198 952 p 1200 952 p 1201 952 p 1230 952 p 304 951 p 1203 951 p 1204 951 p 1207 951 p 1237 951 p 305 950 p 1205 950 p 1206 950 p 1207 950 p 1210 950 p 1236 950 p 1239 950 p 306 949 p 1208 949 p 1209 949 p 1210 949 p 1213 949 p 1238 949 p 1242 949 p 307 948 p 1211 948 p 1212 948 p 1213 948 p 1216 948 p 1241 948 p 1245 948 p 308 947 p 1214 947 p 1215 947 p 1216 947 p 1219 947 p 1244 947 p 1247 947 p 309 946 p 1217 946 p 1218 946 p 1219 946 p 1222 946 p 1246 946 p 1249 946 p 310 945 p 1220 945 p 1221 945 p 1222 945 p 1225 945 p 1248 945 p 1251 945 p 311 944 p 1224 944 p 1223 944 p 1225 944 p 1228 944 p 1250 944 p 1254 944 p 312 943 p 1227 943 p 1226 943 p 1228 943 p 1231 943 p 1253 943 p 313 942 p 1230 942 p 1229 942 p 1231 942 p 1252 942 p 314 941 p 1236 941 p 1237 941 p 1240 941 p 1255 941 p 315 940 p 1235 940 p 1234 940 p 1238 940 p 1239 940 p 1240 940 p 1243 940 p 316 939 p 1166 939 p 1165 939 p 1167 939 p 1241 939 p 1242 939 p 1243 939 p 317 938 p 1082 938 p 1081 938 p 1083 938 p 1167 938 p 1244 938 p 1245 938 p 318 937 p 1002 937 p 1001 937 p 1040 937 p 1083 937 p 1246 937 p 1247 937 p 319 936 p 922 936 p 921 936 p 960 936 p 1040 936 p 1248 936 p 1249 936 p 320 935 p 847 935 p 846 935 p 848 935 p 960 935 p 1250 935 p 1251 935 p 321 934 p 819 934 p 818 934 p 848 934 p 1252 934 p 1253 934 p 1254 934 p 322 933 p 1233 933 p 1232 933 p 1235 933 p 1255 933 p 323 932 p 1164 932 p 1163 932 p 1166 932 p 1202 932 p 1232 932 p 1234 932 p 324 931 p 1080 931 p 1079 931 p 1082 931 p 1121 931 p 1163 931 p 1165 931 p 325 930 p 963 930 p 962 930 p 1002 930 p 1041 930 p 1079 930 p 1081 930 p 326 929 p 920 929 p 919 929 p 922 929 p 961 929 p 962 929 p 1001 929 p 327 928 p 845 928 p 844 928 p 847 928 p 882 928 p 919 928 p 921 928 p 328 927 p 798 927 p 800 927 p 819 927 p 820 927 p 844 927 p 846 927 p 329 926 p 800 926 p 799 926 p 818 926 p 330 925 p 331 925 p 332 925 p 333 925 p 334 925 p 4 925 p 12 925 p 330 924 p 331 924 p 332 924 p 338 924 p 335 924 p 12 924 p 5 924 p 330 923 p 331 923 p 332 923 p 1164 923 p 1202 923 p 4 923 p 5 923 p 333 922 p 334 922 p 330 922 p 4 922 p 11 922 p 333 921 p 334 921 p 330 921 p 357 921 p 358 921 p 11 921 p 12 921 p 335 920 p 336 920 p 337 920 p 331 920 p 338 920 p 5 920 p 13 920 p 335 919 p 336 919 p 337 919 p 342 919 p 339 919 p 13 919 p 6 919 p 335 918 p 336 918 p 337 918 p 1080 918 p 1121 918 p 5 918 p 6 918 p 331 917 p 338 917 p 335 917 p 361 917 p 362 917 p 12 917 p 13 917 p 339 916 p 340 916 p 341 916 p 336 916 p 342 916 p 6 916 p 14 916 p 339 915 p 340 915 p 341 915 p 346 915 p 343 915 p 14 915 p 7 915 p 339 914 p 340 914 p 341 914 p 963 914 p 1041 914 p 6 914 p 7 914 p 336 913 p 342 913 p 339 913 p 364 913 p 365 913 p 13 913 p 14 913 p 343 912 p 344 912 p 345 912 p 340 912 p 346 912 p 7 912 p 15 912 p 343 911 p 344 911 p 345 911 p 350 911 p 347 911 p 15 911 p 8 911 p 343 910 p 344 910 p 345 910 p 920 910 p 961 910 p 7 910 p 8 910 p 340 909 p 346 909 p 343 909 p 367 909 p 368 909 p 14 909 p 15 909 p 347 908 p 348 908 p 349 908 p 344 908 p 350 908 p 8 908 p 16 908 p 347 907 p 348 907 p 349 907 p 354 907 p 351 907 p 16 907 p 9 907 p 347 906 p 348 906 p 349 906 p 845 906 p 882 906 p 8 906 p 9 906 p 344 905 p 350 905 p 347 905 p 370 905 p 371 905 p 15 905 p 16 905 p 351 904 p 352 904 p 353 904 p 348 904 p 354 904 p 9 904 p 17 904 p 351 903 p 352 903 p 353 903 p 355 903 p 356 903 p 17 903 p 10 903 p 351 902 p 352 902 p 353 902 p 798 902 p 820 902 p 9 902 p 10 902 p 348 901 p 354 901 p 351 901 p 373 901 p 374 901 p 16 901 p 17 901 p 355 900 p 356 900 p 352 900 p 376 900 p 377 900 p 17 900 p 18 900 p 355 899 p 356 899 p 352 899 p 18 899 p 10 899 p 357 898 p 358 898 p 334 898 p 359 898 p 360 898 p 11 898 p 20 898 p 357 897 p 358 897 p 334 897 p 363 897 p 361 897 p 20 897 p 12 897 p 359 896 p 360 896 p 357 896 p 11 896 p 19 896 p 359 895 p 360 895 p 357 895 p 379 895 p 380 895 p 19 895 p 20 895 p 361 894 p 362 894 p 338 894 p 358 894 p 363 894 p 12 894 p 21 894 p 361 893 p 362 893 p 338 893 p 366 893 p 364 893 p 21 893 p 13 893 p 358 892 p 363 892 p 361 892 p 383 892 p 384 892 p 20 892 p 21 892 p 364 891 p 365 891 p 342 891 p 362 891 p 366 891 p 13 891 p 22 891 p 364 890 p 365 890 p 342 890 p 369 890 p 367 890 p 22 890 p 14 890 p 362 889 p 366 889 p 364 889 p 386 889 p 387 889 p 21 889 p 22 889 p 367 888 p 368 888 p 346 888 p 365 888 p 369 888 p 14 888 p 23 888 p 367 887 p 368 887 p 346 887 p 372 887 p 370 887 p 23 887 p 15 887 p 365 886 p 369 886 p 367 886 p 389 886 p 390 886 p 22 886 p 23 886 p 370 885 p 371 885 p 350 885 p 368 885 p 372 885 p 15 885 p 24 885 p 370 884 p 371 884 p 350 884 p 375 884 p 373 884 p 24 884 p 16 884 p 368 883 p 372 883 p 370 883 p 392 883 p 393 883 p 23 883 p 24 883 p 373 882 p 374 882 p 354 882 p 371 882 p 375 882 p 16 882 p 25 882 p 373 881 p 374 881 p 354 881 p 378 881 p 376 881 p 25 881 p 17 881 p 371 880 p 375 880 p 373 880 p 395 880 p 396 880 p 24 880 p 25 880 p 376 879 p 377 879 p 355 879 p 374 879 p 378 879 p 17 879 p 26 879 p 376 878 p 377 878 p 355 878 p 26 878 p 18 878 p 374 877 p 378 877 p 376 877 p 398 877 p 399 877 p 25 877 p 26 877 p 379 876 p 380 876 p 360 876 p 381 876 p 382 876 p 19 876 p 28 876 p 379 875 p 380 875 p 360 875 p 385 875 p 383 875 p 28 875 p 20 875 p 381 874 p 382 874 p 379 874 p 19 874 p 27 874 p 381 873 p 382 873 p 379 873 p 405 873 p 406 873 p 27 873 p 28 873 p 383 872 p 384 872 p 363 872 p 380 872 p 385 872 p 20 872 p 29 872 p 383 871 p 384 871 p 363 871 p 388 871 p 386 871 p 29 871 p 21 871 p 380 870 p 385 870 p 383 870 p 409 870 p 410 870 p 28 870 p 29 870 p 386 869 p 387 869 p 366 869 p 384 869 p 388 869 p 21 869 p 30 869 p 386 868 p 387 868 p 366 868 p 391 868 p 389 868 p 30 868 p 22 868 p 384 867 p 388 867 p 386 867 p 412 867 p 413 867 p 29 867 p 30 867 p 389 866 p 390 866 p 369 866 p 387 866 p 391 866 p 22 866 p 31 866 p 389 865 p 390 865 p 369 865 p 394 865 p 392 865 p 31 865 p 23 865 p 387 864 p 391 864 p 389 864 p 415 864 p 416 864 p 30 864 p 31 864 p 392 863 p 393 863 p 372 863 p 390 863 p 394 863 p 23 863 p 32 863 p 392 862 p 393 862 p 372 862 p 397 862 p 395 862 p 32 862 p 24 862 p 390 861 p 394 861 p 392 861 p 418 861 p 419 861 p 31 861 p 32 861 p 395 860 p 396 860 p 375 860 p 393 860 p 397 860 p 24 860 p 33 860 p 395 859 p 396 859 p 375 859 p 400 859 p 398 859 p 33 859 p 25 859 p 393 858 p 397 858 p 395 858 p 421 858 p 422 858 p 32 858 p 33 858 p 398 857 p 399 857 p 378 857 p 396 857 p 400 857 p 25 857 p 34 857 p 398 856 p 399 856 p 378 856 p 401 856 p 402 856 p 34 856 p 26 856 p 396 855 p 400 855 p 398 855 p 424 855 p 425 855 p 33 855 p 34 855 p 401 854 p 402 854 p 399 854 p 427 854 p 428 854 p 34 854 p 35 854 p 401 853 p 402 853 p 399 853 p 403 853 p 404 853 p 35 853 p 26 853 p 403 852 p 404 852 p 402 852 p 430 852 p 431 852 p 35 852 p 36 852 p 403 851 p 404 851 p 402 851 p 36 851 p 26 851 p 405 850 p 382 850 p 406 850 p 411 850 p 410 850 p 38 850 p 28 850 p 405 849 p 382 849 p 406 849 p 407 849 p 408 849 p 38 849 p 27 849 p 407 848 p 406 848 p 408 848 p 435 848 p 436 848 p 37 848 p 38 848 p 407 847 p 406 847 p 408 847 p 37 847 p 27 847 p 409 846 p 385 846 p 410 846 p 414 846 p 413 846 p 39 846 p 29 846 p 409 845 p 385 845 p 410 845 p 411 845 p 405 845 p 39 845 p 28 845 p 411 844 p 410 844 p 405 844 p 439 844 p 440 844 p 38 844 p 39 844 p 412 843 p 388 843 p 413 843 p 417 843 p 415 843 p 40 843 p 30 843 p 412 842 p 388 842 p 413 842 p 414 842 p 409 842 p 40 842 p 29 842 p 414 841 p 413 841 p 409 841 p 442 841 p 443 841 p 39 841 p 40 841 p 415 840 p 416 840 p 391 840 p 412 840 p 417 840 p 30 840 p 41 840 p 415 839 p 416 839 p 391 839 p 420 839 p 418 839 p 41 839 p 31 839 p 412 838 p 417 838 p 415 838 p 445 838 p 446 838 p 40 838 p 41 838 p 418 837 p 419 837 p 394 837 p 416 837 p 420 837 p 31 837 p 42 837 p 418 836 p 419 836 p 394 836 p 423 836 p 421 836 p 42 836 p 32 836 p 416 835 p 420 835 p 418 835 p 448 835 p 449 835 p 41 835 p 42 835 p 421 834 p 422 834 p 397 834 p 419 834 p 423 834 p 32 834 p 43 834 p 421 833 p 422 833 p 397 833 p 426 833 p 424 833 p 43 833 p 33 833 p 419 832 p 423 832 p 421 832 p 451 832 p 452 832 p 42 832 p 43 832 p 424 831 p 425 831 p 400 831 p 422 831 p 426 831 p 33 831 p 44 831 p 424 830 p 425 830 p 400 830 p 429 830 p 427 830 p 44 830 p 34 830 p 422 829 p 426 829 p 424 829 p 454 829 p 455 829 p 43 829 p 44 829 p 427 828 p 428 828 p 401 828 p 425 828 p 429 828 p 34 828 p 45 828 p 427 827 p 428 827 p 401 827 p 432 827 p 430 827 p 45 827 p 35 827 p 425 826 p 429 826 p 427 826 p 457 826 p 458 826 p 44 826 p 45 826 p 430 825 p 431 825 p 403 825 p 428 825 p 432 825 p 35 825 p 46 825 p 430 824 p 431 824 p 403 824 p 433 824 p 434 824 p 46 824 p 36 824 p 428 823 p 432 823 p 430 823 p 460 823 p 461 823 p 45 823 p 46 823 p 433 822 p 434 822 p 431 822 p 465 822 p 466 822 p 46 822 p 47 822 p 433 821 p 434 821 p 431 821 p 47 821 p 36 821 p 435 820 p 407 820 p 436 820 p 441 820 p 440 820 p 49 820 p 38 820 p 435 819 p 407 819 p 436 819 p 437 819 p 438 819 p 49 819 p 37 819 p 437 818 p 436 818 p 438 818 p 474 818 p 475 818 p 48 818 p 49 818 p 437 817 p 436 817 p 438 817 p 48 817 p 37 817 p 439 816 p 411 816 p 440 816 p 444 816 p 443 816 p 50 816 p 39 816 p 439 815 p 411 815 p 440 815 p 441 815 p 435 815 p 50 815 p 38 815 p 441 814 p 440 814 p 435 814 p 478 814 p 479 814 p 49 814 p 50 814 p 442 813 p 414 813 p 443 813 p 447 813 p 446 813 p 51 813 p 40 813 p 442 812 p 414 812 p 443 812 p 444 812 p 439 812 p 51 812 p 39 812 p 444 811 p 443 811 p 439 811 p 481 811 p 482 811 p 50 811 p 51 811 p 445 810 p 417 810 p 446 810 p 450 810 p 449 810 p 52 810 p 41 810 p 445 809 p 417 809 p 446 809 p 447 809 p 442 809 p 52 809 p 40 809 p 447 808 p 446 808 p 442 808 p 484 808 p 485 808 p 51 808 p 52 808 p 448 807 p 420 807 p 449 807 p 453 807 p 452 807 p 53 807 p 42 807 p 448 806 p 420 806 p 449 806 p 450 806 p 445 806 p 53 806 p 41 806 p 450 805 p 449 805 p 445 805 p 487 805 p 488 805 p 52 805 p 53 805 p 451 804 p 423 804 p 452 804 p 456 804 p 455 804 p 54 804 p 43 804 p 451 803 p 423 803 p 452 803 p 453 803 p 448 803 p 54 803 p 42 803 p 453 802 p 452 802 p 448 802 p 490 802 p 491 802 p 53 802 p 54 802 p 454 801 p 426 801 p 455 801 p 459 801 p 457 801 p 55 801 p 44 801 p 454 800 p 426 800 p 455 800 p 456 800 p 451 800 p 55 800 p 43 800 p 456 799 p 455 799 p 451 799 p 493 799 p 494 799 p 54 799 p 55 799 p 457 798 p 458 798 p 429 798 p 454 798 p 459 798 p 44 798 p 56 798 p 457 797 p 458 797 p 429 797 p 462 797 p 460 797 p 56 797 p 45 797 p 454 796 p 459 796 p 457 796 p 496 796 p 497 796 p 55 796 p 56 796 p 460 795 p 461 795 p 432 795 p 458 795 p 462 795 p 45 795 p 57 795 p 460 794 p 461 794 p 432 794 p 463 794 p 464 794 p 57 794 p 46 794 p 458 793 p 462 793 p 460 793 p 499 793 p 500 793 p 56 793 p 57 793 p 461 792 p 463 792 p 464 792 p 502 792 p 503 792 p 57 792 p 58 792 p 461 791 p 463 791 p 464 791 p 467 791 p 465 791 p 46 791 p 58 791 p 465 790 p 466 790 p 433 790 p 464 790 p 467 790 p 46 790 p 59 790 p 465 789 p 466 789 p 433 789 p 471 789 p 470 789 p 59 789 p 47 789 p 464 788 p 467 788 p 465 788 p 506 788 p 507 788 p 58 788 p 59 788 p 468 787 p 469 787 p 470 787 p 472 787 p 473 787 p 60 787 p 2 787 p 468 786 p 469 786 p 470 786 p 2 786 p 47 786 p 468 785 p 469 785 p 470 785 p 471 785 p 466 785 p 60 785 p 47 785 p 471 784 p 470 784 p 466 784 p 505 784 p 506 784 p 59 784 p 60 784 p 472 783 p 468 783 p 473 783 p 61 783 p 2 783 p 472 782 p 468 782 p 473 782 p 509 782 p 511 782 p 61 782 p 60 782 p 474 781 p 437 781 p 475 781 p 480 781 p 479 781 p 63 781 p 49 781 p 474 780 p 437 780 p 475 780 p 476 780 p 477 780 p 63 780 p 48 780 p 476 779 p 475 779 p 477 779 p 512 779 p 513 779 p 62 779 p 63 779 p 476 778 p 475 778 p 477 778 p 62 778 p 48 778 p 478 777 p 441 777 p 479 777 p 483 777 p 482 777 p 64 777 p 50 777 p 478 776 p 441 776 p 479 776 p 480 776 p 474 776 p 64 776 p 49 776 p 480 775 p 479 775 p 474 775 p 516 775 p 517 775 p 63 775 p 64 775 p 481 774 p 444 774 p 482 774 p 486 774 p 485 774 p 65 774 p 51 774 p 481 773 p 444 773 p 482 773 p 483 773 p 478 773 p 65 773 p 50 773 p 483 772 p 482 772 p 478 772 p 519 772 p 520 772 p 64 772 p 65 772 p 484 771 p 447 771 p 485 771 p 489 771 p 488 771 p 66 771 p 52 771 p 484 770 p 447 770 p 485 770 p 486 770 p 481 770 p 66 770 p 51 770 p 486 769 p 485 769 p 481 769 p 522 769 p 523 769 p 65 769 p 66 769 p 487 768 p 450 768 p 488 768 p 492 768 p 491 768 p 67 768 p 53 768 p 487 767 p 450 767 p 488 767 p 489 767 p 484 767 p 67 767 p 52 767 p 489 766 p 488 766 p 484 766 p 525 766 p 526 766 p 66 766 p 67 766 p 490 765 p 453 765 p 491 765 p 495 765 p 494 765 p 68 765 p 54 765 p 490 764 p 453 764 p 491 764 p 492 764 p 487 764 p 68 764 p 53 764 p 492 763 p 491 763 p 487 763 p 528 763 p 529 763 p 67 763 p 68 763 p 493 762 p 456 762 p 494 762 p 498 762 p 497 762 p 69 762 p 55 762 p 493 761 p 456 761 p 494 761 p 495 761 p 490 761 p 69 761 p 54 761 p 495 760 p 494 760 p 490 760 p 531 760 p 532 760 p 68 760 p 69 760 p 496 759 p 459 759 p 497 759 p 501 759 p 500 759 p 70 759 p 56 759 p 496 758 p 459 758 p 497 758 p 498 758 p 493 758 p 70 758 p 55 758 p 498 757 p 497 757 p 493 757 p 534 757 p 535 757 p 69 757 p 70 757 p 499 756 p 462 756 p 500 756 p 504 756 p 503 756 p 71 756 p 57 756 p 499 755 p 462 755 p 500 755 p 501 755 p 496 755 p 71 755 p 56 755 p 501 754 p 500 754 p 496 754 p 537 754 p 538 754 p 70 754 p 71 754 p 502 753 p 463 753 p 503 753 p 508 753 p 507 753 p 72 753 p 58 753 p 502 752 p 463 752 p 503 752 p 504 752 p 499 752 p 72 752 p 57 752 p 504 751 p 503 751 p 499 751 p 540 751 p 541 751 p 71 751 p 72 751 p 505 750 p 471 750 p 506 750 p 509 750 p 510 750 p 73 750 p 60 750 p 505 749 p 471 749 p 506 749 p 467 749 p 507 749 p 73 749 p 59 749 p 506 748 p 467 748 p 507 748 p 508 748 p 502 748 p 73 748 p 58 748 p 508 747 p 507 747 p 502 747 p 543 747 p 544 747 p 72 747 p 73 747 p 509 746 p 505 746 p 510 746 p 473 746 p 511 746 p 74 746 p 60 746 p 509 745 p 505 745 p 510 745 p 546 745 p 547 745 p 74 745 p 73 745 p 473 744 p 509 744 p 511 744 p 61 744 p 74 744 p 512 743 p 476 743 p 513 743 p 518 743 p 517 743 p 76 743 p 63 743 p 512 742 p 476 742 p 513 742 p 514 742 p 515 742 p 76 742 p 62 742 p 514 741 p 513 741 p 515 741 p 549 741 p 550 741 p 75 741 p 76 741 p 514 740 p 513 740 p 515 740 p 75 740 p 62 740 p 516 739 p 480 739 p 517 739 p 521 739 p 520 739 p 77 739 p 64 739 p 516 738 p 480 738 p 517 738 p 518 738 p 512 738 p 77 738 p 63 738 p 518 737 p 517 737 p 512 737 p 551 737 p 552 737 p 76 737 p 77 737 p 519 736 p 483 736 p 520 736 p 524 736 p 523 736 p 78 736 p 65 736 p 519 735 p 483 735 p 520 735 p 521 735 p 516 735 p 78 735 p 64 735 p 521 734 p 520 734 p 516 734 p 554 734 p 555 734 p 77 734 p 78 734 p 522 733 p 486 733 p 523 733 p 527 733 p 526 733 p 79 733 p 66 733 p 522 732 p 486 732 p 523 732 p 524 732 p 519 732 p 79 732 p 65 732 p 524 731 p 523 731 p 519 731 p 557 731 p 558 731 p 78 731 p 79 731 p 525 730 p 489 730 p 526 730 p 530 730 p 529 730 p 80 730 p 67 730 p 525 729 p 489 729 p 526 729 p 527 729 p 522 729 p 80 729 p 66 729 p 527 728 p 526 728 p 522 728 p 560 728 p 561 728 p 79 728 p 80 728 p 528 727 p 492 727 p 529 727 p 533 727 p 532 727 p 81 727 p 68 727 p 528 726 p 492 726 p 529 726 p 530 726 p 525 726 p 81 726 p 67 726 p 530 725 p 529 725 p 525 725 p 563 725 p 564 725 p 80 725 p 81 725 p 531 724 p 495 724 p 532 724 p 536 724 p 535 724 p 82 724 p 69 724 p 531 723 p 495 723 p 532 723 p 533 723 p 528 723 p 82 723 p 68 723 p 533 722 p 532 722 p 528 722 p 566 722 p 567 722 p 81 722 p 82 722 p 534 721 p 498 721 p 535 721 p 539 721 p 538 721 p 83 721 p 70 721 p 534 720 p 498 720 p 535 720 p 536 720 p 531 720 p 83 720 p 69 720 p 536 719 p 535 719 p 531 719 p 569 719 p 570 719 p 82 719 p 83 719 p 537 718 p 501 718 p 538 718 p 542 718 p 541 718 p 84 718 p 71 718 p 537 717 p 501 717 p 538 717 p 539 717 p 534 717 p 84 717 p 70 717 p 539 716 p 538 716 p 534 716 p 572 716 p 573 716 p 83 716 p 84 716 p 540 715 p 504 715 p 541 715 p 545 715 p 544 715 p 85 715 p 72 715 p 540 714 p 504 714 p 541 714 p 542 714 p 537 714 p 85 714 p 71 714 p 542 713 p 541 713 p 537 713 p 575 713 p 576 713 p 84 713 p 85 713 p 543 712 p 508 712 p 544 712 p 548 712 p 547 712 p 86 712 p 73 712 p 543 711 p 508 711 p 544 711 p 545 711 p 540 711 p 86 711 p 72 711 p 545 710 p 544 710 p 540 710 p 578 710 p 579 710 p 85 710 p 86 710 p 546 709 p 510 709 p 547 709 p 87 709 p 74 709 p 546 708 p 510 708 p 547 708 p 548 708 p 543 708 p 87 708 p 73 708 p 548 707 p 547 707 p 543 707 p 581 707 p 582 707 p 86 707 p 87 707 p 549 706 p 514 706 p 550 706 p 553 706 p 552 706 p 88 706 p 76 706 p 549 705 p 514 705 p 550 705 p 88 705 p 75 705 p 551 704 p 518 704 p 552 704 p 556 704 p 555 704 p 89 704 p 77 704 p 551 703 p 518 703 p 552 703 p 553 703 p 549 703 p 89 703 p 76 703 p 553 702 p 552 702 p 549 702 p 586 702 p 587 702 p 88 702 p 89 702 p 554 701 p 521 701 p 555 701 p 559 701 p 558 701 p 90 701 p 78 701 p 554 700 p 521 700 p 555 700 p 556 700 p 551 700 p 90 700 p 77 700 p 556 699 p 555 699 p 551 699 p 588 699 p 589 699 p 89 699 p 90 699 p 557 698 p 524 698 p 558 698 p 562 698 p 561 698 p 91 698 p 79 698 p 557 697 p 524 697 p 558 697 p 559 697 p 554 697 p 91 697 p 78 697 p 559 696 p 558 696 p 554 696 p 591 696 p 592 696 p 90 696 p 91 696 p 560 695 p 527 695 p 561 695 p 565 695 p 564 695 p 92 695 p 80 695 p 560 694 p 527 694 p 561 694 p 562 694 p 557 694 p 92 694 p 79 694 p 562 693 p 561 693 p 557 693 p 594 693 p 595 693 p 91 693 p 92 693 p 563 692 p 530 692 p 564 692 p 568 692 p 567 692 p 93 692 p 81 692 p 563 691 p 530 691 p 564 691 p 565 691 p 560 691 p 93 691 p 80 691 p 565 690 p 564 690 p 560 690 p 597 690 p 598 690 p 92 690 p 93 690 p 566 689 p 533 689 p 567 689 p 571 689 p 570 689 p 94 689 p 82 689 p 566 688 p 533 688 p 567 688 p 568 688 p 563 688 p 94 688 p 81 688 p 568 687 p 567 687 p 563 687 p 600 687 p 601 687 p 93 687 p 94 687 p 569 686 p 536 686 p 570 686 p 574 686 p 573 686 p 95 686 p 83 686 p 569 685 p 536 685 p 570 685 p 571 685 p 566 685 p 95 685 p 82 685 p 571 684 p 570 684 p 566 684 p 603 684 p 604 684 p 94 684 p 95 684 p 572 683 p 539 683 p 573 683 p 577 683 p 576 683 p 96 683 p 84 683 p 572 682 p 539 682 p 573 682 p 574 682 p 569 682 p 96 682 p 83 682 p 574 681 p 573 681 p 569 681 p 606 681 p 607 681 p 95 681 p 96 681 p 575 680 p 542 680 p 576 680 p 580 680 p 579 680 p 97 680 p 85 680 p 575 679 p 542 679 p 576 679 p 577 679 p 572 679 p 97 679 p 84 679 p 577 678 p 576 678 p 572 678 p 609 678 p 610 678 p 96 678 p 97 678 p 578 677 p 545 677 p 579 677 p 583 677 p 582 677 p 98 677 p 86 677 p 578 676 p 545 676 p 579 676 p 580 676 p 575 676 p 98 676 p 85 676 p 580 675 p 579 675 p 575 675 p 612 675 p 613 675 p 97 675 p 98 675 p 581 674 p 548 674 p 582 674 p 584 674 p 585 674 p 99 674 p 87 674 p 581 673 p 548 673 p 582 673 p 583 673 p 578 673 p 99 673 p 86 673 p 583 672 p 582 672 p 578 672 p 615 672 p 616 672 p 98 672 p 99 672 p 584 671 p 581 671 p 585 671 p 100 671 p 87 671 p 584 670 p 581 670 p 585 670 p 618 670 p 619 670 p 100 670 p 99 670 p 586 669 p 553 669 p 587 669 p 590 669 p 589 669 p 101 669 p 89 669 p 586 668 p 553 668 p 587 668 p 101 668 p 88 668 p 588 667 p 556 667 p 589 667 p 593 667 p 592 667 p 102 667 p 90 667 p 588 666 p 556 666 p 589 666 p 590 666 p 586 666 p 102 666 p 89 666 p 590 665 p 589 665 p 586 665 p 623 665 p 624 665 p 101 665 p 102 665 p 591 664 p 559 664 p 592 664 p 596 664 p 595 664 p 103 664 p 91 664 p 591 663 p 559 663 p 592 663 p 593 663 p 588 663 p 103 663 p 90 663 p 593 662 p 592 662 p 588 662 p 625 662 p 626 662 p 102 662 p 103 662 p 594 661 p 562 661 p 595 661 p 599 661 p 598 661 p 104 661 p 92 661 p 594 660 p 562 660 p 595 660 p 596 660 p 591 660 p 104 660 p 91 660 p 596 659 p 595 659 p 591 659 p 628 659 p 629 659 p 103 659 p 104 659 p 597 658 p 565 658 p 598 658 p 602 658 p 601 658 p 105 658 p 93 658 p 597 657 p 565 657 p 598 657 p 599 657 p 594 657 p 105 657 p 92 657 p 599 656 p 598 656 p 594 656 p 631 656 p 632 656 p 104 656 p 105 656 p 600 655 p 568 655 p 601 655 p 605 655 p 604 655 p 106 655 p 94 655 p 600 654 p 568 654 p 601 654 p 602 654 p 597 654 p 106 654 p 93 654 p 602 653 p 601 653 p 597 653 p 634 653 p 635 653 p 105 653 p 106 653 p 603 652 p 571 652 p 604 652 p 608 652 p 607 652 p 107 652 p 95 652 p 603 651 p 571 651 p 604 651 p 605 651 p 600 651 p 107 651 p 94 651 p 605 650 p 604 650 p 600 650 p 637 650 p 638 650 p 106 650 p 107 650 p 606 649 p 574 649 p 607 649 p 611 649 p 610 649 p 108 649 p 96 649 p 606 648 p 574 648 p 607 648 p 608 648 p 603 648 p 108 648 p 95 648 p 608 647 p 607 647 p 603 647 p 640 647 p 641 647 p 107 647 p 108 647 p 609 646 p 577 646 p 610 646 p 614 646 p 613 646 p 109 646 p 97 646 p 609 645 p 577 645 p 610 645 p 611 645 p 606 645 p 109 645 p 96 645 p 611 644 p 610 644 p 606 644 p 643 644 p 644 644 p 108 644 p 109 644 p 612 643 p 580 643 p 613 643 p 617 643 p 616 643 p 110 643 p 98 643 p 612 642 p 580 642 p 613 642 p 614 642 p 609 642 p 110 642 p 97 642 p 614 641 p 613 641 p 609 641 p 646 641 p 647 641 p 109 641 p 110 641 p 615 640 p 583 640 p 616 640 p 620 640 p 619 640 p 111 640 p 99 640 p 615 639 p 583 639 p 616 639 p 617 639 p 612 639 p 111 639 p 98 639 p 617 638 p 616 638 p 612 638 p 649 638 p 650 638 p 110 638 p 111 638 p 618 637 p 585 637 p 619 637 p 621 637 p 622 637 p 112 637 p 100 637 p 618 636 p 585 636 p 619 636 p 620 636 p 615 636 p 112 636 p 99 636 p 620 635 p 619 635 p 615 635 p 652 635 p 653 635 p 111 635 p 112 635 p 621 634 p 618 634 p 622 634 p 113 634 p 100 634 p 621 633 p 618 633 p 622 633 p 655 633 p 656 633 p 113 633 p 112 633 p 623 632 p 590 632 p 624 632 p 627 632 p 626 632 p 114 632 p 102 632 p 623 631 p 590 631 p 624 631 p 114 631 p 101 631 p 625 630 p 593 630 p 626 630 p 630 630 p 629 630 p 115 630 p 103 630 p 625 629 p 593 629 p 626 629 p 627 629 p 623 629 p 115 629 p 102 629 p 627 628 p 626 628 p 623 628 p 660 628 p 661 628 p 114 628 p 115 628 p 628 627 p 596 627 p 629 627 p 633 627 p 632 627 p 116 627 p 104 627 p 628 626 p 596 626 p 629 626 p 630 626 p 625 626 p 116 626 p 103 626 p 630 625 p 629 625 p 625 625 p 662 625 p 663 625 p 115 625 p 116 625 p 631 624 p 599 624 p 632 624 p 636 624 p 635 624 p 117 624 p 105 624 p 631 623 p 599 623 p 632 623 p 633 623 p 628 623 p 117 623 p 104 623 p 633 622 p 632 622 p 628 622 p 665 622 p 666 622 p 116 622 p 117 622 p 634 621 p 602 621 p 635 621 p 639 621 p 638 621 p 118 621 p 106 621 p 634 620 p 602 620 p 635 620 p 636 620 p 631 620 p 118 620 p 105 620 p 636 619 p 635 619 p 631 619 p 668 619 p 669 619 p 117 619 p 118 619 p 637 618 p 605 618 p 638 618 p 642 618 p 641 618 p 119 618 p 107 618 p 637 617 p 605 617 p 638 617 p 639 617 p 634 617 p 119 617 p 106 617 p 639 616 p 638 616 p 634 616 p 671 616 p 668 616 p 118 616 p 119 616 p 640 615 p 608 615 p 641 615 p 645 615 p 644 615 p 120 615 p 108 615 p 640 614 p 608 614 p 641 614 p 642 614 p 637 614 p 120 614 p 107 614 p 642 613 p 641 613 p 637 613 p 672 613 p 673 613 p 119 613 p 120 613 p 643 612 p 611 612 p 644 612 p 648 612 p 647 612 p 121 612 p 109 612 p 643 611 p 611 611 p 644 611 p 645 611 p 640 611 p 121 611 p 108 611 p 645 610 p 644 610 p 640 610 p 675 610 p 676 610 p 120 610 p 121 610 p 646 609 p 614 609 p 647 609 p 651 609 p 650 609 p 122 609 p 110 609 p 646 608 p 614 608 p 647 608 p 648 608 p 643 608 p 122 608 p 109 608 p 648 607 p 647 607 p 643 607 p 678 607 p 679 607 p 121 607 p 122 607 p 649 606 p 617 606 p 650 606 p 654 606 p 653 606 p 123 606 p 111 606 p 649 605 p 617 605 p 650 605 p 651 605 p 646 605 p 123 605 p 110 605 p 651 604 p 650 604 p 646 604 p 681 604 p 682 604 p 122 604 p 123 604 p 652 603 p 620 603 p 653 603 p 657 603 p 656 603 p 124 603 p 112 603 p 652 602 p 620 602 p 653 602 p 654 602 p 649 602 p 124 602 p 111 602 p 654 601 p 653 601 p 649 601 p 684 601 p 685 601 p 123 601 p 124 601 p 655 600 p 622 600 p 656 600 p 658 600 p 659 600 p 125 600 p 113 600 p 655 599 p 622 599 p 656 599 p 657 599 p 652 599 p 125 599 p 112 599 p 657 598 p 656 598 p 652 598 p 687 598 p 688 598 p 124 598 p 125 598 p 658 597 p 655 597 p 659 597 p 126 597 p 113 597 p 658 596 p 655 596 p 659 596 p 692 596 p 693 596 p 126 596 p 125 596 p 660 595 p 627 595 p 661 595 p 664 595 p 663 595 p 127 595 p 115 595 p 660 594 p 627 594 p 661 594 p 127 594 p 114 594 p 662 593 p 630 593 p 663 593 p 667 593 p 666 593 p 128 593 p 116 593 p 662 592 p 630 592 p 663 592 p 664 592 p 660 592 p 128 592 p 115 592 p 664 591 p 663 591 p 660 591 p 697 591 p 698 591 p 127 591 p 128 591 p 665 590 p 633 590 p 666 590 p 670 590 p 669 590 p 129 590 p 117 590 p 665 589 p 633 589 p 666 589 p 667 589 p 662 589 p 129 589 p 116 589 p 667 588 p 666 588 p 662 588 p 699 588 p 697 588 p 128 588 p 129 588 p 668 587 p 636 587 p 669 587 p 671 587 p 639 587 p 130 587 p 118 587 p 668 586 p 636 586 p 669 586 p 670 586 p 665 586 p 130 586 p 117 586 p 670 585 p 669 585 p 665 585 p 700 585 p 701 585 p 129 585 p 130 585 p 671 584 p 639 584 p 668 584 p 674 584 p 673 584 p 130 584 p 119 584 p 672 583 p 642 583 p 673 583 p 677 583 p 676 583 p 131 583 p 120 583 p 672 582 p 642 582 p 673 582 p 674 582 p 671 582 p 131 582 p 119 582 p 674 581 p 673 581 p 671 581 p 703 581 p 704 581 p 130 581 p 131 581 p 675 580 p 645 580 p 676 580 p 680 580 p 679 580 p 132 580 p 121 580 p 675 579 p 645 579 p 676 579 p 677 579 p 672 579 p 132 579 p 120 579 p 677 578 p 676 578 p 672 578 p 706 578 p 707 578 p 131 578 p 132 578 p 678 577 p 648 577 p 679 577 p 683 577 p 682 577 p 133 577 p 122 577 p 678 576 p 648 576 p 679 576 p 680 576 p 675 576 p 133 576 p 121 576 p 680 575 p 679 575 p 675 575 p 709 575 p 710 575 p 132 575 p 133 575 p 681 574 p 651 574 p 682 574 p 686 574 p 685 574 p 134 574 p 123 574 p 681 573 p 651 573 p 682 573 p 683 573 p 678 573 p 134 573 p 122 573 p 683 572 p 682 572 p 678 572 p 712 572 p 713 572 p 133 572 p 134 572 p 684 571 p 654 571 p 685 571 p 689 571 p 688 571 p 135 571 p 124 571 p 684 570 p 654 570 p 685 570 p 686 570 p 681 570 p 135 570 p 123 570 p 686 569 p 685 569 p 681 569 p 715 569 p 716 569 p 134 569 p 135 569 p 687 568 p 657 568 p 688 568 p 690 568 p 691 568 p 136 568 p 125 568 p 687 567 p 657 567 p 688 567 p 689 567 p 684 567 p 136 567 p 124 567 p 689 566 p 688 566 p 684 566 p 718 566 p 719 566 p 135 566 p 136 566 p 690 565 p 691 565 p 687 565 p 721 565 p 722 565 p 136 565 p 137 565 p 690 564 p 691 564 p 687 564 p 694 564 p 693 564 p 137 564 p 125 564 p 692 563 p 659 563 p 693 563 p 695 563 p 696 563 p 138 563 p 126 563 p 692 562 p 659 562 p 693 562 p 694 562 p 691 562 p 138 562 p 125 562 p 694 561 p 693 561 p 691 561 p 724 561 p 725 561 p 137 561 p 138 561 p 695 560 p 692 560 p 696 560 p 139 560 p 126 560 p 695 559 p 692 559 p 696 559 p 727 559 p 728 559 p 139 559 p 138 559 p 697 558 p 664 558 p 698 558 p 699 558 p 667 558 p 140 558 p 128 558 p 697 557 p 664 557 p 698 557 p 140 557 p 127 557 p 699 556 p 667 556 p 697 556 p 702 556 p 701 556 p 140 556 p 129 556 p 700 555 p 670 555 p 701 555 p 705 555 p 704 555 p 141 555 p 130 555 p 700 554 p 670 554 p 701 554 p 702 554 p 699 554 p 141 554 p 129 554 p 702 553 p 701 553 p 699 553 p 734 553 p 735 553 p 140 553 p 141 553 p 703 552 p 674 552 p 704 552 p 708 552 p 707 552 p 142 552 p 131 552 p 703 551 p 674 551 p 704 551 p 705 551 p 700 551 p 142 551 p 130 551 p 705 550 p 704 550 p 700 550 p 736 550 p 734 550 p 141 550 p 142 550 p 706 549 p 677 549 p 707 549 p 711 549 p 710 549 p 143 549 p 132 549 p 706 548 p 677 548 p 707 548 p 708 548 p 703 548 p 143 548 p 131 548 p 708 547 p 707 547 p 703 547 p 737 547 p 738 547 p 142 547 p 143 547 p 709 546 p 680 546 p 710 546 p 714 546 p 713 546 p 144 546 p 133 546 p 709 545 p 680 545 p 710 545 p 711 545 p 706 545 p 144 545 p 132 545 p 711 544 p 710 544 p 706 544 p 740 544 p 741 544 p 143 544 p 144 544 p 712 543 p 683 543 p 713 543 p 717 543 p 716 543 p 145 543 p 134 543 p 712 542 p 683 542 p 713 542 p 714 542 p 709 542 p 145 542 p 133 542 p 714 541 p 713 541 p 709 541 p 743 541 p 744 541 p 144 541 p 145 541 p 715 540 p 686 540 p 716 540 p 720 540 p 719 540 p 146 540 p 135 540 p 715 539 p 686 539 p 716 539 p 717 539 p 712 539 p 146 539 p 134 539 p 717 538 p 716 538 p 712 538 p 746 538 p 747 538 p 145 538 p 146 538 p 718 537 p 689 537 p 719 537 p 723 537 p 722 537 p 147 537 p 136 537 p 718 536 p 689 536 p 719 536 p 720 536 p 715 536 p 147 536 p 135 536 p 720 535 p 719 535 p 715 535 p 749 535 p 750 535 p 146 535 p 147 535 p 721 534 p 690 534 p 722 534 p 726 534 p 725 534 p 148 534 p 137 534 p 721 533 p 690 533 p 722 533 p 723 533 p 718 533 p 148 533 p 136 533 p 723 532 p 722 532 p 718 532 p 752 532 p 753 532 p 147 532 p 148 532 p 724 531 p 694 531 p 725 531 p 729 531 p 728 531 p 149 531 p 138 531 p 724 530 p 694 530 p 725 530 p 726 530 p 721 530 p 149 530 p 137 530 p 726 529 p 725 529 p 721 529 p 756 529 p 757 529 p 148 529 p 149 529 p 727 528 p 696 528 p 728 528 p 730 528 p 731 528 p 150 528 p 139 528 p 727 527 p 696 527 p 728 527 p 729 527 p 724 527 p 150 527 p 138 527 p 729 526 p 728 526 p 724 526 p 755 526 p 756 526 p 149 526 p 150 526 p 730 525 p 727 525 p 731 525 p 3 525 p 139 525 p 730 524 p 727 524 p 731 524 p 732 524 p 733 524 p 3 524 p 150 524 p 732 523 p 731 523 p 733 523 p 151 523 p 3 523 p 732 522 p 731 522 p 733 522 p 759 522 p 761 522 p 151 522 p 150 522 p 734 521 p 702 521 p 735 521 p 736 521 p 705 521 p 152 521 p 141 521 p 734 520 p 702 520 p 735 520 p 152 520 p 140 520 p 736 519 p 705 519 p 734 519 p 739 519 p 738 519 p 152 519 p 142 519 p 737 518 p 708 518 p 738 518 p 742 518 p 741 518 p 153 518 p 143 518 p 737 517 p 708 517 p 738 517 p 739 517 p 736 517 p 153 517 p 142 517 p 739 516 p 738 516 p 736 516 p 762 516 p 763 516 p 152 516 p 153 516 p 740 515 p 711 515 p 741 515 p 745 515 p 744 515 p 154 515 p 144 515 p 740 514 p 711 514 p 741 514 p 742 514 p 737 514 p 154 514 p 143 514 p 742 513 p 741 513 p 737 513 p 764 513 p 762 513 p 153 513 p 154 513 p 743 512 p 714 512 p 744 512 p 748 512 p 747 512 p 155 512 p 145 512 p 743 511 p 714 511 p 744 511 p 745 511 p 740 511 p 155 511 p 144 511 p 745 510 p 744 510 p 740 510 p 765 510 p 766 510 p 154 510 p 155 510 p 746 509 p 717 509 p 747 509 p 751 509 p 750 509 p 156 509 p 146 509 p 746 508 p 717 508 p 747 508 p 748 508 p 743 508 p 156 508 p 145 508 p 748 507 p 747 507 p 743 507 p 768 507 p 769 507 p 155 507 p 156 507 p 749 506 p 720 506 p 750 506 p 754 506 p 753 506 p 157 506 p 147 506 p 749 505 p 720 505 p 750 505 p 751 505 p 746 505 p 157 505 p 146 505 p 751 504 p 750 504 p 746 504 p 771 504 p 772 504 p 156 504 p 157 504 p 752 503 p 723 503 p 753 503 p 758 503 p 757 503 p 158 503 p 148 503 p 752 502 p 723 502 p 753 502 p 754 502 p 749 502 p 158 502 p 147 502 p 754 501 p 753 501 p 749 501 p 774 501 p 775 501 p 157 501 p 158 501 p 755 500 p 729 500 p 756 500 p 759 500 p 760 500 p 159 500 p 150 500 p 755 499 p 729 499 p 756 499 p 726 499 p 757 499 p 159 499 p 149 499 p 756 498 p 726 498 p 757 498 p 758 498 p 752 498 p 159 498 p 148 498 p 758 497 p 757 497 p 752 497 p 777 497 p 778 497 p 158 497 p 159 497 p 759 496 p 755 496 p 760 496 p 733 496 p 761 496 p 160 496 p 150 496 p 759 495 p 755 495 p 760 495 p 780 495 p 781 495 p 160 495 p 159 495 p 733 494 p 759 494 p 761 494 p 151 494 p 160 494 p 762 493 p 739 493 p 763 493 p 764 493 p 742 493 p 161 493 p 153 493 p 762 492 p 739 492 p 763 492 p 161 492 p 152 492 p 764 491 p 742 491 p 762 491 p 767 491 p 766 491 p 161 491 p 154 491 p 765 490 p 745 490 p 766 490 p 770 490 p 769 490 p 162 490 p 155 490 p 765 489 p 745 489 p 766 489 p 767 489 p 764 489 p 162 489 p 154 489 p 767 488 p 766 488 p 764 488 p 783 488 p 784 488 p 161 488 p 162 488 p 768 487 p 748 487 p 769 487 p 773 487 p 772 487 p 163 487 p 156 487 p 768 486 p 748 486 p 769 486 p 770 486 p 765 486 p 163 486 p 155 486 p 770 485 p 769 485 p 765 485 p 785 485 p 783 485 p 162 485 p 163 485 p 771 484 p 751 484 p 772 484 p 776 484 p 775 484 p 164 484 p 157 484 p 771 483 p 751 483 p 772 483 p 773 483 p 768 483 p 164 483 p 156 483 p 773 482 p 772 482 p 768 482 p 786 482 p 787 482 p 163 482 p 164 482 p 774 481 p 754 481 p 775 481 p 779 481 p 778 481 p 165 481 p 158 481 p 774 480 p 754 480 p 775 480 p 776 480 p 771 480 p 165 480 p 157 480 p 776 479 p 775 479 p 771 479 p 789 479 p 790 479 p 164 479 p 165 479 p 777 478 p 758 478 p 778 478 p 782 478 p 781 478 p 166 478 p 159 478 p 777 477 p 758 477 p 778 477 p 779 477 p 774 477 p 166 477 p 158 477 p 779 476 p 778 476 p 774 476 p 792 476 p 793 476 p 165 476 p 166 476 p 780 475 p 760 475 p 781 475 p 167 475 p 160 475 p 780 474 p 760 474 p 781 474 p 782 474 p 777 474 p 167 474 p 159 474 p 782 473 p 781 473 p 777 473 p 795 473 p 796 473 p 166 473 p 167 473 p 783 472 p 767 472 p 784 472 p 785 472 p 770 472 p 168 472 p 162 472 p 783 471 p 767 471 p 784 471 p 168 471 p 161 471 p 785 470 p 770 470 p 783 470 p 788 470 p 787 470 p 168 470 p 163 470 p 786 469 p 773 469 p 787 469 p 791 469 p 790 469 p 169 469 p 164 469 p 786 468 p 773 468 p 787 468 p 788 468 p 785 468 p 169 468 p 163 468 p 788 467 p 787 467 p 785 467 p 804 467 p 805 467 p 168 467 p 169 467 p 789 466 p 776 466 p 790 466 p 794 466 p 793 466 p 170 466 p 165 466 p 789 465 p 776 465 p 790 465 p 791 465 p 786 465 p 170 465 p 164 465 p 791 464 p 790 464 p 786 464 p 807 464 p 808 464 p 169 464 p 170 464 p 792 463 p 779 463 p 793 463 p 797 463 p 796 463 p 171 463 p 166 463 p 792 462 p 779 462 p 793 462 p 794 462 p 789 462 p 171 462 p 165 462 p 794 461 p 793 461 p 789 461 p 810 461 p 811 461 p 170 461 p 171 461 p 795 460 p 782 460 p 796 460 p 172 460 p 167 460 p 795 459 p 782 459 p 796 459 p 797 459 p 792 459 p 172 459 p 166 459 p 797 458 p 796 458 p 792 458 p 813 458 p 814 458 p 171 458 p 172 458 p 798 457 p 799 457 p 800 457 p 353 457 p 820 457 p 328 457 p 10 457 p 798 456 p 799 456 p 800 456 p 10 456 p 329 456 p 798 455 p 799 455 p 800 455 p 818 455 p 819 455 p 328 455 p 329 455 p 801 454 p 802 454 p 803 454 p 824 454 p 826 454 p 173 454 p 174 454 p 801 453 p 802 453 p 803 453 p 806 453 p 805 453 p 174 453 p 168 453 p 801 452 p 802 452 p 803 452 p 173 452 p 168 452 p 804 451 p 788 451 p 805 451 p 809 451 p 808 451 p 175 451 p 169 451 p 804 450 p 788 450 p 805 450 p 806 450 p 802 450 p 175 450 p 168 450 p 806 449 p 805 449 p 802 449 p 827 449 p 828 449 p 174 449 p 175 449 p 807 448 p 791 448 p 808 448 p 812 448 p 811 448 p 176 448 p 170 448 p 807 447 p 791 447 p 808 447 p 809 447 p 804 447 p 176 447 p 169 447 p 809 446 p 808 446 p 804 446 p 830 446 p 831 446 p 175 446 p 176 446 p 810 445 p 794 445 p 811 445 p 815 445 p 814 445 p 177 445 p 171 445 p 810 444 p 794 444 p 811 444 p 812 444 p 807 444 p 177 444 p 170 444 p 812 443 p 811 443 p 807 443 p 833 443 p 834 443 p 176 443 p 177 443 p 813 442 p 797 442 p 814 442 p 816 442 p 817 442 p 178 442 p 172 442 p 813 441 p 797 441 p 814 441 p 815 441 p 810 441 p 178 441 p 171 441 p 815 440 p 814 440 p 810 440 p 836 440 p 837 440 p 177 440 p 178 440 p 816 439 p 813 439 p 817 439 p 179 439 p 172 439 p 816 438 p 813 438 p 817 438 p 839 438 p 840 438 p 179 438 p 178 438 p 800 437 p 818 437 p 819 437 p 329 437 p 321 437 p 800 436 p 818 436 p 819 436 p 846 436 p 848 436 p 328 436 p 321 436 p 353 435 p 798 435 p 820 435 p 844 435 p 845 435 p 9 435 p 328 435 p 821 434 p 822 434 p 823 434 p 824 434 p 825 434 p 181 434 p 173 434 p 821 433 p 822 433 p 823 433 p 173 433 p 180 433 p 821 432 p 822 432 p 823 432 p 852 432 p 854 432 p 181 432 p 180 432 p 824 431 p 821 431 p 825 431 p 801 431 p 826 431 p 182 431 p 173 431 p 824 430 p 821 430 p 825 430 p 855 430 p 857 430 p 182 430 p 181 430 p 801 429 p 824 429 p 826 429 p 829 429 p 828 429 p 174 429 p 182 429 p 827 428 p 806 428 p 828 428 p 832 428 p 831 428 p 183 428 p 175 428 p 827 427 p 806 427 p 828 427 p 829 427 p 826 427 p 183 427 p 174 427 p 829 426 p 828 426 p 826 426 p 858 426 p 860 426 p 182 426 p 183 426 p 830 425 p 809 425 p 831 425 p 835 425 p 834 425 p 184 425 p 176 425 p 830 424 p 809 424 p 831 424 p 832 424 p 827 424 p 184 424 p 175 424 p 832 423 p 831 423 p 827 423 p 861 423 p 863 423 p 183 423 p 184 423 p 833 422 p 812 422 p 834 422 p 838 422 p 837 422 p 185 422 p 177 422 p 833 421 p 812 421 p 834 421 p 835 421 p 830 421 p 185 421 p 176 421 p 835 420 p 834 420 p 830 420 p 864 420 p 866 420 p 184 420 p 185 420 p 836 419 p 815 419 p 837 419 p 841 419 p 840 419 p 186 419 p 178 419 p 836 418 p 815 418 p 837 418 p 838 418 p 833 418 p 186 418 p 177 418 p 838 417 p 837 417 p 833 417 p 867 417 p 868 417 p 185 417 p 186 417 p 839 416 p 817 416 p 840 416 p 842 416 p 843 416 p 187 416 p 179 416 p 839 415 p 817 415 p 840 415 p 841 415 p 836 415 p 187 415 p 178 415 p 841 414 p 840 414 p 836 414 p 870 414 p 871 414 p 186 414 p 187 414 p 842 413 p 839 413 p 843 413 p 188 413 p 179 413 p 842 412 p 839 412 p 843 412 p 875 412 p 876 412 p 188 412 p 187 412 p 820 411 p 844 411 p 845 411 p 846 411 p 847 411 p 328 411 p 327 411 p 820 410 p 844 410 p 845 410 p 349 410 p 882 410 p 9 410 p 327 410 p 844 409 p 846 409 p 847 409 p 819 409 p 848 409 p 328 409 p 320 409 p 844 408 p 846 408 p 847 408 p 960 408 p 921 408 p 327 408 p 320 408 p 846 407 p 819 407 p 848 407 p 1250 407 p 1254 407 p 320 407 p 321 407 p 849 406 p 850 406 p 851 406 p 852 406 p 853 406 p 190 406 p 180 406 p 849 405 p 850 405 p 851 405 p 180 405 p 189 405 p 849 404 p 850 404 p 851 404 p 886 404 p 887 404 p 190 404 p 189 404 p 852 403 p 849 403 p 853 403 p 823 403 p 854 403 p 191 403 p 180 403 p 852 402 p 849 402 p 853 402 p 889 402 p 891 402 p 191 402 p 190 402 p 823 401 p 852 401 p 854 401 p 855 401 p 856 401 p 181 401 p 191 401 p 855 400 p 854 400 p 856 400 p 825 400 p 857 400 p 192 400 p 181 400 p 855 399 p 854 399 p 856 399 p 892 399 p 894 399 p 192 399 p 191 399 p 825 398 p 855 398 p 857 398 p 858 398 p 859 398 p 182 398 p 192 398 p 858 397 p 857 397 p 859 397 p 829 397 p 860 397 p 193 397 p 182 397 p 858 396 p 857 396 p 859 396 p 895 396 p 897 396 p 193 396 p 192 396 p 829 395 p 858 395 p 860 395 p 861 395 p 862 395 p 183 395 p 193 395 p 861 394 p 860 394 p 862 394 p 832 394 p 863 394 p 194 394 p 183 394 p 861 393 p 860 393 p 862 393 p 898 393 p 900 393 p 194 393 p 193 393 p 832 392 p 861 392 p 863 392 p 864 392 p 865 392 p 184 392 p 194 392 p 864 391 p 863 391 p 865 391 p 835 391 p 866 391 p 195 391 p 184 391 p 864 390 p 863 390 p 865 390 p 901 390 p 903 390 p 195 390 p 194 390 p 835 389 p 864 389 p 866 389 p 869 389 p 868 389 p 185 389 p 195 389 p 867 388 p 838 388 p 868 388 p 872 388 p 871 388 p 196 388 p 186 388 p 867 387 p 838 387 p 868 387 p 869 387 p 866 387 p 196 387 p 185 387 p 869 386 p 868 386 p 866 386 p 904 386 p 906 386 p 195 386 p 196 386 p 870 385 p 841 385 p 871 385 p 873 385 p 874 385 p 197 385 p 187 385 p 870 384 p 841 384 p 871 384 p 872 384 p 867 384 p 197 384 p 186 384 p 872 383 p 871 383 p 867 383 p 907 383 p 909 383 p 196 383 p 197 383 p 873 382 p 870 382 p 874 382 p 877 382 p 876 382 p 198 382 p 187 382 p 873 381 p 870 381 p 874 381 p 910 381 p 912 381 p 198 381 p 197 381 p 875 380 p 843 380 p 876 380 p 878 380 p 879 380 p 199 380 p 188 380 p 875 379 p 843 379 p 876 379 p 877 379 p 873 379 p 199 379 p 187 379 p 877 378 p 876 378 p 873 378 p 913 378 p 915 378 p 198 378 p 199 378 p 878 377 p 875 377 p 879 377 p 200 377 p 188 377 p 878 376 p 875 376 p 879 376 p 880 376 p 881 376 p 200 376 p 199 376 p 880 375 p 879 375 p 881 375 p 0 375 p 200 375 p 880 374 p 879 374 p 881 374 p 916 374 p 918 374 p 0 374 p 199 374 p 349 373 p 845 373 p 882 373 p 919 373 p 920 373 p 8 373 p 327 373 p 883 372 p 884 372 p 885 372 p 189 372 p 201 372 p 883 371 p 884 371 p 885 371 p 923 371 p 924 371 p 201 371 p 202 371 p 883 370 p 884 370 p 885 370 p 888 370 p 886 370 p 189 370 p 202 370 p 886 369 p 887 369 p 851 369 p 885 369 p 888 369 p 189 369 p 203 369 p 886 368 p 887 368 p 851 368 p 889 368 p 890 368 p 203 368 p 190 368 p 885 367 p 888 367 p 886 367 p 927 367 p 928 367 p 202 367 p 203 367 p 889 366 p 887 366 p 890 366 p 853 366 p 891 366 p 204 366 p 190 366 p 889 365 p 887 365 p 890 365 p 930 365 p 931 365 p 204 365 p 203 365 p 853 364 p 889 364 p 891 364 p 892 364 p 893 364 p 191 364 p 204 364 p 892 363 p 891 363 p 893 363 p 856 363 p 894 363 p 205 363 p 191 363 p 892 362 p 891 362 p 893 362 p 935 362 p 937 362 p 205 362 p 204 362 p 856 361 p 892 361 p 894 361 p 895 361 p 896 361 p 192 361 p 205 361 p 895 360 p 894 360 p 896 360 p 859 360 p 897 360 p 206 360 p 192 360 p 895 359 p 894 359 p 896 359 p 938 359 p 940 359 p 206 359 p 205 359 p 859 358 p 895 358 p 897 358 p 898 358 p 899 358 p 193 358 p 206 358 p 898 357 p 897 357 p 899 357 p 862 357 p 900 357 p 207 357 p 193 357 p 898 356 p 897 356 p 899 356 p 941 356 p 943 356 p 207 356 p 206 356 p 862 355 p 898 355 p 900 355 p 901 355 p 902 355 p 194 355 p 207 355 p 901 354 p 900 354 p 902 354 p 865 354 p 903 354 p 208 354 p 194 354 p 901 353 p 900 353 p 902 353 p 944 353 p 946 353 p 208 353 p 207 353 p 865 352 p 901 352 p 903 352 p 904 352 p 905 352 p 195 352 p 208 352 p 904 351 p 903 351 p 905 351 p 869 351 p 906 351 p 209 351 p 195 351 p 904 350 p 903 350 p 905 350 p 947 350 p 949 350 p 209 350 p 208 350 p 869 349 p 904 349 p 906 349 p 907 349 p 908 349 p 196 349 p 209 349 p 907 348 p 906 348 p 908 348 p 872 348 p 909 348 p 210 348 p 196 348 p 907 347 p 906 347 p 908 347 p 950 347 p 952 347 p 210 347 p 209 347 p 872 346 p 907 346 p 909 346 p 910 346 p 911 346 p 197 346 p 210 346 p 910 345 p 909 345 p 911 345 p 874 345 p 912 345 p 211 345 p 197 345 p 910 344 p 909 344 p 911 344 p 955 344 p 953 344 p 211 344 p 210 344 p 874 343 p 910 343 p 912 343 p 913 343 p 914 343 p 198 343 p 211 343 p 913 342 p 912 342 p 914 342 p 877 342 p 915 342 p 212 342 p 198 342 p 913 341 p 912 341 p 914 341 p 953 341 p 954 341 p 212 341 p 211 341 p 877 340 p 913 340 p 915 340 p 916 340 p 917 340 p 199 340 p 212 340 p 916 339 p 915 339 p 917 339 p 881 339 p 918 339 p 213 339 p 199 339 p 916 338 p 915 338 p 917 338 p 957 338 p 958 338 p 213 338 p 212 338 p 881 337 p 916 337 p 918 337 p 0 337 p 213 337 p 882 336 p 919 336 p 920 336 p 921 336 p 922 336 p 327 336 p 326 336 p 882 335 p 919 335 p 920 335 p 345 335 p 961 335 p 8 335 p 326 335 p 919 334 p 921 334 p 922 334 p 847 334 p 960 334 p 327 334 p 319 334 p 919 333 p 921 333 p 922 333 p 1040 333 p 1001 333 p 326 333 p 319 333 p 923 332 p 924 332 p 884 332 p 925 332 p 926 332 p 201 332 p 215 332 p 923 331 p 924 331 p 884 331 p 929 331 p 927 331 p 215 331 p 202 331 p 925 330 p 926 330 p 923 330 p 201 330 p 214 330 p 925 329 p 926 329 p 923 329 p 964 329 p 965 329 p 214 329 p 215 329 p 927 328 p 928 328 p 888 328 p 924 328 p 929 328 p 202 328 p 216 328 p 927 327 p 928 327 p 888 327 p 932 327 p 930 327 p 216 327 p 203 327 p 924 326 p 929 326 p 927 326 p 968 326 p 969 326 p 215 326 p 216 326 p 930 325 p 931 325 p 890 325 p 928 325 p 932 325 p 203 325 p 217 325 p 930 324 p 931 324 p 890 324 p 933 324 p 934 324 p 217 324 p 204 324 p 928 323 p 932 323 p 930 323 p 971 323 p 972 323 p 216 323 p 217 323 p 933 322 p 931 322 p 934 322 p 935 322 p 936 322 p 218 322 p 204 322 p 933 321 p 931 321 p 934 321 p 974 321 p 975 321 p 218 321 p 217 321 p 935 320 p 933 320 p 936 320 p 893 320 p 937 320 p 219 320 p 204 320 p 935 319 p 933 319 p 936 319 p 977 319 p 979 319 p 219 319 p 218 319 p 893 318 p 935 318 p 937 318 p 938 318 p 939 318 p 205 318 p 219 318 p 938 317 p 937 317 p 939 317 p 896 317 p 940 317 p 220 317 p 205 317 p 938 316 p 937 316 p 939 316 p 980 316 p 982 316 p 220 316 p 219 316 p 896 315 p 938 315 p 940 315 p 941 315 p 942 315 p 206 315 p 220 315 p 941 314 p 940 314 p 942 314 p 899 314 p 943 314 p 221 314 p 206 314 p 941 313 p 940 313 p 942 313 p 983 313 p 985 313 p 221 313 p 220 313 p 899 312 p 941 312 p 943 312 p 944 312 p 945 312 p 207 312 p 221 312 p 944 311 p 943 311 p 945 311 p 902 311 p 946 311 p 222 311 p 207 311 p 944 310 p 943 310 p 945 310 p 986 310 p 988 310 p 222 310 p 221 310 p 902 309 p 944 309 p 946 309 p 947 309 p 948 309 p 208 309 p 222 309 p 947 308 p 946 308 p 948 308 p 905 308 p 949 308 p 223 308 p 208 308 p 947 307 p 946 307 p 948 307 p 989 307 p 991 307 p 223 307 p 222 307 p 905 306 p 947 306 p 949 306 p 950 306 p 951 306 p 209 306 p 223 306 p 950 305 p 949 305 p 951 305 p 908 305 p 952 305 p 224 305 p 209 305 p 950 304 p 949 304 p 951 304 p 992 304 p 994 304 p 224 304 p 223 304 p 908 303 p 950 303 p 952 303 p 955 303 p 956 303 p 210 303 p 224 303 p 914 302 p 953 302 p 954 302 p 911 302 p 955 302 p 211 302 p 225 302 p 914 301 p 953 301 p 954 301 p 959 301 p 957 301 p 212 301 p 225 301 p 955 300 p 952 300 p 956 300 p 911 300 p 953 300 p 225 300 p 210 300 p 955 299 p 952 299 p 956 299 p 995 299 p 997 299 p 225 299 p 224 299 p 957 298 p 958 298 p 917 298 p 954 298 p 959 298 p 212 298 p 226 298 p 957 297 p 958 297 p 917 297 p 226 297 p 213 297 p 954 296 p 959 296 p 957 296 p 998 296 p 1000 296 p 225 296 p 226 296 p 847 295 p 960 295 p 921 295 p 1251 295 p 1248 295 p 320 295 p 319 295 p 345 294 p 920 294 p 961 294 p 962 294 p 963 294 p 7 294 p 326 294 p 961 293 p 962 293 p 963 293 p 1001 293 p 1002 293 p 326 293 p 325 293 p 961 292 p 962 292 p 963 292 p 341 292 p 1041 292 p 7 292 p 325 292 p 964 291 p 965 291 p 926 291 p 966 291 p 967 291 p 214 291 p 228 291 p 964 290 p 965 290 p 926 290 p 970 290 p 969 290 p 228 290 p 215 290 p 966 289 p 967 289 p 964 289 p 214 289 p 227 289 p 966 288 p 967 288 p 964 288 p 1003 288 p 1004 288 p 227 288 p 228 288 p 968 287 p 929 287 p 969 287 p 973 287 p 972 287 p 229 287 p 216 287 p 968 286 p 929 286 p 969 286 p 970 286 p 965 286 p 229 286 p 215 286 p 970 285 p 969 285 p 965 285 p 1007 285 p 1008 285 p 228 285 p 229 285 p 971 284 p 932 284 p 972 284 p 976 284 p 975 284 p 230 284 p 217 284 p 971 283 p 932 283 p 972 283 p 973 283 p 968 283 p 230 283 p 216 283 p 973 282 p 972 282 p 968 282 p 1010 282 p 1011 282 p 229 282 p 230 282 p 974 281 p 934 281 p 975 281 p 977 281 p 978 281 p 231 281 p 218 281 p 974 280 p 934 280 p 975 280 p 976 280 p 971 280 p 231 280 p 217 280 p 976 279 p 975 279 p 971 279 p 1013 279 p 1014 279 p 230 279 p 231 279 p 977 278 p 974 278 p 978 278 p 936 278 p 979 278 p 232 278 p 218 278 p 977 277 p 974 277 p 978 277 p 1016 277 p 1017 277 p 232 277 p 231 277 p 936 276 p 977 276 p 979 276 p 980 276 p 981 276 p 219 276 p 232 276 p 980 275 p 979 275 p 981 275 p 939 275 p 982 275 p 233 275 p 219 275 p 980 274 p 979 274 p 981 274 p 1019 274 p 1020 274 p 233 274 p 232 274 p 939 273 p 980 273 p 982 273 p 983 273 p 984 273 p 220 273 p 233 273 p 983 272 p 982 272 p 984 272 p 942 272 p 985 272 p 234 272 p 220 272 p 983 271 p 982 271 p 984 271 p 1022 271 p 1024 271 p 234 271 p 233 271 p 942 270 p 983 270 p 985 270 p 986 270 p 987 270 p 221 270 p 234 270 p 986 269 p 985 269 p 987 269 p 945 269 p 988 269 p 235 269 p 221 269 p 986 268 p 985 268 p 987 268 p 1025 268 p 1027 268 p 235 268 p 234 268 p 945 267 p 986 267 p 988 267 p 989 267 p 990 267 p 222 267 p 235 267 p 989 266 p 988 266 p 990 266 p 948 266 p 991 266 p 236 266 p 222 266 p 989 265 p 988 265 p 990 265 p 1028 265 p 1030 265 p 236 265 p 235 265 p 948 264 p 989 264 p 991 264 p 992 264 p 993 264 p 223 264 p 236 264 p 992 263 p 991 263 p 993 263 p 951 263 p 994 263 p 237 263 p 223 263 p 992 262 p 991 262 p 993 262 p 1031 262 p 1033 262 p 237 262 p 236 262 p 951 261 p 992 261 p 994 261 p 995 261 p 996 261 p 224 261 p 237 261 p 995 260 p 994 260 p 996 260 p 956 260 p 997 260 p 238 260 p 224 260 p 995 259 p 994 259 p 996 259 p 1034 259 p 1036 259 p 238 259 p 237 259 p 956 258 p 995 258 p 997 258 p 998 258 p 999 258 p 225 258 p 238 258 p 998 257 p 997 257 p 999 257 p 959 257 p 1000 257 p 239 257 p 225 257 p 998 256 p 997 256 p 999 256 p 1037 256 p 1039 256 p 239 256 p 238 256 p 959 255 p 998 255 p 1000 255 p 226 255 p 239 255 p 962 254 p 1001 254 p 1002 254 p 922 254 p 1040 254 p 326 254 p 318 254 p 962 253 p 1001 253 p 1002 253 p 1083 253 p 1081 253 p 325 253 p 318 253 p 1003 252 p 967 252 p 1004 252 p 1009 252 p 1008 252 p 241 252 p 228 252 p 1003 251 p 967 251 p 1004 251 p 1005 251 p 1006 251 p 241 251 p 227 251 p 1005 250 p 1004 250 p 1006 250 p 1042 250 p 1043 250 p 240 250 p 241 250 p 1005 249 p 1004 249 p 1006 249 p 240 249 p 227 249 p 1007 248 p 970 248 p 1008 248 p 1012 248 p 1011 248 p 242 248 p 229 248 p 1007 247 p 970 247 p 1008 247 p 1009 247 p 1003 247 p 242 247 p 228 247 p 1009 246 p 1008 246 p 1003 246 p 1046 246 p 1047 246 p 241 246 p 242 246 p 1010 245 p 973 245 p 1011 245 p 1015 245 p 1014 245 p 243 245 p 230 245 p 1010 244 p 973 244 p 1011 244 p 1012 244 p 1007 244 p 243 244 p 229 244 p 1012 243 p 1011 243 p 1007 243 p 1049 243 p 1050 243 p 242 243 p 243 243 p 1013 242 p 976 242 p 1014 242 p 1018 242 p 1017 242 p 244 242 p 231 242 p 1013 241 p 976 241 p 1014 241 p 1015 241 p 1010 241 p 244 241 p 230 241 p 1015 240 p 1014 240 p 1010 240 p 1052 240 p 1053 240 p 243 240 p 244 240 p 1016 239 p 978 239 p 1017 239 p 1021 239 p 1019 239 p 245 239 p 232 239 p 1016 238 p 978 238 p 1017 238 p 1018 238 p 1013 238 p 245 238 p 231 238 p 1018 237 p 1017 237 p 1013 237 p 1055 237 p 1056 237 p 244 237 p 245 237 p 1019 236 p 1020 236 p 981 236 p 1016 236 p 1021 236 p 232 236 p 246 236 p 1019 235 p 1020 235 p 981 235 p 1022 235 p 1023 235 p 246 235 p 233 235 p 1016 234 p 1021 234 p 1019 234 p 1058 234 p 1059 234 p 245 234 p 246 234 p 1022 233 p 1020 233 p 1023 233 p 984 233 p 1024 233 p 247 233 p 233 233 p 1022 232 p 1020 232 p 1023 232 p 1061 232 p 1062 232 p 247 232 p 246 232 p 984 231 p 1022 231 p 1024 231 p 1025 231 p 1026 231 p 234 231 p 247 231 p 1025 230 p 1024 230 p 1026 230 p 987 230 p 1027 230 p 248 230 p 234 230 p 1025 229 p 1024 229 p 1026 229 p 1064 229 p 1066 229 p 248 229 p 247 229 p 987 228 p 1025 228 p 1027 228 p 1028 228 p 1029 228 p 235 228 p 248 228 p 1028 227 p 1027 227 p 1029 227 p 990 227 p 1030 227 p 249 227 p 235 227 p 1028 226 p 1027 226 p 1029 226 p 1067 226 p 1069 226 p 249 226 p 248 226 p 990 225 p 1028 225 p 1030 225 p 1031 225 p 1032 225 p 236 225 p 249 225 p 1031 224 p 1030 224 p 1032 224 p 993 224 p 1033 224 p 250 224 p 236 224 p 1031 223 p 1030 223 p 1032 223 p 1070 223 p 1072 223 p 250 223 p 249 223 p 993 222 p 1031 222 p 1033 222 p 1034 222 p 1035 222 p 237 222 p 250 222 p 1034 221 p 1033 221 p 1035 221 p 996 221 p 1036 221 p 251 221 p 237 221 p 1034 220 p 1033 220 p 1035 220 p 1073 220 p 1075 220 p 251 220 p 250 220 p 996 219 p 1034 219 p 1036 219 p 1037 219 p 1038 219 p 238 219 p 251 219 p 1037 218 p 1036 218 p 1038 218 p 999 218 p 1039 218 p 252 218 p 238 218 p 1037 217 p 1036 217 p 1038 217 p 1076 217 p 1078 217 p 252 217 p 251 217 p 999 216 p 1037 216 p 1039 216 p 239 216 p 252 216 p 922 215 p 1040 215 p 1001 215 p 1249 215 p 1246 215 p 319 215 p 318 215 p 341 214 p 963 214 p 1041 214 p 1079 214 p 1080 214 p 6 214 p 325 214 p 1042 213 p 1005 213 p 1043 213 p 1048 213 p 1047 213 p 254 213 p 241 213 p 1042 212 p 1005 212 p 1043 212 p 1044 212 p 1045 212 p 254 212 p 240 212 p 1044 211 p 1043 211 p 1045 211 p 1084 211 p 1085 211 p 253 211 p 254 211 p 1044 210 p 1043 210 p 1045 210 p 253 210 p 240 210 p 1046 209 p 1009 209 p 1047 209 p 1051 209 p 1050 209 p 255 209 p 242 209 p 1046 208 p 1009 208 p 1047 208 p 1048 208 p 1042 208 p 255 208 p 241 208 p 1048 207 p 1047 207 p 1042 207 p 1086 207 p 1087 207 p 254 207 p 255 207 p 1049 206 p 1012 206 p 1050 206 p 1054 206 p 1053 206 p 256 206 p 243 206 p 1049 205 p 1012 205 p 1050 205 p 1051 205 p 1046 205 p 256 205 p 242 205 p 1051 204 p 1050 204 p 1046 204 p 1089 204 p 1090 204 p 255 204 p 256 204 p 1052 203 p 1015 203 p 1053 203 p 1057 203 p 1056 203 p 257 203 p 244 203 p 1052 202 p 1015 202 p 1053 202 p 1054 202 p 1049 202 p 257 202 p 243 202 p 1054 201 p 1053 201 p 1049 201 p 1092 201 p 1093 201 p 256 201 p 257 201 p 1055 200 p 1018 200 p 1056 200 p 1060 200 p 1059 200 p 258 200 p 245 200 p 1055 199 p 1018 199 p 1056 199 p 1057 199 p 1052 199 p 258 199 p 244 199 p 1057 198 p 1056 198 p 1052 198 p 1095 198 p 1096 198 p 257 198 p 258 198 p 1058 197 p 1021 197 p 1059 197 p 1063 197 p 1061 197 p 259 197 p 246 197 p 1058 196 p 1021 196 p 1059 196 p 1060 196 p 1055 196 p 259 196 p 245 196 p 1060 195 p 1059 195 p 1055 195 p 1098 195 p 1099 195 p 258 195 p 259 195 p 1061 194 p 1062 194 p 1023 194 p 1058 194 p 1063 194 p 246 194 p 260 194 p 1061 193 p 1062 193 p 1023 193 p 1064 193 p 1065 193 p 260 193 p 247 193 p 1058 192 p 1063 192 p 1061 192 p 1101 192 p 1102 192 p 259 192 p 260 192 p 1064 191 p 1062 191 p 1065 191 p 1026 191 p 1066 191 p 261 191 p 247 191 p 1064 190 p 1062 190 p 1065 190 p 1104 190 p 1105 190 p 261 190 p 260 190 p 1026 189 p 1064 189 p 1066 189 p 1067 189 p 1068 189 p 248 189 p 261 189 p 1067 188 p 1066 188 p 1068 188 p 1029 188 p 1069 188 p 262 188 p 248 188 p 1067 187 p 1066 187 p 1068 187 p 1107 187 p 1109 187 p 262 187 p 261 187 p 1029 186 p 1067 186 p 1069 186 p 1070 186 p 1071 186 p 249 186 p 262 186 p 1070 185 p 1069 185 p 1071 185 p 1032 185 p 1072 185 p 263 185 p 249 185 p 1070 184 p 1069 184 p 1071 184 p 1110 184 p 1112 184 p 263 184 p 262 184 p 1032 183 p 1070 183 p 1072 183 p 1073 183 p 1074 183 p 250 183 p 263 183 p 1073 182 p 1072 182 p 1074 182 p 1035 182 p 1075 182 p 264 182 p 250 182 p 1073 181 p 1072 181 p 1074 181 p 1113 181 p 1115 181 p 264 181 p 263 181 p 1035 180 p 1073 180 p 1075 180 p 1076 180 p 1077 180 p 251 180 p 264 180 p 1076 179 p 1075 179 p 1077 179 p 1038 179 p 1078 179 p 265 179 p 251 179 p 1076 178 p 1075 178 p 1077 178 p 1116 178 p 1118 178 p 265 178 p 264 178 p 1038 177 p 1076 177 p 1078 177 p 252 177 p 265 177 p 1041 176 p 1079 176 p 1080 176 p 1081 176 p 1082 176 p 325 176 p 324 176 p 1041 175 p 1079 175 p 1080 175 p 337 175 p 1121 175 p 6 175 p 324 175 p 1079 174 p 1081 174 p 1082 174 p 1002 174 p 1083 174 p 325 174 p 317 174 p 1079 173 p 1081 173 p 1082 173 p 1167 173 p 1165 173 p 324 173 p 317 173 p 1002 172 p 1083 172 p 1081 172 p 1247 172 p 1244 172 p 318 172 p 317 172 p 1084 171 p 1044 171 p 1085 171 p 1088 171 p 1087 171 p 266 171 p 254 171 p 1084 170 p 1044 170 p 1085 170 p 266 170 p 253 170 p 1086 169 p 1048 169 p 1087 169 p 1091 169 p 1090 169 p 267 169 p 255 169 p 1086 168 p 1048 168 p 1087 168 p 1088 168 p 1084 168 p 267 168 p 254 168 p 1088 167 p 1087 167 p 1084 167 p 1122 167 p 1123 167 p 266 167 p 267 167 p 1089 166 p 1051 166 p 1090 166 p 1094 166 p 1093 166 p 268 166 p 256 166 p 1089 165 p 1051 165 p 1090 165 p 1091 165 p 1086 165 p 268 165 p 255 165 p 1091 164 p 1090 164 p 1086 164 p 1124 164 p 1125 164 p 267 164 p 268 164 p 1092 163 p 1054 163 p 1093 163 p 1097 163 p 1096 163 p 269 163 p 257 163 p 1092 162 p 1054 162 p 1093 162 p 1094 162 p 1089 162 p 269 162 p 256 162 p 1094 161 p 1093 161 p 1089 161 p 1127 161 p 1128 161 p 268 161 p 269 161 p 1095 160 p 1057 160 p 1096 160 p 1100 160 p 1099 160 p 270 160 p 258 160 p 1095 159 p 1057 159 p 1096 159 p 1097 159 p 1092 159 p 270 159 p 257 159 p 1097 158 p 1096 158 p 1092 158 p 1130 158 p 1131 158 p 269 158 p 270 158 p 1098 157 p 1060 157 p 1099 157 p 1103 157 p 1102 157 p 271 157 p 259 157 p 1098 156 p 1060 156 p 1099 156 p 1100 156 p 1095 156 p 271 156 p 258 156 p 1100 155 p 1099 155 p 1095 155 p 1133 155 p 1134 155 p 270 155 p 271 155 p 1101 154 p 1063 154 p 1102 154 p 1106 154 p 1104 154 p 272 154 p 260 154 p 1101 153 p 1063 153 p 1102 153 p 1103 153 p 1098 153 p 272 153 p 259 153 p 1103 152 p 1102 152 p 1098 152 p 1136 152 p 1137 152 p 271 152 p 272 152 p 1104 151 p 1105 151 p 1065 151 p 1101 151 p 1106 151 p 260 151 p 273 151 p 1104 150 p 1105 150 p 1065 150 p 1107 150 p 1108 150 p 273 150 p 261 150 p 1101 149 p 1106 149 p 1104 149 p 1139 149 p 1140 149 p 272 149 p 273 149 p 1107 148 p 1105 148 p 1108 148 p 1068 148 p 1109 148 p 274 148 p 261 148 p 1107 147 p 1105 147 p 1108 147 p 1142 147 p 1143 147 p 274 147 p 273 147 p 1068 146 p 1107 146 p 1109 146 p 1110 146 p 1111 146 p 262 146 p 274 146 p 1110 145 p 1109 145 p 1111 145 p 1071 145 p 1112 145 p 275 145 p 262 145 p 1110 144 p 1109 144 p 1111 144 p 1145 144 p 1146 144 p 275 144 p 274 144 p 1071 143 p 1110 143 p 1112 143 p 1113 143 p 1114 143 p 263 143 p 275 143 p 1113 142 p 1112 142 p 1114 142 p 1074 142 p 1115 142 p 276 142 p 263 142 p 1113 141 p 1112 141 p 1114 141 p 1148 141 p 1149 141 p 276 141 p 275 141 p 1074 140 p 1113 140 p 1115 140 p 1116 140 p 1117 140 p 264 140 p 276 140 p 1116 139 p 1115 139 p 1117 139 p 1077 139 p 1118 139 p 277 139 p 264 139 p 1116 138 p 1115 138 p 1117 138 p 1151 138 p 1153 138 p 277 138 p 276 138 p 1077 137 p 1116 137 p 1118 137 p 1119 137 p 1120 137 p 265 137 p 277 137 p 1118 136 p 1119 136 p 1120 136 p 1156 136 p 1158 136 p 277 136 p 278 136 p 1118 135 p 1119 135 p 1120 135 p 265 135 p 278 135 p 337 134 p 1080 134 p 1121 134 p 1163 134 p 1164 134 p 5 134 p 324 134 p 1122 133 p 1088 133 p 1123 133 p 1126 133 p 1125 133 p 279 133 p 267 133 p 1122 132 p 1088 132 p 1123 132 p 279 132 p 266 132 p 1124 131 p 1091 131 p 1125 131 p 1129 131 p 1128 131 p 280 131 p 268 131 p 1124 130 p 1091 130 p 1125 130 p 1126 130 p 1122 130 p 280 130 p 267 130 p 1126 129 p 1125 129 p 1122 129 p 1168 129 p 1169 129 p 279 129 p 280 129 p 1127 128 p 1094 128 p 1128 128 p 1132 128 p 1131 128 p 281 128 p 269 128 p 1127 127 p 1094 127 p 1128 127 p 1129 127 p 1124 127 p 281 127 p 268 127 p 1129 126 p 1128 126 p 1124 126 p 1170 126 p 1171 126 p 280 126 p 281 126 p 1130 125 p 1097 125 p 1131 125 p 1135 125 p 1134 125 p 282 125 p 270 125 p 1130 124 p 1097 124 p 1131 124 p 1132 124 p 1127 124 p 282 124 p 269 124 p 1132 123 p 1131 123 p 1127 123 p 1173 123 p 1174 123 p 281 123 p 282 123 p 1133 122 p 1100 122 p 1134 122 p 1138 122 p 1137 122 p 283 122 p 271 122 p 1133 121 p 1100 121 p 1134 121 p 1135 121 p 1130 121 p 283 121 p 270 121 p 1135 120 p 1134 120 p 1130 120 p 1176 120 p 1177 120 p 282 120 p 283 120 p 1136 119 p 1103 119 p 1137 119 p 1141 119 p 1140 119 p 284 119 p 272 119 p 1136 118 p 1103 118 p 1137 118 p 1138 118 p 1133 118 p 284 118 p 271 118 p 1138 117 p 1137 117 p 1133 117 p 1179 117 p 1180 117 p 283 117 p 284 117 p 1139 116 p 1106 116 p 1140 116 p 1144 116 p 1143 116 p 285 116 p 273 116 p 1139 115 p 1106 115 p 1140 115 p 1141 115 p 1136 115 p 285 115 p 272 115 p 1141 114 p 1140 114 p 1136 114 p 1182 114 p 1183 114 p 284 114 p 285 114 p 1142 113 p 1108 113 p 1143 113 p 1147 113 p 1145 113 p 286 113 p 274 113 p 1142 112 p 1108 112 p 1143 112 p 1144 112 p 1139 112 p 286 112 p 273 112 p 1144 111 p 1143 111 p 1139 111 p 1185 111 p 1186 111 p 285 111 p 286 111 p 1145 110 p 1146 110 p 1111 110 p 1142 110 p 1147 110 p 274 110 p 287 110 p 1145 109 p 1146 109 p 1111 109 p 1150 109 p 1148 109 p 287 109 p 275 109 p 1142 108 p 1147 108 p 1145 108 p 1188 108 p 1189 108 p 286 108 p 287 108 p 1148 107 p 1149 107 p 1114 107 p 1146 107 p 1150 107 p 275 107 p 288 107 p 1148 106 p 1149 106 p 1114 106 p 1151 106 p 1152 106 p 288 106 p 276 106 p 1146 105 p 1150 105 p 1148 105 p 1191 105 p 1192 105 p 287 105 p 288 105 p 1151 104 p 1149 104 p 1152 104 p 1117 104 p 1153 104 p 289 104 p 276 104 p 1151 103 p 1149 103 p 1152 103 p 1196 103 p 1194 103 p 289 103 p 288 103 p 1117 102 p 1151 102 p 1153 102 p 1154 102 p 1155 102 p 277 102 p 289 102 p 1154 101 p 1153 101 p 1155 101 p 1156 101 p 1157 101 p 290 101 p 277 101 p 1154 100 p 1153 100 p 1155 100 p 1194 100 p 1195 100 p 290 100 p 289 100 p 1156 99 p 1154 99 p 1157 99 p 1119 99 p 1158 99 p 291 99 p 277 99 p 1156 98 p 1154 98 p 1157 98 p 1200 98 p 1198 98 p 291 98 p 290 98 p 1119 97 p 1156 97 p 1158 97 p 1159 97 p 1162 97 p 278 97 p 291 97 p 1159 96 p 1160 96 p 1161 96 p 1158 96 p 1162 96 p 292 96 p 291 96 p 1159 95 p 1160 95 p 1161 95 p 1198 95 p 1199 95 p 291 95 p 1 95 p 1159 94 p 1160 94 p 1161 94 p 292 94 p 1 94 p 1158 93 p 1159 93 p 1162 93 p 278 93 p 292 93 p 1121 92 p 1163 92 p 1164 92 p 1165 92 p 1166 92 p 324 92 p 323 92 p 1121 91 p 1163 91 p 1164 91 p 332 91 p 1202 91 p 5 91 p 323 91 p 1163 90 p 1165 90 p 1166 90 p 1082 90 p 1167 90 p 324 90 p 316 90 p 1163 89 p 1165 89 p 1166 89 p 1243 89 p 1234 89 p 323 89 p 316 89 p 1082 88 p 1167 88 p 1165 88 p 1245 88 p 1241 88 p 317 88 p 316 88 p 1168 87 p 1126 87 p 1169 87 p 1172 87 p 1171 87 p 293 87 p 280 87 p 1168 86 p 1126 86 p 1169 86 p 293 86 p 279 86 p 1170 85 p 1129 85 p 1171 85 p 1175 85 p 1174 85 p 294 85 p 281 85 p 1170 84 p 1129 84 p 1171 84 p 1172 84 p 1168 84 p 294 84 p 280 84 p 1172 83 p 1171 83 p 1168 83 p 1203 83 p 1204 83 p 293 83 p 294 83 p 1173 82 p 1132 82 p 1174 82 p 1178 82 p 1177 82 p 295 82 p 282 82 p 1173 81 p 1132 81 p 1174 81 p 1175 81 p 1170 81 p 295 81 p 281 81 p 1175 80 p 1174 80 p 1170 80 p 1205 80 p 1206 80 p 294 80 p 295 80 p 1176 79 p 1135 79 p 1177 79 p 1181 79 p 1180 79 p 296 79 p 283 79 p 1176 78 p 1135 78 p 1177 78 p 1178 78 p 1173 78 p 296 78 p 282 78 p 1178 77 p 1177 77 p 1173 77 p 1208 77 p 1209 77 p 295 77 p 296 77 p 1179 76 p 1138 76 p 1180 76 p 1184 76 p 1183 76 p 297 76 p 284 76 p 1179 75 p 1138 75 p 1180 75 p 1181 75 p 1176 75 p 297 75 p 283 75 p 1181 74 p 1180 74 p 1176 74 p 1211 74 p 1212 74 p 296 74 p 297 74 p 1182 73 p 1141 73 p 1183 73 p 1187 73 p 1186 73 p 298 73 p 285 73 p 1182 72 p 1141 72 p 1183 72 p 1184 72 p 1179 72 p 298 72 p 284 72 p 1184 71 p 1183 71 p 1179 71 p 1214 71 p 1215 71 p 297 71 p 298 71 p 1185 70 p 1144 70 p 1186 70 p 1190 70 p 1189 70 p 299 70 p 286 70 p 1185 69 p 1144 69 p 1186 69 p 1187 69 p 1182 69 p 299 69 p 285 69 p 1187 68 p 1186 68 p 1182 68 p 1217 68 p 1218 68 p 298 68 p 299 68 p 1188 67 p 1147 67 p 1189 67 p 1193 67 p 1191 67 p 300 67 p 287 67 p 1188 66 p 1147 66 p 1189 66 p 1190 66 p 1185 66 p 300 66 p 286 66 p 1190 65 p 1189 65 p 1185 65 p 1220 65 p 1221 65 p 299 65 p 300 65 p 1191 64 p 1192 64 p 1150 64 p 1188 64 p 1193 64 p 287 64 p 301 64 p 1191 63 p 1192 63 p 1150 63 p 1197 63 p 1196 63 p 301 63 p 288 63 p 1188 62 p 1193 62 p 1191 62 p 1223 62 p 1224 62 p 300 62 p 301 62 p 1194 61 p 1195 61 p 1155 61 p 1196 61 p 1152 61 p 289 61 p 302 61 p 1194 60 p 1195 60 p 1155 60 p 1201 60 p 1200 60 p 302 60 p 290 60 p 1196 59 p 1194 59 p 1152 59 p 1192 59 p 1197 59 p 288 59 p 302 59 p 1192 58 p 1197 58 p 1196 58 p 1226 58 p 1227 58 p 301 58 p 302 58 p 1198 57 p 1199 57 p 1160 57 p 1200 57 p 1157 57 p 291 57 p 303 57 p 1198 56 p 1199 56 p 1160 56 p 303 56 p 1 56 p 1200 55 p 1198 55 p 1157 55 p 1195 55 p 1201 55 p 290 55 p 303 55 p 1195 54 p 1201 54 p 1200 54 p 1229 54 p 1230 54 p 302 54 p 303 54 p 332 53 p 1164 53 p 1202 53 p 1232 53 p 1233 53 p 4 53 p 323 53 p 1203 52 p 1172 52 p 1204 52 p 1207 52 p 1206 52 p 304 52 p 294 52 p 1203 51 p 1172 51 p 1204 51 p 304 51 p 293 51 p 1205 50 p 1175 50 p 1206 50 p 1210 50 p 1209 50 p 305 50 p 295 50 p 1205 49 p 1175 49 p 1206 49 p 1207 49 p 1203 49 p 305 49 p 294 49 p 1207 48 p 1206 48 p 1203 48 p 1236 48 p 1237 48 p 304 48 p 305 48 p 1208 47 p 1178 47 p 1209 47 p 1213 47 p 1212 47 p 306 47 p 296 47 p 1208 46 p 1178 46 p 1209 46 p 1210 46 p 1205 46 p 306 46 p 295 46 p 1210 45 p 1209 45 p 1205 45 p 1238 45 p 1239 45 p 305 45 p 306 45 p 1211 44 p 1181 44 p 1212 44 p 1216 44 p 1215 44 p 307 44 p 297 44 p 1211 43 p 1181 43 p 1212 43 p 1213 43 p 1208 43 p 307 43 p 296 43 p 1213 42 p 1212 42 p 1208 42 p 1241 42 p 1242 42 p 306 42 p 307 42 p 1214 41 p 1184 41 p 1215 41 p 1219 41 p 1218 41 p 308 41 p 298 41 p 1214 40 p 1184 40 p 1215 40 p 1216 40 p 1211 40 p 308 40 p 297 40 p 1216 39 p 1215 39 p 1211 39 p 1244 39 p 1245 39 p 307 39 p 308 39 p 1217 38 p 1187 38 p 1218 38 p 1222 38 p 1221 38 p 309 38 p 299 38 p 1217 37 p 1187 37 p 1218 37 p 1219 37 p 1214 37 p 309 37 p 298 37 p 1219 36 p 1218 36 p 1214 36 p 1246 36 p 1247 36 p 308 36 p 309 36 p 1220 35 p 1190 35 p 1221 35 p 1225 35 p 1223 35 p 310 35 p 300 35 p 1220 34 p 1190 34 p 1221 34 p 1222 34 p 1217 34 p 310 34 p 299 34 p 1222 33 p 1221 33 p 1217 33 p 1248 33 p 1249 33 p 309 33 p 310 33 p 1223 32 p 1224 32 p 1193 32 p 1220 32 p 1225 32 p 300 32 p 311 32 p 1223 31 p 1224 31 p 1193 31 p 1228 31 p 1226 31 p 311 31 p 301 31 p 1220 30 p 1225 30 p 1223 30 p 1250 30 p 1251 30 p 310 30 p 311 30 p 1226 29 p 1227 29 p 1197 29 p 1224 29 p 1228 29 p 301 29 p 312 29 p 1226 28 p 1227 28 p 1197 28 p 1231 28 p 1229 28 p 312 28 p 302 28 p 1224 27 p 1228 27 p 1226 27 p 1254 27 p 1253 27 p 311 27 p 312 27 p 1229 26 p 1230 26 p 1201 26 p 1227 26 p 1231 26 p 302 26 p 313 26 p 1229 25 p 1230 25 p 1201 25 p 313 25 p 303 25 p 1227 24 p 1231 24 p 1229 24 p 1252 24 p 1253 24 p 312 24 p 313 24 p 1202 23 p 1232 23 p 1233 23 p 1234 23 p 1235 23 p 323 23 p 322 23 p 1202 22 p 1232 22 p 1233 22 p 4 22 p 322 22 p 1232 21 p 1234 21 p 1235 21 p 1166 21 p 1243 21 p 323 21 p 315 21 p 1232 20 p 1234 20 p 1235 20 p 1240 20 p 1255 20 p 322 20 p 315 20 p 1236 19 p 1207 19 p 1237 19 p 1240 19 p 1239 19 p 314 19 p 305 19 p 1236 18 p 1207 18 p 1237 18 p 314 18 p 304 18 p 1238 17 p 1210 17 p 1239 17 p 1243 17 p 1242 17 p 315 17 p 306 17 p 1238 16 p 1210 16 p 1239 16 p 1240 16 p 1236 16 p 315 16 p 305 16 p 1240 15 p 1239 15 p 1236 15 p 1235 15 p 1255 15 p 314 15 p 315 15 p 1241 14 p 1213 14 p 1242 14 p 1167 14 p 1245 14 p 316 14 p 307 14 p 1241 13 p 1213 13 p 1242 13 p 1243 13 p 1238 13 p 316 13 p 306 13 p 1243 12 p 1242 12 p 1238 12 p 1166 12 p 1234 12 p 315 12 p 316 12 p 1244 11 p 1216 11 p 1245 11 p 1083 11 p 1247 11 p 317 11 p 308 11 p 1244 10 p 1216 10 p 1245 10 p 1167 10 p 1241 10 p 317 10 p 307 10 p 1246 9 p 1219 9 p 1247 9 p 1040 9 p 1249 9 p 318 9 p 309 9 p 1246 8 p 1219 8 p 1247 8 p 1083 8 p 1244 8 p 318 8 p 308 8 p 1248 7 p 1222 7 p 1249 7 p 960 7 p 1251 7 p 319 7 p 310 7 p 1248 6 p 1222 6 p 1249 6 p 1040 6 p 1246 6 p 319 6 p 309 6 p 1250 5 p 1225 5 p 1251 5 p 848 5 p 1254 5 p 320 5 p 311 5 p 1250 4 p 1225 4 p 1251 4 p 960 4 p 1248 4 p 320 4 p 310 4 p 1252 3 p 1231 3 p 1253 3 p 321 3 p 313 3 p 1252 2 p 1231 2 p 1253 2 p 1254 2 p 1228 2 p 321 2 p 312 2 p 1254 1 p 1253 1 p 1228 1 p 1250 1 p 848 1 p 311 1 p 321 1 p 1235 0 p 1240 0 p 1255 0 p 322 0 p 314 0 p showpage sparskit-2.0.0/DOC/msh8.ps0000640000265600020320000076246310213314271014335 0ustar tilleaadmin%!PS-Adobe-2.0 EPSF-2.0 %%Creator: PSPLTM routine %%BoundingBox: 80 0 530 450 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 8.33333E-02 cm scalefont setfont 10.7950 cm 0.500000 cm moveto ( ) Cshow 3.17500 cm 0.333333 cm translate 15.2400 cm 6.00000 div dup scale 0.01 setlinewidth 0.00 0.00 moveto 0.00 0.29 lineto closepath stroke 0.00 0.00 moveto 0.39 0.44 lineto closepath stroke 0.00 0.00 moveto 0.63 0.00 lineto closepath stroke 6.00 0.00 moveto 5.80 0.00 lineto closepath stroke 6.00 0.00 moveto 5.80 0.23 lineto closepath stroke 6.00 0.00 moveto 6.00 0.61 lineto closepath stroke 6.00 6.00 moveto 6.00 5.39 lineto closepath stroke 6.00 6.00 moveto 5.80 5.77 lineto closepath stroke 6.00 6.00 moveto 5.80 6.00 lineto closepath stroke 0.00 6.00 moveto 0.63 6.00 lineto closepath stroke 0.00 6.00 moveto 0.39 5.56 lineto closepath stroke 0.00 6.00 moveto 0.00 5.71 lineto closepath stroke 4.60 3.00 moveto 4.66 3.05 lineto closepath stroke 4.60 3.00 moveto 4.68 3.00 lineto closepath stroke 4.60 3.00 moveto 4.59 3.03 lineto closepath stroke 4.60 3.00 moveto 4.66 2.95 lineto closepath stroke 4.60 3.00 moveto 4.59 2.97 lineto closepath stroke 4.75 3.00 moveto 4.68 3.00 lineto closepath stroke 4.75 3.00 moveto 4.74 3.05 lineto closepath stroke 4.75 3.00 moveto 4.82 3.06 lineto closepath stroke 4.75 3.00 moveto 4.83 3.00 lineto closepath stroke 4.75 3.00 moveto 4.82 2.94 lineto closepath stroke 4.75 3.00 moveto 4.74 2.95 lineto closepath stroke 4.91 3.00 moveto 4.83 3.00 lineto closepath stroke 4.91 3.00 moveto 4.90 3.06 lineto closepath stroke 4.91 3.00 moveto 4.99 3.08 lineto closepath stroke 4.91 3.00 moveto 5.01 3.00 lineto closepath stroke 4.91 3.00 moveto 4.99 2.92 lineto closepath stroke 4.91 3.00 moveto 4.90 2.94 lineto closepath stroke 5.10 3.00 moveto 5.01 3.00 lineto closepath stroke 5.10 3.00 moveto 5.08 3.08 lineto closepath stroke 5.10 3.00 moveto 5.18 3.10 lineto closepath stroke 5.10 3.00 moveto 5.20 3.00 lineto closepath stroke 5.10 3.00 moveto 5.18 2.90 lineto closepath stroke 5.10 3.00 moveto 5.08 2.92 lineto closepath stroke 5.30 3.00 moveto 5.20 3.00 lineto closepath stroke 5.30 3.00 moveto 5.28 3.10 lineto closepath stroke 5.30 3.00 moveto 5.38 3.13 lineto closepath stroke 5.30 3.00 moveto 5.41 3.00 lineto closepath stroke 5.30 3.00 moveto 5.38 2.87 lineto closepath stroke 5.30 3.00 moveto 5.28 2.90 lineto closepath stroke 5.52 3.00 moveto 5.41 3.00 lineto closepath stroke 5.52 3.00 moveto 5.49 3.13 lineto closepath stroke 5.52 3.00 moveto 5.61 3.15 lineto closepath stroke 5.52 3.00 moveto 5.76 3.00 lineto closepath stroke 5.52 3.00 moveto 5.61 2.85 lineto closepath stroke 5.52 3.00 moveto 5.49 2.87 lineto closepath stroke 6.00 3.00 moveto 5.76 3.00 lineto closepath stroke 6.00 3.00 moveto 5.85 3.15 lineto closepath stroke 6.00 3.00 moveto 6.00 3.15 lineto closepath stroke 6.00 3.00 moveto 6.00 2.85 lineto closepath stroke 6.00 3.00 moveto 5.85 2.85 lineto closepath stroke 4.58 3.06 moveto 4.65 3.08 lineto closepath stroke 4.58 3.06 moveto 4.59 3.03 lineto closepath stroke 4.58 3.06 moveto 4.62 3.12 lineto closepath stroke 4.58 3.06 moveto 4.56 3.09 lineto closepath stroke 4.73 3.09 moveto 4.74 3.05 lineto closepath stroke 4.73 3.09 moveto 4.66 3.05 lineto closepath stroke 4.73 3.09 moveto 4.65 3.08 lineto closepath stroke 4.73 3.09 moveto 4.81 3.11 lineto closepath stroke 4.73 3.09 moveto 4.70 3.13 lineto closepath stroke 4.73 3.09 moveto 4.77 3.17 lineto closepath stroke 4.89 3.13 moveto 4.90 3.06 lineto closepath stroke 4.89 3.13 moveto 4.82 3.06 lineto closepath stroke 4.89 3.13 moveto 4.81 3.11 lineto closepath stroke 4.89 3.13 moveto 4.98 3.15 lineto closepath stroke 4.89 3.13 moveto 4.85 3.18 lineto closepath stroke 4.89 3.13 moveto 4.93 3.22 lineto closepath stroke 5.06 3.16 moveto 5.08 3.08 lineto closepath stroke 5.06 3.16 moveto 4.99 3.08 lineto closepath stroke 5.06 3.16 moveto 4.98 3.15 lineto closepath stroke 5.06 3.16 moveto 5.16 3.18 lineto closepath stroke 5.06 3.16 moveto 5.02 3.24 lineto closepath stroke 5.06 3.16 moveto 5.10 3.28 lineto closepath stroke 5.26 3.21 moveto 5.28 3.10 lineto closepath stroke 5.26 3.21 moveto 5.18 3.10 lineto closepath stroke 5.26 3.21 moveto 5.16 3.18 lineto closepath stroke 5.26 3.21 moveto 5.36 3.23 lineto closepath stroke 5.26 3.21 moveto 5.20 3.30 lineto closepath stroke 5.26 3.21 moveto 5.30 3.34 lineto closepath stroke 5.47 3.25 moveto 5.49 3.13 lineto closepath stroke 5.47 3.25 moveto 5.38 3.13 lineto closepath stroke 5.47 3.25 moveto 5.36 3.23 lineto closepath stroke 5.47 3.25 moveto 5.59 3.28 lineto closepath stroke 5.47 3.25 moveto 5.41 3.36 lineto closepath stroke 5.47 3.25 moveto 5.51 3.41 lineto closepath stroke 5.70 3.30 moveto 5.85 3.15 lineto closepath stroke 5.70 3.30 moveto 5.61 3.15 lineto closepath stroke 5.70 3.30 moveto 5.59 3.28 lineto closepath stroke 5.70 3.30 moveto 5.85 3.30 lineto closepath stroke 5.70 3.30 moveto 5.63 3.44 lineto closepath stroke 5.70 3.30 moveto 5.85 3.49 lineto closepath stroke 6.00 3.30 moveto 6.00 3.15 lineto closepath stroke 6.00 3.30 moveto 5.85 3.30 lineto closepath stroke 6.00 3.30 moveto 6.00 3.49 lineto closepath stroke 4.53 3.12 moveto 4.60 3.15 lineto closepath stroke 4.53 3.12 moveto 4.56 3.09 lineto closepath stroke 4.53 3.12 moveto 4.55 3.18 lineto closepath stroke 4.53 3.12 moveto 4.49 3.14 lineto closepath stroke 4.66 3.18 moveto 4.70 3.13 lineto closepath stroke 4.66 3.18 moveto 4.62 3.12 lineto closepath stroke 4.66 3.18 moveto 4.60 3.15 lineto closepath stroke 4.66 3.18 moveto 4.74 3.21 lineto closepath stroke 4.66 3.18 moveto 4.61 3.21 lineto closepath stroke 4.66 3.18 moveto 4.68 3.26 lineto closepath stroke 4.81 3.24 moveto 4.85 3.18 lineto closepath stroke 4.81 3.24 moveto 4.77 3.17 lineto closepath stroke 4.81 3.24 moveto 4.74 3.21 lineto closepath stroke 4.81 3.24 moveto 4.89 3.28 lineto closepath stroke 4.81 3.24 moveto 4.75 3.29 lineto closepath stroke 4.81 3.24 moveto 4.82 3.34 lineto closepath stroke 4.97 3.31 moveto 5.02 3.24 lineto closepath stroke 4.97 3.31 moveto 4.93 3.22 lineto closepath stroke 4.97 3.31 moveto 4.89 3.28 lineto closepath stroke 4.97 3.31 moveto 5.06 3.35 lineto closepath stroke 4.97 3.31 moveto 4.90 3.37 lineto closepath stroke 4.97 3.31 moveto 4.97 3.43 lineto closepath stroke 5.15 3.39 moveto 5.20 3.30 lineto closepath stroke 5.15 3.39 moveto 5.10 3.28 lineto closepath stroke 5.15 3.39 moveto 5.06 3.35 lineto closepath stroke 5.15 3.39 moveto 5.24 3.44 lineto closepath stroke 5.15 3.39 moveto 5.06 3.47 lineto closepath stroke 5.15 3.39 moveto 5.14 3.53 lineto closepath stroke 5.34 3.48 moveto 5.41 3.36 lineto closepath stroke 5.34 3.48 moveto 5.30 3.34 lineto closepath stroke 5.34 3.48 moveto 5.24 3.44 lineto closepath stroke 5.34 3.48 moveto 5.45 3.53 lineto closepath stroke 5.34 3.48 moveto 5.24 3.57 lineto closepath stroke 5.34 3.48 moveto 5.33 3.64 lineto closepath stroke 5.55 3.57 moveto 5.63 3.44 lineto closepath stroke 5.55 3.57 moveto 5.51 3.41 lineto closepath stroke 5.55 3.57 moveto 5.45 3.53 lineto closepath stroke 5.55 3.57 moveto 5.78 3.63 lineto closepath stroke 5.55 3.57 moveto 5.44 3.69 lineto closepath stroke 5.55 3.57 moveto 5.54 3.76 lineto closepath stroke 6.00 3.68 moveto 6.00 3.49 lineto closepath stroke 6.00 3.68 moveto 5.85 3.49 lineto closepath stroke 6.00 3.68 moveto 5.78 3.63 lineto closepath stroke 6.00 3.68 moveto 5.76 3.81 lineto closepath stroke 6.00 3.68 moveto 5.87 3.89 lineto closepath stroke 6.00 3.68 moveto 6.00 3.89 lineto closepath stroke 4.45 3.16 moveto 4.51 3.21 lineto closepath stroke 4.45 3.16 moveto 4.49 3.14 lineto closepath stroke 4.45 3.16 moveto 4.45 3.23 lineto closepath stroke 4.45 3.16 moveto 4.40 3.18 lineto closepath stroke 4.57 3.25 moveto 4.61 3.21 lineto closepath stroke 4.57 3.25 moveto 4.55 3.18 lineto closepath stroke 4.57 3.25 moveto 4.51 3.21 lineto closepath stroke 4.57 3.25 moveto 4.63 3.29 lineto closepath stroke 4.57 3.25 moveto 4.50 3.27 lineto closepath stroke 4.57 3.25 moveto 4.55 3.33 lineto closepath stroke 4.69 3.34 moveto 4.75 3.29 lineto closepath stroke 4.69 3.34 moveto 4.68 3.26 lineto closepath stroke 4.69 3.34 moveto 4.63 3.29 lineto closepath stroke 4.69 3.34 moveto 4.76 3.39 lineto closepath stroke 4.69 3.34 moveto 4.62 3.37 lineto closepath stroke 4.69 3.34 moveto 4.67 3.43 lineto closepath stroke 4.83 3.44 moveto 4.90 3.37 lineto closepath stroke 4.83 3.44 moveto 4.82 3.34 lineto closepath stroke 4.83 3.44 moveto 4.76 3.39 lineto closepath stroke 4.83 3.44 moveto 4.90 3.49 lineto closepath stroke 4.83 3.44 moveto 4.74 3.48 lineto closepath stroke 4.83 3.44 moveto 4.80 3.55 lineto closepath stroke 4.98 3.55 moveto 5.06 3.47 lineto closepath stroke 4.98 3.55 moveto 4.97 3.43 lineto closepath stroke 4.98 3.55 moveto 4.90 3.49 lineto closepath stroke 4.98 3.55 moveto 5.06 3.61 lineto closepath stroke 4.98 3.55 moveto 4.87 3.60 lineto closepath stroke 4.98 3.55 moveto 4.94 3.67 lineto closepath stroke 5.14 3.67 moveto 5.24 3.57 lineto closepath stroke 5.14 3.67 moveto 5.14 3.53 lineto closepath stroke 5.14 3.67 moveto 5.06 3.61 lineto closepath stroke 5.14 3.67 moveto 5.23 3.73 lineto closepath stroke 5.14 3.67 moveto 5.02 3.73 lineto closepath stroke 5.14 3.67 moveto 5.09 3.81 lineto closepath stroke 5.32 3.80 moveto 5.44 3.69 lineto closepath stroke 5.32 3.80 moveto 5.33 3.64 lineto closepath stroke 5.32 3.80 moveto 5.23 3.73 lineto closepath stroke 5.32 3.80 moveto 5.42 3.87 lineto closepath stroke 5.32 3.80 moveto 5.18 3.88 lineto closepath stroke 5.32 3.80 moveto 5.26 3.97 lineto closepath stroke 5.52 3.94 moveto 5.76 3.81 lineto closepath stroke 5.52 3.94 moveto 5.54 3.76 lineto closepath stroke 5.52 3.94 moveto 5.42 3.87 lineto closepath stroke 5.52 3.94 moveto 5.63 4.02 lineto closepath stroke 5.52 3.94 moveto 5.36 4.04 lineto closepath stroke 5.52 3.94 moveto 5.45 4.14 lineto closepath stroke 5.74 4.10 moveto 5.87 3.89 lineto closepath stroke 5.74 4.10 moveto 5.63 4.02 lineto closepath stroke 5.74 4.10 moveto 5.87 4.10 lineto closepath stroke 5.74 4.10 moveto 5.56 4.22 lineto closepath stroke 5.74 4.10 moveto 5.65 4.32 lineto closepath stroke 6.00 4.10 moveto 6.00 3.89 lineto closepath stroke 6.00 4.10 moveto 5.87 4.10 lineto closepath stroke 6.00 4.10 moveto 5.78 4.32 lineto closepath stroke 6.00 4.10 moveto 6.00 4.44 lineto closepath stroke 4.36 3.20 moveto 4.40 3.25 lineto closepath stroke 4.36 3.20 moveto 4.40 3.18 lineto closepath stroke 4.36 3.20 moveto 4.34 3.26 lineto closepath stroke 4.36 3.20 moveto 4.30 3.21 lineto closepath stroke 4.44 3.30 moveto 4.50 3.27 lineto closepath stroke 4.44 3.30 moveto 4.45 3.23 lineto closepath stroke 4.44 3.30 moveto 4.40 3.25 lineto closepath stroke 4.44 3.30 moveto 4.49 3.35 lineto closepath stroke 4.44 3.30 moveto 4.38 3.31 lineto closepath stroke 4.44 3.30 moveto 4.41 3.37 lineto closepath stroke 4.54 3.40 moveto 4.62 3.37 lineto closepath stroke 4.54 3.40 moveto 4.55 3.33 lineto closepath stroke 4.54 3.40 moveto 4.49 3.35 lineto closepath stroke 4.54 3.40 moveto 4.60 3.46 lineto closepath stroke 4.54 3.40 moveto 4.46 3.43 lineto closepath stroke 4.54 3.40 moveto 4.50 3.49 lineto closepath stroke 4.65 3.52 moveto 4.74 3.48 lineto closepath stroke 4.65 3.52 moveto 4.67 3.43 lineto closepath stroke 4.65 3.52 moveto 4.60 3.46 lineto closepath stroke 4.65 3.52 moveto 4.71 3.59 lineto closepath stroke 4.65 3.52 moveto 4.55 3.55 lineto closepath stroke 4.65 3.52 moveto 4.60 3.62 lineto closepath stroke 4.77 3.66 moveto 4.87 3.60 lineto closepath stroke 4.77 3.66 moveto 4.80 3.55 lineto closepath stroke 4.77 3.66 moveto 4.71 3.59 lineto closepath stroke 4.77 3.66 moveto 4.83 3.73 lineto closepath stroke 4.77 3.66 moveto 4.66 3.69 lineto closepath stroke 4.77 3.66 moveto 4.70 3.77 lineto closepath stroke 4.90 3.80 moveto 5.02 3.73 lineto closepath stroke 4.90 3.80 moveto 4.94 3.67 lineto closepath stroke 4.90 3.80 moveto 4.83 3.73 lineto closepath stroke 4.90 3.80 moveto 4.97 3.88 lineto closepath stroke 4.90 3.80 moveto 4.77 3.84 lineto closepath stroke 4.90 3.80 moveto 4.82 3.93 lineto closepath stroke 5.04 3.96 moveto 5.18 3.88 lineto closepath stroke 5.04 3.96 moveto 5.09 3.81 lineto closepath stroke 5.04 3.96 moveto 4.97 3.88 lineto closepath stroke 5.04 3.96 moveto 5.12 4.05 lineto closepath stroke 5.04 3.96 moveto 4.89 4.01 lineto closepath stroke 5.04 3.96 moveto 4.95 4.11 lineto closepath stroke 5.20 4.13 moveto 5.36 4.04 lineto closepath stroke 5.20 4.13 moveto 5.26 3.97 lineto closepath stroke 5.20 4.13 moveto 5.12 4.05 lineto closepath stroke 5.20 4.13 moveto 5.29 4.23 lineto closepath stroke 5.20 4.13 moveto 5.02 4.19 lineto closepath stroke 5.20 4.13 moveto 5.09 4.30 lineto closepath stroke 5.37 4.33 moveto 5.56 4.22 lineto closepath stroke 5.37 4.33 moveto 5.45 4.14 lineto closepath stroke 5.37 4.33 moveto 5.29 4.23 lineto closepath stroke 5.37 4.33 moveto 5.47 4.43 lineto closepath stroke 5.37 4.33 moveto 5.17 4.40 lineto closepath stroke 5.37 4.33 moveto 5.24 4.51 lineto closepath stroke 5.56 4.54 moveto 5.78 4.32 lineto closepath stroke 5.56 4.54 moveto 5.65 4.32 lineto closepath stroke 5.56 4.54 moveto 5.47 4.43 lineto closepath stroke 5.56 4.54 moveto 5.78 4.66 lineto closepath stroke 5.56 4.54 moveto 5.33 4.62 lineto closepath stroke 5.56 4.54 moveto 5.41 4.75 lineto closepath stroke 5.56 4.54 moveto 5.49 4.89 lineto closepath stroke 6.00 4.77 moveto 6.00 4.44 lineto closepath stroke 6.00 4.77 moveto 5.78 4.66 lineto closepath stroke 6.00 4.77 moveto 5.71 5.00 lineto closepath stroke 6.00 4.77 moveto 5.80 5.16 lineto closepath stroke 6.00 4.77 moveto 6.00 5.39 lineto closepath stroke 4.25 3.22 moveto 4.28 3.27 lineto closepath stroke 4.25 3.22 moveto 4.30 3.21 lineto closepath stroke 4.25 3.22 moveto 4.22 3.28 lineto closepath stroke 4.25 3.22 moveto 4.20 3.22 lineto closepath stroke 4.31 3.33 moveto 4.38 3.31 lineto closepath stroke 4.31 3.33 moveto 4.34 3.26 lineto closepath stroke 4.31 3.33 moveto 4.28 3.27 lineto closepath stroke 4.31 3.33 moveto 4.35 3.39 lineto closepath stroke 4.31 3.33 moveto 4.25 3.33 lineto closepath stroke 4.31 3.33 moveto 4.27 3.40 lineto closepath stroke 4.38 3.45 moveto 4.46 3.43 lineto closepath stroke 4.38 3.45 moveto 4.41 3.37 lineto closepath stroke 4.38 3.45 moveto 4.35 3.39 lineto closepath stroke 4.38 3.45 moveto 4.42 3.51 lineto closepath stroke 4.38 3.45 moveto 4.30 3.46 lineto closepath stroke 4.38 3.45 moveto 4.33 3.53 lineto closepath stroke 4.46 3.58 moveto 4.55 3.55 lineto closepath stroke 4.46 3.58 moveto 4.50 3.49 lineto closepath stroke 4.46 3.58 moveto 4.42 3.51 lineto closepath stroke 4.46 3.58 moveto 4.50 3.65 lineto closepath stroke 4.46 3.58 moveto 4.36 3.59 lineto closepath stroke 4.46 3.58 moveto 4.39 3.67 lineto closepath stroke 4.54 3.72 moveto 4.66 3.69 lineto closepath stroke 4.54 3.72 moveto 4.60 3.62 lineto closepath stroke 4.54 3.72 moveto 4.50 3.65 lineto closepath stroke 4.54 3.72 moveto 4.59 3.80 lineto closepath stroke 4.54 3.72 moveto 4.43 3.74 lineto closepath stroke 4.54 3.72 moveto 4.46 3.82 lineto closepath stroke 4.64 3.88 moveto 4.77 3.84 lineto closepath stroke 4.64 3.88 moveto 4.70 3.77 lineto closepath stroke 4.64 3.88 moveto 4.59 3.80 lineto closepath stroke 4.64 3.88 moveto 4.69 3.97 lineto closepath stroke 4.64 3.88 moveto 4.50 3.90 lineto closepath stroke 4.64 3.88 moveto 4.53 3.99 lineto closepath stroke 4.74 4.06 moveto 4.89 4.01 lineto closepath stroke 4.74 4.06 moveto 4.82 3.93 lineto closepath stroke 4.74 4.06 moveto 4.69 3.97 lineto closepath stroke 4.74 4.06 moveto 4.79 4.15 lineto closepath stroke 4.74 4.06 moveto 4.58 4.08 lineto closepath stroke 4.74 4.06 moveto 4.62 4.18 lineto closepath stroke 4.85 4.25 moveto 5.02 4.19 lineto closepath stroke 4.85 4.25 moveto 4.95 4.11 lineto closepath stroke 4.85 4.25 moveto 4.79 4.15 lineto closepath stroke 4.85 4.25 moveto 4.91 4.36 lineto closepath stroke 4.85 4.25 moveto 4.67 4.28 lineto closepath stroke 4.85 4.25 moveto 4.71 4.39 lineto closepath stroke 4.97 4.46 moveto 5.17 4.40 lineto closepath stroke 4.97 4.46 moveto 5.09 4.30 lineto closepath stroke 4.97 4.46 moveto 4.91 4.36 lineto closepath stroke 4.97 4.46 moveto 5.04 4.58 lineto closepath stroke 4.97 4.46 moveto 4.77 4.50 lineto closepath stroke 4.97 4.46 moveto 4.81 4.62 lineto closepath stroke 5.11 4.70 moveto 5.33 4.62 lineto closepath stroke 5.11 4.70 moveto 5.24 4.51 lineto closepath stroke 5.11 4.70 moveto 5.04 4.58 lineto closepath stroke 5.11 4.70 moveto 5.18 4.83 lineto closepath stroke 5.11 4.70 moveto 4.88 4.73 lineto closepath stroke 5.11 4.70 moveto 4.92 4.87 lineto closepath stroke 5.25 4.95 moveto 5.41 4.75 lineto closepath stroke 5.25 4.95 moveto 5.18 4.83 lineto closepath stroke 5.25 4.95 moveto 5.34 5.10 lineto closepath stroke 5.25 4.95 moveto 5.00 5.00 lineto closepath stroke 5.25 4.95 moveto 5.04 5.14 lineto closepath stroke 5.42 5.24 moveto 5.71 5.00 lineto closepath stroke 5.42 5.24 moveto 5.49 4.89 lineto closepath stroke 5.42 5.24 moveto 5.34 5.10 lineto closepath stroke 5.42 5.24 moveto 5.51 5.39 lineto closepath stroke 5.42 5.24 moveto 5.12 5.29 lineto closepath stroke 5.60 5.55 moveto 5.80 5.77 lineto closepath stroke 5.60 5.55 moveto 5.80 5.16 lineto closepath stroke 5.60 5.55 moveto 5.51 5.39 lineto closepath stroke 5.60 5.55 moveto 5.60 5.77 lineto closepath stroke 5.60 5.55 moveto 5.21 5.44 lineto closepath stroke 5.60 5.55 moveto 5.27 5.77 lineto closepath stroke 5.60 6.00 moveto 5.80 6.00 lineto closepath stroke 5.60 6.00 moveto 5.60 5.77 lineto closepath stroke 5.60 6.00 moveto 5.27 6.00 lineto closepath stroke 4.15 3.23 moveto 4.17 3.28 lineto closepath stroke 4.15 3.23 moveto 4.20 3.22 lineto closepath stroke 4.15 3.23 moveto 4.10 3.29 lineto closepath stroke 4.15 3.23 moveto 4.10 3.23 lineto closepath stroke 4.18 3.34 moveto 4.25 3.33 lineto closepath stroke 4.18 3.34 moveto 4.22 3.28 lineto closepath stroke 4.18 3.34 moveto 4.17 3.28 lineto closepath stroke 4.18 3.34 moveto 4.21 3.40 lineto closepath stroke 4.18 3.34 moveto 4.12 3.34 lineto closepath stroke 4.18 3.34 moveto 4.13 3.41 lineto closepath stroke 4.23 3.47 moveto 4.30 3.46 lineto closepath stroke 4.23 3.47 moveto 4.27 3.40 lineto closepath stroke 4.23 3.47 moveto 4.21 3.40 lineto closepath stroke 4.23 3.47 moveto 4.25 3.53 lineto closepath stroke 4.23 3.47 moveto 4.15 3.47 lineto closepath stroke 4.23 3.47 moveto 4.16 3.54 lineto closepath stroke 4.27 3.60 moveto 4.36 3.59 lineto closepath stroke 4.27 3.60 moveto 4.33 3.53 lineto closepath stroke 4.27 3.60 moveto 4.25 3.53 lineto closepath stroke 4.27 3.60 moveto 4.29 3.68 lineto closepath stroke 4.27 3.60 moveto 4.18 3.61 lineto closepath stroke 4.27 3.60 moveto 4.19 3.68 lineto closepath stroke 4.32 3.75 moveto 4.43 3.74 lineto closepath stroke 4.32 3.75 moveto 4.39 3.67 lineto closepath stroke 4.32 3.75 moveto 4.29 3.68 lineto closepath stroke 4.32 3.75 moveto 4.35 3.84 lineto closepath stroke 4.32 3.75 moveto 4.21 3.76 lineto closepath stroke 4.32 3.75 moveto 4.22 3.84 lineto closepath stroke 4.37 3.92 moveto 4.50 3.90 lineto closepath stroke 4.37 3.92 moveto 4.46 3.82 lineto closepath stroke 4.37 3.92 moveto 4.35 3.84 lineto closepath stroke 4.37 3.92 moveto 4.40 4.01 lineto closepath stroke 4.37 3.92 moveto 4.25 3.93 lineto closepath stroke 4.37 3.92 moveto 4.26 4.02 lineto closepath stroke 4.43 4.10 moveto 4.58 4.08 lineto closepath stroke 4.43 4.10 moveto 4.53 3.99 lineto closepath stroke 4.43 4.10 moveto 4.40 4.01 lineto closepath stroke 4.43 4.10 moveto 4.47 4.21 lineto closepath stroke 4.43 4.10 moveto 4.29 4.11 lineto closepath stroke 4.43 4.10 moveto 4.30 4.21 lineto closepath stroke 4.50 4.31 moveto 4.67 4.28 lineto closepath stroke 4.50 4.31 moveto 4.62 4.18 lineto closepath stroke 4.50 4.31 moveto 4.47 4.21 lineto closepath stroke 4.50 4.31 moveto 4.53 4.42 lineto closepath stroke 4.50 4.31 moveto 4.33 4.31 lineto closepath stroke 4.50 4.31 moveto 4.34 4.43 lineto closepath stroke 4.57 4.53 moveto 4.77 4.50 lineto closepath stroke 4.57 4.53 moveto 4.71 4.39 lineto closepath stroke 4.57 4.53 moveto 4.53 4.42 lineto closepath stroke 4.57 4.53 moveto 4.61 4.65 lineto closepath stroke 4.57 4.53 moveto 4.38 4.54 lineto closepath stroke 4.57 4.53 moveto 4.39 4.66 lineto closepath stroke 4.65 4.77 moveto 4.88 4.73 lineto closepath stroke 4.65 4.77 moveto 4.81 4.62 lineto closepath stroke 4.65 4.77 moveto 4.61 4.65 lineto closepath stroke 4.65 4.77 moveto 4.69 4.91 lineto closepath stroke 4.65 4.77 moveto 4.43 4.78 lineto closepath stroke 4.65 4.77 moveto 4.45 4.92 lineto closepath stroke 4.74 5.04 moveto 5.00 5.00 lineto closepath stroke 4.74 5.04 moveto 4.92 4.87 lineto closepath stroke 4.74 5.04 moveto 4.69 4.91 lineto closepath stroke 4.74 5.04 moveto 4.78 5.19 lineto closepath stroke 4.74 5.04 moveto 4.49 5.05 lineto closepath stroke 4.74 5.04 moveto 4.50 5.20 lineto closepath stroke 4.83 5.33 moveto 5.21 5.44 lineto closepath stroke 4.83 5.33 moveto 5.12 5.29 lineto closepath stroke 4.83 5.33 moveto 5.04 5.14 lineto closepath stroke 4.83 5.33 moveto 4.78 5.19 lineto closepath stroke 4.83 5.33 moveto 4.88 5.67 lineto closepath stroke 4.83 5.33 moveto 4.55 5.35 lineto closepath stroke 4.83 5.33 moveto 4.57 5.67 lineto closepath stroke 4.94 6.00 moveto 5.27 5.77 lineto closepath stroke 4.94 6.00 moveto 4.88 5.67 lineto closepath stroke 4.94 6.00 moveto 5.27 6.00 lineto closepath stroke 4.94 6.00 moveto 4.62 6.00 lineto closepath stroke 4.05 3.23 moveto 4.05 3.29 lineto closepath stroke 4.05 3.23 moveto 4.10 3.23 lineto closepath stroke 4.05 3.23 moveto 4.00 3.23 lineto closepath stroke 4.06 3.34 moveto 4.12 3.34 lineto closepath stroke 4.06 3.34 moveto 4.10 3.29 lineto closepath stroke 4.06 3.34 moveto 4.05 3.29 lineto closepath stroke 4.06 3.34 moveto 4.07 3.41 lineto closepath stroke 4.06 3.34 moveto 4.01 3.29 lineto closepath stroke 4.06 3.34 moveto 4.00 3.34 lineto closepath stroke 4.07 3.47 moveto 4.15 3.47 lineto closepath stroke 4.07 3.47 moveto 4.13 3.41 lineto closepath stroke 4.07 3.47 moveto 4.07 3.41 lineto closepath stroke 4.07 3.47 moveto 4.08 3.54 lineto closepath stroke 4.07 3.47 moveto 4.01 3.41 lineto closepath stroke 4.07 3.47 moveto 4.00 3.47 lineto closepath stroke 4.09 3.61 moveto 4.18 3.61 lineto closepath stroke 4.09 3.61 moveto 4.16 3.54 lineto closepath stroke 4.09 3.61 moveto 4.08 3.54 lineto closepath stroke 4.09 3.61 moveto 4.10 3.69 lineto closepath stroke 4.09 3.61 moveto 4.01 3.54 lineto closepath stroke 4.09 3.61 moveto 4.00 3.61 lineto closepath stroke 4.10 3.76 moveto 4.21 3.76 lineto closepath stroke 4.10 3.76 moveto 4.19 3.68 lineto closepath stroke 4.10 3.76 moveto 4.10 3.69 lineto closepath stroke 4.10 3.76 moveto 4.11 3.85 lineto closepath stroke 4.10 3.76 moveto 4.01 3.69 lineto closepath stroke 4.10 3.76 moveto 4.00 3.76 lineto closepath stroke 4.12 3.93 moveto 4.25 3.93 lineto closepath stroke 4.12 3.93 moveto 4.22 3.84 lineto closepath stroke 4.12 3.93 moveto 4.11 3.85 lineto closepath stroke 4.12 3.93 moveto 4.13 4.02 lineto closepath stroke 4.12 3.93 moveto 4.01 3.85 lineto closepath stroke 4.12 3.93 moveto 4.00 3.93 lineto closepath stroke 4.14 4.12 moveto 4.29 4.11 lineto closepath stroke 4.14 4.12 moveto 4.26 4.02 lineto closepath stroke 4.14 4.12 moveto 4.13 4.02 lineto closepath stroke 4.14 4.12 moveto 4.15 4.22 lineto closepath stroke 4.14 4.12 moveto 4.01 4.02 lineto closepath stroke 4.14 4.12 moveto 4.00 4.12 lineto closepath stroke 4.16 4.32 moveto 4.33 4.31 lineto closepath stroke 4.16 4.32 moveto 4.30 4.21 lineto closepath stroke 4.16 4.32 moveto 4.15 4.22 lineto closepath stroke 4.16 4.32 moveto 4.17 4.43 lineto closepath stroke 4.16 4.32 moveto 4.01 4.22 lineto closepath stroke 4.16 4.32 moveto 4.00 4.32 lineto closepath stroke 4.19 4.54 moveto 4.38 4.54 lineto closepath stroke 4.19 4.54 moveto 4.34 4.43 lineto closepath stroke 4.19 4.54 moveto 4.17 4.43 lineto closepath stroke 4.19 4.54 moveto 4.20 4.67 lineto closepath stroke 4.19 4.54 moveto 4.01 4.43 lineto closepath stroke 4.19 4.54 moveto 4.00 4.54 lineto closepath stroke 4.21 4.79 moveto 4.43 4.78 lineto closepath stroke 4.21 4.79 moveto 4.39 4.66 lineto closepath stroke 4.21 4.79 moveto 4.20 4.67 lineto closepath stroke 4.21 4.79 moveto 4.23 4.93 lineto closepath stroke 4.21 4.79 moveto 4.01 4.67 lineto closepath stroke 4.21 4.79 moveto 4.00 4.79 lineto closepath stroke 4.24 5.06 moveto 4.49 5.05 lineto closepath stroke 4.24 5.06 moveto 4.45 4.92 lineto closepath stroke 4.24 5.06 moveto 4.23 4.93 lineto closepath stroke 4.24 5.06 moveto 4.26 5.21 lineto closepath stroke 4.24 5.06 moveto 4.01 4.93 lineto closepath stroke 4.24 5.06 moveto 4.00 5.06 lineto closepath stroke 4.27 5.36 moveto 4.55 5.35 lineto closepath stroke 4.27 5.36 moveto 4.50 5.20 lineto closepath stroke 4.27 5.36 moveto 4.26 5.21 lineto closepath stroke 4.27 5.36 moveto 4.29 5.68 lineto closepath stroke 4.27 5.36 moveto 4.02 5.21 lineto closepath stroke 4.27 5.36 moveto 4.00 5.36 lineto closepath stroke 4.31 6.00 moveto 4.62 6.00 lineto closepath stroke 4.31 6.00 moveto 4.57 5.67 lineto closepath stroke 4.31 6.00 moveto 4.29 5.68 lineto closepath stroke 4.31 6.00 moveto 4.02 5.68 lineto closepath stroke 4.31 6.00 moveto 4.00 6.00 lineto closepath stroke 3.95 3.23 moveto 4.01 3.29 lineto closepath stroke 3.95 3.23 moveto 4.00 3.23 lineto closepath stroke 3.95 3.23 moveto 3.95 3.29 lineto closepath stroke 3.95 3.23 moveto 3.90 3.23 lineto closepath stroke 3.94 3.35 moveto 4.01 3.41 lineto closepath stroke 3.94 3.35 moveto 4.00 3.34 lineto closepath stroke 3.94 3.35 moveto 3.95 3.29 lineto closepath stroke 3.94 3.35 moveto 3.93 3.41 lineto closepath stroke 3.94 3.35 moveto 3.89 3.29 lineto closepath stroke 3.94 3.35 moveto 3.88 3.35 lineto closepath stroke 3.93 3.47 moveto 4.01 3.54 lineto closepath stroke 3.93 3.47 moveto 4.00 3.47 lineto closepath stroke 3.93 3.47 moveto 3.93 3.41 lineto closepath stroke 3.93 3.47 moveto 3.92 3.54 lineto closepath stroke 3.93 3.47 moveto 3.87 3.41 lineto closepath stroke 3.93 3.47 moveto 3.85 3.47 lineto closepath stroke 3.91 3.61 moveto 4.01 3.69 lineto closepath stroke 3.91 3.61 moveto 4.00 3.61 lineto closepath stroke 3.91 3.61 moveto 3.92 3.54 lineto closepath stroke 3.91 3.61 moveto 3.90 3.69 lineto closepath stroke 3.91 3.61 moveto 3.84 3.54 lineto closepath stroke 3.91 3.61 moveto 3.82 3.61 lineto closepath stroke 3.90 3.76 moveto 4.01 3.85 lineto closepath stroke 3.90 3.76 moveto 4.00 3.76 lineto closepath stroke 3.90 3.76 moveto 3.90 3.69 lineto closepath stroke 3.90 3.76 moveto 3.89 3.85 lineto closepath stroke 3.90 3.76 moveto 3.81 3.69 lineto closepath stroke 3.90 3.76 moveto 3.79 3.77 lineto closepath stroke 3.88 3.93 moveto 4.01 4.02 lineto closepath stroke 3.88 3.93 moveto 4.00 3.93 lineto closepath stroke 3.88 3.93 moveto 3.89 3.85 lineto closepath stroke 3.88 3.93 moveto 3.87 4.02 lineto closepath stroke 3.88 3.93 moveto 3.78 3.85 lineto closepath stroke 3.88 3.93 moveto 3.75 3.94 lineto closepath stroke 3.86 4.12 moveto 4.01 4.22 lineto closepath stroke 3.86 4.12 moveto 4.00 4.12 lineto closepath stroke 3.86 4.12 moveto 3.87 4.02 lineto closepath stroke 3.86 4.12 moveto 3.85 4.22 lineto closepath stroke 3.86 4.12 moveto 3.74 4.03 lineto closepath stroke 3.86 4.12 moveto 3.71 4.12 lineto closepath stroke 3.84 4.32 moveto 4.01 4.43 lineto closepath stroke 3.84 4.32 moveto 4.00 4.32 lineto closepath stroke 3.84 4.32 moveto 3.85 4.22 lineto closepath stroke 3.84 4.32 moveto 3.83 4.43 lineto closepath stroke 3.84 4.32 moveto 3.70 4.22 lineto closepath stroke 3.84 4.32 moveto 3.66 4.33 lineto closepath stroke 3.81 4.55 moveto 4.01 4.67 lineto closepath stroke 3.81 4.55 moveto 4.00 4.54 lineto closepath stroke 3.81 4.55 moveto 3.83 4.43 lineto closepath stroke 3.81 4.55 moveto 3.80 4.67 lineto closepath stroke 3.81 4.55 moveto 3.65 4.44 lineto closepath stroke 3.81 4.55 moveto 3.62 4.55 lineto closepath stroke 3.79 4.79 moveto 4.01 4.93 lineto closepath stroke 3.79 4.79 moveto 4.00 4.79 lineto closepath stroke 3.79 4.79 moveto 3.80 4.67 lineto closepath stroke 3.79 4.79 moveto 3.77 4.93 lineto closepath stroke 3.79 4.79 moveto 3.60 4.67 lineto closepath stroke 3.79 4.79 moveto 3.56 4.80 lineto closepath stroke 3.76 5.06 moveto 4.02 5.21 lineto closepath stroke 3.76 5.06 moveto 4.00 5.06 lineto closepath stroke 3.76 5.06 moveto 3.77 4.93 lineto closepath stroke 3.76 5.06 moveto 3.74 5.21 lineto closepath stroke 3.76 5.06 moveto 3.55 4.93 lineto closepath stroke 3.76 5.06 moveto 3.50 5.07 lineto closepath stroke 3.73 5.36 moveto 4.02 5.68 lineto closepath stroke 3.73 5.36 moveto 4.00 5.36 lineto closepath stroke 3.73 5.36 moveto 3.74 5.21 lineto closepath stroke 3.73 5.36 moveto 3.71 5.68 lineto closepath stroke 3.73 5.36 moveto 3.49 5.22 lineto closepath stroke 3.73 5.36 moveto 3.44 5.37 lineto closepath stroke 3.69 6.00 moveto 4.00 6.00 lineto closepath stroke 3.69 6.00 moveto 3.71 5.68 lineto closepath stroke 3.69 6.00 moveto 3.42 5.69 lineto closepath stroke 3.69 6.00 moveto 3.37 6.00 lineto closepath stroke 3.85 3.23 moveto 3.89 3.29 lineto closepath stroke 3.85 3.23 moveto 3.90 3.23 lineto closepath stroke 3.85 3.23 moveto 3.83 3.29 lineto closepath stroke 3.85 3.23 moveto 3.79 3.23 lineto closepath stroke 3.81 3.35 moveto 3.87 3.41 lineto closepath stroke 3.81 3.35 moveto 3.88 3.35 lineto closepath stroke 3.81 3.35 moveto 3.83 3.29 lineto closepath stroke 3.81 3.35 moveto 3.79 3.41 lineto closepath stroke 3.81 3.35 moveto 3.77 3.29 lineto closepath stroke 3.81 3.35 moveto 3.74 3.35 lineto closepath stroke 3.77 3.47 moveto 3.84 3.54 lineto closepath stroke 3.77 3.47 moveto 3.85 3.47 lineto closepath stroke 3.77 3.47 moveto 3.79 3.41 lineto closepath stroke 3.77 3.47 moveto 3.75 3.54 lineto closepath stroke 3.77 3.47 moveto 3.72 3.41 lineto closepath stroke 3.77 3.47 moveto 3.68 3.48 lineto closepath stroke 3.72 3.61 moveto 3.81 3.69 lineto closepath stroke 3.72 3.61 moveto 3.82 3.61 lineto closepath stroke 3.72 3.61 moveto 3.75 3.54 lineto closepath stroke 3.72 3.61 moveto 3.70 3.69 lineto closepath stroke 3.72 3.61 moveto 3.65 3.55 lineto closepath stroke 3.72 3.61 moveto 3.61 3.62 lineto closepath stroke 3.67 3.77 moveto 3.78 3.85 lineto closepath stroke 3.67 3.77 moveto 3.79 3.77 lineto closepath stroke 3.67 3.77 moveto 3.70 3.69 lineto closepath stroke 3.67 3.77 moveto 3.65 3.85 lineto closepath stroke 3.67 3.77 moveto 3.59 3.70 lineto closepath stroke 3.67 3.77 moveto 3.54 3.78 lineto closepath stroke 3.62 3.94 moveto 3.74 4.03 lineto closepath stroke 3.62 3.94 moveto 3.75 3.94 lineto closepath stroke 3.62 3.94 moveto 3.65 3.85 lineto closepath stroke 3.62 3.94 moveto 3.59 4.03 lineto closepath stroke 3.62 3.94 moveto 3.52 3.86 lineto closepath stroke 3.62 3.94 moveto 3.47 3.95 lineto closepath stroke 3.56 4.13 moveto 3.70 4.22 lineto closepath stroke 3.56 4.13 moveto 3.71 4.12 lineto closepath stroke 3.56 4.13 moveto 3.59 4.03 lineto closepath stroke 3.56 4.13 moveto 3.53 4.23 lineto closepath stroke 3.56 4.13 moveto 3.44 4.04 lineto closepath stroke 3.56 4.13 moveto 3.38 4.14 lineto closepath stroke 3.49 4.33 moveto 3.65 4.44 lineto closepath stroke 3.49 4.33 moveto 3.66 4.33 lineto closepath stroke 3.49 4.33 moveto 3.53 4.23 lineto closepath stroke 3.49 4.33 moveto 3.46 4.44 lineto closepath stroke 3.49 4.33 moveto 3.35 4.24 lineto closepath stroke 3.49 4.33 moveto 3.29 4.34 lineto closepath stroke 3.42 4.56 moveto 3.60 4.67 lineto closepath stroke 3.42 4.56 moveto 3.62 4.55 lineto closepath stroke 3.42 4.56 moveto 3.46 4.44 lineto closepath stroke 3.42 4.56 moveto 3.38 4.68 lineto closepath stroke 3.42 4.56 moveto 3.25 4.46 lineto closepath stroke 3.42 4.56 moveto 3.18 4.57 lineto closepath stroke 3.34 4.80 moveto 3.55 4.93 lineto closepath stroke 3.34 4.80 moveto 3.56 4.80 lineto closepath stroke 3.34 4.80 moveto 3.38 4.68 lineto closepath stroke 3.34 4.80 moveto 3.29 4.94 lineto closepath stroke 3.34 4.80 moveto 3.14 4.69 lineto closepath stroke 3.34 4.80 moveto 3.07 4.82 lineto closepath stroke 3.25 5.08 moveto 3.49 5.22 lineto closepath stroke 3.25 5.08 moveto 3.50 5.07 lineto closepath stroke 3.25 5.08 moveto 3.29 4.94 lineto closepath stroke 3.25 5.08 moveto 3.20 5.23 lineto closepath stroke 3.25 5.08 moveto 3.03 4.96 lineto closepath stroke 3.25 5.08 moveto 2.95 5.10 lineto closepath stroke 3.15 5.38 moveto 3.42 5.69 lineto closepath stroke 3.15 5.38 moveto 3.44 5.37 lineto closepath stroke 3.15 5.38 moveto 3.20 5.23 lineto closepath stroke 3.15 5.38 moveto 3.10 5.69 lineto closepath stroke 3.15 5.38 moveto 2.90 5.25 lineto closepath stroke 3.15 5.38 moveto 2.81 5.40 lineto closepath stroke 3.04 6.00 moveto 3.37 6.00 lineto closepath stroke 3.04 6.00 moveto 3.10 5.69 lineto closepath stroke 3.04 6.00 moveto 2.76 5.71 lineto closepath stroke 3.04 6.00 moveto 2.66 6.00 lineto closepath stroke 3.73 3.24 moveto 3.77 3.29 lineto closepath stroke 3.73 3.24 moveto 3.79 3.23 lineto closepath stroke 3.73 3.24 moveto 3.69 3.29 lineto closepath stroke 3.73 3.24 moveto 3.65 3.24 lineto closepath stroke 3.66 3.35 moveto 3.72 3.41 lineto closepath stroke 3.66 3.35 moveto 3.74 3.35 lineto closepath stroke 3.66 3.35 moveto 3.69 3.29 lineto closepath stroke 3.66 3.35 moveto 3.62 3.42 lineto closepath stroke 3.66 3.35 moveto 3.61 3.30 lineto closepath stroke 3.66 3.35 moveto 3.56 3.36 lineto closepath stroke 3.58 3.48 moveto 3.65 3.55 lineto closepath stroke 3.58 3.48 moveto 3.68 3.48 lineto closepath stroke 3.58 3.48 moveto 3.62 3.42 lineto closepath stroke 3.58 3.48 moveto 3.54 3.55 lineto closepath stroke 3.58 3.48 moveto 3.52 3.42 lineto closepath stroke 3.58 3.48 moveto 3.46 3.49 lineto closepath stroke 3.50 3.63 moveto 3.59 3.70 lineto closepath stroke 3.50 3.63 moveto 3.61 3.62 lineto closepath stroke 3.50 3.63 moveto 3.54 3.55 lineto closepath stroke 3.50 3.63 moveto 3.46 3.70 lineto closepath stroke 3.50 3.63 moveto 3.42 3.56 lineto closepath stroke 3.50 3.63 moveto 3.36 3.63 lineto closepath stroke 3.41 3.78 moveto 3.52 3.86 lineto closepath stroke 3.41 3.78 moveto 3.54 3.78 lineto closepath stroke 3.41 3.78 moveto 3.46 3.70 lineto closepath stroke 3.41 3.78 moveto 3.36 3.87 lineto closepath stroke 3.41 3.78 moveto 3.31 3.71 lineto closepath stroke 3.31 3.96 moveto 3.44 4.04 lineto closepath stroke 3.31 3.96 moveto 3.47 3.95 lineto closepath stroke 3.31 3.96 moveto 3.36 3.87 lineto closepath stroke 3.31 3.96 moveto 3.26 4.05 lineto closepath stroke 3.31 3.96 moveto 3.26 3.80 lineto closepath stroke 3.31 3.96 moveto 3.19 3.88 lineto closepath stroke 3.20 4.15 moveto 3.35 4.24 lineto closepath stroke 3.20 4.15 moveto 3.38 4.14 lineto closepath stroke 3.20 4.15 moveto 3.26 4.05 lineto closepath stroke 3.20 4.15 moveto 3.14 4.25 lineto closepath stroke 3.20 4.15 moveto 3.13 3.97 lineto closepath stroke 3.20 4.15 moveto 3.06 4.06 lineto closepath stroke 3.08 4.35 moveto 3.25 4.46 lineto closepath stroke 3.08 4.35 moveto 3.29 4.34 lineto closepath stroke 3.08 4.35 moveto 3.14 4.25 lineto closepath stroke 3.08 4.35 moveto 3.02 4.47 lineto closepath stroke 3.08 4.35 moveto 3.00 4.16 lineto closepath stroke 3.08 4.35 moveto 2.91 4.26 lineto closepath stroke 2.95 4.58 moveto 3.14 4.69 lineto closepath stroke 2.95 4.58 moveto 3.18 4.57 lineto closepath stroke 2.95 4.58 moveto 3.02 4.47 lineto closepath stroke 2.95 4.58 moveto 2.88 4.71 lineto closepath stroke 2.95 4.58 moveto 2.84 4.37 lineto closepath stroke 2.95 4.58 moveto 2.75 4.48 lineto closepath stroke 2.80 4.84 moveto 3.03 4.96 lineto closepath stroke 2.80 4.84 moveto 3.07 4.82 lineto closepath stroke 2.80 4.84 moveto 2.88 4.71 lineto closepath stroke 2.80 4.84 moveto 2.72 4.98 lineto closepath stroke 2.80 4.84 moveto 2.67 4.61 lineto closepath stroke 2.80 4.84 moveto 2.57 4.72 lineto closepath stroke 2.64 5.12 moveto 2.90 5.25 lineto closepath stroke 2.64 5.12 moveto 2.95 5.10 lineto closepath stroke 2.64 5.12 moveto 2.72 4.98 lineto closepath stroke 2.64 5.12 moveto 2.55 5.27 lineto closepath stroke 2.64 5.12 moveto 2.49 4.86 lineto closepath stroke 2.64 5.12 moveto 2.37 4.99 lineto closepath stroke 2.47 5.42 moveto 2.76 5.71 lineto closepath stroke 2.47 5.42 moveto 2.81 5.40 lineto closepath stroke 2.47 5.42 moveto 2.55 5.27 lineto closepath stroke 2.47 5.42 moveto 2.37 5.71 lineto closepath stroke 2.47 5.42 moveto 2.28 5.14 lineto closepath stroke 2.47 5.42 moveto 2.16 5.29 lineto closepath stroke 2.47 5.42 moveto 2.02 5.44 lineto closepath stroke 2.27 6.00 moveto 2.66 6.00 lineto closepath stroke 2.27 6.00 moveto 2.37 5.71 lineto closepath stroke 2.27 6.00 moveto 1.92 5.73 lineto closepath stroke 2.27 6.00 moveto 1.77 6.00 lineto closepath stroke 3.57 3.24 moveto 3.61 3.30 lineto closepath stroke 3.57 3.24 moveto 3.65 3.24 lineto closepath stroke 3.57 3.24 moveto 3.51 3.30 lineto closepath stroke 3.57 3.24 moveto 3.46 3.24 lineto closepath stroke 3.46 3.36 moveto 3.52 3.42 lineto closepath stroke 3.46 3.36 moveto 3.56 3.36 lineto closepath stroke 3.46 3.36 moveto 3.51 3.30 lineto closepath stroke 3.46 3.36 moveto 3.40 3.43 lineto closepath stroke 3.46 3.36 moveto 3.41 3.30 lineto closepath stroke 3.34 3.49 moveto 3.42 3.56 lineto closepath stroke 3.34 3.49 moveto 3.46 3.49 lineto closepath stroke 3.34 3.49 moveto 3.40 3.43 lineto closepath stroke 3.34 3.49 moveto 3.28 3.56 lineto closepath stroke 3.34 3.49 moveto 3.35 3.36 lineto closepath stroke 3.34 3.49 moveto 3.27 3.42 lineto closepath stroke 3.21 3.64 moveto 3.31 3.71 lineto closepath stroke 3.21 3.64 moveto 3.36 3.63 lineto closepath stroke 3.21 3.64 moveto 3.28 3.56 lineto closepath stroke 3.21 3.64 moveto 3.26 3.80 lineto closepath stroke 3.21 3.64 moveto 3.14 3.72 lineto closepath stroke 3.21 3.64 moveto 3.20 3.49 lineto closepath stroke 3.21 3.64 moveto 3.11 3.56 lineto closepath stroke 3.07 3.80 moveto 3.13 3.97 lineto closepath stroke 3.07 3.80 moveto 3.19 3.88 lineto closepath stroke 3.07 3.80 moveto 3.14 3.72 lineto closepath stroke 3.07 3.80 moveto 2.99 3.88 lineto closepath stroke 3.07 3.80 moveto 3.04 3.64 lineto closepath stroke 3.07 3.80 moveto 2.94 3.71 lineto closepath stroke 2.91 3.97 moveto 3.00 4.16 lineto closepath stroke 2.91 3.97 moveto 3.06 4.06 lineto closepath stroke 2.91 3.97 moveto 2.99 3.88 lineto closepath stroke 2.91 3.97 moveto 2.82 4.07 lineto closepath stroke 2.91 3.97 moveto 2.86 3.80 lineto closepath stroke 2.91 3.97 moveto 2.75 3.88 lineto closepath stroke 2.73 4.17 moveto 2.84 4.37 lineto closepath stroke 2.73 4.17 moveto 2.91 4.26 lineto closepath stroke 2.73 4.17 moveto 2.82 4.07 lineto closepath stroke 2.73 4.17 moveto 2.64 4.27 lineto closepath stroke 2.73 4.17 moveto 2.67 3.97 lineto closepath stroke 2.73 4.17 moveto 2.55 4.06 lineto closepath stroke 2.54 4.38 moveto 2.67 4.61 lineto closepath stroke 2.54 4.38 moveto 2.75 4.48 lineto closepath stroke 2.54 4.38 moveto 2.64 4.27 lineto closepath stroke 2.54 4.38 moveto 2.44 4.49 lineto closepath stroke 2.54 4.38 moveto 2.45 4.17 lineto closepath stroke 2.54 4.38 moveto 2.32 4.26 lineto closepath stroke 2.33 4.61 moveto 2.49 4.86 lineto closepath stroke 2.33 4.61 moveto 2.57 4.72 lineto closepath stroke 2.33 4.61 moveto 2.44 4.49 lineto closepath stroke 2.33 4.61 moveto 2.22 4.74 lineto closepath stroke 2.33 4.61 moveto 2.22 4.38 lineto closepath stroke 2.33 4.61 moveto 2.07 4.48 lineto closepath stroke 2.10 4.87 moveto 2.28 5.14 lineto closepath stroke 2.10 4.87 moveto 2.37 4.99 lineto closepath stroke 2.10 4.87 moveto 2.22 4.74 lineto closepath stroke 2.10 4.87 moveto 1.97 5.01 lineto closepath stroke 2.10 4.87 moveto 1.96 4.61 lineto closepath stroke 2.10 4.87 moveto 1.80 4.72 lineto closepath stroke 1.85 5.15 moveto 2.16 5.29 lineto closepath stroke 1.85 5.15 moveto 1.97 5.01 lineto closepath stroke 1.85 5.15 moveto 1.71 5.31 lineto closepath stroke 1.85 5.15 moveto 1.67 4.87 lineto closepath stroke 1.85 5.15 moveto 1.50 4.99 lineto closepath stroke 1.57 5.46 moveto 1.92 5.73 lineto closepath stroke 1.57 5.46 moveto 2.02 5.44 lineto closepath stroke 1.57 5.46 moveto 1.71 5.31 lineto closepath stroke 1.57 5.46 moveto 1.41 5.73 lineto closepath stroke 1.57 5.46 moveto 1.36 5.15 lineto closepath stroke 1.57 5.46 moveto 1.17 5.29 lineto closepath stroke 1.26 6.00 moveto 1.77 6.00 lineto closepath stroke 1.26 6.00 moveto 1.41 5.73 lineto closepath stroke 1.26 6.00 moveto 1.02 5.56 lineto closepath stroke 1.26 6.00 moveto 0.63 6.00 lineto closepath stroke 3.35 3.24 moveto 3.41 3.30 lineto closepath stroke 3.35 3.24 moveto 3.46 3.24 lineto closepath stroke 3.35 3.24 moveto 3.35 3.36 lineto closepath stroke 3.35 3.24 moveto 3.27 3.29 lineto closepath stroke 3.35 3.24 moveto 3.21 3.22 lineto closepath stroke 3.19 3.35 moveto 3.20 3.49 lineto closepath stroke 3.19 3.35 moveto 3.27 3.42 lineto closepath stroke 3.19 3.35 moveto 3.27 3.29 lineto closepath stroke 3.19 3.35 moveto 3.10 3.42 lineto closepath stroke 3.19 3.35 moveto 3.13 3.28 lineto closepath stroke 3.01 3.48 moveto 3.04 3.64 lineto closepath stroke 3.01 3.48 moveto 3.11 3.56 lineto closepath stroke 3.01 3.48 moveto 3.10 3.42 lineto closepath stroke 3.01 3.48 moveto 2.91 3.55 lineto closepath stroke 3.01 3.48 moveto 3.04 3.35 lineto closepath stroke 3.01 3.48 moveto 2.92 3.40 lineto closepath stroke 2.82 3.62 moveto 2.86 3.80 lineto closepath stroke 2.82 3.62 moveto 2.94 3.71 lineto closepath stroke 2.82 3.62 moveto 2.91 3.55 lineto closepath stroke 2.82 3.62 moveto 2.71 3.70 lineto closepath stroke 2.82 3.62 moveto 2.82 3.47 lineto closepath stroke 2.82 3.62 moveto 2.70 3.53 lineto closepath stroke 2.60 3.78 moveto 2.67 3.97 lineto closepath stroke 2.60 3.78 moveto 2.75 3.88 lineto closepath stroke 2.60 3.78 moveto 2.71 3.70 lineto closepath stroke 2.60 3.78 moveto 2.48 3.87 lineto closepath stroke 2.60 3.78 moveto 2.59 3.60 lineto closepath stroke 2.60 3.78 moveto 2.45 3.67 lineto closepath stroke 2.36 3.95 moveto 2.45 4.17 lineto closepath stroke 2.36 3.95 moveto 2.55 4.06 lineto closepath stroke 2.36 3.95 moveto 2.48 3.87 lineto closepath stroke 2.36 3.95 moveto 2.23 4.05 lineto closepath stroke 2.36 3.95 moveto 2.33 3.75 lineto closepath stroke 2.36 3.95 moveto 2.17 3.82 lineto closepath stroke 2.10 4.14 moveto 2.22 4.38 lineto closepath stroke 2.10 4.14 moveto 2.32 4.26 lineto closepath stroke 2.10 4.14 moveto 2.23 4.05 lineto closepath stroke 2.10 4.14 moveto 1.96 4.25 lineto closepath stroke 2.10 4.14 moveto 2.04 3.92 lineto closepath stroke 2.10 4.14 moveto 1.87 3.99 lineto closepath stroke 1.82 4.35 moveto 1.96 4.61 lineto closepath stroke 1.82 4.35 moveto 2.07 4.48 lineto closepath stroke 1.82 4.35 moveto 1.96 4.25 lineto closepath stroke 1.82 4.35 moveto 1.66 4.47 lineto closepath stroke 1.82 4.35 moveto 1.73 4.10 lineto closepath stroke 1.82 4.35 moveto 1.54 4.18 lineto closepath stroke 1.50 4.58 moveto 1.67 4.87 lineto closepath stroke 1.50 4.58 moveto 1.80 4.72 lineto closepath stroke 1.50 4.58 moveto 1.66 4.47 lineto closepath stroke 1.50 4.58 moveto 1.33 4.71 lineto closepath stroke 1.50 4.58 moveto 1.38 4.30 lineto closepath stroke 1.50 4.58 moveto 1.18 4.39 lineto closepath stroke 1.15 4.83 moveto 1.36 5.15 lineto closepath stroke 1.15 4.83 moveto 1.50 4.99 lineto closepath stroke 1.15 4.83 moveto 1.33 4.71 lineto closepath stroke 1.15 4.83 moveto 0.96 4.97 lineto closepath stroke 1.15 4.83 moveto 1.00 4.51 lineto closepath stroke 0.77 5.11 moveto 1.02 5.56 lineto closepath stroke 0.77 5.11 moveto 1.17 5.29 lineto closepath stroke 0.77 5.11 moveto 0.96 4.97 lineto closepath stroke 0.77 5.11 moveto 0.39 5.56 lineto closepath stroke 0.77 5.11 moveto 0.39 5.26 lineto closepath stroke 0.77 5.11 moveto 0.81 4.65 lineto closepath stroke 0.77 5.11 moveto 0.39 4.75 lineto closepath stroke 0.00 5.42 moveto 0.00 5.71 lineto closepath stroke 0.00 5.42 moveto 0.39 5.26 lineto closepath stroke 0.00 5.42 moveto 0.00 4.91 lineto closepath stroke 3.07 3.21 moveto 3.13 3.28 lineto closepath stroke 3.07 3.21 moveto 3.21 3.22 lineto closepath stroke 3.07 3.21 moveto 3.04 3.35 lineto closepath stroke 3.07 3.21 moveto 2.95 3.26 lineto closepath stroke 3.07 3.21 moveto 2.89 3.17 lineto closepath stroke 2.83 3.31 moveto 2.82 3.47 lineto closepath stroke 2.83 3.31 moveto 2.92 3.40 lineto closepath stroke 2.83 3.31 moveto 2.95 3.26 lineto closepath stroke 2.83 3.31 moveto 2.70 3.37 lineto closepath stroke 2.83 3.31 moveto 2.77 3.22 lineto closepath stroke 2.58 3.43 moveto 2.59 3.60 lineto closepath stroke 2.58 3.43 moveto 2.70 3.53 lineto closepath stroke 2.58 3.43 moveto 2.70 3.37 lineto closepath stroke 2.58 3.43 moveto 2.43 3.49 lineto closepath stroke 2.58 3.43 moveto 2.64 3.28 lineto closepath stroke 2.58 3.43 moveto 2.48 3.32 lineto closepath stroke 2.29 3.55 moveto 2.33 3.75 lineto closepath stroke 2.29 3.55 moveto 2.45 3.67 lineto closepath stroke 2.29 3.55 moveto 2.43 3.49 lineto closepath stroke 2.29 3.55 moveto 2.14 3.62 lineto closepath stroke 2.29 3.55 moveto 2.34 3.38 lineto closepath stroke 2.29 3.55 moveto 2.16 3.42 lineto closepath stroke 1.98 3.69 moveto 2.04 3.92 lineto closepath stroke 1.98 3.69 moveto 2.17 3.82 lineto closepath stroke 1.98 3.69 moveto 2.14 3.62 lineto closepath stroke 1.98 3.69 moveto 1.81 3.77 lineto closepath stroke 1.98 3.69 moveto 2.00 3.49 lineto closepath stroke 1.98 3.69 moveto 1.81 3.53 lineto closepath stroke 1.64 3.84 moveto 1.73 4.10 lineto closepath stroke 1.64 3.84 moveto 1.87 3.99 lineto closepath stroke 1.64 3.84 moveto 1.81 3.77 lineto closepath stroke 1.64 3.84 moveto 1.45 3.93 lineto closepath stroke 1.64 3.84 moveto 1.64 3.60 lineto closepath stroke 1.64 3.84 moveto 1.42 3.65 lineto closepath stroke 1.26 4.01 moveto 1.38 4.30 lineto closepath stroke 1.26 4.01 moveto 1.54 4.18 lineto closepath stroke 1.26 4.01 moveto 1.45 3.93 lineto closepath stroke 1.26 4.01 moveto 1.06 4.10 lineto closepath stroke 1.26 4.01 moveto 1.23 3.73 lineto closepath stroke 1.26 4.01 moveto 1.00 3.78 lineto closepath stroke 0.85 4.19 moveto 0.81 4.65 lineto closepath stroke 0.85 4.19 moveto 1.00 4.51 lineto closepath stroke 0.85 4.19 moveto 1.18 4.39 lineto closepath stroke 0.85 4.19 moveto 1.06 4.10 lineto closepath stroke 0.85 4.19 moveto 0.43 4.30 lineto closepath stroke 0.85 4.19 moveto 0.79 3.88 lineto closepath stroke 0.85 4.19 moveto 0.43 3.93 lineto closepath stroke 0.00 4.40 moveto 0.39 4.75 lineto closepath stroke 0.00 4.40 moveto 0.43 4.30 lineto closepath stroke 0.00 4.40 moveto 0.00 4.91 lineto closepath stroke 0.00 4.40 moveto 0.00 4.03 lineto closepath stroke 2.70 3.14 moveto 2.77 3.22 lineto closepath stroke 2.70 3.14 moveto 2.89 3.17 lineto closepath stroke 2.70 3.14 moveto 2.64 3.28 lineto closepath stroke 2.70 3.14 moveto 2.54 3.17 lineto closepath stroke 2.70 3.14 moveto 2.49 3.07 lineto closepath stroke 2.38 3.21 moveto 2.34 3.38 lineto closepath stroke 2.38 3.21 moveto 2.48 3.32 lineto closepath stroke 2.38 3.21 moveto 2.54 3.17 lineto closepath stroke 2.38 3.21 moveto 2.20 3.24 lineto closepath stroke 2.38 3.21 moveto 2.33 3.10 lineto closepath stroke 2.02 3.28 moveto 2.00 3.49 lineto closepath stroke 2.02 3.28 moveto 2.16 3.42 lineto closepath stroke 2.02 3.28 moveto 2.20 3.24 lineto closepath stroke 2.02 3.28 moveto 1.83 3.32 lineto closepath stroke 2.02 3.28 moveto 2.15 3.14 lineto closepath stroke 2.02 3.28 moveto 1.94 3.14 lineto closepath stroke 1.63 3.37 moveto 1.64 3.60 lineto closepath stroke 1.63 3.37 moveto 1.81 3.53 lineto closepath stroke 1.63 3.37 moveto 1.83 3.32 lineto closepath stroke 1.63 3.37 moveto 1.42 3.41 lineto closepath stroke 1.63 3.37 moveto 1.74 3.18 lineto closepath stroke 1.63 3.37 moveto 1.50 3.18 lineto closepath stroke 1.20 3.46 moveto 1.23 3.73 lineto closepath stroke 1.20 3.46 moveto 1.42 3.65 lineto closepath stroke 1.20 3.46 moveto 1.42 3.41 lineto closepath stroke 1.20 3.46 moveto 0.96 3.51 lineto closepath stroke 1.20 3.46 moveto 1.29 3.23 lineto closepath stroke 1.20 3.46 moveto 1.03 3.23 lineto closepath stroke 0.73 3.56 moveto 0.79 3.88 lineto closepath stroke 0.73 3.56 moveto 1.00 3.78 lineto closepath stroke 0.73 3.56 moveto 0.96 3.51 lineto closepath stroke 0.73 3.56 moveto 0.36 3.61 lineto closepath stroke 0.73 3.56 moveto 0.79 3.28 lineto closepath stroke 0.73 3.56 moveto 0.36 3.28 lineto closepath stroke 0.00 3.67 moveto 0.00 4.03 lineto closepath stroke 0.00 3.67 moveto 0.43 3.93 lineto closepath stroke 0.00 3.67 moveto 0.36 3.61 lineto closepath stroke 0.00 3.67 moveto 0.00 3.33 lineto closepath stroke 2.28 3.00 moveto 2.33 3.10 lineto closepath stroke 2.28 3.00 moveto 2.49 3.07 lineto closepath stroke 2.28 3.00 moveto 2.15 3.14 lineto closepath stroke 2.28 3.00 moveto 2.06 3.00 lineto closepath stroke 2.28 3.00 moveto 2.49 2.93 lineto closepath stroke 2.28 3.00 moveto 2.33 2.90 lineto closepath stroke 2.28 3.00 moveto 2.15 2.86 lineto closepath stroke 1.85 3.00 moveto 1.74 3.18 lineto closepath stroke 1.85 3.00 moveto 1.94 3.14 lineto closepath stroke 1.85 3.00 moveto 2.06 3.00 lineto closepath stroke 1.85 3.00 moveto 1.61 3.00 lineto closepath stroke 1.85 3.00 moveto 1.94 2.86 lineto closepath stroke 1.85 3.00 moveto 1.74 2.82 lineto closepath stroke 1.38 3.00 moveto 1.29 3.23 lineto closepath stroke 1.38 3.00 moveto 1.50 3.18 lineto closepath stroke 1.38 3.00 moveto 1.61 3.00 lineto closepath stroke 1.38 3.00 moveto 1.12 3.00 lineto closepath stroke 1.38 3.00 moveto 1.50 2.82 lineto closepath stroke 1.38 3.00 moveto 1.29 2.77 lineto closepath stroke 0.86 3.00 moveto 0.79 3.28 lineto closepath stroke 0.86 3.00 moveto 1.03 3.23 lineto closepath stroke 0.86 3.00 moveto 1.12 3.00 lineto closepath stroke 0.86 3.00 moveto 0.43 3.00 lineto closepath stroke 0.86 3.00 moveto 1.03 2.77 lineto closepath stroke 0.86 3.00 moveto 0.79 2.72 lineto closepath stroke 0.00 3.00 moveto 0.00 3.33 lineto closepath stroke 0.00 3.00 moveto 0.36 3.28 lineto closepath stroke 0.00 3.00 moveto 0.43 3.00 lineto closepath stroke 0.00 3.00 moveto 0.36 2.72 lineto closepath stroke 0.00 3.00 moveto 0.00 2.67 lineto closepath stroke 2.70 2.86 moveto 2.54 2.83 lineto closepath stroke 2.70 2.86 moveto 2.49 2.93 lineto closepath stroke 2.70 2.86 moveto 2.89 2.83 lineto closepath stroke 2.70 2.86 moveto 2.77 2.78 lineto closepath stroke 2.70 2.86 moveto 2.64 2.72 lineto closepath stroke 2.38 2.79 moveto 2.33 2.90 lineto closepath stroke 2.38 2.79 moveto 2.54 2.83 lineto closepath stroke 2.38 2.79 moveto 2.20 2.76 lineto closepath stroke 2.38 2.79 moveto 2.48 2.68 lineto closepath stroke 2.38 2.79 moveto 2.34 2.62 lineto closepath stroke 2.02 2.72 moveto 1.94 2.86 lineto closepath stroke 2.02 2.72 moveto 2.15 2.86 lineto closepath stroke 2.02 2.72 moveto 2.20 2.76 lineto closepath stroke 2.02 2.72 moveto 1.83 2.68 lineto closepath stroke 2.02 2.72 moveto 2.16 2.58 lineto closepath stroke 2.02 2.72 moveto 2.00 2.51 lineto closepath stroke 1.63 2.63 moveto 1.50 2.82 lineto closepath stroke 1.63 2.63 moveto 1.74 2.82 lineto closepath stroke 1.63 2.63 moveto 1.83 2.68 lineto closepath stroke 1.63 2.63 moveto 1.42 2.59 lineto closepath stroke 1.63 2.63 moveto 1.81 2.47 lineto closepath stroke 1.63 2.63 moveto 1.64 2.40 lineto closepath stroke 1.20 2.54 moveto 1.03 2.77 lineto closepath stroke 1.20 2.54 moveto 1.29 2.77 lineto closepath stroke 1.20 2.54 moveto 1.42 2.59 lineto closepath stroke 1.20 2.54 moveto 0.96 2.49 lineto closepath stroke 1.20 2.54 moveto 1.42 2.35 lineto closepath stroke 1.20 2.54 moveto 1.23 2.27 lineto closepath stroke 0.73 2.44 moveto 0.36 2.72 lineto closepath stroke 0.73 2.44 moveto 0.79 2.72 lineto closepath stroke 0.73 2.44 moveto 0.96 2.49 lineto closepath stroke 0.73 2.44 moveto 0.36 2.39 lineto closepath stroke 0.73 2.44 moveto 1.00 2.22 lineto closepath stroke 0.73 2.44 moveto 0.79 2.12 lineto closepath stroke 0.00 2.33 moveto 0.00 2.67 lineto closepath stroke 0.00 2.33 moveto 0.36 2.39 lineto closepath stroke 0.00 2.33 moveto 0.43 2.07 lineto closepath stroke 0.00 2.33 moveto 0.00 1.97 lineto closepath stroke 3.07 2.79 moveto 2.95 2.74 lineto closepath stroke 3.07 2.79 moveto 2.89 2.83 lineto closepath stroke 3.07 2.79 moveto 3.21 2.78 lineto closepath stroke 3.07 2.79 moveto 3.13 2.72 lineto closepath stroke 3.07 2.79 moveto 3.04 2.65 lineto closepath stroke 2.83 2.69 moveto 2.77 2.78 lineto closepath stroke 2.83 2.69 moveto 2.95 2.74 lineto closepath stroke 2.83 2.69 moveto 2.70 2.63 lineto closepath stroke 2.83 2.69 moveto 2.92 2.60 lineto closepath stroke 2.83 2.69 moveto 2.82 2.53 lineto closepath stroke 2.58 2.57 moveto 2.64 2.72 lineto closepath stroke 2.58 2.57 moveto 2.70 2.63 lineto closepath stroke 2.58 2.57 moveto 2.48 2.68 lineto closepath stroke 2.58 2.57 moveto 2.43 2.51 lineto closepath stroke 2.58 2.57 moveto 2.70 2.47 lineto closepath stroke 2.58 2.57 moveto 2.59 2.40 lineto closepath stroke 2.29 2.45 moveto 2.16 2.58 lineto closepath stroke 2.29 2.45 moveto 2.34 2.62 lineto closepath stroke 2.29 2.45 moveto 2.43 2.51 lineto closepath stroke 2.29 2.45 moveto 2.14 2.38 lineto closepath stroke 2.29 2.45 moveto 2.45 2.33 lineto closepath stroke 2.29 2.45 moveto 2.33 2.25 lineto closepath stroke 1.98 2.31 moveto 1.81 2.47 lineto closepath stroke 1.98 2.31 moveto 2.00 2.51 lineto closepath stroke 1.98 2.31 moveto 2.14 2.38 lineto closepath stroke 1.98 2.31 moveto 1.81 2.23 lineto closepath stroke 1.98 2.31 moveto 2.17 2.18 lineto closepath stroke 1.98 2.31 moveto 2.04 2.08 lineto closepath stroke 1.64 2.16 moveto 1.42 2.35 lineto closepath stroke 1.64 2.16 moveto 1.64 2.40 lineto closepath stroke 1.64 2.16 moveto 1.81 2.23 lineto closepath stroke 1.64 2.16 moveto 1.45 2.07 lineto closepath stroke 1.64 2.16 moveto 1.87 2.01 lineto closepath stroke 1.64 2.16 moveto 1.73 1.90 lineto closepath stroke 1.26 1.99 moveto 1.00 2.22 lineto closepath stroke 1.26 1.99 moveto 1.23 2.27 lineto closepath stroke 1.26 1.99 moveto 1.45 2.07 lineto closepath stroke 1.26 1.99 moveto 1.06 1.90 lineto closepath stroke 1.26 1.99 moveto 1.54 1.82 lineto closepath stroke 1.26 1.99 moveto 1.38 1.70 lineto closepath stroke 0.85 1.81 moveto 0.43 2.07 lineto closepath stroke 0.85 1.81 moveto 0.79 2.12 lineto closepath stroke 0.85 1.81 moveto 1.06 1.90 lineto closepath stroke 0.85 1.81 moveto 0.43 1.70 lineto closepath stroke 0.85 1.81 moveto 1.18 1.61 lineto closepath stroke 0.85 1.81 moveto 1.00 1.49 lineto closepath stroke 0.85 1.81 moveto 0.81 1.35 lineto closepath stroke 0.00 1.60 moveto 0.00 1.97 lineto closepath stroke 0.00 1.60 moveto 0.43 1.70 lineto closepath stroke 0.00 1.60 moveto 0.39 1.25 lineto closepath stroke 0.00 1.60 moveto 0.00 1.09 lineto closepath stroke 3.35 2.76 moveto 3.27 2.71 lineto closepath stroke 3.35 2.76 moveto 3.21 2.78 lineto closepath stroke 3.35 2.76 moveto 3.46 2.76 lineto closepath stroke 3.35 2.76 moveto 3.41 2.70 lineto closepath stroke 3.35 2.76 moveto 3.35 2.64 lineto closepath stroke 3.19 2.65 moveto 3.13 2.72 lineto closepath stroke 3.19 2.65 moveto 3.27 2.71 lineto closepath stroke 3.19 2.65 moveto 3.10 2.58 lineto closepath stroke 3.19 2.65 moveto 3.27 2.58 lineto closepath stroke 3.19 2.65 moveto 3.20 2.51 lineto closepath stroke 3.01 2.52 moveto 3.04 2.65 lineto closepath stroke 3.01 2.52 moveto 3.10 2.58 lineto closepath stroke 3.01 2.52 moveto 2.92 2.60 lineto closepath stroke 3.01 2.52 moveto 2.91 2.45 lineto closepath stroke 3.01 2.52 moveto 3.11 2.44 lineto closepath stroke 3.01 2.52 moveto 3.04 2.36 lineto closepath stroke 2.82 2.38 moveto 2.82 2.53 lineto closepath stroke 2.82 2.38 moveto 2.91 2.45 lineto closepath stroke 2.82 2.38 moveto 2.70 2.47 lineto closepath stroke 2.82 2.38 moveto 2.71 2.30 lineto closepath stroke 2.82 2.38 moveto 2.94 2.29 lineto closepath stroke 2.82 2.38 moveto 2.86 2.20 lineto closepath stroke 2.60 2.22 moveto 2.59 2.40 lineto closepath stroke 2.60 2.22 moveto 2.71 2.30 lineto closepath stroke 2.60 2.22 moveto 2.45 2.33 lineto closepath stroke 2.60 2.22 moveto 2.48 2.13 lineto closepath stroke 2.60 2.22 moveto 2.75 2.12 lineto closepath stroke 2.60 2.22 moveto 2.67 2.03 lineto closepath stroke 2.36 2.05 moveto 2.33 2.25 lineto closepath stroke 2.36 2.05 moveto 2.48 2.13 lineto closepath stroke 2.36 2.05 moveto 2.17 2.18 lineto closepath stroke 2.36 2.05 moveto 2.23 1.95 lineto closepath stroke 2.36 2.05 moveto 2.55 1.94 lineto closepath stroke 2.36 2.05 moveto 2.45 1.83 lineto closepath stroke 2.10 1.86 moveto 2.04 2.08 lineto closepath stroke 2.10 1.86 moveto 2.23 1.95 lineto closepath stroke 2.10 1.86 moveto 1.87 2.01 lineto closepath stroke 2.10 1.86 moveto 1.96 1.75 lineto closepath stroke 2.10 1.86 moveto 2.32 1.74 lineto closepath stroke 2.10 1.86 moveto 2.22 1.62 lineto closepath stroke 1.82 1.65 moveto 1.54 1.82 lineto closepath stroke 1.82 1.65 moveto 1.73 1.90 lineto closepath stroke 1.82 1.65 moveto 1.96 1.75 lineto closepath stroke 1.82 1.65 moveto 1.66 1.53 lineto closepath stroke 1.82 1.65 moveto 2.07 1.52 lineto closepath stroke 1.82 1.65 moveto 1.96 1.39 lineto closepath stroke 1.50 1.42 moveto 1.18 1.61 lineto closepath stroke 1.50 1.42 moveto 1.38 1.70 lineto closepath stroke 1.50 1.42 moveto 1.66 1.53 lineto closepath stroke 1.50 1.42 moveto 1.33 1.29 lineto closepath stroke 1.50 1.42 moveto 1.80 1.28 lineto closepath stroke 1.50 1.42 moveto 1.67 1.13 lineto closepath stroke 1.15 1.17 moveto 1.00 1.49 lineto closepath stroke 1.15 1.17 moveto 1.33 1.29 lineto closepath stroke 1.15 1.17 moveto 0.96 1.03 lineto closepath stroke 1.15 1.17 moveto 1.50 1.01 lineto closepath stroke 1.15 1.17 moveto 1.36 0.85 lineto closepath stroke 0.77 0.89 moveto 0.39 1.25 lineto closepath stroke 0.77 0.89 moveto 0.81 1.35 lineto closepath stroke 0.77 0.89 moveto 0.96 1.03 lineto closepath stroke 0.77 0.89 moveto 0.39 0.74 lineto closepath stroke 0.77 0.89 moveto 0.39 0.44 lineto closepath stroke 0.77 0.89 moveto 1.17 0.71 lineto closepath stroke 0.77 0.89 moveto 1.02 0.44 lineto closepath stroke 0.00 0.58 moveto 0.00 1.09 lineto closepath stroke 0.00 0.58 moveto 0.39 0.74 lineto closepath stroke 0.00 0.58 moveto 0.00 0.29 lineto closepath stroke 3.57 2.76 moveto 3.51 2.70 lineto closepath stroke 3.57 2.76 moveto 3.46 2.76 lineto closepath stroke 3.57 2.76 moveto 3.61 2.70 lineto closepath stroke 3.57 2.76 moveto 3.65 2.76 lineto closepath stroke 3.46 2.64 moveto 3.41 2.70 lineto closepath stroke 3.46 2.64 moveto 3.51 2.70 lineto closepath stroke 3.46 2.64 moveto 3.40 2.57 lineto closepath stroke 3.46 2.64 moveto 3.56 2.64 lineto closepath stroke 3.46 2.64 moveto 3.52 2.58 lineto closepath stroke 3.34 2.51 moveto 3.27 2.58 lineto closepath stroke 3.34 2.51 moveto 3.35 2.64 lineto closepath stroke 3.34 2.51 moveto 3.40 2.57 lineto closepath stroke 3.34 2.51 moveto 3.28 2.44 lineto closepath stroke 3.34 2.51 moveto 3.46 2.51 lineto closepath stroke 3.34 2.51 moveto 3.42 2.44 lineto closepath stroke 3.21 2.36 moveto 3.20 2.51 lineto closepath stroke 3.21 2.36 moveto 3.28 2.44 lineto closepath stroke 3.21 2.36 moveto 3.11 2.44 lineto closepath stroke 3.21 2.36 moveto 3.14 2.28 lineto closepath stroke 3.21 2.36 moveto 3.36 2.37 lineto closepath stroke 3.21 2.36 moveto 3.31 2.29 lineto closepath stroke 3.21 2.36 moveto 3.26 2.20 lineto closepath stroke 3.07 2.20 moveto 3.04 2.36 lineto closepath stroke 3.07 2.20 moveto 3.14 2.28 lineto closepath stroke 3.07 2.20 moveto 2.94 2.29 lineto closepath stroke 3.07 2.20 moveto 2.99 2.12 lineto closepath stroke 3.07 2.20 moveto 3.19 2.12 lineto closepath stroke 3.07 2.20 moveto 3.13 2.03 lineto closepath stroke 2.91 2.03 moveto 2.86 2.20 lineto closepath stroke 2.91 2.03 moveto 2.99 2.12 lineto closepath stroke 2.91 2.03 moveto 2.75 2.12 lineto closepath stroke 2.91 2.03 moveto 2.82 1.93 lineto closepath stroke 2.91 2.03 moveto 3.06 1.94 lineto closepath stroke 2.91 2.03 moveto 3.00 1.84 lineto closepath stroke 2.73 1.83 moveto 2.67 2.03 lineto closepath stroke 2.73 1.83 moveto 2.82 1.93 lineto closepath stroke 2.73 1.83 moveto 2.55 1.94 lineto closepath stroke 2.73 1.83 moveto 2.64 1.73 lineto closepath stroke 2.73 1.83 moveto 2.91 1.74 lineto closepath stroke 2.73 1.83 moveto 2.84 1.63 lineto closepath stroke 2.54 1.62 moveto 2.45 1.83 lineto closepath stroke 2.54 1.62 moveto 2.64 1.73 lineto closepath stroke 2.54 1.62 moveto 2.32 1.74 lineto closepath stroke 2.54 1.62 moveto 2.44 1.51 lineto closepath stroke 2.54 1.62 moveto 2.75 1.52 lineto closepath stroke 2.54 1.62 moveto 2.67 1.39 lineto closepath stroke 2.33 1.39 moveto 2.22 1.62 lineto closepath stroke 2.33 1.39 moveto 2.44 1.51 lineto closepath stroke 2.33 1.39 moveto 2.07 1.52 lineto closepath stroke 2.33 1.39 moveto 2.22 1.26 lineto closepath stroke 2.33 1.39 moveto 2.57 1.28 lineto closepath stroke 2.33 1.39 moveto 2.49 1.14 lineto closepath stroke 2.10 1.13 moveto 1.96 1.39 lineto closepath stroke 2.10 1.13 moveto 2.22 1.26 lineto closepath stroke 2.10 1.13 moveto 1.80 1.28 lineto closepath stroke 2.10 1.13 moveto 1.97 0.99 lineto closepath stroke 2.10 1.13 moveto 2.37 1.01 lineto closepath stroke 2.10 1.13 moveto 2.28 0.86 lineto closepath stroke 1.85 0.85 moveto 1.67 1.13 lineto closepath stroke 1.85 0.85 moveto 1.97 0.99 lineto closepath stroke 1.85 0.85 moveto 1.50 1.01 lineto closepath stroke 1.85 0.85 moveto 1.71 0.69 lineto closepath stroke 1.85 0.85 moveto 2.16 0.71 lineto closepath stroke 1.57 0.54 moveto 1.36 0.85 lineto closepath stroke 1.57 0.54 moveto 1.71 0.69 lineto closepath stroke 1.57 0.54 moveto 1.17 0.71 lineto closepath stroke 1.57 0.54 moveto 1.41 0.27 lineto closepath stroke 1.57 0.54 moveto 2.02 0.56 lineto closepath stroke 1.57 0.54 moveto 1.92 0.27 lineto closepath stroke 1.26 0.00 moveto 1.02 0.44 lineto closepath stroke 1.26 0.00 moveto 1.41 0.27 lineto closepath stroke 1.26 0.00 moveto 0.63 0.00 lineto closepath stroke 1.26 0.00 moveto 1.77 0.00 lineto closepath stroke 3.73 2.76 moveto 3.69 2.71 lineto closepath stroke 3.73 2.76 moveto 3.65 2.76 lineto closepath stroke 3.73 2.76 moveto 3.77 2.71 lineto closepath stroke 3.73 2.76 moveto 3.79 2.77 lineto closepath stroke 3.66 2.65 moveto 3.56 2.64 lineto closepath stroke 3.66 2.65 moveto 3.61 2.70 lineto closepath stroke 3.66 2.65 moveto 3.69 2.71 lineto closepath stroke 3.66 2.65 moveto 3.62 2.58 lineto closepath stroke 3.66 2.65 moveto 3.74 2.65 lineto closepath stroke 3.66 2.65 moveto 3.72 2.59 lineto closepath stroke 3.58 2.52 moveto 3.46 2.51 lineto closepath stroke 3.58 2.52 moveto 3.52 2.58 lineto closepath stroke 3.58 2.52 moveto 3.62 2.58 lineto closepath stroke 3.58 2.52 moveto 3.54 2.45 lineto closepath stroke 3.58 2.52 moveto 3.68 2.52 lineto closepath stroke 3.58 2.52 moveto 3.65 2.45 lineto closepath stroke 3.50 2.37 moveto 3.36 2.37 lineto closepath stroke 3.50 2.37 moveto 3.42 2.44 lineto closepath stroke 3.50 2.37 moveto 3.54 2.45 lineto closepath stroke 3.50 2.37 moveto 3.46 2.30 lineto closepath stroke 3.50 2.37 moveto 3.61 2.38 lineto closepath stroke 3.50 2.37 moveto 3.59 2.30 lineto closepath stroke 3.41 2.22 moveto 3.31 2.29 lineto closepath stroke 3.41 2.22 moveto 3.46 2.30 lineto closepath stroke 3.41 2.22 moveto 3.36 2.13 lineto closepath stroke 3.41 2.22 moveto 3.54 2.22 lineto closepath stroke 3.41 2.22 moveto 3.52 2.14 lineto closepath stroke 3.31 2.04 moveto 3.26 2.20 lineto closepath stroke 3.31 2.04 moveto 3.36 2.13 lineto closepath stroke 3.31 2.04 moveto 3.19 2.12 lineto closepath stroke 3.31 2.04 moveto 3.26 1.95 lineto closepath stroke 3.31 2.04 moveto 3.47 2.05 lineto closepath stroke 3.31 2.04 moveto 3.44 1.96 lineto closepath stroke 3.20 1.85 moveto 3.13 2.03 lineto closepath stroke 3.20 1.85 moveto 3.26 1.95 lineto closepath stroke 3.20 1.85 moveto 3.06 1.94 lineto closepath stroke 3.20 1.85 moveto 3.14 1.75 lineto closepath stroke 3.20 1.85 moveto 3.38 1.86 lineto closepath stroke 3.20 1.85 moveto 3.35 1.76 lineto closepath stroke 3.08 1.65 moveto 3.00 1.84 lineto closepath stroke 3.08 1.65 moveto 3.14 1.75 lineto closepath stroke 3.08 1.65 moveto 2.91 1.74 lineto closepath stroke 3.08 1.65 moveto 3.02 1.53 lineto closepath stroke 3.08 1.65 moveto 3.29 1.66 lineto closepath stroke 3.08 1.65 moveto 3.25 1.54 lineto closepath stroke 2.95 1.42 moveto 2.84 1.63 lineto closepath stroke 2.95 1.42 moveto 3.02 1.53 lineto closepath stroke 2.95 1.42 moveto 2.75 1.52 lineto closepath stroke 2.95 1.42 moveto 2.88 1.29 lineto closepath stroke 2.95 1.42 moveto 3.18 1.43 lineto closepath stroke 2.95 1.42 moveto 3.14 1.31 lineto closepath stroke 2.80 1.16 moveto 2.67 1.39 lineto closepath stroke 2.80 1.16 moveto 2.88 1.29 lineto closepath stroke 2.80 1.16 moveto 2.57 1.28 lineto closepath stroke 2.80 1.16 moveto 2.72 1.02 lineto closepath stroke 2.80 1.16 moveto 3.07 1.18 lineto closepath stroke 2.80 1.16 moveto 3.03 1.04 lineto closepath stroke 2.64 0.88 moveto 2.49 1.14 lineto closepath stroke 2.64 0.88 moveto 2.72 1.02 lineto closepath stroke 2.64 0.88 moveto 2.37 1.01 lineto closepath stroke 2.64 0.88 moveto 2.55 0.73 lineto closepath stroke 2.64 0.88 moveto 2.95 0.90 lineto closepath stroke 2.64 0.88 moveto 2.90 0.75 lineto closepath stroke 2.47 0.58 moveto 2.02 0.56 lineto closepath stroke 2.47 0.58 moveto 2.16 0.71 lineto closepath stroke 2.47 0.58 moveto 2.28 0.86 lineto closepath stroke 2.47 0.58 moveto 2.55 0.73 lineto closepath stroke 2.47 0.58 moveto 2.37 0.29 lineto closepath stroke 2.47 0.58 moveto 2.81 0.60 lineto closepath stroke 2.47 0.58 moveto 2.76 0.29 lineto closepath stroke 2.27 0.00 moveto 1.77 0.00 lineto closepath stroke 2.27 0.00 moveto 1.92 0.27 lineto closepath stroke 2.27 0.00 moveto 2.37 0.29 lineto closepath stroke 2.27 0.00 moveto 2.66 0.00 lineto closepath stroke 3.85 2.77 moveto 3.83 2.71 lineto closepath stroke 3.85 2.77 moveto 3.79 2.77 lineto closepath stroke 3.85 2.77 moveto 3.89 2.71 lineto closepath stroke 3.85 2.77 moveto 3.90 2.77 lineto closepath stroke 3.81 2.65 moveto 3.74 2.65 lineto closepath stroke 3.81 2.65 moveto 3.77 2.71 lineto closepath stroke 3.81 2.65 moveto 3.83 2.71 lineto closepath stroke 3.81 2.65 moveto 3.79 2.59 lineto closepath stroke 3.81 2.65 moveto 3.88 2.65 lineto closepath stroke 3.81 2.65 moveto 3.87 2.59 lineto closepath stroke 3.77 2.53 moveto 3.68 2.52 lineto closepath stroke 3.77 2.53 moveto 3.72 2.59 lineto closepath stroke 3.77 2.53 moveto 3.79 2.59 lineto closepath stroke 3.77 2.53 moveto 3.75 2.46 lineto closepath stroke 3.77 2.53 moveto 3.85 2.53 lineto closepath stroke 3.77 2.53 moveto 3.84 2.46 lineto closepath stroke 3.72 2.39 moveto 3.61 2.38 lineto closepath stroke 3.72 2.39 moveto 3.65 2.45 lineto closepath stroke 3.72 2.39 moveto 3.75 2.46 lineto closepath stroke 3.72 2.39 moveto 3.70 2.31 lineto closepath stroke 3.72 2.39 moveto 3.82 2.39 lineto closepath stroke 3.72 2.39 moveto 3.81 2.31 lineto closepath stroke 3.67 2.23 moveto 3.54 2.22 lineto closepath stroke 3.67 2.23 moveto 3.59 2.30 lineto closepath stroke 3.67 2.23 moveto 3.70 2.31 lineto closepath stroke 3.67 2.23 moveto 3.65 2.15 lineto closepath stroke 3.67 2.23 moveto 3.79 2.23 lineto closepath stroke 3.67 2.23 moveto 3.78 2.15 lineto closepath stroke 3.62 2.06 moveto 3.52 2.14 lineto closepath stroke 3.62 2.06 moveto 3.65 2.15 lineto closepath stroke 3.62 2.06 moveto 3.47 2.05 lineto closepath stroke 3.62 2.06 moveto 3.59 1.97 lineto closepath stroke 3.62 2.06 moveto 3.75 2.06 lineto closepath stroke 3.62 2.06 moveto 3.74 1.97 lineto closepath stroke 3.56 1.87 moveto 3.44 1.96 lineto closepath stroke 3.56 1.87 moveto 3.59 1.97 lineto closepath stroke 3.56 1.87 moveto 3.38 1.86 lineto closepath stroke 3.56 1.87 moveto 3.53 1.77 lineto closepath stroke 3.56 1.87 moveto 3.71 1.88 lineto closepath stroke 3.56 1.87 moveto 3.70 1.78 lineto closepath stroke 3.49 1.67 moveto 3.35 1.76 lineto closepath stroke 3.49 1.67 moveto 3.53 1.77 lineto closepath stroke 3.49 1.67 moveto 3.29 1.66 lineto closepath stroke 3.49 1.67 moveto 3.46 1.56 lineto closepath stroke 3.49 1.67 moveto 3.66 1.67 lineto closepath stroke 3.49 1.67 moveto 3.65 1.56 lineto closepath stroke 3.42 1.44 moveto 3.25 1.54 lineto closepath stroke 3.42 1.44 moveto 3.46 1.56 lineto closepath stroke 3.42 1.44 moveto 3.18 1.43 lineto closepath stroke 3.42 1.44 moveto 3.38 1.32 lineto closepath stroke 3.42 1.44 moveto 3.62 1.45 lineto closepath stroke 3.42 1.44 moveto 3.60 1.33 lineto closepath stroke 3.34 1.20 moveto 3.14 1.31 lineto closepath stroke 3.34 1.20 moveto 3.38 1.32 lineto closepath stroke 3.34 1.20 moveto 3.07 1.18 lineto closepath stroke 3.34 1.20 moveto 3.29 1.06 lineto closepath stroke 3.34 1.20 moveto 3.56 1.20 lineto closepath stroke 3.34 1.20 moveto 3.55 1.07 lineto closepath stroke 3.25 0.92 moveto 3.03 1.04 lineto closepath stroke 3.25 0.92 moveto 3.29 1.06 lineto closepath stroke 3.25 0.92 moveto 2.95 0.90 lineto closepath stroke 3.25 0.92 moveto 3.20 0.77 lineto closepath stroke 3.25 0.92 moveto 3.50 0.93 lineto closepath stroke 3.25 0.92 moveto 3.49 0.78 lineto closepath stroke 3.15 0.62 moveto 2.90 0.75 lineto closepath stroke 3.15 0.62 moveto 3.20 0.77 lineto closepath stroke 3.15 0.62 moveto 2.81 0.60 lineto closepath stroke 3.15 0.62 moveto 3.10 0.31 lineto closepath stroke 3.15 0.62 moveto 3.44 0.63 lineto closepath stroke 3.15 0.62 moveto 3.42 0.31 lineto closepath stroke 3.04 0.00 moveto 2.76 0.29 lineto closepath stroke 3.04 0.00 moveto 3.10 0.31 lineto closepath stroke 3.04 0.00 moveto 2.66 0.00 lineto closepath stroke 3.04 0.00 moveto 3.37 0.00 lineto closepath stroke 3.95 2.77 moveto 3.95 2.71 lineto closepath stroke 3.95 2.77 moveto 3.90 2.77 lineto closepath stroke 3.95 2.77 moveto 4.01 2.71 lineto closepath stroke 3.95 2.77 moveto 4.00 2.77 lineto closepath stroke 3.94 2.65 moveto 3.88 2.65 lineto closepath stroke 3.94 2.65 moveto 3.89 2.71 lineto closepath stroke 3.94 2.65 moveto 3.95 2.71 lineto closepath stroke 3.94 2.65 moveto 3.93 2.59 lineto closepath stroke 3.94 2.65 moveto 4.00 2.66 lineto closepath stroke 3.94 2.65 moveto 4.01 2.59 lineto closepath stroke 3.93 2.53 moveto 3.85 2.53 lineto closepath stroke 3.93 2.53 moveto 3.87 2.59 lineto closepath stroke 3.93 2.53 moveto 3.93 2.59 lineto closepath stroke 3.93 2.53 moveto 3.92 2.46 lineto closepath stroke 3.93 2.53 moveto 4.00 2.53 lineto closepath stroke 3.93 2.53 moveto 4.01 2.46 lineto closepath stroke 3.91 2.39 moveto 3.82 2.39 lineto closepath stroke 3.91 2.39 moveto 3.84 2.46 lineto closepath stroke 3.91 2.39 moveto 3.92 2.46 lineto closepath stroke 3.91 2.39 moveto 3.90 2.31 lineto closepath stroke 3.91 2.39 moveto 4.00 2.39 lineto closepath stroke 3.91 2.39 moveto 4.01 2.31 lineto closepath stroke 3.90 2.24 moveto 3.79 2.23 lineto closepath stroke 3.90 2.24 moveto 3.81 2.31 lineto closepath stroke 3.90 2.24 moveto 3.90 2.31 lineto closepath stroke 3.90 2.24 moveto 3.89 2.15 lineto closepath stroke 3.90 2.24 moveto 4.00 2.24 lineto closepath stroke 3.90 2.24 moveto 4.01 2.15 lineto closepath stroke 3.88 2.07 moveto 3.75 2.06 lineto closepath stroke 3.88 2.07 moveto 3.78 2.15 lineto closepath stroke 3.88 2.07 moveto 3.89 2.15 lineto closepath stroke 3.88 2.07 moveto 3.87 1.98 lineto closepath stroke 3.88 2.07 moveto 4.00 2.07 lineto closepath stroke 3.88 2.07 moveto 4.01 1.98 lineto closepath stroke 3.86 1.88 moveto 3.71 1.88 lineto closepath stroke 3.86 1.88 moveto 3.74 1.97 lineto closepath stroke 3.86 1.88 moveto 3.87 1.98 lineto closepath stroke 3.86 1.88 moveto 3.85 1.78 lineto closepath stroke 3.86 1.88 moveto 4.00 1.88 lineto closepath stroke 3.86 1.88 moveto 4.01 1.78 lineto closepath stroke 3.84 1.68 moveto 3.70 1.78 lineto closepath stroke 3.84 1.68 moveto 3.85 1.78 lineto closepath stroke 3.84 1.68 moveto 3.66 1.67 lineto closepath stroke 3.84 1.68 moveto 3.83 1.57 lineto closepath stroke 3.84 1.68 moveto 4.00 1.68 lineto closepath stroke 3.84 1.68 moveto 4.01 1.57 lineto closepath stroke 3.81 1.45 moveto 3.65 1.56 lineto closepath stroke 3.81 1.45 moveto 3.83 1.57 lineto closepath stroke 3.81 1.45 moveto 3.62 1.45 lineto closepath stroke 3.81 1.45 moveto 3.80 1.33 lineto closepath stroke 3.81 1.45 moveto 4.00 1.46 lineto closepath stroke 3.81 1.45 moveto 4.01 1.33 lineto closepath stroke 3.79 1.21 moveto 3.60 1.33 lineto closepath stroke 3.79 1.21 moveto 3.80 1.33 lineto closepath stroke 3.79 1.21 moveto 3.56 1.20 lineto closepath stroke 3.79 1.21 moveto 3.77 1.07 lineto closepath stroke 3.79 1.21 moveto 4.00 1.21 lineto closepath stroke 3.79 1.21 moveto 4.01 1.07 lineto closepath stroke 3.76 0.94 moveto 3.55 1.07 lineto closepath stroke 3.76 0.94 moveto 3.77 1.07 lineto closepath stroke 3.76 0.94 moveto 3.50 0.93 lineto closepath stroke 3.76 0.94 moveto 3.74 0.79 lineto closepath stroke 3.76 0.94 moveto 4.00 0.94 lineto closepath stroke 3.76 0.94 moveto 4.02 0.79 lineto closepath stroke 3.73 0.64 moveto 3.49 0.78 lineto closepath stroke 3.73 0.64 moveto 3.74 0.79 lineto closepath stroke 3.73 0.64 moveto 3.44 0.63 lineto closepath stroke 3.73 0.64 moveto 3.71 0.32 lineto closepath stroke 3.73 0.64 moveto 4.00 0.64 lineto closepath stroke 3.73 0.64 moveto 4.02 0.32 lineto closepath stroke 3.69 0.00 moveto 3.42 0.31 lineto closepath stroke 3.69 0.00 moveto 3.71 0.32 lineto closepath stroke 3.69 0.00 moveto 3.37 0.00 lineto closepath stroke 3.69 0.00 moveto 4.00 0.00 lineto closepath stroke 4.05 2.77 moveto 4.05 2.71 lineto closepath stroke 4.05 2.77 moveto 4.00 2.77 lineto closepath stroke 4.05 2.77 moveto 4.10 2.77 lineto closepath stroke 4.06 2.66 moveto 4.00 2.66 lineto closepath stroke 4.06 2.66 moveto 4.01 2.71 lineto closepath stroke 4.06 2.66 moveto 4.05 2.71 lineto closepath stroke 4.06 2.66 moveto 4.07 2.59 lineto closepath stroke 4.06 2.66 moveto 4.10 2.71 lineto closepath stroke 4.06 2.66 moveto 4.12 2.66 lineto closepath stroke 4.07 2.53 moveto 4.00 2.53 lineto closepath stroke 4.07 2.53 moveto 4.01 2.59 lineto closepath stroke 4.07 2.53 moveto 4.07 2.59 lineto closepath stroke 4.07 2.53 moveto 4.08 2.46 lineto closepath stroke 4.07 2.53 moveto 4.13 2.59 lineto closepath stroke 4.07 2.53 moveto 4.15 2.53 lineto closepath stroke 4.09 2.39 moveto 4.00 2.39 lineto closepath stroke 4.09 2.39 moveto 4.01 2.46 lineto closepath stroke 4.09 2.39 moveto 4.08 2.46 lineto closepath stroke 4.09 2.39 moveto 4.10 2.31 lineto closepath stroke 4.09 2.39 moveto 4.16 2.46 lineto closepath stroke 4.09 2.39 moveto 4.18 2.39 lineto closepath stroke 4.10 2.24 moveto 4.00 2.24 lineto closepath stroke 4.10 2.24 moveto 4.01 2.31 lineto closepath stroke 4.10 2.24 moveto 4.10 2.31 lineto closepath stroke 4.10 2.24 moveto 4.11 2.15 lineto closepath stroke 4.10 2.24 moveto 4.19 2.32 lineto closepath stroke 4.10 2.24 moveto 4.21 2.24 lineto closepath stroke 4.12 2.07 moveto 4.00 2.07 lineto closepath stroke 4.12 2.07 moveto 4.01 2.15 lineto closepath stroke 4.12 2.07 moveto 4.11 2.15 lineto closepath stroke 4.12 2.07 moveto 4.13 1.98 lineto closepath stroke 4.12 2.07 moveto 4.22 2.16 lineto closepath stroke 4.12 2.07 moveto 4.25 2.07 lineto closepath stroke 4.14 1.88 moveto 4.00 1.88 lineto closepath stroke 4.14 1.88 moveto 4.01 1.98 lineto closepath stroke 4.14 1.88 moveto 4.13 1.98 lineto closepath stroke 4.14 1.88 moveto 4.15 1.78 lineto closepath stroke 4.14 1.88 moveto 4.26 1.98 lineto closepath stroke 4.14 1.88 moveto 4.29 1.89 lineto closepath stroke 4.16 1.68 moveto 4.00 1.68 lineto closepath stroke 4.16 1.68 moveto 4.01 1.78 lineto closepath stroke 4.16 1.68 moveto 4.15 1.78 lineto closepath stroke 4.16 1.68 moveto 4.17 1.57 lineto closepath stroke 4.16 1.68 moveto 4.30 1.79 lineto closepath stroke 4.16 1.68 moveto 4.33 1.69 lineto closepath stroke 4.19 1.46 moveto 4.01 1.57 lineto closepath stroke 4.19 1.46 moveto 4.17 1.57 lineto closepath stroke 4.19 1.46 moveto 4.00 1.46 lineto closepath stroke 4.19 1.46 moveto 4.20 1.33 lineto closepath stroke 4.19 1.46 moveto 4.34 1.57 lineto closepath stroke 4.19 1.46 moveto 4.38 1.46 lineto closepath stroke 4.21 1.21 moveto 4.01 1.33 lineto closepath stroke 4.21 1.21 moveto 4.20 1.33 lineto closepath stroke 4.21 1.21 moveto 4.00 1.21 lineto closepath stroke 4.21 1.21 moveto 4.23 1.07 lineto closepath stroke 4.21 1.21 moveto 4.39 1.34 lineto closepath stroke 4.21 1.21 moveto 4.43 1.22 lineto closepath stroke 4.24 0.94 moveto 4.01 1.07 lineto closepath stroke 4.24 0.94 moveto 4.23 1.07 lineto closepath stroke 4.24 0.94 moveto 4.00 0.94 lineto closepath stroke 4.24 0.94 moveto 4.26 0.79 lineto closepath stroke 4.24 0.94 moveto 4.45 1.08 lineto closepath stroke 4.24 0.94 moveto 4.49 0.95 lineto closepath stroke 4.27 0.64 moveto 4.02 0.79 lineto closepath stroke 4.27 0.64 moveto 4.26 0.79 lineto closepath stroke 4.27 0.64 moveto 4.00 0.64 lineto closepath stroke 4.27 0.64 moveto 4.29 0.32 lineto closepath stroke 4.27 0.64 moveto 4.50 0.80 lineto closepath stroke 4.27 0.64 moveto 4.55 0.65 lineto closepath stroke 4.31 0.00 moveto 4.02 0.32 lineto closepath stroke 4.31 0.00 moveto 4.29 0.32 lineto closepath stroke 4.31 0.00 moveto 4.00 0.00 lineto closepath stroke 4.31 0.00 moveto 4.57 0.33 lineto closepath stroke 4.31 0.00 moveto 4.62 0.00 lineto closepath stroke 4.15 2.77 moveto 4.10 2.71 lineto closepath stroke 4.15 2.77 moveto 4.10 2.77 lineto closepath stroke 4.15 2.77 moveto 4.17 2.72 lineto closepath stroke 4.15 2.77 moveto 4.20 2.78 lineto closepath stroke 4.18 2.66 moveto 4.13 2.59 lineto closepath stroke 4.18 2.66 moveto 4.12 2.66 lineto closepath stroke 4.18 2.66 moveto 4.17 2.72 lineto closepath stroke 4.18 2.66 moveto 4.21 2.60 lineto closepath stroke 4.18 2.66 moveto 4.22 2.72 lineto closepath stroke 4.18 2.66 moveto 4.25 2.67 lineto closepath stroke 4.23 2.53 moveto 4.16 2.46 lineto closepath stroke 4.23 2.53 moveto 4.15 2.53 lineto closepath stroke 4.23 2.53 moveto 4.21 2.60 lineto closepath stroke 4.23 2.53 moveto 4.25 2.47 lineto closepath stroke 4.23 2.53 moveto 4.27 2.60 lineto closepath stroke 4.23 2.53 moveto 4.30 2.54 lineto closepath stroke 4.27 2.40 moveto 4.19 2.32 lineto closepath stroke 4.27 2.40 moveto 4.18 2.39 lineto closepath stroke 4.27 2.40 moveto 4.25 2.47 lineto closepath stroke 4.27 2.40 moveto 4.29 2.32 lineto closepath stroke 4.27 2.40 moveto 4.33 2.47 lineto closepath stroke 4.27 2.40 moveto 4.36 2.41 lineto closepath stroke 4.32 2.25 moveto 4.22 2.16 lineto closepath stroke 4.32 2.25 moveto 4.21 2.24 lineto closepath stroke 4.32 2.25 moveto 4.29 2.32 lineto closepath stroke 4.32 2.25 moveto 4.35 2.16 lineto closepath stroke 4.32 2.25 moveto 4.39 2.33 lineto closepath stroke 4.32 2.25 moveto 4.43 2.26 lineto closepath stroke 4.37 2.08 moveto 4.26 1.98 lineto closepath stroke 4.37 2.08 moveto 4.25 2.07 lineto closepath stroke 4.37 2.08 moveto 4.35 2.16 lineto closepath stroke 4.37 2.08 moveto 4.40 1.99 lineto closepath stroke 4.37 2.08 moveto 4.46 2.18 lineto closepath stroke 4.37 2.08 moveto 4.50 2.10 lineto closepath stroke 4.43 1.90 moveto 4.30 1.79 lineto closepath stroke 4.43 1.90 moveto 4.29 1.89 lineto closepath stroke 4.43 1.90 moveto 4.40 1.99 lineto closepath stroke 4.43 1.90 moveto 4.47 1.79 lineto closepath stroke 4.43 1.90 moveto 4.53 2.01 lineto closepath stroke 4.43 1.90 moveto 4.58 1.92 lineto closepath stroke 4.50 1.69 moveto 4.34 1.57 lineto closepath stroke 4.50 1.69 moveto 4.33 1.69 lineto closepath stroke 4.50 1.69 moveto 4.47 1.79 lineto closepath stroke 4.50 1.69 moveto 4.53 1.58 lineto closepath stroke 4.50 1.69 moveto 4.62 1.82 lineto closepath stroke 4.50 1.69 moveto 4.67 1.72 lineto closepath stroke 4.57 1.47 moveto 4.38 1.46 lineto closepath stroke 4.57 1.47 moveto 4.53 1.58 lineto closepath stroke 4.57 1.47 moveto 4.39 1.34 lineto closepath stroke 4.57 1.47 moveto 4.61 1.35 lineto closepath stroke 4.57 1.47 moveto 4.71 1.61 lineto closepath stroke 4.57 1.47 moveto 4.77 1.50 lineto closepath stroke 4.65 1.23 moveto 4.43 1.22 lineto closepath stroke 4.65 1.23 moveto 4.61 1.35 lineto closepath stroke 4.65 1.23 moveto 4.45 1.08 lineto closepath stroke 4.65 1.23 moveto 4.69 1.09 lineto closepath stroke 4.65 1.23 moveto 4.81 1.38 lineto closepath stroke 4.65 1.23 moveto 4.88 1.27 lineto closepath stroke 4.74 0.96 moveto 4.49 0.95 lineto closepath stroke 4.74 0.96 moveto 4.69 1.09 lineto closepath stroke 4.74 0.96 moveto 4.50 0.80 lineto closepath stroke 4.74 0.96 moveto 4.78 0.81 lineto closepath stroke 4.74 0.96 moveto 4.92 1.13 lineto closepath stroke 4.74 0.96 moveto 5.00 1.00 lineto closepath stroke 4.83 0.67 moveto 4.55 0.65 lineto closepath stroke 4.83 0.67 moveto 4.78 0.81 lineto closepath stroke 4.83 0.67 moveto 4.57 0.33 lineto closepath stroke 4.83 0.67 moveto 4.88 0.33 lineto closepath stroke 4.83 0.67 moveto 5.04 0.86 lineto closepath stroke 4.83 0.67 moveto 5.12 0.71 lineto closepath stroke 4.83 0.67 moveto 5.21 0.56 lineto closepath stroke 4.94 0.00 moveto 4.62 0.00 lineto closepath stroke 4.94 0.00 moveto 4.88 0.33 lineto closepath stroke 4.94 0.00 moveto 5.27 0.23 lineto closepath stroke 4.94 0.00 moveto 5.27 0.00 lineto closepath stroke 4.25 2.78 moveto 4.22 2.72 lineto closepath stroke 4.25 2.78 moveto 4.20 2.78 lineto closepath stroke 4.25 2.78 moveto 4.28 2.73 lineto closepath stroke 4.25 2.78 moveto 4.30 2.79 lineto closepath stroke 4.31 2.67 moveto 4.27 2.60 lineto closepath stroke 4.31 2.67 moveto 4.25 2.67 lineto closepath stroke 4.31 2.67 moveto 4.28 2.73 lineto closepath stroke 4.31 2.67 moveto 4.35 2.61 lineto closepath stroke 4.31 2.67 moveto 4.34 2.74 lineto closepath stroke 4.31 2.67 moveto 4.38 2.69 lineto closepath stroke 4.38 2.55 moveto 4.33 2.47 lineto closepath stroke 4.38 2.55 moveto 4.30 2.54 lineto closepath stroke 4.38 2.55 moveto 4.35 2.61 lineto closepath stroke 4.38 2.55 moveto 4.42 2.49 lineto closepath stroke 4.38 2.55 moveto 4.41 2.63 lineto closepath stroke 4.38 2.55 moveto 4.46 2.57 lineto closepath stroke 4.46 2.42 moveto 4.39 2.33 lineto closepath stroke 4.46 2.42 moveto 4.36 2.41 lineto closepath stroke 4.46 2.42 moveto 4.42 2.49 lineto closepath stroke 4.46 2.42 moveto 4.50 2.35 lineto closepath stroke 4.46 2.42 moveto 4.50 2.51 lineto closepath stroke 4.46 2.42 moveto 4.55 2.45 lineto closepath stroke 4.54 2.28 moveto 4.46 2.18 lineto closepath stroke 4.54 2.28 moveto 4.43 2.26 lineto closepath stroke 4.54 2.28 moveto 4.50 2.35 lineto closepath stroke 4.54 2.28 moveto 4.59 2.20 lineto closepath stroke 4.54 2.28 moveto 4.60 2.38 lineto closepath stroke 4.54 2.28 moveto 4.66 2.31 lineto closepath stroke 4.64 2.12 moveto 4.53 2.01 lineto closepath stroke 4.64 2.12 moveto 4.50 2.10 lineto closepath stroke 4.64 2.12 moveto 4.59 2.20 lineto closepath stroke 4.64 2.12 moveto 4.69 2.03 lineto closepath stroke 4.64 2.12 moveto 4.70 2.23 lineto closepath stroke 4.64 2.12 moveto 4.77 2.16 lineto closepath stroke 4.74 1.94 moveto 4.62 1.82 lineto closepath stroke 4.74 1.94 moveto 4.58 1.92 lineto closepath stroke 4.74 1.94 moveto 4.69 2.03 lineto closepath stroke 4.74 1.94 moveto 4.79 1.85 lineto closepath stroke 4.74 1.94 moveto 4.82 2.07 lineto closepath stroke 4.74 1.94 moveto 4.89 1.99 lineto closepath stroke 4.85 1.75 moveto 4.71 1.61 lineto closepath stroke 4.85 1.75 moveto 4.67 1.72 lineto closepath stroke 4.85 1.75 moveto 4.79 1.85 lineto closepath stroke 4.85 1.75 moveto 4.91 1.64 lineto closepath stroke 4.85 1.75 moveto 4.95 1.89 lineto closepath stroke 4.85 1.75 moveto 5.02 1.81 lineto closepath stroke 4.97 1.54 moveto 4.81 1.38 lineto closepath stroke 4.97 1.54 moveto 4.77 1.50 lineto closepath stroke 4.97 1.54 moveto 4.91 1.64 lineto closepath stroke 4.97 1.54 moveto 5.04 1.42 lineto closepath stroke 4.97 1.54 moveto 5.09 1.70 lineto closepath stroke 4.97 1.54 moveto 5.17 1.60 lineto closepath stroke 5.11 1.30 moveto 4.92 1.13 lineto closepath stroke 5.11 1.30 moveto 4.88 1.27 lineto closepath stroke 5.11 1.30 moveto 5.04 1.42 lineto closepath stroke 5.11 1.30 moveto 5.18 1.17 lineto closepath stroke 5.11 1.30 moveto 5.24 1.49 lineto closepath stroke 5.11 1.30 moveto 5.33 1.38 lineto closepath stroke 5.25 1.05 moveto 5.00 1.00 lineto closepath stroke 5.25 1.05 moveto 5.18 1.17 lineto closepath stroke 5.25 1.05 moveto 5.04 0.86 lineto closepath stroke 5.25 1.05 moveto 5.34 0.90 lineto closepath stroke 5.25 1.05 moveto 5.41 1.25 lineto closepath stroke 5.42 0.76 moveto 5.12 0.71 lineto closepath stroke 5.42 0.76 moveto 5.34 0.90 lineto closepath stroke 5.42 0.76 moveto 5.51 0.61 lineto closepath stroke 5.42 0.76 moveto 5.49 1.11 lineto closepath stroke 5.42 0.76 moveto 5.71 1.00 lineto closepath stroke 5.60 0.45 moveto 5.21 0.56 lineto closepath stroke 5.60 0.45 moveto 5.51 0.61 lineto closepath stroke 5.60 0.45 moveto 5.27 0.23 lineto closepath stroke 5.60 0.45 moveto 5.80 0.23 lineto closepath stroke 5.60 0.45 moveto 5.60 0.23 lineto closepath stroke 5.60 0.45 moveto 5.80 0.84 lineto closepath stroke 5.60 0.00 moveto 5.60 0.23 lineto closepath stroke 5.60 0.00 moveto 5.80 0.00 lineto closepath stroke 5.60 0.00 moveto 5.27 0.00 lineto closepath stroke 4.36 2.80 moveto 4.34 2.74 lineto closepath stroke 4.36 2.80 moveto 4.30 2.79 lineto closepath stroke 4.36 2.80 moveto 4.40 2.75 lineto closepath stroke 4.36 2.80 moveto 4.40 2.82 lineto closepath stroke 4.44 2.70 moveto 4.41 2.63 lineto closepath stroke 4.44 2.70 moveto 4.38 2.69 lineto closepath stroke 4.44 2.70 moveto 4.40 2.75 lineto closepath stroke 4.44 2.70 moveto 4.49 2.65 lineto closepath stroke 4.44 2.70 moveto 4.45 2.77 lineto closepath stroke 4.44 2.70 moveto 4.50 2.73 lineto closepath stroke 4.54 2.60 moveto 4.50 2.51 lineto closepath stroke 4.54 2.60 moveto 4.46 2.57 lineto closepath stroke 4.54 2.60 moveto 4.49 2.65 lineto closepath stroke 4.54 2.60 moveto 4.60 2.54 lineto closepath stroke 4.54 2.60 moveto 4.55 2.67 lineto closepath stroke 4.54 2.60 moveto 4.62 2.63 lineto closepath stroke 4.65 2.48 moveto 4.60 2.38 lineto closepath stroke 4.65 2.48 moveto 4.55 2.45 lineto closepath stroke 4.65 2.48 moveto 4.60 2.54 lineto closepath stroke 4.65 2.48 moveto 4.71 2.41 lineto closepath stroke 4.65 2.48 moveto 4.67 2.57 lineto closepath stroke 4.65 2.48 moveto 4.74 2.52 lineto closepath stroke 4.77 2.34 moveto 4.70 2.23 lineto closepath stroke 4.77 2.34 moveto 4.66 2.31 lineto closepath stroke 4.77 2.34 moveto 4.71 2.41 lineto closepath stroke 4.77 2.34 moveto 4.83 2.27 lineto closepath stroke 4.77 2.34 moveto 4.80 2.45 lineto closepath stroke 4.77 2.34 moveto 4.87 2.40 lineto closepath stroke 4.90 2.20 moveto 4.82 2.07 lineto closepath stroke 4.90 2.20 moveto 4.77 2.16 lineto closepath stroke 4.90 2.20 moveto 4.83 2.27 lineto closepath stroke 4.90 2.20 moveto 4.97 2.12 lineto closepath stroke 4.90 2.20 moveto 4.94 2.33 lineto closepath stroke 4.90 2.20 moveto 5.02 2.27 lineto closepath stroke 5.04 2.04 moveto 4.95 1.89 lineto closepath stroke 5.04 2.04 moveto 4.89 1.99 lineto closepath stroke 5.04 2.04 moveto 4.97 2.12 lineto closepath stroke 5.04 2.04 moveto 5.12 1.95 lineto closepath stroke 5.04 2.04 moveto 5.09 2.19 lineto closepath stroke 5.04 2.04 moveto 5.18 2.12 lineto closepath stroke 5.20 1.87 moveto 5.09 1.70 lineto closepath stroke 5.20 1.87 moveto 5.02 1.81 lineto closepath stroke 5.20 1.87 moveto 5.12 1.95 lineto closepath stroke 5.20 1.87 moveto 5.29 1.77 lineto closepath stroke 5.20 1.87 moveto 5.26 2.03 lineto closepath stroke 5.20 1.87 moveto 5.36 1.96 lineto closepath stroke 5.37 1.67 moveto 5.24 1.49 lineto closepath stroke 5.37 1.67 moveto 5.17 1.60 lineto closepath stroke 5.37 1.67 moveto 5.29 1.77 lineto closepath stroke 5.37 1.67 moveto 5.47 1.57 lineto closepath stroke 5.37 1.67 moveto 5.45 1.86 lineto closepath stroke 5.37 1.67 moveto 5.56 1.78 lineto closepath stroke 5.56 1.46 moveto 5.49 1.11 lineto closepath stroke 5.56 1.46 moveto 5.41 1.25 lineto closepath stroke 5.56 1.46 moveto 5.33 1.38 lineto closepath stroke 5.56 1.46 moveto 5.47 1.57 lineto closepath stroke 5.56 1.46 moveto 5.78 1.34 lineto closepath stroke 5.56 1.46 moveto 5.65 1.68 lineto closepath stroke 5.56 1.46 moveto 5.78 1.68 lineto closepath stroke 6.00 1.23 moveto 6.00 0.61 lineto closepath stroke 6.00 1.23 moveto 5.80 0.84 lineto closepath stroke 6.00 1.23 moveto 5.71 1.00 lineto closepath stroke 6.00 1.23 moveto 5.78 1.34 lineto closepath stroke 6.00 1.23 moveto 6.00 1.56 lineto closepath stroke 4.45 2.84 moveto 4.45 2.77 lineto closepath stroke 4.45 2.84 moveto 4.40 2.82 lineto closepath stroke 4.45 2.84 moveto 4.51 2.79 lineto closepath stroke 4.45 2.84 moveto 4.49 2.86 lineto closepath stroke 4.57 2.75 moveto 4.55 2.67 lineto closepath stroke 4.57 2.75 moveto 4.50 2.73 lineto closepath stroke 4.57 2.75 moveto 4.51 2.79 lineto closepath stroke 4.57 2.75 moveto 4.63 2.71 lineto closepath stroke 4.57 2.75 moveto 4.55 2.82 lineto closepath stroke 4.57 2.75 moveto 4.61 2.79 lineto closepath stroke 4.69 2.66 moveto 4.67 2.57 lineto closepath stroke 4.69 2.66 moveto 4.62 2.63 lineto closepath stroke 4.69 2.66 moveto 4.63 2.71 lineto closepath stroke 4.69 2.66 moveto 4.76 2.61 lineto closepath stroke 4.69 2.66 moveto 4.68 2.74 lineto closepath stroke 4.69 2.66 moveto 4.75 2.71 lineto closepath stroke 4.83 2.56 moveto 4.80 2.45 lineto closepath stroke 4.83 2.56 moveto 4.74 2.52 lineto closepath stroke 4.83 2.56 moveto 4.76 2.61 lineto closepath stroke 4.83 2.56 moveto 4.90 2.51 lineto closepath stroke 4.83 2.56 moveto 4.82 2.66 lineto closepath stroke 4.83 2.56 moveto 4.90 2.63 lineto closepath stroke 4.98 2.45 moveto 4.94 2.33 lineto closepath stroke 4.98 2.45 moveto 4.87 2.40 lineto closepath stroke 4.98 2.45 moveto 4.90 2.51 lineto closepath stroke 4.98 2.45 moveto 5.06 2.39 lineto closepath stroke 4.98 2.45 moveto 4.97 2.57 lineto closepath stroke 4.98 2.45 moveto 5.06 2.53 lineto closepath stroke 5.14 2.33 moveto 5.09 2.19 lineto closepath stroke 5.14 2.33 moveto 5.02 2.27 lineto closepath stroke 5.14 2.33 moveto 5.06 2.39 lineto closepath stroke 5.14 2.33 moveto 5.23 2.27 lineto closepath stroke 5.14 2.33 moveto 5.14 2.47 lineto closepath stroke 5.14 2.33 moveto 5.24 2.43 lineto closepath stroke 5.32 2.20 moveto 5.26 2.03 lineto closepath stroke 5.32 2.20 moveto 5.18 2.12 lineto closepath stroke 5.32 2.20 moveto 5.23 2.27 lineto closepath stroke 5.32 2.20 moveto 5.42 2.13 lineto closepath stroke 5.32 2.20 moveto 5.33 2.36 lineto closepath stroke 5.32 2.20 moveto 5.44 2.31 lineto closepath stroke 5.52 2.06 moveto 5.45 1.86 lineto closepath stroke 5.52 2.06 moveto 5.36 1.96 lineto closepath stroke 5.52 2.06 moveto 5.42 2.13 lineto closepath stroke 5.52 2.06 moveto 5.63 1.98 lineto closepath stroke 5.52 2.06 moveto 5.54 2.24 lineto closepath stroke 5.52 2.06 moveto 5.76 2.19 lineto closepath stroke 5.74 1.90 moveto 5.65 1.68 lineto closepath stroke 5.74 1.90 moveto 5.56 1.78 lineto closepath stroke 5.74 1.90 moveto 5.63 1.98 lineto closepath stroke 5.74 1.90 moveto 5.87 1.90 lineto closepath stroke 5.74 1.90 moveto 5.87 2.11 lineto closepath stroke 6.00 1.90 moveto 6.00 1.56 lineto closepath stroke 6.00 1.90 moveto 5.78 1.68 lineto closepath stroke 6.00 1.90 moveto 5.87 1.90 lineto closepath stroke 6.00 1.90 moveto 6.00 2.11 lineto closepath stroke 4.53 2.88 moveto 4.55 2.82 lineto closepath stroke 4.53 2.88 moveto 4.49 2.86 lineto closepath stroke 4.53 2.88 moveto 4.60 2.85 lineto closepath stroke 4.53 2.88 moveto 4.56 2.91 lineto closepath stroke 4.66 2.82 moveto 4.62 2.88 lineto closepath stroke 4.66 2.82 moveto 4.70 2.87 lineto closepath stroke 4.66 2.82 moveto 4.68 2.74 lineto closepath stroke 4.66 2.82 moveto 4.61 2.79 lineto closepath stroke 4.66 2.82 moveto 4.60 2.85 lineto closepath stroke 4.66 2.82 moveto 4.74 2.79 lineto closepath stroke 4.81 2.76 moveto 4.77 2.83 lineto closepath stroke 4.81 2.76 moveto 4.85 2.82 lineto closepath stroke 4.81 2.76 moveto 4.89 2.72 lineto closepath stroke 4.81 2.76 moveto 4.82 2.66 lineto closepath stroke 4.81 2.76 moveto 4.75 2.71 lineto closepath stroke 4.81 2.76 moveto 4.74 2.79 lineto closepath stroke 4.97 2.69 moveto 4.93 2.78 lineto closepath stroke 4.97 2.69 moveto 5.02 2.76 lineto closepath stroke 4.97 2.69 moveto 5.06 2.65 lineto closepath stroke 4.97 2.69 moveto 4.89 2.72 lineto closepath stroke 4.97 2.69 moveto 4.97 2.57 lineto closepath stroke 4.97 2.69 moveto 4.90 2.63 lineto closepath stroke 5.15 2.61 moveto 5.10 2.72 lineto closepath stroke 5.15 2.61 moveto 5.20 2.70 lineto closepath stroke 5.15 2.61 moveto 5.24 2.56 lineto closepath stroke 5.15 2.61 moveto 5.06 2.65 lineto closepath stroke 5.15 2.61 moveto 5.14 2.47 lineto closepath stroke 5.15 2.61 moveto 5.06 2.53 lineto closepath stroke 5.34 2.52 moveto 5.30 2.66 lineto closepath stroke 5.34 2.52 moveto 5.41 2.64 lineto closepath stroke 5.34 2.52 moveto 5.45 2.47 lineto closepath stroke 5.34 2.52 moveto 5.24 2.56 lineto closepath stroke 5.34 2.52 moveto 5.33 2.36 lineto closepath stroke 5.34 2.52 moveto 5.24 2.43 lineto closepath stroke 5.55 2.43 moveto 5.51 2.59 lineto closepath stroke 5.55 2.43 moveto 5.63 2.56 lineto closepath stroke 5.55 2.43 moveto 5.78 2.37 lineto closepath stroke 5.55 2.43 moveto 5.45 2.47 lineto closepath stroke 5.55 2.43 moveto 5.54 2.24 lineto closepath stroke 5.55 2.43 moveto 5.44 2.31 lineto closepath stroke 6.00 2.32 moveto 5.85 2.51 lineto closepath stroke 6.00 2.32 moveto 6.00 2.51 lineto closepath stroke 6.00 2.32 moveto 5.78 2.37 lineto closepath stroke 6.00 2.32 moveto 6.00 2.11 lineto closepath stroke 6.00 2.32 moveto 5.87 2.11 lineto closepath stroke 6.00 2.32 moveto 5.76 2.19 lineto closepath stroke 4.58 2.94 moveto 4.59 2.97 lineto closepath stroke 4.58 2.94 moveto 4.65 2.92 lineto closepath stroke 4.58 2.94 moveto 4.62 2.88 lineto closepath stroke 4.58 2.94 moveto 4.56 2.91 lineto closepath stroke 4.73 2.91 moveto 4.74 2.95 lineto closepath stroke 4.73 2.91 moveto 4.81 2.89 lineto closepath stroke 4.73 2.91 moveto 4.77 2.83 lineto closepath stroke 4.73 2.91 moveto 4.66 2.95 lineto closepath stroke 4.73 2.91 moveto 4.65 2.92 lineto closepath stroke 4.73 2.91 moveto 4.70 2.87 lineto closepath stroke 4.89 2.87 moveto 4.90 2.94 lineto closepath stroke 4.89 2.87 moveto 4.98 2.85 lineto closepath stroke 4.89 2.87 moveto 4.93 2.78 lineto closepath stroke 4.89 2.87 moveto 4.82 2.94 lineto closepath stroke 4.89 2.87 moveto 4.81 2.89 lineto closepath stroke 4.89 2.87 moveto 4.85 2.82 lineto closepath stroke 5.06 2.84 moveto 5.08 2.92 lineto closepath stroke 5.06 2.84 moveto 5.16 2.82 lineto closepath stroke 5.06 2.84 moveto 5.10 2.72 lineto closepath stroke 5.06 2.84 moveto 4.99 2.92 lineto closepath stroke 5.06 2.84 moveto 4.98 2.85 lineto closepath stroke 5.06 2.84 moveto 5.02 2.76 lineto closepath stroke 5.26 2.79 moveto 5.28 2.90 lineto closepath stroke 5.26 2.79 moveto 5.36 2.77 lineto closepath stroke 5.26 2.79 moveto 5.30 2.66 lineto closepath stroke 5.26 2.79 moveto 5.18 2.90 lineto closepath stroke 5.26 2.79 moveto 5.16 2.82 lineto closepath stroke 5.26 2.79 moveto 5.20 2.70 lineto closepath stroke 5.47 2.75 moveto 5.49 2.87 lineto closepath stroke 5.47 2.75 moveto 5.59 2.72 lineto closepath stroke 5.47 2.75 moveto 5.51 2.59 lineto closepath stroke 5.47 2.75 moveto 5.38 2.87 lineto closepath stroke 5.47 2.75 moveto 5.36 2.77 lineto closepath stroke 5.47 2.75 moveto 5.41 2.64 lineto closepath stroke 5.70 2.70 moveto 5.85 2.85 lineto closepath stroke 5.70 2.70 moveto 5.85 2.70 lineto closepath stroke 5.70 2.70 moveto 5.85 2.51 lineto closepath stroke 5.70 2.70 moveto 5.61 2.85 lineto closepath stroke 5.70 2.70 moveto 5.59 2.72 lineto closepath stroke 5.70 2.70 moveto 5.63 2.56 lineto closepath stroke 6.00 2.70 moveto 5.85 2.70 lineto closepath stroke 6.00 2.70 moveto 6.00 2.85 lineto closepath stroke 6.00 2.70 moveto 6.00 2.51 lineto closepath stroke 4.66 3.05 moveto 4.74 3.05 lineto closepath stroke 4.66 3.05 moveto 4.68 3.00 lineto closepath stroke 4.66 3.05 moveto 4.59 3.03 lineto closepath stroke 4.66 3.05 moveto 4.65 3.08 lineto closepath stroke 4.74 3.05 moveto 4.68 3.00 lineto closepath stroke 4.74 3.05 moveto 4.81 3.11 lineto closepath stroke 4.74 3.05 moveto 4.82 3.06 lineto closepath stroke 4.68 3.00 moveto 4.74 2.95 lineto closepath stroke 4.68 3.00 moveto 4.66 2.95 lineto closepath stroke 4.59 3.03 moveto 4.65 3.08 lineto closepath stroke 4.65 3.08 moveto 4.62 3.12 lineto closepath stroke 4.65 3.08 moveto 4.70 3.13 lineto closepath stroke 4.82 3.06 moveto 4.90 3.06 lineto closepath stroke 4.82 3.06 moveto 4.83 3.00 lineto closepath stroke 4.82 3.06 moveto 4.81 3.11 lineto closepath stroke 4.90 3.06 moveto 4.83 3.00 lineto closepath stroke 4.90 3.06 moveto 4.98 3.15 lineto closepath stroke 4.90 3.06 moveto 4.99 3.08 lineto closepath stroke 4.83 3.00 moveto 4.90 2.94 lineto closepath stroke 4.83 3.00 moveto 4.82 2.94 lineto closepath stroke 4.81 3.11 moveto 4.77 3.17 lineto closepath stroke 4.81 3.11 moveto 4.85 3.18 lineto closepath stroke 4.99 3.08 moveto 5.08 3.08 lineto closepath stroke 4.99 3.08 moveto 5.01 3.00 lineto closepath stroke 4.99 3.08 moveto 4.98 3.15 lineto closepath stroke 5.08 3.08 moveto 5.01 3.00 lineto closepath stroke 5.08 3.08 moveto 5.16 3.18 lineto closepath stroke 5.08 3.08 moveto 5.18 3.10 lineto closepath stroke 5.01 3.00 moveto 5.08 2.92 lineto closepath stroke 5.01 3.00 moveto 4.99 2.92 lineto closepath stroke 4.98 3.15 moveto 4.93 3.22 lineto closepath stroke 4.98 3.15 moveto 5.02 3.24 lineto closepath stroke 5.18 3.10 moveto 5.28 3.10 lineto closepath stroke 5.18 3.10 moveto 5.20 3.00 lineto closepath stroke 5.18 3.10 moveto 5.16 3.18 lineto closepath stroke 5.28 3.10 moveto 5.20 3.00 lineto closepath stroke 5.28 3.10 moveto 5.36 3.23 lineto closepath stroke 5.28 3.10 moveto 5.38 3.13 lineto closepath stroke 5.20 3.00 moveto 5.28 2.90 lineto closepath stroke 5.20 3.00 moveto 5.18 2.90 lineto closepath stroke 5.16 3.18 moveto 5.10 3.28 lineto closepath stroke 5.16 3.18 moveto 5.20 3.30 lineto closepath stroke 5.38 3.13 moveto 5.49 3.13 lineto closepath stroke 5.38 3.13 moveto 5.41 3.00 lineto closepath stroke 5.38 3.13 moveto 5.36 3.23 lineto closepath stroke 5.49 3.13 moveto 5.41 3.00 lineto closepath stroke 5.49 3.13 moveto 5.59 3.28 lineto closepath stroke 5.49 3.13 moveto 5.61 3.15 lineto closepath stroke 5.41 3.00 moveto 5.49 2.87 lineto closepath stroke 5.41 3.00 moveto 5.38 2.87 lineto closepath stroke 5.36 3.23 moveto 5.30 3.34 lineto closepath stroke 5.36 3.23 moveto 5.41 3.36 lineto closepath stroke 5.61 3.15 moveto 5.85 3.15 lineto closepath stroke 5.61 3.15 moveto 5.76 3.00 lineto closepath stroke 5.61 3.15 moveto 5.59 3.28 lineto closepath stroke 5.85 3.15 moveto 5.76 3.00 lineto closepath stroke 5.85 3.15 moveto 5.85 3.30 lineto closepath stroke 5.85 3.15 moveto 6.00 3.15 lineto closepath stroke 5.76 3.00 moveto 5.85 2.85 lineto closepath stroke 5.76 3.00 moveto 5.61 2.85 lineto closepath stroke 5.59 3.28 moveto 5.51 3.41 lineto closepath stroke 5.59 3.28 moveto 5.63 3.44 lineto closepath stroke 5.85 3.30 moveto 6.00 3.15 lineto closepath stroke 5.85 3.30 moveto 5.85 3.49 lineto closepath stroke 5.85 3.30 moveto 6.00 3.49 lineto closepath stroke 4.62 3.12 moveto 4.70 3.13 lineto closepath stroke 4.62 3.12 moveto 4.56 3.09 lineto closepath stroke 4.62 3.12 moveto 4.60 3.15 lineto closepath stroke 4.70 3.13 moveto 4.74 3.21 lineto closepath stroke 4.70 3.13 moveto 4.77 3.17 lineto closepath stroke 4.56 3.09 moveto 4.60 3.15 lineto closepath stroke 4.60 3.15 moveto 4.55 3.18 lineto closepath stroke 4.60 3.15 moveto 4.61 3.21 lineto closepath stroke 4.77 3.17 moveto 4.85 3.18 lineto closepath stroke 4.77 3.17 moveto 4.74 3.21 lineto closepath stroke 4.85 3.18 moveto 4.89 3.28 lineto closepath stroke 4.85 3.18 moveto 4.93 3.22 lineto closepath stroke 4.74 3.21 moveto 4.68 3.26 lineto closepath stroke 4.74 3.21 moveto 4.75 3.29 lineto closepath stroke 4.93 3.22 moveto 5.02 3.24 lineto closepath stroke 4.93 3.22 moveto 4.89 3.28 lineto closepath stroke 5.02 3.24 moveto 5.06 3.35 lineto closepath stroke 5.02 3.24 moveto 5.10 3.28 lineto closepath stroke 4.89 3.28 moveto 4.82 3.34 lineto closepath stroke 4.89 3.28 moveto 4.90 3.37 lineto closepath stroke 5.10 3.28 moveto 5.20 3.30 lineto closepath stroke 5.10 3.28 moveto 5.06 3.35 lineto closepath stroke 5.20 3.30 moveto 5.24 3.44 lineto closepath stroke 5.20 3.30 moveto 5.30 3.34 lineto closepath stroke 5.06 3.35 moveto 4.97 3.43 lineto closepath stroke 5.06 3.35 moveto 5.06 3.47 lineto closepath stroke 5.30 3.34 moveto 5.41 3.36 lineto closepath stroke 5.30 3.34 moveto 5.24 3.44 lineto closepath stroke 5.41 3.36 moveto 5.45 3.53 lineto closepath stroke 5.41 3.36 moveto 5.51 3.41 lineto closepath stroke 5.24 3.44 moveto 5.14 3.53 lineto closepath stroke 5.24 3.44 moveto 5.24 3.57 lineto closepath stroke 5.51 3.41 moveto 5.63 3.44 lineto closepath stroke 5.51 3.41 moveto 5.45 3.53 lineto closepath stroke 5.63 3.44 moveto 5.78 3.63 lineto closepath stroke 5.63 3.44 moveto 5.85 3.49 lineto closepath stroke 5.45 3.53 moveto 5.33 3.64 lineto closepath stroke 5.45 3.53 moveto 5.44 3.69 lineto closepath stroke 5.85 3.49 moveto 6.00 3.49 lineto closepath stroke 5.85 3.49 moveto 5.78 3.63 lineto closepath stroke 5.78 3.63 moveto 5.54 3.76 lineto closepath stroke 5.78 3.63 moveto 5.76 3.81 lineto closepath stroke 4.55 3.18 moveto 4.61 3.21 lineto closepath stroke 4.55 3.18 moveto 4.49 3.14 lineto closepath stroke 4.55 3.18 moveto 4.51 3.21 lineto closepath stroke 4.61 3.21 moveto 4.63 3.29 lineto closepath stroke 4.61 3.21 moveto 4.68 3.26 lineto closepath stroke 4.49 3.14 moveto 4.51 3.21 lineto closepath stroke 4.51 3.21 moveto 4.50 3.27 lineto closepath stroke 4.51 3.21 moveto 4.45 3.23 lineto closepath stroke 4.68 3.26 moveto 4.75 3.29 lineto closepath stroke 4.68 3.26 moveto 4.63 3.29 lineto closepath stroke 4.75 3.29 moveto 4.76 3.39 lineto closepath stroke 4.75 3.29 moveto 4.82 3.34 lineto closepath stroke 4.63 3.29 moveto 4.62 3.37 lineto closepath stroke 4.63 3.29 moveto 4.55 3.33 lineto closepath stroke 4.82 3.34 moveto 4.90 3.37 lineto closepath stroke 4.82 3.34 moveto 4.76 3.39 lineto closepath stroke 4.90 3.37 moveto 4.90 3.49 lineto closepath stroke 4.90 3.37 moveto 4.97 3.43 lineto closepath stroke 4.76 3.39 moveto 4.74 3.48 lineto closepath stroke 4.76 3.39 moveto 4.67 3.43 lineto closepath stroke 4.97 3.43 moveto 5.06 3.47 lineto closepath stroke 4.97 3.43 moveto 4.90 3.49 lineto closepath stroke 5.06 3.47 moveto 5.06 3.61 lineto closepath stroke 5.06 3.47 moveto 5.14 3.53 lineto closepath stroke 4.90 3.49 moveto 4.80 3.55 lineto closepath stroke 4.90 3.49 moveto 4.87 3.60 lineto closepath stroke 5.14 3.53 moveto 5.24 3.57 lineto closepath stroke 5.14 3.53 moveto 5.06 3.61 lineto closepath stroke 5.24 3.57 moveto 5.23 3.73 lineto closepath stroke 5.24 3.57 moveto 5.33 3.64 lineto closepath stroke 5.06 3.61 moveto 4.94 3.67 lineto closepath stroke 5.06 3.61 moveto 5.02 3.73 lineto closepath stroke 5.33 3.64 moveto 5.44 3.69 lineto closepath stroke 5.33 3.64 moveto 5.23 3.73 lineto closepath stroke 5.44 3.69 moveto 5.42 3.87 lineto closepath stroke 5.44 3.69 moveto 5.54 3.76 lineto closepath stroke 5.23 3.73 moveto 5.09 3.81 lineto closepath stroke 5.23 3.73 moveto 5.18 3.88 lineto closepath stroke 5.54 3.76 moveto 5.76 3.81 lineto closepath stroke 5.54 3.76 moveto 5.42 3.87 lineto closepath stroke 5.76 3.81 moveto 5.63 4.02 lineto closepath stroke 5.76 3.81 moveto 5.87 3.89 lineto closepath stroke 5.42 3.87 moveto 5.26 3.97 lineto closepath stroke 5.42 3.87 moveto 5.36 4.04 lineto closepath stroke 5.63 4.02 moveto 5.87 3.89 lineto closepath stroke 5.63 4.02 moveto 5.45 4.14 lineto closepath stroke 5.63 4.02 moveto 5.56 4.22 lineto closepath stroke 5.87 3.89 moveto 5.87 4.10 lineto closepath stroke 5.87 3.89 moveto 6.00 3.89 lineto closepath stroke 5.87 4.10 moveto 6.00 3.89 lineto closepath stroke 5.87 4.10 moveto 5.65 4.32 lineto closepath stroke 5.87 4.10 moveto 5.78 4.32 lineto closepath stroke 4.50 3.27 moveto 4.45 3.23 lineto closepath stroke 4.50 3.27 moveto 4.49 3.35 lineto closepath stroke 4.50 3.27 moveto 4.55 3.33 lineto closepath stroke 4.45 3.23 moveto 4.40 3.25 lineto closepath stroke 4.45 3.23 moveto 4.40 3.18 lineto closepath stroke 4.40 3.25 moveto 4.40 3.18 lineto closepath stroke 4.40 3.25 moveto 4.38 3.31 lineto closepath stroke 4.40 3.25 moveto 4.34 3.26 lineto closepath stroke 4.62 3.37 moveto 4.55 3.33 lineto closepath stroke 4.62 3.37 moveto 4.60 3.46 lineto closepath stroke 4.62 3.37 moveto 4.67 3.43 lineto closepath stroke 4.55 3.33 moveto 4.49 3.35 lineto closepath stroke 4.49 3.35 moveto 4.46 3.43 lineto closepath stroke 4.49 3.35 moveto 4.41 3.37 lineto closepath stroke 4.74 3.48 moveto 4.67 3.43 lineto closepath stroke 4.74 3.48 moveto 4.71 3.59 lineto closepath stroke 4.74 3.48 moveto 4.80 3.55 lineto closepath stroke 4.67 3.43 moveto 4.60 3.46 lineto closepath stroke 4.60 3.46 moveto 4.55 3.55 lineto closepath stroke 4.60 3.46 moveto 4.50 3.49 lineto closepath stroke 4.80 3.55 moveto 4.87 3.60 lineto closepath stroke 4.80 3.55 moveto 4.71 3.59 lineto closepath stroke 4.87 3.60 moveto 4.83 3.73 lineto closepath stroke 4.87 3.60 moveto 4.94 3.67 lineto closepath stroke 4.71 3.59 moveto 4.66 3.69 lineto closepath stroke 4.71 3.59 moveto 4.60 3.62 lineto closepath stroke 4.94 3.67 moveto 5.02 3.73 lineto closepath stroke 4.94 3.67 moveto 4.83 3.73 lineto closepath stroke 5.02 3.73 moveto 4.97 3.88 lineto closepath stroke 5.02 3.73 moveto 5.09 3.81 lineto closepath stroke 4.83 3.73 moveto 4.77 3.84 lineto closepath stroke 4.83 3.73 moveto 4.70 3.77 lineto closepath stroke 5.09 3.81 moveto 5.18 3.88 lineto closepath stroke 5.09 3.81 moveto 4.97 3.88 lineto closepath stroke 5.18 3.88 moveto 5.12 4.05 lineto closepath stroke 5.18 3.88 moveto 5.26 3.97 lineto closepath stroke 4.97 3.88 moveto 4.89 4.01 lineto closepath stroke 4.97 3.88 moveto 4.82 3.93 lineto closepath stroke 5.26 3.97 moveto 5.36 4.04 lineto closepath stroke 5.26 3.97 moveto 5.12 4.05 lineto closepath stroke 5.36 4.04 moveto 5.29 4.23 lineto closepath stroke 5.36 4.04 moveto 5.45 4.14 lineto closepath stroke 5.12 4.05 moveto 5.02 4.19 lineto closepath stroke 5.12 4.05 moveto 4.95 4.11 lineto closepath stroke 5.45 4.14 moveto 5.56 4.22 lineto closepath stroke 5.45 4.14 moveto 5.29 4.23 lineto closepath stroke 5.56 4.22 moveto 5.47 4.43 lineto closepath stroke 5.56 4.22 moveto 5.65 4.32 lineto closepath stroke 5.29 4.23 moveto 5.09 4.30 lineto closepath stroke 5.29 4.23 moveto 5.17 4.40 lineto closepath stroke 5.65 4.32 moveto 5.78 4.32 lineto closepath stroke 5.65 4.32 moveto 5.47 4.43 lineto closepath stroke 5.78 4.32 moveto 5.78 4.66 lineto closepath stroke 5.78 4.32 moveto 6.00 4.44 lineto closepath stroke 5.47 4.43 moveto 5.24 4.51 lineto closepath stroke 5.47 4.43 moveto 5.33 4.62 lineto closepath stroke 5.78 4.66 moveto 6.00 4.44 lineto closepath stroke 5.78 4.66 moveto 5.49 4.89 lineto closepath stroke 5.78 4.66 moveto 5.71 5.00 lineto closepath stroke 4.38 3.31 moveto 4.34 3.26 lineto closepath stroke 4.38 3.31 moveto 4.35 3.39 lineto closepath stroke 4.38 3.31 moveto 4.41 3.37 lineto closepath stroke 4.34 3.26 moveto 4.28 3.27 lineto closepath stroke 4.34 3.26 moveto 4.30 3.21 lineto closepath stroke 4.28 3.27 moveto 4.30 3.21 lineto closepath stroke 4.28 3.27 moveto 4.25 3.33 lineto closepath stroke 4.28 3.27 moveto 4.22 3.28 lineto closepath stroke 4.46 3.43 moveto 4.41 3.37 lineto closepath stroke 4.46 3.43 moveto 4.42 3.51 lineto closepath stroke 4.46 3.43 moveto 4.50 3.49 lineto closepath stroke 4.41 3.37 moveto 4.35 3.39 lineto closepath stroke 4.35 3.39 moveto 4.30 3.46 lineto closepath stroke 4.35 3.39 moveto 4.27 3.40 lineto closepath stroke 4.55 3.55 moveto 4.50 3.49 lineto closepath stroke 4.55 3.55 moveto 4.50 3.65 lineto closepath stroke 4.55 3.55 moveto 4.60 3.62 lineto closepath stroke 4.50 3.49 moveto 4.42 3.51 lineto closepath stroke 4.42 3.51 moveto 4.36 3.59 lineto closepath stroke 4.42 3.51 moveto 4.33 3.53 lineto closepath stroke 4.66 3.69 moveto 4.60 3.62 lineto closepath stroke 4.66 3.69 moveto 4.59 3.80 lineto closepath stroke 4.66 3.69 moveto 4.70 3.77 lineto closepath stroke 4.60 3.62 moveto 4.50 3.65 lineto closepath stroke 4.50 3.65 moveto 4.43 3.74 lineto closepath stroke 4.50 3.65 moveto 4.39 3.67 lineto closepath stroke 4.77 3.84 moveto 4.70 3.77 lineto closepath stroke 4.77 3.84 moveto 4.69 3.97 lineto closepath stroke 4.77 3.84 moveto 4.82 3.93 lineto closepath stroke 4.70 3.77 moveto 4.59 3.80 lineto closepath stroke 4.59 3.80 moveto 4.50 3.90 lineto closepath stroke 4.59 3.80 moveto 4.46 3.82 lineto closepath stroke 4.89 4.01 moveto 4.82 3.93 lineto closepath stroke 4.89 4.01 moveto 4.79 4.15 lineto closepath stroke 4.89 4.01 moveto 4.95 4.11 lineto closepath stroke 4.82 3.93 moveto 4.69 3.97 lineto closepath stroke 4.69 3.97 moveto 4.58 4.08 lineto closepath stroke 4.69 3.97 moveto 4.53 3.99 lineto closepath stroke 5.02 4.19 moveto 4.95 4.11 lineto closepath stroke 5.02 4.19 moveto 4.91 4.36 lineto closepath stroke 5.02 4.19 moveto 5.09 4.30 lineto closepath stroke 4.95 4.11 moveto 4.79 4.15 lineto closepath stroke 4.79 4.15 moveto 4.67 4.28 lineto closepath stroke 4.79 4.15 moveto 4.62 4.18 lineto closepath stroke 5.09 4.30 moveto 5.17 4.40 lineto closepath stroke 5.09 4.30 moveto 4.91 4.36 lineto closepath stroke 5.17 4.40 moveto 5.04 4.58 lineto closepath stroke 5.17 4.40 moveto 5.24 4.51 lineto closepath stroke 4.91 4.36 moveto 4.77 4.50 lineto closepath stroke 4.91 4.36 moveto 4.71 4.39 lineto closepath stroke 5.24 4.51 moveto 5.33 4.62 lineto closepath stroke 5.24 4.51 moveto 5.04 4.58 lineto closepath stroke 5.33 4.62 moveto 5.18 4.83 lineto closepath stroke 5.33 4.62 moveto 5.41 4.75 lineto closepath stroke 5.04 4.58 moveto 4.88 4.73 lineto closepath stroke 5.04 4.58 moveto 4.81 4.62 lineto closepath stroke 5.18 4.83 moveto 5.41 4.75 lineto closepath stroke 5.18 4.83 moveto 5.00 5.00 lineto closepath stroke 5.18 4.83 moveto 4.92 4.87 lineto closepath stroke 5.41 4.75 moveto 5.34 5.10 lineto closepath stroke 5.41 4.75 moveto 5.49 4.89 lineto closepath stroke 5.49 4.89 moveto 5.71 5.00 lineto closepath stroke 5.49 4.89 moveto 5.34 5.10 lineto closepath stroke 5.71 5.00 moveto 5.51 5.39 lineto closepath stroke 5.71 5.00 moveto 5.80 5.16 lineto closepath stroke 5.34 5.10 moveto 5.12 5.29 lineto closepath stroke 5.34 5.10 moveto 5.04 5.14 lineto closepath stroke 5.80 5.77 moveto 6.00 5.39 lineto closepath stroke 5.80 5.77 moveto 5.80 5.16 lineto closepath stroke 5.80 5.77 moveto 5.80 6.00 lineto closepath stroke 5.80 5.77 moveto 5.60 5.77 lineto closepath stroke 6.00 5.39 moveto 5.80 5.16 lineto closepath stroke 5.80 5.16 moveto 5.51 5.39 lineto closepath stroke 5.51 5.39 moveto 5.21 5.44 lineto closepath stroke 5.51 5.39 moveto 5.12 5.29 lineto closepath stroke 5.80 6.00 moveto 5.60 5.77 lineto closepath stroke 5.60 5.77 moveto 5.27 5.77 lineto closepath stroke 5.60 5.77 moveto 5.27 6.00 lineto closepath stroke 4.25 3.33 moveto 4.22 3.28 lineto closepath stroke 4.25 3.33 moveto 4.21 3.40 lineto closepath stroke 4.25 3.33 moveto 4.27 3.40 lineto closepath stroke 4.22 3.28 moveto 4.17 3.28 lineto closepath stroke 4.22 3.28 moveto 4.20 3.22 lineto closepath stroke 4.17 3.28 moveto 4.20 3.22 lineto closepath stroke 4.17 3.28 moveto 4.12 3.34 lineto closepath stroke 4.17 3.28 moveto 4.10 3.29 lineto closepath stroke 4.30 3.46 moveto 4.27 3.40 lineto closepath stroke 4.30 3.46 moveto 4.25 3.53 lineto closepath stroke 4.30 3.46 moveto 4.33 3.53 lineto closepath stroke 4.27 3.40 moveto 4.21 3.40 lineto closepath stroke 4.21 3.40 moveto 4.15 3.47 lineto closepath stroke 4.21 3.40 moveto 4.13 3.41 lineto closepath stroke 4.36 3.59 moveto 4.33 3.53 lineto closepath stroke 4.36 3.59 moveto 4.29 3.68 lineto closepath stroke 4.36 3.59 moveto 4.39 3.67 lineto closepath stroke 4.33 3.53 moveto 4.25 3.53 lineto closepath stroke 4.25 3.53 moveto 4.18 3.61 lineto closepath stroke 4.25 3.53 moveto 4.16 3.54 lineto closepath stroke 4.43 3.74 moveto 4.39 3.67 lineto closepath stroke 4.43 3.74 moveto 4.35 3.84 lineto closepath stroke 4.43 3.74 moveto 4.46 3.82 lineto closepath stroke 4.39 3.67 moveto 4.29 3.68 lineto closepath stroke 4.29 3.68 moveto 4.21 3.76 lineto closepath stroke 4.29 3.68 moveto 4.19 3.68 lineto closepath stroke 4.50 3.90 moveto 4.46 3.82 lineto closepath stroke 4.50 3.90 moveto 4.40 4.01 lineto closepath stroke 4.50 3.90 moveto 4.53 3.99 lineto closepath stroke 4.46 3.82 moveto 4.35 3.84 lineto closepath stroke 4.35 3.84 moveto 4.25 3.93 lineto closepath stroke 4.35 3.84 moveto 4.22 3.84 lineto closepath stroke 4.58 4.08 moveto 4.53 3.99 lineto closepath stroke 4.58 4.08 moveto 4.47 4.21 lineto closepath stroke 4.58 4.08 moveto 4.62 4.18 lineto closepath stroke 4.53 3.99 moveto 4.40 4.01 lineto closepath stroke 4.40 4.01 moveto 4.29 4.11 lineto closepath stroke 4.40 4.01 moveto 4.26 4.02 lineto closepath stroke 4.67 4.28 moveto 4.62 4.18 lineto closepath stroke 4.67 4.28 moveto 4.53 4.42 lineto closepath stroke 4.67 4.28 moveto 4.71 4.39 lineto closepath stroke 4.62 4.18 moveto 4.47 4.21 lineto closepath stroke 4.47 4.21 moveto 4.33 4.31 lineto closepath stroke 4.47 4.21 moveto 4.30 4.21 lineto closepath stroke 4.77 4.50 moveto 4.71 4.39 lineto closepath stroke 4.77 4.50 moveto 4.61 4.65 lineto closepath stroke 4.77 4.50 moveto 4.81 4.62 lineto closepath stroke 4.71 4.39 moveto 4.53 4.42 lineto closepath stroke 4.53 4.42 moveto 4.38 4.54 lineto closepath stroke 4.53 4.42 moveto 4.34 4.43 lineto closepath stroke 4.88 4.73 moveto 4.81 4.62 lineto closepath stroke 4.88 4.73 moveto 4.69 4.91 lineto closepath stroke 4.88 4.73 moveto 4.92 4.87 lineto closepath stroke 4.81 4.62 moveto 4.61 4.65 lineto closepath stroke 4.61 4.65 moveto 4.43 4.78 lineto closepath stroke 4.61 4.65 moveto 4.39 4.66 lineto closepath stroke 5.00 5.00 moveto 4.92 4.87 lineto closepath stroke 5.00 5.00 moveto 4.78 5.19 lineto closepath stroke 5.00 5.00 moveto 5.04 5.14 lineto closepath stroke 4.92 4.87 moveto 4.69 4.91 lineto closepath stroke 4.69 4.91 moveto 4.49 5.05 lineto closepath stroke 4.69 4.91 moveto 4.45 4.92 lineto closepath stroke 5.21 5.44 moveto 5.12 5.29 lineto closepath stroke 5.21 5.44 moveto 5.27 5.77 lineto closepath stroke 5.21 5.44 moveto 4.88 5.67 lineto closepath stroke 5.12 5.29 moveto 5.04 5.14 lineto closepath stroke 5.04 5.14 moveto 4.78 5.19 lineto closepath stroke 4.78 5.19 moveto 4.55 5.35 lineto closepath stroke 4.78 5.19 moveto 4.50 5.20 lineto closepath stroke 5.27 5.77 moveto 4.88 5.67 lineto closepath stroke 5.27 5.77 moveto 5.27 6.00 lineto closepath stroke 4.88 5.67 moveto 4.62 6.00 lineto closepath stroke 4.88 5.67 moveto 4.57 5.67 lineto closepath stroke 4.12 3.34 moveto 4.10 3.29 lineto closepath stroke 4.12 3.34 moveto 4.07 3.41 lineto closepath stroke 4.12 3.34 moveto 4.13 3.41 lineto closepath stroke 4.10 3.29 moveto 4.05 3.29 lineto closepath stroke 4.10 3.29 moveto 4.10 3.23 lineto closepath stroke 4.05 3.29 moveto 4.10 3.23 lineto closepath stroke 4.05 3.29 moveto 4.01 3.29 lineto closepath stroke 4.05 3.29 moveto 4.00 3.23 lineto closepath stroke 4.15 3.47 moveto 4.13 3.41 lineto closepath stroke 4.15 3.47 moveto 4.08 3.54 lineto closepath stroke 4.15 3.47 moveto 4.16 3.54 lineto closepath stroke 4.13 3.41 moveto 4.07 3.41 lineto closepath stroke 4.07 3.41 moveto 4.01 3.41 lineto closepath stroke 4.07 3.41 moveto 4.00 3.34 lineto closepath stroke 4.18 3.61 moveto 4.16 3.54 lineto closepath stroke 4.18 3.61 moveto 4.10 3.69 lineto closepath stroke 4.18 3.61 moveto 4.19 3.68 lineto closepath stroke 4.16 3.54 moveto 4.08 3.54 lineto closepath stroke 4.08 3.54 moveto 4.01 3.54 lineto closepath stroke 4.08 3.54 moveto 4.00 3.47 lineto closepath stroke 4.21 3.76 moveto 4.19 3.68 lineto closepath stroke 4.21 3.76 moveto 4.11 3.85 lineto closepath stroke 4.21 3.76 moveto 4.22 3.84 lineto closepath stroke 4.19 3.68 moveto 4.10 3.69 lineto closepath stroke 4.10 3.69 moveto 4.01 3.69 lineto closepath stroke 4.10 3.69 moveto 4.00 3.61 lineto closepath stroke 4.25 3.93 moveto 4.22 3.84 lineto closepath stroke 4.25 3.93 moveto 4.13 4.02 lineto closepath stroke 4.25 3.93 moveto 4.26 4.02 lineto closepath stroke 4.22 3.84 moveto 4.11 3.85 lineto closepath stroke 4.11 3.85 moveto 4.01 3.85 lineto closepath stroke 4.11 3.85 moveto 4.00 3.76 lineto closepath stroke 4.29 4.11 moveto 4.26 4.02 lineto closepath stroke 4.29 4.11 moveto 4.15 4.22 lineto closepath stroke 4.29 4.11 moveto 4.30 4.21 lineto closepath stroke 4.26 4.02 moveto 4.13 4.02 lineto closepath stroke 4.13 4.02 moveto 4.01 4.02 lineto closepath stroke 4.13 4.02 moveto 4.00 3.93 lineto closepath stroke 4.33 4.31 moveto 4.30 4.21 lineto closepath stroke 4.33 4.31 moveto 4.17 4.43 lineto closepath stroke 4.33 4.31 moveto 4.34 4.43 lineto closepath stroke 4.30 4.21 moveto 4.15 4.22 lineto closepath stroke 4.15 4.22 moveto 4.01 4.22 lineto closepath stroke 4.15 4.22 moveto 4.00 4.12 lineto closepath stroke 4.38 4.54 moveto 4.34 4.43 lineto closepath stroke 4.38 4.54 moveto 4.20 4.67 lineto closepath stroke 4.38 4.54 moveto 4.39 4.66 lineto closepath stroke 4.34 4.43 moveto 4.17 4.43 lineto closepath stroke 4.17 4.43 moveto 4.01 4.43 lineto closepath stroke 4.17 4.43 moveto 4.00 4.32 lineto closepath stroke 4.43 4.78 moveto 4.39 4.66 lineto closepath stroke 4.43 4.78 moveto 4.23 4.93 lineto closepath stroke 4.43 4.78 moveto 4.45 4.92 lineto closepath stroke 4.39 4.66 moveto 4.20 4.67 lineto closepath stroke 4.20 4.67 moveto 4.01 4.67 lineto closepath stroke 4.20 4.67 moveto 4.00 4.54 lineto closepath stroke 4.49 5.05 moveto 4.45 4.92 lineto closepath stroke 4.49 5.05 moveto 4.26 5.21 lineto closepath stroke 4.49 5.05 moveto 4.50 5.20 lineto closepath stroke 4.45 4.92 moveto 4.23 4.93 lineto closepath stroke 4.23 4.93 moveto 4.01 4.93 lineto closepath stroke 4.23 4.93 moveto 4.00 4.79 lineto closepath stroke 4.55 5.35 moveto 4.50 5.20 lineto closepath stroke 4.55 5.35 moveto 4.29 5.68 lineto closepath stroke 4.55 5.35 moveto 4.57 5.67 lineto closepath stroke 4.50 5.20 moveto 4.26 5.21 lineto closepath stroke 4.26 5.21 moveto 4.02 5.21 lineto closepath stroke 4.26 5.21 moveto 4.00 5.06 lineto closepath stroke 4.62 6.00 moveto 4.57 5.67 lineto closepath stroke 4.57 5.67 moveto 4.29 5.68 lineto closepath stroke 4.29 5.68 moveto 4.02 5.68 lineto closepath stroke 4.29 5.68 moveto 4.00 5.36 lineto closepath stroke 4.01 3.29 moveto 4.00 3.23 lineto closepath stroke 4.01 3.29 moveto 3.95 3.29 lineto closepath stroke 4.01 3.29 moveto 4.00 3.34 lineto closepath stroke 4.01 3.41 moveto 4.00 3.34 lineto closepath stroke 4.01 3.41 moveto 3.93 3.41 lineto closepath stroke 4.01 3.41 moveto 4.00 3.47 lineto closepath stroke 4.00 3.34 moveto 3.95 3.29 lineto closepath stroke 3.95 3.29 moveto 3.89 3.29 lineto closepath stroke 3.95 3.29 moveto 3.90 3.23 lineto closepath stroke 4.01 3.54 moveto 4.00 3.47 lineto closepath stroke 4.01 3.54 moveto 3.92 3.54 lineto closepath stroke 4.01 3.54 moveto 4.00 3.61 lineto closepath stroke 4.00 3.47 moveto 3.93 3.41 lineto closepath stroke 3.93 3.41 moveto 3.87 3.41 lineto closepath stroke 3.93 3.41 moveto 3.88 3.35 lineto closepath stroke 4.01 3.69 moveto 4.00 3.61 lineto closepath stroke 4.01 3.69 moveto 3.90 3.69 lineto closepath stroke 4.01 3.69 moveto 4.00 3.76 lineto closepath stroke 4.00 3.61 moveto 3.92 3.54 lineto closepath stroke 3.92 3.54 moveto 3.84 3.54 lineto closepath stroke 3.92 3.54 moveto 3.85 3.47 lineto closepath stroke 4.01 3.85 moveto 4.00 3.76 lineto closepath stroke 4.01 3.85 moveto 3.89 3.85 lineto closepath stroke 4.01 3.85 moveto 4.00 3.93 lineto closepath stroke 4.00 3.76 moveto 3.90 3.69 lineto closepath stroke 3.90 3.69 moveto 3.81 3.69 lineto closepath stroke 3.90 3.69 moveto 3.82 3.61 lineto closepath stroke 4.01 4.02 moveto 4.00 3.93 lineto closepath stroke 4.01 4.02 moveto 3.87 4.02 lineto closepath stroke 4.01 4.02 moveto 4.00 4.12 lineto closepath stroke 4.00 3.93 moveto 3.89 3.85 lineto closepath stroke 3.89 3.85 moveto 3.78 3.85 lineto closepath stroke 3.89 3.85 moveto 3.79 3.77 lineto closepath stroke 4.01 4.22 moveto 4.00 4.12 lineto closepath stroke 4.01 4.22 moveto 3.85 4.22 lineto closepath stroke 4.01 4.22 moveto 4.00 4.32 lineto closepath stroke 4.00 4.12 moveto 3.87 4.02 lineto closepath stroke 3.87 4.02 moveto 3.74 4.03 lineto closepath stroke 3.87 4.02 moveto 3.75 3.94 lineto closepath stroke 4.01 4.43 moveto 4.00 4.32 lineto closepath stroke 4.01 4.43 moveto 3.83 4.43 lineto closepath stroke 4.01 4.43 moveto 4.00 4.54 lineto closepath stroke 4.00 4.32 moveto 3.85 4.22 lineto closepath stroke 3.85 4.22 moveto 3.70 4.22 lineto closepath stroke 3.85 4.22 moveto 3.71 4.12 lineto closepath stroke 4.01 4.67 moveto 4.00 4.54 lineto closepath stroke 4.01 4.67 moveto 3.80 4.67 lineto closepath stroke 4.01 4.67 moveto 4.00 4.79 lineto closepath stroke 4.00 4.54 moveto 3.83 4.43 lineto closepath stroke 3.83 4.43 moveto 3.65 4.44 lineto closepath stroke 3.83 4.43 moveto 3.66 4.33 lineto closepath stroke 4.01 4.93 moveto 4.00 4.79 lineto closepath stroke 4.01 4.93 moveto 3.77 4.93 lineto closepath stroke 4.01 4.93 moveto 4.00 5.06 lineto closepath stroke 4.00 4.79 moveto 3.80 4.67 lineto closepath stroke 3.80 4.67 moveto 3.60 4.67 lineto closepath stroke 3.80 4.67 moveto 3.62 4.55 lineto closepath stroke 4.02 5.21 moveto 4.00 5.06 lineto closepath stroke 4.02 5.21 moveto 3.74 5.21 lineto closepath stroke 4.02 5.21 moveto 4.00 5.36 lineto closepath stroke 4.00 5.06 moveto 3.77 4.93 lineto closepath stroke 3.77 4.93 moveto 3.55 4.93 lineto closepath stroke 3.77 4.93 moveto 3.56 4.80 lineto closepath stroke 4.02 5.68 moveto 4.00 5.36 lineto closepath stroke 4.02 5.68 moveto 4.00 6.00 lineto closepath stroke 4.02 5.68 moveto 3.71 5.68 lineto closepath stroke 4.00 5.36 moveto 3.74 5.21 lineto closepath stroke 3.74 5.21 moveto 3.49 5.22 lineto closepath stroke 3.74 5.21 moveto 3.50 5.07 lineto closepath stroke 4.00 6.00 moveto 3.71 5.68 lineto closepath stroke 3.71 5.68 moveto 3.42 5.69 lineto closepath stroke 3.71 5.68 moveto 3.44 5.37 lineto closepath stroke 3.89 3.29 moveto 3.90 3.23 lineto closepath stroke 3.89 3.29 moveto 3.83 3.29 lineto closepath stroke 3.89 3.29 moveto 3.88 3.35 lineto closepath stroke 3.87 3.41 moveto 3.88 3.35 lineto closepath stroke 3.87 3.41 moveto 3.79 3.41 lineto closepath stroke 3.87 3.41 moveto 3.85 3.47 lineto closepath stroke 3.88 3.35 moveto 3.83 3.29 lineto closepath stroke 3.83 3.29 moveto 3.77 3.29 lineto closepath stroke 3.83 3.29 moveto 3.79 3.23 lineto closepath stroke 3.84 3.54 moveto 3.85 3.47 lineto closepath stroke 3.84 3.54 moveto 3.75 3.54 lineto closepath stroke 3.84 3.54 moveto 3.82 3.61 lineto closepath stroke 3.85 3.47 moveto 3.79 3.41 lineto closepath stroke 3.79 3.41 moveto 3.72 3.41 lineto closepath stroke 3.79 3.41 moveto 3.74 3.35 lineto closepath stroke 3.81 3.69 moveto 3.82 3.61 lineto closepath stroke 3.81 3.69 moveto 3.70 3.69 lineto closepath stroke 3.81 3.69 moveto 3.79 3.77 lineto closepath stroke 3.82 3.61 moveto 3.75 3.54 lineto closepath stroke 3.75 3.54 moveto 3.65 3.55 lineto closepath stroke 3.75 3.54 moveto 3.68 3.48 lineto closepath stroke 3.78 3.85 moveto 3.79 3.77 lineto closepath stroke 3.78 3.85 moveto 3.65 3.85 lineto closepath stroke 3.78 3.85 moveto 3.75 3.94 lineto closepath stroke 3.79 3.77 moveto 3.70 3.69 lineto closepath stroke 3.70 3.69 moveto 3.59 3.70 lineto closepath stroke 3.70 3.69 moveto 3.61 3.62 lineto closepath stroke 3.74 4.03 moveto 3.75 3.94 lineto closepath stroke 3.74 4.03 moveto 3.59 4.03 lineto closepath stroke 3.74 4.03 moveto 3.71 4.12 lineto closepath stroke 3.75 3.94 moveto 3.65 3.85 lineto closepath stroke 3.65 3.85 moveto 3.52 3.86 lineto closepath stroke 3.65 3.85 moveto 3.54 3.78 lineto closepath stroke 3.70 4.22 moveto 3.71 4.12 lineto closepath stroke 3.70 4.22 moveto 3.53 4.23 lineto closepath stroke 3.70 4.22 moveto 3.66 4.33 lineto closepath stroke 3.71 4.12 moveto 3.59 4.03 lineto closepath stroke 3.59 4.03 moveto 3.44 4.04 lineto closepath stroke 3.59 4.03 moveto 3.47 3.95 lineto closepath stroke 3.65 4.44 moveto 3.66 4.33 lineto closepath stroke 3.65 4.44 moveto 3.46 4.44 lineto closepath stroke 3.65 4.44 moveto 3.62 4.55 lineto closepath stroke 3.66 4.33 moveto 3.53 4.23 lineto closepath stroke 3.53 4.23 moveto 3.35 4.24 lineto closepath stroke 3.53 4.23 moveto 3.38 4.14 lineto closepath stroke 3.60 4.67 moveto 3.62 4.55 lineto closepath stroke 3.60 4.67 moveto 3.38 4.68 lineto closepath stroke 3.60 4.67 moveto 3.56 4.80 lineto closepath stroke 3.62 4.55 moveto 3.46 4.44 lineto closepath stroke 3.46 4.44 moveto 3.25 4.46 lineto closepath stroke 3.46 4.44 moveto 3.29 4.34 lineto closepath stroke 3.55 4.93 moveto 3.56 4.80 lineto closepath stroke 3.55 4.93 moveto 3.29 4.94 lineto closepath stroke 3.55 4.93 moveto 3.50 5.07 lineto closepath stroke 3.56 4.80 moveto 3.38 4.68 lineto closepath stroke 3.38 4.68 moveto 3.14 4.69 lineto closepath stroke 3.38 4.68 moveto 3.18 4.57 lineto closepath stroke 3.49 5.22 moveto 3.50 5.07 lineto closepath stroke 3.49 5.22 moveto 3.20 5.23 lineto closepath stroke 3.49 5.22 moveto 3.44 5.37 lineto closepath stroke 3.50 5.07 moveto 3.29 4.94 lineto closepath stroke 3.29 4.94 moveto 3.03 4.96 lineto closepath stroke 3.29 4.94 moveto 3.07 4.82 lineto closepath stroke 3.42 5.69 moveto 3.44 5.37 lineto closepath stroke 3.42 5.69 moveto 3.37 6.00 lineto closepath stroke 3.42 5.69 moveto 3.10 5.69 lineto closepath stroke 3.44 5.37 moveto 3.20 5.23 lineto closepath stroke 3.20 5.23 moveto 2.90 5.25 lineto closepath stroke 3.20 5.23 moveto 2.95 5.10 lineto closepath stroke 3.37 6.00 moveto 3.10 5.69 lineto closepath stroke 3.10 5.69 moveto 2.76 5.71 lineto closepath stroke 3.10 5.69 moveto 2.81 5.40 lineto closepath stroke 3.77 3.29 moveto 3.79 3.23 lineto closepath stroke 3.77 3.29 moveto 3.69 3.29 lineto closepath stroke 3.77 3.29 moveto 3.74 3.35 lineto closepath stroke 3.72 3.41 moveto 3.74 3.35 lineto closepath stroke 3.72 3.41 moveto 3.62 3.42 lineto closepath stroke 3.72 3.41 moveto 3.68 3.48 lineto closepath stroke 3.74 3.35 moveto 3.69 3.29 lineto closepath stroke 3.69 3.29 moveto 3.61 3.30 lineto closepath stroke 3.69 3.29 moveto 3.65 3.24 lineto closepath stroke 3.65 3.55 moveto 3.68 3.48 lineto closepath stroke 3.65 3.55 moveto 3.54 3.55 lineto closepath stroke 3.65 3.55 moveto 3.61 3.62 lineto closepath stroke 3.68 3.48 moveto 3.62 3.42 lineto closepath stroke 3.62 3.42 moveto 3.52 3.42 lineto closepath stroke 3.62 3.42 moveto 3.56 3.36 lineto closepath stroke 3.59 3.70 moveto 3.61 3.62 lineto closepath stroke 3.59 3.70 moveto 3.46 3.70 lineto closepath stroke 3.59 3.70 moveto 3.54 3.78 lineto closepath stroke 3.61 3.62 moveto 3.54 3.55 lineto closepath stroke 3.54 3.55 moveto 3.42 3.56 lineto closepath stroke 3.54 3.55 moveto 3.46 3.49 lineto closepath stroke 3.52 3.86 moveto 3.54 3.78 lineto closepath stroke 3.52 3.86 moveto 3.36 3.87 lineto closepath stroke 3.52 3.86 moveto 3.47 3.95 lineto closepath stroke 3.54 3.78 moveto 3.46 3.70 lineto closepath stroke 3.46 3.70 moveto 3.31 3.71 lineto closepath stroke 3.46 3.70 moveto 3.36 3.63 lineto closepath stroke 3.44 4.04 moveto 3.47 3.95 lineto closepath stroke 3.44 4.04 moveto 3.26 4.05 lineto closepath stroke 3.44 4.04 moveto 3.38 4.14 lineto closepath stroke 3.47 3.95 moveto 3.36 3.87 lineto closepath stroke 3.36 3.87 moveto 3.26 3.80 lineto closepath stroke 3.36 3.87 moveto 3.31 3.71 lineto closepath stroke 3.35 4.24 moveto 3.38 4.14 lineto closepath stroke 3.35 4.24 moveto 3.14 4.25 lineto closepath stroke 3.35 4.24 moveto 3.29 4.34 lineto closepath stroke 3.38 4.14 moveto 3.26 4.05 lineto closepath stroke 3.26 4.05 moveto 3.13 3.97 lineto closepath stroke 3.26 4.05 moveto 3.19 3.88 lineto closepath stroke 3.25 4.46 moveto 3.29 4.34 lineto closepath stroke 3.25 4.46 moveto 3.02 4.47 lineto closepath stroke 3.25 4.46 moveto 3.18 4.57 lineto closepath stroke 3.29 4.34 moveto 3.14 4.25 lineto closepath stroke 3.14 4.25 moveto 3.00 4.16 lineto closepath stroke 3.14 4.25 moveto 3.06 4.06 lineto closepath stroke 3.14 4.69 moveto 3.18 4.57 lineto closepath stroke 3.14 4.69 moveto 2.88 4.71 lineto closepath stroke 3.14 4.69 moveto 3.07 4.82 lineto closepath stroke 3.18 4.57 moveto 3.02 4.47 lineto closepath stroke 3.02 4.47 moveto 2.84 4.37 lineto closepath stroke 3.02 4.47 moveto 2.91 4.26 lineto closepath stroke 3.03 4.96 moveto 3.07 4.82 lineto closepath stroke 3.03 4.96 moveto 2.72 4.98 lineto closepath stroke 3.03 4.96 moveto 2.95 5.10 lineto closepath stroke 3.07 4.82 moveto 2.88 4.71 lineto closepath stroke 2.88 4.71 moveto 2.67 4.61 lineto closepath stroke 2.88 4.71 moveto 2.75 4.48 lineto closepath stroke 2.90 5.25 moveto 2.95 5.10 lineto closepath stroke 2.90 5.25 moveto 2.55 5.27 lineto closepath stroke 2.90 5.25 moveto 2.81 5.40 lineto closepath stroke 2.95 5.10 moveto 2.72 4.98 lineto closepath stroke 2.72 4.98 moveto 2.49 4.86 lineto closepath stroke 2.72 4.98 moveto 2.57 4.72 lineto closepath stroke 2.76 5.71 moveto 2.81 5.40 lineto closepath stroke 2.76 5.71 moveto 2.66 6.00 lineto closepath stroke 2.76 5.71 moveto 2.37 5.71 lineto closepath stroke 2.81 5.40 moveto 2.55 5.27 lineto closepath stroke 2.55 5.27 moveto 2.28 5.14 lineto closepath stroke 2.55 5.27 moveto 2.37 4.99 lineto closepath stroke 2.66 6.00 moveto 2.37 5.71 lineto closepath stroke 2.37 5.71 moveto 1.92 5.73 lineto closepath stroke 2.37 5.71 moveto 2.02 5.44 lineto closepath stroke 3.61 3.30 moveto 3.65 3.24 lineto closepath stroke 3.61 3.30 moveto 3.51 3.30 lineto closepath stroke 3.61 3.30 moveto 3.56 3.36 lineto closepath stroke 3.52 3.42 moveto 3.56 3.36 lineto closepath stroke 3.52 3.42 moveto 3.40 3.43 lineto closepath stroke 3.52 3.42 moveto 3.46 3.49 lineto closepath stroke 3.56 3.36 moveto 3.51 3.30 lineto closepath stroke 3.51 3.30 moveto 3.41 3.30 lineto closepath stroke 3.51 3.30 moveto 3.46 3.24 lineto closepath stroke 3.42 3.56 moveto 3.46 3.49 lineto closepath stroke 3.42 3.56 moveto 3.28 3.56 lineto closepath stroke 3.42 3.56 moveto 3.36 3.63 lineto closepath stroke 3.46 3.49 moveto 3.40 3.43 lineto closepath stroke 3.40 3.43 moveto 3.35 3.36 lineto closepath stroke 3.40 3.43 moveto 3.41 3.30 lineto closepath stroke 3.31 3.71 moveto 3.36 3.63 lineto closepath stroke 3.31 3.71 moveto 3.26 3.80 lineto closepath stroke 3.36 3.63 moveto 3.28 3.56 lineto closepath stroke 3.28 3.56 moveto 3.20 3.49 lineto closepath stroke 3.28 3.56 moveto 3.27 3.42 lineto closepath stroke 3.26 3.80 moveto 3.14 3.72 lineto closepath stroke 3.26 3.80 moveto 3.19 3.88 lineto closepath stroke 3.13 3.97 moveto 3.19 3.88 lineto closepath stroke 3.13 3.97 moveto 2.99 3.88 lineto closepath stroke 3.13 3.97 moveto 3.06 4.06 lineto closepath stroke 3.19 3.88 moveto 3.14 3.72 lineto closepath stroke 3.14 3.72 moveto 3.04 3.64 lineto closepath stroke 3.14 3.72 moveto 3.11 3.56 lineto closepath stroke 3.00 4.16 moveto 3.06 4.06 lineto closepath stroke 3.00 4.16 moveto 2.82 4.07 lineto closepath stroke 3.00 4.16 moveto 2.91 4.26 lineto closepath stroke 3.06 4.06 moveto 2.99 3.88 lineto closepath stroke 2.99 3.88 moveto 2.86 3.80 lineto closepath stroke 2.99 3.88 moveto 2.94 3.71 lineto closepath stroke 2.84 4.37 moveto 2.91 4.26 lineto closepath stroke 2.84 4.37 moveto 2.64 4.27 lineto closepath stroke 2.84 4.37 moveto 2.75 4.48 lineto closepath stroke 2.91 4.26 moveto 2.82 4.07 lineto closepath stroke 2.82 4.07 moveto 2.67 3.97 lineto closepath stroke 2.82 4.07 moveto 2.75 3.88 lineto closepath stroke 2.67 4.61 moveto 2.75 4.48 lineto closepath stroke 2.67 4.61 moveto 2.44 4.49 lineto closepath stroke 2.67 4.61 moveto 2.57 4.72 lineto closepath stroke 2.75 4.48 moveto 2.64 4.27 lineto closepath stroke 2.64 4.27 moveto 2.45 4.17 lineto closepath stroke 2.64 4.27 moveto 2.55 4.06 lineto closepath stroke 2.49 4.86 moveto 2.57 4.72 lineto closepath stroke 2.49 4.86 moveto 2.22 4.74 lineto closepath stroke 2.49 4.86 moveto 2.37 4.99 lineto closepath stroke 2.57 4.72 moveto 2.44 4.49 lineto closepath stroke 2.44 4.49 moveto 2.22 4.38 lineto closepath stroke 2.44 4.49 moveto 2.32 4.26 lineto closepath stroke 2.28 5.14 moveto 2.37 4.99 lineto closepath stroke 2.28 5.14 moveto 1.97 5.01 lineto closepath stroke 2.28 5.14 moveto 2.16 5.29 lineto closepath stroke 2.37 4.99 moveto 2.22 4.74 lineto closepath stroke 2.22 4.74 moveto 1.96 4.61 lineto closepath stroke 2.22 4.74 moveto 2.07 4.48 lineto closepath stroke 1.97 5.01 moveto 2.16 5.29 lineto closepath stroke 1.97 5.01 moveto 1.67 4.87 lineto closepath stroke 1.97 5.01 moveto 1.80 4.72 lineto closepath stroke 2.16 5.29 moveto 1.71 5.31 lineto closepath stroke 2.16 5.29 moveto 2.02 5.44 lineto closepath stroke 1.92 5.73 moveto 2.02 5.44 lineto closepath stroke 1.92 5.73 moveto 1.77 6.00 lineto closepath stroke 1.92 5.73 moveto 1.41 5.73 lineto closepath stroke 2.02 5.44 moveto 1.71 5.31 lineto closepath stroke 1.71 5.31 moveto 1.36 5.15 lineto closepath stroke 1.71 5.31 moveto 1.50 4.99 lineto closepath stroke 1.77 6.00 moveto 1.41 5.73 lineto closepath stroke 1.41 5.73 moveto 1.02 5.56 lineto closepath stroke 1.41 5.73 moveto 1.17 5.29 lineto closepath stroke 3.41 3.30 moveto 3.46 3.24 lineto closepath stroke 3.41 3.30 moveto 3.35 3.36 lineto closepath stroke 3.35 3.36 moveto 3.27 3.29 lineto closepath stroke 3.35 3.36 moveto 3.27 3.42 lineto closepath stroke 3.20 3.49 moveto 3.27 3.42 lineto closepath stroke 3.20 3.49 moveto 3.10 3.42 lineto closepath stroke 3.20 3.49 moveto 3.11 3.56 lineto closepath stroke 3.27 3.42 moveto 3.27 3.29 lineto closepath stroke 3.27 3.29 moveto 3.13 3.28 lineto closepath stroke 3.27 3.29 moveto 3.21 3.22 lineto closepath stroke 3.04 3.64 moveto 3.11 3.56 lineto closepath stroke 3.04 3.64 moveto 2.91 3.55 lineto closepath stroke 3.04 3.64 moveto 2.94 3.71 lineto closepath stroke 3.11 3.56 moveto 3.10 3.42 lineto closepath stroke 3.10 3.42 moveto 3.04 3.35 lineto closepath stroke 3.10 3.42 moveto 3.13 3.28 lineto closepath stroke 2.86 3.80 moveto 2.94 3.71 lineto closepath stroke 2.86 3.80 moveto 2.71 3.70 lineto closepath stroke 2.86 3.80 moveto 2.75 3.88 lineto closepath stroke 2.94 3.71 moveto 2.91 3.55 lineto closepath stroke 2.91 3.55 moveto 2.82 3.47 lineto closepath stroke 2.91 3.55 moveto 2.92 3.40 lineto closepath stroke 2.67 3.97 moveto 2.75 3.88 lineto closepath stroke 2.67 3.97 moveto 2.48 3.87 lineto closepath stroke 2.67 3.97 moveto 2.55 4.06 lineto closepath stroke 2.75 3.88 moveto 2.71 3.70 lineto closepath stroke 2.71 3.70 moveto 2.59 3.60 lineto closepath stroke 2.71 3.70 moveto 2.70 3.53 lineto closepath stroke 2.45 4.17 moveto 2.55 4.06 lineto closepath stroke 2.45 4.17 moveto 2.23 4.05 lineto closepath stroke 2.45 4.17 moveto 2.32 4.26 lineto closepath stroke 2.55 4.06 moveto 2.48 3.87 lineto closepath stroke 2.48 3.87 moveto 2.33 3.75 lineto closepath stroke 2.48 3.87 moveto 2.45 3.67 lineto closepath stroke 2.22 4.38 moveto 2.32 4.26 lineto closepath stroke 2.22 4.38 moveto 1.96 4.25 lineto closepath stroke 2.22 4.38 moveto 2.07 4.48 lineto closepath stroke 2.32 4.26 moveto 2.23 4.05 lineto closepath stroke 2.23 4.05 moveto 2.04 3.92 lineto closepath stroke 2.23 4.05 moveto 2.17 3.82 lineto closepath stroke 1.96 4.61 moveto 2.07 4.48 lineto closepath stroke 1.96 4.61 moveto 1.66 4.47 lineto closepath stroke 1.96 4.61 moveto 1.80 4.72 lineto closepath stroke 2.07 4.48 moveto 1.96 4.25 lineto closepath stroke 1.96 4.25 moveto 1.73 4.10 lineto closepath stroke 1.96 4.25 moveto 1.87 3.99 lineto closepath stroke 1.67 4.87 moveto 1.80 4.72 lineto closepath stroke 1.67 4.87 moveto 1.33 4.71 lineto closepath stroke 1.67 4.87 moveto 1.50 4.99 lineto closepath stroke 1.80 4.72 moveto 1.66 4.47 lineto closepath stroke 1.66 4.47 moveto 1.38 4.30 lineto closepath stroke 1.66 4.47 moveto 1.54 4.18 lineto closepath stroke 1.36 5.15 moveto 1.50 4.99 lineto closepath stroke 1.36 5.15 moveto 0.96 4.97 lineto closepath stroke 1.36 5.15 moveto 1.17 5.29 lineto closepath stroke 1.50 4.99 moveto 1.33 4.71 lineto closepath stroke 1.33 4.71 moveto 1.00 4.51 lineto closepath stroke 1.33 4.71 moveto 1.18 4.39 lineto closepath stroke 1.02 5.56 moveto 1.17 5.29 lineto closepath stroke 1.02 5.56 moveto 0.63 6.00 lineto closepath stroke 1.02 5.56 moveto 0.39 5.56 lineto closepath stroke 1.17 5.29 moveto 0.96 4.97 lineto closepath stroke 0.96 4.97 moveto 0.81 4.65 lineto closepath stroke 0.96 4.97 moveto 1.00 4.51 lineto closepath stroke 0.63 6.00 moveto 0.39 5.56 lineto closepath stroke 0.39 5.56 moveto 0.00 5.71 lineto closepath stroke 0.39 5.56 moveto 0.39 5.26 lineto closepath stroke 0.00 5.71 moveto 0.39 5.26 lineto closepath stroke 0.39 5.26 moveto 0.39 4.75 lineto closepath stroke 0.39 5.26 moveto 0.00 4.91 lineto closepath stroke 3.13 3.28 moveto 3.21 3.22 lineto closepath stroke 3.13 3.28 moveto 3.04 3.35 lineto closepath stroke 3.04 3.35 moveto 2.95 3.26 lineto closepath stroke 3.04 3.35 moveto 2.92 3.40 lineto closepath stroke 2.82 3.47 moveto 2.92 3.40 lineto closepath stroke 2.82 3.47 moveto 2.70 3.37 lineto closepath stroke 2.82 3.47 moveto 2.70 3.53 lineto closepath stroke 2.92 3.40 moveto 2.95 3.26 lineto closepath stroke 2.95 3.26 moveto 2.77 3.22 lineto closepath stroke 2.95 3.26 moveto 2.89 3.17 lineto closepath stroke 2.59 3.60 moveto 2.70 3.53 lineto closepath stroke 2.59 3.60 moveto 2.43 3.49 lineto closepath stroke 2.59 3.60 moveto 2.45 3.67 lineto closepath stroke 2.70 3.53 moveto 2.70 3.37 lineto closepath stroke 2.70 3.37 moveto 2.64 3.28 lineto closepath stroke 2.70 3.37 moveto 2.77 3.22 lineto closepath stroke 2.33 3.75 moveto 2.45 3.67 lineto closepath stroke 2.33 3.75 moveto 2.14 3.62 lineto closepath stroke 2.33 3.75 moveto 2.17 3.82 lineto closepath stroke 2.45 3.67 moveto 2.43 3.49 lineto closepath stroke 2.43 3.49 moveto 2.34 3.38 lineto closepath stroke 2.43 3.49 moveto 2.48 3.32 lineto closepath stroke 2.04 3.92 moveto 2.17 3.82 lineto closepath stroke 2.04 3.92 moveto 1.81 3.77 lineto closepath stroke 2.04 3.92 moveto 1.87 3.99 lineto closepath stroke 2.17 3.82 moveto 2.14 3.62 lineto closepath stroke 2.14 3.62 moveto 2.00 3.49 lineto closepath stroke 2.14 3.62 moveto 2.16 3.42 lineto closepath stroke 1.73 4.10 moveto 1.87 3.99 lineto closepath stroke 1.73 4.10 moveto 1.45 3.93 lineto closepath stroke 1.73 4.10 moveto 1.54 4.18 lineto closepath stroke 1.87 3.99 moveto 1.81 3.77 lineto closepath stroke 1.81 3.77 moveto 1.64 3.60 lineto closepath stroke 1.81 3.77 moveto 1.81 3.53 lineto closepath stroke 1.38 4.30 moveto 1.54 4.18 lineto closepath stroke 1.38 4.30 moveto 1.06 4.10 lineto closepath stroke 1.38 4.30 moveto 1.18 4.39 lineto closepath stroke 1.54 4.18 moveto 1.45 3.93 lineto closepath stroke 1.45 3.93 moveto 1.23 3.73 lineto closepath stroke 1.45 3.93 moveto 1.42 3.65 lineto closepath stroke 0.81 4.65 moveto 1.00 4.51 lineto closepath stroke 0.81 4.65 moveto 0.39 4.75 lineto closepath stroke 0.81 4.65 moveto 0.43 4.30 lineto closepath stroke 1.00 4.51 moveto 1.18 4.39 lineto closepath stroke 1.18 4.39 moveto 1.06 4.10 lineto closepath stroke 1.06 4.10 moveto 0.79 3.88 lineto closepath stroke 1.06 4.10 moveto 1.00 3.78 lineto closepath stroke 0.39 4.75 moveto 0.43 4.30 lineto closepath stroke 0.39 4.75 moveto 0.00 4.91 lineto closepath stroke 0.43 4.30 moveto 0.00 4.03 lineto closepath stroke 0.43 4.30 moveto 0.43 3.93 lineto closepath stroke 2.77 3.22 moveto 2.89 3.17 lineto closepath stroke 2.77 3.22 moveto 2.64 3.28 lineto closepath stroke 2.64 3.28 moveto 2.54 3.17 lineto closepath stroke 2.64 3.28 moveto 2.48 3.32 lineto closepath stroke 2.34 3.38 moveto 2.48 3.32 lineto closepath stroke 2.34 3.38 moveto 2.20 3.24 lineto closepath stroke 2.34 3.38 moveto 2.16 3.42 lineto closepath stroke 2.48 3.32 moveto 2.54 3.17 lineto closepath stroke 2.54 3.17 moveto 2.33 3.10 lineto closepath stroke 2.54 3.17 moveto 2.49 3.07 lineto closepath stroke 2.00 3.49 moveto 2.16 3.42 lineto closepath stroke 2.00 3.49 moveto 1.83 3.32 lineto closepath stroke 2.00 3.49 moveto 1.81 3.53 lineto closepath stroke 2.16 3.42 moveto 2.20 3.24 lineto closepath stroke 2.20 3.24 moveto 2.15 3.14 lineto closepath stroke 2.20 3.24 moveto 2.33 3.10 lineto closepath stroke 1.64 3.60 moveto 1.81 3.53 lineto closepath stroke 1.64 3.60 moveto 1.42 3.41 lineto closepath stroke 1.64 3.60 moveto 1.42 3.65 lineto closepath stroke 1.81 3.53 moveto 1.83 3.32 lineto closepath stroke 1.83 3.32 moveto 1.74 3.18 lineto closepath stroke 1.83 3.32 moveto 1.94 3.14 lineto closepath stroke 1.23 3.73 moveto 1.42 3.65 lineto closepath stroke 1.23 3.73 moveto 0.96 3.51 lineto closepath stroke 1.23 3.73 moveto 1.00 3.78 lineto closepath stroke 1.42 3.65 moveto 1.42 3.41 lineto closepath stroke 1.42 3.41 moveto 1.29 3.23 lineto closepath stroke 1.42 3.41 moveto 1.50 3.18 lineto closepath stroke 0.79 3.88 moveto 1.00 3.78 lineto closepath stroke 0.79 3.88 moveto 0.36 3.61 lineto closepath stroke 0.79 3.88 moveto 0.43 3.93 lineto closepath stroke 1.00 3.78 moveto 0.96 3.51 lineto closepath stroke 0.96 3.51 moveto 0.79 3.28 lineto closepath stroke 0.96 3.51 moveto 1.03 3.23 lineto closepath stroke 0.00 4.03 moveto 0.43 3.93 lineto closepath stroke 0.43 3.93 moveto 0.36 3.61 lineto closepath stroke 0.36 3.61 moveto 0.00 3.33 lineto closepath stroke 0.36 3.61 moveto 0.36 3.28 lineto closepath stroke 2.33 3.10 moveto 2.49 3.07 lineto closepath stroke 2.33 3.10 moveto 2.15 3.14 lineto closepath stroke 2.15 3.14 moveto 2.06 3.00 lineto closepath stroke 2.15 3.14 moveto 1.94 3.14 lineto closepath stroke 1.74 3.18 moveto 1.94 3.14 lineto closepath stroke 1.74 3.18 moveto 1.61 3.00 lineto closepath stroke 1.74 3.18 moveto 1.50 3.18 lineto closepath stroke 1.94 3.14 moveto 2.06 3.00 lineto closepath stroke 2.06 3.00 moveto 1.94 2.86 lineto closepath stroke 2.06 3.00 moveto 2.15 2.86 lineto closepath stroke 1.29 3.23 moveto 1.50 3.18 lineto closepath stroke 1.29 3.23 moveto 1.12 3.00 lineto closepath stroke 1.29 3.23 moveto 1.03 3.23 lineto closepath stroke 1.50 3.18 moveto 1.61 3.00 lineto closepath stroke 1.61 3.00 moveto 1.50 2.82 lineto closepath stroke 1.61 3.00 moveto 1.74 2.82 lineto closepath stroke 0.79 3.28 moveto 1.03 3.23 lineto closepath stroke 0.79 3.28 moveto 0.43 3.00 lineto closepath stroke 0.79 3.28 moveto 0.36 3.28 lineto closepath stroke 1.03 3.23 moveto 1.12 3.00 lineto closepath stroke 1.12 3.00 moveto 1.03 2.77 lineto closepath stroke 1.12 3.00 moveto 1.29 2.77 lineto closepath stroke 0.00 3.33 moveto 0.36 3.28 lineto closepath stroke 0.36 3.28 moveto 0.43 3.00 lineto closepath stroke 0.43 3.00 moveto 0.36 2.72 lineto closepath stroke 0.43 3.00 moveto 0.79 2.72 lineto closepath stroke 5.85 2.85 moveto 6.00 2.85 lineto closepath stroke 5.85 2.85 moveto 5.85 2.70 lineto closepath stroke 5.85 2.85 moveto 5.61 2.85 lineto closepath stroke 6.00 2.85 moveto 5.85 2.70 lineto closepath stroke 5.85 2.70 moveto 6.00 2.51 lineto closepath stroke 5.85 2.70 moveto 5.85 2.51 lineto closepath stroke 2.54 2.83 moveto 2.33 2.90 lineto closepath stroke 2.54 2.83 moveto 2.49 2.93 lineto closepath stroke 2.54 2.83 moveto 2.64 2.72 lineto closepath stroke 2.54 2.83 moveto 2.48 2.68 lineto closepath stroke 2.33 2.90 moveto 2.49 2.93 lineto closepath stroke 2.33 2.90 moveto 2.20 2.76 lineto closepath stroke 2.33 2.90 moveto 2.15 2.86 lineto closepath stroke 1.94 2.86 moveto 2.15 2.86 lineto closepath stroke 1.94 2.86 moveto 1.83 2.68 lineto closepath stroke 1.94 2.86 moveto 1.74 2.82 lineto closepath stroke 2.15 2.86 moveto 2.20 2.76 lineto closepath stroke 2.20 2.76 moveto 2.16 2.58 lineto closepath stroke 2.20 2.76 moveto 2.34 2.62 lineto closepath stroke 1.50 2.82 moveto 1.74 2.82 lineto closepath stroke 1.50 2.82 moveto 1.42 2.59 lineto closepath stroke 1.50 2.82 moveto 1.29 2.77 lineto closepath stroke 1.74 2.82 moveto 1.83 2.68 lineto closepath stroke 1.83 2.68 moveto 1.81 2.47 lineto closepath stroke 1.83 2.68 moveto 2.00 2.51 lineto closepath stroke 1.03 2.77 moveto 1.29 2.77 lineto closepath stroke 1.03 2.77 moveto 0.96 2.49 lineto closepath stroke 1.03 2.77 moveto 0.79 2.72 lineto closepath stroke 1.29 2.77 moveto 1.42 2.59 lineto closepath stroke 1.42 2.59 moveto 1.42 2.35 lineto closepath stroke 1.42 2.59 moveto 1.64 2.40 lineto closepath stroke 0.36 2.72 moveto 0.79 2.72 lineto closepath stroke 0.36 2.72 moveto 0.00 2.67 lineto closepath stroke 0.36 2.72 moveto 0.36 2.39 lineto closepath stroke 0.79 2.72 moveto 0.96 2.49 lineto closepath stroke 0.96 2.49 moveto 1.00 2.22 lineto closepath stroke 0.96 2.49 moveto 1.23 2.27 lineto closepath stroke 0.00 2.67 moveto 0.36 2.39 lineto closepath stroke 0.36 2.39 moveto 0.43 2.07 lineto closepath stroke 0.36 2.39 moveto 0.79 2.12 lineto closepath stroke 6.00 2.51 moveto 5.85 2.51 lineto closepath stroke 5.85 2.51 moveto 5.63 2.56 lineto closepath stroke 5.85 2.51 moveto 5.78 2.37 lineto closepath stroke 5.61 2.85 moveto 5.59 2.72 lineto closepath stroke 5.61 2.85 moveto 5.49 2.87 lineto closepath stroke 2.77 2.78 moveto 2.89 2.83 lineto closepath stroke 2.77 2.78 moveto 2.95 2.74 lineto closepath stroke 2.77 2.78 moveto 2.64 2.72 lineto closepath stroke 2.77 2.78 moveto 2.70 2.63 lineto closepath stroke 2.89 2.83 moveto 2.95 2.74 lineto closepath stroke 2.95 2.74 moveto 3.04 2.65 lineto closepath stroke 2.95 2.74 moveto 2.92 2.60 lineto closepath stroke 2.64 2.72 moveto 2.70 2.63 lineto closepath stroke 2.64 2.72 moveto 2.48 2.68 lineto closepath stroke 2.70 2.63 moveto 2.82 2.53 lineto closepath stroke 2.70 2.63 moveto 2.70 2.47 lineto closepath stroke 2.48 2.68 moveto 2.43 2.51 lineto closepath stroke 2.48 2.68 moveto 2.34 2.62 lineto closepath stroke 2.16 2.58 moveto 2.34 2.62 lineto closepath stroke 2.16 2.58 moveto 2.14 2.38 lineto closepath stroke 2.16 2.58 moveto 2.00 2.51 lineto closepath stroke 2.34 2.62 moveto 2.43 2.51 lineto closepath stroke 2.43 2.51 moveto 2.59 2.40 lineto closepath stroke 2.43 2.51 moveto 2.45 2.33 lineto closepath stroke 1.81 2.47 moveto 2.00 2.51 lineto closepath stroke 1.81 2.47 moveto 1.81 2.23 lineto closepath stroke 1.81 2.47 moveto 1.64 2.40 lineto closepath stroke 2.00 2.51 moveto 2.14 2.38 lineto closepath stroke 2.14 2.38 moveto 2.33 2.25 lineto closepath stroke 2.14 2.38 moveto 2.17 2.18 lineto closepath stroke 1.42 2.35 moveto 1.64 2.40 lineto closepath stroke 1.42 2.35 moveto 1.45 2.07 lineto closepath stroke 1.42 2.35 moveto 1.23 2.27 lineto closepath stroke 1.64 2.40 moveto 1.81 2.23 lineto closepath stroke 1.81 2.23 moveto 2.04 2.08 lineto closepath stroke 1.81 2.23 moveto 1.87 2.01 lineto closepath stroke 1.00 2.22 moveto 1.23 2.27 lineto closepath stroke 1.00 2.22 moveto 1.06 1.90 lineto closepath stroke 1.00 2.22 moveto 0.79 2.12 lineto closepath stroke 1.23 2.27 moveto 1.45 2.07 lineto closepath stroke 1.45 2.07 moveto 1.54 1.82 lineto closepath stroke 1.45 2.07 moveto 1.73 1.90 lineto closepath stroke 0.43 2.07 moveto 0.79 2.12 lineto closepath stroke 0.43 2.07 moveto 0.00 1.97 lineto closepath stroke 0.43 2.07 moveto 0.43 1.70 lineto closepath stroke 0.79 2.12 moveto 1.06 1.90 lineto closepath stroke 1.06 1.90 moveto 1.18 1.61 lineto closepath stroke 1.06 1.90 moveto 1.38 1.70 lineto closepath stroke 0.00 1.97 moveto 0.43 1.70 lineto closepath stroke 0.43 1.70 moveto 0.39 1.25 lineto closepath stroke 0.43 1.70 moveto 0.81 1.35 lineto closepath stroke 5.59 2.72 moveto 5.49 2.87 lineto closepath stroke 5.59 2.72 moveto 5.63 2.56 lineto closepath stroke 5.59 2.72 moveto 5.51 2.59 lineto closepath stroke 5.49 2.87 moveto 5.38 2.87 lineto closepath stroke 5.63 2.56 moveto 5.51 2.59 lineto closepath stroke 5.63 2.56 moveto 5.78 2.37 lineto closepath stroke 5.51 2.59 moveto 5.45 2.47 lineto closepath stroke 5.51 2.59 moveto 5.41 2.64 lineto closepath stroke 5.78 2.37 moveto 5.54 2.24 lineto closepath stroke 5.78 2.37 moveto 5.76 2.19 lineto closepath stroke 3.13 2.72 moveto 3.21 2.78 lineto closepath stroke 3.13 2.72 moveto 3.27 2.71 lineto closepath stroke 3.13 2.72 moveto 3.04 2.65 lineto closepath stroke 3.13 2.72 moveto 3.10 2.58 lineto closepath stroke 3.21 2.78 moveto 3.27 2.71 lineto closepath stroke 3.27 2.71 moveto 3.35 2.64 lineto closepath stroke 3.27 2.71 moveto 3.27 2.58 lineto closepath stroke 3.04 2.65 moveto 3.10 2.58 lineto closepath stroke 3.04 2.65 moveto 2.92 2.60 lineto closepath stroke 3.10 2.58 moveto 3.20 2.51 lineto closepath stroke 3.10 2.58 moveto 3.11 2.44 lineto closepath stroke 2.92 2.60 moveto 2.82 2.53 lineto closepath stroke 2.92 2.60 moveto 2.91 2.45 lineto closepath stroke 2.82 2.53 moveto 2.91 2.45 lineto closepath stroke 2.82 2.53 moveto 2.70 2.47 lineto closepath stroke 2.91 2.45 moveto 3.04 2.36 lineto closepath stroke 2.91 2.45 moveto 2.94 2.29 lineto closepath stroke 2.70 2.47 moveto 2.59 2.40 lineto closepath stroke 2.70 2.47 moveto 2.71 2.30 lineto closepath stroke 2.59 2.40 moveto 2.71 2.30 lineto closepath stroke 2.59 2.40 moveto 2.45 2.33 lineto closepath stroke 2.71 2.30 moveto 2.86 2.20 lineto closepath stroke 2.71 2.30 moveto 2.75 2.12 lineto closepath stroke 2.45 2.33 moveto 2.33 2.25 lineto closepath stroke 2.45 2.33 moveto 2.48 2.13 lineto closepath stroke 2.33 2.25 moveto 2.48 2.13 lineto closepath stroke 2.33 2.25 moveto 2.17 2.18 lineto closepath stroke 2.48 2.13 moveto 2.67 2.03 lineto closepath stroke 2.48 2.13 moveto 2.55 1.94 lineto closepath stroke 2.17 2.18 moveto 2.04 2.08 lineto closepath stroke 2.17 2.18 moveto 2.23 1.95 lineto closepath stroke 2.04 2.08 moveto 2.23 1.95 lineto closepath stroke 2.04 2.08 moveto 1.87 2.01 lineto closepath stroke 2.23 1.95 moveto 2.45 1.83 lineto closepath stroke 2.23 1.95 moveto 2.32 1.74 lineto closepath stroke 1.87 2.01 moveto 1.96 1.75 lineto closepath stroke 1.87 2.01 moveto 1.73 1.90 lineto closepath stroke 1.54 1.82 moveto 1.73 1.90 lineto closepath stroke 1.54 1.82 moveto 1.66 1.53 lineto closepath stroke 1.54 1.82 moveto 1.38 1.70 lineto closepath stroke 1.73 1.90 moveto 1.96 1.75 lineto closepath stroke 1.96 1.75 moveto 2.22 1.62 lineto closepath stroke 1.96 1.75 moveto 2.07 1.52 lineto closepath stroke 1.18 1.61 moveto 1.38 1.70 lineto closepath stroke 1.18 1.61 moveto 1.00 1.49 lineto closepath stroke 1.18 1.61 moveto 1.33 1.29 lineto closepath stroke 1.38 1.70 moveto 1.66 1.53 lineto closepath stroke 1.66 1.53 moveto 1.96 1.39 lineto closepath stroke 1.66 1.53 moveto 1.80 1.28 lineto closepath stroke 1.00 1.49 moveto 1.33 1.29 lineto closepath stroke 1.00 1.49 moveto 0.96 1.03 lineto closepath stroke 1.00 1.49 moveto 0.81 1.35 lineto closepath stroke 1.33 1.29 moveto 1.67 1.13 lineto closepath stroke 1.33 1.29 moveto 1.50 1.01 lineto closepath stroke 0.39 1.25 moveto 0.81 1.35 lineto closepath stroke 0.39 1.25 moveto 0.00 1.09 lineto closepath stroke 0.39 1.25 moveto 0.39 0.74 lineto closepath stroke 0.81 1.35 moveto 0.96 1.03 lineto closepath stroke 0.96 1.03 moveto 1.36 0.85 lineto closepath stroke 0.96 1.03 moveto 1.17 0.71 lineto closepath stroke 0.00 1.09 moveto 0.39 0.74 lineto closepath stroke 0.39 0.74 moveto 0.00 0.29 lineto closepath stroke 0.39 0.74 moveto 0.39 0.44 lineto closepath stroke 0.00 0.29 moveto 0.39 0.44 lineto closepath stroke 0.39 0.44 moveto 1.02 0.44 lineto closepath stroke 0.39 0.44 moveto 0.63 0.00 lineto closepath stroke 5.38 2.87 moveto 5.36 2.77 lineto closepath stroke 5.38 2.87 moveto 5.28 2.90 lineto closepath stroke 3.46 2.76 moveto 3.51 2.70 lineto closepath stroke 3.46 2.76 moveto 3.41 2.70 lineto closepath stroke 3.51 2.70 moveto 3.41 2.70 lineto closepath stroke 3.51 2.70 moveto 3.61 2.70 lineto closepath stroke 3.51 2.70 moveto 3.56 2.64 lineto closepath stroke 3.41 2.70 moveto 3.40 2.57 lineto closepath stroke 3.41 2.70 moveto 3.35 2.64 lineto closepath stroke 3.35 2.64 moveto 3.27 2.58 lineto closepath stroke 3.35 2.64 moveto 3.40 2.57 lineto closepath stroke 3.27 2.58 moveto 3.20 2.51 lineto closepath stroke 3.27 2.58 moveto 3.28 2.44 lineto closepath stroke 3.40 2.57 moveto 3.52 2.58 lineto closepath stroke 3.40 2.57 moveto 3.46 2.51 lineto closepath stroke 3.20 2.51 moveto 3.28 2.44 lineto closepath stroke 3.20 2.51 moveto 3.11 2.44 lineto closepath stroke 3.28 2.44 moveto 3.42 2.44 lineto closepath stroke 3.28 2.44 moveto 3.36 2.37 lineto closepath stroke 3.11 2.44 moveto 3.04 2.36 lineto closepath stroke 3.11 2.44 moveto 3.14 2.28 lineto closepath stroke 3.04 2.36 moveto 3.14 2.28 lineto closepath stroke 3.04 2.36 moveto 2.94 2.29 lineto closepath stroke 3.14 2.28 moveto 3.26 2.20 lineto closepath stroke 3.14 2.28 moveto 3.19 2.12 lineto closepath stroke 2.94 2.29 moveto 2.86 2.20 lineto closepath stroke 2.94 2.29 moveto 2.99 2.12 lineto closepath stroke 2.86 2.20 moveto 2.99 2.12 lineto closepath stroke 2.86 2.20 moveto 2.75 2.12 lineto closepath stroke 2.99 2.12 moveto 3.13 2.03 lineto closepath stroke 2.99 2.12 moveto 3.06 1.94 lineto closepath stroke 2.75 2.12 moveto 2.67 2.03 lineto closepath stroke 2.75 2.12 moveto 2.82 1.93 lineto closepath stroke 2.67 2.03 moveto 2.82 1.93 lineto closepath stroke 2.67 2.03 moveto 2.55 1.94 lineto closepath stroke 2.82 1.93 moveto 3.00 1.84 lineto closepath stroke 2.82 1.93 moveto 2.91 1.74 lineto closepath stroke 2.55 1.94 moveto 2.45 1.83 lineto closepath stroke 2.55 1.94 moveto 2.64 1.73 lineto closepath stroke 2.45 1.83 moveto 2.64 1.73 lineto closepath stroke 2.45 1.83 moveto 2.32 1.74 lineto closepath stroke 2.64 1.73 moveto 2.84 1.63 lineto closepath stroke 2.64 1.73 moveto 2.75 1.52 lineto closepath stroke 2.32 1.74 moveto 2.22 1.62 lineto closepath stroke 2.32 1.74 moveto 2.44 1.51 lineto closepath stroke 2.22 1.62 moveto 2.44 1.51 lineto closepath stroke 2.22 1.62 moveto 2.07 1.52 lineto closepath stroke 2.44 1.51 moveto 2.67 1.39 lineto closepath stroke 2.44 1.51 moveto 2.57 1.28 lineto closepath stroke 2.07 1.52 moveto 1.96 1.39 lineto closepath stroke 2.07 1.52 moveto 2.22 1.26 lineto closepath stroke 1.96 1.39 moveto 2.22 1.26 lineto closepath stroke 1.96 1.39 moveto 1.80 1.28 lineto closepath stroke 2.22 1.26 moveto 2.49 1.14 lineto closepath stroke 2.22 1.26 moveto 2.37 1.01 lineto closepath stroke 1.80 1.28 moveto 1.67 1.13 lineto closepath stroke 1.80 1.28 moveto 1.97 0.99 lineto closepath stroke 1.67 1.13 moveto 1.97 0.99 lineto closepath stroke 1.67 1.13 moveto 1.50 1.01 lineto closepath stroke 1.97 0.99 moveto 2.28 0.86 lineto closepath stroke 1.97 0.99 moveto 2.16 0.71 lineto closepath stroke 1.50 1.01 moveto 1.36 0.85 lineto closepath stroke 1.50 1.01 moveto 1.71 0.69 lineto closepath stroke 1.36 0.85 moveto 1.71 0.69 lineto closepath stroke 1.36 0.85 moveto 1.17 0.71 lineto closepath stroke 1.71 0.69 moveto 2.16 0.71 lineto closepath stroke 1.71 0.69 moveto 2.02 0.56 lineto closepath stroke 1.17 0.71 moveto 1.02 0.44 lineto closepath stroke 1.17 0.71 moveto 1.41 0.27 lineto closepath stroke 1.02 0.44 moveto 1.41 0.27 lineto closepath stroke 1.02 0.44 moveto 0.63 0.00 lineto closepath stroke 1.41 0.27 moveto 1.92 0.27 lineto closepath stroke 1.41 0.27 moveto 1.77 0.00 lineto closepath stroke 5.36 2.77 moveto 5.28 2.90 lineto closepath stroke 5.36 2.77 moveto 5.41 2.64 lineto closepath stroke 5.36 2.77 moveto 5.30 2.66 lineto closepath stroke 5.28 2.90 moveto 5.18 2.90 lineto closepath stroke 5.41 2.64 moveto 5.30 2.66 lineto closepath stroke 5.41 2.64 moveto 5.45 2.47 lineto closepath stroke 5.30 2.66 moveto 5.24 2.56 lineto closepath stroke 5.30 2.66 moveto 5.20 2.70 lineto closepath stroke 3.61 2.70 moveto 3.56 2.64 lineto closepath stroke 3.61 2.70 moveto 3.65 2.76 lineto closepath stroke 3.61 2.70 moveto 3.69 2.71 lineto closepath stroke 3.56 2.64 moveto 3.62 2.58 lineto closepath stroke 3.56 2.64 moveto 3.52 2.58 lineto closepath stroke 3.65 2.76 moveto 3.69 2.71 lineto closepath stroke 3.69 2.71 moveto 3.77 2.71 lineto closepath stroke 3.69 2.71 moveto 3.74 2.65 lineto closepath stroke 3.52 2.58 moveto 3.46 2.51 lineto closepath stroke 3.52 2.58 moveto 3.62 2.58 lineto closepath stroke 3.46 2.51 moveto 3.54 2.45 lineto closepath stroke 3.46 2.51 moveto 3.42 2.44 lineto closepath stroke 3.62 2.58 moveto 3.68 2.52 lineto closepath stroke 3.62 2.58 moveto 3.72 2.59 lineto closepath stroke 3.42 2.44 moveto 3.36 2.37 lineto closepath stroke 3.42 2.44 moveto 3.54 2.45 lineto closepath stroke 3.36 2.37 moveto 3.31 2.29 lineto closepath stroke 3.36 2.37 moveto 3.46 2.30 lineto closepath stroke 3.54 2.45 moveto 3.61 2.38 lineto closepath stroke 3.54 2.45 moveto 3.65 2.45 lineto closepath stroke 3.31 2.29 moveto 3.46 2.30 lineto closepath stroke 3.31 2.29 moveto 3.26 2.20 lineto closepath stroke 3.31 2.29 moveto 3.36 2.13 lineto closepath stroke 3.46 2.30 moveto 3.54 2.22 lineto closepath stroke 3.46 2.30 moveto 3.59 2.30 lineto closepath stroke 3.26 2.20 moveto 3.36 2.13 lineto closepath stroke 3.26 2.20 moveto 3.19 2.12 lineto closepath stroke 3.36 2.13 moveto 3.52 2.14 lineto closepath stroke 3.36 2.13 moveto 3.47 2.05 lineto closepath stroke 3.19 2.12 moveto 3.13 2.03 lineto closepath stroke 3.19 2.12 moveto 3.26 1.95 lineto closepath stroke 3.13 2.03 moveto 3.26 1.95 lineto closepath stroke 3.13 2.03 moveto 3.06 1.94 lineto closepath stroke 3.26 1.95 moveto 3.44 1.96 lineto closepath stroke 3.26 1.95 moveto 3.38 1.86 lineto closepath stroke 3.06 1.94 moveto 3.00 1.84 lineto closepath stroke 3.06 1.94 moveto 3.14 1.75 lineto closepath stroke 3.00 1.84 moveto 3.14 1.75 lineto closepath stroke 3.00 1.84 moveto 2.91 1.74 lineto closepath stroke 3.14 1.75 moveto 3.35 1.76 lineto closepath stroke 3.14 1.75 moveto 3.29 1.66 lineto closepath stroke 2.91 1.74 moveto 2.84 1.63 lineto closepath stroke 2.91 1.74 moveto 3.02 1.53 lineto closepath stroke 2.84 1.63 moveto 3.02 1.53 lineto closepath stroke 2.84 1.63 moveto 2.75 1.52 lineto closepath stroke 3.02 1.53 moveto 3.25 1.54 lineto closepath stroke 3.02 1.53 moveto 3.18 1.43 lineto closepath stroke 2.75 1.52 moveto 2.67 1.39 lineto closepath stroke 2.75 1.52 moveto 2.88 1.29 lineto closepath stroke 2.67 1.39 moveto 2.88 1.29 lineto closepath stroke 2.67 1.39 moveto 2.57 1.28 lineto closepath stroke 2.88 1.29 moveto 3.14 1.31 lineto closepath stroke 2.88 1.29 moveto 3.07 1.18 lineto closepath stroke 2.57 1.28 moveto 2.49 1.14 lineto closepath stroke 2.57 1.28 moveto 2.72 1.02 lineto closepath stroke 2.49 1.14 moveto 2.72 1.02 lineto closepath stroke 2.49 1.14 moveto 2.37 1.01 lineto closepath stroke 2.72 1.02 moveto 3.03 1.04 lineto closepath stroke 2.72 1.02 moveto 2.95 0.90 lineto closepath stroke 2.37 1.01 moveto 2.28 0.86 lineto closepath stroke 2.37 1.01 moveto 2.55 0.73 lineto closepath stroke 2.16 0.71 moveto 2.02 0.56 lineto closepath stroke 2.16 0.71 moveto 2.28 0.86 lineto closepath stroke 2.02 0.56 moveto 2.37 0.29 lineto closepath stroke 2.02 0.56 moveto 1.92 0.27 lineto closepath stroke 2.28 0.86 moveto 2.55 0.73 lineto closepath stroke 2.55 0.73 moveto 2.90 0.75 lineto closepath stroke 2.55 0.73 moveto 2.81 0.60 lineto closepath stroke 1.92 0.27 moveto 1.77 0.00 lineto closepath stroke 1.92 0.27 moveto 2.37 0.29 lineto closepath stroke 2.37 0.29 moveto 2.76 0.29 lineto closepath stroke 2.37 0.29 moveto 2.66 0.00 lineto closepath stroke 5.45 2.47 moveto 5.44 2.31 lineto closepath stroke 5.45 2.47 moveto 5.33 2.36 lineto closepath stroke 5.18 2.90 moveto 5.16 2.82 lineto closepath stroke 5.18 2.90 moveto 5.08 2.92 lineto closepath stroke 5.16 2.82 moveto 5.08 2.92 lineto closepath stroke 5.16 2.82 moveto 5.20 2.70 lineto closepath stroke 5.16 2.82 moveto 5.10 2.72 lineto closepath stroke 5.08 2.92 moveto 4.99 2.92 lineto closepath stroke 3.77 2.71 moveto 3.74 2.65 lineto closepath stroke 3.77 2.71 moveto 3.79 2.77 lineto closepath stroke 3.77 2.71 moveto 3.83 2.71 lineto closepath stroke 3.74 2.65 moveto 3.79 2.59 lineto closepath stroke 3.74 2.65 moveto 3.72 2.59 lineto closepath stroke 3.79 2.77 moveto 3.83 2.71 lineto closepath stroke 3.83 2.71 moveto 3.88 2.65 lineto closepath stroke 3.83 2.71 moveto 3.89 2.71 lineto closepath stroke 3.68 2.52 moveto 3.72 2.59 lineto closepath stroke 3.68 2.52 moveto 3.75 2.46 lineto closepath stroke 3.68 2.52 moveto 3.65 2.45 lineto closepath stroke 3.72 2.59 moveto 3.79 2.59 lineto closepath stroke 3.79 2.59 moveto 3.85 2.53 lineto closepath stroke 3.79 2.59 moveto 3.87 2.59 lineto closepath stroke 3.61 2.38 moveto 3.65 2.45 lineto closepath stroke 3.61 2.38 moveto 3.70 2.31 lineto closepath stroke 3.61 2.38 moveto 3.59 2.30 lineto closepath stroke 3.65 2.45 moveto 3.75 2.46 lineto closepath stroke 3.75 2.46 moveto 3.82 2.39 lineto closepath stroke 3.75 2.46 moveto 3.84 2.46 lineto closepath stroke 3.54 2.22 moveto 3.59 2.30 lineto closepath stroke 3.54 2.22 moveto 3.52 2.14 lineto closepath stroke 3.54 2.22 moveto 3.65 2.15 lineto closepath stroke 3.59 2.30 moveto 3.70 2.31 lineto closepath stroke 3.70 2.31 moveto 3.79 2.23 lineto closepath stroke 3.70 2.31 moveto 3.81 2.31 lineto closepath stroke 3.52 2.14 moveto 3.65 2.15 lineto closepath stroke 3.52 2.14 moveto 3.47 2.05 lineto closepath stroke 3.65 2.15 moveto 3.75 2.06 lineto closepath stroke 3.65 2.15 moveto 3.78 2.15 lineto closepath stroke 3.47 2.05 moveto 3.44 1.96 lineto closepath stroke 3.47 2.05 moveto 3.59 1.97 lineto closepath stroke 3.44 1.96 moveto 3.59 1.97 lineto closepath stroke 3.44 1.96 moveto 3.38 1.86 lineto closepath stroke 3.59 1.97 moveto 3.74 1.97 lineto closepath stroke 3.59 1.97 moveto 3.71 1.88 lineto closepath stroke 3.38 1.86 moveto 3.35 1.76 lineto closepath stroke 3.38 1.86 moveto 3.53 1.77 lineto closepath stroke 3.35 1.76 moveto 3.53 1.77 lineto closepath stroke 3.35 1.76 moveto 3.29 1.66 lineto closepath stroke 3.53 1.77 moveto 3.70 1.78 lineto closepath stroke 3.53 1.77 moveto 3.66 1.67 lineto closepath stroke 3.29 1.66 moveto 3.25 1.54 lineto closepath stroke 3.29 1.66 moveto 3.46 1.56 lineto closepath stroke 3.25 1.54 moveto 3.46 1.56 lineto closepath stroke 3.25 1.54 moveto 3.18 1.43 lineto closepath stroke 3.46 1.56 moveto 3.65 1.56 lineto closepath stroke 3.46 1.56 moveto 3.62 1.45 lineto closepath stroke 3.18 1.43 moveto 3.14 1.31 lineto closepath stroke 3.18 1.43 moveto 3.38 1.32 lineto closepath stroke 3.14 1.31 moveto 3.38 1.32 lineto closepath stroke 3.14 1.31 moveto 3.07 1.18 lineto closepath stroke 3.38 1.32 moveto 3.60 1.33 lineto closepath stroke 3.38 1.32 moveto 3.56 1.20 lineto closepath stroke 3.07 1.18 moveto 3.03 1.04 lineto closepath stroke 3.07 1.18 moveto 3.29 1.06 lineto closepath stroke 3.03 1.04 moveto 3.29 1.06 lineto closepath stroke 3.03 1.04 moveto 2.95 0.90 lineto closepath stroke 3.29 1.06 moveto 3.55 1.07 lineto closepath stroke 3.29 1.06 moveto 3.50 0.93 lineto closepath stroke 2.95 0.90 moveto 2.90 0.75 lineto closepath stroke 2.95 0.90 moveto 3.20 0.77 lineto closepath stroke 2.90 0.75 moveto 3.20 0.77 lineto closepath stroke 2.90 0.75 moveto 2.81 0.60 lineto closepath stroke 3.20 0.77 moveto 3.49 0.78 lineto closepath stroke 3.20 0.77 moveto 3.44 0.63 lineto closepath stroke 2.81 0.60 moveto 2.76 0.29 lineto closepath stroke 2.81 0.60 moveto 3.10 0.31 lineto closepath stroke 2.76 0.29 moveto 3.10 0.31 lineto closepath stroke 2.76 0.29 moveto 2.66 0.00 lineto closepath stroke 3.10 0.31 moveto 3.42 0.31 lineto closepath stroke 3.10 0.31 moveto 3.37 0.00 lineto closepath stroke 5.20 2.70 moveto 5.10 2.72 lineto closepath stroke 5.20 2.70 moveto 5.24 2.56 lineto closepath stroke 5.10 2.72 moveto 5.06 2.65 lineto closepath stroke 5.10 2.72 moveto 5.02 2.76 lineto closepath stroke 3.88 2.65 moveto 3.89 2.71 lineto closepath stroke 3.88 2.65 moveto 3.93 2.59 lineto closepath stroke 3.88 2.65 moveto 3.87 2.59 lineto closepath stroke 3.89 2.71 moveto 3.95 2.71 lineto closepath stroke 3.89 2.71 moveto 3.90 2.77 lineto closepath stroke 3.95 2.71 moveto 3.90 2.77 lineto closepath stroke 3.95 2.71 moveto 4.00 2.66 lineto closepath stroke 3.95 2.71 moveto 4.01 2.71 lineto closepath stroke 3.85 2.53 moveto 3.87 2.59 lineto closepath stroke 3.85 2.53 moveto 3.92 2.46 lineto closepath stroke 3.85 2.53 moveto 3.84 2.46 lineto closepath stroke 3.87 2.59 moveto 3.93 2.59 lineto closepath stroke 3.93 2.59 moveto 4.00 2.53 lineto closepath stroke 3.93 2.59 moveto 4.01 2.59 lineto closepath stroke 3.82 2.39 moveto 3.84 2.46 lineto closepath stroke 3.82 2.39 moveto 3.90 2.31 lineto closepath stroke 3.82 2.39 moveto 3.81 2.31 lineto closepath stroke 3.84 2.46 moveto 3.92 2.46 lineto closepath stroke 3.92 2.46 moveto 4.00 2.39 lineto closepath stroke 3.92 2.46 moveto 4.01 2.46 lineto closepath stroke 3.79 2.23 moveto 3.81 2.31 lineto closepath stroke 3.79 2.23 moveto 3.89 2.15 lineto closepath stroke 3.79 2.23 moveto 3.78 2.15 lineto closepath stroke 3.81 2.31 moveto 3.90 2.31 lineto closepath stroke 3.90 2.31 moveto 4.00 2.24 lineto closepath stroke 3.90 2.31 moveto 4.01 2.31 lineto closepath stroke 3.75 2.06 moveto 3.78 2.15 lineto closepath stroke 3.75 2.06 moveto 3.87 1.98 lineto closepath stroke 3.75 2.06 moveto 3.74 1.97 lineto closepath stroke 3.78 2.15 moveto 3.89 2.15 lineto closepath stroke 3.89 2.15 moveto 4.00 2.07 lineto closepath stroke 3.89 2.15 moveto 4.01 2.15 lineto closepath stroke 3.74 1.97 moveto 3.71 1.88 lineto closepath stroke 3.74 1.97 moveto 3.87 1.98 lineto closepath stroke 3.71 1.88 moveto 3.70 1.78 lineto closepath stroke 3.71 1.88 moveto 3.85 1.78 lineto closepath stroke 3.87 1.98 moveto 4.00 1.88 lineto closepath stroke 3.87 1.98 moveto 4.01 1.98 lineto closepath stroke 3.70 1.78 moveto 3.85 1.78 lineto closepath stroke 3.70 1.78 moveto 3.66 1.67 lineto closepath stroke 3.85 1.78 moveto 4.01 1.78 lineto closepath stroke 3.85 1.78 moveto 4.00 1.68 lineto closepath stroke 3.66 1.67 moveto 3.65 1.56 lineto closepath stroke 3.66 1.67 moveto 3.83 1.57 lineto closepath stroke 3.65 1.56 moveto 3.83 1.57 lineto closepath stroke 3.65 1.56 moveto 3.62 1.45 lineto closepath stroke 3.83 1.57 moveto 4.01 1.57 lineto closepath stroke 3.83 1.57 moveto 4.00 1.46 lineto closepath stroke 3.62 1.45 moveto 3.60 1.33 lineto closepath stroke 3.62 1.45 moveto 3.80 1.33 lineto closepath stroke 3.60 1.33 moveto 3.80 1.33 lineto closepath stroke 3.60 1.33 moveto 3.56 1.20 lineto closepath stroke 3.80 1.33 moveto 4.01 1.33 lineto closepath stroke 3.80 1.33 moveto 4.00 1.21 lineto closepath stroke 3.56 1.20 moveto 3.55 1.07 lineto closepath stroke 3.56 1.20 moveto 3.77 1.07 lineto closepath stroke 3.55 1.07 moveto 3.77 1.07 lineto closepath stroke 3.55 1.07 moveto 3.50 0.93 lineto closepath stroke 3.77 1.07 moveto 4.01 1.07 lineto closepath stroke 3.77 1.07 moveto 4.00 0.94 lineto closepath stroke 3.50 0.93 moveto 3.49 0.78 lineto closepath stroke 3.50 0.93 moveto 3.74 0.79 lineto closepath stroke 3.49 0.78 moveto 3.74 0.79 lineto closepath stroke 3.49 0.78 moveto 3.44 0.63 lineto closepath stroke 3.74 0.79 moveto 4.02 0.79 lineto closepath stroke 3.74 0.79 moveto 4.00 0.64 lineto closepath stroke 3.44 0.63 moveto 3.42 0.31 lineto closepath stroke 3.44 0.63 moveto 3.71 0.32 lineto closepath stroke 3.42 0.31 moveto 3.71 0.32 lineto closepath stroke 3.42 0.31 moveto 3.37 0.00 lineto closepath stroke 3.71 0.32 moveto 4.02 0.32 lineto closepath stroke 3.71 0.32 moveto 4.00 0.00 lineto closepath stroke 5.24 2.56 moveto 5.24 2.43 lineto closepath stroke 5.24 2.56 moveto 5.14 2.47 lineto closepath stroke 4.99 2.92 moveto 4.98 2.85 lineto closepath stroke 4.99 2.92 moveto 4.90 2.94 lineto closepath stroke 4.00 2.66 moveto 4.01 2.71 lineto closepath stroke 4.00 2.66 moveto 4.07 2.59 lineto closepath stroke 4.00 2.66 moveto 4.01 2.59 lineto closepath stroke 4.01 2.71 moveto 4.05 2.71 lineto closepath stroke 4.01 2.71 moveto 4.00 2.77 lineto closepath stroke 4.05 2.71 moveto 4.00 2.77 lineto closepath stroke 4.05 2.71 moveto 4.10 2.71 lineto closepath stroke 4.05 2.71 moveto 4.10 2.77 lineto closepath stroke 4.00 2.53 moveto 4.01 2.59 lineto closepath stroke 4.00 2.53 moveto 4.08 2.46 lineto closepath stroke 4.00 2.53 moveto 4.01 2.46 lineto closepath stroke 4.01 2.59 moveto 4.07 2.59 lineto closepath stroke 4.07 2.59 moveto 4.13 2.59 lineto closepath stroke 4.07 2.59 moveto 4.12 2.66 lineto closepath stroke 4.00 2.39 moveto 4.01 2.46 lineto closepath stroke 4.00 2.39 moveto 4.10 2.31 lineto closepath stroke 4.00 2.39 moveto 4.01 2.31 lineto closepath stroke 4.01 2.46 moveto 4.08 2.46 lineto closepath stroke 4.08 2.46 moveto 4.16 2.46 lineto closepath stroke 4.08 2.46 moveto 4.15 2.53 lineto closepath stroke 4.00 2.24 moveto 4.01 2.31 lineto closepath stroke 4.00 2.24 moveto 4.11 2.15 lineto closepath stroke 4.00 2.24 moveto 4.01 2.15 lineto closepath stroke 4.01 2.31 moveto 4.10 2.31 lineto closepath stroke 4.10 2.31 moveto 4.19 2.32 lineto closepath stroke 4.10 2.31 moveto 4.18 2.39 lineto closepath stroke 4.00 2.07 moveto 4.01 2.15 lineto closepath stroke 4.00 2.07 moveto 4.13 1.98 lineto closepath stroke 4.00 2.07 moveto 4.01 1.98 lineto closepath stroke 4.01 2.15 moveto 4.11 2.15 lineto closepath stroke 4.11 2.15 moveto 4.22 2.16 lineto closepath stroke 4.11 2.15 moveto 4.21 2.24 lineto closepath stroke 4.00 1.88 moveto 4.01 1.98 lineto closepath stroke 4.00 1.88 moveto 4.15 1.78 lineto closepath stroke 4.00 1.88 moveto 4.01 1.78 lineto closepath stroke 4.01 1.98 moveto 4.13 1.98 lineto closepath stroke 4.13 1.98 moveto 4.26 1.98 lineto closepath stroke 4.13 1.98 moveto 4.25 2.07 lineto closepath stroke 4.01 1.78 moveto 4.00 1.68 lineto closepath stroke 4.01 1.78 moveto 4.15 1.78 lineto closepath stroke 4.00 1.68 moveto 4.01 1.57 lineto closepath stroke 4.00 1.68 moveto 4.17 1.57 lineto closepath stroke 4.15 1.78 moveto 4.30 1.79 lineto closepath stroke 4.15 1.78 moveto 4.29 1.89 lineto closepath stroke 4.01 1.57 moveto 4.17 1.57 lineto closepath stroke 4.01 1.57 moveto 4.00 1.46 lineto closepath stroke 4.17 1.57 moveto 4.33 1.69 lineto closepath stroke 4.17 1.57 moveto 4.34 1.57 lineto closepath stroke 4.00 1.46 moveto 4.01 1.33 lineto closepath stroke 4.00 1.46 moveto 4.20 1.33 lineto closepath stroke 4.01 1.33 moveto 4.20 1.33 lineto closepath stroke 4.01 1.33 moveto 4.00 1.21 lineto closepath stroke 4.20 1.33 moveto 4.38 1.46 lineto closepath stroke 4.20 1.33 moveto 4.39 1.34 lineto closepath stroke 4.00 1.21 moveto 4.01 1.07 lineto closepath stroke 4.00 1.21 moveto 4.23 1.07 lineto closepath stroke 4.01 1.07 moveto 4.23 1.07 lineto closepath stroke 4.01 1.07 moveto 4.00 0.94 lineto closepath stroke 4.23 1.07 moveto 4.43 1.22 lineto closepath stroke 4.23 1.07 moveto 4.45 1.08 lineto closepath stroke 4.00 0.94 moveto 4.02 0.79 lineto closepath stroke 4.00 0.94 moveto 4.26 0.79 lineto closepath stroke 4.02 0.79 moveto 4.26 0.79 lineto closepath stroke 4.02 0.79 moveto 4.00 0.64 lineto closepath stroke 4.26 0.79 moveto 4.49 0.95 lineto closepath stroke 4.26 0.79 moveto 4.50 0.80 lineto closepath stroke 4.00 0.64 moveto 4.02 0.32 lineto closepath stroke 4.00 0.64 moveto 4.29 0.32 lineto closepath stroke 4.02 0.32 moveto 4.29 0.32 lineto closepath stroke 4.02 0.32 moveto 4.00 0.00 lineto closepath stroke 4.29 0.32 moveto 4.55 0.65 lineto closepath stroke 4.29 0.32 moveto 4.57 0.33 lineto closepath stroke 4.98 2.85 moveto 4.90 2.94 lineto closepath stroke 4.98 2.85 moveto 5.02 2.76 lineto closepath stroke 4.98 2.85 moveto 4.93 2.78 lineto closepath stroke 4.90 2.94 moveto 4.82 2.94 lineto closepath stroke 5.02 2.76 moveto 4.93 2.78 lineto closepath stroke 5.02 2.76 moveto 5.06 2.65 lineto closepath stroke 4.93 2.78 moveto 4.89 2.72 lineto closepath stroke 4.93 2.78 moveto 4.85 2.82 lineto closepath stroke 5.06 2.65 moveto 5.06 2.53 lineto closepath stroke 5.06 2.65 moveto 4.97 2.57 lineto closepath stroke 4.10 2.71 moveto 4.10 2.77 lineto closepath stroke 4.10 2.71 moveto 4.17 2.72 lineto closepath stroke 4.10 2.71 moveto 4.12 2.66 lineto closepath stroke 4.13 2.59 moveto 4.12 2.66 lineto closepath stroke 4.13 2.59 moveto 4.21 2.60 lineto closepath stroke 4.13 2.59 moveto 4.15 2.53 lineto closepath stroke 4.12 2.66 moveto 4.17 2.72 lineto closepath stroke 4.17 2.72 moveto 4.22 2.72 lineto closepath stroke 4.17 2.72 moveto 4.20 2.78 lineto closepath stroke 4.16 2.46 moveto 4.15 2.53 lineto closepath stroke 4.16 2.46 moveto 4.25 2.47 lineto closepath stroke 4.16 2.46 moveto 4.18 2.39 lineto closepath stroke 4.15 2.53 moveto 4.21 2.60 lineto closepath stroke 4.21 2.60 moveto 4.27 2.60 lineto closepath stroke 4.21 2.60 moveto 4.25 2.67 lineto closepath stroke 4.19 2.32 moveto 4.18 2.39 lineto closepath stroke 4.19 2.32 moveto 4.29 2.32 lineto closepath stroke 4.19 2.32 moveto 4.21 2.24 lineto closepath stroke 4.18 2.39 moveto 4.25 2.47 lineto closepath stroke 4.25 2.47 moveto 4.33 2.47 lineto closepath stroke 4.25 2.47 moveto 4.30 2.54 lineto closepath stroke 4.22 2.16 moveto 4.21 2.24 lineto closepath stroke 4.22 2.16 moveto 4.35 2.16 lineto closepath stroke 4.22 2.16 moveto 4.25 2.07 lineto closepath stroke 4.21 2.24 moveto 4.29 2.32 lineto closepath stroke 4.29 2.32 moveto 4.39 2.33 lineto closepath stroke 4.29 2.32 moveto 4.36 2.41 lineto closepath stroke 4.26 1.98 moveto 4.25 2.07 lineto closepath stroke 4.26 1.98 moveto 4.40 1.99 lineto closepath stroke 4.26 1.98 moveto 4.29 1.89 lineto closepath stroke 4.25 2.07 moveto 4.35 2.16 lineto closepath stroke 4.35 2.16 moveto 4.46 2.18 lineto closepath stroke 4.35 2.16 moveto 4.43 2.26 lineto closepath stroke 4.30 1.79 moveto 4.29 1.89 lineto closepath stroke 4.30 1.79 moveto 4.47 1.79 lineto closepath stroke 4.30 1.79 moveto 4.33 1.69 lineto closepath stroke 4.29 1.89 moveto 4.40 1.99 lineto closepath stroke 4.40 1.99 moveto 4.53 2.01 lineto closepath stroke 4.40 1.99 moveto 4.50 2.10 lineto closepath stroke 4.33 1.69 moveto 4.34 1.57 lineto closepath stroke 4.33 1.69 moveto 4.47 1.79 lineto closepath stroke 4.34 1.57 moveto 4.38 1.46 lineto closepath stroke 4.34 1.57 moveto 4.53 1.58 lineto closepath stroke 4.47 1.79 moveto 4.62 1.82 lineto closepath stroke 4.47 1.79 moveto 4.58 1.92 lineto closepath stroke 4.38 1.46 moveto 4.53 1.58 lineto closepath stroke 4.38 1.46 moveto 4.39 1.34 lineto closepath stroke 4.53 1.58 moveto 4.71 1.61 lineto closepath stroke 4.53 1.58 moveto 4.67 1.72 lineto closepath stroke 4.39 1.34 moveto 4.43 1.22 lineto closepath stroke 4.39 1.34 moveto 4.61 1.35 lineto closepath stroke 4.43 1.22 moveto 4.61 1.35 lineto closepath stroke 4.43 1.22 moveto 4.45 1.08 lineto closepath stroke 4.61 1.35 moveto 4.77 1.50 lineto closepath stroke 4.61 1.35 moveto 4.81 1.38 lineto closepath stroke 4.45 1.08 moveto 4.49 0.95 lineto closepath stroke 4.45 1.08 moveto 4.69 1.09 lineto closepath stroke 4.49 0.95 moveto 4.69 1.09 lineto closepath stroke 4.49 0.95 moveto 4.50 0.80 lineto closepath stroke 4.69 1.09 moveto 4.88 1.27 lineto closepath stroke 4.69 1.09 moveto 4.92 1.13 lineto closepath stroke 4.50 0.80 moveto 4.55 0.65 lineto closepath stroke 4.50 0.80 moveto 4.78 0.81 lineto closepath stroke 4.55 0.65 moveto 4.78 0.81 lineto closepath stroke 4.55 0.65 moveto 4.57 0.33 lineto closepath stroke 4.78 0.81 moveto 5.00 1.00 lineto closepath stroke 4.78 0.81 moveto 5.04 0.86 lineto closepath stroke 4.57 0.33 moveto 4.88 0.33 lineto closepath stroke 4.57 0.33 moveto 4.62 0.00 lineto closepath stroke 4.88 0.33 moveto 4.62 0.00 lineto closepath stroke 4.88 0.33 moveto 5.21 0.56 lineto closepath stroke 4.88 0.33 moveto 5.27 0.23 lineto closepath stroke 4.82 2.94 moveto 4.81 2.89 lineto closepath stroke 4.82 2.94 moveto 4.74 2.95 lineto closepath stroke 4.22 2.72 moveto 4.20 2.78 lineto closepath stroke 4.22 2.72 moveto 4.28 2.73 lineto closepath stroke 4.22 2.72 moveto 4.25 2.67 lineto closepath stroke 4.27 2.60 moveto 4.25 2.67 lineto closepath stroke 4.27 2.60 moveto 4.35 2.61 lineto closepath stroke 4.27 2.60 moveto 4.30 2.54 lineto closepath stroke 4.25 2.67 moveto 4.28 2.73 lineto closepath stroke 4.28 2.73 moveto 4.34 2.74 lineto closepath stroke 4.28 2.73 moveto 4.30 2.79 lineto closepath stroke 4.33 2.47 moveto 4.30 2.54 lineto closepath stroke 4.33 2.47 moveto 4.42 2.49 lineto closepath stroke 4.33 2.47 moveto 4.36 2.41 lineto closepath stroke 4.30 2.54 moveto 4.35 2.61 lineto closepath stroke 4.35 2.61 moveto 4.41 2.63 lineto closepath stroke 4.35 2.61 moveto 4.38 2.69 lineto closepath stroke 4.39 2.33 moveto 4.36 2.41 lineto closepath stroke 4.39 2.33 moveto 4.50 2.35 lineto closepath stroke 4.39 2.33 moveto 4.43 2.26 lineto closepath stroke 4.36 2.41 moveto 4.42 2.49 lineto closepath stroke 4.42 2.49 moveto 4.50 2.51 lineto closepath stroke 4.42 2.49 moveto 4.46 2.57 lineto closepath stroke 4.46 2.18 moveto 4.43 2.26 lineto closepath stroke 4.46 2.18 moveto 4.59 2.20 lineto closepath stroke 4.46 2.18 moveto 4.50 2.10 lineto closepath stroke 4.43 2.26 moveto 4.50 2.35 lineto closepath stroke 4.50 2.35 moveto 4.60 2.38 lineto closepath stroke 4.50 2.35 moveto 4.55 2.45 lineto closepath stroke 4.53 2.01 moveto 4.50 2.10 lineto closepath stroke 4.53 2.01 moveto 4.69 2.03 lineto closepath stroke 4.53 2.01 moveto 4.58 1.92 lineto closepath stroke 4.50 2.10 moveto 4.59 2.20 lineto closepath stroke 4.59 2.20 moveto 4.70 2.23 lineto closepath stroke 4.59 2.20 moveto 4.66 2.31 lineto closepath stroke 4.62 1.82 moveto 4.58 1.92 lineto closepath stroke 4.62 1.82 moveto 4.79 1.85 lineto closepath stroke 4.62 1.82 moveto 4.67 1.72 lineto closepath stroke 4.58 1.92 moveto 4.69 2.03 lineto closepath stroke 4.69 2.03 moveto 4.82 2.07 lineto closepath stroke 4.69 2.03 moveto 4.77 2.16 lineto closepath stroke 4.71 1.61 moveto 4.67 1.72 lineto closepath stroke 4.71 1.61 moveto 4.91 1.64 lineto closepath stroke 4.71 1.61 moveto 4.77 1.50 lineto closepath stroke 4.67 1.72 moveto 4.79 1.85 lineto closepath stroke 4.79 1.85 moveto 4.95 1.89 lineto closepath stroke 4.79 1.85 moveto 4.89 1.99 lineto closepath stroke 4.77 1.50 moveto 4.81 1.38 lineto closepath stroke 4.77 1.50 moveto 4.91 1.64 lineto closepath stroke 4.81 1.38 moveto 5.04 1.42 lineto closepath stroke 4.81 1.38 moveto 4.88 1.27 lineto closepath stroke 4.91 1.64 moveto 5.09 1.70 lineto closepath stroke 4.91 1.64 moveto 5.02 1.81 lineto closepath stroke 4.88 1.27 moveto 4.92 1.13 lineto closepath stroke 4.88 1.27 moveto 5.04 1.42 lineto closepath stroke 4.92 1.13 moveto 5.00 1.00 lineto closepath stroke 4.92 1.13 moveto 5.18 1.17 lineto closepath stroke 5.04 1.42 moveto 5.17 1.60 lineto closepath stroke 5.04 1.42 moveto 5.24 1.49 lineto closepath stroke 5.00 1.00 moveto 5.18 1.17 lineto closepath stroke 5.00 1.00 moveto 5.04 0.86 lineto closepath stroke 5.18 1.17 moveto 5.33 1.38 lineto closepath stroke 5.18 1.17 moveto 5.41 1.25 lineto closepath stroke 5.04 0.86 moveto 5.12 0.71 lineto closepath stroke 5.04 0.86 moveto 5.34 0.90 lineto closepath stroke 5.12 0.71 moveto 5.34 0.90 lineto closepath stroke 5.12 0.71 moveto 5.21 0.56 lineto closepath stroke 5.12 0.71 moveto 5.51 0.61 lineto closepath stroke 5.34 0.90 moveto 5.41 1.25 lineto closepath stroke 5.34 0.90 moveto 5.49 1.11 lineto closepath stroke 5.21 0.56 moveto 5.51 0.61 lineto closepath stroke 5.21 0.56 moveto 5.27 0.23 lineto closepath stroke 5.51 0.61 moveto 5.71 1.00 lineto closepath stroke 5.51 0.61 moveto 5.80 0.84 lineto closepath stroke 5.27 0.23 moveto 5.60 0.23 lineto closepath stroke 5.27 0.23 moveto 5.27 0.00 lineto closepath stroke 5.60 0.23 moveto 5.80 0.23 lineto closepath stroke 5.60 0.23 moveto 5.80 0.00 lineto closepath stroke 5.60 0.23 moveto 5.27 0.00 lineto closepath stroke 5.80 0.23 moveto 5.80 0.00 lineto closepath stroke 5.80 0.23 moveto 5.80 0.84 lineto closepath stroke 5.80 0.23 moveto 6.00 0.61 lineto closepath stroke 4.81 2.89 moveto 4.74 2.95 lineto closepath stroke 4.81 2.89 moveto 4.85 2.82 lineto closepath stroke 4.81 2.89 moveto 4.77 2.83 lineto closepath stroke 4.74 2.95 moveto 4.66 2.95 lineto closepath stroke 4.85 2.82 moveto 4.77 2.83 lineto closepath stroke 4.85 2.82 moveto 4.89 2.72 lineto closepath stroke 4.77 2.83 moveto 4.74 2.79 lineto closepath stroke 4.77 2.83 moveto 4.70 2.87 lineto closepath stroke 4.89 2.72 moveto 4.90 2.63 lineto closepath stroke 4.89 2.72 moveto 4.82 2.66 lineto closepath stroke 4.34 2.74 moveto 4.30 2.79 lineto closepath stroke 4.34 2.74 moveto 4.40 2.75 lineto closepath stroke 4.34 2.74 moveto 4.38 2.69 lineto closepath stroke 4.41 2.63 moveto 4.38 2.69 lineto closepath stroke 4.41 2.63 moveto 4.49 2.65 lineto closepath stroke 4.41 2.63 moveto 4.46 2.57 lineto closepath stroke 4.38 2.69 moveto 4.40 2.75 lineto closepath stroke 4.40 2.75 moveto 4.45 2.77 lineto closepath stroke 4.40 2.75 moveto 4.40 2.82 lineto closepath stroke 4.50 2.51 moveto 4.46 2.57 lineto closepath stroke 4.50 2.51 moveto 4.60 2.54 lineto closepath stroke 4.50 2.51 moveto 4.55 2.45 lineto closepath stroke 4.46 2.57 moveto 4.49 2.65 lineto closepath stroke 4.49 2.65 moveto 4.55 2.67 lineto closepath stroke 4.49 2.65 moveto 4.50 2.73 lineto closepath stroke 4.60 2.38 moveto 4.55 2.45 lineto closepath stroke 4.60 2.38 moveto 4.71 2.41 lineto closepath stroke 4.60 2.38 moveto 4.66 2.31 lineto closepath stroke 4.55 2.45 moveto 4.60 2.54 lineto closepath stroke 4.60 2.54 moveto 4.67 2.57 lineto closepath stroke 4.60 2.54 moveto 4.62 2.63 lineto closepath stroke 4.70 2.23 moveto 4.66 2.31 lineto closepath stroke 4.70 2.23 moveto 4.83 2.27 lineto closepath stroke 4.70 2.23 moveto 4.77 2.16 lineto closepath stroke 4.66 2.31 moveto 4.71 2.41 lineto closepath stroke 4.71 2.41 moveto 4.80 2.45 lineto closepath stroke 4.71 2.41 moveto 4.74 2.52 lineto closepath stroke 4.82 2.07 moveto 4.77 2.16 lineto closepath stroke 4.82 2.07 moveto 4.97 2.12 lineto closepath stroke 4.82 2.07 moveto 4.89 1.99 lineto closepath stroke 4.77 2.16 moveto 4.83 2.27 lineto closepath stroke 4.83 2.27 moveto 4.94 2.33 lineto closepath stroke 4.83 2.27 moveto 4.87 2.40 lineto closepath stroke 4.95 1.89 moveto 4.89 1.99 lineto closepath stroke 4.95 1.89 moveto 5.12 1.95 lineto closepath stroke 4.95 1.89 moveto 5.02 1.81 lineto closepath stroke 4.89 1.99 moveto 4.97 2.12 lineto closepath stroke 4.97 2.12 moveto 5.09 2.19 lineto closepath stroke 4.97 2.12 moveto 5.02 2.27 lineto closepath stroke 5.09 1.70 moveto 5.02 1.81 lineto closepath stroke 5.09 1.70 moveto 5.29 1.77 lineto closepath stroke 5.09 1.70 moveto 5.17 1.60 lineto closepath stroke 5.02 1.81 moveto 5.12 1.95 lineto closepath stroke 5.12 1.95 moveto 5.26 2.03 lineto closepath stroke 5.12 1.95 moveto 5.18 2.12 lineto closepath stroke 5.17 1.60 moveto 5.24 1.49 lineto closepath stroke 5.17 1.60 moveto 5.29 1.77 lineto closepath stroke 5.24 1.49 moveto 5.47 1.57 lineto closepath stroke 5.24 1.49 moveto 5.33 1.38 lineto closepath stroke 5.29 1.77 moveto 5.36 1.96 lineto closepath stroke 5.29 1.77 moveto 5.45 1.86 lineto closepath stroke 5.41 1.25 moveto 5.49 1.11 lineto closepath stroke 5.41 1.25 moveto 5.33 1.38 lineto closepath stroke 5.49 1.11 moveto 5.78 1.34 lineto closepath stroke 5.49 1.11 moveto 5.71 1.00 lineto closepath stroke 5.33 1.38 moveto 5.47 1.57 lineto closepath stroke 5.47 1.57 moveto 5.56 1.78 lineto closepath stroke 5.47 1.57 moveto 5.65 1.68 lineto closepath stroke 5.80 0.84 moveto 6.00 0.61 lineto closepath stroke 5.80 0.84 moveto 5.71 1.00 lineto closepath stroke 5.71 1.00 moveto 5.78 1.34 lineto closepath stroke 5.78 1.34 moveto 5.78 1.68 lineto closepath stroke 5.78 1.34 moveto 6.00 1.56 lineto closepath stroke 4.66 2.95 moveto 4.65 2.92 lineto closepath stroke 4.66 2.95 moveto 4.59 2.97 lineto closepath stroke 4.45 2.77 moveto 4.40 2.82 lineto closepath stroke 4.45 2.77 moveto 4.51 2.79 lineto closepath stroke 4.45 2.77 moveto 4.50 2.73 lineto closepath stroke 4.55 2.67 moveto 4.50 2.73 lineto closepath stroke 4.55 2.67 moveto 4.63 2.71 lineto closepath stroke 4.55 2.67 moveto 4.62 2.63 lineto closepath stroke 4.50 2.73 moveto 4.51 2.79 lineto closepath stroke 4.51 2.79 moveto 4.55 2.82 lineto closepath stroke 4.51 2.79 moveto 4.49 2.86 lineto closepath stroke 4.67 2.57 moveto 4.62 2.63 lineto closepath stroke 4.67 2.57 moveto 4.76 2.61 lineto closepath stroke 4.67 2.57 moveto 4.74 2.52 lineto closepath stroke 4.62 2.63 moveto 4.63 2.71 lineto closepath stroke 4.63 2.71 moveto 4.68 2.74 lineto closepath stroke 4.63 2.71 moveto 4.61 2.79 lineto closepath stroke 4.80 2.45 moveto 4.74 2.52 lineto closepath stroke 4.80 2.45 moveto 4.90 2.51 lineto closepath stroke 4.80 2.45 moveto 4.87 2.40 lineto closepath stroke 4.74 2.52 moveto 4.76 2.61 lineto closepath stroke 4.76 2.61 moveto 4.82 2.66 lineto closepath stroke 4.76 2.61 moveto 4.75 2.71 lineto closepath stroke 4.94 2.33 moveto 4.87 2.40 lineto closepath stroke 4.94 2.33 moveto 5.06 2.39 lineto closepath stroke 4.94 2.33 moveto 5.02 2.27 lineto closepath stroke 4.87 2.40 moveto 4.90 2.51 lineto closepath stroke 4.90 2.51 moveto 4.97 2.57 lineto closepath stroke 4.90 2.51 moveto 4.90 2.63 lineto closepath stroke 5.09 2.19 moveto 5.02 2.27 lineto closepath stroke 5.09 2.19 moveto 5.23 2.27 lineto closepath stroke 5.09 2.19 moveto 5.18 2.12 lineto closepath stroke 5.02 2.27 moveto 5.06 2.39 lineto closepath stroke 5.06 2.39 moveto 5.14 2.47 lineto closepath stroke 5.06 2.39 moveto 5.06 2.53 lineto closepath stroke 5.26 2.03 moveto 5.18 2.12 lineto closepath stroke 5.26 2.03 moveto 5.42 2.13 lineto closepath stroke 5.26 2.03 moveto 5.36 1.96 lineto closepath stroke 5.18 2.12 moveto 5.23 2.27 lineto closepath stroke 5.23 2.27 moveto 5.33 2.36 lineto closepath stroke 5.23 2.27 moveto 5.24 2.43 lineto closepath stroke 5.36 1.96 moveto 5.45 1.86 lineto closepath stroke 5.36 1.96 moveto 5.42 2.13 lineto closepath stroke 5.45 1.86 moveto 5.63 1.98 lineto closepath stroke 5.45 1.86 moveto 5.56 1.78 lineto closepath stroke 5.42 2.13 moveto 5.54 2.24 lineto closepath stroke 5.42 2.13 moveto 5.44 2.31 lineto closepath stroke 5.56 1.78 moveto 5.65 1.68 lineto closepath stroke 5.56 1.78 moveto 5.63 1.98 lineto closepath stroke 5.65 1.68 moveto 5.87 1.90 lineto closepath stroke 5.65 1.68 moveto 5.78 1.68 lineto closepath stroke 5.63 1.98 moveto 5.76 2.19 lineto closepath stroke 5.63 1.98 moveto 5.87 2.11 lineto closepath stroke 5.78 1.68 moveto 6.00 1.56 lineto closepath stroke 5.78 1.68 moveto 5.87 1.90 lineto closepath stroke 5.87 1.90 moveto 6.00 2.11 lineto closepath stroke 5.87 1.90 moveto 5.87 2.11 lineto closepath stroke 4.65 2.92 moveto 4.59 2.97 lineto closepath stroke 4.65 2.92 moveto 4.70 2.87 lineto closepath stroke 4.65 2.92 moveto 4.62 2.88 lineto closepath stroke 4.70 2.87 moveto 4.62 2.88 lineto closepath stroke 4.70 2.87 moveto 4.74 2.79 lineto closepath stroke 4.62 2.88 moveto 4.60 2.85 lineto closepath stroke 4.62 2.88 moveto 4.56 2.91 lineto closepath stroke 4.55 2.82 moveto 4.49 2.86 lineto closepath stroke 4.55 2.82 moveto 4.60 2.85 lineto closepath stroke 4.55 2.82 moveto 4.61 2.79 lineto closepath stroke 4.68 2.74 moveto 4.61 2.79 lineto closepath stroke 4.68 2.74 moveto 4.74 2.79 lineto closepath stroke 4.68 2.74 moveto 4.75 2.71 lineto closepath stroke 4.61 2.79 moveto 4.60 2.85 lineto closepath stroke 4.60 2.85 moveto 4.56 2.91 lineto closepath stroke 4.82 2.66 moveto 4.75 2.71 lineto closepath stroke 4.82 2.66 moveto 4.90 2.63 lineto closepath stroke 4.75 2.71 moveto 4.74 2.79 lineto closepath stroke 4.97 2.57 moveto 4.90 2.63 lineto closepath stroke 4.97 2.57 moveto 5.06 2.53 lineto closepath stroke 5.14 2.47 moveto 5.06 2.53 lineto closepath stroke 5.14 2.47 moveto 5.24 2.43 lineto closepath stroke 5.33 2.36 moveto 5.24 2.43 lineto closepath stroke 5.33 2.36 moveto 5.44 2.31 lineto closepath stroke 5.54 2.24 moveto 5.44 2.31 lineto closepath stroke 5.54 2.24 moveto 5.76 2.19 lineto closepath stroke 6.00 2.11 moveto 5.87 2.11 lineto closepath stroke 5.87 2.11 moveto 5.76 2.19 lineto closepath stroke showpage sparskit-2.0.0/DOC/README0000640000265600020320000000101010213354236013745 0ustar tilleaadmin This directory contains some documentation on the package. paper.tex is the tex-file of the documentation. paper.ps is the post-script file QUICK_REF is a quick-reference file that contains all existing routines listed by module. * may need updating* all other files are pictures used by paper.tex. *THANKS: to Daniel Heiserer (BMW, germany) for a the recent update to the files (latex, figures..) in this directory ----------------------------------------------------------------------- sparskit-2.0.0/DOC/jpwh.ps0000640000265600020320000026205706203735206014431 0ustar tilleaadmin%! %%Creator: PSPLTM routine %%309.92 133.88 1244.56 1165.72 %%74 94 527 454 %%BoundingBox: 0 0 527 454 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 0.500000 cm scalefont setfont 10.7950 cm 2.15000 cm moveto (AN UNSYMMETRIC MATRIX FROM PHILIPS LTD, J.P.WHELAN,1978.) Cshow 4.44500 cm 3.35000 cm translate 12.7000 cm 992 div dup scale 0.250000 setlinewidth newpath 0 0 moveto 992 0 lineto 992 992 lineto 0 992 lineto closepath stroke 0.2 setlinewidth 1 1 translate 0.8 setlinewidth /p {moveto 0 -.40 rmoveto 0 .80 rlineto stroke} def 0 990 p 83 990 p 1 989 p 84 989 p 121 989 p 146 989 p 164 989 p 2 988 p 121 988 p 3 987 p 121 987 p 122 987 p 140 987 p 4 986 p 84 986 p 122 986 p 5 985 p 6 984 p 100 984 p 123 984 p 7 983 p 106 983 p 123 983 p 124 983 p 8 982 p 106 982 p 111 982 p 123 982 p 9 981 p 10 980 p 95 980 p 11 979 p 106 979 p 125 979 p 138 979 p 152 979 p 12 978 p 85 978 p 95 978 p 125 978 p 13 977 p 119 977 p 14 976 p 119 976 p 126 976 p 15 975 p 119 975 p 158 975 p 16 974 p 93 974 p 126 974 p 17 973 p 93 973 p 18 972 p 93 972 p 19 971 p 101 971 p 113 971 p 20 970 p 101 970 p 139 970 p 21 969 p 82 969 p 98 969 p 101 969 p 22 968 p 98 968 p 23 967 p 98 967 p 24 966 p 25 965 p 114 965 p 139 965 p 141 965 p 153 965 p 163 965 p 26 964 p 127 964 p 139 964 p 141 964 p 27 963 p 114 963 p 28 962 p 115 962 p 143 962 p 155 962 p 165 962 p 194 962 p 29 961 p 114 961 p 143 961 p 30 960 p 128 960 p 143 960 p 31 959 p 105 959 p 117 959 p 129 959 p 166 959 p 32 958 p 105 958 p 33 957 p 83 957 p 105 957 p 34 956 p 83 956 p 94 956 p 35 955 p 94 955 p 102 955 p 36 954 p 94 954 p 37 953 p 91 953 p 128 953 p 38 952 p 39 951 p 103 951 p 112 951 p 116 951 p 128 951 p 154 951 p 156 951 p 159 951 p 167 951 p 40 950 p 91 950 p 104 950 p 41 949 p 92 949 p 103 949 p 42 948 p 104 948 p 43 947 p 44 946 p 92 946 p 108 946 p 130 946 p 45 945 p 92 945 p 130 945 p 46 944 p 47 943 p 102 943 p 131 943 p 48 942 p 102 942 p 107 942 p 132 942 p 49 941 p 108 941 p 132 941 p 50 940 p 107 940 p 51 939 p 111 939 p 161 939 p 168 939 p 180 939 p 52 938 p 107 938 p 53 937 p 54 936 p 100 936 p 110 936 p 111 936 p 55 935 p 82 935 p 56 934 p 84 934 p 100 934 p 110 934 p 57 933 p 95 933 p 58 932 p 85 932 p 108 932 p 59 931 p 85 931 p 109 931 p 60 930 p 91 930 p 109 930 p 61 929 p 99 929 p 131 929 p 133 929 p 62 928 p 131 928 p 63 927 p 103 927 p 64 926 p 99 926 p 65 925 p 127 925 p 66 924 p 109 924 p 126 924 p 67 923 p 115 923 p 68 922 p 82 922 p 113 922 p 118 922 p 69 921 p 113 921 p 134 921 p 158 921 p 169 921 p 178 921 p 188 921 p 212 921 p 70 920 p 134 920 p 71 919 p 134 919 p 72 918 p 73 917 p 135 917 p 74 916 p 117 916 p 75 915 p 117 915 p 136 915 p 76 914 p 136 914 p 77 913 p 116 913 p 136 913 p 144 913 p 147 913 p 78 912 p 96 912 p 79 911 p 112 911 p 116 911 p 144 911 p 145 911 p 187 911 p 80 910 p 96 910 p 124 910 p 81 909 p 112 909 p 124 909 p 140 909 p 145 909 p 170 909 p 82 908 p 118 908 p 168 908 p 181 908 p 195 908 p 83 907 p 171 907 p 182 907 p 190 907 p 84 906 p 146 906 p 151 906 p 172 906 p 213 906 p 85 905 p 120 905 p 160 905 p 173 905 p 197 905 p 86 904 p 99 904 p 159 904 p 82 903 p 87 903 p 118 903 p 88 902 p 164 902 p 174 902 p 89 901 p 129 901 p 90 900 p 96 900 p 138 900 p 158 900 p 175 900 p 91 899 p 104 899 p 115 899 p 154 899 p 155 899 p 176 899 p 92 898 p 133 898 p 177 898 p 93 897 p 127 897 p 178 897 p 193 897 p 220 897 p 94 896 p 179 896 p 189 896 p 95 895 p 125 895 p 173 895 p 180 895 p 183 895 p 96 894 p 144 894 p 152 894 p 175 894 p 203 894 p 97 893 p 122 893 p 140 893 p 98 892 p 153 892 p 184 892 p 195 892 p 99 891 p 150 891 p 170 891 p 221 891 p 100 890 p 110 890 p 172 890 p 186 890 p 101 889 p 181 889 p 209 889 p 264 889 p 102 888 p 148 888 p 157 888 p 163 888 p 179 888 p 198 888 p 214 888 p 103 887 p 133 887 p 159 887 p 162 887 p 200 887 p 91 886 p 104 886 p 120 886 p 154 886 p 162 886 p 176 886 p 105 885 p 129 885 p 149 885 p 182 885 p 106 884 p 183 884 p 192 884 p 107 883 p 157 883 p 184 883 p 108 882 p 120 882 p 130 882 p 161 882 p 173 882 p 177 882 p 222 882 p 109 881 p 176 881 p 100 880 p 110 880 p 172 880 p 185 880 p 111 879 p 168 879 p 180 879 p 183 879 p 186 879 p 223 879 p 247 879 p 112 878 p 145 878 p 167 878 p 170 878 p 187 878 p 113 877 p 178 877 p 181 877 p 188 877 p 114 876 p 141 876 p 149 876 p 189 876 p 91 875 p 115 875 p 142 875 p 116 874 p 147 874 p 187 874 p 207 874 p 117 873 p 135 873 p 147 873 p 169 873 p 224 873 p 82 872 p 118 872 p 151 872 p 188 872 p 225 872 p 119 871 p 138 871 p 160 871 p 226 871 p 85 870 p 104 870 p 108 870 p 120 870 p 197 870 p 199 870 p 121 869 p 150 869 p 171 869 p 190 869 p 191 869 p 227 869 p 122 868 p 146 868 p 186 868 p 191 868 p 210 868 p 219 868 p 227 868 p 123 867 p 192 867 p 124 866 p 152 866 p 192 866 p 203 866 p 219 866 p 228 866 p 95 865 p 125 865 p 196 865 p 217 865 p 229 865 p 126 864 p 142 864 p 160 864 p 193 864 p 93 863 p 127 863 p 142 863 p 194 863 p 209 863 p 218 863 p 220 863 p 230 863 p 128 862 p 155 862 p 156 862 p 208 862 p 211 862 p 105 861 p 129 861 p 166 861 p 174 861 p 224 861 p 231 861 p 108 860 p 130 860 p 132 860 p 148 860 p 177 860 p 232 860 p 131 859 p 171 859 p 215 859 p 232 859 p 233 859 p 130 858 p 132 858 p 148 858 p 161 858 p 92 857 p 103 857 p 133 857 p 200 857 p 221 857 p 234 857 p 134 856 p 135 856 p 151 856 p 235 856 p 117 855 p 134 855 p 135 855 p 169 855 p 174 855 p 235 855 p 136 854 p 175 854 p 212 854 p 121 853 p 137 853 p 150 853 p 119 852 p 138 852 p 196 852 p 139 851 p 153 851 p 140 850 p 191 850 p 114 849 p 141 849 p 165 849 p 218 849 p 115 848 p 126 848 p 127 848 p 142 848 p 194 848 p 206 848 p 283 848 p 143 847 p 149 847 p 165 847 p 201 847 p 211 847 p 96 846 p 144 846 p 207 846 p 236 846 p 112 845 p 145 845 p 203 845 p 84 844 p 122 844 p 146 844 p 164 844 p 227 844 p 116 843 p 117 843 p 147 843 p 236 843 p 237 843 p 244 843 p 265 843 p 102 842 p 130 842 p 132 842 p 148 842 p 157 842 p 238 842 p 105 841 p 114 841 p 143 841 p 149 841 p 166 841 p 99 840 p 121 840 p 150 840 p 215 840 p 84 839 p 118 839 p 134 839 p 151 839 p 185 839 p 213 839 p 225 839 p 266 839 p 96 838 p 124 838 p 152 838 p 196 838 p 98 837 p 139 837 p 153 837 p 163 837 p 205 837 p 209 837 p 251 837 p 267 837 p 91 836 p 104 836 p 154 836 p 156 836 p 162 836 p 91 835 p 128 835 p 155 835 p 204 835 p 211 835 p 239 835 p 256 835 p 263 835 p 273 835 p 128 834 p 154 834 p 156 834 p 208 834 p 250 834 p 256 834 p 257 834 p 102 833 p 107 833 p 148 833 p 157 833 p 184 833 p 158 832 p 252 832 p 268 832 p 103 831 p 159 831 p 167 831 p 250 831 p 85 830 p 119 830 p 126 830 p 160 830 p 193 830 p 206 830 p 217 830 p 242 830 p 108 829 p 132 829 p 161 829 p 222 829 p 241 829 p 245 829 p 269 829 p 103 828 p 104 828 p 154 828 p 162 828 p 200 828 p 102 827 p 153 827 p 163 827 p 179 827 p 189 827 p 198 827 p 214 827 p 251 827 p 146 826 p 164 826 p 190 826 p 213 826 p 141 825 p 143 825 p 165 825 p 218 825 p 239 825 p 240 825 p 129 824 p 149 824 p 166 824 p 201 824 p 237 824 p 258 824 p 270 824 p 288 824 p 112 823 p 159 823 p 167 823 p 208 823 p 216 823 p 82 822 p 111 822 p 168 822 p 202 822 p 247 822 p 269 822 p 271 822 p 117 821 p 135 821 p 169 821 p 212 821 p 99 820 p 112 820 p 170 820 p 216 820 p 259 820 p 262 820 p 83 819 p 121 819 p 131 819 p 171 819 p 215 819 p 84 818 p 100 818 p 110 818 p 172 818 p 185 818 p 202 818 p 210 818 p 85 817 p 95 817 p 108 817 p 173 817 p 197 817 p 217 817 p 241 817 p 129 816 p 135 816 p 174 816 p 224 816 p 231 816 p 272 816 p 96 815 p 136 815 p 175 815 p 236 815 p 252 815 p 91 814 p 104 814 p 109 814 p 176 814 p 199 814 p 204 814 p 206 814 p 263 814 p 273 814 p 297 814 p 310 814 p 92 813 p 108 813 p 130 813 p 177 813 p 199 813 p 222 813 p 93 812 p 113 812 p 178 812 p 264 812 p 268 812 p 274 812 p 285 812 p 94 811 p 102 811 p 163 811 p 179 811 p 182 811 p 198 811 p 95 810 p 111 810 p 180 810 p 223 810 p 241 810 p 82 809 p 101 809 p 113 809 p 181 809 p 195 809 p 261 809 p 264 809 p 275 809 p 83 808 p 105 808 p 179 808 p 182 808 p 233 808 p 249 808 p 276 808 p 95 807 p 106 807 p 111 807 p 183 807 p 223 807 p 229 807 p 98 806 p 107 806 p 157 806 p 184 806 p 205 806 p 110 805 p 151 805 p 172 805 p 185 805 p 202 805 p 100 804 p 111 804 p 122 804 p 186 804 p 210 804 p 112 803 p 116 803 p 187 803 p 207 803 p 216 803 p 113 802 p 118 802 p 188 802 p 225 802 p 260 802 p 94 801 p 114 801 p 163 801 p 189 801 p 201 801 p 249 801 p 83 800 p 121 800 p 164 800 p 190 800 p 254 800 p 277 800 p 121 799 p 122 799 p 140 799 p 191 799 p 219 799 p 278 799 p 106 798 p 123 798 p 124 798 p 192 798 p 228 798 p 243 798 p 93 797 p 126 797 p 160 797 p 193 797 p 220 797 p 242 797 p 127 796 p 142 796 p 194 796 p 204 796 p 230 796 p 82 795 p 98 795 p 181 795 p 195 795 p 205 795 p 275 795 p 125 794 p 138 794 p 152 794 p 196 794 p 226 794 p 228 794 p 252 794 p 255 794 p 279 794 p 85 793 p 120 793 p 173 793 p 197 793 p 248 793 p 280 793 p 311 793 p 326 793 p 102 792 p 163 792 p 179 792 p 198 792 p 214 792 p 233 792 p 281 792 p 294 792 p 302 792 p 120 791 p 176 791 p 177 791 p 199 791 p 234 791 p 248 791 p 310 791 p 103 790 p 133 790 p 162 790 p 200 790 p 234 790 p 143 789 p 166 789 p 189 789 p 201 789 p 249 789 p 258 789 p 270 789 p 300 789 p 303 789 p 331 789 p 168 788 p 172 788 p 185 788 p 202 788 p 247 788 p 261 788 p 304 788 p 333 788 p 96 787 p 124 787 p 145 787 p 203 787 p 259 787 p 279 787 p 282 787 p 155 786 p 176 786 p 194 786 p 204 786 p 239 786 p 283 786 p 153 785 p 184 785 p 195 785 p 205 785 p 238 785 p 267 785 p 271 785 p 294 785 p 307 785 p 142 784 p 160 784 p 176 784 p 206 784 p 280 784 p 297 784 p 116 783 p 144 783 p 187 783 p 207 783 p 257 783 p 282 783 p 128 782 p 156 782 p 167 782 p 208 782 p 101 781 p 127 781 p 153 781 p 209 781 p 267 781 p 122 780 p 172 780 p 186 780 p 210 780 p 284 780 p 289 780 p 308 780 p 128 779 p 143 779 p 155 779 p 211 779 p 256 779 p 270 779 p 136 778 p 169 778 p 212 778 p 244 778 p 285 778 p 293 778 p 298 778 p 312 778 p 84 777 p 151 777 p 164 777 p 213 777 p 254 777 p 266 777 p 102 776 p 163 776 p 198 776 p 214 776 p 238 776 p 131 775 p 150 775 p 171 775 p 215 775 p 221 775 p 286 775 p 167 774 p 170 774 p 187 774 p 216 774 p 257 774 p 125 773 p 160 773 p 173 773 p 217 773 p 226 773 p 246 773 p 280 773 p 313 773 p 127 772 p 141 772 p 165 772 p 218 772 p 230 772 p 240 772 p 122 771 p 124 771 p 191 771 p 219 771 p 243 771 p 259 771 p 287 771 p 93 770 p 127 770 p 193 770 p 220 770 p 268 770 p 314 770 p 322 770 p 334 770 p 99 769 p 133 769 p 215 769 p 221 769 p 232 769 p 262 769 p 315 769 p 108 768 p 161 768 p 177 768 p 222 768 p 245 768 p 248 768 p 291 768 p 316 768 p 111 767 p 180 767 p 183 767 p 223 767 p 117 766 p 129 766 p 174 766 p 224 766 p 231 766 p 237 766 p 253 766 p 288 766 p 118 765 p 151 765 p 188 765 p 225 765 p 235 765 p 260 765 p 261 765 p 119 764 p 196 764 p 217 764 p 226 764 p 242 764 p 255 764 p 121 763 p 122 763 p 146 763 p 227 763 p 254 763 p 277 763 p 284 763 p 289 763 p 124 762 p 192 762 p 196 762 p 228 762 p 229 762 p 243 762 p 290 762 p 296 762 p 317 762 p 125 761 p 183 761 p 228 761 p 229 761 p 246 761 p 290 761 p 325 761 p 127 760 p 194 760 p 218 760 p 230 760 p 240 760 p 283 760 p 314 760 p 129 759 p 174 759 p 224 759 p 231 759 p 276 759 p 318 759 p 130 758 p 131 758 p 221 758 p 232 758 p 281 758 p 286 758 p 291 758 p 315 758 p 319 758 p 131 757 p 182 757 p 198 757 p 233 757 p 286 757 p 292 757 p 302 757 p 133 756 p 199 756 p 200 756 p 234 756 p 250 756 p 315 756 p 320 756 p 336 756 p 134 755 p 135 755 p 225 755 p 235 755 p 253 755 p 260 755 p 272 755 p 293 755 p 321 755 p 144 754 p 147 754 p 175 754 p 236 754 p 282 754 p 312 754 p 147 753 p 166 753 p 224 753 p 237 753 p 244 753 p 265 753 p 288 753 p 148 752 p 205 752 p 214 752 p 238 752 p 245 752 p 281 752 p 294 752 p 307 752 p 155 751 p 165 751 p 204 751 p 239 751 p 263 751 p 303 751 p 165 750 p 218 750 p 230 750 p 240 750 p 251 750 p 300 750 p 314 750 p 358 750 p 161 749 p 173 749 p 180 749 p 241 749 p 246 749 p 299 749 p 311 749 p 316 749 p 160 748 p 193 748 p 226 748 p 242 748 p 322 748 p 192 747 p 219 747 p 228 747 p 243 747 p 284 747 p 290 747 p 309 747 p 317 747 p 359 747 p 147 746 p 212 746 p 237 746 p 244 746 p 253 746 p 265 746 p 312 746 p 323 746 p 161 745 p 222 745 p 238 745 p 245 745 p 269 745 p 316 745 p 324 745 p 217 744 p 229 744 p 241 744 p 246 744 p 255 744 p 299 744 p 311 744 p 313 744 p 325 744 p 342 744 p 354 744 p 360 744 p 388 744 p 403 744 p 111 743 p 168 743 p 202 743 p 247 743 p 299 743 p 197 742 p 199 742 p 222 742 p 248 742 p 291 742 p 326 742 p 357 742 p 182 741 p 189 741 p 201 741 p 249 741 p 258 741 p 156 740 p 159 740 p 234 740 p 250 740 p 310 740 p 327 740 p 347 740 p 153 739 p 163 739 p 240 739 p 251 739 p 300 739 p 158 738 p 175 738 p 196 738 p 252 738 p 279 738 p 328 738 p 335 738 p 345 738 p 356 738 p 224 737 p 235 737 p 244 737 p 253 737 p 272 737 p 323 737 p 329 737 p 338 737 p 190 736 p 213 736 p 227 736 p 254 736 p 277 736 p 289 736 p 301 736 p 318 736 p 330 736 p 196 735 p 226 735 p 246 735 p 255 735 p 296 735 p 328 735 p 354 735 p 422 735 p 155 734 p 156 734 p 211 734 p 256 734 p 327 734 p 348 734 p 350 734 p 156 733 p 207 733 p 216 733 p 257 733 p 295 733 p 332 733 p 347 733 p 361 733 p 166 732 p 201 732 p 249 732 p 258 732 p 276 732 p 306 732 p 331 732 p 362 732 p 170 731 p 203 731 p 219 731 p 259 731 p 262 731 p 295 731 p 317 731 p 353 731 p 363 731 p 188 730 p 225 730 p 235 730 p 260 730 p 274 730 p 285 730 p 293 730 p 321 730 p 181 729 p 202 729 p 225 729 p 261 729 p 266 729 p 275 729 p 333 729 p 341 729 p 364 729 p 170 728 p 221 728 p 259 728 p 262 728 p 278 728 p 287 728 p 320 728 p 361 728 p 363 728 p 365 728 p 375 728 p 155 727 p 176 727 p 239 727 p 263 727 p 273 727 p 327 727 p 344 727 p 350 727 p 366 727 p 101 726 p 178 726 p 181 726 p 264 726 p 274 726 p 305 726 p 334 726 p 147 725 p 237 725 p 244 725 p 265 725 p 323 725 p 332 725 p 348 725 p 367 725 p 151 724 p 213 724 p 261 724 p 266 724 p 301 724 p 321 724 p 333 724 p 153 723 p 205 723 p 209 723 p 267 723 p 305 723 p 358 723 p 368 723 p 370 723 p 158 722 p 178 722 p 220 722 p 268 722 p 298 722 p 328 722 p 369 722 p 374 722 p 387 722 p 405 722 p 161 721 p 168 721 p 245 721 p 269 721 p 271 721 p 307 721 p 349 721 p 166 720 p 201 720 p 211 720 p 270 720 p 303 720 p 331 720 p 348 720 p 355 720 p 168 719 p 205 719 p 269 719 p 271 719 p 304 719 p 370 719 p 174 718 p 235 718 p 253 718 p 272 718 p 318 718 p 338 718 p 155 717 p 176 717 p 263 717 p 273 717 p 178 716 p 260 716 p 264 716 p 274 716 p 334 716 p 341 716 p 369 716 p 371 716 p 181 715 p 195 715 p 261 715 p 275 715 p 305 715 p 182 714 p 231 714 p 258 714 p 276 714 p 306 714 p 362 714 p 372 714 p 190 713 p 227 713 p 254 713 p 277 713 p 278 713 p 292 713 p 330 713 p 191 712 p 262 712 p 277 712 p 278 712 p 287 712 p 337 712 p 343 712 p 352 712 p 196 711 p 203 711 p 252 711 p 279 711 p 296 711 p 335 711 p 353 711 p 197 710 p 206 710 p 217 710 p 280 710 p 313 710 p 198 709 p 232 709 p 238 709 p 281 709 p 319 709 p 324 709 p 339 709 p 203 708 p 207 708 p 236 708 p 282 708 p 295 708 p 335 708 p 353 708 p 142 707 p 204 707 p 230 707 p 283 707 p 297 707 p 210 706 p 227 706 p 243 706 p 284 706 p 308 706 p 343 706 p 359 706 p 377 706 p 178 705 p 212 705 p 260 705 p 285 705 p 298 705 p 215 704 p 232 704 p 233 704 p 286 704 p 292 704 p 302 704 p 337 704 p 346 704 p 351 704 p 219 703 p 262 703 p 278 703 p 287 703 p 343 703 p 166 702 p 224 702 p 237 702 p 288 702 p 338 702 p 355 702 p 210 701 p 227 701 p 254 701 p 289 701 p 301 701 p 308 701 p 330 701 p 228 700 p 229 700 p 243 700 p 290 700 p 309 700 p 222 699 p 232 699 p 248 699 p 291 699 p 319 699 p 336 699 p 233 698 p 277 698 p 286 698 p 292 698 p 337 698 p 346 698 p 212 697 p 235 697 p 260 697 p 293 697 p 329 697 p 198 696 p 205 696 p 238 696 p 294 696 p 370 696 p 373 696 p 376 696 p 390 696 p 257 695 p 259 695 p 282 695 p 295 695 p 228 694 p 255 694 p 279 694 p 296 694 p 325 694 p 345 694 p 354 694 p 406 694 p 427 694 p 428 694 p 176 693 p 206 693 p 283 693 p 297 693 p 322 693 p 344 693 p 407 693 p 212 692 p 268 692 p 285 692 p 298 692 p 369 692 p 374 692 p 395 692 p 241 691 p 246 691 p 247 691 p 299 691 p 304 691 p 309 691 p 388 691 p 408 691 p 201 690 p 240 690 p 251 690 p 300 690 p 306 690 p 358 690 p 384 690 p 386 690 p 393 690 p 400 690 p 254 689 p 266 689 p 289 689 p 301 689 p 409 689 p 430 689 p 198 688 p 233 688 p 286 688 p 302 688 p 373 688 p 201 687 p 239 687 p 270 687 p 303 687 p 350 687 p 202 686 p 271 686 p 299 686 p 304 686 p 340 686 p 264 685 p 267 685 p 275 685 p 305 685 p 341 685 p 368 685 p 258 684 p 276 684 p 300 684 p 306 684 p 362 684 p 384 684 p 401 684 p 205 683 p 238 683 p 269 683 p 307 683 p 349 683 p 210 682 p 284 682 p 289 682 p 308 682 p 340 682 p 410 682 p 447 682 p 243 681 p 290 681 p 299 681 p 309 681 p 388 681 p 402 681 p 176 680 p 199 680 p 250 680 p 310 680 p 326 680 p 336 680 p 344 680 p 404 680 p 411 680 p 197 679 p 241 679 p 246 679 p 311 679 p 342 679 p 212 678 p 236 678 p 244 678 p 312 678 p 329 678 p 332 678 p 356 678 p 367 678 p 394 678 p 217 677 p 246 677 p 280 677 p 313 677 p 360 677 p 220 676 p 230 676 p 240 676 p 314 676 p 382 676 p 391 676 p 412 676 p 413 676 p 457 676 p 221 675 p 232 675 p 234 675 p 315 675 p 320 675 p 351 675 p 222 674 p 241 674 p 245 674 p 316 674 p 324 674 p 342 674 p 349 674 p 228 673 p 243 673 p 259 673 p 317 673 p 359 673 p 398 673 p 406 673 p 231 672 p 254 672 p 272 672 p 318 672 p 372 672 p 232 671 p 281 671 p 291 671 p 319 671 p 339 671 p 351 671 p 383 671 p 392 671 p 399 671 p 234 670 p 262 670 p 315 670 p 320 670 p 365 670 p 235 669 p 260 669 p 266 669 p 321 669 p 364 669 p 371 669 p 378 669 p 220 668 p 242 668 p 297 668 p 322 668 p 387 668 p 413 668 p 458 668 p 244 667 p 253 667 p 265 667 p 323 667 p 367 667 p 379 667 p 245 666 p 281 666 p 316 666 p 324 666 p 339 666 p 229 665 p 246 665 p 296 665 p 325 665 p 197 664 p 248 664 p 310 664 p 326 664 p 357 664 p 407 664 p 411 664 p 414 664 p 250 663 p 256 663 p 263 663 p 327 663 p 347 663 p 366 663 p 252 662 p 255 662 p 268 662 p 328 662 p 345 662 p 387 662 p 253 661 p 293 661 p 312 661 p 329 661 p 378 661 p 379 661 p 395 661 p 415 661 p 451 661 p 254 660 p 277 660 p 289 660 p 330 660 p 352 660 p 409 660 p 426 660 p 201 659 p 258 659 p 270 659 p 331 659 p 384 659 p 386 659 p 389 659 p 257 658 p 265 658 p 312 658 p 332 658 p 380 658 p 396 658 p 416 658 p 439 658 p 202 657 p 261 657 p 266 657 p 333 657 p 340 657 p 220 656 p 264 656 p 274 656 p 334 656 p 368 656 p 405 656 p 417 656 p 459 656 p 252 655 p 279 655 p 282 655 p 335 655 p 356 655 p 380 655 p 234 654 p 291 654 p 310 654 p 336 654 p 383 654 p 418 654 p 463 654 p 278 653 p 286 653 p 292 653 p 337 653 p 346 653 p 375 653 p 385 653 p 253 652 p 272 652 p 288 652 p 338 652 p 379 652 p 381 652 p 397 652 p 281 651 p 319 651 p 324 651 p 339 651 p 373 651 p 376 651 p 392 651 p 304 650 p 308 650 p 333 650 p 340 650 p 402 650 p 419 650 p 261 649 p 274 649 p 305 649 p 341 649 p 364 649 p 417 649 p 419 649 p 420 649 p 438 649 p 246 648 p 311 648 p 316 648 p 342 648 p 357 648 p 360 648 p 421 648 p 456 648 p 278 647 p 284 647 p 287 647 p 343 647 p 352 647 p 363 647 p 377 647 p 263 646 p 297 646 p 310 646 p 344 646 p 412 646 p 443 646 p 252 645 p 296 645 p 328 645 p 345 645 p 422 645 p 427 645 p 431 645 p 435 645 p 286 644 p 292 644 p 337 644 p 346 644 p 401 644 p 423 644 p 454 644 p 250 643 p 257 643 p 327 643 p 347 643 p 361 643 p 396 643 p 404 643 p 460 643 p 256 642 p 265 642 p 270 642 p 348 642 p 355 642 p 396 642 p 425 642 p 269 641 p 307 641 p 316 641 p 349 641 p 421 641 p 424 641 p 256 640 p 263 640 p 303 640 p 350 640 p 366 640 p 391 640 p 425 640 p 461 640 p 286 639 p 315 639 p 319 639 p 351 639 p 383 639 p 278 638 p 330 638 p 343 638 p 352 638 p 375 638 p 385 638 p 426 638 p 259 637 p 279 637 p 282 637 p 353 637 p 398 637 p 416 637 p 427 637 p 246 636 p 255 636 p 296 636 p 354 636 p 403 636 p 428 636 p 442 636 p 270 635 p 288 635 p 348 635 p 355 635 p 381 635 p 389 635 p 429 635 p 441 635 p 452 635 p 462 635 p 252 634 p 312 634 p 335 634 p 356 634 p 374 634 p 380 634 p 248 633 p 326 633 p 342 633 p 357 633 p 392 633 p 411 633 p 414 633 p 421 633 p 463 633 p 478 633 p 240 632 p 267 632 p 300 632 p 358 632 p 382 632 p 400 632 p 434 632 p 464 632 p 243 631 p 284 631 p 317 631 p 359 631 p 377 631 p 410 631 p 246 630 p 313 630 p 342 630 p 360 630 p 403 630 p 414 630 p 456 630 p 257 629 p 262 629 p 347 629 p 361 629 p 365 629 p 416 629 p 446 629 p 465 629 p 258 628 p 276 628 p 306 628 p 362 628 p 372 628 p 397 628 p 437 628 p 259 627 p 262 627 p 343 627 p 363 627 p 398 627 p 261 626 p 321 626 p 341 626 p 364 626 p 430 626 p 438 626 p 262 625 p 320 625 p 361 625 p 365 625 p 418 625 p 263 624 p 327 624 p 350 624 p 366 624 p 391 624 p 404 624 p 461 624 p 474 624 p 265 623 p 312 623 p 323 623 p 367 623 p 394 623 p 429 623 p 267 622 p 305 622 p 334 622 p 368 622 p 382 622 p 420 622 p 268 621 p 274 621 p 298 621 p 369 621 p 371 621 p 415 621 p 445 621 p 267 620 p 271 620 p 294 620 p 370 620 p 420 620 p 424 620 p 434 620 p 436 620 p 274 619 p 321 619 p 369 619 p 371 619 p 378 619 p 415 619 p 417 619 p 438 619 p 445 619 p 276 618 p 318 618 p 362 618 p 372 618 p 423 618 p 294 617 p 302 617 p 339 617 p 373 617 p 376 617 p 390 617 p 399 617 p 268 616 p 298 616 p 356 616 p 374 616 p 395 616 p 431 616 p 444 616 p 488 616 p 262 615 p 337 615 p 352 615 p 375 615 p 385 615 p 446 615 p 467 615 p 487 615 p 294 614 p 339 614 p 373 614 p 376 614 p 390 614 p 436 614 p 466 614 p 471 614 p 284 613 p 343 613 p 359 613 p 377 613 p 426 613 p 467 613 p 321 612 p 329 612 p 371 612 p 378 612 p 451 612 p 455 612 p 485 612 p 323 611 p 329 611 p 338 611 p 379 611 p 381 611 p 394 611 p 449 611 p 452 611 p 332 610 p 335 610 p 356 610 p 380 610 p 431 610 p 439 610 p 338 609 p 355 609 p 379 609 p 381 609 p 397 609 p 449 609 p 452 609 p 314 608 p 358 608 p 368 608 p 382 608 p 434 608 p 457 608 p 503 608 p 517 608 p 319 607 p 336 607 p 351 607 p 383 607 p 418 607 p 468 607 p 300 606 p 306 606 p 331 606 p 384 606 p 386 606 p 393 606 p 433 606 p 437 606 p 441 606 p 337 605 p 352 605 p 375 605 p 385 605 p 432 605 p 468 605 p 487 605 p 498 605 p 300 604 p 331 604 p 384 604 p 386 604 p 389 604 p 400 604 p 268 603 p 322 603 p 328 603 p 387 603 p 405 603 p 435 603 p 246 602 p 299 602 p 309 602 p 388 602 p 402 602 p 408 602 p 442 602 p 469 602 p 331 601 p 355 601 p 386 601 p 389 601 p 425 601 p 433 601 p 462 601 p 470 601 p 294 600 p 373 600 p 376 600 p 390 600 p 393 600 p 314 599 p 350 599 p 366 599 p 391 599 p 470 599 p 496 599 p 497 599 p 526 599 p 319 598 p 339 598 p 357 598 p 392 598 p 399 598 p 466 598 p 300 597 p 384 597 p 390 597 p 393 597 p 401 597 p 437 597 p 454 597 p 464 597 p 471 597 p 484 597 p 486 597 p 312 596 p 367 596 p 379 596 p 394 596 p 444 596 p 481 596 p 298 595 p 329 595 p 374 595 p 395 595 p 332 594 p 347 594 p 348 594 p 396 594 p 429 594 p 461 594 p 465 594 p 482 594 p 489 594 p 545 594 p 338 593 p 362 593 p 381 593 p 397 593 p 409 593 p 317 592 p 353 592 p 363 592 p 398 592 p 406 592 p 440 592 p 450 592 p 494 592 p 319 591 p 373 591 p 392 591 p 399 591 p 468 591 p 300 590 p 358 590 p 386 590 p 400 590 p 433 590 p 457 590 p 493 590 p 306 589 p 346 589 p 393 589 p 401 589 p 423 589 p 454 589 p 309 588 p 340 588 p 388 588 p 402 588 p 408 588 p 410 588 p 419 588 p 447 588 p 448 588 p 469 588 p 472 588 p 492 588 p 504 588 p 546 588 p 568 588 p 570 588 p 246 587 p 354 587 p 360 587 p 403 587 p 407 587 p 422 587 p 453 587 p 458 587 p 473 587 p 505 587 p 310 586 p 347 586 p 366 586 p 404 586 p 460 586 p 474 586 p 268 585 p 334 585 p 387 585 p 405 585 p 413 585 p 458 585 p 488 585 p 506 585 p 296 584 p 317 584 p 398 584 p 406 584 p 440 584 p 442 584 p 448 584 p 450 584 p 507 584 p 297 583 p 326 583 p 403 583 p 407 583 p 412 583 p 443 583 p 473 583 p 475 583 p 299 582 p 388 582 p 402 582 p 408 582 p 301 581 p 330 581 p 397 581 p 409 581 p 430 581 p 432 581 p 449 581 p 479 581 p 508 581 p 308 580 p 359 580 p 402 580 p 410 580 p 440 580 p 447 580 p 448 580 p 500 580 p 310 579 p 326 579 p 357 579 p 411 579 p 443 579 p 463 579 p 491 579 p 314 578 p 344 578 p 407 578 p 412 578 p 475 578 p 314 577 p 322 577 p 405 577 p 413 577 p 509 577 p 516 577 p 326 576 p 357 576 p 360 576 p 414 576 p 456 576 p 473 576 p 329 575 p 369 575 p 371 575 p 415 575 p 451 575 p 476 575 p 332 574 p 353 574 p 361 574 p 416 574 p 439 574 p 465 574 p 520 574 p 547 574 p 334 573 p 341 573 p 371 573 p 417 573 p 445 573 p 459 573 p 336 572 p 365 572 p 383 572 p 418 572 p 446 572 p 460 572 p 477 572 p 499 572 p 340 571 p 341 571 p 402 571 p 419 571 p 424 571 p 483 571 p 492 571 p 510 571 p 531 571 p 341 570 p 368 570 p 370 570 p 420 570 p 459 570 p 483 570 p 511 570 p 517 570 p 342 569 p 349 569 p 357 569 p 421 569 p 466 569 p 469 569 p 478 569 p 255 568 p 345 568 p 403 568 p 422 568 p 428 568 p 435 568 p 346 567 p 372 567 p 401 567 p 423 567 p 432 567 p 349 566 p 370 566 p 419 566 p 424 566 p 483 566 p 492 566 p 534 566 p 348 565 p 350 565 p 389 565 p 425 565 p 462 565 p 470 565 p 330 564 p 352 564 p 377 564 p 426 564 p 479 564 p 296 563 p 345 563 p 353 563 p 427 563 p 450 563 p 480 563 p 296 562 p 354 562 p 422 562 p 428 562 p 453 562 p 355 561 p 367 561 p 396 561 p 429 561 p 482 561 p 548 561 p 562 561 p 301 560 p 364 560 p 409 560 p 430 560 p 472 560 p 485 560 p 345 559 p 374 559 p 380 559 p 431 559 p 444 559 p 480 559 p 490 559 p 501 559 p 385 558 p 409 558 p 423 558 p 432 558 p 384 557 p 389 557 p 400 557 p 433 557 p 464 557 p 484 557 p 493 557 p 358 556 p 370 556 p 382 556 p 434 556 p 436 556 p 503 556 p 345 555 p 387 555 p 422 555 p 435 555 p 480 555 p 490 555 p 370 554 p 376 554 p 434 554 p 436 554 p 471 554 p 519 554 p 530 554 p 362 553 p 384 553 p 393 553 p 437 553 p 441 553 p 484 553 p 486 553 p 508 553 p 341 552 p 364 552 p 371 552 p 438 552 p 455 552 p 510 552 p 511 552 p 332 551 p 380 551 p 416 551 p 439 551 p 482 551 p 398 550 p 406 550 p 410 550 p 440 550 p 512 550 p 535 550 p 355 549 p 384 549 p 437 549 p 441 549 p 513 549 p 354 548 p 388 548 p 406 548 p 442 548 p 453 548 p 502 548 p 504 548 p 344 547 p 407 547 p 411 547 p 443 547 p 496 547 p 518 547 p 374 546 p 394 546 p 431 546 p 444 546 p 476 546 p 481 546 p 549 546 p 558 546 p 369 545 p 371 545 p 417 545 p 445 545 p 455 545 p 476 545 p 495 545 p 361 544 p 375 544 p 418 544 p 446 544 p 467 544 p 494 544 p 540 544 p 543 544 p 550 544 p 308 543 p 402 543 p 410 543 p 447 543 p 472 543 p 479 543 p 500 543 p 402 542 p 406 542 p 410 542 p 448 542 p 500 542 p 514 542 p 379 541 p 381 541 p 409 541 p 449 541 p 485 541 p 508 541 p 537 541 p 398 540 p 406 540 p 427 540 p 450 540 p 501 540 p 514 540 p 329 539 p 378 539 p 415 539 p 451 539 p 481 539 p 355 538 p 379 538 p 381 538 p 452 538 p 513 538 p 548 538 p 403 537 p 428 537 p 442 537 p 453 537 p 507 537 p 539 537 p 565 537 p 346 536 p 393 536 p 401 536 p 454 536 p 378 535 p 438 535 p 445 535 p 455 535 p 515 535 p 524 535 p 529 535 p 342 534 p 360 534 p 414 534 p 456 534 p 478 534 p 502 534 p 314 533 p 382 533 p 400 533 p 457 533 p 509 533 p 516 533 p 525 533 p 541 533 p 575 533 p 579 533 p 587 533 p 322 532 p 403 532 p 405 532 p 458 532 p 475 532 p 505 532 p 506 532 p 536 532 p 557 532 p 597 532 p 334 531 p 417 531 p 420 531 p 459 531 p 506 531 p 509 531 p 511 531 p 517 531 p 551 531 p 347 530 p 404 530 p 418 530 p 460 530 p 474 530 p 518 530 p 533 530 p 543 530 p 545 530 p 350 529 p 366 529 p 396 529 p 461 529 p 489 529 p 355 528 p 389 528 p 425 528 p 462 528 p 489 528 p 513 528 p 336 527 p 357 527 p 411 527 p 463 527 p 477 527 p 491 527 p 533 527 p 358 526 p 393 526 p 433 526 p 464 526 p 503 526 p 519 526 p 532 526 p 361 525 p 396 525 p 416 525 p 465 525 p 520 525 p 543 525 p 552 525 p 376 524 p 392 524 p 421 524 p 466 524 p 530 524 p 534 524 p 542 524 p 553 524 p 559 524 p 591 524 p 375 523 p 377 523 p 446 523 p 467 523 p 494 523 p 498 523 p 512 523 p 528 523 p 550 523 p 383 522 p 385 522 p 399 522 p 468 522 p 477 522 p 487 522 p 554 522 p 388 521 p 402 521 p 421 521 p 469 521 p 502 521 p 538 521 p 568 521 p 389 520 p 391 520 p 425 520 p 470 520 p 493 520 p 376 519 p 393 519 p 436 519 p 471 519 p 553 519 p 555 519 p 582 519 p 402 518 p 430 518 p 447 518 p 472 518 p 510 518 p 522 518 p 523 518 p 546 518 p 403 517 p 407 517 p 414 517 p 473 517 p 505 517 p 527 517 p 556 517 p 602 517 p 366 516 p 404 516 p 460 516 p 474 516 p 496 516 p 497 516 p 544 516 p 407 515 p 412 515 p 458 515 p 475 515 p 516 515 p 526 515 p 556 515 p 557 515 p 592 515 p 617 515 p 415 514 p 444 514 p 445 514 p 476 514 p 488 514 p 495 514 p 558 514 p 418 513 p 463 513 p 468 513 p 477 513 p 499 513 p 533 513 p 553 513 p 559 513 p 357 512 p 421 512 p 456 512 p 478 512 p 491 512 p 527 512 p 560 512 p 409 511 p 426 511 p 447 511 p 479 511 p 521 511 p 427 510 p 431 510 p 435 510 p 480 510 p 501 510 p 507 510 p 394 509 p 444 509 p 451 509 p 481 509 p 515 509 p 537 509 p 548 509 p 561 509 p 396 508 p 429 508 p 439 508 p 482 508 p 547 508 p 549 508 p 552 508 p 562 508 p 419 507 p 420 507 p 424 507 p 483 507 p 530 507 p 531 507 p 566 507 p 593 507 p 595 507 p 604 507 p 393 506 p 433 506 p 437 506 p 484 506 p 486 506 p 532 506 p 583 506 p 378 505 p 430 505 p 449 505 p 485 505 p 515 505 p 563 505 p 393 504 p 437 504 p 484 504 p 486 504 p 554 504 p 555 504 p 594 504 p 616 504 p 375 503 p 385 503 p 468 503 p 487 503 p 498 503 p 499 503 p 540 503 p 374 502 p 405 502 p 476 502 p 488 502 p 490 502 p 495 502 p 536 502 p 558 502 p 396 501 p 461 501 p 462 501 p 489 501 p 497 501 p 584 501 p 586 501 p 431 500 p 435 500 p 488 500 p 490 500 p 539 500 p 569 500 p 411 499 p 463 499 p 478 499 p 491 499 p 518 499 p 560 499 p 402 498 p 419 498 p 424 498 p 492 498 p 546 498 p 568 498 p 595 498 p 400 497 p 433 497 p 470 497 p 493 497 p 532 497 p 575 497 p 584 497 p 605 497 p 398 496 p 446 496 p 467 496 p 494 496 p 520 496 p 535 496 p 550 496 p 445 495 p 476 495 p 488 495 p 495 495 p 524 495 p 574 495 p 391 494 p 443 494 p 474 494 p 496 494 p 526 494 p 544 494 p 391 493 p 474 493 p 489 493 p 497 493 p 385 492 p 467 492 p 487 492 p 498 492 p 528 492 p 576 492 p 620 492 p 418 491 p 477 491 p 487 491 p 499 491 p 540 491 p 589 491 p 410 490 p 447 490 p 448 490 p 500 490 p 512 490 p 431 489 p 450 489 p 480 489 p 501 489 p 547 489 p 564 489 p 569 489 p 572 489 p 442 488 p 456 488 p 469 488 p 502 488 p 504 488 p 527 488 p 538 488 p 565 488 p 382 487 p 434 487 p 464 487 p 503 487 p 519 487 p 541 487 p 566 487 p 571 487 p 402 486 p 442 486 p 502 486 p 504 486 p 596 486 p 606 486 p 618 486 p 643 486 p 403 485 p 458 485 p 473 485 p 505 485 p 597 485 p 405 484 p 458 484 p 459 484 p 506 484 p 536 484 p 551 484 p 581 484 p 598 484 p 406 483 p 453 483 p 480 483 p 507 483 p 514 483 p 409 482 p 437 482 p 449 482 p 508 482 p 521 482 p 563 482 p 594 482 p 413 481 p 457 481 p 459 481 p 509 481 p 525 481 p 419 480 p 438 480 p 472 480 p 510 480 p 529 480 p 531 480 p 593 480 p 420 479 p 438 479 p 459 479 p 511 479 p 524 479 p 593 479 p 440 478 p 467 478 p 500 478 p 512 478 p 521 478 p 522 478 p 528 478 p 596 478 p 603 478 p 441 477 p 452 477 p 462 477 p 513 477 p 583 477 p 584 477 p 599 477 p 619 477 p 633 477 p 448 476 p 450 476 p 507 476 p 514 476 p 535 476 p 564 476 p 596 476 p 455 475 p 481 475 p 485 475 p 515 475 p 537 475 p 561 475 p 563 475 p 590 475 p 600 475 p 413 474 p 457 474 p 475 474 p 516 474 p 557 474 p 581 474 p 587 474 p 382 473 p 420 473 p 459 473 p 517 473 p 525 473 p 551 473 p 443 472 p 460 472 p 491 472 p 518 472 p 544 472 p 556 472 p 588 472 p 436 471 p 464 471 p 503 471 p 519 471 p 580 471 p 416 470 p 465 470 p 494 470 p 520 470 p 567 470 p 578 470 p 479 469 p 508 469 p 512 469 p 521 469 p 522 469 p 523 469 p 603 469 p 620 469 p 627 469 p 644 469 p 651 469 p 472 468 p 512 468 p 521 468 p 522 468 p 523 468 p 570 468 p 577 468 p 472 467 p 521 467 p 522 467 p 523 467 p 577 467 p 627 467 p 628 467 p 644 467 p 455 466 p 495 466 p 511 466 p 524 466 p 529 466 p 590 466 p 624 466 p 645 466 p 457 465 p 509 465 p 517 465 p 525 465 p 579 465 p 391 464 p 475 464 p 496 464 p 526 464 p 587 464 p 601 464 p 473 463 p 478 463 p 502 463 p 527 463 p 538 463 p 565 463 p 573 463 p 602 463 p 467 462 p 498 462 p 512 462 p 528 462 p 585 462 p 603 462 p 620 462 p 639 462 p 455 461 p 510 461 p 524 461 p 529 461 p 590 461 p 624 461 p 628 461 p 436 460 p 466 460 p 483 460 p 530 460 p 534 460 p 582 460 p 604 460 p 419 459 p 483 459 p 510 459 p 531 459 p 595 459 p 464 458 p 484 458 p 493 458 p 532 458 p 541 458 p 571 458 p 583 458 p 605 458 p 630 458 p 632 458 p 460 457 p 463 457 p 477 457 p 533 457 p 559 457 p 588 457 p 589 457 p 629 457 p 424 456 p 466 456 p 530 456 p 534 456 p 542 456 p 440 455 p 494 455 p 514 455 p 535 455 p 567 455 p 458 454 p 488 454 p 506 454 p 536 454 p 539 454 p 574 454 p 598 454 p 622 454 p 659 454 p 449 453 p 481 453 p 515 453 p 537 453 p 469 452 p 502 452 p 527 452 p 538 452 p 542 452 p 606 452 p 453 451 p 490 451 p 536 451 p 539 451 p 564 451 p 607 451 p 659 451 p 446 450 p 487 450 p 499 450 p 540 450 p 576 450 p 585 450 p 608 450 p 457 449 p 503 449 p 532 449 p 541 449 p 575 449 p 609 449 p 466 448 p 534 448 p 538 448 p 542 448 p 591 448 p 621 448 p 626 448 p 446 447 p 460 447 p 465 447 p 543 447 p 589 447 p 610 447 p 613 447 p 665 447 p 474 446 p 496 446 p 518 446 p 544 446 p 545 446 p 588 446 p 592 446 p 610 446 p 635 446 p 637 446 p 396 445 p 460 445 p 544 445 p 545 445 p 586 445 p 610 445 p 402 444 p 472 444 p 492 444 p 546 444 p 570 444 p 577 444 p 618 444 p 416 443 p 482 443 p 501 443 p 547 443 p 549 443 p 552 443 p 611 443 p 429 442 p 452 442 p 481 442 p 548 442 p 562 442 p 599 442 p 612 442 p 444 441 p 482 441 p 547 441 p 549 441 p 572 441 p 611 441 p 446 440 p 467 440 p 494 440 p 550 440 p 578 440 p 585 440 p 459 439 p 506 439 p 517 439 p 551 439 p 566 439 p 579 439 p 581 439 p 631 439 p 645 439 p 646 439 p 691 439 p 716 439 p 465 438 p 482 438 p 547 438 p 552 438 p 611 438 p 613 438 p 638 438 p 647 438 p 466 437 p 471 437 p 477 437 p 553 437 p 554 437 p 582 437 p 614 437 p 468 436 p 486 436 p 553 436 p 554 436 p 555 436 p 576 436 p 615 436 p 616 436 p 471 435 p 486 435 p 554 435 p 555 435 p 580 435 p 615 435 p 616 435 p 473 434 p 475 434 p 518 434 p 556 434 p 573 434 p 592 434 p 602 434 p 617 434 p 625 434 p 648 434 p 692 434 p 458 433 p 475 433 p 516 433 p 557 433 p 597 433 p 598 433 p 617 433 p 660 433 p 444 432 p 476 432 p 488 432 p 558 432 p 561 432 p 569 432 p 574 432 p 466 431 p 477 431 p 533 431 p 559 431 p 560 431 p 629 431 p 649 431 p 478 430 p 491 430 p 559 430 p 560 430 p 573 430 p 626 430 p 481 429 p 515 429 p 558 429 p 561 429 p 612 429 p 623 429 p 650 429 p 429 428 p 482 428 p 548 428 p 562 428 p 640 428 p 485 427 p 508 427 p 515 427 p 563 427 p 600 427 p 619 427 p 651 427 p 501 426 p 514 426 p 539 426 p 564 426 p 567 426 p 607 426 p 652 426 p 653 426 p 658 426 p 664 426 p 686 426 p 693 426 p 453 425 p 502 425 p 527 425 p 565 425 p 606 425 p 607 425 p 625 425 p 483 424 p 503 424 p 551 424 p 566 424 p 571 424 p 609 424 p 642 424 p 520 423 p 535 423 p 564 423 p 567 423 p 578 423 p 641 423 p 652 423 p 653 423 p 686 423 p 690 423 p 694 423 p 402 422 p 469 422 p 492 422 p 568 422 p 618 422 p 490 421 p 501 421 p 558 421 p 569 421 p 572 421 p 622 421 p 402 420 p 522 420 p 546 420 p 570 420 p 503 419 p 532 419 p 566 419 p 571 419 p 580 419 p 630 419 p 642 419 p 501 418 p 549 418 p 569 418 p 572 418 p 652 418 p 654 418 p 527 417 p 556 417 p 560 417 p 573 417 p 648 417 p 495 416 p 536 416 p 558 416 p 574 416 p 622 416 p 645 416 p 650 416 p 457 415 p 493 415 p 541 415 p 575 415 p 632 415 p 498 414 p 540 414 p 554 414 p 576 414 p 614 414 p 634 414 p 655 414 p 695 414 p 522 413 p 523 413 p 546 413 p 577 413 p 627 413 p 643 413 p 656 413 p 669 413 p 670 413 p 696 413 p 520 412 p 550 412 p 567 412 p 578 412 p 608 412 p 613 412 p 641 412 p 457 411 p 525 411 p 551 411 p 579 411 p 609 411 p 519 410 p 555 410 p 571 410 p 580 410 p 636 410 p 506 409 p 516 409 p 551 409 p 581 409 p 631 409 p 471 408 p 530 408 p 553 408 p 582 408 p 591 408 p 615 408 p 636 408 p 657 408 p 484 407 p 513 407 p 532 407 p 583 407 p 594 407 p 630 407 p 633 407 p 671 407 p 489 406 p 493 406 p 513 406 p 584 406 p 586 406 p 599 406 p 601 406 p 605 406 p 633 406 p 640 406 p 680 406 p 697 406 p 528 405 p 540 405 p 550 405 p 585 405 p 639 405 p 641 405 p 489 404 p 545 404 p 584 404 p 586 404 p 637 404 p 638 404 p 640 404 p 683 404 p 457 403 p 516 403 p 526 403 p 587 403 p 601 403 p 631 403 p 667 403 p 518 402 p 533 402 p 544 402 p 588 402 p 648 402 p 676 402 p 698 402 p 739 402 p 499 401 p 533 401 p 543 401 p 589 401 p 608 401 p 614 401 p 629 401 p 668 401 p 698 401 p 699 401 p 715 401 p 515 400 p 524 400 p 529 400 p 590 400 p 628 400 p 677 400 p 685 400 p 733 400 p 466 399 p 542 399 p 582 399 p 591 399 p 626 399 p 657 399 p 662 399 p 663 399 p 682 399 p 740 399 p 475 398 p 544 398 p 556 398 p 592 398 p 483 397 p 510 397 p 511 397 p 593 397 p 624 397 p 656 397 p 486 396 p 508 396 p 583 396 p 594 396 p 619 396 p 655 396 p 483 395 p 492 395 p 531 395 p 595 395 p 604 395 p 621 395 p 656 395 p 662 395 p 504 394 p 512 394 p 514 394 p 596 394 p 653 394 p 658 394 p 661 394 p 670 394 p 672 394 p 458 393 p 505 393 p 557 393 p 597 393 p 659 393 p 660 393 p 506 392 p 536 392 p 557 392 p 598 392 p 660 392 p 681 392 p 684 392 p 700 392 p 513 391 p 548 391 p 584 391 p 599 391 p 600 391 p 612 391 p 697 391 p 701 391 p 712 391 p 722 391 p 515 390 p 563 390 p 599 390 p 600 390 p 677 390 p 687 390 p 702 390 p 526 389 p 584 389 p 587 389 p 601 389 p 635 389 p 637 389 p 666 389 p 674 389 p 728 389 p 743 389 p 473 388 p 527 388 p 556 388 p 602 388 p 512 387 p 521 387 p 528 387 p 603 387 p 661 387 p 670 387 p 675 387 p 703 387 p 483 386 p 530 386 p 595 386 p 604 386 p 646 386 p 662 386 p 682 386 p 704 386 p 713 386 p 493 385 p 532 385 p 584 385 p 605 385 p 632 385 p 674 385 p 504 384 p 538 384 p 565 384 p 606 384 p 658 384 p 663 384 p 688 384 p 705 384 p 735 384 p 764 384 p 539 383 p 564 383 p 565 383 p 607 383 p 625 383 p 664 383 p 706 383 p 540 382 p 578 382 p 589 382 p 608 382 p 665 382 p 678 382 p 541 381 p 566 381 p 579 381 p 609 381 p 642 381 p 666 381 p 679 381 p 689 381 p 543 380 p 544 380 p 545 380 p 610 380 p 638 380 p 698 380 p 707 380 p 547 379 p 549 379 p 552 379 p 611 379 p 623 379 p 647 379 p 701 379 p 708 379 p 548 378 p 561 378 p 599 378 p 612 378 p 623 378 p 543 377 p 552 377 p 578 377 p 613 377 p 647 377 p 665 377 p 553 376 p 576 376 p 589 376 p 614 376 p 634 376 p 657 376 p 668 376 p 554 375 p 555 375 p 582 375 p 615 375 p 634 375 p 636 375 p 486 374 p 554 374 p 555 374 p 616 374 p 711 374 p 475 373 p 556 373 p 557 373 p 617 373 p 635 373 p 667 373 p 673 373 p 504 372 p 546 372 p 568 372 p 618 372 p 621 372 p 643 372 p 513 371 p 563 371 p 594 371 p 619 371 p 651 371 p 671 371 p 702 371 p 498 370 p 521 370 p 528 370 p 620 370 p 639 370 p 695 370 p 703 370 p 542 369 p 595 369 p 618 369 p 621 369 p 663 369 p 705 369 p 536 368 p 569 368 p 574 368 p 622 368 p 650 368 p 654 368 p 664 368 p 709 368 p 718 368 p 561 367 p 611 367 p 612 367 p 623 367 p 654 367 p 687 367 p 708 367 p 524 366 p 529 366 p 593 366 p 624 366 p 685 366 p 691 366 p 556 365 p 565 365 p 607 365 p 625 365 p 673 365 p 688 365 p 706 365 p 710 365 p 542 364 p 560 364 p 591 364 p 626 364 p 521 363 p 523 363 p 577 363 p 627 363 p 644 363 p 675 363 p 523 362 p 529 362 p 590 362 p 628 362 p 669 362 p 685 362 p 533 361 p 559 361 p 589 361 p 629 361 p 649 361 p 532 360 p 571 360 p 583 360 p 630 360 p 679 360 p 711 360 p 551 359 p 581 359 p 587 359 p 631 359 p 681 359 p 684 359 p 716 359 p 741 359 p 753 359 p 532 358 p 575 358 p 605 358 p 632 358 p 666 358 p 679 358 p 513 357 p 583 357 p 584 357 p 633 357 p 671 357 p 697 357 p 576 356 p 614 356 p 615 356 p 634 356 p 655 356 p 668 356 p 723 356 p 724 356 p 730 356 p 738 356 p 742 356 p 787 356 p 831 356 p 544 355 p 601 355 p 617 355 p 635 355 p 667 355 p 676 355 p 728 355 p 580 354 p 582 354 p 615 354 p 636 354 p 723 354 p 544 353 p 586 353 p 601 353 p 637 353 p 676 353 p 680 353 p 707 353 p 743 353 p 552 352 p 586 352 p 610 352 p 638 352 p 683 352 p 707 352 p 528 351 p 585 351 p 620 351 p 639 351 p 678 351 p 562 350 p 584 350 p 586 350 p 640 350 p 680 350 p 683 350 p 567 349 p 578 349 p 585 349 p 641 349 p 661 349 p 694 349 p 566 348 p 571 348 p 609 348 p 642 348 p 646 348 p 689 348 p 713 348 p 504 347 p 577 347 p 618 347 p 643 347 p 672 347 p 521 346 p 523 346 p 627 346 p 644 346 p 669 346 p 677 346 p 744 346 p 524 345 p 551 345 p 574 345 p 645 345 p 681 345 p 551 344 p 604 344 p 642 344 p 646 344 p 689 344 p 691 344 p 704 344 p 714 344 p 745 344 p 552 343 p 611 343 p 613 343 p 647 343 p 690 343 p 719 343 p 727 343 p 746 343 p 767 343 p 556 342 p 573 342 p 588 342 p 648 342 p 649 342 p 688 342 p 559 341 p 629 341 p 648 341 p 649 341 p 724 341 p 739 341 p 740 341 p 747 341 p 754 341 p 785 341 p 561 340 p 574 340 p 622 340 p 650 340 p 687 340 p 718 340 p 732 340 p 521 339 p 563 339 p 619 339 p 651 339 p 744 339 p 748 339 p 758 339 p 564 338 p 567 338 p 572 338 p 652 338 p 690 338 p 564 337 p 567 337 p 596 337 p 653 337 p 686 337 p 572 336 p 622 336 p 623 336 p 654 336 p 708 336 p 709 336 p 720 336 p 749 336 p 576 335 p 594 335 p 634 335 p 655 335 p 695 335 p 577 334 p 593 334 p 595 334 p 656 334 p 696 334 p 704 334 p 725 334 p 582 333 p 591 333 p 614 333 p 657 333 p 564 332 p 596 332 p 606 332 p 658 332 p 672 332 p 693 332 p 706 332 p 735 332 p 750 332 p 762 332 p 792 332 p 536 331 p 539 331 p 597 331 p 659 331 p 700 331 p 557 330 p 597 330 p 598 330 p 660 330 p 673 330 p 684 330 p 596 329 p 603 329 p 641 329 p 661 329 p 678 329 p 750 329 p 751 329 p 770 329 p 795 329 p 591 328 p 595 328 p 604 328 p 662 328 p 682 328 p 752 328 p 591 327 p 606 327 p 621 327 p 663 327 p 740 327 p 752 327 p 764 327 p 765 327 p 564 326 p 607 326 p 622 326 p 664 326 p 693 326 p 709 326 p 543 325 p 608 325 p 613 325 p 665 325 p 699 325 p 601 324 p 609 324 p 632 324 p 666 324 p 674 324 p 741 324 p 587 323 p 617 323 p 635 323 p 667 323 p 728 323 p 753 323 p 589 322 p 614 322 p 634 322 p 668 322 p 715 322 p 729 322 p 754 322 p 577 321 p 628 321 p 644 321 p 669 321 p 717 321 p 726 321 p 769 321 p 577 320 p 596 320 p 603 320 p 670 320 p 675 320 p 726 320 p 751 320 p 776 320 p 583 319 p 619 319 p 633 319 p 671 319 p 711 319 p 734 319 p 738 319 p 755 319 p 825 319 p 596 318 p 643 318 p 658 318 p 672 318 p 696 318 p 705 318 p 750 318 p 776 318 p 617 317 p 625 317 p 660 317 p 673 317 p 700 317 p 753 317 p 756 317 p 768 317 p 771 317 p 784 317 p 601 316 p 605 316 p 666 316 p 674 316 p 755 316 p 603 315 p 627 315 p 670 315 p 675 315 p 588 314 p 635 314 p 637 314 p 676 314 p 692 314 p 757 314 p 772 314 p 798 314 p 803 314 p 590 313 p 600 313 p 644 313 p 677 313 p 702 313 p 744 313 p 758 313 p 763 313 p 769 313 p 814 313 p 608 312 p 639 312 p 661 312 p 678 312 p 742 312 p 759 312 p 770 312 p 777 312 p 609 311 p 630 311 p 632 311 p 679 311 p 731 311 p 584 310 p 637 310 p 640 310 p 680 310 p 734 310 p 743 310 p 757 310 p 778 310 p 799 310 p 598 309 p 631 309 p 645 309 p 681 309 p 718 309 p 732 309 p 760 309 p 786 309 p 800 309 p 847 309 p 591 308 p 604 308 p 662 308 p 682 308 p 713 308 p 723 308 p 737 308 p 761 308 p 783 308 p 586 307 p 638 307 p 640 307 p 683 307 p 701 307 p 721 307 p 767 307 p 598 306 p 631 306 p 660 306 p 684 306 p 760 306 p 590 305 p 624 305 p 628 305 p 685 305 p 717 305 p 733 305 p 769 305 p 564 304 p 567 304 p 653 304 p 686 304 p 694 304 p 762 304 p 801 304 p 600 303 p 623 303 p 650 303 p 687 303 p 712 303 p 720 303 p 722 303 p 763 303 p 606 302 p 625 302 p 648 302 p 688 302 p 692 302 p 736 302 p 747 302 p 764 302 p 768 302 p 781 302 p 802 302 p 609 301 p 642 301 p 646 301 p 689 301 p 716 301 p 731 301 p 745 301 p 567 300 p 647 300 p 652 300 p 690 300 p 719 300 p 551 299 p 624 299 p 646 299 p 691 299 p 717 299 p 793 299 p 800 299 p 556 298 p 676 298 p 688 298 p 692 298 p 739 298 p 756 298 p 768 298 p 803 298 p 564 297 p 658 297 p 664 297 p 693 297 p 762 297 p 773 297 p 567 296 p 641 296 p 686 296 p 694 296 p 746 296 p 576 295 p 620 295 p 655 295 p 695 295 p 703 295 p 577 294 p 656 294 p 672 294 p 696 294 p 725 294 p 726 294 p 789 294 p 804 294 p 584 293 p 599 293 p 633 293 p 697 293 p 734 293 p 588 292 p 589 292 p 610 292 p 698 292 p 699 292 p 715 292 p 772 292 p 589 291 p 665 291 p 698 291 p 699 291 p 727 291 p 729 291 p 598 290 p 659 290 p 673 290 p 700 290 p 710 290 p 760 290 p 771 290 p 775 290 p 599 289 p 611 289 p 683 289 p 701 289 p 721 289 p 600 288 p 619 288 p 677 288 p 702 288 p 712 288 p 758 288 p 603 287 p 620 287 p 695 287 p 703 287 p 748 287 p 751 287 p 759 287 p 604 286 p 646 286 p 656 286 p 704 286 p 714 286 p 737 286 p 793 286 p 606 285 p 621 285 p 672 285 p 705 285 p 725 285 p 735 285 p 752 285 p 765 285 p 789 285 p 607 284 p 625 284 p 658 284 p 706 284 p 710 284 p 610 283 p 637 283 p 638 283 p 707 283 p 727 283 p 757 283 p 611 282 p 623 282 p 654 282 p 708 282 p 719 282 p 720 282 p 721 282 p 766 282 p 622 281 p 654 281 p 664 281 p 709 281 p 749 281 p 773 281 p 775 281 p 625 280 p 700 280 p 706 280 p 710 280 p 736 280 p 771 280 p 773 280 p 616 279 p 630 279 p 671 279 p 711 279 p 730 279 p 738 279 p 599 278 p 687 278 p 702 278 p 712 278 p 722 278 p 774 278 p 604 277 p 642 277 p 682 277 p 713 277 p 714 277 p 731 277 p 646 276 p 704 276 p 713 276 p 714 276 p 737 276 p 790 276 p 805 276 p 589 275 p 668 275 p 698 275 p 715 275 p 729 275 p 551 274 p 631 274 p 689 274 p 716 274 p 745 274 p 786 274 p 669 273 p 685 273 p 691 273 p 717 273 p 817 273 p 870 273 p 622 272 p 650 272 p 681 272 p 718 272 p 732 272 p 775 272 p 647 271 p 690 271 p 708 271 p 719 271 p 746 271 p 749 271 p 779 271 p 654 270 p 687 270 p 708 270 p 720 270 p 782 270 p 806 270 p 683 269 p 701 269 p 708 269 p 721 269 p 766 269 p 767 269 p 599 268 p 687 268 p 712 268 p 722 268 p 766 268 p 774 268 p 634 267 p 636 267 p 682 267 p 723 267 p 724 267 p 730 267 p 783 267 p 634 266 p 649 266 p 723 266 p 724 266 p 754 266 p 783 266 p 785 266 p 807 266 p 842 266 p 656 265 p 696 265 p 705 265 p 725 265 p 789 265 p 804 265 p 808 265 p 669 264 p 670 264 p 696 264 p 726 264 p 794 264 p 817 264 p 849 264 p 860 264 p 647 263 p 699 263 p 707 263 p 727 263 p 772 263 p 829 263 p 852 263 p 601 262 p 635 262 p 667 262 p 728 262 p 741 262 p 756 262 p 798 262 p 668 261 p 699 261 p 715 261 p 729 261 p 742 261 p 777 261 p 809 261 p 829 261 p 846 261 p 634 260 p 711 260 p 723 260 p 730 260 p 755 260 p 791 260 p 807 260 p 825 260 p 850 260 p 857 260 p 679 259 p 689 259 p 713 259 p 731 259 p 790 259 p 791 259 p 650 258 p 681 258 p 718 258 p 732 258 p 733 258 p 806 258 p 816 258 p 590 257 p 685 257 p 732 257 p 733 257 p 763 257 p 800 257 p 671 256 p 680 256 p 697 256 p 734 256 p 774 256 p 778 256 p 823 256 p 868 256 p 882 256 p 606 255 p 658 255 p 705 255 p 735 255 p 736 255 p 810 255 p 688 254 p 710 254 p 735 254 p 736 254 p 821 254 p 822 254 p 830 254 p 853 254 p 682 253 p 704 253 p 714 253 p 737 253 p 808 253 p 634 252 p 671 252 p 711 252 p 738 252 p 831 252 p 854 252 p 855 252 p 588 251 p 649 251 p 692 251 p 739 251 p 781 251 p 803 251 p 809 251 p 811 251 p 832 251 p 591 250 p 649 250 p 663 250 p 740 250 p 747 250 p 761 250 p 785 250 p 788 250 p 631 249 p 666 249 p 728 249 p 741 249 p 786 249 p 813 249 p 824 249 p 833 249 p 843 249 p 851 249 p 866 249 p 634 248 p 678 248 p 729 248 p 742 248 p 777 248 p 787 248 p 812 248 p 834 248 p 601 247 p 637 247 p 680 247 p 743 247 p 798 247 p 799 247 p 644 246 p 651 246 p 677 246 p 744 246 p 748 246 p 794 246 p 814 246 p 646 245 p 689 245 p 716 245 p 745 245 p 790 245 p 793 245 p 845 245 p 647 244 p 694 244 p 719 244 p 746 244 p 770 244 p 779 244 p 835 244 p 841 244 p 875 244 p 649 243 p 688 243 p 740 243 p 747 243 p 781 243 p 788 243 p 802 243 p 844 243 p 651 242 p 703 242 p 744 242 p 748 242 p 794 242 p 812 242 p 654 241 p 709 241 p 719 241 p 749 241 p 782 241 p 796 241 p 797 241 p 835 241 p 658 240 p 661 240 p 672 240 p 750 240 p 776 240 p 792 240 p 819 240 p 661 239 p 670 239 p 703 239 p 751 239 p 759 239 p 795 239 p 662 238 p 663 238 p 705 238 p 752 238 p 761 238 p 808 238 p 631 237 p 667 237 p 673 237 p 753 237 p 784 237 p 649 236 p 668 236 p 724 236 p 754 236 p 787 236 p 809 236 p 846 236 p 671 235 p 674 235 p 730 235 p 755 235 p 799 235 p 825 235 p 833 235 p 673 234 p 692 234 p 728 234 p 756 234 p 784 234 p 813 234 p 676 233 p 680 233 p 707 233 p 757 233 p 836 233 p 852 233 p 651 232 p 677 232 p 702 232 p 758 232 p 814 232 p 823 232 p 837 232 p 678 231 p 703 231 p 751 231 p 759 231 p 812 231 p 681 230 p 684 230 p 700 230 p 760 230 p 682 229 p 740 229 p 752 229 p 761 229 p 788 229 p 838 229 p 658 228 p 686 228 p 693 228 p 762 228 p 792 228 p 797 228 p 821 228 p 677 227 p 687 227 p 733 227 p 763 227 p 780 227 p 806 227 p 606 226 p 663 226 p 688 226 p 764 226 p 765 226 p 663 225 p 705 225 p 764 225 p 765 225 p 802 225 p 810 225 p 828 225 p 708 224 p 721 224 p 722 224 p 766 224 p 778 224 p 796 224 p 827 224 p 647 223 p 683 223 p 721 223 p 767 223 p 779 223 p 673 222 p 688 222 p 692 222 p 768 222 p 815 222 p 822 222 p 848 222 p 669 221 p 677 221 p 685 221 p 769 221 p 780 221 p 661 220 p 678 220 p 746 220 p 770 220 p 801 220 p 673 219 p 700 219 p 710 219 p 771 219 p 822 219 p 826 219 p 676 218 p 698 218 p 727 218 p 772 218 p 829 218 p 693 217 p 709 217 p 710 217 p 773 217 p 797 217 p 839 217 p 853 217 p 869 217 p 712 216 p 722 216 p 734 216 p 774 216 p 780 216 p 827 216 p 840 216 p 868 216 p 700 215 p 709 215 p 718 215 p 775 215 p 782 215 p 826 215 p 839 215 p 872 215 p 670 214 p 672 214 p 750 214 p 776 214 p 795 214 p 819 214 p 678 213 p 729 213 p 742 213 p 777 213 p 834 213 p 841 213 p 905 213 p 680 212 p 734 212 p 766 212 p 778 212 p 827 212 p 836 212 p 868 212 p 879 212 p 719 211 p 746 211 p 767 211 p 779 211 p 796 211 p 763 210 p 769 210 p 774 210 p 780 210 p 816 210 p 823 210 p 876 210 p 887 210 p 911 210 p 928 210 p 932 210 p 688 209 p 739 209 p 747 209 p 781 209 p 815 209 p 720 208 p 749 208 p 775 208 p 782 208 p 880 208 p 682 207 p 723 207 p 724 207 p 783 207 p 805 207 p 807 207 p 838 207 p 842 207 p 850 207 p 673 206 p 753 206 p 756 206 p 784 206 p 826 206 p 843 206 p 848 206 p 858 206 p 649 205 p 724 205 p 740 205 p 785 205 p 811 205 p 842 205 p 844 205 p 681 204 p 716 204 p 741 204 p 786 204 p 824 204 p 843 204 p 845 204 p 847 204 p 634 203 p 742 203 p 754 203 p 787 203 p 834 203 p 846 203 p 863 203 p 877 203 p 902 203 p 740 202 p 747 202 p 761 202 p 788 202 p 696 201 p 705 201 p 725 201 p 789 201 p 804 201 p 810 201 p 828 201 p 849 201 p 862 201 p 867 201 p 714 200 p 731 200 p 745 200 p 790 200 p 791 200 p 805 200 p 824 200 p 856 200 p 730 199 p 731 199 p 790 199 p 791 199 p 833 199 p 864 199 p 658 198 p 750 198 p 762 198 p 792 198 p 691 197 p 704 197 p 745 197 p 793 197 p 818 197 p 856 197 p 870 197 p 726 196 p 744 196 p 748 196 p 794 196 p 817 196 p 837 196 p 860 196 p 661 195 p 751 195 p 776 195 p 795 195 p 801 195 p 819 195 p 820 195 p 867 195 p 894 195 p 900 195 p 749 194 p 766 194 p 779 194 p 796 194 p 879 194 p 880 194 p 749 193 p 762 193 p 773 193 p 797 193 p 835 193 p 839 193 p 676 192 p 728 192 p 743 192 p 798 192 p 813 192 p 851 192 p 874 192 p 881 192 p 680 191 p 743 191 p 755 191 p 799 191 p 836 191 p 874 191 p 882 191 p 885 191 p 681 190 p 691 190 p 733 190 p 800 190 p 816 190 p 847 190 p 870 190 p 876 190 p 686 189 p 770 189 p 795 189 p 801 189 p 820 189 p 841 189 p 883 189 p 688 188 p 747 188 p 765 188 p 802 188 p 815 188 p 830 188 p 676 187 p 692 187 p 739 187 p 803 187 p 832 187 p 848 187 p 881 187 p 884 187 p 886 187 p 696 186 p 725 186 p 789 186 p 804 186 p 818 186 p 849 186 p 714 185 p 783 185 p 790 185 p 805 185 p 720 184 p 732 184 p 763 184 p 806 184 p 840 184 p 724 183 p 730 183 p 783 183 p 807 183 p 831 183 p 850 183 p 861 183 p 725 182 p 737 182 p 752 182 p 808 182 p 818 182 p 838 182 p 729 181 p 739 181 p 754 181 p 809 181 p 811 181 p 832 181 p 735 180 p 765 180 p 789 180 p 810 180 p 821 180 p 828 180 p 739 179 p 785 179 p 809 179 p 811 179 p 844 179 p 742 178 p 748 178 p 759 178 p 812 178 p 854 178 p 865 178 p 741 177 p 756 177 p 798 177 p 813 177 p 851 177 p 677 176 p 744 176 p 758 176 p 814 176 p 837 176 p 768 175 p 781 175 p 802 175 p 815 175 p 871 175 p 884 175 p 732 174 p 780 174 p 800 174 p 816 174 p 872 174 p 888 174 p 912 174 p 928 174 p 934 174 p 717 173 p 726 173 p 794 173 p 817 173 p 860 173 p 909 173 p 910 173 p 911 173 p 793 172 p 804 172 p 808 172 p 818 172 p 862 172 p 750 171 p 776 171 p 795 171 p 819 171 p 820 171 p 795 170 p 801 170 p 819 170 p 820 170 p 894 170 p 899 170 p 913 170 p 929 170 p 736 169 p 762 169 p 810 169 p 821 169 p 873 169 p 913 169 p 930 169 p 736 168 p 768 168 p 771 168 p 822 168 p 853 168 p 914 168 p 919 168 p 734 167 p 758 167 p 780 167 p 823 167 p 859 167 p 741 166 p 786 166 p 790 166 p 824 166 p 845 166 p 856 166 p 866 166 p 906 166 p 915 166 p 671 165 p 730 165 p 755 165 p 825 165 p 882 165 p 890 165 p 771 164 p 775 164 p 784 164 p 826 164 p 869 164 p 872 164 p 895 164 p 914 164 p 917 164 p 766 163 p 774 163 p 778 163 p 827 163 p 840 163 p 765 162 p 789 162 p 810 162 p 828 162 p 830 162 p 727 161 p 729 161 p 772 161 p 829 161 p 852 161 p 881 161 p 886 161 p 889 161 p 905 161 p 944 161 p 736 160 p 802 160 p 828 160 p 830 160 p 871 160 p 892 160 p 896 160 p 919 160 p 925 160 p 930 160 p 634 159 p 738 159 p 807 159 p 831 159 p 854 159 p 857 159 p 861 159 p 907 159 p 739 158 p 803 158 p 809 158 p 832 158 p 886 158 p 741 157 p 755 157 p 791 157 p 833 157 p 885 157 p 890 157 p 906 157 p 920 157 p 926 157 p 742 156 p 777 156 p 787 156 p 834 156 p 863 156 p 865 156 p 902 156 p 746 155 p 749 155 p 797 155 p 835 155 p 875 155 p 880 155 p 883 155 p 891 155 p 899 155 p 901 155 p 757 154 p 778 154 p 799 154 p 836 154 p 874 154 p 893 154 p 908 154 p 758 153 p 794 153 p 814 153 p 837 153 p 855 153 p 859 153 p 878 153 p 761 152 p 783 152 p 808 152 p 838 152 p 896 152 p 773 151 p 775 151 p 797 151 p 839 151 p 869 151 p 873 151 p 903 151 p 774 150 p 806 150 p 827 150 p 840 150 p 888 150 p 746 149 p 777 149 p 801 149 p 841 149 p 875 149 p 883 149 p 894 149 p 901 149 p 929 149 p 724 148 p 783 148 p 785 148 p 842 148 p 877 148 p 896 148 p 741 147 p 784 147 p 786 147 p 843 147 p 866 147 p 747 146 p 785 146 p 811 146 p 844 146 p 871 146 p 745 145 p 786 145 p 824 145 p 845 145 p 729 144 p 754 144 p 787 144 p 846 144 p 863 144 p 877 144 p 681 143 p 786 143 p 800 143 p 847 143 p 895 143 p 912 143 p 768 142 p 784 142 p 803 142 p 848 142 p 858 142 p 884 142 p 726 141 p 789 141 p 804 141 p 849 141 p 862 141 p 730 140 p 783 140 p 807 140 p 850 140 p 857 140 p 861 140 p 864 140 p 898 140 p 741 139 p 798 139 p 813 139 p 851 139 p 858 139 p 920 139 p 922 139 p 727 138 p 757 138 p 829 138 p 852 138 p 736 137 p 773 137 p 822 137 p 853 137 p 873 137 p 738 136 p 812 136 p 831 136 p 854 136 p 855 136 p 865 136 p 878 136 p 907 136 p 973 136 p 738 135 p 837 135 p 854 135 p 855 135 p 859 135 p 790 134 p 793 134 p 824 134 p 856 134 p 864 134 p 906 134 p 915 134 p 730 133 p 831 133 p 850 133 p 857 133 p 898 133 p 784 132 p 848 132 p 851 132 p 858 132 p 914 132 p 922 132 p 931 132 p 823 131 p 837 131 p 855 131 p 859 131 p 878 131 p 887 131 p 897 131 p 726 130 p 794 130 p 817 130 p 860 130 p 867 130 p 909 130 p 910 130 p 923 130 p 807 129 p 831 129 p 850 129 p 861 129 p 898 129 p 907 129 p 924 129 p 789 128 p 818 128 p 849 128 p 862 128 p 925 128 p 787 127 p 834 127 p 846 127 p 863 127 p 889 127 p 902 127 p 905 127 p 791 126 p 850 126 p 856 126 p 864 126 p 924 126 p 926 126 p 812 125 p 834 125 p 854 125 p 865 125 p 900 125 p 927 125 p 973 125 p 741 124 p 824 124 p 843 124 p 866 124 p 895 124 p 920 124 p 789 123 p 795 123 p 860 123 p 867 123 p 909 123 p 913 123 p 923 123 p 734 122 p 774 122 p 778 122 p 868 122 p 879 122 p 887 122 p 897 122 p 773 121 p 826 121 p 839 121 p 869 121 p 717 120 p 793 120 p 800 120 p 870 120 p 876 120 p 911 120 p 815 119 p 830 119 p 844 119 p 871 119 p 892 119 p 904 119 p 775 118 p 816 118 p 826 118 p 872 118 p 903 118 p 917 118 p 821 117 p 839 117 p 853 117 p 873 117 p 899 117 p 930 117 p 798 116 p 799 116 p 836 116 p 874 116 p 885 116 p 893 116 p 746 115 p 835 115 p 841 115 p 875 115 p 901 115 p 944 115 p 780 114 p 800 114 p 870 114 p 876 114 p 912 114 p 928 114 p 787 113 p 842 113 p 846 113 p 877 113 p 889 113 p 837 112 p 854 112 p 859 112 p 878 112 p 910 112 p 927 112 p 973 112 p 778 111 p 796 111 p 868 111 p 879 111 p 891 111 p 782 110 p 796 110 p 835 110 p 880 110 p 888 110 p 891 110 p 903 110 p 798 109 p 803 109 p 829 109 p 881 109 p 922 109 p 931 109 p 734 108 p 799 108 p 825 108 p 882 108 p 890 108 p 908 108 p 801 107 p 835 107 p 841 107 p 883 107 p 803 106 p 815 106 p 848 106 p 884 106 p 892 106 p 904 106 p 799 105 p 833 105 p 874 105 p 885 105 p 893 105 p 939 105 p 803 104 p 829 104 p 832 104 p 886 104 p 904 104 p 780 103 p 859 103 p 868 103 p 887 103 p 897 103 p 961 103 p 816 102 p 840 102 p 880 102 p 888 102 p 829 101 p 863 101 p 877 101 p 889 101 p 825 100 p 833 100 p 882 100 p 890 100 p 939 100 p 835 99 p 879 99 p 880 99 p 891 99 p 830 98 p 871 98 p 884 98 p 892 98 p 919 98 p 836 97 p 874 97 p 885 97 p 893 97 p 908 97 p 939 97 p 795 96 p 820 96 p 841 96 p 894 96 p 900 96 p 826 95 p 847 95 p 866 95 p 895 95 p 830 94 p 838 94 p 842 94 p 896 94 p 924 94 p 859 93 p 868 93 p 887 93 p 897 93 p 850 92 p 857 92 p 861 92 p 898 92 p 926 92 p 820 91 p 835 91 p 873 91 p 899 91 p 795 90 p 865 90 p 894 90 p 900 90 p 923 90 p 835 89 p 841 89 p 875 89 p 901 89 p 929 89 p 787 88 p 834 88 p 863 88 p 902 88 p 839 87 p 872 87 p 880 87 p 903 87 p 871 86 p 884 86 p 886 86 p 904 86 p 931 86 p 777 85 p 829 85 p 863 85 p 905 85 p 824 84 p 833 84 p 856 84 p 906 84 p 915 84 p 831 83 p 854 83 p 861 83 p 907 83 p 836 82 p 882 82 p 893 82 p 908 82 p 817 81 p 860 81 p 867 81 p 909 81 p 817 80 p 860 80 p 878 80 p 910 80 p 932 80 p 961 80 p 780 79 p 817 79 p 870 79 p 911 79 p 932 79 p 816 78 p 847 78 p 876 78 p 912 78 p 917 78 p 934 78 p 820 77 p 821 77 p 867 77 p 913 77 p 925 77 p 822 76 p 826 76 p 858 76 p 914 76 p 824 75 p 856 75 p 906 75 p 915 75 p 825 74 p 859 74 p 890 74 p 916 74 p 826 73 p 872 73 p 912 73 p 917 73 p 934 73 p 829 72 p 836 72 p 881 72 p 918 72 p 822 71 p 830 71 p 892 71 p 919 71 p 833 70 p 851 70 p 866 70 p 920 70 p 856 69 p 864 69 p 870 69 p 921 69 p 851 68 p 858 68 p 881 68 p 922 68 p 860 67 p 867 67 p 900 67 p 923 67 p 927 67 p 861 66 p 864 66 p 896 66 p 924 66 p 830 65 p 862 65 p 913 65 p 925 65 p 833 64 p 864 64 p 898 64 p 926 64 p 865 63 p 878 63 p 923 63 p 927 63 p 780 62 p 816 62 p 876 62 p 928 62 p 820 61 p 841 61 p 901 61 p 929 61 p 821 60 p 830 60 p 873 60 p 930 60 p 858 59 p 881 59 p 904 59 p 931 59 p 780 58 p 910 58 p 911 58 p 932 58 p 961 58 p 868 57 p 887 57 p 897 57 p 933 57 p 816 56 p 912 56 p 917 56 p 934 56 p 780 55 p 911 55 p 928 55 p 935 55 p 865 54 p 900 54 p 905 54 p 936 54 p 912 53 p 928 53 p 937 53 p 830 52 p 871 52 p 896 52 p 938 52 p 885 51 p 890 51 p 893 51 p 939 51 p 881 50 p 886 50 p 931 50 p 940 50 p 875 49 p 879 49 p 901 49 p 941 49 p 944 49 p 879 48 p 888 48 p 942 48 p 882 47 p 890 47 p 908 47 p 943 47 p 829 46 p 875 46 p 944 46 p 880 45 p 899 45 p 901 45 p 945 45 p 826 44 p 858 44 p 895 44 p 946 44 p 898 43 p 907 43 p 947 43 p 893 42 p 922 42 p 948 42 p 864 41 p 898 41 p 926 41 p 949 41 p 904 40 p 914 40 p 931 40 p 950 40 p 895 39 p 906 39 p 920 39 p 951 39 p 826 38 p 873 38 p 903 38 p 952 38 p 920 37 p 939 37 p 953 37 p 829 36 p 889 36 p 954 36 p 889 35 p 896 35 p 924 35 p 955 35 p 841 34 p 901 34 p 944 34 p 956 34 p 892 33 p 919 33 p 957 33 p 820 32 p 867 32 p 913 32 p 958 32 p 894 31 p 900 31 p 959 31 p 861 30 p 902 30 p 960 30 p 887 29 p 910 29 p 932 29 p 961 29 p 870 28 p 915 28 p 962 28 p 820 27 p 873 27 p 913 27 p 963 27 p 829 26 p 889 26 p 964 26 p 833 25 p 906 25 p 926 25 p 965 25 p 858 24 p 895 24 p 920 24 p 966 24 p 859 23 p 878 23 p 961 23 p 967 23 p 862 22 p 867 22 p 909 22 p 968 22 p 865 21 p 902 21 p 905 21 p 969 21 p 862 20 p 870 20 p 911 20 p 970 20 p 871 19 p 904 19 p 971 19 p 873 18 p 903 18 p 972 18 p 854 17 p 865 17 p 878 17 p 973 17 p 879 16 p 880 16 p 974 16 p 880 15 p 888 15 p 903 15 p 975 15 p 895 14 p 917 14 p 976 14 p 862 13 p 896 13 p 925 13 p 977 13 p 899 12 p 929 12 p 978 12 p 900 11 p 927 11 p 979 11 p 903 10 p 917 10 p 980 10 p 910 9 p 981 9 p 870 8 p 911 8 p 982 8 p 895 7 p 912 7 p 983 7 p 922 6 p 931 6 p 984 6 p 910 5 p 911 5 p 932 5 p 985 5 p 833 4 p 986 4 p 858 3 p 922 3 p 987 3 p 862 2 p 925 2 p 988 2 p 858 1 p 914 1 p 989 1 p 862 0 p 990 0 p showpage sparskit-2.0.0/DOC/vbrpic.pdf0000640000265600020320000000462310213267516015066 0ustar tilleaadmin%PDF-1.3 %Çì¢ 5 0 obj <> stream xœWËŽE Ý÷WÔŽ Ò-l×{B$l’\±A,P2D‰2D!HðùØ®wÏ(ÌH}Ý~—].—ûƒ‹ä¿ý¾¼;¾yžÌ뇷Áü} ys€ùápˆ¦ç f0Þ/__йSª˜wÌ‹©ó„ª¼:O¨ÊCp©dã.áàºáHÉÆ Õ’›†3%·Lo|ˆ_¹ì¹s•l\«P²qýX…’Ç*”lÜ<¼)Y¹†7%‡7%7 \%+Ìëã§Q7°ý¼¼3ß^y+33l6×ߺ¿h\°Ñ³Þ\ïŽfÈéÓÉÃË#è{ÔgÒg–G‘{àÛ¡X¡!¡Ø ˜ [ è£è<º¾­+!öÌ+¹8äÚº°ÊõÕqóXÄß_g5|G¾˜K™iü\y#ª¢épiJ”ÉN—(=$ÉM‰Ò]ò)É¡óé$jkM¸yÈKäO~qýnD¯¯‹Ië!ÓŠoë­t_¯V}—„5z­ü.IáňNZ‚£ÒbĽ@L’…_¤I´hHÂçÃ>7_NAɧè•ëyñùÄ.À\Ч~D{CR´Þ“_ÛSçK7j|mQ¯Æ‘Ž÷Ko«|%;_+_Éί=® *=$Úçš„p‘¨C˜M×0û*,ža¶VXÃÒ]aõ Kƒí7ýÖÛZbî*™ŸÌÛÃóùÆœq—¹ì*·¶¦·Gp±C$îDLÉfî#˜׈ßUb ë‚øà“†e¦8Ö„NˆDÖËj"Xö¼ë —¬Ô,ö\bñÑ»3¢KÞz®âÀwÒAÉ¢H1Ú8©ý¨µj7.É“¤¶fÌÅ=™Þã&‘T od2wki5Gð`#ï¼%O» z Ùx(¶p¯‰ä\7<‰hÃs¹X†# h×à“ô¿Â{{šÜ¥ZNQ6…ƒ´”îÂyå½HÆeFå5w<ä m€z ¯€á¸¨¸‡ÝÈ>ŲÇK‘ïEmJiW¡HR‰Æ¥låÔ @?6Ä¥Ó†ðžƒÏ9wv—€Ýð<ʼn,KÑèX@ ƈ =b\uMRK«Kê"oÜD 6ÊÚ$åÞë&!œMÈy•lô”ÔžX%û@í‘Ô9¯éã3ÂÉàÁ(J`»Ï@NN7¸ç¡<1 ïöŽY²¯V¤Çס"U“Y´s L¦Ò&ßÙ…M"ž¤Î{Wù'ú‰#ôŽÃÄY¤Ü Î8™&N §¼¹Â­-$1!›üI‡wÀÙ%F®¥Y&ÜgÞt, Ùϼ]i›1H¹žtˆï”g©ÏvéÒãŽIH+f♘YxôÁ“7-> à–ó!=cÅt°bòæwâ3a}:é¿È™ãÒ䃹¬ÓÁi—š!'-Ž™|ŸdÒaLÌPô$¿pê“¡}Ù‡>wŸÛŒ$sM`ÅŸ†b³ô }¿:`Ÿ¢VîV§¹{–ˆZ‘t ‰®¥nnj¤AÂb¨›sn^dëÚž£ª“(9yxyyˆ¡ 'ðÉêº÷µ—5/lxá [-µ§ŸÎÐ0ToDêùæ¨h~{÷ñ½yóÇ«Ûn?òï_ïÍÓù•÷ìø]¯Zendstream endobj 6 0 obj 1353 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 9 0 obj <> endobj 10 0 obj <> endobj 8 0 obj <> endobj 2 0 obj <>endobj xref 0 11 0000000000 65535 f 0000001676 00000 n 0000001890 00000 n 0000001617 00000 n 0000001458 00000 n 0000000015 00000 n 0000001438 00000 n 0000001724 00000 n 0000001824 00000 n 0000001765 00000 n 0000001794 00000 n trailer << /Size 11 /Root 1 0 R /Info 2 0 R /ID [(—Æ`àb/ñXÖE> startxref 2110 %%EOF sparskit-2.0.0/DOC/msh9.ps0000640000265600020320000065232310213314156014331 0ustar tilleaadmin%!PS-Adobe-2.0 EPSF-2.0 %%Creator: PSPLTM routine %%BoundingBox: 80 0 530 230 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 4.54545E-02 cm scalefont setfont 10.7950 cm 0.272727 cm moveto ( ) Cshow 3.17500 cm 0.181818 cm translate 15.2400 cm 11.0000 div dup scale 0.01 setlinewidth 0.00 0.00 moveto 0.00 0.29 lineto closepath stroke 0.00 0.00 moveto 0.13 0.29 lineto closepath stroke 0.00 0.00 moveto 0.36 0.19 lineto closepath stroke 0.00 0.00 moveto 0.36 0.00 lineto closepath stroke 11.00 0.00 moveto 10.06 0.57 lineto closepath stroke 11.00 0.00 moveto 11.00 0.47 lineto closepath stroke 11.00 0.00 moveto 9.08 0.00 lineto closepath stroke 11.00 5.50 moveto 11.00 5.03 lineto closepath stroke 11.00 5.50 moveto 10.06 4.93 lineto closepath stroke 11.00 5.50 moveto 9.08 5.50 lineto closepath stroke 0.00 5.50 moveto 0.36 5.50 lineto closepath stroke 0.00 5.50 moveto 0.36 5.31 lineto closepath stroke 0.00 5.50 moveto 0.13 5.21 lineto closepath stroke 0.00 5.50 moveto 0.00 5.21 lineto closepath stroke 2.10 2.75 moveto 2.19 2.83 lineto closepath stroke 2.10 2.75 moveto 2.20 2.75 lineto closepath stroke 2.10 2.75 moveto 2.09 2.81 lineto closepath stroke 2.10 2.75 moveto 2.19 2.67 lineto closepath stroke 2.10 2.75 moveto 2.09 2.69 lineto closepath stroke 2.30 2.75 moveto 2.20 2.75 lineto closepath stroke 2.30 2.75 moveto 2.29 2.83 lineto closepath stroke 2.30 2.75 moveto 2.40 2.86 lineto closepath stroke 2.30 2.75 moveto 2.41 2.75 lineto closepath stroke 2.30 2.75 moveto 2.29 2.67 lineto closepath stroke 2.30 2.75 moveto 2.40 2.64 lineto closepath stroke 2.52 2.75 moveto 2.41 2.75 lineto closepath stroke 2.52 2.75 moveto 2.51 2.86 lineto closepath stroke 2.52 2.75 moveto 2.63 2.88 lineto closepath stroke 2.52 2.75 moveto 2.64 2.75 lineto closepath stroke 2.52 2.75 moveto 2.51 2.64 lineto closepath stroke 2.52 2.75 moveto 2.63 2.62 lineto closepath stroke 2.76 2.75 moveto 2.64 2.75 lineto closepath stroke 2.76 2.75 moveto 2.75 2.88 lineto closepath stroke 2.76 2.75 moveto 2.88 2.91 lineto closepath stroke 2.76 2.75 moveto 2.90 2.75 lineto closepath stroke 2.76 2.75 moveto 2.75 2.62 lineto closepath stroke 2.76 2.75 moveto 2.88 2.59 lineto closepath stroke 3.03 2.75 moveto 2.90 2.75 lineto closepath stroke 3.03 2.75 moveto 3.01 2.91 lineto closepath stroke 3.03 2.75 moveto 3.15 2.94 lineto closepath stroke 3.03 2.75 moveto 3.17 2.75 lineto closepath stroke 3.03 2.75 moveto 3.01 2.59 lineto closepath stroke 3.03 2.75 moveto 3.15 2.56 lineto closepath stroke 3.32 2.75 moveto 3.17 2.75 lineto closepath stroke 3.32 2.75 moveto 3.30 2.94 lineto closepath stroke 3.32 2.75 moveto 3.46 2.97 lineto closepath stroke 3.32 2.75 moveto 3.48 2.75 lineto closepath stroke 3.32 2.75 moveto 3.30 2.56 lineto closepath stroke 3.32 2.75 moveto 3.46 2.53 lineto closepath stroke 3.64 2.75 moveto 3.48 2.75 lineto closepath stroke 3.64 2.75 moveto 3.62 2.97 lineto closepath stroke 3.64 2.75 moveto 3.79 3.01 lineto closepath stroke 3.64 2.75 moveto 3.82 2.75 lineto closepath stroke 3.64 2.75 moveto 3.62 2.53 lineto closepath stroke 3.64 2.75 moveto 3.79 2.49 lineto closepath stroke 4.00 2.75 moveto 3.82 2.75 lineto closepath stroke 4.00 2.75 moveto 3.97 3.01 lineto closepath stroke 4.00 2.75 moveto 4.16 3.05 lineto closepath stroke 4.00 2.75 moveto 4.19 2.75 lineto closepath stroke 4.00 2.75 moveto 3.97 2.49 lineto closepath stroke 4.00 2.75 moveto 4.16 2.45 lineto closepath stroke 4.39 2.75 moveto 4.19 2.75 lineto closepath stroke 4.39 2.75 moveto 4.36 3.05 lineto closepath stroke 4.39 2.75 moveto 4.57 3.09 lineto closepath stroke 4.39 2.75 moveto 4.60 2.75 lineto closepath stroke 4.39 2.75 moveto 4.36 2.45 lineto closepath stroke 4.39 2.75 moveto 4.57 2.41 lineto closepath stroke 4.82 2.75 moveto 4.60 2.75 lineto closepath stroke 4.82 2.75 moveto 4.78 3.09 lineto closepath stroke 4.82 2.75 moveto 5.01 3.14 lineto closepath stroke 4.82 2.75 moveto 5.05 2.75 lineto closepath stroke 4.82 2.75 moveto 4.78 2.41 lineto closepath stroke 4.82 2.75 moveto 5.01 2.36 lineto closepath stroke 5.29 2.75 moveto 5.05 2.75 lineto closepath stroke 5.29 2.75 moveto 5.25 3.14 lineto closepath stroke 5.29 2.75 moveto 5.50 3.20 lineto closepath stroke 5.29 2.75 moveto 5.55 2.75 lineto closepath stroke 5.29 2.75 moveto 5.50 2.30 lineto closepath stroke 5.29 2.75 moveto 5.25 2.36 lineto closepath stroke 5.81 2.75 moveto 5.76 3.20 lineto closepath stroke 5.81 2.75 moveto 6.09 2.75 lineto closepath stroke 5.81 2.75 moveto 5.55 2.75 lineto closepath stroke 5.81 2.75 moveto 5.76 2.30 lineto closepath stroke 6.38 2.75 moveto 6.09 2.75 lineto closepath stroke 6.38 2.75 moveto 6.04 3.20 lineto closepath stroke 6.38 2.75 moveto 6.32 3.26 lineto closepath stroke 6.38 2.75 moveto 6.69 2.75 lineto closepath stroke 6.38 2.75 moveto 6.32 2.24 lineto closepath stroke 6.38 2.75 moveto 6.04 2.30 lineto closepath stroke 7.00 2.75 moveto 6.69 2.75 lineto closepath stroke 7.00 2.75 moveto 6.64 3.26 lineto closepath stroke 7.00 2.75 moveto 6.94 3.32 lineto closepath stroke 7.00 2.75 moveto 7.28 3.39 lineto closepath stroke 7.00 2.75 moveto 7.35 2.75 lineto closepath stroke 7.00 2.75 moveto 6.94 2.18 lineto closepath stroke 7.00 2.75 moveto 6.64 2.24 lineto closepath stroke 7.69 2.75 moveto 7.35 2.75 lineto closepath stroke 7.69 2.75 moveto 7.63 3.39 lineto closepath stroke 7.69 2.75 moveto 8.00 3.47 lineto closepath stroke 7.69 2.75 moveto 8.07 2.75 lineto closepath stroke 7.69 2.75 moveto 8.00 2.03 lineto closepath stroke 7.69 2.75 moveto 7.63 2.11 lineto closepath stroke 7.69 2.75 moveto 7.29 2.18 lineto closepath stroke 8.45 2.75 moveto 8.07 2.75 lineto closepath stroke 8.45 2.75 moveto 8.38 3.47 lineto closepath stroke 8.45 2.75 moveto 8.79 3.56 lineto closepath stroke 8.45 2.75 moveto 8.87 2.75 lineto closepath stroke 8.45 2.75 moveto 8.79 1.94 lineto closepath stroke 8.45 2.75 moveto 8.38 2.03 lineto closepath stroke 9.29 2.75 moveto 8.87 2.75 lineto closepath stroke 9.29 2.75 moveto 9.20 3.56 lineto closepath stroke 9.29 2.75 moveto 10.14 3.66 lineto closepath stroke 9.29 2.75 moveto 10.14 2.75 lineto closepath stroke 9.29 2.75 moveto 10.14 1.84 lineto closepath stroke 9.29 2.75 moveto 9.20 1.94 lineto closepath stroke 11.00 2.75 moveto 10.14 2.75 lineto closepath stroke 11.00 2.75 moveto 11.00 3.66 lineto closepath stroke 11.00 2.75 moveto 11.00 1.84 lineto closepath stroke 2.09 2.87 moveto 2.18 2.90 lineto closepath stroke 2.09 2.87 moveto 2.09 2.81 lineto closepath stroke 2.09 2.87 moveto 2.07 2.93 lineto closepath stroke 2.28 2.92 moveto 2.29 2.83 lineto closepath stroke 2.28 2.92 moveto 2.19 2.83 lineto closepath stroke 2.28 2.92 moveto 2.18 2.90 lineto closepath stroke 2.28 2.92 moveto 2.39 2.94 lineto closepath stroke 2.28 2.92 moveto 2.17 2.96 lineto closepath stroke 2.28 2.92 moveto 2.26 3.00 lineto closepath stroke 2.50 2.96 moveto 2.51 2.86 lineto closepath stroke 2.50 2.96 moveto 2.40 2.86 lineto closepath stroke 2.50 2.96 moveto 2.39 2.94 lineto closepath stroke 2.50 2.96 moveto 2.62 2.99 lineto closepath stroke 2.50 2.96 moveto 2.36 3.02 lineto closepath stroke 2.50 2.96 moveto 2.46 3.06 lineto closepath stroke 2.73 3.01 moveto 2.75 2.88 lineto closepath stroke 2.73 3.01 moveto 2.63 2.88 lineto closepath stroke 2.73 3.01 moveto 2.62 2.99 lineto closepath stroke 2.73 3.01 moveto 2.86 3.04 lineto closepath stroke 2.73 3.01 moveto 2.58 3.09 lineto closepath stroke 2.73 3.01 moveto 2.69 3.14 lineto closepath stroke 2.99 3.07 moveto 3.01 2.91 lineto closepath stroke 2.99 3.07 moveto 2.88 2.91 lineto closepath stroke 2.99 3.07 moveto 2.86 3.04 lineto closepath stroke 2.99 3.07 moveto 3.14 3.10 lineto closepath stroke 2.99 3.07 moveto 2.82 3.17 lineto closepath stroke 2.99 3.07 moveto 2.95 3.22 lineto closepath stroke 3.28 3.13 moveto 3.30 2.94 lineto closepath stroke 3.28 3.13 moveto 3.15 2.94 lineto closepath stroke 3.28 3.13 moveto 3.14 3.10 lineto closepath stroke 3.28 3.13 moveto 3.44 3.16 lineto closepath stroke 3.28 3.13 moveto 3.09 3.25 lineto closepath stroke 3.28 3.13 moveto 3.22 3.31 lineto closepath stroke 3.60 3.20 moveto 3.62 2.97 lineto closepath stroke 3.60 3.20 moveto 3.46 2.97 lineto closepath stroke 3.60 3.20 moveto 3.44 3.16 lineto closepath stroke 3.60 3.20 moveto 3.77 3.23 lineto closepath stroke 3.60 3.20 moveto 3.38 3.34 lineto closepath stroke 3.60 3.20 moveto 3.53 3.41 lineto closepath stroke 3.94 3.27 moveto 3.97 3.01 lineto closepath stroke 3.94 3.27 moveto 3.79 3.01 lineto closepath stroke 3.94 3.27 moveto 3.77 3.23 lineto closepath stroke 3.94 3.27 moveto 4.13 3.31 lineto closepath stroke 3.94 3.27 moveto 3.70 3.45 lineto closepath stroke 3.94 3.27 moveto 3.86 3.52 lineto closepath stroke 4.32 3.35 moveto 4.36 3.05 lineto closepath stroke 4.32 3.35 moveto 4.16 3.05 lineto closepath stroke 4.32 3.35 moveto 4.13 3.31 lineto closepath stroke 4.32 3.35 moveto 4.53 3.39 lineto closepath stroke 4.32 3.35 moveto 4.05 3.56 lineto closepath stroke 4.32 3.35 moveto 4.23 3.64 lineto closepath stroke 4.74 3.44 moveto 4.78 3.09 lineto closepath stroke 4.74 3.44 moveto 4.57 3.09 lineto closepath stroke 4.74 3.44 moveto 4.53 3.39 lineto closepath stroke 4.74 3.44 moveto 4.97 3.49 lineto closepath stroke 4.74 3.44 moveto 4.44 3.68 lineto closepath stroke 4.74 3.44 moveto 4.64 3.77 lineto closepath stroke 5.20 3.54 moveto 5.25 3.14 lineto closepath stroke 5.20 3.54 moveto 5.01 3.14 lineto closepath stroke 5.20 3.54 moveto 4.97 3.49 lineto closepath stroke 5.20 3.54 moveto 5.46 3.59 lineto closepath stroke 5.20 3.54 moveto 4.87 3.82 lineto closepath stroke 5.20 3.54 moveto 5.08 3.91 lineto closepath stroke 5.71 3.65 moveto 6.04 3.20 lineto closepath stroke 5.71 3.65 moveto 5.76 3.20 lineto closepath stroke 5.71 3.65 moveto 5.50 3.20 lineto closepath stroke 5.71 3.65 moveto 5.46 3.59 lineto closepath stroke 5.71 3.65 moveto 5.99 3.70 lineto closepath stroke 5.71 3.65 moveto 5.34 3.97 lineto closepath stroke 5.71 3.65 moveto 5.57 4.07 lineto closepath stroke 6.27 3.76 moveto 6.64 3.26 lineto closepath stroke 6.27 3.76 moveto 6.32 3.26 lineto closepath stroke 6.27 3.76 moveto 5.99 3.70 lineto closepath stroke 6.27 3.76 moveto 6.58 3.83 lineto closepath stroke 6.27 3.76 moveto 5.85 4.13 lineto closepath stroke 6.27 3.76 moveto 6.11 4.25 lineto closepath stroke 6.88 3.89 moveto 6.94 3.32 lineto closepath stroke 6.88 3.89 moveto 6.58 3.83 lineto closepath stroke 6.88 3.89 moveto 7.22 3.97 lineto closepath stroke 6.88 3.89 moveto 6.42 4.31 lineto closepath stroke 6.88 3.89 moveto 6.71 4.44 lineto closepath stroke 7.56 4.04 moveto 7.63 3.39 lineto closepath stroke 7.56 4.04 moveto 7.28 3.39 lineto closepath stroke 7.56 4.04 moveto 7.22 3.97 lineto closepath stroke 7.56 4.04 moveto 7.93 4.12 lineto closepath stroke 7.56 4.04 moveto 7.04 4.51 lineto closepath stroke 7.56 4.04 moveto 7.36 4.77 lineto closepath stroke 8.30 4.20 moveto 8.38 3.47 lineto closepath stroke 8.30 4.20 moveto 8.00 3.47 lineto closepath stroke 8.30 4.20 moveto 7.93 4.12 lineto closepath stroke 8.30 4.20 moveto 8.71 4.28 lineto closepath stroke 8.30 4.20 moveto 7.73 4.85 lineto closepath stroke 9.12 4.37 moveto 9.20 3.56 lineto closepath stroke 9.12 4.37 moveto 8.79 3.56 lineto closepath stroke 9.12 4.37 moveto 8.71 4.28 lineto closepath stroke 9.12 4.37 moveto 10.06 4.93 lineto closepath stroke 9.12 4.37 moveto 10.06 4.47 lineto closepath stroke 9.12 4.37 moveto 8.14 4.93 lineto closepath stroke 11.00 4.56 moveto 10.06 4.47 lineto closepath stroke 11.00 4.56 moveto 11.00 5.03 lineto closepath stroke 11.00 4.56 moveto 11.00 3.66 lineto closepath stroke 11.00 4.56 moveto 10.14 3.66 lineto closepath stroke 2.05 2.99 moveto 2.17 2.96 lineto closepath stroke 2.05 2.99 moveto 2.07 2.93 lineto closepath stroke 2.05 2.99 moveto 2.14 3.03 lineto closepath stroke 2.05 2.99 moveto 2.10 3.11 lineto closepath stroke 2.05 2.99 moveto 2.02 3.05 lineto closepath stroke 2.23 3.08 moveto 2.36 3.02 lineto closepath stroke 2.23 3.08 moveto 2.26 3.00 lineto closepath stroke 2.23 3.08 moveto 2.14 3.03 lineto closepath stroke 2.23 3.08 moveto 2.33 3.12 lineto closepath stroke 2.23 3.08 moveto 2.19 3.15 lineto closepath stroke 2.23 3.08 moveto 2.28 3.21 lineto closepath stroke 2.43 3.16 moveto 2.58 3.09 lineto closepath stroke 2.43 3.16 moveto 2.46 3.06 lineto closepath stroke 2.43 3.16 moveto 2.33 3.12 lineto closepath stroke 2.43 3.16 moveto 2.54 3.21 lineto closepath stroke 2.43 3.16 moveto 2.38 3.26 lineto closepath stroke 2.43 3.16 moveto 2.48 3.33 lineto closepath stroke 2.65 3.26 moveto 2.82 3.17 lineto closepath stroke 2.65 3.26 moveto 2.69 3.14 lineto closepath stroke 2.65 3.26 moveto 2.54 3.21 lineto closepath stroke 2.65 3.26 moveto 2.77 3.32 lineto closepath stroke 2.65 3.26 moveto 2.59 3.38 lineto closepath stroke 2.65 3.26 moveto 2.69 3.46 lineto closepath stroke 2.90 3.37 moveto 3.09 3.25 lineto closepath stroke 2.90 3.37 moveto 2.95 3.22 lineto closepath stroke 2.90 3.37 moveto 2.77 3.32 lineto closepath stroke 2.90 3.37 moveto 3.03 3.43 lineto closepath stroke 2.90 3.37 moveto 2.82 3.51 lineto closepath stroke 2.90 3.37 moveto 2.93 3.60 lineto closepath stroke 3.16 3.49 moveto 3.38 3.34 lineto closepath stroke 3.16 3.49 moveto 3.22 3.31 lineto closepath stroke 3.16 3.49 moveto 3.03 3.43 lineto closepath stroke 3.16 3.49 moveto 3.31 3.56 lineto closepath stroke 3.16 3.49 moveto 3.07 3.66 lineto closepath stroke 3.16 3.49 moveto 3.20 3.75 lineto closepath stroke 3.46 3.62 moveto 3.70 3.45 lineto closepath stroke 3.46 3.62 moveto 3.53 3.41 lineto closepath stroke 3.46 3.62 moveto 3.31 3.56 lineto closepath stroke 3.46 3.62 moveto 3.62 3.69 lineto closepath stroke 3.46 3.62 moveto 3.35 3.82 lineto closepath stroke 3.78 3.77 moveto 4.05 3.56 lineto closepath stroke 3.78 3.77 moveto 3.86 3.52 lineto closepath stroke 3.78 3.77 moveto 3.62 3.69 lineto closepath stroke 3.78 3.77 moveto 3.96 3.85 lineto closepath stroke 3.78 3.77 moveto 3.51 3.89 lineto closepath stroke 3.78 3.77 moveto 3.65 3.99 lineto closepath stroke 3.78 3.77 moveto 3.81 4.11 lineto closepath stroke 4.14 3.92 moveto 4.44 3.68 lineto closepath stroke 4.14 3.92 moveto 4.23 3.64 lineto closepath stroke 4.14 3.92 moveto 3.96 3.85 lineto closepath stroke 4.14 3.92 moveto 4.33 4.01 lineto closepath stroke 4.14 3.92 moveto 3.99 4.19 lineto closepath stroke 4.14 3.92 moveto 4.16 4.31 lineto closepath stroke 4.53 4.10 moveto 4.87 3.82 lineto closepath stroke 4.53 4.10 moveto 4.64 3.77 lineto closepath stroke 4.53 4.10 moveto 4.33 4.01 lineto closepath stroke 4.53 4.10 moveto 4.74 4.19 lineto closepath stroke 4.53 4.10 moveto 4.36 4.40 lineto closepath stroke 4.53 4.10 moveto 4.55 4.54 lineto closepath stroke 4.96 4.29 moveto 5.34 3.97 lineto closepath stroke 4.96 4.29 moveto 5.08 3.91 lineto closepath stroke 4.96 4.29 moveto 4.74 4.19 lineto closepath stroke 4.96 4.29 moveto 5.20 4.40 lineto closepath stroke 4.96 4.29 moveto 4.76 4.63 lineto closepath stroke 5.43 4.50 moveto 5.85 4.13 lineto closepath stroke 5.43 4.50 moveto 5.57 4.07 lineto closepath stroke 5.43 4.50 moveto 5.20 4.40 lineto closepath stroke 5.43 4.50 moveto 5.69 4.62 lineto closepath stroke 5.43 4.50 moveto 5.00 4.74 lineto closepath stroke 5.43 4.50 moveto 5.21 5.00 lineto closepath stroke 5.96 4.73 moveto 6.42 4.31 lineto closepath stroke 5.96 4.73 moveto 6.11 4.25 lineto closepath stroke 5.96 4.73 moveto 5.69 4.62 lineto closepath stroke 5.96 4.73 moveto 6.24 4.86 lineto closepath stroke 5.96 4.73 moveto 5.47 5.12 lineto closepath stroke 6.53 4.99 moveto 7.04 4.51 lineto closepath stroke 6.53 4.99 moveto 6.71 4.44 lineto closepath stroke 6.53 4.99 moveto 6.24 4.86 lineto closepath stroke 6.53 4.99 moveto 6.84 5.24 lineto closepath stroke 6.53 4.99 moveto 5.76 5.24 lineto closepath stroke 7.16 5.50 moveto 9.08 5.50 lineto closepath stroke 7.16 5.50 moveto 8.14 4.93 lineto closepath stroke 7.16 5.50 moveto 7.73 4.85 lineto closepath stroke 7.16 5.50 moveto 7.36 4.77 lineto closepath stroke 7.16 5.50 moveto 6.84 5.24 lineto closepath stroke 7.16 5.50 moveto 6.07 5.50 lineto closepath stroke 1.99 3.10 moveto 2.07 3.16 lineto closepath stroke 1.99 3.10 moveto 2.02 3.05 lineto closepath stroke 1.99 3.10 moveto 2.01 3.22 lineto closepath stroke 1.99 3.10 moveto 1.94 3.15 lineto closepath stroke 2.15 3.22 moveto 2.19 3.15 lineto closepath stroke 2.15 3.22 moveto 2.10 3.11 lineto closepath stroke 2.15 3.22 moveto 2.07 3.16 lineto closepath stroke 2.15 3.22 moveto 2.24 3.28 lineto closepath stroke 2.15 3.22 moveto 2.09 3.28 lineto closepath stroke 2.15 3.22 moveto 2.16 3.36 lineto closepath stroke 2.33 3.35 moveto 2.38 3.26 lineto closepath stroke 2.33 3.35 moveto 2.28 3.21 lineto closepath stroke 2.33 3.35 moveto 2.24 3.28 lineto closepath stroke 2.33 3.35 moveto 2.42 3.42 lineto closepath stroke 2.33 3.35 moveto 2.25 3.43 lineto closepath stroke 2.33 3.35 moveto 2.33 3.52 lineto closepath stroke 2.52 3.49 moveto 2.59 3.38 lineto closepath stroke 2.52 3.49 moveto 2.48 3.33 lineto closepath stroke 2.52 3.49 moveto 2.42 3.42 lineto closepath stroke 2.52 3.49 moveto 2.63 3.57 lineto closepath stroke 2.52 3.49 moveto 2.43 3.59 lineto closepath stroke 2.52 3.49 moveto 2.52 3.69 lineto closepath stroke 2.74 3.65 moveto 2.82 3.51 lineto closepath stroke 2.74 3.65 moveto 2.69 3.46 lineto closepath stroke 2.74 3.65 moveto 2.63 3.57 lineto closepath stroke 2.74 3.65 moveto 2.85 3.73 lineto closepath stroke 2.74 3.65 moveto 2.63 3.77 lineto closepath stroke 2.74 3.65 moveto 2.73 3.88 lineto closepath stroke 2.97 3.82 moveto 3.07 3.66 lineto closepath stroke 2.97 3.82 moveto 2.93 3.60 lineto closepath stroke 2.97 3.82 moveto 2.85 3.73 lineto closepath stroke 2.97 3.82 moveto 3.10 3.92 lineto closepath stroke 2.97 3.82 moveto 2.85 3.96 lineto closepath stroke 2.97 3.82 moveto 2.95 4.08 lineto closepath stroke 3.23 4.01 moveto 3.51 3.89 lineto closepath stroke 3.23 4.01 moveto 3.35 3.82 lineto closepath stroke 3.23 4.01 moveto 3.20 3.75 lineto closepath stroke 3.23 4.01 moveto 3.10 3.92 lineto closepath stroke 3.23 4.01 moveto 3.38 4.11 lineto closepath stroke 3.23 4.01 moveto 3.08 4.18 lineto closepath stroke 3.52 4.22 moveto 3.65 3.99 lineto closepath stroke 3.52 4.22 moveto 3.38 4.11 lineto closepath stroke 3.52 4.22 moveto 3.68 4.33 lineto closepath stroke 3.52 4.22 moveto 3.23 4.28 lineto closepath stroke 3.52 4.22 moveto 3.35 4.41 lineto closepath stroke 3.84 4.45 moveto 3.99 4.19 lineto closepath stroke 3.84 4.45 moveto 3.81 4.11 lineto closepath stroke 3.84 4.45 moveto 3.68 4.33 lineto closepath stroke 3.84 4.45 moveto 4.01 4.57 lineto closepath stroke 3.84 4.45 moveto 3.50 4.53 lineto closepath stroke 3.84 4.45 moveto 3.63 4.67 lineto closepath stroke 4.18 4.70 moveto 4.36 4.40 lineto closepath stroke 4.18 4.70 moveto 4.16 4.31 lineto closepath stroke 4.18 4.70 moveto 4.01 4.57 lineto closepath stroke 4.18 4.70 moveto 4.37 4.84 lineto closepath stroke 4.18 4.70 moveto 3.81 4.80 lineto closepath stroke 4.18 4.70 moveto 3.95 5.10 lineto closepath stroke 4.56 4.98 moveto 4.76 4.63 lineto closepath stroke 4.56 4.98 moveto 4.55 4.54 lineto closepath stroke 4.56 4.98 moveto 4.37 4.84 lineto closepath stroke 4.56 4.98 moveto 5.00 4.74 lineto closepath stroke 4.56 4.98 moveto 4.77 5.24 lineto closepath stroke 4.56 4.98 moveto 4.14 5.24 lineto closepath stroke 4.98 5.50 moveto 5.76 5.24 lineto closepath stroke 4.98 5.50 moveto 5.47 5.12 lineto closepath stroke 4.98 5.50 moveto 6.07 5.50 lineto closepath stroke 4.98 5.50 moveto 5.21 5.00 lineto closepath stroke 4.98 5.50 moveto 4.77 5.24 lineto closepath stroke 4.98 5.50 moveto 4.35 5.50 lineto closepath stroke 1.90 3.20 moveto 1.97 3.27 lineto closepath stroke 1.90 3.20 moveto 1.94 3.15 lineto closepath stroke 1.90 3.20 moveto 1.90 3.32 lineto closepath stroke 1.90 3.20 moveto 1.85 3.23 lineto closepath stroke 2.04 3.34 moveto 2.09 3.28 lineto closepath stroke 2.04 3.34 moveto 2.01 3.22 lineto closepath stroke 2.04 3.34 moveto 1.97 3.27 lineto closepath stroke 2.04 3.34 moveto 2.11 3.43 lineto closepath stroke 2.04 3.34 moveto 1.97 3.39 lineto closepath stroke 2.18 3.51 moveto 2.25 3.43 lineto closepath stroke 2.18 3.51 moveto 2.16 3.36 lineto closepath stroke 2.18 3.51 moveto 2.11 3.43 lineto closepath stroke 2.18 3.51 moveto 2.26 3.60 lineto closepath stroke 2.18 3.51 moveto 2.04 3.48 lineto closepath stroke 2.18 3.51 moveto 2.10 3.57 lineto closepath stroke 2.18 3.51 moveto 2.16 3.68 lineto closepath stroke 2.34 3.69 moveto 2.43 3.59 lineto closepath stroke 2.34 3.69 moveto 2.33 3.52 lineto closepath stroke 2.34 3.69 moveto 2.26 3.60 lineto closepath stroke 2.34 3.69 moveto 2.43 3.79 lineto closepath stroke 2.34 3.69 moveto 2.24 3.77 lineto closepath stroke 2.52 3.89 moveto 2.63 3.77 lineto closepath stroke 2.52 3.89 moveto 2.52 3.69 lineto closepath stroke 2.52 3.89 moveto 2.43 3.79 lineto closepath stroke 2.52 3.89 moveto 2.62 3.99 lineto closepath stroke 2.52 3.89 moveto 2.33 3.86 lineto closepath stroke 2.52 3.89 moveto 2.39 3.98 lineto closepath stroke 2.72 4.10 moveto 2.85 3.96 lineto closepath stroke 2.72 4.10 moveto 2.73 3.88 lineto closepath stroke 2.72 4.10 moveto 2.62 3.99 lineto closepath stroke 2.72 4.10 moveto 2.83 4.22 lineto closepath stroke 2.72 4.10 moveto 2.49 4.09 lineto closepath stroke 2.72 4.10 moveto 2.56 4.22 lineto closepath stroke 2.93 4.34 moveto 3.23 4.28 lineto closepath stroke 2.93 4.34 moveto 3.08 4.18 lineto closepath stroke 2.93 4.34 moveto 2.95 4.08 lineto closepath stroke 2.93 4.34 moveto 2.83 4.22 lineto closepath stroke 2.93 4.34 moveto 3.05 4.47 lineto closepath stroke 2.93 4.34 moveto 2.67 4.33 lineto closepath stroke 2.93 4.34 moveto 2.75 4.47 lineto closepath stroke 2.93 4.34 moveto 2.84 4.63 lineto closepath stroke 3.17 4.61 moveto 3.50 4.53 lineto closepath stroke 3.17 4.61 moveto 3.35 4.41 lineto closepath stroke 3.17 4.61 moveto 3.05 4.47 lineto closepath stroke 3.17 4.61 moveto 3.30 4.75 lineto closepath stroke 3.17 4.61 moveto 2.96 4.76 lineto closepath stroke 3.43 4.90 moveto 3.81 4.80 lineto closepath stroke 3.43 4.90 moveto 3.63 4.67 lineto closepath stroke 3.43 4.90 moveto 3.30 4.75 lineto closepath stroke 3.43 4.90 moveto 3.58 5.20 lineto closepath stroke 3.43 4.90 moveto 3.09 4.90 lineto closepath stroke 3.43 4.90 moveto 3.19 5.20 lineto closepath stroke 3.72 5.50 moveto 4.14 5.24 lineto closepath stroke 3.72 5.50 moveto 3.95 5.10 lineto closepath stroke 3.72 5.50 moveto 3.58 5.20 lineto closepath stroke 3.72 5.50 moveto 4.35 5.50 lineto closepath stroke 3.72 5.50 moveto 3.33 5.50 lineto closepath stroke 1.80 3.27 moveto 1.85 3.36 lineto closepath stroke 1.80 3.27 moveto 1.85 3.23 lineto closepath stroke 1.80 3.27 moveto 1.77 3.39 lineto closepath stroke 1.80 3.27 moveto 1.74 3.30 lineto closepath stroke 1.90 3.44 moveto 1.97 3.39 lineto closepath stroke 1.90 3.44 moveto 1.90 3.32 lineto closepath stroke 1.90 3.44 moveto 1.85 3.36 lineto closepath stroke 1.90 3.44 moveto 2.04 3.48 lineto closepath stroke 1.90 3.44 moveto 1.95 3.54 lineto closepath stroke 1.90 3.44 moveto 1.82 3.48 lineto closepath stroke 2.01 3.63 moveto 2.10 3.57 lineto closepath stroke 2.01 3.63 moveto 1.95 3.54 lineto closepath stroke 2.01 3.63 moveto 2.07 3.74 lineto closepath stroke 2.01 3.63 moveto 1.88 3.57 lineto closepath stroke 2.01 3.63 moveto 1.91 3.68 lineto closepath stroke 2.13 3.84 moveto 2.33 3.86 lineto closepath stroke 2.13 3.84 moveto 2.24 3.77 lineto closepath stroke 2.13 3.84 moveto 2.16 3.68 lineto closepath stroke 2.13 3.84 moveto 2.07 3.74 lineto closepath stroke 2.13 3.84 moveto 2.20 3.96 lineto closepath stroke 2.13 3.84 moveto 1.97 3.78 lineto closepath stroke 2.13 3.84 moveto 2.01 3.90 lineto closepath stroke 2.26 4.07 moveto 2.49 4.09 lineto closepath stroke 2.26 4.07 moveto 2.39 3.98 lineto closepath stroke 2.26 4.07 moveto 2.20 3.96 lineto closepath stroke 2.26 4.07 moveto 2.34 4.20 lineto closepath stroke 2.26 4.07 moveto 2.08 4.01 lineto closepath stroke 2.26 4.07 moveto 2.12 4.14 lineto closepath stroke 2.26 4.07 moveto 2.16 4.28 lineto closepath stroke 2.41 4.33 moveto 2.67 4.33 lineto closepath stroke 2.41 4.33 moveto 2.56 4.22 lineto closepath stroke 2.41 4.33 moveto 2.34 4.20 lineto closepath stroke 2.41 4.33 moveto 2.49 4.47 lineto closepath stroke 2.41 4.33 moveto 2.24 4.40 lineto closepath stroke 2.41 4.33 moveto 2.29 4.56 lineto closepath stroke 2.57 4.61 moveto 2.75 4.47 lineto closepath stroke 2.57 4.61 moveto 2.49 4.47 lineto closepath stroke 2.57 4.61 moveto 2.66 4.76 lineto closepath stroke 2.57 4.61 moveto 2.37 4.70 lineto closepath stroke 2.57 4.61 moveto 2.42 4.87 lineto closepath stroke 2.75 4.91 moveto 3.09 4.90 lineto closepath stroke 2.75 4.91 moveto 2.96 4.76 lineto closepath stroke 2.75 4.91 moveto 2.84 4.63 lineto closepath stroke 2.75 4.91 moveto 2.66 4.76 lineto closepath stroke 2.75 4.91 moveto 2.85 5.21 lineto closepath stroke 2.75 4.91 moveto 2.51 5.02 lineto closepath stroke 2.94 5.50 moveto 3.19 5.20 lineto closepath stroke 2.94 5.50 moveto 2.85 5.21 lineto closepath stroke 2.94 5.50 moveto 3.33 5.50 lineto closepath stroke 2.94 5.50 moveto 2.61 5.31 lineto closepath stroke 2.94 5.50 moveto 2.61 5.50 lineto closepath stroke 1.69 3.32 moveto 1.72 3.42 lineto closepath stroke 1.69 3.32 moveto 1.74 3.30 lineto closepath stroke 1.69 3.32 moveto 1.62 3.33 lineto closepath stroke 1.75 3.51 moveto 1.82 3.48 lineto closepath stroke 1.75 3.51 moveto 1.77 3.39 lineto closepath stroke 1.75 3.51 moveto 1.72 3.42 lineto closepath stroke 1.75 3.51 moveto 1.88 3.57 lineto closepath stroke 1.75 3.51 moveto 1.78 3.62 lineto closepath stroke 1.75 3.51 moveto 1.65 3.43 lineto closepath stroke 1.75 3.51 moveto 1.67 3.53 lineto closepath stroke 1.82 3.72 moveto 1.97 3.78 lineto closepath stroke 1.82 3.72 moveto 1.91 3.68 lineto closepath stroke 1.82 3.72 moveto 1.78 3.62 lineto closepath stroke 1.82 3.72 moveto 1.85 3.84 lineto closepath stroke 1.82 3.72 moveto 1.70 3.63 lineto closepath stroke 1.82 3.72 moveto 1.71 3.74 lineto closepath stroke 1.89 3.95 moveto 2.08 4.01 lineto closepath stroke 1.89 3.95 moveto 2.01 3.90 lineto closepath stroke 1.89 3.95 moveto 1.85 3.84 lineto closepath stroke 1.89 3.95 moveto 1.93 4.08 lineto closepath stroke 1.89 3.95 moveto 1.75 3.86 lineto closepath stroke 1.89 3.95 moveto 1.76 3.98 lineto closepath stroke 1.89 3.95 moveto 1.77 4.11 lineto closepath stroke 1.97 4.20 moveto 2.12 4.14 lineto closepath stroke 1.97 4.20 moveto 1.93 4.08 lineto closepath stroke 1.97 4.20 moveto 2.02 4.34 lineto closepath stroke 1.97 4.20 moveto 1.82 4.24 lineto closepath stroke 1.97 4.20 moveto 1.83 4.38 lineto closepath stroke 2.06 4.48 moveto 2.24 4.40 lineto closepath stroke 2.06 4.48 moveto 2.16 4.28 lineto closepath stroke 2.06 4.48 moveto 2.02 4.34 lineto closepath stroke 2.06 4.48 moveto 2.11 4.64 lineto closepath stroke 2.06 4.48 moveto 1.88 4.52 lineto closepath stroke 2.06 4.48 moveto 1.89 4.68 lineto closepath stroke 2.16 4.79 moveto 2.37 4.70 lineto closepath stroke 2.16 4.79 moveto 2.29 4.56 lineto closepath stroke 2.16 4.79 moveto 2.11 4.64 lineto closepath stroke 2.16 4.79 moveto 2.22 4.96 lineto closepath stroke 2.16 4.79 moveto 1.94 4.83 lineto closepath stroke 2.27 5.13 moveto 2.61 5.31 lineto closepath stroke 2.27 5.13 moveto 2.51 5.02 lineto closepath stroke 2.27 5.13 moveto 2.42 4.87 lineto closepath stroke 2.27 5.13 moveto 2.22 4.96 lineto closepath stroke 2.27 5.13 moveto 2.27 5.31 lineto closepath stroke 2.27 5.13 moveto 2.00 5.00 lineto closepath stroke 2.27 5.13 moveto 2.02 5.31 lineto closepath stroke 2.27 5.50 moveto 2.61 5.50 lineto closepath stroke 2.27 5.50 moveto 2.27 5.31 lineto closepath stroke 2.27 5.50 moveto 2.02 5.50 lineto closepath stroke 1.56 3.35 moveto 1.65 3.43 lineto closepath stroke 1.56 3.35 moveto 1.62 3.33 lineto closepath stroke 1.56 3.35 moveto 1.57 3.45 lineto closepath stroke 1.56 3.35 moveto 1.49 3.45 lineto closepath stroke 1.56 3.35 moveto 1.50 3.35 lineto closepath stroke 1.58 3.55 moveto 1.70 3.63 lineto closepath stroke 1.58 3.55 moveto 1.67 3.53 lineto closepath stroke 1.58 3.55 moveto 1.57 3.45 lineto closepath stroke 1.58 3.55 moveto 1.60 3.66 lineto closepath stroke 1.58 3.55 moveto 1.50 3.55 lineto closepath stroke 1.58 3.55 moveto 1.49 3.66 lineto closepath stroke 1.61 3.76 moveto 1.75 3.86 lineto closepath stroke 1.61 3.76 moveto 1.71 3.74 lineto closepath stroke 1.61 3.76 moveto 1.60 3.66 lineto closepath stroke 1.61 3.76 moveto 1.62 3.88 lineto closepath stroke 1.61 3.76 moveto 1.50 3.76 lineto closepath stroke 1.61 3.76 moveto 1.49 3.88 lineto closepath stroke 1.63 4.01 moveto 1.76 3.98 lineto closepath stroke 1.63 4.01 moveto 1.62 3.88 lineto closepath stroke 1.63 4.01 moveto 1.65 4.14 lineto closepath stroke 1.63 4.01 moveto 1.50 4.01 lineto closepath stroke 1.63 4.01 moveto 1.49 4.14 lineto closepath stroke 1.66 4.27 moveto 1.82 4.24 lineto closepath stroke 1.66 4.27 moveto 1.77 4.11 lineto closepath stroke 1.66 4.27 moveto 1.65 4.14 lineto closepath stroke 1.66 4.27 moveto 1.68 4.42 lineto closepath stroke 1.66 4.27 moveto 1.50 4.27 lineto closepath stroke 1.69 4.56 moveto 1.88 4.52 lineto closepath stroke 1.69 4.56 moveto 1.83 4.38 lineto closepath stroke 1.69 4.56 moveto 1.68 4.42 lineto closepath stroke 1.69 4.56 moveto 1.71 4.72 lineto closepath stroke 1.69 4.56 moveto 1.52 4.42 lineto closepath stroke 1.69 4.56 moveto 1.50 4.56 lineto closepath stroke 1.72 4.88 moveto 2.00 5.00 lineto closepath stroke 1.72 4.88 moveto 1.94 4.83 lineto closepath stroke 1.72 4.88 moveto 1.89 4.68 lineto closepath stroke 1.72 4.88 moveto 1.71 4.72 lineto closepath stroke 1.72 4.88 moveto 1.74 5.19 lineto closepath stroke 1.72 4.88 moveto 1.52 4.72 lineto closepath stroke 1.72 4.88 moveto 1.50 4.88 lineto closepath stroke 1.76 5.50 moveto 2.02 5.50 lineto closepath stroke 1.76 5.50 moveto 2.02 5.31 lineto closepath stroke 1.76 5.50 moveto 1.74 5.19 lineto closepath stroke 1.76 5.50 moveto 1.52 5.19 lineto closepath stroke 1.76 5.50 moveto 1.50 5.50 lineto closepath stroke 1.44 3.35 moveto 1.43 3.45 lineto closepath stroke 1.44 3.35 moveto 1.50 3.35 lineto closepath stroke 1.44 3.35 moveto 1.38 3.33 lineto closepath stroke 1.42 3.55 moveto 1.50 3.55 lineto closepath stroke 1.42 3.55 moveto 1.49 3.45 lineto closepath stroke 1.42 3.55 moveto 1.43 3.45 lineto closepath stroke 1.42 3.55 moveto 1.40 3.66 lineto closepath stroke 1.42 3.55 moveto 1.37 3.43 lineto closepath stroke 1.42 3.55 moveto 1.33 3.53 lineto closepath stroke 1.39 3.76 moveto 1.50 3.76 lineto closepath stroke 1.39 3.76 moveto 1.49 3.66 lineto closepath stroke 1.39 3.76 moveto 1.40 3.66 lineto closepath stroke 1.39 3.76 moveto 1.38 3.88 lineto closepath stroke 1.39 3.76 moveto 1.32 3.64 lineto closepath stroke 1.39 3.76 moveto 1.29 3.74 lineto closepath stroke 1.37 4.01 moveto 1.50 4.01 lineto closepath stroke 1.37 4.01 moveto 1.49 3.88 lineto closepath stroke 1.37 4.01 moveto 1.38 3.88 lineto closepath stroke 1.37 4.01 moveto 1.35 4.14 lineto closepath stroke 1.37 4.01 moveto 1.28 3.86 lineto closepath stroke 1.37 4.01 moveto 1.24 3.98 lineto closepath stroke 1.34 4.27 moveto 1.52 4.42 lineto closepath stroke 1.34 4.27 moveto 1.50 4.27 lineto closepath stroke 1.34 4.27 moveto 1.49 4.14 lineto closepath stroke 1.34 4.27 moveto 1.35 4.14 lineto closepath stroke 1.34 4.27 moveto 1.32 4.42 lineto closepath stroke 1.34 4.27 moveto 1.23 4.11 lineto closepath stroke 1.34 4.27 moveto 1.18 4.24 lineto closepath stroke 1.31 4.56 moveto 1.52 4.72 lineto closepath stroke 1.31 4.56 moveto 1.50 4.56 lineto closepath stroke 1.31 4.56 moveto 1.32 4.42 lineto closepath stroke 1.31 4.56 moveto 1.29 4.72 lineto closepath stroke 1.31 4.56 moveto 1.17 4.38 lineto closepath stroke 1.31 4.56 moveto 1.12 4.52 lineto closepath stroke 1.31 4.56 moveto 1.07 4.67 lineto closepath stroke 1.28 4.88 moveto 1.52 5.19 lineto closepath stroke 1.28 4.88 moveto 1.50 4.88 lineto closepath stroke 1.28 4.88 moveto 1.29 4.72 lineto closepath stroke 1.28 4.88 moveto 1.26 5.19 lineto closepath stroke 1.28 4.88 moveto 1.06 4.83 lineto closepath stroke 1.28 4.88 moveto 1.00 5.00 lineto closepath stroke 1.24 5.50 moveto 1.50 5.50 lineto closepath stroke 1.24 5.50 moveto 1.26 5.19 lineto closepath stroke 1.24 5.50 moveto 0.98 5.31 lineto closepath stroke 1.24 5.50 moveto 0.98 5.50 lineto closepath stroke 1.31 3.32 moveto 1.37 3.43 lineto closepath stroke 1.31 3.32 moveto 1.38 3.33 lineto closepath stroke 1.31 3.32 moveto 1.28 3.42 lineto closepath stroke 1.31 3.32 moveto 1.21 3.38 lineto closepath stroke 1.31 3.32 moveto 1.26 3.30 lineto closepath stroke 1.25 3.51 moveto 1.32 3.64 lineto closepath stroke 1.25 3.51 moveto 1.33 3.53 lineto closepath stroke 1.25 3.51 moveto 1.28 3.42 lineto closepath stroke 1.25 3.51 moveto 1.22 3.62 lineto closepath stroke 1.25 3.51 moveto 1.18 3.48 lineto closepath stroke 1.25 3.51 moveto 1.12 3.57 lineto closepath stroke 1.18 3.72 moveto 1.28 3.86 lineto closepath stroke 1.18 3.72 moveto 1.29 3.74 lineto closepath stroke 1.18 3.72 moveto 1.22 3.62 lineto closepath stroke 1.18 3.72 moveto 1.15 3.84 lineto closepath stroke 1.18 3.72 moveto 1.09 3.68 lineto closepath stroke 1.18 3.72 moveto 1.03 3.78 lineto closepath stroke 1.11 3.95 moveto 1.23 4.11 lineto closepath stroke 1.11 3.95 moveto 1.24 3.98 lineto closepath stroke 1.11 3.95 moveto 1.15 3.84 lineto closepath stroke 1.11 3.95 moveto 1.07 4.08 lineto closepath stroke 1.11 3.95 moveto 0.99 3.90 lineto closepath stroke 1.11 3.95 moveto 0.92 4.01 lineto closepath stroke 1.03 4.20 moveto 1.17 4.38 lineto closepath stroke 1.03 4.20 moveto 1.18 4.24 lineto closepath stroke 1.03 4.20 moveto 1.07 4.08 lineto closepath stroke 1.03 4.20 moveto 0.98 4.34 lineto closepath stroke 1.03 4.20 moveto 0.88 4.14 lineto closepath stroke 1.03 4.20 moveto 0.81 4.27 lineto closepath stroke 0.94 4.48 moveto 1.12 4.52 lineto closepath stroke 0.94 4.48 moveto 0.98 4.34 lineto closepath stroke 0.94 4.48 moveto 0.89 4.64 lineto closepath stroke 0.94 4.48 moveto 0.76 4.40 lineto closepath stroke 0.84 4.79 moveto 1.06 4.83 lineto closepath stroke 0.84 4.79 moveto 1.07 4.67 lineto closepath stroke 0.84 4.79 moveto 0.89 4.64 lineto closepath stroke 0.84 4.79 moveto 0.78 4.96 lineto closepath stroke 0.84 4.79 moveto 0.71 4.56 lineto closepath stroke 0.84 4.79 moveto 0.63 4.70 lineto closepath stroke 0.73 5.13 moveto 0.98 5.31 lineto closepath stroke 0.73 5.13 moveto 1.00 5.00 lineto closepath stroke 0.73 5.13 moveto 0.78 4.96 lineto closepath stroke 0.73 5.13 moveto 0.73 5.31 lineto closepath stroke 0.73 5.13 moveto 0.36 5.31 lineto closepath stroke 0.73 5.13 moveto 0.58 4.87 lineto closepath stroke 0.73 5.13 moveto 0.49 5.02 lineto closepath stroke 0.73 5.50 moveto 0.98 5.50 lineto closepath stroke 0.73 5.50 moveto 0.73 5.31 lineto closepath stroke 0.73 5.50 moveto 0.36 5.50 lineto closepath stroke 1.20 3.27 moveto 1.15 3.36 lineto closepath stroke 1.20 3.27 moveto 1.26 3.30 lineto closepath stroke 1.20 3.27 moveto 1.15 3.23 lineto closepath stroke 1.10 3.44 moveto 1.18 3.48 lineto closepath stroke 1.10 3.44 moveto 1.21 3.38 lineto closepath stroke 1.10 3.44 moveto 1.15 3.36 lineto closepath stroke 1.10 3.44 moveto 1.04 3.54 lineto closepath stroke 1.10 3.44 moveto 1.10 3.32 lineto closepath stroke 1.10 3.44 moveto 1.03 3.39 lineto closepath stroke 0.99 3.63 moveto 1.09 3.68 lineto closepath stroke 0.99 3.63 moveto 1.12 3.57 lineto closepath stroke 0.99 3.63 moveto 1.04 3.54 lineto closepath stroke 0.99 3.63 moveto 0.93 3.74 lineto closepath stroke 0.99 3.63 moveto 0.98 3.49 lineto closepath stroke 0.99 3.63 moveto 0.90 3.57 lineto closepath stroke 0.99 3.63 moveto 0.82 3.66 lineto closepath stroke 0.87 3.84 moveto 0.99 3.90 lineto closepath stroke 0.87 3.84 moveto 1.03 3.78 lineto closepath stroke 0.87 3.84 moveto 0.93 3.74 lineto closepath stroke 0.87 3.84 moveto 0.80 3.96 lineto closepath stroke 0.87 3.84 moveto 0.76 3.77 lineto closepath stroke 0.87 3.84 moveto 0.67 3.86 lineto closepath stroke 0.74 4.07 moveto 0.88 4.14 lineto closepath stroke 0.74 4.07 moveto 0.92 4.01 lineto closepath stroke 0.74 4.07 moveto 0.80 3.96 lineto closepath stroke 0.74 4.07 moveto 0.66 4.20 lineto closepath stroke 0.74 4.07 moveto 0.61 3.98 lineto closepath stroke 0.74 4.07 moveto 0.51 4.09 lineto closepath stroke 0.59 4.33 moveto 0.71 4.56 lineto closepath stroke 0.59 4.33 moveto 0.76 4.40 lineto closepath stroke 0.59 4.33 moveto 0.81 4.27 lineto closepath stroke 0.59 4.33 moveto 0.66 4.20 lineto closepath stroke 0.59 4.33 moveto 0.51 4.47 lineto closepath stroke 0.59 4.33 moveto 0.44 4.22 lineto closepath stroke 0.43 4.61 moveto 0.58 4.87 lineto closepath stroke 0.43 4.61 moveto 0.63 4.70 lineto closepath stroke 0.43 4.61 moveto 0.51 4.47 lineto closepath stroke 0.43 4.61 moveto 0.34 4.76 lineto closepath stroke 0.43 4.61 moveto 0.21 4.76 lineto closepath stroke 0.43 4.61 moveto 0.35 4.35 lineto closepath stroke 0.43 4.61 moveto 0.21 4.47 lineto closepath stroke 0.25 4.91 moveto 0.49 5.02 lineto closepath stroke 0.25 4.91 moveto 0.34 4.76 lineto closepath stroke 0.25 4.91 moveto 0.13 5.21 lineto closepath stroke 0.25 4.91 moveto 0.13 4.91 lineto closepath stroke 0.00 4.91 moveto 0.13 4.91 lineto closepath stroke 0.00 4.91 moveto 0.21 4.76 lineto closepath stroke 0.00 4.91 moveto 0.00 5.21 lineto closepath stroke 0.00 4.91 moveto 0.00 4.63 lineto closepath stroke 1.10 3.20 moveto 1.10 3.32 lineto closepath stroke 1.10 3.20 moveto 1.15 3.23 lineto closepath stroke 1.10 3.20 moveto 1.03 3.27 lineto closepath stroke 1.10 3.20 moveto 0.98 3.21 lineto closepath stroke 1.10 3.20 moveto 1.06 3.15 lineto closepath stroke 0.96 3.34 moveto 0.98 3.49 lineto closepath stroke 0.96 3.34 moveto 1.03 3.39 lineto closepath stroke 0.96 3.34 moveto 1.03 3.27 lineto closepath stroke 0.96 3.34 moveto 0.89 3.43 lineto closepath stroke 0.96 3.34 moveto 0.91 3.28 lineto closepath stroke 0.96 3.34 moveto 0.82 3.35 lineto closepath stroke 0.82 3.51 moveto 0.90 3.57 lineto closepath stroke 0.82 3.51 moveto 0.89 3.43 lineto closepath stroke 0.82 3.51 moveto 0.74 3.60 lineto closepath stroke 0.82 3.51 moveto 0.75 3.43 lineto closepath stroke 0.82 3.51 moveto 0.65 3.50 lineto closepath stroke 0.66 3.69 moveto 0.76 3.77 lineto closepath stroke 0.66 3.69 moveto 0.82 3.66 lineto closepath stroke 0.66 3.69 moveto 0.74 3.60 lineto closepath stroke 0.66 3.69 moveto 0.57 3.79 lineto closepath stroke 0.66 3.69 moveto 0.57 3.59 lineto closepath stroke 0.48 3.89 moveto 0.61 3.98 lineto closepath stroke 0.48 3.89 moveto 0.67 3.86 lineto closepath stroke 0.48 3.89 moveto 0.57 3.79 lineto closepath stroke 0.48 3.89 moveto 0.38 3.99 lineto closepath stroke 0.48 3.89 moveto 0.48 3.69 lineto closepath stroke 0.48 3.89 moveto 0.37 3.77 lineto closepath stroke 0.28 4.10 moveto 0.35 4.35 lineto closepath stroke 0.28 4.10 moveto 0.44 4.22 lineto closepath stroke 0.28 4.10 moveto 0.51 4.09 lineto closepath stroke 0.28 4.10 moveto 0.38 3.99 lineto closepath stroke 0.28 4.10 moveto 0.14 4.22 lineto closepath stroke 0.28 4.10 moveto 0.27 3.88 lineto closepath stroke 0.28 4.10 moveto 0.14 3.88 lineto closepath stroke 0.00 4.34 moveto 0.21 4.47 lineto closepath stroke 0.00 4.34 moveto 0.14 4.22 lineto closepath stroke 0.00 4.34 moveto 0.00 4.63 lineto closepath stroke 0.00 4.34 moveto 0.00 4.00 lineto closepath stroke 1.01 3.10 moveto 0.93 3.16 lineto closepath stroke 1.01 3.10 moveto 1.06 3.15 lineto closepath stroke 1.01 3.10 moveto 0.98 3.05 lineto closepath stroke 0.85 3.22 moveto 0.91 3.28 lineto closepath stroke 0.85 3.22 moveto 0.98 3.21 lineto closepath stroke 0.85 3.22 moveto 0.93 3.16 lineto closepath stroke 0.85 3.22 moveto 0.76 3.28 lineto closepath stroke 0.85 3.22 moveto 0.90 3.11 lineto closepath stroke 0.85 3.22 moveto 0.81 3.15 lineto closepath stroke 0.67 3.35 moveto 0.75 3.43 lineto closepath stroke 0.67 3.35 moveto 0.82 3.35 lineto closepath stroke 0.67 3.35 moveto 0.76 3.28 lineto closepath stroke 0.67 3.35 moveto 0.58 3.42 lineto closepath stroke 0.67 3.35 moveto 0.72 3.21 lineto closepath stroke 0.67 3.35 moveto 0.62 3.26 lineto closepath stroke 0.48 3.49 moveto 0.48 3.69 lineto closepath stroke 0.48 3.49 moveto 0.57 3.59 lineto closepath stroke 0.48 3.49 moveto 0.65 3.50 lineto closepath stroke 0.48 3.49 moveto 0.58 3.42 lineto closepath stroke 0.48 3.49 moveto 0.37 3.57 lineto closepath stroke 0.48 3.49 moveto 0.52 3.33 lineto closepath stroke 0.48 3.49 moveto 0.41 3.38 lineto closepath stroke 0.26 3.65 moveto 0.27 3.88 lineto closepath stroke 0.26 3.65 moveto 0.37 3.77 lineto closepath stroke 0.26 3.65 moveto 0.37 3.57 lineto closepath stroke 0.26 3.65 moveto 0.13 3.65 lineto closepath stroke 0.26 3.65 moveto 0.31 3.46 lineto closepath stroke 0.26 3.65 moveto 0.13 3.51 lineto closepath stroke 0.00 3.65 moveto 0.14 3.88 lineto closepath stroke 0.00 3.65 moveto 0.13 3.65 lineto closepath stroke 0.00 3.65 moveto 0.00 4.00 lineto closepath stroke 0.00 3.65 moveto 0.00 3.51 lineto closepath stroke 0.95 2.99 moveto 0.90 3.11 lineto closepath stroke 0.95 2.99 moveto 0.98 3.05 lineto closepath stroke 0.95 2.99 moveto 0.86 3.03 lineto closepath stroke 0.95 2.99 moveto 0.83 2.96 lineto closepath stroke 0.95 2.99 moveto 0.93 2.93 lineto closepath stroke 0.77 3.08 moveto 0.72 3.21 lineto closepath stroke 0.77 3.08 moveto 0.81 3.15 lineto closepath stroke 0.77 3.08 moveto 0.86 3.03 lineto closepath stroke 0.77 3.08 moveto 0.67 3.12 lineto closepath stroke 0.77 3.08 moveto 0.74 3.00 lineto closepath stroke 0.57 3.16 moveto 0.52 3.33 lineto closepath stroke 0.57 3.16 moveto 0.62 3.26 lineto closepath stroke 0.57 3.16 moveto 0.67 3.12 lineto closepath stroke 0.57 3.16 moveto 0.46 3.21 lineto closepath stroke 0.57 3.16 moveto 0.64 3.04 lineto closepath stroke 0.57 3.16 moveto 0.54 3.06 lineto closepath stroke 0.57 3.16 moveto 0.42 3.09 lineto closepath stroke 0.35 3.26 moveto 0.31 3.46 lineto closepath stroke 0.35 3.26 moveto 0.41 3.38 lineto closepath stroke 0.35 3.26 moveto 0.46 3.21 lineto closepath stroke 0.35 3.26 moveto 0.17 3.32 lineto closepath stroke 0.35 3.26 moveto 0.31 3.14 lineto closepath stroke 0.00 3.37 moveto 0.13 3.51 lineto closepath stroke 0.00 3.37 moveto 0.17 3.32 lineto closepath stroke 0.00 3.37 moveto 0.00 3.51 lineto closepath stroke 0.00 3.37 moveto 0.13 3.19 lineto closepath stroke 0.00 3.37 moveto 0.00 3.19 lineto closepath stroke 0.91 2.87 moveto 0.82 2.90 lineto closepath stroke 0.91 2.87 moveto 0.93 2.93 lineto closepath stroke 0.91 2.87 moveto 0.91 2.81 lineto closepath stroke 0.72 2.92 moveto 0.74 3.00 lineto closepath stroke 0.72 2.92 moveto 0.83 2.96 lineto closepath stroke 0.72 2.92 moveto 0.82 2.90 lineto closepath stroke 0.72 2.92 moveto 0.64 3.04 lineto closepath stroke 0.72 2.92 moveto 0.61 2.94 lineto closepath stroke 0.72 2.92 moveto 0.81 2.83 lineto closepath stroke 0.72 2.92 moveto 0.71 2.83 lineto closepath stroke 0.50 2.96 moveto 0.54 3.06 lineto closepath stroke 0.50 2.96 moveto 0.61 2.94 lineto closepath stroke 0.50 2.96 moveto 0.38 2.99 lineto closepath stroke 0.50 2.96 moveto 0.60 2.86 lineto closepath stroke 0.50 2.96 moveto 0.49 2.86 lineto closepath stroke 0.27 3.01 moveto 0.13 3.19 lineto closepath stroke 0.27 3.01 moveto 0.31 3.14 lineto closepath stroke 0.27 3.01 moveto 0.42 3.09 lineto closepath stroke 0.27 3.01 moveto 0.38 2.99 lineto closepath stroke 0.27 3.01 moveto 0.13 3.01 lineto closepath stroke 0.27 3.01 moveto 0.37 2.88 lineto closepath stroke 0.27 3.01 moveto 0.13 2.88 lineto closepath stroke 0.00 3.01 moveto 0.00 3.19 lineto closepath stroke 0.00 3.01 moveto 0.13 3.01 lineto closepath stroke 0.00 3.01 moveto 0.00 2.88 lineto closepath stroke 0.90 2.75 moveto 0.81 2.83 lineto closepath stroke 0.90 2.75 moveto 0.91 2.81 lineto closepath stroke 0.90 2.75 moveto 0.80 2.75 lineto closepath stroke 0.90 2.75 moveto 0.91 2.69 lineto closepath stroke 0.70 2.75 moveto 0.60 2.86 lineto closepath stroke 0.70 2.75 moveto 0.71 2.83 lineto closepath stroke 0.70 2.75 moveto 0.80 2.75 lineto closepath stroke 0.70 2.75 moveto 0.59 2.75 lineto closepath stroke 0.70 2.75 moveto 0.81 2.69 lineto closepath stroke 0.70 2.75 moveto 0.71 2.67 lineto closepath stroke 0.48 2.75 moveto 0.37 2.88 lineto closepath stroke 0.48 2.75 moveto 0.49 2.86 lineto closepath stroke 0.48 2.75 moveto 0.59 2.75 lineto closepath stroke 0.48 2.75 moveto 0.24 2.75 lineto closepath stroke 0.48 2.75 moveto 0.60 2.67 lineto closepath stroke 0.48 2.75 moveto 0.49 2.64 lineto closepath stroke 0.48 2.75 moveto 0.37 2.62 lineto closepath stroke 0.00 2.75 moveto 0.13 2.88 lineto closepath stroke 0.00 2.75 moveto 0.24 2.75 lineto closepath stroke 0.00 2.75 moveto 0.00 2.88 lineto closepath stroke 0.00 2.75 moveto 0.13 2.62 lineto closepath stroke 0.00 2.75 moveto 0.00 2.62 lineto closepath stroke 0.91 2.63 moveto 0.81 2.69 lineto closepath stroke 0.91 2.63 moveto 0.91 2.69 lineto closepath stroke 0.91 2.63 moveto 0.82 2.60 lineto closepath stroke 0.91 2.63 moveto 0.93 2.57 lineto closepath stroke 0.72 2.58 moveto 0.60 2.67 lineto closepath stroke 0.72 2.58 moveto 0.71 2.67 lineto closepath stroke 0.72 2.58 moveto 0.82 2.60 lineto closepath stroke 0.72 2.58 moveto 0.61 2.56 lineto closepath stroke 0.72 2.58 moveto 0.83 2.54 lineto closepath stroke 0.72 2.58 moveto 0.74 2.50 lineto closepath stroke 0.72 2.58 moveto 0.64 2.46 lineto closepath stroke 0.50 2.54 moveto 0.49 2.64 lineto closepath stroke 0.50 2.54 moveto 0.61 2.56 lineto closepath stroke 0.50 2.54 moveto 0.38 2.51 lineto closepath stroke 0.50 2.54 moveto 0.54 2.44 lineto closepath stroke 0.50 2.54 moveto 0.42 2.39 lineto closepath stroke 0.27 2.49 moveto 0.13 2.62 lineto closepath stroke 0.27 2.49 moveto 0.37 2.62 lineto closepath stroke 0.27 2.49 moveto 0.38 2.51 lineto closepath stroke 0.27 2.49 moveto 0.13 2.49 lineto closepath stroke 0.27 2.49 moveto 0.31 2.36 lineto closepath stroke 0.27 2.49 moveto 0.13 2.31 lineto closepath stroke 0.00 2.49 moveto 0.00 2.62 lineto closepath stroke 0.00 2.49 moveto 0.13 2.49 lineto closepath stroke 0.00 2.49 moveto 0.00 2.31 lineto closepath stroke 0.95 2.51 moveto 0.83 2.54 lineto closepath stroke 0.95 2.51 moveto 0.93 2.57 lineto closepath stroke 0.95 2.51 moveto 0.86 2.47 lineto closepath stroke 0.95 2.51 moveto 0.98 2.45 lineto closepath stroke 0.77 2.42 moveto 0.74 2.50 lineto closepath stroke 0.77 2.42 moveto 0.86 2.47 lineto closepath stroke 0.77 2.42 moveto 0.67 2.38 lineto closepath stroke 0.77 2.42 moveto 0.89 2.41 lineto closepath stroke 0.77 2.42 moveto 0.81 2.35 lineto closepath stroke 0.57 2.34 moveto 0.54 2.44 lineto closepath stroke 0.57 2.34 moveto 0.64 2.46 lineto closepath stroke 0.57 2.34 moveto 0.67 2.38 lineto closepath stroke 0.57 2.34 moveto 0.46 2.29 lineto closepath stroke 0.57 2.34 moveto 0.71 2.31 lineto closepath stroke 0.57 2.34 moveto 0.62 2.24 lineto closepath stroke 0.35 2.24 moveto 0.31 2.36 lineto closepath stroke 0.35 2.24 moveto 0.42 2.39 lineto closepath stroke 0.35 2.24 moveto 0.46 2.29 lineto closepath stroke 0.35 2.24 moveto 0.17 2.18 lineto closepath stroke 0.35 2.24 moveto 0.51 2.19 lineto closepath stroke 0.35 2.24 moveto 0.41 2.12 lineto closepath stroke 0.35 2.24 moveto 0.31 2.04 lineto closepath stroke 0.00 2.13 moveto 0.00 2.31 lineto closepath stroke 0.00 2.13 moveto 0.13 2.31 lineto closepath stroke 0.00 2.13 moveto 0.17 2.18 lineto closepath stroke 0.00 2.13 moveto 0.13 1.99 lineto closepath stroke 0.00 2.13 moveto 0.00 1.99 lineto closepath stroke 1.01 2.40 moveto 0.89 2.41 lineto closepath stroke 1.01 2.40 moveto 0.98 2.45 lineto closepath stroke 1.01 2.40 moveto 0.93 2.34 lineto closepath stroke 1.01 2.40 moveto 0.99 2.28 lineto closepath stroke 1.01 2.40 moveto 1.06 2.35 lineto closepath stroke 0.85 2.28 moveto 0.71 2.31 lineto closepath stroke 0.85 2.28 moveto 0.81 2.35 lineto closepath stroke 0.85 2.28 moveto 0.93 2.34 lineto closepath stroke 0.85 2.28 moveto 0.76 2.22 lineto closepath stroke 0.85 2.28 moveto 0.91 2.22 lineto closepath stroke 0.85 2.28 moveto 0.84 2.14 lineto closepath stroke 0.67 2.15 moveto 0.51 2.19 lineto closepath stroke 0.67 2.15 moveto 0.62 2.24 lineto closepath stroke 0.67 2.15 moveto 0.76 2.22 lineto closepath stroke 0.67 2.15 moveto 0.58 2.08 lineto closepath stroke 0.67 2.15 moveto 0.75 2.07 lineto closepath stroke 0.67 2.15 moveto 0.67 1.98 lineto closepath stroke 0.48 2.01 moveto 0.41 2.12 lineto closepath stroke 0.48 2.01 moveto 0.58 2.08 lineto closepath stroke 0.48 2.01 moveto 0.37 1.93 lineto closepath stroke 0.48 2.01 moveto 0.57 1.91 lineto closepath stroke 0.48 2.01 moveto 0.48 1.81 lineto closepath stroke 0.26 1.85 moveto 0.13 1.99 lineto closepath stroke 0.26 1.85 moveto 0.31 2.04 lineto closepath stroke 0.26 1.85 moveto 0.37 1.93 lineto closepath stroke 0.26 1.85 moveto 0.13 1.85 lineto closepath stroke 0.26 1.85 moveto 0.37 1.73 lineto closepath stroke 0.26 1.85 moveto 0.27 1.62 lineto closepath stroke 0.00 1.85 moveto 0.00 1.99 lineto closepath stroke 0.00 1.85 moveto 0.13 1.85 lineto closepath stroke 0.00 1.85 moveto 0.14 1.62 lineto closepath stroke 0.00 1.85 moveto 0.00 1.50 lineto closepath stroke 1.10 2.30 moveto 1.03 2.23 lineto closepath stroke 1.10 2.30 moveto 1.06 2.35 lineto closepath stroke 1.10 2.30 moveto 1.15 2.27 lineto closepath stroke 0.96 2.16 moveto 0.91 2.22 lineto closepath stroke 0.96 2.16 moveto 0.99 2.28 lineto closepath stroke 0.96 2.16 moveto 1.03 2.23 lineto closepath stroke 0.96 2.16 moveto 0.89 2.07 lineto closepath stroke 0.96 2.16 moveto 1.08 2.19 lineto closepath stroke 0.96 2.16 moveto 1.03 2.11 lineto closepath stroke 0.82 1.99 moveto 0.75 2.07 lineto closepath stroke 0.82 1.99 moveto 0.84 2.14 lineto closepath stroke 0.82 1.99 moveto 0.89 2.07 lineto closepath stroke 0.82 1.99 moveto 0.74 1.90 lineto closepath stroke 0.82 1.99 moveto 0.96 2.02 lineto closepath stroke 0.82 1.99 moveto 0.90 1.93 lineto closepath stroke 0.66 1.81 moveto 0.57 1.91 lineto closepath stroke 0.66 1.81 moveto 0.67 1.98 lineto closepath stroke 0.66 1.81 moveto 0.74 1.90 lineto closepath stroke 0.66 1.81 moveto 0.57 1.71 lineto closepath stroke 0.66 1.81 moveto 0.82 1.84 lineto closepath stroke 0.66 1.81 moveto 0.76 1.73 lineto closepath stroke 0.48 1.61 moveto 0.37 1.73 lineto closepath stroke 0.48 1.61 moveto 0.48 1.81 lineto closepath stroke 0.48 1.61 moveto 0.57 1.71 lineto closepath stroke 0.48 1.61 moveto 0.38 1.51 lineto closepath stroke 0.48 1.61 moveto 0.67 1.64 lineto closepath stroke 0.48 1.61 moveto 0.61 1.52 lineto closepath stroke 0.28 1.40 moveto 0.14 1.62 lineto closepath stroke 0.28 1.40 moveto 0.27 1.62 lineto closepath stroke 0.28 1.40 moveto 0.38 1.51 lineto closepath stroke 0.28 1.40 moveto 0.14 1.28 lineto closepath stroke 0.28 1.40 moveto 0.51 1.41 lineto closepath stroke 0.28 1.40 moveto 0.44 1.28 lineto closepath stroke 0.28 1.40 moveto 0.35 1.15 lineto closepath stroke 0.00 1.16 moveto 0.00 1.50 lineto closepath stroke 0.00 1.16 moveto 0.14 1.28 lineto closepath stroke 0.00 1.16 moveto 0.21 1.03 lineto closepath stroke 0.00 1.16 moveto 0.00 0.87 lineto closepath stroke 1.20 2.23 moveto 1.08 2.19 lineto closepath stroke 1.20 2.23 moveto 1.15 2.27 lineto closepath stroke 1.20 2.23 moveto 1.15 2.14 lineto closepath stroke 1.20 2.23 moveto 1.26 2.20 lineto closepath stroke 1.10 2.06 moveto 0.96 2.02 lineto closepath stroke 1.10 2.06 moveto 1.03 2.11 lineto closepath stroke 1.10 2.06 moveto 1.15 2.14 lineto closepath stroke 1.10 2.06 moveto 1.05 1.96 lineto closepath stroke 1.10 2.06 moveto 1.21 2.12 lineto closepath stroke 1.10 2.06 moveto 1.18 2.02 lineto closepath stroke 0.99 1.87 moveto 0.82 1.84 lineto closepath stroke 0.99 1.87 moveto 0.90 1.93 lineto closepath stroke 0.99 1.87 moveto 1.05 1.96 lineto closepath stroke 0.99 1.87 moveto 0.93 1.76 lineto closepath stroke 0.99 1.87 moveto 1.12 1.93 lineto closepath stroke 0.99 1.87 moveto 1.09 1.82 lineto closepath stroke 0.87 1.66 moveto 0.67 1.64 lineto closepath stroke 0.87 1.66 moveto 0.76 1.73 lineto closepath stroke 0.87 1.66 moveto 0.93 1.76 lineto closepath stroke 0.87 1.66 moveto 0.80 1.54 lineto closepath stroke 0.87 1.66 moveto 1.03 1.72 lineto closepath stroke 0.87 1.66 moveto 0.99 1.60 lineto closepath stroke 0.74 1.43 moveto 0.51 1.41 lineto closepath stroke 0.74 1.43 moveto 0.61 1.52 lineto closepath stroke 0.74 1.43 moveto 0.80 1.54 lineto closepath stroke 0.74 1.43 moveto 0.66 1.30 lineto closepath stroke 0.74 1.43 moveto 0.92 1.49 lineto closepath stroke 0.74 1.43 moveto 0.88 1.36 lineto closepath stroke 0.59 1.17 moveto 0.44 1.28 lineto closepath stroke 0.59 1.17 moveto 0.66 1.30 lineto closepath stroke 0.59 1.17 moveto 0.51 1.03 lineto closepath stroke 0.59 1.17 moveto 0.81 1.23 lineto closepath stroke 0.59 1.17 moveto 0.76 1.10 lineto closepath stroke 0.43 0.89 moveto 0.21 1.03 lineto closepath stroke 0.43 0.89 moveto 0.35 1.15 lineto closepath stroke 0.43 0.89 moveto 0.51 1.03 lineto closepath stroke 0.43 0.89 moveto 0.21 0.74 lineto closepath stroke 0.43 0.89 moveto 0.34 0.74 lineto closepath stroke 0.43 0.89 moveto 0.68 0.96 lineto closepath stroke 0.43 0.89 moveto 0.63 0.80 lineto closepath stroke 0.25 0.59 moveto 0.13 0.59 lineto closepath stroke 0.25 0.59 moveto 0.34 0.74 lineto closepath stroke 0.25 0.59 moveto 0.13 0.29 lineto closepath stroke 0.25 0.59 moveto 0.54 0.65 lineto closepath stroke 0.25 0.59 moveto 0.49 0.48 lineto closepath stroke 0.00 0.59 moveto 0.00 0.87 lineto closepath stroke 0.00 0.59 moveto 0.21 0.74 lineto closepath stroke 0.00 0.59 moveto 0.13 0.59 lineto closepath stroke 0.00 0.59 moveto 0.00 0.29 lineto closepath stroke 1.31 2.18 moveto 1.21 2.12 lineto closepath stroke 1.31 2.18 moveto 1.26 2.20 lineto closepath stroke 1.31 2.18 moveto 1.28 2.08 lineto closepath stroke 1.31 2.18 moveto 1.37 2.07 lineto closepath stroke 1.31 2.18 moveto 1.38 2.17 lineto closepath stroke 1.25 1.99 moveto 1.12 1.93 lineto closepath stroke 1.25 1.99 moveto 1.18 2.02 lineto closepath stroke 1.25 1.99 moveto 1.28 2.08 lineto closepath stroke 1.25 1.99 moveto 1.22 1.88 lineto closepath stroke 1.25 1.99 moveto 1.33 1.97 lineto closepath stroke 1.25 1.99 moveto 1.32 1.86 lineto closepath stroke 1.18 1.78 moveto 1.03 1.72 lineto closepath stroke 1.18 1.78 moveto 1.09 1.82 lineto closepath stroke 1.18 1.78 moveto 1.22 1.88 lineto closepath stroke 1.18 1.78 moveto 1.15 1.66 lineto closepath stroke 1.18 1.78 moveto 1.29 1.76 lineto closepath stroke 1.18 1.78 moveto 1.28 1.64 lineto closepath stroke 1.11 1.55 moveto 0.92 1.49 lineto closepath stroke 1.11 1.55 moveto 0.99 1.60 lineto closepath stroke 1.11 1.55 moveto 1.15 1.66 lineto closepath stroke 1.11 1.55 moveto 1.07 1.42 lineto closepath stroke 1.11 1.55 moveto 1.24 1.52 lineto closepath stroke 1.11 1.55 moveto 1.23 1.39 lineto closepath stroke 1.03 1.30 moveto 0.81 1.23 lineto closepath stroke 1.03 1.30 moveto 0.88 1.36 lineto closepath stroke 1.03 1.30 moveto 1.07 1.42 lineto closepath stroke 1.03 1.30 moveto 0.98 1.16 lineto closepath stroke 1.03 1.30 moveto 1.18 1.26 lineto closepath stroke 1.03 1.30 moveto 1.17 1.12 lineto closepath stroke 0.94 1.02 moveto 0.68 0.96 lineto closepath stroke 0.94 1.02 moveto 0.76 1.10 lineto closepath stroke 0.94 1.02 moveto 0.98 1.16 lineto closepath stroke 0.94 1.02 moveto 0.89 0.86 lineto closepath stroke 0.94 1.02 moveto 1.12 0.98 lineto closepath stroke 0.94 1.02 moveto 1.11 0.82 lineto closepath stroke 0.84 0.71 moveto 0.54 0.65 lineto closepath stroke 0.84 0.71 moveto 0.63 0.80 lineto closepath stroke 0.84 0.71 moveto 0.89 0.86 lineto closepath stroke 0.84 0.71 moveto 0.78 0.54 lineto closepath stroke 0.84 0.71 moveto 1.06 0.67 lineto closepath stroke 0.73 0.37 moveto 0.49 0.48 lineto closepath stroke 0.73 0.37 moveto 0.78 0.54 lineto closepath stroke 0.73 0.37 moveto 0.36 0.19 lineto closepath stroke 0.73 0.37 moveto 0.73 0.19 lineto closepath stroke 0.73 0.37 moveto 1.00 0.50 lineto closepath stroke 0.73 0.37 moveto 0.98 0.19 lineto closepath stroke 0.73 0.00 moveto 0.36 0.00 lineto closepath stroke 0.73 0.00 moveto 0.73 0.19 lineto closepath stroke 0.73 0.00 moveto 0.98 0.00 lineto closepath stroke 1.44 2.15 moveto 1.43 2.05 lineto closepath stroke 1.44 2.15 moveto 1.38 2.17 lineto closepath stroke 1.44 2.15 moveto 1.50 2.15 lineto closepath stroke 1.42 1.95 moveto 1.33 1.97 lineto closepath stroke 1.42 1.95 moveto 1.37 2.07 lineto closepath stroke 1.42 1.95 moveto 1.43 2.05 lineto closepath stroke 1.42 1.95 moveto 1.40 1.84 lineto closepath stroke 1.42 1.95 moveto 1.49 2.05 lineto closepath stroke 1.42 1.95 moveto 1.50 1.95 lineto closepath stroke 1.39 1.74 moveto 1.29 1.76 lineto closepath stroke 1.39 1.74 moveto 1.32 1.86 lineto closepath stroke 1.39 1.74 moveto 1.40 1.84 lineto closepath stroke 1.39 1.74 moveto 1.38 1.62 lineto closepath stroke 1.39 1.74 moveto 1.49 1.84 lineto closepath stroke 1.39 1.74 moveto 1.50 1.74 lineto closepath stroke 1.37 1.49 moveto 1.24 1.52 lineto closepath stroke 1.37 1.49 moveto 1.28 1.64 lineto closepath stroke 1.37 1.49 moveto 1.38 1.62 lineto closepath stroke 1.37 1.49 moveto 1.35 1.36 lineto closepath stroke 1.37 1.49 moveto 1.49 1.62 lineto closepath stroke 1.37 1.49 moveto 1.50 1.49 lineto closepath stroke 1.34 1.23 moveto 1.18 1.26 lineto closepath stroke 1.34 1.23 moveto 1.23 1.39 lineto closepath stroke 1.34 1.23 moveto 1.35 1.36 lineto closepath stroke 1.34 1.23 moveto 1.32 1.08 lineto closepath stroke 1.34 1.23 moveto 1.49 1.36 lineto closepath stroke 1.34 1.23 moveto 1.50 1.23 lineto closepath stroke 1.31 0.94 moveto 1.12 0.98 lineto closepath stroke 1.31 0.94 moveto 1.17 1.12 lineto closepath stroke 1.31 0.94 moveto 1.32 1.08 lineto closepath stroke 1.31 0.94 moveto 1.29 0.78 lineto closepath stroke 1.31 0.94 moveto 1.48 1.08 lineto closepath stroke 1.31 0.94 moveto 1.50 0.94 lineto closepath stroke 1.31 0.94 moveto 1.52 0.78 lineto closepath stroke 1.28 0.62 moveto 1.00 0.50 lineto closepath stroke 1.28 0.62 moveto 1.06 0.67 lineto closepath stroke 1.28 0.62 moveto 1.11 0.82 lineto closepath stroke 1.28 0.62 moveto 1.29 0.78 lineto closepath stroke 1.28 0.62 moveto 1.26 0.31 lineto closepath stroke 1.28 0.62 moveto 1.50 0.62 lineto closepath stroke 1.24 0.00 moveto 0.98 0.00 lineto closepath stroke 1.24 0.00 moveto 0.98 0.19 lineto closepath stroke 1.24 0.00 moveto 1.26 0.31 lineto closepath stroke 1.24 0.00 moveto 1.48 0.31 lineto closepath stroke 1.24 0.00 moveto 1.50 0.00 lineto closepath stroke 1.56 2.15 moveto 1.49 2.05 lineto closepath stroke 1.56 2.15 moveto 1.50 2.15 lineto closepath stroke 1.56 2.15 moveto 1.57 2.05 lineto closepath stroke 1.56 2.15 moveto 1.62 2.17 lineto closepath stroke 1.58 1.95 moveto 1.49 1.84 lineto closepath stroke 1.58 1.95 moveto 1.50 1.95 lineto closepath stroke 1.58 1.95 moveto 1.57 2.05 lineto closepath stroke 1.58 1.95 moveto 1.60 1.84 lineto closepath stroke 1.58 1.95 moveto 1.63 2.07 lineto closepath stroke 1.58 1.95 moveto 1.67 1.97 lineto closepath stroke 1.61 1.74 moveto 1.49 1.62 lineto closepath stroke 1.61 1.74 moveto 1.50 1.74 lineto closepath stroke 1.61 1.74 moveto 1.60 1.84 lineto closepath stroke 1.61 1.74 moveto 1.62 1.62 lineto closepath stroke 1.61 1.74 moveto 1.68 1.86 lineto closepath stroke 1.61 1.74 moveto 1.71 1.76 lineto closepath stroke 1.63 1.49 moveto 1.49 1.36 lineto closepath stroke 1.63 1.49 moveto 1.50 1.49 lineto closepath stroke 1.63 1.49 moveto 1.62 1.62 lineto closepath stroke 1.63 1.49 moveto 1.65 1.36 lineto closepath stroke 1.63 1.49 moveto 1.72 1.64 lineto closepath stroke 1.63 1.49 moveto 1.76 1.52 lineto closepath stroke 1.66 1.23 moveto 1.48 1.08 lineto closepath stroke 1.66 1.23 moveto 1.50 1.23 lineto closepath stroke 1.66 1.23 moveto 1.65 1.36 lineto closepath stroke 1.66 1.23 moveto 1.68 1.08 lineto closepath stroke 1.66 1.23 moveto 1.77 1.39 lineto closepath stroke 1.66 1.23 moveto 1.82 1.26 lineto closepath stroke 1.69 0.94 moveto 1.50 0.94 lineto closepath stroke 1.69 0.94 moveto 1.68 1.08 lineto closepath stroke 1.69 0.94 moveto 1.71 0.78 lineto closepath stroke 1.69 0.94 moveto 1.83 1.12 lineto closepath stroke 1.69 0.94 moveto 1.88 0.98 lineto closepath stroke 1.72 0.62 moveto 1.50 0.62 lineto closepath stroke 1.72 0.62 moveto 1.52 0.78 lineto closepath stroke 1.72 0.62 moveto 1.71 0.78 lineto closepath stroke 1.72 0.62 moveto 1.48 0.31 lineto closepath stroke 1.72 0.62 moveto 1.74 0.31 lineto closepath stroke 1.72 0.62 moveto 1.89 0.82 lineto closepath stroke 1.72 0.62 moveto 1.94 0.67 lineto closepath stroke 1.72 0.62 moveto 2.00 0.50 lineto closepath stroke 1.76 0.00 moveto 1.50 0.00 lineto closepath stroke 1.76 0.00 moveto 1.74 0.31 lineto closepath stroke 1.76 0.00 moveto 2.02 0.19 lineto closepath stroke 1.76 0.00 moveto 2.02 0.00 lineto closepath stroke 1.69 2.18 moveto 1.63 2.07 lineto closepath stroke 1.69 2.18 moveto 1.62 2.17 lineto closepath stroke 1.69 2.18 moveto 1.72 2.08 lineto closepath stroke 1.69 2.18 moveto 1.79 2.12 lineto closepath stroke 1.69 2.18 moveto 1.74 2.20 lineto closepath stroke 1.75 1.99 moveto 1.68 1.86 lineto closepath stroke 1.75 1.99 moveto 1.67 1.97 lineto closepath stroke 1.75 1.99 moveto 1.72 2.08 lineto closepath stroke 1.75 1.99 moveto 1.78 1.88 lineto closepath stroke 1.75 1.99 moveto 1.82 2.02 lineto closepath stroke 1.75 1.99 moveto 1.88 1.93 lineto closepath stroke 1.82 1.78 moveto 1.72 1.64 lineto closepath stroke 1.82 1.78 moveto 1.71 1.76 lineto closepath stroke 1.82 1.78 moveto 1.78 1.88 lineto closepath stroke 1.82 1.78 moveto 1.85 1.66 lineto closepath stroke 1.82 1.78 moveto 1.91 1.82 lineto closepath stroke 1.82 1.78 moveto 1.97 1.72 lineto closepath stroke 1.89 1.55 moveto 1.77 1.39 lineto closepath stroke 1.89 1.55 moveto 1.76 1.52 lineto closepath stroke 1.89 1.55 moveto 1.85 1.66 lineto closepath stroke 1.89 1.55 moveto 1.93 1.42 lineto closepath stroke 1.89 1.55 moveto 2.01 1.60 lineto closepath stroke 1.89 1.55 moveto 2.08 1.49 lineto closepath stroke 1.97 1.30 moveto 1.83 1.12 lineto closepath stroke 1.97 1.30 moveto 1.82 1.26 lineto closepath stroke 1.97 1.30 moveto 1.93 1.42 lineto closepath stroke 1.97 1.30 moveto 2.02 1.16 lineto closepath stroke 1.97 1.30 moveto 2.12 1.36 lineto closepath stroke 1.97 1.30 moveto 2.19 1.23 lineto closepath stroke 2.06 1.02 moveto 1.89 0.82 lineto closepath stroke 2.06 1.02 moveto 1.88 0.98 lineto closepath stroke 2.06 1.02 moveto 2.02 1.16 lineto closepath stroke 2.06 1.02 moveto 2.11 0.86 lineto closepath stroke 2.06 1.02 moveto 2.24 1.10 lineto closepath stroke 2.06 1.02 moveto 2.32 0.96 lineto closepath stroke 2.16 0.71 moveto 1.94 0.67 lineto closepath stroke 2.16 0.71 moveto 2.11 0.86 lineto closepath stroke 2.16 0.71 moveto 2.22 0.54 lineto closepath stroke 2.16 0.71 moveto 2.37 0.80 lineto closepath stroke 2.16 0.71 moveto 2.46 0.65 lineto closepath stroke 2.27 0.37 moveto 2.02 0.19 lineto closepath stroke 2.27 0.37 moveto 2.00 0.50 lineto closepath stroke 2.27 0.37 moveto 2.22 0.54 lineto closepath stroke 2.27 0.37 moveto 2.27 0.19 lineto closepath stroke 2.27 0.37 moveto 2.51 0.48 lineto closepath stroke 2.27 0.37 moveto 2.61 0.19 lineto closepath stroke 2.27 0.00 moveto 2.02 0.00 lineto closepath stroke 2.27 0.00 moveto 2.27 0.19 lineto closepath stroke 2.27 0.00 moveto 2.61 0.00 lineto closepath stroke 1.80 2.23 moveto 1.85 2.14 lineto closepath stroke 1.80 2.23 moveto 1.74 2.20 lineto closepath stroke 1.80 2.23 moveto 1.92 2.19 lineto closepath stroke 1.80 2.23 moveto 1.85 2.27 lineto closepath stroke 1.90 2.06 moveto 1.82 2.02 lineto closepath stroke 1.90 2.06 moveto 1.79 2.12 lineto closepath stroke 1.90 2.06 moveto 1.85 2.14 lineto closepath stroke 1.90 2.06 moveto 1.96 1.96 lineto closepath stroke 1.90 2.06 moveto 1.97 2.11 lineto closepath stroke 2.01 1.87 moveto 1.91 1.82 lineto closepath stroke 2.01 1.87 moveto 1.88 1.93 lineto closepath stroke 2.01 1.87 moveto 1.96 1.96 lineto closepath stroke 2.01 1.87 moveto 2.07 1.76 lineto closepath stroke 2.01 1.87 moveto 2.02 2.01 lineto closepath stroke 2.01 1.87 moveto 2.10 1.93 lineto closepath stroke 2.13 1.66 moveto 2.01 1.60 lineto closepath stroke 2.13 1.66 moveto 1.97 1.72 lineto closepath stroke 2.13 1.66 moveto 2.07 1.76 lineto closepath stroke 2.13 1.66 moveto 2.20 1.54 lineto closepath stroke 2.13 1.66 moveto 2.16 1.82 lineto closepath stroke 2.13 1.66 moveto 2.24 1.73 lineto closepath stroke 2.26 1.43 moveto 2.12 1.36 lineto closepath stroke 2.26 1.43 moveto 2.08 1.49 lineto closepath stroke 2.26 1.43 moveto 2.20 1.54 lineto closepath stroke 2.26 1.43 moveto 2.34 1.30 lineto closepath stroke 2.26 1.43 moveto 2.30 1.62 lineto closepath stroke 2.26 1.43 moveto 2.39 1.52 lineto closepath stroke 2.41 1.17 moveto 2.24 1.10 lineto closepath stroke 2.41 1.17 moveto 2.19 1.23 lineto closepath stroke 2.41 1.17 moveto 2.34 1.30 lineto closepath stroke 2.41 1.17 moveto 2.49 1.03 lineto closepath stroke 2.41 1.17 moveto 2.47 1.39 lineto closepath stroke 2.41 1.17 moveto 2.56 1.28 lineto closepath stroke 2.57 0.89 moveto 2.37 0.80 lineto closepath stroke 2.57 0.89 moveto 2.32 0.96 lineto closepath stroke 2.57 0.89 moveto 2.49 1.03 lineto closepath stroke 2.57 0.89 moveto 2.66 0.74 lineto closepath stroke 2.57 0.89 moveto 2.65 1.15 lineto closepath stroke 2.57 0.89 moveto 2.75 1.03 lineto closepath stroke 2.75 0.59 moveto 2.51 0.48 lineto closepath stroke 2.75 0.59 moveto 2.46 0.65 lineto closepath stroke 2.75 0.59 moveto 2.66 0.74 lineto closepath stroke 2.75 0.59 moveto 2.85 0.29 lineto closepath stroke 2.75 0.59 moveto 2.84 0.87 lineto closepath stroke 2.75 0.59 moveto 2.96 0.74 lineto closepath stroke 2.75 0.59 moveto 3.09 0.60 lineto closepath stroke 2.94 0.00 moveto 2.61 0.00 lineto closepath stroke 2.94 0.00 moveto 2.61 0.19 lineto closepath stroke 2.94 0.00 moveto 2.85 0.29 lineto closepath stroke 2.94 0.00 moveto 3.19 0.30 lineto closepath stroke 2.94 0.00 moveto 3.33 0.00 lineto closepath stroke 1.90 2.30 moveto 1.97 2.23 lineto closepath stroke 1.90 2.30 moveto 1.85 2.27 lineto closepath stroke 1.90 2.30 moveto 1.94 2.35 lineto closepath stroke 2.04 2.16 moveto 1.97 2.11 lineto closepath stroke 2.04 2.16 moveto 1.92 2.19 lineto closepath stroke 2.04 2.16 moveto 1.97 2.23 lineto closepath stroke 2.04 2.16 moveto 2.02 2.01 lineto closepath stroke 2.04 2.16 moveto 2.11 2.07 lineto closepath stroke 2.04 2.16 moveto 2.01 2.28 lineto closepath stroke 2.04 2.16 moveto 2.09 2.22 lineto closepath stroke 2.18 1.99 moveto 2.16 1.82 lineto closepath stroke 2.18 1.99 moveto 2.10 1.93 lineto closepath stroke 2.18 1.99 moveto 2.11 2.07 lineto closepath stroke 2.18 1.99 moveto 2.26 1.90 lineto closepath stroke 2.18 1.99 moveto 2.16 2.14 lineto closepath stroke 2.18 1.99 moveto 2.25 2.07 lineto closepath stroke 2.18 1.99 moveto 2.35 2.00 lineto closepath stroke 2.34 1.81 moveto 2.30 1.62 lineto closepath stroke 2.34 1.81 moveto 2.24 1.73 lineto closepath stroke 2.34 1.81 moveto 2.26 1.90 lineto closepath stroke 2.34 1.81 moveto 2.43 1.71 lineto closepath stroke 2.34 1.81 moveto 2.43 1.91 lineto closepath stroke 2.52 1.61 moveto 2.47 1.39 lineto closepath stroke 2.52 1.61 moveto 2.39 1.52 lineto closepath stroke 2.52 1.61 moveto 2.43 1.71 lineto closepath stroke 2.52 1.61 moveto 2.62 1.51 lineto closepath stroke 2.52 1.61 moveto 2.52 1.81 lineto closepath stroke 2.52 1.61 moveto 2.63 1.73 lineto closepath stroke 2.72 1.40 moveto 2.65 1.15 lineto closepath stroke 2.72 1.40 moveto 2.56 1.28 lineto closepath stroke 2.72 1.40 moveto 2.62 1.51 lineto closepath stroke 2.72 1.40 moveto 2.83 1.28 lineto closepath stroke 2.72 1.40 moveto 2.73 1.62 lineto closepath stroke 2.72 1.40 moveto 2.85 1.54 lineto closepath stroke 2.93 1.16 moveto 2.84 0.87 lineto closepath stroke 2.93 1.16 moveto 2.75 1.03 lineto closepath stroke 2.93 1.16 moveto 2.83 1.28 lineto closepath stroke 2.93 1.16 moveto 3.05 1.03 lineto closepath stroke 2.93 1.16 moveto 2.95 1.42 lineto closepath stroke 2.93 1.16 moveto 3.08 1.32 lineto closepath stroke 3.17 0.89 moveto 2.96 0.74 lineto closepath stroke 3.17 0.89 moveto 3.05 1.03 lineto closepath stroke 3.17 0.89 moveto 3.30 0.75 lineto closepath stroke 3.17 0.89 moveto 3.20 1.19 lineto closepath stroke 3.17 0.89 moveto 3.35 1.09 lineto closepath stroke 3.43 0.60 moveto 3.19 0.30 lineto closepath stroke 3.43 0.60 moveto 3.09 0.60 lineto closepath stroke 3.43 0.60 moveto 3.30 0.75 lineto closepath stroke 3.43 0.60 moveto 3.58 0.30 lineto closepath stroke 3.43 0.60 moveto 3.48 0.94 lineto closepath stroke 3.43 0.60 moveto 3.63 0.83 lineto closepath stroke 3.43 0.60 moveto 3.81 0.70 lineto closepath stroke 3.72 0.00 moveto 3.33 0.00 lineto closepath stroke 3.72 0.00 moveto 3.58 0.30 lineto closepath stroke 3.72 0.00 moveto 3.95 0.40 lineto closepath stroke 3.72 0.00 moveto 4.14 0.26 lineto closepath stroke 3.72 0.00 moveto 4.35 0.00 lineto closepath stroke 1.99 2.40 moveto 2.01 2.28 lineto closepath stroke 1.99 2.40 moveto 1.94 2.35 lineto closepath stroke 1.99 2.40 moveto 2.07 2.34 lineto closepath stroke 1.99 2.40 moveto 2.02 2.45 lineto closepath stroke 2.15 2.28 moveto 2.16 2.14 lineto closepath stroke 2.15 2.28 moveto 2.09 2.22 lineto closepath stroke 2.15 2.28 moveto 2.07 2.34 lineto closepath stroke 2.15 2.28 moveto 2.24 2.22 lineto closepath stroke 2.15 2.28 moveto 2.10 2.39 lineto closepath stroke 2.15 2.28 moveto 2.19 2.35 lineto closepath stroke 2.33 2.15 moveto 2.25 2.07 lineto closepath stroke 2.33 2.15 moveto 2.24 2.22 lineto closepath stroke 2.33 2.15 moveto 2.42 2.08 lineto closepath stroke 2.33 2.15 moveto 2.28 2.29 lineto closepath stroke 2.33 2.15 moveto 2.38 2.24 lineto closepath stroke 2.52 2.01 moveto 2.52 1.81 lineto closepath stroke 2.52 2.01 moveto 2.43 1.91 lineto closepath stroke 2.52 2.01 moveto 2.35 2.00 lineto closepath stroke 2.52 2.01 moveto 2.42 2.08 lineto closepath stroke 2.52 2.01 moveto 2.63 1.93 lineto closepath stroke 2.52 2.01 moveto 2.48 2.17 lineto closepath stroke 2.52 2.01 moveto 2.59 2.12 lineto closepath stroke 2.52 2.01 moveto 2.71 2.07 lineto closepath stroke 2.74 1.85 moveto 2.73 1.62 lineto closepath stroke 2.74 1.85 moveto 2.63 1.73 lineto closepath stroke 2.74 1.85 moveto 2.63 1.93 lineto closepath stroke 2.74 1.85 moveto 2.85 1.77 lineto closepath stroke 2.74 1.85 moveto 2.82 1.99 lineto closepath stroke 2.74 1.85 moveto 2.95 1.93 lineto closepath stroke 2.97 1.68 moveto 2.95 1.42 lineto closepath stroke 2.97 1.68 moveto 2.85 1.54 lineto closepath stroke 2.97 1.68 moveto 2.85 1.77 lineto closepath stroke 2.97 1.68 moveto 3.10 1.58 lineto closepath stroke 2.97 1.68 moveto 3.07 1.84 lineto closepath stroke 2.97 1.68 moveto 3.22 1.78 lineto closepath stroke 3.23 1.49 moveto 3.20 1.19 lineto closepath stroke 3.23 1.49 moveto 3.08 1.32 lineto closepath stroke 3.23 1.49 moveto 3.10 1.58 lineto closepath stroke 3.23 1.49 moveto 3.38 1.39 lineto closepath stroke 3.23 1.49 moveto 3.35 1.68 lineto closepath stroke 3.23 1.49 moveto 3.51 1.61 lineto closepath stroke 3.52 1.28 moveto 3.48 0.94 lineto closepath stroke 3.52 1.28 moveto 3.35 1.09 lineto closepath stroke 3.52 1.28 moveto 3.38 1.39 lineto closepath stroke 3.52 1.28 moveto 3.68 1.17 lineto closepath stroke 3.52 1.28 moveto 3.65 1.51 lineto closepath stroke 3.52 1.28 moveto 3.83 1.43 lineto closepath stroke 3.84 1.05 moveto 3.63 0.83 lineto closepath stroke 3.84 1.05 moveto 3.68 1.17 lineto closepath stroke 3.84 1.05 moveto 4.01 0.93 lineto closepath stroke 3.84 1.05 moveto 3.99 1.31 lineto closepath stroke 3.84 1.05 moveto 4.18 1.23 lineto closepath stroke 4.18 0.80 moveto 3.95 0.40 lineto closepath stroke 4.18 0.80 moveto 3.81 0.70 lineto closepath stroke 4.18 0.80 moveto 4.01 0.93 lineto closepath stroke 4.18 0.80 moveto 4.37 0.66 lineto closepath stroke 4.18 0.80 moveto 4.36 1.10 lineto closepath stroke 4.18 0.80 moveto 4.57 1.01 lineto closepath stroke 4.56 0.52 moveto 4.14 0.26 lineto closepath stroke 4.56 0.52 moveto 4.37 0.66 lineto closepath stroke 4.56 0.52 moveto 4.77 0.26 lineto closepath stroke 4.56 0.52 moveto 4.76 0.87 lineto closepath stroke 4.56 0.52 moveto 5.00 0.76 lineto closepath stroke 4.98 0.00 moveto 4.35 0.00 lineto closepath stroke 4.98 0.00 moveto 4.77 0.26 lineto closepath stroke 4.98 0.00 moveto 5.21 0.50 lineto closepath stroke 4.98 0.00 moveto 5.47 0.38 lineto closepath stroke 4.98 0.00 moveto 5.76 0.26 lineto closepath stroke 4.98 0.00 moveto 6.07 0.00 lineto closepath stroke 2.05 2.51 moveto 2.10 2.39 lineto closepath stroke 2.05 2.51 moveto 2.02 2.45 lineto closepath stroke 2.05 2.51 moveto 2.14 2.47 lineto closepath stroke 2.05 2.51 moveto 2.07 2.57 lineto closepath stroke 2.23 2.42 moveto 2.28 2.29 lineto closepath stroke 2.23 2.42 moveto 2.19 2.35 lineto closepath stroke 2.23 2.42 moveto 2.14 2.47 lineto closepath stroke 2.23 2.42 moveto 2.33 2.38 lineto closepath stroke 2.23 2.42 moveto 2.16 2.52 lineto closepath stroke 2.23 2.42 moveto 2.26 2.50 lineto closepath stroke 2.43 2.34 moveto 2.48 2.17 lineto closepath stroke 2.43 2.34 moveto 2.38 2.24 lineto closepath stroke 2.43 2.34 moveto 2.33 2.38 lineto closepath stroke 2.43 2.34 moveto 2.54 2.29 lineto closepath stroke 2.43 2.34 moveto 2.36 2.46 lineto closepath stroke 2.43 2.34 moveto 2.46 2.44 lineto closepath stroke 2.65 2.24 moveto 2.59 2.12 lineto closepath stroke 2.65 2.24 moveto 2.54 2.29 lineto closepath stroke 2.65 2.24 moveto 2.77 2.18 lineto closepath stroke 2.65 2.24 moveto 2.58 2.39 lineto closepath stroke 2.65 2.24 moveto 2.69 2.36 lineto closepath stroke 2.65 2.24 moveto 2.82 2.33 lineto closepath stroke 2.90 2.13 moveto 2.82 1.99 lineto closepath stroke 2.90 2.13 moveto 2.71 2.07 lineto closepath stroke 2.90 2.13 moveto 2.77 2.18 lineto closepath stroke 2.90 2.13 moveto 3.03 2.07 lineto closepath stroke 2.90 2.13 moveto 2.95 2.28 lineto closepath stroke 3.16 2.01 moveto 3.07 1.84 lineto closepath stroke 3.16 2.01 moveto 2.95 1.93 lineto closepath stroke 3.16 2.01 moveto 3.03 2.07 lineto closepath stroke 3.16 2.01 moveto 3.31 1.94 lineto closepath stroke 3.16 2.01 moveto 3.08 2.22 lineto closepath stroke 3.16 2.01 moveto 3.22 2.19 lineto closepath stroke 3.46 1.88 moveto 3.35 1.68 lineto closepath stroke 3.46 1.88 moveto 3.22 1.78 lineto closepath stroke 3.46 1.88 moveto 3.31 1.94 lineto closepath stroke 3.46 1.88 moveto 3.62 1.81 lineto closepath stroke 3.46 1.88 moveto 3.37 2.12 lineto closepath stroke 3.46 1.88 moveto 3.53 2.09 lineto closepath stroke 3.46 1.88 moveto 3.70 2.05 lineto closepath stroke 3.78 1.73 moveto 3.65 1.51 lineto closepath stroke 3.78 1.73 moveto 3.51 1.61 lineto closepath stroke 3.78 1.73 moveto 3.62 1.81 lineto closepath stroke 3.78 1.73 moveto 3.96 1.65 lineto closepath stroke 3.78 1.73 moveto 3.86 1.98 lineto closepath stroke 3.78 1.73 moveto 4.05 1.94 lineto closepath stroke 4.14 1.58 moveto 3.99 1.31 lineto closepath stroke 4.14 1.58 moveto 3.83 1.43 lineto closepath stroke 4.14 1.58 moveto 3.96 1.65 lineto closepath stroke 4.14 1.58 moveto 4.33 1.49 lineto closepath stroke 4.14 1.58 moveto 4.23 1.86 lineto closepath stroke 4.14 1.58 moveto 4.44 1.82 lineto closepath stroke 4.53 1.40 moveto 4.64 1.73 lineto closepath stroke 4.53 1.40 moveto 4.87 1.68 lineto closepath stroke 4.53 1.40 moveto 4.36 1.10 lineto closepath stroke 4.53 1.40 moveto 4.18 1.23 lineto closepath stroke 4.53 1.40 moveto 4.33 1.49 lineto closepath stroke 4.53 1.40 moveto 4.74 1.31 lineto closepath stroke 4.96 1.21 moveto 5.08 1.59 lineto closepath stroke 4.96 1.21 moveto 5.34 1.53 lineto closepath stroke 4.96 1.21 moveto 5.20 1.10 lineto closepath stroke 4.96 1.21 moveto 4.76 0.87 lineto closepath stroke 4.96 1.21 moveto 4.57 1.01 lineto closepath stroke 4.96 1.21 moveto 4.74 1.31 lineto closepath stroke 5.43 1.00 moveto 5.57 1.43 lineto closepath stroke 5.43 1.00 moveto 5.85 1.37 lineto closepath stroke 5.43 1.00 moveto 5.69 0.88 lineto closepath stroke 5.43 1.00 moveto 5.20 1.10 lineto closepath stroke 5.43 1.00 moveto 5.21 0.50 lineto closepath stroke 5.43 1.00 moveto 5.00 0.76 lineto closepath stroke 5.96 0.77 moveto 6.11 1.25 lineto closepath stroke 5.96 0.77 moveto 6.42 1.19 lineto closepath stroke 5.96 0.77 moveto 6.24 0.64 lineto closepath stroke 5.96 0.77 moveto 5.69 0.88 lineto closepath stroke 5.96 0.77 moveto 5.47 0.38 lineto closepath stroke 6.53 0.51 moveto 6.71 1.06 lineto closepath stroke 6.53 0.51 moveto 7.04 0.99 lineto closepath stroke 6.53 0.51 moveto 6.84 0.26 lineto closepath stroke 6.53 0.51 moveto 6.24 0.64 lineto closepath stroke 6.53 0.51 moveto 5.76 0.26 lineto closepath stroke 7.16 0.00 moveto 7.73 0.65 lineto closepath stroke 7.16 0.00 moveto 8.14 0.57 lineto closepath stroke 7.16 0.00 moveto 9.08 0.00 lineto closepath stroke 7.16 0.00 moveto 7.36 0.73 lineto closepath stroke 7.16 0.00 moveto 6.84 0.26 lineto closepath stroke 7.16 0.00 moveto 6.07 0.00 lineto closepath stroke 2.09 2.63 moveto 2.16 2.52 lineto closepath stroke 2.09 2.63 moveto 2.07 2.57 lineto closepath stroke 2.09 2.63 moveto 2.09 2.69 lineto closepath stroke 2.09 2.63 moveto 2.18 2.60 lineto closepath stroke 2.28 2.58 moveto 2.36 2.46 lineto closepath stroke 2.28 2.58 moveto 2.26 2.50 lineto closepath stroke 2.28 2.58 moveto 2.19 2.67 lineto closepath stroke 2.28 2.58 moveto 2.29 2.67 lineto closepath stroke 2.28 2.58 moveto 2.18 2.60 lineto closepath stroke 2.28 2.58 moveto 2.39 2.56 lineto closepath stroke 2.50 2.54 moveto 2.58 2.39 lineto closepath stroke 2.50 2.54 moveto 2.46 2.44 lineto closepath stroke 2.50 2.54 moveto 2.40 2.64 lineto closepath stroke 2.50 2.54 moveto 2.51 2.64 lineto closepath stroke 2.50 2.54 moveto 2.39 2.56 lineto closepath stroke 2.50 2.54 moveto 2.62 2.51 lineto closepath stroke 2.73 2.49 moveto 2.63 2.62 lineto closepath stroke 2.73 2.49 moveto 2.75 2.62 lineto closepath stroke 2.73 2.49 moveto 2.62 2.51 lineto closepath stroke 2.73 2.49 moveto 2.69 2.36 lineto closepath stroke 2.73 2.49 moveto 2.86 2.46 lineto closepath stroke 2.99 2.43 moveto 3.08 2.22 lineto closepath stroke 2.99 2.43 moveto 2.95 2.28 lineto closepath stroke 2.99 2.43 moveto 2.88 2.59 lineto closepath stroke 2.99 2.43 moveto 3.01 2.59 lineto closepath stroke 2.99 2.43 moveto 2.86 2.46 lineto closepath stroke 2.99 2.43 moveto 2.82 2.33 lineto closepath stroke 2.99 2.43 moveto 3.14 2.40 lineto closepath stroke 3.28 2.37 moveto 3.37 2.12 lineto closepath stroke 3.28 2.37 moveto 3.22 2.19 lineto closepath stroke 3.28 2.37 moveto 3.15 2.56 lineto closepath stroke 3.28 2.37 moveto 3.30 2.56 lineto closepath stroke 3.28 2.37 moveto 3.14 2.40 lineto closepath stroke 3.28 2.37 moveto 3.44 2.34 lineto closepath stroke 3.60 2.30 moveto 3.46 2.53 lineto closepath stroke 3.60 2.30 moveto 3.62 2.53 lineto closepath stroke 3.60 2.30 moveto 3.44 2.34 lineto closepath stroke 3.60 2.30 moveto 3.53 2.09 lineto closepath stroke 3.60 2.30 moveto 3.77 2.27 lineto closepath stroke 3.94 2.23 moveto 3.79 2.49 lineto closepath stroke 3.94 2.23 moveto 3.97 2.49 lineto closepath stroke 3.94 2.23 moveto 3.77 2.27 lineto closepath stroke 3.94 2.23 moveto 3.86 1.98 lineto closepath stroke 3.94 2.23 moveto 3.70 2.05 lineto closepath stroke 3.94 2.23 moveto 4.13 2.19 lineto closepath stroke 4.32 2.15 moveto 4.16 2.45 lineto closepath stroke 4.32 2.15 moveto 4.36 2.45 lineto closepath stroke 4.32 2.15 moveto 4.13 2.19 lineto closepath stroke 4.32 2.15 moveto 4.23 1.86 lineto closepath stroke 4.32 2.15 moveto 4.05 1.94 lineto closepath stroke 4.32 2.15 moveto 4.53 2.11 lineto closepath stroke 4.74 2.06 moveto 4.97 2.01 lineto closepath stroke 4.74 2.06 moveto 4.64 1.73 lineto closepath stroke 4.74 2.06 moveto 4.57 2.41 lineto closepath stroke 4.74 2.06 moveto 4.78 2.41 lineto closepath stroke 4.74 2.06 moveto 4.53 2.11 lineto closepath stroke 4.74 2.06 moveto 4.44 1.82 lineto closepath stroke 5.20 1.96 moveto 5.46 1.91 lineto closepath stroke 5.20 1.96 moveto 5.08 1.59 lineto closepath stroke 5.20 1.96 moveto 5.25 2.36 lineto closepath stroke 5.20 1.96 moveto 4.87 1.68 lineto closepath stroke 5.20 1.96 moveto 4.97 2.01 lineto closepath stroke 5.20 1.96 moveto 5.01 2.36 lineto closepath stroke 5.71 1.85 moveto 5.99 1.80 lineto closepath stroke 5.71 1.85 moveto 5.57 1.43 lineto closepath stroke 5.71 1.85 moveto 6.04 2.30 lineto closepath stroke 5.71 1.85 moveto 5.34 1.53 lineto closepath stroke 5.71 1.85 moveto 5.46 1.91 lineto closepath stroke 5.71 1.85 moveto 5.50 2.30 lineto closepath stroke 5.71 1.85 moveto 5.76 2.30 lineto closepath stroke 6.27 1.74 moveto 6.58 1.67 lineto closepath stroke 6.27 1.74 moveto 6.11 1.25 lineto closepath stroke 6.27 1.74 moveto 6.64 2.24 lineto closepath stroke 6.27 1.74 moveto 5.85 1.37 lineto closepath stroke 6.27 1.74 moveto 5.99 1.80 lineto closepath stroke 6.27 1.74 moveto 6.32 2.24 lineto closepath stroke 6.88 1.61 moveto 7.29 2.18 lineto closepath stroke 6.88 1.61 moveto 7.22 1.53 lineto closepath stroke 6.88 1.61 moveto 6.71 1.06 lineto closepath stroke 6.88 1.61 moveto 6.42 1.19 lineto closepath stroke 6.88 1.61 moveto 6.58 1.67 lineto closepath stroke 6.88 1.61 moveto 6.94 2.18 lineto closepath stroke 7.56 1.46 moveto 7.63 2.11 lineto closepath stroke 7.56 1.46 moveto 7.93 1.38 lineto closepath stroke 7.56 1.46 moveto 7.36 0.73 lineto closepath stroke 7.56 1.46 moveto 7.22 1.53 lineto closepath stroke 7.56 1.46 moveto 7.04 0.99 lineto closepath stroke 8.30 1.30 moveto 8.38 2.03 lineto closepath stroke 8.30 1.30 moveto 8.71 1.22 lineto closepath stroke 8.30 1.30 moveto 7.73 0.65 lineto closepath stroke 8.30 1.30 moveto 8.00 2.03 lineto closepath stroke 8.30 1.30 moveto 7.93 1.38 lineto closepath stroke 9.12 1.13 moveto 9.20 1.94 lineto closepath stroke 9.12 1.13 moveto 10.06 1.03 lineto closepath stroke 9.12 1.13 moveto 10.06 0.57 lineto closepath stroke 9.12 1.13 moveto 8.79 1.94 lineto closepath stroke 9.12 1.13 moveto 8.71 1.22 lineto closepath stroke 9.12 1.13 moveto 8.14 0.57 lineto closepath stroke 11.00 0.94 moveto 10.14 1.84 lineto closepath stroke 11.00 0.94 moveto 11.00 1.84 lineto closepath stroke 11.00 0.94 moveto 10.06 1.03 lineto closepath stroke 11.00 0.94 moveto 11.00 0.47 lineto closepath stroke 2.29 2.83 moveto 2.20 2.75 lineto closepath stroke 2.29 2.83 moveto 2.19 2.83 lineto closepath stroke 2.29 2.83 moveto 2.39 2.94 lineto closepath stroke 2.29 2.83 moveto 2.40 2.86 lineto closepath stroke 2.20 2.75 moveto 2.19 2.83 lineto closepath stroke 2.20 2.75 moveto 2.19 2.67 lineto closepath stroke 2.20 2.75 moveto 2.29 2.67 lineto closepath stroke 2.19 2.83 moveto 2.18 2.90 lineto closepath stroke 2.19 2.83 moveto 2.09 2.81 lineto closepath stroke 2.18 2.90 moveto 2.09 2.81 lineto closepath stroke 2.18 2.90 moveto 2.17 2.96 lineto closepath stroke 2.18 2.90 moveto 2.07 2.93 lineto closepath stroke 2.51 2.86 moveto 2.41 2.75 lineto closepath stroke 2.51 2.86 moveto 2.40 2.86 lineto closepath stroke 2.51 2.86 moveto 2.62 2.99 lineto closepath stroke 2.51 2.86 moveto 2.63 2.88 lineto closepath stroke 2.41 2.75 moveto 2.40 2.86 lineto closepath stroke 2.41 2.75 moveto 2.40 2.64 lineto closepath stroke 2.41 2.75 moveto 2.51 2.64 lineto closepath stroke 2.40 2.86 moveto 2.39 2.94 lineto closepath stroke 2.39 2.94 moveto 2.36 3.02 lineto closepath stroke 2.39 2.94 moveto 2.26 3.00 lineto closepath stroke 2.75 2.88 moveto 2.64 2.75 lineto closepath stroke 2.75 2.88 moveto 2.63 2.88 lineto closepath stroke 2.75 2.88 moveto 2.86 3.04 lineto closepath stroke 2.75 2.88 moveto 2.88 2.91 lineto closepath stroke 2.64 2.75 moveto 2.63 2.88 lineto closepath stroke 2.64 2.75 moveto 2.63 2.62 lineto closepath stroke 2.64 2.75 moveto 2.75 2.62 lineto closepath stroke 2.63 2.88 moveto 2.62 2.99 lineto closepath stroke 2.62 2.99 moveto 2.58 3.09 lineto closepath stroke 2.62 2.99 moveto 2.46 3.06 lineto closepath stroke 3.01 2.91 moveto 2.90 2.75 lineto closepath stroke 3.01 2.91 moveto 2.88 2.91 lineto closepath stroke 3.01 2.91 moveto 3.14 3.10 lineto closepath stroke 3.01 2.91 moveto 3.15 2.94 lineto closepath stroke 2.90 2.75 moveto 2.88 2.91 lineto closepath stroke 2.90 2.75 moveto 2.88 2.59 lineto closepath stroke 2.90 2.75 moveto 3.01 2.59 lineto closepath stroke 2.88 2.91 moveto 2.86 3.04 lineto closepath stroke 2.86 3.04 moveto 2.82 3.17 lineto closepath stroke 2.86 3.04 moveto 2.69 3.14 lineto closepath stroke 3.30 2.94 moveto 3.17 2.75 lineto closepath stroke 3.30 2.94 moveto 3.15 2.94 lineto closepath stroke 3.30 2.94 moveto 3.44 3.16 lineto closepath stroke 3.30 2.94 moveto 3.46 2.97 lineto closepath stroke 3.17 2.75 moveto 3.15 2.94 lineto closepath stroke 3.17 2.75 moveto 3.15 2.56 lineto closepath stroke 3.17 2.75 moveto 3.30 2.56 lineto closepath stroke 3.15 2.94 moveto 3.14 3.10 lineto closepath stroke 3.14 3.10 moveto 3.09 3.25 lineto closepath stroke 3.14 3.10 moveto 2.95 3.22 lineto closepath stroke 3.62 2.97 moveto 3.48 2.75 lineto closepath stroke 3.62 2.97 moveto 3.46 2.97 lineto closepath stroke 3.62 2.97 moveto 3.77 3.23 lineto closepath stroke 3.62 2.97 moveto 3.79 3.01 lineto closepath stroke 3.48 2.75 moveto 3.46 2.97 lineto closepath stroke 3.48 2.75 moveto 3.46 2.53 lineto closepath stroke 3.48 2.75 moveto 3.62 2.53 lineto closepath stroke 3.46 2.97 moveto 3.44 3.16 lineto closepath stroke 3.44 3.16 moveto 3.38 3.34 lineto closepath stroke 3.44 3.16 moveto 3.22 3.31 lineto closepath stroke 3.97 3.01 moveto 3.82 2.75 lineto closepath stroke 3.97 3.01 moveto 3.79 3.01 lineto closepath stroke 3.97 3.01 moveto 4.13 3.31 lineto closepath stroke 3.97 3.01 moveto 4.16 3.05 lineto closepath stroke 3.82 2.75 moveto 3.79 3.01 lineto closepath stroke 3.82 2.75 moveto 3.79 2.49 lineto closepath stroke 3.82 2.75 moveto 3.97 2.49 lineto closepath stroke 3.79 3.01 moveto 3.77 3.23 lineto closepath stroke 3.77 3.23 moveto 3.70 3.45 lineto closepath stroke 3.77 3.23 moveto 3.53 3.41 lineto closepath stroke 4.36 3.05 moveto 4.19 2.75 lineto closepath stroke 4.36 3.05 moveto 4.16 3.05 lineto closepath stroke 4.36 3.05 moveto 4.53 3.39 lineto closepath stroke 4.36 3.05 moveto 4.57 3.09 lineto closepath stroke 4.19 2.75 moveto 4.16 3.05 lineto closepath stroke 4.19 2.75 moveto 4.16 2.45 lineto closepath stroke 4.19 2.75 moveto 4.36 2.45 lineto closepath stroke 4.16 3.05 moveto 4.13 3.31 lineto closepath stroke 4.13 3.31 moveto 4.05 3.56 lineto closepath stroke 4.13 3.31 moveto 3.86 3.52 lineto closepath stroke 4.78 3.09 moveto 4.60 2.75 lineto closepath stroke 4.78 3.09 moveto 4.57 3.09 lineto closepath stroke 4.78 3.09 moveto 4.97 3.49 lineto closepath stroke 4.78 3.09 moveto 5.01 3.14 lineto closepath stroke 4.60 2.75 moveto 4.57 3.09 lineto closepath stroke 4.60 2.75 moveto 4.57 2.41 lineto closepath stroke 4.60 2.75 moveto 4.78 2.41 lineto closepath stroke 4.57 3.09 moveto 4.53 3.39 lineto closepath stroke 4.53 3.39 moveto 4.44 3.68 lineto closepath stroke 4.53 3.39 moveto 4.23 3.64 lineto closepath stroke 5.25 3.14 moveto 5.05 2.75 lineto closepath stroke 5.25 3.14 moveto 5.01 3.14 lineto closepath stroke 5.25 3.14 moveto 5.46 3.59 lineto closepath stroke 5.25 3.14 moveto 5.50 3.20 lineto closepath stroke 5.05 2.75 moveto 5.01 3.14 lineto closepath stroke 5.05 2.75 moveto 5.01 2.36 lineto closepath stroke 5.05 2.75 moveto 5.25 2.36 lineto closepath stroke 5.01 3.14 moveto 4.97 3.49 lineto closepath stroke 4.97 3.49 moveto 4.87 3.82 lineto closepath stroke 4.97 3.49 moveto 4.64 3.77 lineto closepath stroke 5.76 3.20 moveto 6.04 3.20 lineto closepath stroke 5.76 3.20 moveto 6.09 2.75 lineto closepath stroke 5.76 3.20 moveto 5.50 3.20 lineto closepath stroke 5.76 3.20 moveto 5.55 2.75 lineto closepath stroke 6.04 3.20 moveto 6.09 2.75 lineto closepath stroke 6.04 3.20 moveto 5.99 3.70 lineto closepath stroke 6.04 3.20 moveto 6.32 3.26 lineto closepath stroke 6.09 2.75 moveto 6.04 2.30 lineto closepath stroke 6.09 2.75 moveto 5.76 2.30 lineto closepath stroke 5.50 3.20 moveto 5.55 2.75 lineto closepath stroke 5.50 3.20 moveto 5.46 3.59 lineto closepath stroke 5.55 2.75 moveto 5.76 2.30 lineto closepath stroke 5.55 2.75 moveto 5.50 2.30 lineto closepath stroke 5.46 3.59 moveto 5.34 3.97 lineto closepath stroke 5.46 3.59 moveto 5.08 3.91 lineto closepath stroke 6.32 3.26 moveto 6.64 3.26 lineto closepath stroke 6.32 3.26 moveto 6.69 2.75 lineto closepath stroke 6.32 3.26 moveto 5.99 3.70 lineto closepath stroke 6.64 3.26 moveto 6.69 2.75 lineto closepath stroke 6.64 3.26 moveto 6.58 3.83 lineto closepath stroke 6.64 3.26 moveto 6.94 3.32 lineto closepath stroke 6.69 2.75 moveto 6.64 2.24 lineto closepath stroke 6.69 2.75 moveto 6.32 2.24 lineto closepath stroke 5.99 3.70 moveto 5.85 4.13 lineto closepath stroke 5.99 3.70 moveto 5.57 4.07 lineto closepath stroke 6.58 3.83 moveto 6.94 3.32 lineto closepath stroke 6.58 3.83 moveto 6.42 4.31 lineto closepath stroke 6.58 3.83 moveto 6.11 4.25 lineto closepath stroke 6.94 3.32 moveto 7.22 3.97 lineto closepath stroke 6.94 3.32 moveto 7.28 3.39 lineto closepath stroke 7.28 3.39 moveto 7.63 3.39 lineto closepath stroke 7.28 3.39 moveto 7.35 2.75 lineto closepath stroke 7.28 3.39 moveto 7.22 3.97 lineto closepath stroke 7.63 3.39 moveto 7.35 2.75 lineto closepath stroke 7.63 3.39 moveto 7.93 4.12 lineto closepath stroke 7.63 3.39 moveto 8.00 3.47 lineto closepath stroke 7.35 2.75 moveto 7.29 2.18 lineto closepath stroke 7.35 2.75 moveto 6.94 2.18 lineto closepath stroke 7.22 3.97 moveto 7.04 4.51 lineto closepath stroke 7.22 3.97 moveto 6.71 4.44 lineto closepath stroke 8.00 3.47 moveto 8.38 3.47 lineto closepath stroke 8.00 3.47 moveto 8.07 2.75 lineto closepath stroke 8.00 3.47 moveto 7.93 4.12 lineto closepath stroke 8.38 3.47 moveto 8.07 2.75 lineto closepath stroke 8.38 3.47 moveto 8.71 4.28 lineto closepath stroke 8.38 3.47 moveto 8.79 3.56 lineto closepath stroke 8.07 2.75 moveto 8.38 2.03 lineto closepath stroke 8.07 2.75 moveto 8.00 2.03 lineto closepath stroke 7.93 4.12 moveto 7.36 4.77 lineto closepath stroke 7.93 4.12 moveto 7.73 4.85 lineto closepath stroke 8.79 3.56 moveto 9.20 3.56 lineto closepath stroke 8.79 3.56 moveto 8.87 2.75 lineto closepath stroke 8.79 3.56 moveto 8.71 4.28 lineto closepath stroke 9.20 3.56 moveto 8.87 2.75 lineto closepath stroke 9.20 3.56 moveto 10.06 4.47 lineto closepath stroke 9.20 3.56 moveto 10.14 3.66 lineto closepath stroke 8.87 2.75 moveto 9.20 1.94 lineto closepath stroke 8.87 2.75 moveto 8.79 1.94 lineto closepath stroke 8.71 4.28 moveto 7.73 4.85 lineto closepath stroke 8.71 4.28 moveto 8.14 4.93 lineto closepath stroke 10.06 4.93 moveto 11.00 5.03 lineto closepath stroke 10.06 4.93 moveto 10.06 4.47 lineto closepath stroke 10.06 4.93 moveto 9.08 5.50 lineto closepath stroke 10.06 4.93 moveto 8.14 4.93 lineto closepath stroke 11.00 5.03 moveto 10.06 4.47 lineto closepath stroke 10.06 4.47 moveto 10.14 3.66 lineto closepath stroke 10.14 3.66 moveto 11.00 3.66 lineto closepath stroke 10.14 3.66 moveto 10.14 2.75 lineto closepath stroke 11.00 3.66 moveto 10.14 2.75 lineto closepath stroke 10.14 2.75 moveto 11.00 1.84 lineto closepath stroke 10.14 2.75 moveto 10.14 1.84 lineto closepath stroke 2.17 2.96 moveto 2.07 2.93 lineto closepath stroke 2.17 2.96 moveto 2.14 3.03 lineto closepath stroke 2.17 2.96 moveto 2.26 3.00 lineto closepath stroke 2.36 3.02 moveto 2.26 3.00 lineto closepath stroke 2.36 3.02 moveto 2.33 3.12 lineto closepath stroke 2.36 3.02 moveto 2.46 3.06 lineto closepath stroke 2.26 3.00 moveto 2.14 3.03 lineto closepath stroke 2.14 3.03 moveto 2.19 3.15 lineto closepath stroke 2.14 3.03 moveto 2.10 3.11 lineto closepath stroke 2.58 3.09 moveto 2.46 3.06 lineto closepath stroke 2.58 3.09 moveto 2.54 3.21 lineto closepath stroke 2.58 3.09 moveto 2.69 3.14 lineto closepath stroke 2.46 3.06 moveto 2.33 3.12 lineto closepath stroke 2.33 3.12 moveto 2.38 3.26 lineto closepath stroke 2.33 3.12 moveto 2.28 3.21 lineto closepath stroke 2.82 3.17 moveto 2.69 3.14 lineto closepath stroke 2.82 3.17 moveto 2.77 3.32 lineto closepath stroke 2.82 3.17 moveto 2.95 3.22 lineto closepath stroke 2.69 3.14 moveto 2.54 3.21 lineto closepath stroke 2.54 3.21 moveto 2.59 3.38 lineto closepath stroke 2.54 3.21 moveto 2.48 3.33 lineto closepath stroke 3.09 3.25 moveto 2.95 3.22 lineto closepath stroke 3.09 3.25 moveto 3.03 3.43 lineto closepath stroke 3.09 3.25 moveto 3.22 3.31 lineto closepath stroke 2.95 3.22 moveto 2.77 3.32 lineto closepath stroke 2.77 3.32 moveto 2.82 3.51 lineto closepath stroke 2.77 3.32 moveto 2.69 3.46 lineto closepath stroke 3.38 3.34 moveto 3.22 3.31 lineto closepath stroke 3.38 3.34 moveto 3.31 3.56 lineto closepath stroke 3.38 3.34 moveto 3.53 3.41 lineto closepath stroke 3.22 3.31 moveto 3.03 3.43 lineto closepath stroke 3.03 3.43 moveto 3.07 3.66 lineto closepath stroke 3.03 3.43 moveto 2.93 3.60 lineto closepath stroke 3.70 3.45 moveto 3.53 3.41 lineto closepath stroke 3.70 3.45 moveto 3.62 3.69 lineto closepath stroke 3.70 3.45 moveto 3.86 3.52 lineto closepath stroke 3.53 3.41 moveto 3.31 3.56 lineto closepath stroke 3.31 3.56 moveto 3.35 3.82 lineto closepath stroke 3.31 3.56 moveto 3.20 3.75 lineto closepath stroke 4.05 3.56 moveto 3.86 3.52 lineto closepath stroke 4.05 3.56 moveto 3.96 3.85 lineto closepath stroke 4.05 3.56 moveto 4.23 3.64 lineto closepath stroke 3.86 3.52 moveto 3.62 3.69 lineto closepath stroke 3.62 3.69 moveto 3.51 3.89 lineto closepath stroke 3.62 3.69 moveto 3.35 3.82 lineto closepath stroke 4.44 3.68 moveto 4.23 3.64 lineto closepath stroke 4.44 3.68 moveto 4.33 4.01 lineto closepath stroke 4.44 3.68 moveto 4.64 3.77 lineto closepath stroke 4.23 3.64 moveto 3.96 3.85 lineto closepath stroke 3.96 3.85 moveto 3.99 4.19 lineto closepath stroke 3.96 3.85 moveto 3.81 4.11 lineto closepath stroke 4.87 3.82 moveto 4.64 3.77 lineto closepath stroke 4.87 3.82 moveto 4.74 4.19 lineto closepath stroke 4.87 3.82 moveto 5.08 3.91 lineto closepath stroke 4.64 3.77 moveto 4.33 4.01 lineto closepath stroke 4.33 4.01 moveto 4.36 4.40 lineto closepath stroke 4.33 4.01 moveto 4.16 4.31 lineto closepath stroke 5.34 3.97 moveto 5.08 3.91 lineto closepath stroke 5.34 3.97 moveto 5.20 4.40 lineto closepath stroke 5.34 3.97 moveto 5.57 4.07 lineto closepath stroke 5.08 3.91 moveto 4.74 4.19 lineto closepath stroke 4.74 4.19 moveto 4.76 4.63 lineto closepath stroke 4.74 4.19 moveto 4.55 4.54 lineto closepath stroke 5.85 4.13 moveto 5.57 4.07 lineto closepath stroke 5.85 4.13 moveto 5.69 4.62 lineto closepath stroke 5.85 4.13 moveto 6.11 4.25 lineto closepath stroke 5.57 4.07 moveto 5.20 4.40 lineto closepath stroke 5.20 4.40 moveto 5.00 4.74 lineto closepath stroke 5.20 4.40 moveto 4.76 4.63 lineto closepath stroke 6.42 4.31 moveto 6.11 4.25 lineto closepath stroke 6.42 4.31 moveto 6.24 4.86 lineto closepath stroke 6.42 4.31 moveto 6.71 4.44 lineto closepath stroke 6.11 4.25 moveto 5.69 4.62 lineto closepath stroke 5.69 4.62 moveto 5.47 5.12 lineto closepath stroke 5.69 4.62 moveto 5.21 5.00 lineto closepath stroke 7.04 4.51 moveto 6.71 4.44 lineto closepath stroke 7.04 4.51 moveto 6.84 5.24 lineto closepath stroke 7.04 4.51 moveto 7.36 4.77 lineto closepath stroke 6.71 4.44 moveto 6.24 4.86 lineto closepath stroke 6.24 4.86 moveto 5.76 5.24 lineto closepath stroke 6.24 4.86 moveto 5.47 5.12 lineto closepath stroke 9.08 5.50 moveto 8.14 4.93 lineto closepath stroke 8.14 4.93 moveto 7.73 4.85 lineto closepath stroke 7.73 4.85 moveto 7.36 4.77 lineto closepath stroke 7.36 4.77 moveto 6.84 5.24 lineto closepath stroke 6.84 5.24 moveto 5.76 5.24 lineto closepath stroke 6.84 5.24 moveto 6.07 5.50 lineto closepath stroke 11.00 1.84 moveto 10.14 1.84 lineto closepath stroke 10.14 1.84 moveto 10.06 1.03 lineto closepath stroke 10.14 1.84 moveto 9.20 1.94 lineto closepath stroke 2.19 3.15 moveto 2.10 3.11 lineto closepath stroke 2.19 3.15 moveto 2.24 3.28 lineto closepath stroke 2.19 3.15 moveto 2.28 3.21 lineto closepath stroke 2.10 3.11 moveto 2.07 3.16 lineto closepath stroke 2.10 3.11 moveto 2.02 3.05 lineto closepath stroke 2.07 3.16 moveto 2.02 3.05 lineto closepath stroke 2.07 3.16 moveto 2.09 3.28 lineto closepath stroke 2.07 3.16 moveto 2.01 3.22 lineto closepath stroke 2.38 3.26 moveto 2.28 3.21 lineto closepath stroke 2.38 3.26 moveto 2.42 3.42 lineto closepath stroke 2.38 3.26 moveto 2.48 3.33 lineto closepath stroke 2.28 3.21 moveto 2.24 3.28 lineto closepath stroke 2.24 3.28 moveto 2.25 3.43 lineto closepath stroke 2.24 3.28 moveto 2.16 3.36 lineto closepath stroke 2.59 3.38 moveto 2.48 3.33 lineto closepath stroke 2.59 3.38 moveto 2.63 3.57 lineto closepath stroke 2.59 3.38 moveto 2.69 3.46 lineto closepath stroke 2.48 3.33 moveto 2.42 3.42 lineto closepath stroke 2.42 3.42 moveto 2.43 3.59 lineto closepath stroke 2.42 3.42 moveto 2.33 3.52 lineto closepath stroke 2.82 3.51 moveto 2.69 3.46 lineto closepath stroke 2.82 3.51 moveto 2.85 3.73 lineto closepath stroke 2.82 3.51 moveto 2.93 3.60 lineto closepath stroke 2.69 3.46 moveto 2.63 3.57 lineto closepath stroke 2.63 3.57 moveto 2.63 3.77 lineto closepath stroke 2.63 3.57 moveto 2.52 3.69 lineto closepath stroke 3.07 3.66 moveto 2.93 3.60 lineto closepath stroke 3.07 3.66 moveto 3.10 3.92 lineto closepath stroke 3.07 3.66 moveto 3.20 3.75 lineto closepath stroke 2.93 3.60 moveto 2.85 3.73 lineto closepath stroke 2.85 3.73 moveto 2.85 3.96 lineto closepath stroke 2.85 3.73 moveto 2.73 3.88 lineto closepath stroke 3.51 3.89 moveto 3.35 3.82 lineto closepath stroke 3.51 3.89 moveto 3.38 4.11 lineto closepath stroke 3.51 3.89 moveto 3.65 3.99 lineto closepath stroke 3.35 3.82 moveto 3.20 3.75 lineto closepath stroke 3.20 3.75 moveto 3.10 3.92 lineto closepath stroke 3.10 3.92 moveto 3.08 4.18 lineto closepath stroke 3.10 3.92 moveto 2.95 4.08 lineto closepath stroke 3.38 4.11 moveto 3.65 3.99 lineto closepath stroke 3.38 4.11 moveto 3.23 4.28 lineto closepath stroke 3.38 4.11 moveto 3.08 4.18 lineto closepath stroke 3.65 3.99 moveto 3.68 4.33 lineto closepath stroke 3.65 3.99 moveto 3.81 4.11 lineto closepath stroke 3.99 4.19 moveto 3.81 4.11 lineto closepath stroke 3.99 4.19 moveto 4.01 4.57 lineto closepath stroke 3.99 4.19 moveto 4.16 4.31 lineto closepath stroke 3.81 4.11 moveto 3.68 4.33 lineto closepath stroke 3.68 4.33 moveto 3.50 4.53 lineto closepath stroke 3.68 4.33 moveto 3.35 4.41 lineto closepath stroke 4.36 4.40 moveto 4.16 4.31 lineto closepath stroke 4.36 4.40 moveto 4.37 4.84 lineto closepath stroke 4.36 4.40 moveto 4.55 4.54 lineto closepath stroke 4.16 4.31 moveto 4.01 4.57 lineto closepath stroke 4.01 4.57 moveto 3.81 4.80 lineto closepath stroke 4.01 4.57 moveto 3.63 4.67 lineto closepath stroke 4.76 4.63 moveto 4.55 4.54 lineto closepath stroke 4.76 4.63 moveto 5.00 4.74 lineto closepath stroke 4.55 4.54 moveto 4.37 4.84 lineto closepath stroke 4.37 4.84 moveto 4.14 5.24 lineto closepath stroke 4.37 4.84 moveto 3.95 5.10 lineto closepath stroke 5.00 4.74 moveto 4.77 5.24 lineto closepath stroke 5.00 4.74 moveto 5.21 5.00 lineto closepath stroke 5.76 5.24 moveto 5.47 5.12 lineto closepath stroke 5.76 5.24 moveto 6.07 5.50 lineto closepath stroke 5.47 5.12 moveto 5.21 5.00 lineto closepath stroke 5.21 5.00 moveto 4.77 5.24 lineto closepath stroke 4.77 5.24 moveto 4.14 5.24 lineto closepath stroke 4.77 5.24 moveto 4.35 5.50 lineto closepath stroke 2.09 3.28 moveto 2.01 3.22 lineto closepath stroke 2.09 3.28 moveto 2.11 3.43 lineto closepath stroke 2.09 3.28 moveto 2.16 3.36 lineto closepath stroke 2.01 3.22 moveto 1.97 3.27 lineto closepath stroke 2.01 3.22 moveto 1.94 3.15 lineto closepath stroke 1.97 3.27 moveto 1.94 3.15 lineto closepath stroke 1.97 3.27 moveto 1.97 3.39 lineto closepath stroke 1.97 3.27 moveto 1.90 3.32 lineto closepath stroke 2.25 3.43 moveto 2.16 3.36 lineto closepath stroke 2.25 3.43 moveto 2.26 3.60 lineto closepath stroke 2.25 3.43 moveto 2.33 3.52 lineto closepath stroke 2.16 3.36 moveto 2.11 3.43 lineto closepath stroke 2.11 3.43 moveto 2.04 3.48 lineto closepath stroke 2.11 3.43 moveto 1.97 3.39 lineto closepath stroke 2.43 3.59 moveto 2.33 3.52 lineto closepath stroke 2.43 3.59 moveto 2.43 3.79 lineto closepath stroke 2.43 3.59 moveto 2.52 3.69 lineto closepath stroke 2.33 3.52 moveto 2.26 3.60 lineto closepath stroke 2.26 3.60 moveto 2.24 3.77 lineto closepath stroke 2.26 3.60 moveto 2.16 3.68 lineto closepath stroke 2.63 3.77 moveto 2.52 3.69 lineto closepath stroke 2.63 3.77 moveto 2.62 3.99 lineto closepath stroke 2.63 3.77 moveto 2.73 3.88 lineto closepath stroke 2.52 3.69 moveto 2.43 3.79 lineto closepath stroke 2.43 3.79 moveto 2.33 3.86 lineto closepath stroke 2.43 3.79 moveto 2.24 3.77 lineto closepath stroke 2.85 3.96 moveto 2.73 3.88 lineto closepath stroke 2.85 3.96 moveto 2.83 4.22 lineto closepath stroke 2.85 3.96 moveto 2.95 4.08 lineto closepath stroke 2.73 3.88 moveto 2.62 3.99 lineto closepath stroke 2.62 3.99 moveto 2.49 4.09 lineto closepath stroke 2.62 3.99 moveto 2.39 3.98 lineto closepath stroke 3.23 4.28 moveto 3.08 4.18 lineto closepath stroke 3.23 4.28 moveto 3.05 4.47 lineto closepath stroke 3.23 4.28 moveto 3.35 4.41 lineto closepath stroke 3.08 4.18 moveto 2.95 4.08 lineto closepath stroke 2.95 4.08 moveto 2.83 4.22 lineto closepath stroke 2.83 4.22 moveto 2.67 4.33 lineto closepath stroke 2.83 4.22 moveto 2.56 4.22 lineto closepath stroke 3.50 4.53 moveto 3.35 4.41 lineto closepath stroke 3.50 4.53 moveto 3.30 4.75 lineto closepath stroke 3.50 4.53 moveto 3.63 4.67 lineto closepath stroke 3.35 4.41 moveto 3.05 4.47 lineto closepath stroke 3.05 4.47 moveto 2.96 4.76 lineto closepath stroke 3.05 4.47 moveto 2.84 4.63 lineto closepath stroke 3.81 4.80 moveto 3.63 4.67 lineto closepath stroke 3.81 4.80 moveto 3.58 5.20 lineto closepath stroke 3.81 4.80 moveto 3.95 5.10 lineto closepath stroke 3.63 4.67 moveto 3.30 4.75 lineto closepath stroke 3.30 4.75 moveto 3.09 4.90 lineto closepath stroke 3.30 4.75 moveto 2.96 4.76 lineto closepath stroke 4.14 5.24 moveto 3.95 5.10 lineto closepath stroke 4.14 5.24 moveto 4.35 5.50 lineto closepath stroke 3.95 5.10 moveto 3.58 5.20 lineto closepath stroke 3.58 5.20 moveto 3.19 5.20 lineto closepath stroke 3.58 5.20 moveto 3.33 5.50 lineto closepath stroke 1.97 3.39 moveto 1.90 3.32 lineto closepath stroke 1.97 3.39 moveto 2.04 3.48 lineto closepath stroke 1.90 3.32 moveto 1.85 3.36 lineto closepath stroke 1.90 3.32 moveto 1.85 3.23 lineto closepath stroke 1.85 3.36 moveto 1.85 3.23 lineto closepath stroke 1.85 3.36 moveto 1.82 3.48 lineto closepath stroke 1.85 3.36 moveto 1.77 3.39 lineto closepath stroke 2.04 3.48 moveto 1.95 3.54 lineto closepath stroke 2.04 3.48 moveto 2.10 3.57 lineto closepath stroke 1.95 3.54 moveto 2.10 3.57 lineto closepath stroke 1.95 3.54 moveto 1.88 3.57 lineto closepath stroke 1.95 3.54 moveto 1.82 3.48 lineto closepath stroke 2.10 3.57 moveto 2.07 3.74 lineto closepath stroke 2.10 3.57 moveto 2.16 3.68 lineto closepath stroke 2.33 3.86 moveto 2.24 3.77 lineto closepath stroke 2.33 3.86 moveto 2.20 3.96 lineto closepath stroke 2.33 3.86 moveto 2.39 3.98 lineto closepath stroke 2.24 3.77 moveto 2.16 3.68 lineto closepath stroke 2.16 3.68 moveto 2.07 3.74 lineto closepath stroke 2.07 3.74 moveto 1.97 3.78 lineto closepath stroke 2.07 3.74 moveto 1.91 3.68 lineto closepath stroke 2.49 4.09 moveto 2.39 3.98 lineto closepath stroke 2.49 4.09 moveto 2.34 4.20 lineto closepath stroke 2.49 4.09 moveto 2.56 4.22 lineto closepath stroke 2.39 3.98 moveto 2.20 3.96 lineto closepath stroke 2.20 3.96 moveto 2.08 4.01 lineto closepath stroke 2.20 3.96 moveto 2.01 3.90 lineto closepath stroke 2.67 4.33 moveto 2.56 4.22 lineto closepath stroke 2.67 4.33 moveto 2.49 4.47 lineto closepath stroke 2.67 4.33 moveto 2.75 4.47 lineto closepath stroke 2.56 4.22 moveto 2.34 4.20 lineto closepath stroke 2.34 4.20 moveto 2.24 4.40 lineto closepath stroke 2.34 4.20 moveto 2.16 4.28 lineto closepath stroke 2.49 4.47 moveto 2.75 4.47 lineto closepath stroke 2.49 4.47 moveto 2.37 4.70 lineto closepath stroke 2.49 4.47 moveto 2.29 4.56 lineto closepath stroke 2.75 4.47 moveto 2.66 4.76 lineto closepath stroke 2.75 4.47 moveto 2.84 4.63 lineto closepath stroke 3.09 4.90 moveto 2.96 4.76 lineto closepath stroke 3.09 4.90 moveto 3.19 5.20 lineto closepath stroke 3.09 4.90 moveto 2.85 5.21 lineto closepath stroke 2.96 4.76 moveto 2.84 4.63 lineto closepath stroke 2.84 4.63 moveto 2.66 4.76 lineto closepath stroke 2.66 4.76 moveto 2.51 5.02 lineto closepath stroke 2.66 4.76 moveto 2.42 4.87 lineto closepath stroke 3.19 5.20 moveto 2.85 5.21 lineto closepath stroke 3.19 5.20 moveto 3.33 5.50 lineto closepath stroke 2.85 5.21 moveto 2.61 5.31 lineto closepath stroke 2.85 5.21 moveto 2.51 5.02 lineto closepath stroke 10.06 1.03 moveto 9.20 1.94 lineto closepath stroke 10.06 1.03 moveto 11.00 0.47 lineto closepath stroke 10.06 1.03 moveto 10.06 0.57 lineto closepath stroke 9.20 1.94 moveto 8.79 1.94 lineto closepath stroke 11.00 0.47 moveto 10.06 0.57 lineto closepath stroke 10.06 0.57 moveto 8.14 0.57 lineto closepath stroke 10.06 0.57 moveto 9.08 0.00 lineto closepath stroke 8.79 1.94 moveto 8.71 1.22 lineto closepath stroke 8.79 1.94 moveto 8.38 2.03 lineto closepath stroke 1.82 3.48 moveto 1.77 3.39 lineto closepath stroke 1.82 3.48 moveto 1.88 3.57 lineto closepath stroke 1.77 3.39 moveto 1.72 3.42 lineto closepath stroke 1.77 3.39 moveto 1.74 3.30 lineto closepath stroke 1.72 3.42 moveto 1.74 3.30 lineto closepath stroke 1.72 3.42 moveto 1.65 3.43 lineto closepath stroke 1.72 3.42 moveto 1.62 3.33 lineto closepath stroke 1.88 3.57 moveto 1.78 3.62 lineto closepath stroke 1.88 3.57 moveto 1.91 3.68 lineto closepath stroke 1.97 3.78 moveto 1.91 3.68 lineto closepath stroke 1.97 3.78 moveto 1.85 3.84 lineto closepath stroke 1.97 3.78 moveto 2.01 3.90 lineto closepath stroke 1.91 3.68 moveto 1.78 3.62 lineto closepath stroke 1.78 3.62 moveto 1.70 3.63 lineto closepath stroke 1.78 3.62 moveto 1.67 3.53 lineto closepath stroke 2.08 4.01 moveto 2.01 3.90 lineto closepath stroke 2.08 4.01 moveto 1.93 4.08 lineto closepath stroke 2.08 4.01 moveto 2.12 4.14 lineto closepath stroke 2.01 3.90 moveto 1.85 3.84 lineto closepath stroke 1.85 3.84 moveto 1.75 3.86 lineto closepath stroke 1.85 3.84 moveto 1.71 3.74 lineto closepath stroke 1.93 4.08 moveto 2.12 4.14 lineto closepath stroke 1.93 4.08 moveto 1.82 4.24 lineto closepath stroke 1.93 4.08 moveto 1.77 4.11 lineto closepath stroke 2.12 4.14 moveto 2.02 4.34 lineto closepath stroke 2.12 4.14 moveto 2.16 4.28 lineto closepath stroke 2.24 4.40 moveto 2.16 4.28 lineto closepath stroke 2.24 4.40 moveto 2.11 4.64 lineto closepath stroke 2.24 4.40 moveto 2.29 4.56 lineto closepath stroke 2.16 4.28 moveto 2.02 4.34 lineto closepath stroke 2.02 4.34 moveto 1.88 4.52 lineto closepath stroke 2.02 4.34 moveto 1.83 4.38 lineto closepath stroke 2.37 4.70 moveto 2.29 4.56 lineto closepath stroke 2.37 4.70 moveto 2.22 4.96 lineto closepath stroke 2.37 4.70 moveto 2.42 4.87 lineto closepath stroke 2.29 4.56 moveto 2.11 4.64 lineto closepath stroke 2.11 4.64 moveto 1.94 4.83 lineto closepath stroke 2.11 4.64 moveto 1.89 4.68 lineto closepath stroke 2.61 5.31 moveto 2.51 5.02 lineto closepath stroke 2.61 5.31 moveto 2.61 5.50 lineto closepath stroke 2.61 5.31 moveto 2.27 5.31 lineto closepath stroke 2.51 5.02 moveto 2.42 4.87 lineto closepath stroke 2.42 4.87 moveto 2.22 4.96 lineto closepath stroke 2.22 4.96 moveto 2.00 5.00 lineto closepath stroke 2.22 4.96 moveto 1.94 4.83 lineto closepath stroke 2.61 5.50 moveto 2.27 5.31 lineto closepath stroke 2.27 5.31 moveto 2.02 5.50 lineto closepath stroke 2.27 5.31 moveto 2.02 5.31 lineto closepath stroke 1.65 3.43 moveto 1.62 3.33 lineto closepath stroke 1.65 3.43 moveto 1.57 3.45 lineto closepath stroke 1.65 3.43 moveto 1.67 3.53 lineto closepath stroke 1.70 3.63 moveto 1.67 3.53 lineto closepath stroke 1.70 3.63 moveto 1.60 3.66 lineto closepath stroke 1.70 3.63 moveto 1.71 3.74 lineto closepath stroke 1.67 3.53 moveto 1.57 3.45 lineto closepath stroke 1.57 3.45 moveto 1.50 3.55 lineto closepath stroke 1.57 3.45 moveto 1.49 3.45 lineto closepath stroke 1.75 3.86 moveto 1.71 3.74 lineto closepath stroke 1.75 3.86 moveto 1.62 3.88 lineto closepath stroke 1.75 3.86 moveto 1.76 3.98 lineto closepath stroke 1.71 3.74 moveto 1.60 3.66 lineto closepath stroke 1.60 3.66 moveto 1.50 3.76 lineto closepath stroke 1.60 3.66 moveto 1.49 3.66 lineto closepath stroke 1.62 3.88 moveto 1.76 3.98 lineto closepath stroke 1.62 3.88 moveto 1.50 4.01 lineto closepath stroke 1.62 3.88 moveto 1.49 3.88 lineto closepath stroke 1.76 3.98 moveto 1.65 4.14 lineto closepath stroke 1.76 3.98 moveto 1.77 4.11 lineto closepath stroke 1.82 4.24 moveto 1.77 4.11 lineto closepath stroke 1.82 4.24 moveto 1.68 4.42 lineto closepath stroke 1.82 4.24 moveto 1.83 4.38 lineto closepath stroke 1.77 4.11 moveto 1.65 4.14 lineto closepath stroke 1.65 4.14 moveto 1.50 4.27 lineto closepath stroke 1.65 4.14 moveto 1.49 4.14 lineto closepath stroke 1.88 4.52 moveto 1.83 4.38 lineto closepath stroke 1.88 4.52 moveto 1.71 4.72 lineto closepath stroke 1.88 4.52 moveto 1.89 4.68 lineto closepath stroke 1.83 4.38 moveto 1.68 4.42 lineto closepath stroke 1.68 4.42 moveto 1.52 4.42 lineto closepath stroke 1.68 4.42 moveto 1.50 4.27 lineto closepath stroke 2.00 5.00 moveto 1.94 4.83 lineto closepath stroke 2.00 5.00 moveto 1.74 5.19 lineto closepath stroke 2.00 5.00 moveto 2.02 5.31 lineto closepath stroke 1.94 4.83 moveto 1.89 4.68 lineto closepath stroke 1.89 4.68 moveto 1.71 4.72 lineto closepath stroke 1.71 4.72 moveto 1.52 4.72 lineto closepath stroke 1.71 4.72 moveto 1.50 4.56 lineto closepath stroke 2.02 5.50 moveto 2.02 5.31 lineto closepath stroke 2.02 5.31 moveto 1.74 5.19 lineto closepath stroke 1.74 5.19 moveto 1.52 5.19 lineto closepath stroke 1.74 5.19 moveto 1.50 4.88 lineto closepath stroke 8.71 1.22 moveto 8.38 2.03 lineto closepath stroke 8.71 1.22 moveto 7.73 0.65 lineto closepath stroke 8.71 1.22 moveto 8.14 0.57 lineto closepath stroke 8.38 2.03 moveto 8.00 2.03 lineto closepath stroke 1.50 3.55 moveto 1.49 3.45 lineto closepath stroke 1.50 3.55 moveto 1.40 3.66 lineto closepath stroke 1.50 3.55 moveto 1.49 3.66 lineto closepath stroke 1.49 3.45 moveto 1.43 3.45 lineto closepath stroke 1.49 3.45 moveto 1.50 3.35 lineto closepath stroke 1.43 3.45 moveto 1.50 3.35 lineto closepath stroke 1.43 3.45 moveto 1.37 3.43 lineto closepath stroke 1.43 3.45 moveto 1.38 3.33 lineto closepath stroke 1.50 3.76 moveto 1.49 3.66 lineto closepath stroke 1.50 3.76 moveto 1.38 3.88 lineto closepath stroke 1.50 3.76 moveto 1.49 3.88 lineto closepath stroke 1.49 3.66 moveto 1.40 3.66 lineto closepath stroke 1.40 3.66 moveto 1.32 3.64 lineto closepath stroke 1.40 3.66 moveto 1.33 3.53 lineto closepath stroke 1.50 4.01 moveto 1.49 3.88 lineto closepath stroke 1.50 4.01 moveto 1.35 4.14 lineto closepath stroke 1.50 4.01 moveto 1.49 4.14 lineto closepath stroke 1.49 3.88 moveto 1.38 3.88 lineto closepath stroke 1.38 3.88 moveto 1.28 3.86 lineto closepath stroke 1.38 3.88 moveto 1.29 3.74 lineto closepath stroke 1.52 4.42 moveto 1.50 4.27 lineto closepath stroke 1.52 4.42 moveto 1.32 4.42 lineto closepath stroke 1.52 4.42 moveto 1.50 4.56 lineto closepath stroke 1.50 4.27 moveto 1.49 4.14 lineto closepath stroke 1.49 4.14 moveto 1.35 4.14 lineto closepath stroke 1.35 4.14 moveto 1.23 4.11 lineto closepath stroke 1.35 4.14 moveto 1.24 3.98 lineto closepath stroke 1.52 4.72 moveto 1.50 4.56 lineto closepath stroke 1.52 4.72 moveto 1.29 4.72 lineto closepath stroke 1.52 4.72 moveto 1.50 4.88 lineto closepath stroke 1.50 4.56 moveto 1.32 4.42 lineto closepath stroke 1.32 4.42 moveto 1.17 4.38 lineto closepath stroke 1.32 4.42 moveto 1.18 4.24 lineto closepath stroke 1.52 5.19 moveto 1.50 4.88 lineto closepath stroke 1.52 5.19 moveto 1.50 5.50 lineto closepath stroke 1.52 5.19 moveto 1.26 5.19 lineto closepath stroke 1.50 4.88 moveto 1.29 4.72 lineto closepath stroke 1.29 4.72 moveto 1.06 4.83 lineto closepath stroke 1.29 4.72 moveto 1.07 4.67 lineto closepath stroke 1.50 5.50 moveto 1.26 5.19 lineto closepath stroke 1.26 5.19 moveto 0.98 5.31 lineto closepath stroke 1.26 5.19 moveto 1.00 5.00 lineto closepath stroke 1.37 3.43 moveto 1.38 3.33 lineto closepath stroke 1.37 3.43 moveto 1.28 3.42 lineto closepath stroke 1.37 3.43 moveto 1.33 3.53 lineto closepath stroke 1.32 3.64 moveto 1.33 3.53 lineto closepath stroke 1.32 3.64 moveto 1.22 3.62 lineto closepath stroke 1.32 3.64 moveto 1.29 3.74 lineto closepath stroke 1.33 3.53 moveto 1.28 3.42 lineto closepath stroke 1.28 3.42 moveto 1.18 3.48 lineto closepath stroke 1.28 3.42 moveto 1.21 3.38 lineto closepath stroke 1.28 3.86 moveto 1.29 3.74 lineto closepath stroke 1.28 3.86 moveto 1.15 3.84 lineto closepath stroke 1.28 3.86 moveto 1.24 3.98 lineto closepath stroke 1.29 3.74 moveto 1.22 3.62 lineto closepath stroke 1.22 3.62 moveto 1.09 3.68 lineto closepath stroke 1.22 3.62 moveto 1.12 3.57 lineto closepath stroke 1.23 4.11 moveto 1.24 3.98 lineto closepath stroke 1.23 4.11 moveto 1.07 4.08 lineto closepath stroke 1.23 4.11 moveto 1.18 4.24 lineto closepath stroke 1.24 3.98 moveto 1.15 3.84 lineto closepath stroke 1.15 3.84 moveto 0.99 3.90 lineto closepath stroke 1.15 3.84 moveto 1.03 3.78 lineto closepath stroke 1.17 4.38 moveto 1.18 4.24 lineto closepath stroke 1.17 4.38 moveto 0.98 4.34 lineto closepath stroke 1.17 4.38 moveto 1.12 4.52 lineto closepath stroke 1.18 4.24 moveto 1.07 4.08 lineto closepath stroke 1.07 4.08 moveto 0.88 4.14 lineto closepath stroke 1.07 4.08 moveto 0.92 4.01 lineto closepath stroke 0.98 4.34 moveto 1.12 4.52 lineto closepath stroke 0.98 4.34 moveto 0.76 4.40 lineto closepath stroke 0.98 4.34 moveto 0.81 4.27 lineto closepath stroke 1.12 4.52 moveto 0.89 4.64 lineto closepath stroke 1.12 4.52 moveto 1.07 4.67 lineto closepath stroke 1.06 4.83 moveto 1.07 4.67 lineto closepath stroke 1.06 4.83 moveto 0.78 4.96 lineto closepath stroke 1.06 4.83 moveto 1.00 5.00 lineto closepath stroke 1.07 4.67 moveto 0.89 4.64 lineto closepath stroke 0.89 4.64 moveto 0.71 4.56 lineto closepath stroke 0.89 4.64 moveto 0.76 4.40 lineto closepath stroke 0.98 5.31 moveto 1.00 5.00 lineto closepath stroke 0.98 5.31 moveto 0.98 5.50 lineto closepath stroke 0.98 5.31 moveto 0.73 5.31 lineto closepath stroke 1.00 5.00 moveto 0.78 4.96 lineto closepath stroke 0.78 4.96 moveto 0.58 4.87 lineto closepath stroke 0.78 4.96 moveto 0.63 4.70 lineto closepath stroke 0.98 5.50 moveto 0.73 5.31 lineto closepath stroke 0.73 5.31 moveto 0.36 5.50 lineto closepath stroke 0.73 5.31 moveto 0.36 5.31 lineto closepath stroke 0.36 5.50 moveto 0.36 5.31 lineto closepath stroke 0.36 5.31 moveto 0.49 5.02 lineto closepath stroke 0.36 5.31 moveto 0.13 5.21 lineto closepath stroke 7.73 0.65 moveto 8.14 0.57 lineto closepath stroke 7.73 0.65 moveto 7.36 0.73 lineto closepath stroke 7.73 0.65 moveto 7.93 1.38 lineto closepath stroke 8.14 0.57 moveto 9.08 0.00 lineto closepath stroke 1.18 3.48 moveto 1.21 3.38 lineto closepath stroke 1.18 3.48 moveto 1.04 3.54 lineto closepath stroke 1.18 3.48 moveto 1.12 3.57 lineto closepath stroke 1.21 3.38 moveto 1.15 3.36 lineto closepath stroke 1.21 3.38 moveto 1.26 3.30 lineto closepath stroke 1.15 3.36 moveto 1.26 3.30 lineto closepath stroke 1.15 3.36 moveto 1.10 3.32 lineto closepath stroke 1.15 3.36 moveto 1.15 3.23 lineto closepath stroke 1.09 3.68 moveto 1.12 3.57 lineto closepath stroke 1.09 3.68 moveto 0.93 3.74 lineto closepath stroke 1.09 3.68 moveto 1.03 3.78 lineto closepath stroke 1.12 3.57 moveto 1.04 3.54 lineto closepath stroke 1.04 3.54 moveto 0.98 3.49 lineto closepath stroke 1.04 3.54 moveto 1.03 3.39 lineto closepath stroke 0.99 3.90 moveto 1.03 3.78 lineto closepath stroke 0.99 3.90 moveto 0.80 3.96 lineto closepath stroke 0.99 3.90 moveto 0.92 4.01 lineto closepath stroke 1.03 3.78 moveto 0.93 3.74 lineto closepath stroke 0.93 3.74 moveto 0.76 3.77 lineto closepath stroke 0.93 3.74 moveto 0.82 3.66 lineto closepath stroke 0.88 4.14 moveto 0.92 4.01 lineto closepath stroke 0.88 4.14 moveto 0.66 4.20 lineto closepath stroke 0.88 4.14 moveto 0.81 4.27 lineto closepath stroke 0.92 4.01 moveto 0.80 3.96 lineto closepath stroke 0.80 3.96 moveto 0.61 3.98 lineto closepath stroke 0.80 3.96 moveto 0.67 3.86 lineto closepath stroke 0.71 4.56 moveto 0.76 4.40 lineto closepath stroke 0.71 4.56 moveto 0.51 4.47 lineto closepath stroke 0.71 4.56 moveto 0.63 4.70 lineto closepath stroke 0.76 4.40 moveto 0.81 4.27 lineto closepath stroke 0.81 4.27 moveto 0.66 4.20 lineto closepath stroke 0.66 4.20 moveto 0.44 4.22 lineto closepath stroke 0.66 4.20 moveto 0.51 4.09 lineto closepath stroke 0.58 4.87 moveto 0.63 4.70 lineto closepath stroke 0.58 4.87 moveto 0.49 5.02 lineto closepath stroke 0.58 4.87 moveto 0.34 4.76 lineto closepath stroke 0.63 4.70 moveto 0.51 4.47 lineto closepath stroke 0.51 4.47 moveto 0.35 4.35 lineto closepath stroke 0.51 4.47 moveto 0.44 4.22 lineto closepath stroke 0.49 5.02 moveto 0.34 4.76 lineto closepath stroke 0.49 5.02 moveto 0.13 5.21 lineto closepath stroke 0.34 4.76 moveto 0.13 4.91 lineto closepath stroke 0.34 4.76 moveto 0.21 4.76 lineto closepath stroke 0.13 5.21 moveto 0.00 5.21 lineto closepath stroke 0.13 5.21 moveto 0.13 4.91 lineto closepath stroke 0.13 4.91 moveto 0.21 4.76 lineto closepath stroke 0.13 4.91 moveto 0.00 5.21 lineto closepath stroke 0.21 4.76 moveto 0.21 4.47 lineto closepath stroke 0.21 4.76 moveto 0.00 4.63 lineto closepath stroke 1.10 3.32 moveto 1.15 3.23 lineto closepath stroke 1.10 3.32 moveto 1.03 3.27 lineto closepath stroke 1.10 3.32 moveto 1.03 3.39 lineto closepath stroke 0.98 3.49 moveto 1.03 3.39 lineto closepath stroke 0.98 3.49 moveto 0.89 3.43 lineto closepath stroke 0.98 3.49 moveto 0.90 3.57 lineto closepath stroke 1.03 3.39 moveto 1.03 3.27 lineto closepath stroke 1.03 3.27 moveto 0.91 3.28 lineto closepath stroke 1.03 3.27 moveto 0.98 3.21 lineto closepath stroke 0.89 3.43 moveto 0.90 3.57 lineto closepath stroke 0.89 3.43 moveto 0.75 3.43 lineto closepath stroke 0.89 3.43 moveto 0.82 3.35 lineto closepath stroke 0.90 3.57 moveto 0.74 3.60 lineto closepath stroke 0.90 3.57 moveto 0.82 3.66 lineto closepath stroke 0.76 3.77 moveto 0.82 3.66 lineto closepath stroke 0.76 3.77 moveto 0.57 3.79 lineto closepath stroke 0.76 3.77 moveto 0.67 3.86 lineto closepath stroke 0.82 3.66 moveto 0.74 3.60 lineto closepath stroke 0.74 3.60 moveto 0.57 3.59 lineto closepath stroke 0.74 3.60 moveto 0.65 3.50 lineto closepath stroke 0.61 3.98 moveto 0.67 3.86 lineto closepath stroke 0.61 3.98 moveto 0.38 3.99 lineto closepath stroke 0.61 3.98 moveto 0.51 4.09 lineto closepath stroke 0.67 3.86 moveto 0.57 3.79 lineto closepath stroke 0.57 3.79 moveto 0.48 3.69 lineto closepath stroke 0.57 3.79 moveto 0.57 3.59 lineto closepath stroke 0.35 4.35 moveto 0.44 4.22 lineto closepath stroke 0.35 4.35 moveto 0.21 4.47 lineto closepath stroke 0.35 4.35 moveto 0.14 4.22 lineto closepath stroke 0.44 4.22 moveto 0.51 4.09 lineto closepath stroke 0.51 4.09 moveto 0.38 3.99 lineto closepath stroke 0.38 3.99 moveto 0.27 3.88 lineto closepath stroke 0.38 3.99 moveto 0.37 3.77 lineto closepath stroke 0.21 4.47 moveto 0.14 4.22 lineto closepath stroke 0.21 4.47 moveto 0.00 4.63 lineto closepath stroke 0.14 4.22 moveto 0.14 3.88 lineto closepath stroke 0.14 4.22 moveto 0.00 4.00 lineto closepath stroke 8.00 2.03 moveto 7.93 1.38 lineto closepath stroke 8.00 2.03 moveto 7.63 2.11 lineto closepath stroke 0.91 3.28 moveto 0.98 3.21 lineto closepath stroke 0.91 3.28 moveto 0.76 3.28 lineto closepath stroke 0.91 3.28 moveto 0.82 3.35 lineto closepath stroke 0.98 3.21 moveto 0.93 3.16 lineto closepath stroke 0.98 3.21 moveto 1.06 3.15 lineto closepath stroke 0.93 3.16 moveto 1.06 3.15 lineto closepath stroke 0.93 3.16 moveto 0.90 3.11 lineto closepath stroke 0.93 3.16 moveto 0.98 3.05 lineto closepath stroke 0.75 3.43 moveto 0.82 3.35 lineto closepath stroke 0.75 3.43 moveto 0.58 3.42 lineto closepath stroke 0.75 3.43 moveto 0.65 3.50 lineto closepath stroke 0.82 3.35 moveto 0.76 3.28 lineto closepath stroke 0.76 3.28 moveto 0.72 3.21 lineto closepath stroke 0.76 3.28 moveto 0.81 3.15 lineto closepath stroke 0.48 3.69 moveto 0.57 3.59 lineto closepath stroke 0.48 3.69 moveto 0.37 3.57 lineto closepath stroke 0.48 3.69 moveto 0.37 3.77 lineto closepath stroke 0.57 3.59 moveto 0.65 3.50 lineto closepath stroke 0.65 3.50 moveto 0.58 3.42 lineto closepath stroke 0.58 3.42 moveto 0.52 3.33 lineto closepath stroke 0.58 3.42 moveto 0.62 3.26 lineto closepath stroke 0.27 3.88 moveto 0.37 3.77 lineto closepath stroke 0.27 3.88 moveto 0.14 3.88 lineto closepath stroke 0.27 3.88 moveto 0.13 3.65 lineto closepath stroke 0.37 3.77 moveto 0.37 3.57 lineto closepath stroke 0.37 3.57 moveto 0.31 3.46 lineto closepath stroke 0.37 3.57 moveto 0.41 3.38 lineto closepath stroke 0.14 3.88 moveto 0.13 3.65 lineto closepath stroke 0.14 3.88 moveto 0.00 4.00 lineto closepath stroke 0.13 3.65 moveto 0.13 3.51 lineto closepath stroke 0.13 3.65 moveto 0.00 3.51 lineto closepath stroke 7.93 1.38 moveto 7.63 2.11 lineto closepath stroke 7.93 1.38 moveto 7.36 0.73 lineto closepath stroke 7.63 2.11 moveto 7.22 1.53 lineto closepath stroke 7.63 2.11 moveto 7.29 2.18 lineto closepath stroke 0.90 3.11 moveto 0.98 3.05 lineto closepath stroke 0.90 3.11 moveto 0.86 3.03 lineto closepath stroke 0.90 3.11 moveto 0.81 3.15 lineto closepath stroke 0.72 3.21 moveto 0.81 3.15 lineto closepath stroke 0.72 3.21 moveto 0.67 3.12 lineto closepath stroke 0.72 3.21 moveto 0.62 3.26 lineto closepath stroke 0.81 3.15 moveto 0.86 3.03 lineto closepath stroke 0.86 3.03 moveto 0.74 3.00 lineto closepath stroke 0.86 3.03 moveto 0.83 2.96 lineto closepath stroke 0.52 3.33 moveto 0.62 3.26 lineto closepath stroke 0.52 3.33 moveto 0.41 3.38 lineto closepath stroke 0.52 3.33 moveto 0.46 3.21 lineto closepath stroke 0.62 3.26 moveto 0.67 3.12 lineto closepath stroke 0.67 3.12 moveto 0.64 3.04 lineto closepath stroke 0.67 3.12 moveto 0.74 3.00 lineto closepath stroke 0.31 3.46 moveto 0.41 3.38 lineto closepath stroke 0.31 3.46 moveto 0.13 3.51 lineto closepath stroke 0.31 3.46 moveto 0.17 3.32 lineto closepath stroke 0.41 3.38 moveto 0.46 3.21 lineto closepath stroke 0.46 3.21 moveto 0.31 3.14 lineto closepath stroke 0.46 3.21 moveto 0.42 3.09 lineto closepath stroke 0.13 3.51 moveto 0.17 3.32 lineto closepath stroke 0.13 3.51 moveto 0.00 3.51 lineto closepath stroke 0.17 3.32 moveto 0.13 3.19 lineto closepath stroke 0.17 3.32 moveto 0.31 3.14 lineto closepath stroke 0.74 3.00 moveto 0.83 2.96 lineto closepath stroke 0.74 3.00 moveto 0.64 3.04 lineto closepath stroke 0.83 2.96 moveto 0.82 2.90 lineto closepath stroke 0.83 2.96 moveto 0.93 2.93 lineto closepath stroke 0.82 2.90 moveto 0.93 2.93 lineto closepath stroke 0.82 2.90 moveto 0.81 2.83 lineto closepath stroke 0.82 2.90 moveto 0.91 2.81 lineto closepath stroke 0.64 3.04 moveto 0.61 2.94 lineto closepath stroke 0.64 3.04 moveto 0.54 3.06 lineto closepath stroke 0.61 2.94 moveto 0.54 3.06 lineto closepath stroke 0.61 2.94 moveto 0.60 2.86 lineto closepath stroke 0.61 2.94 moveto 0.71 2.83 lineto closepath stroke 0.54 3.06 moveto 0.38 2.99 lineto closepath stroke 0.54 3.06 moveto 0.42 3.09 lineto closepath stroke 0.13 3.19 moveto 0.31 3.14 lineto closepath stroke 0.13 3.19 moveto 0.00 3.19 lineto closepath stroke 0.13 3.19 moveto 0.13 3.01 lineto closepath stroke 0.31 3.14 moveto 0.42 3.09 lineto closepath stroke 0.42 3.09 moveto 0.38 2.99 lineto closepath stroke 0.38 2.99 moveto 0.37 2.88 lineto closepath stroke 0.38 2.99 moveto 0.49 2.86 lineto closepath stroke 0.00 3.19 moveto 0.13 3.01 lineto closepath stroke 0.13 3.01 moveto 0.13 2.88 lineto closepath stroke 0.13 3.01 moveto 0.00 2.88 lineto closepath stroke 0.81 2.83 moveto 0.91 2.81 lineto closepath stroke 0.81 2.83 moveto 0.80 2.75 lineto closepath stroke 0.81 2.83 moveto 0.71 2.83 lineto closepath stroke 0.60 2.86 moveto 0.71 2.83 lineto closepath stroke 0.60 2.86 moveto 0.59 2.75 lineto closepath stroke 0.60 2.86 moveto 0.49 2.86 lineto closepath stroke 0.71 2.83 moveto 0.80 2.75 lineto closepath stroke 0.80 2.75 moveto 0.81 2.69 lineto closepath stroke 0.80 2.75 moveto 0.91 2.69 lineto closepath stroke 0.37 2.88 moveto 0.49 2.86 lineto closepath stroke 0.37 2.88 moveto 0.13 2.88 lineto closepath stroke 0.37 2.88 moveto 0.24 2.75 lineto closepath stroke 0.49 2.86 moveto 0.59 2.75 lineto closepath stroke 0.59 2.75 moveto 0.60 2.67 lineto closepath stroke 0.59 2.75 moveto 0.71 2.67 lineto closepath stroke 0.13 2.88 moveto 0.24 2.75 lineto closepath stroke 0.13 2.88 moveto 0.00 2.88 lineto closepath stroke 0.24 2.75 moveto 0.13 2.62 lineto closepath stroke 0.24 2.75 moveto 0.37 2.62 lineto closepath stroke 7.36 0.73 moveto 6.84 0.26 lineto closepath stroke 7.36 0.73 moveto 7.04 0.99 lineto closepath stroke 7.22 1.53 moveto 7.29 2.18 lineto closepath stroke 7.22 1.53 moveto 7.04 0.99 lineto closepath stroke 7.22 1.53 moveto 6.71 1.06 lineto closepath stroke 7.29 2.18 moveto 6.94 2.18 lineto closepath stroke 7.04 0.99 moveto 6.71 1.06 lineto closepath stroke 7.04 0.99 moveto 6.84 0.26 lineto closepath stroke 6.71 1.06 moveto 6.24 0.64 lineto closepath stroke 6.71 1.06 moveto 6.42 1.19 lineto closepath stroke 0.81 2.69 moveto 0.91 2.69 lineto closepath stroke 0.81 2.69 moveto 0.82 2.60 lineto closepath stroke 0.81 2.69 moveto 0.71 2.67 lineto closepath stroke 0.60 2.67 moveto 0.71 2.67 lineto closepath stroke 0.60 2.67 moveto 0.61 2.56 lineto closepath stroke 0.60 2.67 moveto 0.49 2.64 lineto closepath stroke 0.71 2.67 moveto 0.82 2.60 lineto closepath stroke 0.82 2.60 moveto 0.83 2.54 lineto closepath stroke 0.82 2.60 moveto 0.93 2.57 lineto closepath stroke 0.61 2.56 moveto 0.49 2.64 lineto closepath stroke 0.61 2.56 moveto 0.54 2.44 lineto closepath stroke 0.61 2.56 moveto 0.64 2.46 lineto closepath stroke 0.49 2.64 moveto 0.38 2.51 lineto closepath stroke 0.49 2.64 moveto 0.37 2.62 lineto closepath stroke 0.13 2.62 moveto 0.37 2.62 lineto closepath stroke 0.13 2.62 moveto 0.00 2.62 lineto closepath stroke 0.13 2.62 moveto 0.13 2.49 lineto closepath stroke 0.37 2.62 moveto 0.38 2.51 lineto closepath stroke 0.38 2.51 moveto 0.31 2.36 lineto closepath stroke 0.38 2.51 moveto 0.42 2.39 lineto closepath stroke 0.00 2.62 moveto 0.13 2.49 lineto closepath stroke 0.13 2.49 moveto 0.00 2.31 lineto closepath stroke 0.13 2.49 moveto 0.13 2.31 lineto closepath stroke 0.83 2.54 moveto 0.93 2.57 lineto closepath stroke 0.83 2.54 moveto 0.86 2.47 lineto closepath stroke 0.83 2.54 moveto 0.74 2.50 lineto closepath stroke 0.86 2.47 moveto 0.74 2.50 lineto closepath stroke 0.86 2.47 moveto 0.89 2.41 lineto closepath stroke 0.86 2.47 moveto 0.98 2.45 lineto closepath stroke 0.74 2.50 moveto 0.67 2.38 lineto closepath stroke 0.74 2.50 moveto 0.64 2.46 lineto closepath stroke 0.54 2.44 moveto 0.64 2.46 lineto closepath stroke 0.54 2.44 moveto 0.46 2.29 lineto closepath stroke 0.54 2.44 moveto 0.42 2.39 lineto closepath stroke 0.64 2.46 moveto 0.67 2.38 lineto closepath stroke 0.67 2.38 moveto 0.71 2.31 lineto closepath stroke 0.67 2.38 moveto 0.81 2.35 lineto closepath stroke 0.31 2.36 moveto 0.42 2.39 lineto closepath stroke 0.31 2.36 moveto 0.17 2.18 lineto closepath stroke 0.31 2.36 moveto 0.13 2.31 lineto closepath stroke 0.42 2.39 moveto 0.46 2.29 lineto closepath stroke 0.46 2.29 moveto 0.51 2.19 lineto closepath stroke 0.46 2.29 moveto 0.62 2.24 lineto closepath stroke 0.00 2.31 moveto 0.13 2.31 lineto closepath stroke 0.13 2.31 moveto 0.17 2.18 lineto closepath stroke 0.17 2.18 moveto 0.13 1.99 lineto closepath stroke 0.17 2.18 moveto 0.31 2.04 lineto closepath stroke 0.89 2.41 moveto 0.98 2.45 lineto closepath stroke 0.89 2.41 moveto 0.93 2.34 lineto closepath stroke 0.89 2.41 moveto 0.81 2.35 lineto closepath stroke 0.71 2.31 moveto 0.81 2.35 lineto closepath stroke 0.71 2.31 moveto 0.76 2.22 lineto closepath stroke 0.71 2.31 moveto 0.62 2.24 lineto closepath stroke 0.81 2.35 moveto 0.93 2.34 lineto closepath stroke 0.93 2.34 moveto 0.99 2.28 lineto closepath stroke 0.93 2.34 moveto 0.91 2.22 lineto closepath stroke 0.51 2.19 moveto 0.62 2.24 lineto closepath stroke 0.51 2.19 moveto 0.58 2.08 lineto closepath stroke 0.51 2.19 moveto 0.41 2.12 lineto closepath stroke 0.62 2.24 moveto 0.76 2.22 lineto closepath stroke 0.76 2.22 moveto 0.75 2.07 lineto closepath stroke 0.76 2.22 moveto 0.84 2.14 lineto closepath stroke 0.58 2.08 moveto 0.41 2.12 lineto closepath stroke 0.58 2.08 moveto 0.57 1.91 lineto closepath stroke 0.58 2.08 moveto 0.67 1.98 lineto closepath stroke 0.41 2.12 moveto 0.37 1.93 lineto closepath stroke 0.41 2.12 moveto 0.31 2.04 lineto closepath stroke 0.13 1.99 moveto 0.31 2.04 lineto closepath stroke 0.13 1.99 moveto 0.00 1.99 lineto closepath stroke 0.13 1.99 moveto 0.13 1.85 lineto closepath stroke 0.31 2.04 moveto 0.37 1.93 lineto closepath stroke 0.37 1.93 moveto 0.37 1.73 lineto closepath stroke 0.37 1.93 moveto 0.48 1.81 lineto closepath stroke 0.00 1.99 moveto 0.13 1.85 lineto closepath stroke 0.13 1.85 moveto 0.14 1.62 lineto closepath stroke 0.13 1.85 moveto 0.27 1.62 lineto closepath stroke 6.84 0.26 moveto 5.76 0.26 lineto closepath stroke 6.84 0.26 moveto 6.07 0.00 lineto closepath stroke 6.58 1.67 moveto 6.42 1.19 lineto closepath stroke 6.58 1.67 moveto 6.11 1.25 lineto closepath stroke 6.58 1.67 moveto 6.94 2.18 lineto closepath stroke 6.58 1.67 moveto 6.64 2.24 lineto closepath stroke 6.42 1.19 moveto 6.11 1.25 lineto closepath stroke 6.42 1.19 moveto 6.24 0.64 lineto closepath stroke 6.11 1.25 moveto 5.69 0.88 lineto closepath stroke 6.11 1.25 moveto 5.85 1.37 lineto closepath stroke 6.24 0.64 moveto 5.47 0.38 lineto closepath stroke 6.24 0.64 moveto 5.76 0.26 lineto closepath stroke 0.99 2.28 moveto 0.91 2.22 lineto closepath stroke 0.99 2.28 moveto 1.06 2.35 lineto closepath stroke 0.99 2.28 moveto 1.03 2.23 lineto closepath stroke 0.91 2.22 moveto 0.89 2.07 lineto closepath stroke 0.91 2.22 moveto 0.84 2.14 lineto closepath stroke 1.06 2.35 moveto 1.03 2.23 lineto closepath stroke 1.03 2.23 moveto 1.15 2.27 lineto closepath stroke 1.03 2.23 moveto 1.08 2.19 lineto closepath stroke 0.75 2.07 moveto 0.84 2.14 lineto closepath stroke 0.75 2.07 moveto 0.74 1.90 lineto closepath stroke 0.75 2.07 moveto 0.67 1.98 lineto closepath stroke 0.84 2.14 moveto 0.89 2.07 lineto closepath stroke 0.89 2.07 moveto 1.03 2.11 lineto closepath stroke 0.89 2.07 moveto 0.96 2.02 lineto closepath stroke 0.57 1.91 moveto 0.67 1.98 lineto closepath stroke 0.57 1.91 moveto 0.57 1.71 lineto closepath stroke 0.57 1.91 moveto 0.48 1.81 lineto closepath stroke 0.67 1.98 moveto 0.74 1.90 lineto closepath stroke 0.74 1.90 moveto 0.90 1.93 lineto closepath stroke 0.74 1.90 moveto 0.82 1.84 lineto closepath stroke 0.37 1.73 moveto 0.48 1.81 lineto closepath stroke 0.37 1.73 moveto 0.38 1.51 lineto closepath stroke 0.37 1.73 moveto 0.27 1.62 lineto closepath stroke 0.48 1.81 moveto 0.57 1.71 lineto closepath stroke 0.57 1.71 moveto 0.67 1.64 lineto closepath stroke 0.57 1.71 moveto 0.76 1.73 lineto closepath stroke 0.14 1.62 moveto 0.27 1.62 lineto closepath stroke 0.14 1.62 moveto 0.00 1.50 lineto closepath stroke 0.14 1.62 moveto 0.14 1.28 lineto closepath stroke 0.27 1.62 moveto 0.38 1.51 lineto closepath stroke 0.38 1.51 moveto 0.51 1.41 lineto closepath stroke 0.38 1.51 moveto 0.61 1.52 lineto closepath stroke 0.00 1.50 moveto 0.14 1.28 lineto closepath stroke 0.14 1.28 moveto 0.21 1.03 lineto closepath stroke 0.14 1.28 moveto 0.35 1.15 lineto closepath stroke 6.94 2.18 moveto 6.64 2.24 lineto closepath stroke 6.64 2.24 moveto 6.32 2.24 lineto closepath stroke 1.15 2.27 moveto 1.08 2.19 lineto closepath stroke 1.08 2.19 moveto 1.15 2.14 lineto closepath stroke 1.08 2.19 moveto 1.03 2.11 lineto closepath stroke 1.03 2.11 moveto 0.96 2.02 lineto closepath stroke 1.03 2.11 moveto 1.15 2.14 lineto closepath stroke 0.96 2.02 moveto 1.05 1.96 lineto closepath stroke 0.96 2.02 moveto 0.90 1.93 lineto closepath stroke 1.15 2.14 moveto 1.26 2.20 lineto closepath stroke 1.15 2.14 moveto 1.21 2.12 lineto closepath stroke 0.90 1.93 moveto 0.82 1.84 lineto closepath stroke 0.90 1.93 moveto 1.05 1.96 lineto closepath stroke 0.82 1.84 moveto 0.93 1.76 lineto closepath stroke 0.82 1.84 moveto 0.76 1.73 lineto closepath stroke 1.05 1.96 moveto 1.18 2.02 lineto closepath stroke 1.05 1.96 moveto 1.12 1.93 lineto closepath stroke 0.67 1.64 moveto 0.76 1.73 lineto closepath stroke 0.67 1.64 moveto 0.80 1.54 lineto closepath stroke 0.67 1.64 moveto 0.61 1.52 lineto closepath stroke 0.76 1.73 moveto 0.93 1.76 lineto closepath stroke 0.93 1.76 moveto 1.09 1.82 lineto closepath stroke 0.93 1.76 moveto 1.03 1.72 lineto closepath stroke 0.51 1.41 moveto 0.61 1.52 lineto closepath stroke 0.51 1.41 moveto 0.66 1.30 lineto closepath stroke 0.51 1.41 moveto 0.44 1.28 lineto closepath stroke 0.61 1.52 moveto 0.80 1.54 lineto closepath stroke 0.80 1.54 moveto 0.99 1.60 lineto closepath stroke 0.80 1.54 moveto 0.92 1.49 lineto closepath stroke 0.66 1.30 moveto 0.44 1.28 lineto closepath stroke 0.66 1.30 moveto 0.88 1.36 lineto closepath stroke 0.66 1.30 moveto 0.81 1.23 lineto closepath stroke 0.44 1.28 moveto 0.51 1.03 lineto closepath stroke 0.44 1.28 moveto 0.35 1.15 lineto closepath stroke 0.21 1.03 moveto 0.35 1.15 lineto closepath stroke 0.21 1.03 moveto 0.00 0.87 lineto closepath stroke 0.21 1.03 moveto 0.21 0.74 lineto closepath stroke 0.35 1.15 moveto 0.51 1.03 lineto closepath stroke 0.51 1.03 moveto 0.76 1.10 lineto closepath stroke 0.51 1.03 moveto 0.68 0.96 lineto closepath stroke 0.00 0.87 moveto 0.21 0.74 lineto closepath stroke 0.21 0.74 moveto 0.13 0.59 lineto closepath stroke 0.21 0.74 moveto 0.34 0.74 lineto closepath stroke 0.13 0.59 moveto 0.34 0.74 lineto closepath stroke 0.13 0.59 moveto 0.00 0.29 lineto closepath stroke 0.13 0.59 moveto 0.13 0.29 lineto closepath stroke 0.34 0.74 moveto 0.63 0.80 lineto closepath stroke 0.34 0.74 moveto 0.54 0.65 lineto closepath stroke 0.00 0.29 moveto 0.13 0.29 lineto closepath stroke 0.13 0.29 moveto 0.49 0.48 lineto closepath stroke 0.13 0.29 moveto 0.36 0.19 lineto closepath stroke 1.26 2.20 moveto 1.21 2.12 lineto closepath stroke 1.21 2.12 moveto 1.28 2.08 lineto closepath stroke 1.21 2.12 moveto 1.18 2.02 lineto closepath stroke 1.18 2.02 moveto 1.12 1.93 lineto closepath stroke 1.18 2.02 moveto 1.28 2.08 lineto closepath stroke 1.12 1.93 moveto 1.22 1.88 lineto closepath stroke 1.12 1.93 moveto 1.09 1.82 lineto closepath stroke 1.28 2.08 moveto 1.37 2.07 lineto closepath stroke 1.28 2.08 moveto 1.33 1.97 lineto closepath stroke 1.09 1.82 moveto 1.03 1.72 lineto closepath stroke 1.09 1.82 moveto 1.22 1.88 lineto closepath stroke 1.03 1.72 moveto 1.15 1.66 lineto closepath stroke 1.03 1.72 moveto 0.99 1.60 lineto closepath stroke 1.22 1.88 moveto 1.32 1.86 lineto closepath stroke 1.22 1.88 moveto 1.29 1.76 lineto closepath stroke 0.99 1.60 moveto 0.92 1.49 lineto closepath stroke 0.99 1.60 moveto 1.15 1.66 lineto closepath stroke 0.92 1.49 moveto 1.07 1.42 lineto closepath stroke 0.92 1.49 moveto 0.88 1.36 lineto closepath stroke 1.15 1.66 moveto 1.28 1.64 lineto closepath stroke 1.15 1.66 moveto 1.24 1.52 lineto closepath stroke 0.88 1.36 moveto 0.81 1.23 lineto closepath stroke 0.88 1.36 moveto 1.07 1.42 lineto closepath stroke 0.81 1.23 moveto 0.98 1.16 lineto closepath stroke 0.81 1.23 moveto 0.76 1.10 lineto closepath stroke 1.07 1.42 moveto 1.23 1.39 lineto closepath stroke 1.07 1.42 moveto 1.18 1.26 lineto closepath stroke 0.76 1.10 moveto 0.68 0.96 lineto closepath stroke 0.76 1.10 moveto 0.98 1.16 lineto closepath stroke 0.68 0.96 moveto 0.89 0.86 lineto closepath stroke 0.68 0.96 moveto 0.63 0.80 lineto closepath stroke 0.98 1.16 moveto 1.17 1.12 lineto closepath stroke 0.98 1.16 moveto 1.12 0.98 lineto closepath stroke 0.63 0.80 moveto 0.54 0.65 lineto closepath stroke 0.63 0.80 moveto 0.89 0.86 lineto closepath stroke 0.54 0.65 moveto 0.49 0.48 lineto closepath stroke 0.54 0.65 moveto 0.78 0.54 lineto closepath stroke 0.89 0.86 moveto 1.11 0.82 lineto closepath stroke 0.89 0.86 moveto 1.06 0.67 lineto closepath stroke 0.49 0.48 moveto 0.78 0.54 lineto closepath stroke 0.49 0.48 moveto 0.36 0.19 lineto closepath stroke 0.78 0.54 moveto 1.06 0.67 lineto closepath stroke 0.78 0.54 moveto 1.00 0.50 lineto closepath stroke 0.36 0.19 moveto 0.73 0.19 lineto closepath stroke 0.36 0.19 moveto 0.36 0.00 lineto closepath stroke 0.73 0.19 moveto 0.36 0.00 lineto closepath stroke 0.73 0.19 moveto 0.98 0.00 lineto closepath stroke 0.73 0.19 moveto 0.98 0.19 lineto closepath stroke 5.99 1.80 moveto 5.85 1.37 lineto closepath stroke 5.99 1.80 moveto 5.57 1.43 lineto closepath stroke 5.99 1.80 moveto 6.32 2.24 lineto closepath stroke 5.99 1.80 moveto 6.04 2.30 lineto closepath stroke 5.85 1.37 moveto 5.57 1.43 lineto closepath stroke 5.85 1.37 moveto 5.69 0.88 lineto closepath stroke 5.57 1.43 moveto 5.20 1.10 lineto closepath stroke 5.57 1.43 moveto 5.34 1.53 lineto closepath stroke 1.37 2.07 moveto 1.33 1.97 lineto closepath stroke 1.37 2.07 moveto 1.38 2.17 lineto closepath stroke 1.37 2.07 moveto 1.43 2.05 lineto closepath stroke 1.33 1.97 moveto 1.40 1.84 lineto closepath stroke 1.33 1.97 moveto 1.32 1.86 lineto closepath stroke 1.38 2.17 moveto 1.43 2.05 lineto closepath stroke 1.43 2.05 moveto 1.50 2.15 lineto closepath stroke 1.43 2.05 moveto 1.49 2.05 lineto closepath stroke 1.32 1.86 moveto 1.29 1.76 lineto closepath stroke 1.32 1.86 moveto 1.40 1.84 lineto closepath stroke 1.29 1.76 moveto 1.38 1.62 lineto closepath stroke 1.29 1.76 moveto 1.28 1.64 lineto closepath stroke 1.40 1.84 moveto 1.50 1.95 lineto closepath stroke 1.40 1.84 moveto 1.49 1.84 lineto closepath stroke 1.28 1.64 moveto 1.24 1.52 lineto closepath stroke 1.28 1.64 moveto 1.38 1.62 lineto closepath stroke 1.24 1.52 moveto 1.35 1.36 lineto closepath stroke 1.24 1.52 moveto 1.23 1.39 lineto closepath stroke 1.38 1.62 moveto 1.50 1.74 lineto closepath stroke 1.38 1.62 moveto 1.49 1.62 lineto closepath stroke 1.23 1.39 moveto 1.18 1.26 lineto closepath stroke 1.23 1.39 moveto 1.35 1.36 lineto closepath stroke 1.18 1.26 moveto 1.32 1.08 lineto closepath stroke 1.18 1.26 moveto 1.17 1.12 lineto closepath stroke 1.35 1.36 moveto 1.50 1.49 lineto closepath stroke 1.35 1.36 moveto 1.49 1.36 lineto closepath stroke 1.17 1.12 moveto 1.12 0.98 lineto closepath stroke 1.17 1.12 moveto 1.32 1.08 lineto closepath stroke 1.12 0.98 moveto 1.29 0.78 lineto closepath stroke 1.12 0.98 moveto 1.11 0.82 lineto closepath stroke 1.32 1.08 moveto 1.50 1.23 lineto closepath stroke 1.32 1.08 moveto 1.48 1.08 lineto closepath stroke 1.06 0.67 moveto 1.00 0.50 lineto closepath stroke 1.06 0.67 moveto 1.11 0.82 lineto closepath stroke 1.00 0.50 moveto 1.26 0.31 lineto closepath stroke 1.00 0.50 moveto 0.98 0.19 lineto closepath stroke 1.11 0.82 moveto 1.29 0.78 lineto closepath stroke 1.29 0.78 moveto 1.52 0.78 lineto closepath stroke 1.29 0.78 moveto 1.50 0.62 lineto closepath stroke 0.98 0.00 moveto 0.98 0.19 lineto closepath stroke 0.98 0.19 moveto 1.26 0.31 lineto closepath stroke 1.26 0.31 moveto 1.50 0.62 lineto closepath stroke 1.26 0.31 moveto 1.48 0.31 lineto closepath stroke 1.50 2.15 moveto 1.49 2.05 lineto closepath stroke 1.49 2.05 moveto 1.57 2.05 lineto closepath stroke 1.49 2.05 moveto 1.50 1.95 lineto closepath stroke 1.50 1.95 moveto 1.49 1.84 lineto closepath stroke 1.50 1.95 moveto 1.57 2.05 lineto closepath stroke 1.49 1.84 moveto 1.60 1.84 lineto closepath stroke 1.49 1.84 moveto 1.50 1.74 lineto closepath stroke 1.57 2.05 moveto 1.62 2.17 lineto closepath stroke 1.57 2.05 moveto 1.63 2.07 lineto closepath stroke 1.50 1.74 moveto 1.49 1.62 lineto closepath stroke 1.50 1.74 moveto 1.60 1.84 lineto closepath stroke 1.49 1.62 moveto 1.62 1.62 lineto closepath stroke 1.49 1.62 moveto 1.50 1.49 lineto closepath stroke 1.60 1.84 moveto 1.67 1.97 lineto closepath stroke 1.60 1.84 moveto 1.68 1.86 lineto closepath stroke 1.50 1.49 moveto 1.49 1.36 lineto closepath stroke 1.50 1.49 moveto 1.62 1.62 lineto closepath stroke 1.49 1.36 moveto 1.65 1.36 lineto closepath stroke 1.49 1.36 moveto 1.50 1.23 lineto closepath stroke 1.62 1.62 moveto 1.71 1.76 lineto closepath stroke 1.62 1.62 moveto 1.72 1.64 lineto closepath stroke 1.50 1.23 moveto 1.48 1.08 lineto closepath stroke 1.50 1.23 moveto 1.65 1.36 lineto closepath stroke 1.48 1.08 moveto 1.68 1.08 lineto closepath stroke 1.48 1.08 moveto 1.50 0.94 lineto closepath stroke 1.65 1.36 moveto 1.76 1.52 lineto closepath stroke 1.65 1.36 moveto 1.77 1.39 lineto closepath stroke 1.68 1.08 moveto 1.50 0.94 lineto closepath stroke 1.68 1.08 moveto 1.82 1.26 lineto closepath stroke 1.68 1.08 moveto 1.83 1.12 lineto closepath stroke 1.50 0.94 moveto 1.71 0.78 lineto closepath stroke 1.50 0.94 moveto 1.52 0.78 lineto closepath stroke 1.52 0.78 moveto 1.50 0.62 lineto closepath stroke 1.52 0.78 moveto 1.71 0.78 lineto closepath stroke 1.50 0.62 moveto 1.48 0.31 lineto closepath stroke 1.71 0.78 moveto 1.88 0.98 lineto closepath stroke 1.71 0.78 moveto 1.89 0.82 lineto closepath stroke 1.48 0.31 moveto 1.74 0.31 lineto closepath stroke 1.48 0.31 moveto 1.50 0.00 lineto closepath stroke 1.74 0.31 moveto 1.50 0.00 lineto closepath stroke 1.74 0.31 moveto 2.00 0.50 lineto closepath stroke 1.74 0.31 moveto 2.02 0.19 lineto closepath stroke 1.62 2.17 moveto 1.63 2.07 lineto closepath stroke 1.63 2.07 moveto 1.72 2.08 lineto closepath stroke 1.63 2.07 moveto 1.67 1.97 lineto closepath stroke 1.67 1.97 moveto 1.68 1.86 lineto closepath stroke 1.67 1.97 moveto 1.72 2.08 lineto closepath stroke 1.68 1.86 moveto 1.78 1.88 lineto closepath stroke 1.68 1.86 moveto 1.71 1.76 lineto closepath stroke 1.72 2.08 moveto 1.79 2.12 lineto closepath stroke 1.72 2.08 moveto 1.82 2.02 lineto closepath stroke 1.71 1.76 moveto 1.72 1.64 lineto closepath stroke 1.71 1.76 moveto 1.78 1.88 lineto closepath stroke 1.72 1.64 moveto 1.85 1.66 lineto closepath stroke 1.72 1.64 moveto 1.76 1.52 lineto closepath stroke 1.78 1.88 moveto 1.88 1.93 lineto closepath stroke 1.78 1.88 moveto 1.91 1.82 lineto closepath stroke 1.76 1.52 moveto 1.77 1.39 lineto closepath stroke 1.76 1.52 moveto 1.85 1.66 lineto closepath stroke 1.77 1.39 moveto 1.93 1.42 lineto closepath stroke 1.77 1.39 moveto 1.82 1.26 lineto closepath stroke 1.85 1.66 moveto 1.97 1.72 lineto closepath stroke 1.85 1.66 moveto 2.01 1.60 lineto closepath stroke 1.82 1.26 moveto 1.83 1.12 lineto closepath stroke 1.82 1.26 moveto 1.93 1.42 lineto closepath stroke 1.83 1.12 moveto 2.02 1.16 lineto closepath stroke 1.83 1.12 moveto 1.88 0.98 lineto closepath stroke 1.93 1.42 moveto 2.08 1.49 lineto closepath stroke 1.93 1.42 moveto 2.12 1.36 lineto closepath stroke 1.88 0.98 moveto 1.89 0.82 lineto closepath stroke 1.88 0.98 moveto 2.02 1.16 lineto closepath stroke 1.89 0.82 moveto 2.11 0.86 lineto closepath stroke 1.89 0.82 moveto 1.94 0.67 lineto closepath stroke 2.02 1.16 moveto 2.19 1.23 lineto closepath stroke 2.02 1.16 moveto 2.24 1.10 lineto closepath stroke 2.11 0.86 moveto 1.94 0.67 lineto closepath stroke 2.11 0.86 moveto 2.32 0.96 lineto closepath stroke 2.11 0.86 moveto 2.37 0.80 lineto closepath stroke 1.94 0.67 moveto 2.22 0.54 lineto closepath stroke 1.94 0.67 moveto 2.00 0.50 lineto closepath stroke 2.00 0.50 moveto 2.02 0.19 lineto closepath stroke 2.00 0.50 moveto 2.22 0.54 lineto closepath stroke 2.02 0.19 moveto 2.27 0.19 lineto closepath stroke 2.02 0.19 moveto 2.02 0.00 lineto closepath stroke 2.22 0.54 moveto 2.46 0.65 lineto closepath stroke 2.22 0.54 moveto 2.51 0.48 lineto closepath stroke 2.27 0.19 moveto 2.02 0.00 lineto closepath stroke 2.27 0.19 moveto 2.61 0.19 lineto closepath stroke 2.27 0.19 moveto 2.61 0.00 lineto closepath stroke 5.69 0.88 moveto 5.21 0.50 lineto closepath stroke 5.69 0.88 moveto 5.47 0.38 lineto closepath stroke 6.32 2.24 moveto 6.04 2.30 lineto closepath stroke 1.79 2.12 moveto 1.82 2.02 lineto closepath stroke 1.79 2.12 moveto 1.74 2.20 lineto closepath stroke 1.79 2.12 moveto 1.85 2.14 lineto closepath stroke 1.82 2.02 moveto 1.96 1.96 lineto closepath stroke 1.82 2.02 moveto 1.88 1.93 lineto closepath stroke 1.74 2.20 moveto 1.85 2.14 lineto closepath stroke 1.85 2.14 moveto 1.92 2.19 lineto closepath stroke 1.85 2.14 moveto 1.97 2.11 lineto closepath stroke 1.88 1.93 moveto 1.91 1.82 lineto closepath stroke 1.88 1.93 moveto 1.96 1.96 lineto closepath stroke 1.91 1.82 moveto 2.07 1.76 lineto closepath stroke 1.91 1.82 moveto 1.97 1.72 lineto closepath stroke 1.96 1.96 moveto 1.97 2.11 lineto closepath stroke 1.96 1.96 moveto 2.02 2.01 lineto closepath stroke 1.97 1.72 moveto 2.01 1.60 lineto closepath stroke 1.97 1.72 moveto 2.07 1.76 lineto closepath stroke 2.01 1.60 moveto 2.20 1.54 lineto closepath stroke 2.01 1.60 moveto 2.08 1.49 lineto closepath stroke 2.07 1.76 moveto 2.10 1.93 lineto closepath stroke 2.07 1.76 moveto 2.16 1.82 lineto closepath stroke 2.08 1.49 moveto 2.12 1.36 lineto closepath stroke 2.08 1.49 moveto 2.20 1.54 lineto closepath stroke 2.12 1.36 moveto 2.34 1.30 lineto closepath stroke 2.12 1.36 moveto 2.19 1.23 lineto closepath stroke 2.20 1.54 moveto 2.24 1.73 lineto closepath stroke 2.20 1.54 moveto 2.30 1.62 lineto closepath stroke 2.19 1.23 moveto 2.24 1.10 lineto closepath stroke 2.19 1.23 moveto 2.34 1.30 lineto closepath stroke 2.24 1.10 moveto 2.49 1.03 lineto closepath stroke 2.24 1.10 moveto 2.32 0.96 lineto closepath stroke 2.34 1.30 moveto 2.39 1.52 lineto closepath stroke 2.34 1.30 moveto 2.47 1.39 lineto closepath stroke 2.32 0.96 moveto 2.37 0.80 lineto closepath stroke 2.32 0.96 moveto 2.49 1.03 lineto closepath stroke 2.37 0.80 moveto 2.66 0.74 lineto closepath stroke 2.37 0.80 moveto 2.46 0.65 lineto closepath stroke 2.49 1.03 moveto 2.56 1.28 lineto closepath stroke 2.49 1.03 moveto 2.65 1.15 lineto closepath stroke 2.46 0.65 moveto 2.51 0.48 lineto closepath stroke 2.46 0.65 moveto 2.66 0.74 lineto closepath stroke 2.51 0.48 moveto 2.85 0.29 lineto closepath stroke 2.51 0.48 moveto 2.61 0.19 lineto closepath stroke 2.66 0.74 moveto 2.75 1.03 lineto closepath stroke 2.66 0.74 moveto 2.84 0.87 lineto closepath stroke 2.61 0.19 moveto 2.61 0.00 lineto closepath stroke 2.61 0.19 moveto 2.85 0.29 lineto closepath stroke 2.85 0.29 moveto 3.09 0.60 lineto closepath stroke 2.85 0.29 moveto 3.19 0.30 lineto closepath stroke 6.04 2.30 moveto 5.76 2.30 lineto closepath stroke 5.46 1.91 moveto 5.34 1.53 lineto closepath stroke 5.46 1.91 moveto 5.08 1.59 lineto closepath stroke 5.46 1.91 moveto 5.50 2.30 lineto closepath stroke 5.46 1.91 moveto 5.25 2.36 lineto closepath stroke 5.34 1.53 moveto 5.08 1.59 lineto closepath stroke 5.34 1.53 moveto 5.20 1.10 lineto closepath stroke 5.08 1.59 moveto 4.74 1.31 lineto closepath stroke 5.08 1.59 moveto 4.87 1.68 lineto closepath stroke 5.20 1.10 moveto 5.00 0.76 lineto closepath stroke 5.20 1.10 moveto 4.76 0.87 lineto closepath stroke 5.76 2.30 moveto 5.50 2.30 lineto closepath stroke 5.50 2.30 moveto 5.25 2.36 lineto closepath stroke 1.92 2.19 moveto 1.97 2.11 lineto closepath stroke 1.92 2.19 moveto 1.85 2.27 lineto closepath stroke 1.92 2.19 moveto 1.97 2.23 lineto closepath stroke 1.97 2.11 moveto 2.02 2.01 lineto closepath stroke 1.85 2.27 moveto 1.97 2.23 lineto closepath stroke 1.97 2.23 moveto 1.94 2.35 lineto closepath stroke 1.97 2.23 moveto 2.01 2.28 lineto closepath stroke 2.02 2.01 moveto 2.11 2.07 lineto closepath stroke 2.02 2.01 moveto 2.10 1.93 lineto closepath stroke 2.10 1.93 moveto 2.16 1.82 lineto closepath stroke 2.10 1.93 moveto 2.11 2.07 lineto closepath stroke 2.16 1.82 moveto 2.26 1.90 lineto closepath stroke 2.16 1.82 moveto 2.24 1.73 lineto closepath stroke 2.11 2.07 moveto 2.09 2.22 lineto closepath stroke 2.11 2.07 moveto 2.16 2.14 lineto closepath stroke 2.24 1.73 moveto 2.30 1.62 lineto closepath stroke 2.24 1.73 moveto 2.26 1.90 lineto closepath stroke 2.30 1.62 moveto 2.43 1.71 lineto closepath stroke 2.30 1.62 moveto 2.39 1.52 lineto closepath stroke 2.26 1.90 moveto 2.35 2.00 lineto closepath stroke 2.26 1.90 moveto 2.43 1.91 lineto closepath stroke 2.39 1.52 moveto 2.47 1.39 lineto closepath stroke 2.39 1.52 moveto 2.43 1.71 lineto closepath stroke 2.47 1.39 moveto 2.62 1.51 lineto closepath stroke 2.47 1.39 moveto 2.56 1.28 lineto closepath stroke 2.43 1.71 moveto 2.43 1.91 lineto closepath stroke 2.43 1.71 moveto 2.52 1.81 lineto closepath stroke 2.56 1.28 moveto 2.65 1.15 lineto closepath stroke 2.56 1.28 moveto 2.62 1.51 lineto closepath stroke 2.65 1.15 moveto 2.83 1.28 lineto closepath stroke 2.65 1.15 moveto 2.75 1.03 lineto closepath stroke 2.62 1.51 moveto 2.63 1.73 lineto closepath stroke 2.62 1.51 moveto 2.73 1.62 lineto closepath stroke 2.75 1.03 moveto 2.84 0.87 lineto closepath stroke 2.75 1.03 moveto 2.83 1.28 lineto closepath stroke 2.84 0.87 moveto 3.05 1.03 lineto closepath stroke 2.84 0.87 moveto 2.96 0.74 lineto closepath stroke 2.83 1.28 moveto 2.85 1.54 lineto closepath stroke 2.83 1.28 moveto 2.95 1.42 lineto closepath stroke 3.05 1.03 moveto 2.96 0.74 lineto closepath stroke 3.05 1.03 moveto 3.08 1.32 lineto closepath stroke 3.05 1.03 moveto 3.20 1.19 lineto closepath stroke 2.96 0.74 moveto 3.30 0.75 lineto closepath stroke 2.96 0.74 moveto 3.09 0.60 lineto closepath stroke 3.09 0.60 moveto 3.19 0.30 lineto closepath stroke 3.09 0.60 moveto 3.30 0.75 lineto closepath stroke 3.19 0.30 moveto 3.58 0.30 lineto closepath stroke 3.19 0.30 moveto 3.33 0.00 lineto closepath stroke 3.30 0.75 moveto 3.35 1.09 lineto closepath stroke 3.30 0.75 moveto 3.48 0.94 lineto closepath stroke 3.58 0.30 moveto 3.33 0.00 lineto closepath stroke 3.58 0.30 moveto 3.95 0.40 lineto closepath stroke 3.58 0.30 moveto 3.81 0.70 lineto closepath stroke 1.94 2.35 moveto 2.01 2.28 lineto closepath stroke 2.01 2.28 moveto 2.07 2.34 lineto closepath stroke 2.01 2.28 moveto 2.09 2.22 lineto closepath stroke 2.09 2.22 moveto 2.16 2.14 lineto closepath stroke 2.09 2.22 moveto 2.07 2.34 lineto closepath stroke 2.16 2.14 moveto 2.24 2.22 lineto closepath stroke 2.16 2.14 moveto 2.25 2.07 lineto closepath stroke 2.07 2.34 moveto 2.02 2.45 lineto closepath stroke 2.07 2.34 moveto 2.10 2.39 lineto closepath stroke 2.24 2.22 moveto 2.25 2.07 lineto closepath stroke 2.24 2.22 moveto 2.19 2.35 lineto closepath stroke 2.24 2.22 moveto 2.28 2.29 lineto closepath stroke 2.25 2.07 moveto 2.42 2.08 lineto closepath stroke 2.25 2.07 moveto 2.35 2.00 lineto closepath stroke 2.43 1.91 moveto 2.52 1.81 lineto closepath stroke 2.43 1.91 moveto 2.35 2.00 lineto closepath stroke 2.52 1.81 moveto 2.63 1.93 lineto closepath stroke 2.52 1.81 moveto 2.63 1.73 lineto closepath stroke 2.35 2.00 moveto 2.42 2.08 lineto closepath stroke 2.42 2.08 moveto 2.38 2.24 lineto closepath stroke 2.42 2.08 moveto 2.48 2.17 lineto closepath stroke 2.63 1.73 moveto 2.73 1.62 lineto closepath stroke 2.63 1.73 moveto 2.63 1.93 lineto closepath stroke 2.73 1.62 moveto 2.85 1.77 lineto closepath stroke 2.73 1.62 moveto 2.85 1.54 lineto closepath stroke 2.63 1.93 moveto 2.71 2.07 lineto closepath stroke 2.63 1.93 moveto 2.82 1.99 lineto closepath stroke 2.85 1.54 moveto 2.95 1.42 lineto closepath stroke 2.85 1.54 moveto 2.85 1.77 lineto closepath stroke 2.95 1.42 moveto 3.10 1.58 lineto closepath stroke 2.95 1.42 moveto 3.08 1.32 lineto closepath stroke 2.85 1.77 moveto 2.95 1.93 lineto closepath stroke 2.85 1.77 moveto 3.07 1.84 lineto closepath stroke 3.08 1.32 moveto 3.20 1.19 lineto closepath stroke 3.08 1.32 moveto 3.10 1.58 lineto closepath stroke 3.20 1.19 moveto 3.38 1.39 lineto closepath stroke 3.20 1.19 moveto 3.35 1.09 lineto closepath stroke 3.10 1.58 moveto 3.22 1.78 lineto closepath stroke 3.10 1.58 moveto 3.35 1.68 lineto closepath stroke 3.35 1.09 moveto 3.48 0.94 lineto closepath stroke 3.35 1.09 moveto 3.38 1.39 lineto closepath stroke 3.48 0.94 moveto 3.68 1.17 lineto closepath stroke 3.48 0.94 moveto 3.63 0.83 lineto closepath stroke 3.38 1.39 moveto 3.51 1.61 lineto closepath stroke 3.38 1.39 moveto 3.65 1.51 lineto closepath stroke 3.68 1.17 moveto 3.63 0.83 lineto closepath stroke 3.68 1.17 moveto 3.83 1.43 lineto closepath stroke 3.68 1.17 moveto 3.99 1.31 lineto closepath stroke 3.63 0.83 moveto 4.01 0.93 lineto closepath stroke 3.63 0.83 moveto 3.81 0.70 lineto closepath stroke 3.95 0.40 moveto 3.81 0.70 lineto closepath stroke 3.95 0.40 moveto 4.37 0.66 lineto closepath stroke 3.95 0.40 moveto 4.14 0.26 lineto closepath stroke 3.81 0.70 moveto 4.01 0.93 lineto closepath stroke 4.01 0.93 moveto 4.18 1.23 lineto closepath stroke 4.01 0.93 moveto 4.36 1.10 lineto closepath stroke 4.37 0.66 moveto 4.14 0.26 lineto closepath stroke 4.37 0.66 moveto 4.76 0.87 lineto closepath stroke 4.37 0.66 moveto 4.57 1.01 lineto closepath stroke 4.14 0.26 moveto 4.77 0.26 lineto closepath stroke 4.14 0.26 moveto 4.35 0.00 lineto closepath stroke 4.77 0.26 moveto 4.35 0.00 lineto closepath stroke 4.77 0.26 moveto 5.21 0.50 lineto closepath stroke 4.77 0.26 moveto 5.00 0.76 lineto closepath stroke 5.25 2.36 moveto 5.01 2.36 lineto closepath stroke 4.97 2.01 moveto 4.87 1.68 lineto closepath stroke 4.97 2.01 moveto 4.64 1.73 lineto closepath stroke 4.97 2.01 moveto 4.78 2.41 lineto closepath stroke 4.97 2.01 moveto 5.01 2.36 lineto closepath stroke 4.87 1.68 moveto 4.64 1.73 lineto closepath stroke 4.87 1.68 moveto 4.74 1.31 lineto closepath stroke 4.64 1.73 moveto 4.44 1.82 lineto closepath stroke 4.64 1.73 moveto 4.33 1.49 lineto closepath stroke 2.02 2.45 moveto 2.10 2.39 lineto closepath stroke 2.10 2.39 moveto 2.14 2.47 lineto closepath stroke 2.10 2.39 moveto 2.19 2.35 lineto closepath stroke 2.19 2.35 moveto 2.28 2.29 lineto closepath stroke 2.19 2.35 moveto 2.14 2.47 lineto closepath stroke 2.28 2.29 moveto 2.33 2.38 lineto closepath stroke 2.28 2.29 moveto 2.38 2.24 lineto closepath stroke 2.14 2.47 moveto 2.07 2.57 lineto closepath stroke 2.14 2.47 moveto 2.16 2.52 lineto closepath stroke 2.38 2.24 moveto 2.48 2.17 lineto closepath stroke 2.38 2.24 moveto 2.33 2.38 lineto closepath stroke 2.48 2.17 moveto 2.54 2.29 lineto closepath stroke 2.48 2.17 moveto 2.59 2.12 lineto closepath stroke 2.33 2.38 moveto 2.26 2.50 lineto closepath stroke 2.33 2.38 moveto 2.36 2.46 lineto closepath stroke 2.54 2.29 moveto 2.59 2.12 lineto closepath stroke 2.54 2.29 moveto 2.46 2.44 lineto closepath stroke 2.54 2.29 moveto 2.58 2.39 lineto closepath stroke 2.59 2.12 moveto 2.77 2.18 lineto closepath stroke 2.59 2.12 moveto 2.71 2.07 lineto closepath stroke 2.71 2.07 moveto 2.82 1.99 lineto closepath stroke 2.71 2.07 moveto 2.77 2.18 lineto closepath stroke 2.82 1.99 moveto 3.03 2.07 lineto closepath stroke 2.82 1.99 moveto 2.95 1.93 lineto closepath stroke 2.77 2.18 moveto 2.82 2.33 lineto closepath stroke 2.77 2.18 moveto 2.95 2.28 lineto closepath stroke 2.95 1.93 moveto 3.07 1.84 lineto closepath stroke 2.95 1.93 moveto 3.03 2.07 lineto closepath stroke 3.07 1.84 moveto 3.31 1.94 lineto closepath stroke 3.07 1.84 moveto 3.22 1.78 lineto closepath stroke 3.03 2.07 moveto 2.95 2.28 lineto closepath stroke 3.03 2.07 moveto 3.08 2.22 lineto closepath stroke 3.22 1.78 moveto 3.35 1.68 lineto closepath stroke 3.22 1.78 moveto 3.31 1.94 lineto closepath stroke 3.35 1.68 moveto 3.62 1.81 lineto closepath stroke 3.35 1.68 moveto 3.51 1.61 lineto closepath stroke 3.31 1.94 moveto 3.22 2.19 lineto closepath stroke 3.31 1.94 moveto 3.37 2.12 lineto closepath stroke 3.51 1.61 moveto 3.65 1.51 lineto closepath stroke 3.51 1.61 moveto 3.62 1.81 lineto closepath stroke 3.65 1.51 moveto 3.96 1.65 lineto closepath stroke 3.65 1.51 moveto 3.83 1.43 lineto closepath stroke 3.62 1.81 moveto 3.70 2.05 lineto closepath stroke 3.62 1.81 moveto 3.86 1.98 lineto closepath stroke 3.83 1.43 moveto 3.99 1.31 lineto closepath stroke 3.83 1.43 moveto 3.96 1.65 lineto closepath stroke 3.99 1.31 moveto 4.33 1.49 lineto closepath stroke 3.99 1.31 moveto 4.18 1.23 lineto closepath stroke 3.96 1.65 moveto 4.05 1.94 lineto closepath stroke 3.96 1.65 moveto 4.23 1.86 lineto closepath stroke 4.18 1.23 moveto 4.36 1.10 lineto closepath stroke 4.18 1.23 moveto 4.33 1.49 lineto closepath stroke 4.36 1.10 moveto 4.74 1.31 lineto closepath stroke 4.36 1.10 moveto 4.57 1.01 lineto closepath stroke 4.33 1.49 moveto 4.44 1.82 lineto closepath stroke 4.76 0.87 moveto 4.57 1.01 lineto closepath stroke 4.76 0.87 moveto 5.00 0.76 lineto closepath stroke 4.57 1.01 moveto 4.74 1.31 lineto closepath stroke 5.21 0.50 moveto 5.00 0.76 lineto closepath stroke 5.21 0.50 moveto 5.47 0.38 lineto closepath stroke 5.47 0.38 moveto 5.76 0.26 lineto closepath stroke 5.76 0.26 moveto 6.07 0.00 lineto closepath stroke 2.07 2.57 moveto 2.16 2.52 lineto closepath stroke 2.16 2.52 moveto 2.18 2.60 lineto closepath stroke 2.16 2.52 moveto 2.26 2.50 lineto closepath stroke 2.26 2.50 moveto 2.36 2.46 lineto closepath stroke 2.26 2.50 moveto 2.18 2.60 lineto closepath stroke 2.36 2.46 moveto 2.39 2.56 lineto closepath stroke 2.36 2.46 moveto 2.46 2.44 lineto closepath stroke 2.19 2.67 moveto 2.29 2.67 lineto closepath stroke 2.19 2.67 moveto 2.09 2.69 lineto closepath stroke 2.19 2.67 moveto 2.18 2.60 lineto closepath stroke 2.29 2.67 moveto 2.40 2.64 lineto closepath stroke 2.29 2.67 moveto 2.39 2.56 lineto closepath stroke 2.09 2.69 moveto 2.18 2.60 lineto closepath stroke 2.46 2.44 moveto 2.58 2.39 lineto closepath stroke 2.46 2.44 moveto 2.39 2.56 lineto closepath stroke 2.58 2.39 moveto 2.62 2.51 lineto closepath stroke 2.58 2.39 moveto 2.69 2.36 lineto closepath stroke 2.40 2.64 moveto 2.51 2.64 lineto closepath stroke 2.40 2.64 moveto 2.39 2.56 lineto closepath stroke 2.51 2.64 moveto 2.63 2.62 lineto closepath stroke 2.51 2.64 moveto 2.62 2.51 lineto closepath stroke 2.63 2.62 moveto 2.75 2.62 lineto closepath stroke 2.63 2.62 moveto 2.62 2.51 lineto closepath stroke 2.75 2.62 moveto 2.88 2.59 lineto closepath stroke 2.75 2.62 moveto 2.86 2.46 lineto closepath stroke 2.62 2.51 moveto 2.69 2.36 lineto closepath stroke 2.69 2.36 moveto 2.86 2.46 lineto closepath stroke 2.69 2.36 moveto 2.82 2.33 lineto closepath stroke 2.95 2.28 moveto 3.08 2.22 lineto closepath stroke 2.95 2.28 moveto 2.82 2.33 lineto closepath stroke 3.08 2.22 moveto 3.14 2.40 lineto closepath stroke 3.08 2.22 moveto 3.22 2.19 lineto closepath stroke 2.88 2.59 moveto 3.01 2.59 lineto closepath stroke 2.88 2.59 moveto 2.86 2.46 lineto closepath stroke 3.01 2.59 moveto 3.15 2.56 lineto closepath stroke 3.01 2.59 moveto 3.14 2.40 lineto closepath stroke 2.86 2.46 moveto 2.82 2.33 lineto closepath stroke 3.22 2.19 moveto 3.37 2.12 lineto closepath stroke 3.22 2.19 moveto 3.14 2.40 lineto closepath stroke 3.37 2.12 moveto 3.44 2.34 lineto closepath stroke 3.37 2.12 moveto 3.53 2.09 lineto closepath stroke 3.15 2.56 moveto 3.30 2.56 lineto closepath stroke 3.15 2.56 moveto 3.14 2.40 lineto closepath stroke 3.30 2.56 moveto 3.46 2.53 lineto closepath stroke 3.30 2.56 moveto 3.44 2.34 lineto closepath stroke 3.46 2.53 moveto 3.62 2.53 lineto closepath stroke 3.46 2.53 moveto 3.44 2.34 lineto closepath stroke 3.62 2.53 moveto 3.79 2.49 lineto closepath stroke 3.62 2.53 moveto 3.77 2.27 lineto closepath stroke 3.44 2.34 moveto 3.53 2.09 lineto closepath stroke 3.53 2.09 moveto 3.77 2.27 lineto closepath stroke 3.53 2.09 moveto 3.70 2.05 lineto closepath stroke 3.79 2.49 moveto 3.97 2.49 lineto closepath stroke 3.79 2.49 moveto 3.77 2.27 lineto closepath stroke 3.97 2.49 moveto 4.16 2.45 lineto closepath stroke 3.97 2.49 moveto 4.13 2.19 lineto closepath stroke 3.77 2.27 moveto 3.70 2.05 lineto closepath stroke 3.70 2.05 moveto 3.86 1.98 lineto closepath stroke 3.86 1.98 moveto 4.13 2.19 lineto closepath stroke 3.86 1.98 moveto 4.05 1.94 lineto closepath stroke 4.16 2.45 moveto 4.36 2.45 lineto closepath stroke 4.16 2.45 moveto 4.13 2.19 lineto closepath stroke 4.36 2.45 moveto 4.57 2.41 lineto closepath stroke 4.36 2.45 moveto 4.53 2.11 lineto closepath stroke 4.13 2.19 moveto 4.05 1.94 lineto closepath stroke 4.05 1.94 moveto 4.23 1.86 lineto closepath stroke 4.23 1.86 moveto 4.53 2.11 lineto closepath stroke 4.23 1.86 moveto 4.44 1.82 lineto closepath stroke 4.57 2.41 moveto 4.78 2.41 lineto closepath stroke 4.57 2.41 moveto 4.53 2.11 lineto closepath stroke 4.78 2.41 moveto 5.01 2.36 lineto closepath stroke 4.53 2.11 moveto 4.44 1.82 lineto closepath stroke showpage sparskit-2.0.0/DOC/mat9.pdf0000640000265600020320000015151310213314313014440 0ustar tilleaadmin%PDF-1.3 %Çì¢ 5 0 obj <> stream xœl½Ë®,;’ž9?O±‡Ò$ä÷ËP 44êAwç H¥’ Ak *êÇošÑþ‹ÅY(deÆ·¾Í 1Üt:Ýø?ÿ,ŸõÏÿWÿýO?ý»ÿçþó_ÿõ¯åÏÿù¯ýÏ¿ÖþÔýÓÏŸÿãCzþ¬Çg½÷íÏ?þË_󯽟ëÝþûúYö÷Ï?~þú7ÿþ_ÿõŸþÓÿøçÿüçÿúÿë_þÛÿ÷oÿñßÿú?ÿñ×ÿý×òy×óYß?ÿ{üûÿö׳ü¹®Ï»ÏŸý½–ùÿþåŸÿúÿÚ>ï¾\Ûðžýs]Ë(ÙÖÏýþùqr|îíÏÿþ¾¬÷ç=Ì2bÖøëµ6‹DÖºœŸçrKĬuÿŒHÜ"¡õÜŸ}[öÁÖç³îQ{’ñï–+­õ}/³Dšu~ö.M gÛÞmÆIDÖ;~‡çˆ¶?èq ËȨß;¿o¿÷(C–³®÷sÜÍ"‘u£ýÐzAždËç‰j ìŸ{¯ï»kJLzFé›K’öûú<·I&_ìñ¯ ô>Ÿ}ÝÎÁ–û³Qs’ñÏ–{6º?Ÿë1K¤Yç'o³Š¸u\Ÿemˆ¬ýy¶ùSÀiÖûyº4}ß²~Þ;~úeÿÑF®Ï±~×–ˆ[ëg¿ºbÖy7e~ô¿ïŸýè ­ÊAÉ2"ë]Æayº%¢oWk¿ÇeêͳfL2¬ís­^f©^fÅu³•U¤[÷8jÏfMÒ­kœo³&qkD4. ›Y Ý×”ãlÖ$í—÷3.°a¶<³%HÞÏò|× –×TÖ1.‰Ý1küj{“ÜÙâ’Ò$Z#ž÷³zݘµßŸck‰}ãè¨æï3Ϊ7¿‘ä û«^´H̺Ç%ÿi‰¬mYâbg–ˆ•õÞŸíme‘ÐÚßq ^Ü2bÖ9.çM°ï»ÆÅ5þÝó|žmþ†EÞÑ=ž_µ’ÅZ¹5:ø½[EÌÚÆQy­n‘4k\¤În‘5†{\çd‰¸u/ÑQ¹â߸|¶'­ó³^ó÷y¢m¿êEËjJkœŸÛWY[Ö>¾àj‰YÛøAš@gÄs|¯•³Æ_¿,¯Õ'ÅõsÎJŒ ëþU)8øìÊÃ8wL:Ž1Œt‰À¥õ³M ”!Ü«$”²—Ø­Þìëîq4Æ!4F'O×Hžås__•’ÅZ™5.=çÛ,·ÆyyöoiÖ9FáÝ*"+ÇËn–ˆ[1z~šbß8úö1úú“ÓˆÿÇÉq|W ’W”ÒöÙŽ.Hܶ&‘˜´|ΫK F0çìÉ!‘´~ho ¿n‡cöªñ%ÙC‹ŒÇñ])X"f{¦¼žÈ"1k\®Ï£Y$n]Ÿ­Kèìçèþ}FdÝã‡ßš%¢ï‹án^)¢Æ9jy?w5c¬~6KÄ­q~ºbV$ €Î~¼yøJ2¢’Žq¤Å¹4º†5‡›WŒ¾êÉk)ëülk·@dí㢒LZ"fÅmÉÕ,Zû>.L­òFd÷¸\ln‰èqZæ9pæß~Œ\[Œ{½h©^fÅ-ÇÛ,·Æ‘ô´o$iÖG^³Š¸µoßeȧÊ5/è°DÜýì²5 ľq ëÏÅ9‰ðã䉩ƒ¯zÁ1k{?Ù…È"1ëX¢gv‹Ä­{žÅfÐÚŽ1¿Ý2"ë—³½Y"²®qÌÞFT¯q³´]Ùª[ ?Nθ_ùª=,GÖcµf˜u߉Yã7]f‘ÈzÇð¤×^„Ö7Ž·×ÞˆÊ:cr,þåñÄyÿcä\c¥×‹–êeÖháãiˆ[£Û>®f4ëžu5«ˆY縊\_µ/bÖ;ƽ9¶§EbÖ5:•¼vŒqÝc ãß­œAª9Z$ͪ¹'³Š¸…ˆdYÔ´b~©Õ‹Ä¬cô7í Üy—9Ì‘"+.fOÞþëÕs:FÆoþ5Ɉ$L=I"1éþ.‰DR<¹›DB鳫•$B)¦orxFIR\©Ï# ‡öÙ${Ü—ö™ XFܪÙ³@ÌÂü”,·´,Yû8¨sÞ‚–ˆ¬˜åÉÑ,-YçZ£YZ"´²ˆ±øgÌ‘íU$þÝŠñmÍnÐÒ|G³æ<[5óãVEd–E-뉹œfMâÖ9*ƒ^Y ÍÚöšUĬxñÜÙ{\Ò~œ\1Óæth1‹µ§EbÖ÷žMsŽÎ0;’DÌÚŠ ­èåÏ=Ê]ž$ï¦c°ffh‰4kÎQ¹UÄ­ H"4gÜ/¯]1ëóÕ,·Æ=}fÈŠqÌOsã‰úvf;¼ñ+µ9ZFÜš3Tn˜ÅiYÔ´®1Ük€œst¸ïí’­ë<³¶èꜜq®µ¹ZFÜ:*jY f¡ª”ÜÉ6M1ë¾rîÃ,YçkˆL" Oåΰ>qK4Œëøs}},û>·r Q³Š¸U32f4kÎM¹UDVŒDטâ8gEž¸ö¶™ZFÜš3.nÈ:–ëÓ$9ç½äó^I"n=ŸÙò²@hÅ(úÉž nË3@‚#º6·É€$Ì£Pp©¢¡SŸMYï\G ‡@Òy͇ÿ”LÇáå>SÉax^(b¦+O’{áÁ‚Z"nÕTŠY ͪhÌB|fmO,q Ĭsªq?%‹Ä­è~Ú7’ÈŠGÇÙ7^ùlçÇÀhØ>¥@LjIsÅ%“ž$ is!…I$”ÎwËÛ@I"”®›¶¯÷ZO®1—=³ÈcÉ6™@ˈ[sÅ-·Ž,³Î%_ºE"룼wsKĬ1:Û7ŠÐÊûÉ%"ŠGÙ7‹¼1;Ò&hq+gQ\*`â‘DbÖµæJ³Hd]cOþe‰˜5®rq#e ­¸3]cDÿÄC¤Š\q§Ò¦hqkN£¸b#¢eQÓº·Ïü5h‘Ⱥƈñ¼Ü¡ %ž£ÆÔu>‡$Áž¸7¬iZ"Íš$nq u•ÅÚ›õì¹dÄ,³®1Þ}]pgœÆ[«;‰[c,x¶Z‘ÈŠYˆ#¦*Ÿxl=ŸU’2–1äÐ–àŒ³¨Í'P2bVM¡˜Eââ‘¥˜aË™¾d‰ÈºÆøú¹Ý1kŒ,Ïö"´rÒ&P<ÚÊÑÀè.HºžgN@ ”Ó„yWk sÖ‰dÜ䜘·Á>,‘fÕL‡YEšUU5 •7+z§·Y fåêÕ-Y1Uxä0=Vf.rŨ îcóuYFÜš7·&p§æL1 ó!²HÜB;È‘u½5óEK„VL¬®Ù·Œñúžc[‘=æãêŽñÈGP´Œ¸Uw‘fȺã݇×-³ÖšÍ‘EB+—Áå5.†çxTäa|¿%„eÄ,Ü)Ë"q«â6 Ĭg>Œ3‹DÖ=nƒ3"Z"fmk®»1‹„VLjyîÅ«y<‹œ:rpˈ[ónؤî I ²®eÉ¥+²DdÝã67/ž´DÌÚ·9£#‹„V¬Ã\ó—WGæê9ñï6<¬À ,‘fÕͰYEÌbD´Š3‹DÖ=îwsΖˆYç1çÉd‘ЊÇGŽS—|ÁBøÉûÍá²µ;æÔý0|4…l=.Söù4 ?J¹Ç-nNNEM¹j–­~¤’O€¢c¿ã¥Á=ã.2®1íç·I”x›ÔœysèRÝ.ºU·ÉfáÆ¹Y3^·ÐfK>È3«ˆ[÷uÆ ¡¤æÄêàûI鈡ç“1<è÷”Œ˜„:I‘4n‘·æP¹Çm{LÉ‘4îøîöe"â¹Üq$Zc ÿãd‹z»¹£eĬº¥5‹Ä­ŠFRsbQ÷Û$Y÷}å̦,³Þ¥‚¦EB+ŸÝ忌· s¡=ɰ7 ëVŽ–ˆ[uKkH³*"³£Yñ¦ÆÓ,³â¯K³HÌŠcúnõ"‘Ï:ï q»ÈW QÚ-%#fÕ-­Y$n!BY fÕM–Y$fÞiíõ"‘'ûâ!¡Ï:¸…¼Ÿ\8ÿãd‹!]»Q eÄ­yƒäˆY5´6‹Ä­¼“t©€;ˆZˆ¬èú—f‰ÐŠ'ÃKÜDʵç‹g"oLýÕðkɇ´Œ¸5‡ßnÈŠAjL]Ê1k ácŠÐ,Zñ¦Â}eù[Lý89c*® ¢iqkÞb¸bã¦EbÖv|ž&ȉØÝj%B+·±žígà’}4ɽÆìCÓq«n ÌiÖ¬ªIUwsöóË)`NÜ\ïM"qkÜêßM*àÎq~9äÄ3û%¯P£ƒßóåP‘\AÙÏ´Œ˜U7 f‘¸Um ©€9Ç|m‰¬˜&\Ú÷‰Ðе Ù­¡@ŽRøùˆ»ÿ6"†cÀ¤ºDàªI À¤óž}%I1O¸»$`Òy夦$JùšM¬£S^æÛr ×¢C³ÆÂ´Dš5ïÜ*Ò¬ŠÇ,DhÖ8ãA­Y fÅ“”˜s–EâÖuçü§Y ²béÉïD÷ìÅEÆ)ö5Š„dĤ9@6§€)O5‚IlJ$’F|lM"¡Y—V%I÷“Ó¤&‘HzÞœk4‰R¬„¹g –è]~œì1×Ç¢°Œ¸Up³@ÌbÌ´HÌÃúcm‰¬X,ó¶z‰ÐÊ5Ay óeÉ>^䉒>Ê„eÄ,Œ®e‘¸Uu5 DVÜ’.˜3Æ*ñN³I$f½WN›EB+ÞN[ò¼yÚˆ\1…ØÇ°ŒÈâØš–ˆ[¤îÔ¨Ì$Y±f¶}X°•ý;‡´£7¹0*Ü–|$LI¤Y5Ö2«ˆYñ–ÇÛÊ"qk¿sÒÏ,Y±ŽlŸe]û“'Žè>f‚eÄ­Ošb[‚‰[5f1 ĬHBv4‹DV¼'³µz‰ÐŠUiË™l‹:ÿ89c2¯› ¸ƒ:H1kœ!ñÈÔ,Yñ‚ÛÛÊqë©ßZ­\—wÂcìu瘖dÔïâ顮 °DÜÂHIH³æ€Ñ¤ šSQ›„v0ktñàÖ,³âÅÈV€;ç›SÀ&ÈŠu…û“ñq úq‚‹ÆPŒP©á”) Ïw`T*zÝùPÙ’A9û-EʽTÜTH¨Ü9qê H]ËÇmø’ãöqsd¿-rDú`–·jˆeˆYŒ•‰[gWÎþ÷HJñ¶‰˜õU ­|Ç8‡¬ã^ïžùÓ@Æ•ì¼FF°Dšuvåüúû;Ÿ9›bVä¡y]³EΚÍk-"+ÖÀî³JGŒA~œÜñ öÑ,#nÕ˜È,·jphˆYlZÖ2 {ë%Ë1ë}çì°,Z±ÎwÉÓp]êHÙuÜa¼ˈ,Õ–ˆ[shaRsF%r–^ ­-ùþ}FhÅzà+劑ä“7®R5ŽØó!*-#nÕØÂ,Z[d Ê[XFhÅäýJ¶ÇXÿÇÉØÞ«Ã2âVŒÌ1‹Ѳ¨—ï¾X‰YãžðÝ›EBk‹,˜9à ˈY£Ê¹Y$´ŽüŸã_Ælä1³2¹³áZßH‰}csæ¨Á¥G¸Uñ˜Å̓üxXiV³¶H°ä@sÆ6æ¤M*bV,î¾âz·÷•­@‡uï(iqkŽÜ1‹Ò"qëÊDZnÐÚ"‡Ôê–³ÆýfÌ\›EâÖ“³ÒnЊeîû™uÝ>q‰0×¹>h€dÀ$ÆÉB¦ô¬ùÄU¥QÏãcߦϦŒû“µ9”rq~Æ;zïyF¼«ŽÐÐiÖ¹UÄ-D#‹ñ™5*Ï]Í‘5":sþ›–ˆ[ÏÓž&+ý¯tŽ˜8ú10Æmè@EÀ”9rDC£Di‹äªWȈ¤1ÒŽÙE“H 9K´Æôá“öÞ’–·fïï-Ž–hq ñÈRÌ´ÆÈck€9ãæìè%‘˜õŸ.ÐÉ·4b>)ž™¿$ojú˜–H³fEMªš›3ŽÀ˜µ7 DÖ‘7[Y«ýsÇ(ÌHÜ–ö~’–³ja‰Yãî8/p²HdeVïÕ-³Æ™”G›,ZñþȾgùKLõÿ8‰É…ÞBpgöû.˜ÅxhYÌ´Ž=Ÿ¥šE"+2üÆô½,³¶91o ­#§Y¢®£cÈlàF^dWˈ[50 Ä,D$‹Ä­;Ÿ»"k—–V9# »ÕJ„V¼kseÐÛL!/p"ƒ¼ztHFÌb=i‘˜u­™ÖÐ,Y™²ûuKĬsÏ™d³HhÅ‹B{,+»Æx)óÑ‹ä¤oïç!4§Æ,&q ñȲ˜iÝó¹³Y fE&¨»U‹DÖ‘ÛáYDzȣ# =6,#nÕØÅ,³X{Z$fÎ1æaÌ"‘•yÆ·D̺ŽÏÑ$:G>èÈ·fž|“é³Ë*É€IèÞ)¸4G7rê³+ˆ—€Ic|\.HŠ|^÷n’€I‘îêu‰€R¾/yGËÌ\û"ùìð«Ç„%Ò¬Ùµ›t MäT4&)`X‘ÏënßGâֳ峳@dñ|4¯÷ãv2S鹑J‹üà÷c–³Ð‡Ê"1ëÝ?w“èÄ›nW^›Æz¦µ7²#­½z4XFÌBÿ/‹Ä-Ä# Ĭ1È9öf‘˜õ.ù¼À,Yc(”3î²DhåÛ|1ózí÷Ll/’K5z‰ 9Õ³›TÄ-Ä#Ëb¦5z¾xöjˆ[ïOÌ1kT#§Ýe‘È:rÑJü²{mù`äÒ±…ž–·ªo7 Ä,ÆH‹Ä¬qAXîf‘ÈŠì2ñLD–ˆYÛþ™¿5-ZG.sŠˆ¶w&¶‰e\Ù¡_€%Ò¬ê!Í*âF ²@šUq›…–0k¾ñ”Ö,³"3ÉÞêEâV.HŠWå//IÀ¤kÏì–’(å˲9_ŸJO ~1ÐD7 K¤YUS³PwYñ2sÍ"‘±žÕ-Z‘weVb™9êv¤¨W_ɈYèùe‘¸…šÊR4´îý»,³ž|Æm€œÈ˜ý%³Î|ja3SvEÌç5“Øy‘Ä^=:,#f!Y$nå6ÈÍ1ëYò‘ºY$´ÎL¼ÇÑø™xÞȉÄóö/Ë2âÖlf“ ¸“»37 DVdä[[Q"´2UO,‡?w&‹É$‚_ý*,‘fÕh¬"fe*Õf‘¸uoù¸Á,f½ù¨Ä­"²ÎL•í<οLoäA2xö‘ŒPâ8’ˆIPˆIo>àv DÒõä““H$=W>0‰Ò™Y3n7Z@àˆ.½ ÊÑgSXI8&E"Õ×%“žý³ºƒÏRrÆÍJ™;)‹ý™ ÛE"3ìýÕÑÃq ãY ͪhÌRÀ´"‘êÓ,·Þ;¦"Ý‘}k®’±U¦l7r3e;;lXFÌÂÐE‰[¨½,³Î%ŸØšEbV¤@|›E"+îßÕ-Zg¦DΈj£#Ú¨€Ý,#f¡Ë–EâV pÌ1‹qÓ"qëÎçÒnÈŠy˜Ûc4bÖ¸u½Û7ŠÐ:3ƒv´ôvÏð"™!¼wÑšS55IÑÐB# ĬøëÒÊ"‘uf~óˆgÜgÞv#·gÎÒÇ,#nU·`ˆ¬8çâ‘„,Zgfß´wæ©ÉÌù_×nX"n¡S“Ò¬ŠÈ,ÄhÖ»ä3g³@ÌŠ+ÍÒêEâÖèPãù†Y ²b®eÍ[—õš©Û¼LÝŽ+;$wªË2 Ä,FHËb†•©F·DÌŠ¬ˆÝ"1kŒZ—ö"´b†)sÑÇ+›Aàd w^ôJ2àR]ý%Hb7IÀ%ÄL À¤Ör»D`ÒîM"0iÜ/­N”2_]ö¹Kmf ²j3^í`‰¸…ÞAH³*³¡Yã|?šTÀ1¬Ø¯&¸5.¯{¯;ˆ¬˜—ÏáàøE2Í»Àƒ,8Ã1" õ¦£@¨Ô…ÕIÏ|D6i‚挫îÞ¿¯ˆYWîý•u?fžu#·åYŸç6-#fÕEÐ,·ªî’ ÈWú4‰DVf|Ý1kOmÌ"1kt`ûÚ,Zñù™ÿr™yÖìʳ^—ZF̪K¡Y$n!nY f=[>e5‹DV,¸·Dh]¹?`Ôõ©ÝŒØîu£eÄ,ÔB‰[ó²âˆ¬ÌwÙ,³¶7ŸÊ˜EB+~Ú5Úgzt‹ÙÑ£º\2" W Y"fÙân‘Њå3O,Ahf6ÉK¿ÎkX"nÅÏ”üØþ^±˜‚èdñ|¢EÒ¬û«,·ö+Ÿr™âÖ‘W+·@d]¹»k¶Aåù7byþqžÃ2bkO‹Ä¬È9z7‹Ä¬ÈÉù6‹Ä¬óɧ]f‘кr'ß8ºÇÐ?“iÐy ”dÀ¥:Ë%˜„Ë%—3%5 ¥QÑÝ|6%rr¶j˜t]ù¬R¥ÌÌ7’q•™ÔErÓ믫,·ª¢’Pssî¼ t DÖ•›qGM¯cæ6r34XFÌ•B‰YgŽcÜ"1ë}3×±Y$´â]ü—ëÌknä`^sÙ°Œ¸Ug¯Y f±®´,Z×öm‘˜õ挧[$²âµñórK„Vf¡ÍÞê¼g^s‘1²A^s¼°DšUç¸YEÜBD²£[yÞ¬"fÅKá¯Kî¬ùÌÎ%·¶|Øëˆ¬øÉ2›{ÌÍ£^DÙüyÃ2â"”bÎ=Y$²"‰É¶º%bÖ¾}[$´â‡ÍLí1‘—yÍìÌkÎ#–·êÜ3 DV¤®Øv·DÌ:öx d8Ü2·zLUf&r#/2‘ó $àN+&˜…zÊ"qkÏç­n˜µç ·HÌ:sm›[$nÝùÇ-ZqÚù‹åKåöñDþr*ó½s}t±ì=4S¶\pB…M‰ÜV ?š2:¤ÇJáG*™ÿ9V`Ç´÷>ƒ‰}‚®¯³–H³êü7«H³*³Y‘·ônˆ[×|jhˆ[cÜfÌ‘—’L°/2w¹‘çs}] 1 u—"龿í…$HqáÊÄèǼ¬èã¡ß‡|âühJöý"Є+ ÓÀGSÆýác…ð#•L¡³”ñ,)s}‹ì+r}ëäƒ%⪠‹•2ëÊåÜn¸õÌçwf¸õæ{|nÈŠWôï˜Z‹çx™ÇÛÈ<Þ:aq«.0f˜Åi‘˜uÇ{.˜óæ+.‘ÈŠ<³`‰ÐŠ ™—üØÖ™ÇÛÈŽ<Þ:aq«.Kf˜…€(˜9Kß&‘ÈÊt—·["fmùξ[$ne‡fЊ,$™½<ž$gÞp‘mAÞpÿ°DšU—.³Š¸…¸e±%deþÌf‘¸IŸfÈŠÄ*™ã<–dæp#2‡ë̃eÄ,\]d‘Ȋܦyy¦%bÖŒ­,·î|nà­¯e–óc]fÒo#!묂eÄ­ºº˜"KÁ1küïö…æ\™ÏÍ%³î'·~5‹„VŒHó²>Æw™\àEfpSŒ¸U׳@̪p$¸“¹%šbÖÉÝ"1ë™PÌ"¡Cà<@⿇£Ï'²ƒë’QŽ“XOH&í™ÃÆ$“žÌáj¤H®w{I”r“øö÷)¿IŽeÕÑRW Zº~4k^ݪk¤[YŒÐ­'ŸÅ»5I³Þ̸ìV·Þu>H’bVÜdóX ¶çï,ò|øëÌ "%#&¡î’@(½KæX7IDÒš›¸D)î*2ex¬¿Ë4ÜF¤áÞ"]豚eĬºšE"+Ó¾n‰ÐÊ= â˜ÜŸg¦Åù÷é—+Z"Íš—r·Š¸…ˆd1F³ž-žˆšTÀœHÛÏ3$‘¸uä¶?nÈŠ¨LóË63{¶‘é³yy¢eÄ­y‘v Ä,DH ÀœHú6‰DVfG|Ü1ëÜš2?òïqs×ÔXÜš9¸v¤à挒·Þ^”³ -Y™WôqKĬ3wns‹Ä¬ëú¶HhÅío&ßïJoäÕñ‰‹,#²p1—%âVEdˆYk^^Ü"1+Ò:¾Í"1ëÎ]MÝ"¡÷Ò™T<Öagªn#RuëŠˈY¸¼Ë"q É1k‹¾Ò%sîœ#t‰Ä¬ç©¨i‘˜õæS ·HhŤÂ3g±¶=“u‹Ü’u«k€%âV$ šóÆCw ÈÙ3íßk’ˆ¬˜¤ÈtáûuÍ\ÚFÞ¯K-#Tªw1Ê‘wó®`—Å-—²H1R#½cŸY¼ãUŠ Dƺ¯kbI\ªŽ@€K¨"%“ΜÌ2‰€Òið^“ ˜Yð^—(åN;9<;Ÿ™ [äZ™F›×@X"ÍÚº²}ÿ½"1±™uç´¶[ ²öH’·yDÜ:æ³@dÅXFܪ!€Y f!JŠ—Î¯˜ºD"+2Û­­V"fEЏV+Z¹]\N­ÏÌ·-2.’ûww K¤Y50«ˆ[ˆHc4ëÉÂÝ1+2ÜeÜ´Hܺ3­[ ²âÊ»’EJ‰ÌÊmäFVnu|°Œ˜…a‚,/ 1ª,³"QëÝ,Y‘¿nmõ1ëÝç´«,Zñ8&óŒïë:ór9—[Ý#,#fa ‹ÄËBD*KQÃZ—ȶb9Ï5gÓ%‘ЊÝÖ3ƒxäv™G=ɺèD×KÄ,T‚kåN&®iR‘f½ù¤ß­"n½ó‰Y feƸÛ-Yñ°,ï©–}¦å¸•{Ï|µ¯IFÌbÝi‘ÈŠdwySLK„V<ˬßû²Ì\ÚFväÒÞ#kjN‰À2âV Ì‘•Éç^·Dh=ñ*Rœ‘ 'S[ažvôÈ”̩ыI$^ҌNj1ëȤn‘ÈŠÄyñú›,·Þ|<à­xº˜Éº·x;/šAàDòjvÌ ¸4&&¸„p(˜tec“$ef=ÿ:“öÜ÷Ê$J¹7eœrÛóÎôÖ"ãŸ-‰Ìn™–H³æèÄ­"n!Y2­;ò‰»TÀœm?ò ‰$·ŽõÓª ç‰wZï,)]ÿ8]mï£)1iM\‘„àèHyrƒwH(mÇY IDÒ™ÛaºD)çf^ðH·–Y´Ȣ͞˜–·æ˜Ä-³-³FwvÍ"‘µW> ‘%bÖuçóH̺çc³Hhå6¬YþýÌlÛ"ãß-_=-·ª_7 ¤•5Ç7^V‘fU똥\اævIf‘¸ùëîfÈz"ÙÀ•µ¯DôF˜‰ž½#-#nÍžÝ-·P{Y f=±›»Kî¼ùÒK ´â æã SdÙ‘%[½,#nÍÞØ-³¶ÜÐ-³Æìêe‘Њ¥™«;ŽõÌZ-2þÝ‚þý,·Ð‡ÊieU]­,ÅCkÏ8Ýqkôß{/ ĬíÄÃY$²žÈ÷²‘Â2OY ¹«Õƒ”dÀ¥êH%¸„)˜täþ»&HÊä‡I&­^¡úÄ?Ç–ÃWÜÒD–ÏÌ}-[Ù`øˆî–H³fjÒÍ©8LBdf¹-·[ fÅ ÏÕjEâVä|›"+vUÎ\ÞÑAd¢l#ï×ôŒ˜T½¨I &!@I Ò•ûª»DB)æ:âŽF’ˆ¤ÈØJôŒZfÒï¨nž§Lt%p Õ¤`Òý|•D )&6/—LŠt€·K”rké¼nÏL|-r®H|­ž –H³ªç7«H³*³¡YÕýH*М3_w©ˆYñâjßGâÖù䣳@ÜŠ¤o³@dÅZ«L ƒL¡mäA mõ°Œ¸…e)jXñH: È1ë¾rÒß,ZÏ8&ß<(u&¿6r ùµúXFܪÖ,Y1W±n‰˜õÜù Á,³ÆÍÚv5‹„V¬ÒËDÝÑÇdŠl‘cAŠlõ°DšU}§YEšU™…ÍZŸ| oˆ[‘:ðmˆY™X¯Y$²bÅ_&ýŽ~;“d¹‘$[,#n­]Y¿ÿŽè¤(^ZÛ›òÍ"‘k㉄,³"_«·­g\Ê2áw K2õµ‘éŒÕÀ2âVu¢f¸…ˆd˜5~§}m‰¬xÿ`;Ü1k;*nZ$´bud Û5óm ¼H·­®’·ª#5 Ä,Ä#‹Ä¬qmÝ› 'ÞOÚš$bÖ~æl¼Y$´bùçvf<{fù6p!Ë·:‘’ ¸T=®$“ …+åÈåæHŠ÷øâ%“Žëã± ôŒ&ó•ÇíJæ÷Ù6žè a‰4«jjênÖõ~—bV¼²›cpZ$ÍšÜ*"+Âf.ò¸í|rd+ò|p¥E/ ɈI50 Ä$( DRäÙ}šDB)^Ão˜òä¼; bo¦;êLÊmäDRn`q Õ”¥P`ef¾×-ZÏFdÒÈÙ"ëŠÙ¹¢?¥ÓiVõýf1+²v­Í"q+²£=Í‘«Šó¢ºTÊwi­Õ[C2bF7²H¼,´ƒÊ‘ïçÄSwY"²"WÙÓÊ¡+¢ó²[ßl!ÀtÔê‹!q«Æ#fmlY¨©,ECk[>½(9‘îi%‰˜)àîf‘Ðz£Aâ:ó…y4l ¹³'¦¥¾¹YsLâVRÜš™„͉L´]*âV$°[[­@š5ÆL1 mV³bíx&êŽÙÕL’mäB’löÅ´Œ¸uT;È1‹1Ò"1+2Ñ>Í"‘©õb~Y–ˆYã~é8›EB+ÖÇo3¢e¦Ò6²#•6ûdZFÜš£·@ÌbD´,jZ‘Šön‰¬H°·¶z‰˜u^9;n ­7ú˜,ÿ¹fBm#ï'lõÜ”ŒHªÁ‰I$VR…c%HºŽ|în ¥ÈÁ·¶:‰˜tçì¹K â-Ìiò¬8‘y7}6¥F.r¼D‚LºÏ|‰^¤H«·šÃϦÍ"‘¹îbÂZ–­xƒ)Ó•ÇJŒ7ÇÀ"{\Oz— ˈ[5”0 Ä,Ö•‰Y‘ön‰¬LÕ×,³FHûÕ,ZñV¦+õ-™Þ[$zÎ÷«_…%↲@ZY‘•¥¨ió7&›bVlRî²HÜ:ÏœØ6 DÖ{Ž1hÐÎ=ów¸¿›ýi9úl t¼„Ç‚\zòa³I’®ó­&(IÀ¤ëÊ©jI”â¶ìoJxOp2᫒ DÜB=e±æfgvl²@̺îÅ•ù±ýýÎhWŠÈŠ÷ì"=O,eËôÞï׌à1©†A&Hb`”,TJW>w „Òõ´ ÕGýù]sFÖ “Þœu R¼É—‰Ìc_¦7r"E8GHä( H"VÒ{æ&¤V‰¬HI±»DàÎÉM]¡ï f*óX‡™©’EFWó ƒÄ–H³j@fV·Æ-S<÷6 Ĭx³9g!h‘ÈŠw#×YÖ9vy°[XFܪ’Y n¡ö²­H›û4‹DV¼/4É1+Ò·ÝÍ"¡ïY>Ù…íëLëmä@Zo ~`q u•bVÍ"‘o¹å $-³žš”EB+Þº}æ¿\fÂq#;Žkˈ[5„2 Ä,FD‹Ä¬q_w³HdÅ N9GKĬ÷˜ól²HhÅ[ÊGγ­×LKnäEZòl@ÁGû;FQRH¼”ŠÅ 1küñ,Ú,Y‘K-çi‰ÈŠ×.2bZ"´â5æ5Çwëž9Ç \È9^CŽ2ðÉþŒ± /°Å*éÉçç&HŠ$j›WHÀ¤µf)PŠ×³3sz¼ì’¹ÍEÖ ¹Í5œ‚%âj*‹u—•©…o·HÌŠDj­(€æÜs`nRYñjyfa–ÞóŠŒ é×8 ’“j¼h%…IĤ¹ÐÀ%J™íuIDÒîå^ ¤5^ËÎ œe›‰ÏœH|ÎA%$sXMJŠJÚóÁ¸"+$ÏŸ–ˆYãVm½›EBkWÊGÌñz[æ*X—©Ê9¦¤r³fMÝBÝeÅêÑÓ¥Í÷”Oû>fE2õ&MÐ#ûi—&1kæ´*Ñ¿&ú瘓–·æèÛ-³"‰D“äÄ‚´˜j•$Bk´k¶Õ:s™9Ìœ£IZFÜšãe·@ÌBU)):×|šm‰¬L6÷¸%âÖ™ÓÄnÐZ#ALøÅ;¦™¦\ä]¦œãDZ"Íš£j·Š¸…ˆd1F·Î|êíV³b•UôŒ²HÜ¿{þ²²@d­‘â"Ý\žj/$¤æ@x*öÑÔûh•v%ò“ÉÀ' ™`M†>š²åŠ{*ühÊEª¬>RY#¹Äš?ë2ó˜Ù‘ÇœÃ^ZFܚ÷@ܪh%0'Róv‰DÖÛuºD@g 1Ó¯’gJt#ïçktKɈIsPïˆ$TS ¥L·ëu2B)ž*Ť¤$Iç–ù+M"´Fz˜_îùûòã©ã±²S±®Ì‘<|”¢(ö”)‘d÷–ÂRbê3¦¬JÑGSžÌ@@…My¯¼†Â§ýýÊiôÈʰÏd¶|5Ê¥%Ò¬9Æw«ˆ[WÀ¬q¯ Í1+F”­(9Gôg»×JDÖ‰Uî,êœÙÙ<ÈÎŽ±0%sj°o‰—„øTˆYû‘—Í"¡5â™ó´Œ˜5ùën ­5R°Y×mæ]7r ïúž{35µA²#-üOöË,#nÝ™¾Þ-³X Z$nÕ¨Y nÕ¸Y fmýë¶þ]kÌÎçqµÃuÁ­è1GgPD¨àV H)GfÿuEDÊ™Ï_])"åíý¸'×ßAJYãLÂã'ÌœÀÅÜó±ùyÞ•dÀ¤º[¥ƒÏRr;Ê×—ê¶^€Kø (P:rì³K2@içOãìÌäÕwµÀ9Ï×ecêùxØ:îüetkÞ§º…;W³bƒôq—mV‘nÍûz·p§ß¬ýëõÓÈ:—5ÒÙ™U¤—5Ækã.Î˚ĭ5ÓîùµƒÞˆeÆ[)Fx–w²®p߈%NqSD˜¿0ïø¥y¿8*ú)q×{ÄÌ)"u«ß—ü1¶™eÞÈɼö±à|Ì2âV®`nˆYó6Ø-Yu«o–ˆ[h}Y ²b`9.âf‰ÐZ£õâFŸvΆ˜à]™û>VÅï¯I"ÍÊkp³Š˜U÷¯f‘¸…”Å6u+' šUDÖ‡PF{Df¿Ï‹Äk–·¶¸miˆ¬š0KDV¼EÕ¿QD–Z–·sYk\––dëÌoä@þø5n§®f‰˜5:—÷n‰—õÄw+ Ĭq tmÍ"¡emX–Y5‡b–ˆ¾1”]ц1ļfKyä¢_cMÖ‚‰[c¼žÉ1‹­CKíeVìoÔ¤æÄÒË<.Ç z^”n$š_cj^4%¸ôÄñï€I×£$“L:o7λÿùº3qƒ I±¯_±¼Êˆu™éåìH/oÁÊq ÑÊ¡…ùYFÜÊ ›fè¾Q„VŒ;×¼<Á2ⵯ¸ãïn-Û;}5„I &UÔ&H:¶è \"1)v3è%þö”D )bHF~©Ó>“Ì·Z.Çwx´,`Z¬¨ÊR0°"EÂqº%âÖmˆ¬ë˜%sØ2”¬õT÷Š:fŽÞy{ÙÛAÛÁ,Dme¡d¡ª”Xw:úÁ ÙOèß÷Æ 3÷¢Ê¤ðF$…_ãŸ!-·zAçw)÷=®¸µÆ4H³@d yZÌ‘•»¶¶J‰Ø72âm¦o­²œßm@ËZEV/èì¥`âUŠ·žÙ³š¢ïR,ø:—.q²H¬Þˆø¨m¬ ¸M‚"–Å6p«t~—‚L ˆ[¸œÊ1‹¿:-²1-µÁoõ:f‚z#7Ô#:*ó£ýõ¦B"+´Ü­ Y‘ å8Ü‘Åk-Yj)X"Vûq%Ùã8;VÂ$‡Ž–ø‚·[ fἕEbÖóÎq˜,·®ˆ™T@θ˜lyKLIDVÜ7çõ”–ˆGXQÇäùÕÛaA2|EmÚÁ,D-‹í@ 5d‰4ë=™YEì¿Q1š…«…,#Zbÿ<­!ö )ñ­!(˜Äv€DàRu ’Lµ‰$þø$© Jø­NË̇ßj¹ÜßáÉRÀËw‡+Ë‚Ùîf‰˜µîsÚA‰,žæ´DÌbãвöSŒ±éÅŸœ¤8æ“äý`<ôÄ–M"1iž¿æ ©–ònŽˆI˼Ù3 „RÔqi%‰¨F[æ`÷*‘Hb¸ÛLuoäDª{‹—‰[±¤tððN’³æÃ;·Hìû¿D¯´D¬,DWŸ³·Ã†D÷ŠZ–µŒ¬¶Il9Õ'˜TÄ-\šd˜Åßž–ŽYŒš–·ÌßëuÎtøF¤ÃW„’ ˜ÃºS"‘ù¾îÓ-·ŽyŒ˜"‹'8-³ØZ´H¬öï>ç¨Öu&Ö7r ±þiÄr†Í,Ykf‰xí+îãÅ!Öȥ½%ÌBK¸Uq›…– …5³²Dš•+ØšUľ‘ñ£Õ × Õ ¤Õ-qÎÍ Œ<ؼÀZBˆ[h Y f¡oEb.S²Hdñ %be±%XÉoõÚæ­¦ëù#-‹zýîƒeY<°"‹v+ŠÀ7V4 DOvZ"f±mhYû±î×5Ïн6ì9¸aÇ[ÔW³@šUç±YEÜz#½w³@š¹à»UDVL=±8˜–ˆ•µ¹¡•EâßÈ–8æFnl``-A‹Ä-´„,ZXø-Ë-¬F—eDߨñ"fáÊ!‹Äjϸ׹Ak›õún ZÖ6²·,µ¬ûûI̵J -;&Ê2¢²7Êò¶ù[½âEü»×kùœ_!š„%¡¦’XwJ±–þj_GbÒ;×ýš"‰§:%JjHÖRªø[•„´æ‘Lpa—‚5W¯Mp)6¸h€I8Ë)¸4n—šSŸ¥Äұū-@)f™c¿ J¼Úˆw™›´&Yïï¥6‘…ˆe©QVöøG¾Š!KĬ%¶#h -‹¨¬4Ê:¶9±Æ¢¼îõzá&yu´TÐ&˜T1›¢½Hê}JF$ÕË!&‘ðëøËóëD(!`:ª6ŽÄx†±¶cs=±‚5 -³êˆµ¢ ˜ƒ‹®$/©:O+ D;Z"´thÀ2âßXQG~œÞ5¯¶8PÔ²¬ehUØV[*ð'…d?²,¼M$‹Ä¾Qó ½eháøÅ#ÆêŽ_#2õÃò`ý²HÜB›Ê‘qçM-Y÷ÞÊ¡¥K=,#fá÷—E¢oä…'V níR´Øa½\³2 Ĭ5vÂh‰,^Uh‰xYuÙ´²@dáL§D@'çWÿ>#áŒ:ój]½Vl‚À¨ÝRËЪ¨Í²–‘õä›vnMÒ¬1`Œ·öÌ*b#¢Õ¢FYG$ÖjeôÑǧ5Ä¥íß A À$¶$J|’J|’}]ýöü6~6…-‡@ÇH ÷î~€ÞïŽ-x8Ê1‹mG‹DVì;tÝn‰˜µÎ•÷f‘ÐâINˈY<`h‘xíëGT{wÿ™—ÏöuKâ‘- ‡±$Ø”b3¤xÐ&‰Ä¤1®‰•C&PR0ZÀx—nTàn‰UœM°ÏýŒ\Ø?ÁÚ€‰YlZ$fɳI^Ò™o¥zI ²xpÓ¡eÍP–‘_¾12Aý3?^Yo :›UÄ­}›QËie­ß[ËËšcEUkÉaÔ”Ô´âÙó¹{Q"­Vh‡kîÃÐZ¦öa°v¥–¡Åv e-Cë\cÊÇ-³Ž%n}Ý"¡e1–Õ¢FY1ËnT–ˆÇˆ¸·¹_ƒ‘û5Xܲ@ÌbÜ´HhñågZFdá%cY"úFøF³7-±ŽË«v)±c—»”ðÀ”„C×´ •„6•/à^­(’fÍ%–n‘¥s–ˆ[8Jdñ¸±Ú㈻ι˂‘»,¬±Eø³u Ä­;ïÜ1 Ç’,³p¾È"‘Å_––­XDz¾^/#^{Ľâx&9tÜ0nY n!nY fúªä¨RôÑ+‹—ÚuBdçž –ˆ,Eª²@hYEË2¢²*ŠŠ"ðrÿ­Ùû‘¼ÜGÉd‰Èb Ó1k=ñ:®Y$nÍ··Ý¡ëÀŸœB‡eDeáo•%"Kqï•_ädVyÅ KD–â†%âÖ÷¯9¹»^ô–%" ¯UÀœkÍ—vM"1«^Ñ4‹„V¾@¶øQYõ&§Š"ðšWÌ'öuQ+hgÆLK­ A[QÕ æàZ Ä-œ›²@d)fXÖ *‹W–Eòk½ÎÚáBäáþŒ€9¬;%Y×zäkL²DÜzò·@héè†eÄ,¶-«}½H|kíp!rp¼à,KD\+ Ĭqmšµ EbV½Ÿh ­xa½Ü2¢²ð£ÊñÚWÜ£™fk›¯f b óÕV [åë äü¾VIáy»~…Å£_XÀßkr̽.n ˜Ä C"tmo¾¤CIÀ¤Ñ¢Ûæ%É%¤*IÀ*^/Ë^ÇR»]ˆìÜãoðÊ‘Å#ÔÊ1k W—½Y$fÕËwf‘Њw#Ÿ}3ˈÊÂ+z*KÄk_qï7K¶ÍW3P±†ùj+…­òuBgžžËWèP¼1¾Î{–Bò÷ºìµ…ÈÅ=-³XiZ$²®íü¼.¸Sç…I ´t8Ã2bÛ‰‰Õ}¾_3w±ˆíqøÒÁ|KU‰YËù­^[í;!rr¯ED‹Ä,Ö•‰¬¸(çT)-³F¯¦˜EBKG8,#f±uh‘Xíë5ȈÍ'Hâ½zæ ™ïfÊ"1‹G¯Êâ.ë\ÎÌ*/‹¤YóÅ·ŠÈŠsõ/$0/ßH"ñº³N©jžlXÞ2<ºØ,ËZFV]Ì1«NPIÚ†­€-`¬Yx^àjÀ‚D~«ÓZÛTˆÜ€BÑÈ1 ¥ '†êO“DÌw|çÞ,Z:ºa‘ŦDàñÍW¿â†ý®÷€‹Ä>ru(Ô»f’H$ñ˜¥¤ãZR~¿ŒYûóö]¥|=n3‡@ Þ3‘C¢/SèGm;á±ß±ÃòÖ€¥àaysȪ“ß,Y<U/Zj…’¼Yàðä§$ò[­–ÚçBdçŠGˆ,Õ–ˆ¬˜Ëy.·D̺÷|‰É,Z<¦! ˜ƒ¦¡àñÍלbBwnb!òr ¼X%KDZ+‹Ä¬ÑmÇ5³HÜš¯¹B+r&£YxóH–ˆ}#ãÞ+u¿· R÷+nXÞ6°7˲¶‘uuåêÇy)E„–E\VkX¸Èù®Ñ¸Ç˜ûXT6nbÁ(LA\²XKZª·¬˜òMûd‘¸UgˆY ²p`S"0‡­BIíäÎ÷ÝâqßÜÈBäÑõn™,Y³ÙšEâÖ\ê­ÈWyœ»YFhq)-#^ûŠû¹jƒ‘—<0nZ"²·•bV] Ì"1 '«,ZŠ–Z¼Ð2ò[½öÚâÁkºžß1Ò²¨i±®´,X‘”(ÞÕ•%âV®Zh-尌вÖ)«µ k?×ofŠðùˆµÀ³qƒ,*•DbyzQEÜ:–ÌemH³òŒnVY™ 4&ùi‰Èââ9Z"­öÕgíï@ðp{µ$YjbeÕZu+‹ÄÊÂAe‘вv(Ë-.¯¥eä·Úoµ½ƒÇ³^ßµ‡åñÀR]Y–Å#«®f˜…+•,ZwY­m°Ñ¯°ŒüR¯ë‰ø[½2?zÑ,Ähê*‹µ—Y ›МùV³KEdéL‡%âÚF[ËêŽóó:æ†7÷zàé) À¤:¥èà³”Hh˜k8.U;Ñ©ÏT,´éëâ+È€G†h×ÚâÁ{<(\YjZ˜’Z„Î|wÜ™«†]¡eÑ”ÕÆ>¼Â2âñÍÕÌñöÌÜæä²]Xæ"kI$’XS•ĺKºòÞß%—æ*Q—ŠPŠZGö²D(q%)%û:6Á^;Aˆ\ÜãAmKD–e‘¸5y“ ˜ƒÃÌjBËZ¡,#´ôÃÃ2òK­–ÚâÁª‰$E¼~÷ò²,X‘yyÝq+_Œh-°Œ˜Å¶¡eí§çRæx©rî!òÚÎsµ,YŽgßoe®¹–%òüýxVY$fÕúQ³Hì×V©úÈ¿GâðJÁÐÎ.µ¼”Ž€Õ†Ñ®µY„ÈaO Ú•O€ÈR´,‹Ä­º˜bÎLY$´tItx!€#ðK¶§6‹ðZ~ÿ¼&)àïkŒ$‹“­ï3§ó(‘HнVâÍ^I$”tHC²Ãž…Ž5Û÷A¹µ„ÈÍÍæQH¥>êï—EÒ¬L>áÒrt|C1‹-CKmåÎ¥-ñ¶ÏܤAäáö Xr#KD\•EbÖ™yÜ"qk.p „Vìq³”èpI%#ö}Œz«¼e¸Ý£†å-KQ³,kYu50 Ä,œ›²Hh)ì’¼a°¡¯ŒüR«ó©ÍT«õó IPê)‰5§ôìO&*’DbÎI<— éà†d'€¤j9h'U»V³ìs¹†>ÞÚû¡–ØìX‚Rx°¢|4eœ…‡JÑGSê‰8~¤’{×eO=×è£<1/E½ºˆr­=!DmÁ@a‰ÈR¬* Ä­:çÍ1 ç ,ZtYFh鬇eä—z76…`½mˆÌBŒf¡®²X{YÏ™Û.˜EҬܤ¢YEdñp†¤Þ´$¶–Õ½–+ìÇù?N®˜œGD­ %"«–5xQÌcµck‰Yõ(Ô,Zñ/÷c–Yx`*KÄ뎨—Ú`Bd禊–ˆ,†­¢ XIµ4ÇJ"ñ’êJ`Eв¨Ë2" Jd‰ü½îû…!^nÁšR‘ÅšZQ fár(‹Ä,\¥d‘ÐRÔ°ŒÈâu‘–ÈoõÂf)"Ú,EÑ"1‹u¥E"ë¹òø4KÄ­Ü|©Y ´t¦Ã2"K­KÄj_‹b–bî.A2ÆÈØ¢ÖTH0‡ç°•TÄ­÷ÈDèf4kù. DV\ðïë%bË"iµG;œµ1öJa3”Ã϶é [嘄‹"%“p…¢Dðè¤`LÉ€$^! üV§ùïAmÁhh‘˜ÅšÒ"‘õ<9”7KÄ­Ü+²Y ´thÃ2b‡‰Õ¾Ö,ÄSÖ½~ž"±?\ µ”B‰$´*‰6¥g9# ºWæ3awŠPÊþr¼IDK"±j³ŽÚB俦jX"²Ô,‹Ä­º˜bNIY$´¬Ê2"‹×Z"¿Õ‹û¤ìÚ:‚É1‹u¥E"ëyò¾Î,·êD1 „–nXFÌbëÐ"ñç®VÌ &Hb:̼Ղ Y$fñ॥ÜʪgxVH+k>Só²ŠÈŠ›åårKĬzô& À¾Oí°×¾"7†P;À‘¥v€%âÖ¼˜T@ÏOÕŠ„–µBYFdñ‚@Kä—Z-Ø`ÓæŒFˆ,Õ–ˆ•õæl¨—E"ë]bËq“èèè†dD–Z–ˆ¾GdLÂìíÉsÜ–î_Ï‹e‰ÈÂq+K„ŸüÒ2" u•%bßX³õ1±z·'v[l‡î°˜É‘…Çx^ˆYõÁ,ûÆùpþ€NL‡î¯×ʈ,ãºGŸMa;Á!ðj#Þµvw9¸»ƒ¦Eb#VY ´TÓ’äèǃ$âßW§ÒÍ-J@žµŸY4 ðÀW<9 ì9NpDJì®×Œ ðò$›†ý¥àaˆ’¿×ä¨DnîÆÀÊH*`›Ž‰¬÷È5uf‰˜…cX -k²ŒÈºÇ­ûéeñõR»1ˆìÜaK*`£¦DbÖ‘wÒn‘¸u~}‹¦$#²t(Àñøæ#‡íº+çrµ¢¼¤ùã[AèX”dDÉù¥æç[;:¨æ÷a@E)±ærPQ+¨jîNÿ&q«N8Iä(bHÖ²xüÓ"ùµVbÕSÇzÅ'‰ë˜:¾…Â=ŽãÓ¾ŒÀ™žÊ%Wç®°Œ¼?cdYÛéì›Oaâíâ¹›ƒÈÉ=ðtH–ˆ,ž·VˆY÷LÊo‰Y5¯k ­X ³?»YFdaöW–ˆ×¾â>žÚÙA-±~¾œIRCPbÔVÚA.…’@L•I%… É.„t~«ÑY»:x±ƒ‚£eáÒbÅiY(ÿ?[g–-;ŠÁ½£yXTïÿ·„»Y÷«ûÚ³BD€”Ê$d½gÿQ¬ZoÿJ-[™Ü²@b%W²˜=÷¾^=´ZF]‡ÃõôJ$VH,O[´%k Ž•ñ'ÿýé[-S±Õ¾#·<H,­üÆ a¿+âý®ªÉÁâJ ŽØVrË£-å–.±Dh餌å×Vâ–…LÄòeÀ–ÉŸýRµö4sF1ÚBÔ9{Ô{[ˆÇ3þî¿è…B«ÿüy²DîÿÎxY °œ/[È {ß§å¾Ty‡úswEÏI("°<³l™ÄzŸö+HtúN“$b ‘”ë›ë:Y&Œ°…¼]UØ¡þ|]‰ÁñB¥xc™ÀzGMX&°êm,[‰EH,_l…ðˆcÁýKLUuI}½ˆKËòlKV-eÂ2‰õ.ý«±°Blµ/”ïcÔʉ¥%ÏX!ì}޾UÖ!™Ø\‹ÁqÛJ&b9n´¥L ­z父D¦¶j -Í [‰[2K¯Db™üÙûsTwx\“!/) Rúî– éD°dIgž%KHÂ"ù,ðWŸ¶ÚŸ½\îßðl!àå÷ã>‚‘õ¾}‹$X!¶¶eÙû& ¶@lår $V’#‹ùsïur.OÕw0i…Þ~ÎH>›,ù¶d‚–Æ›4T€íô×lf+íW2K¿×•ÉK&èÃ?ªHDÈíʉߖI¬$@V¬·ïEË„VMX"¶‡²@`iØc™ FŒªLKÈŸ§ºP’¼Â‘+ÑÈbÄ®8Q{Ç·ºŒU¢H+P§Š Ú;>–ÈdÕÞñ°ŠÌV/VAéü÷§ÿœm’¡¥ýåc‰ÌÖÑ—{h B+yØUÛÁär=†äAV,çÁ–I¬6híWUcy]A]$@§z IÄVcÔ–êmÀz·þƒRX&9¢ÇÂG ±•¨e¤-ϤïJ[õ&LÎÿTˆKó-–‰­m]zµ²X ´zu·ÉÉ¿Åm>bȉzÊÎæz"ìýxåòÝŠjŠ<©.¢w{±L`é}#Û*B«^ÁáëÅ Ž(«ý¾yïã!+$–_Ù ™z¯Lœ£ÐCÀãò IDI‘’·$ißÇ·d@é,! C°¤—¥rò÷_=Z«ÄCÈá² ‰Å– ,÷3m‰Øú>yûFȱ@`mkßf –‰­ö[æë}aØBjÊaï+îë©rÌJ<8îXÈ-Ŷ’›²ÒWYS<²4h–<Š8žN¦ë¨!·Ë2ød²Ëg@Ú2uö½„h™Àª÷ì—ˆ­Œ†,[~Ëa „Gì¯UZY¢QãÁ`wY½ç‰+=MS"°®¾É-Xµd ËÄVÛÀb™ŽbË Û¶@ØûöyW$fÝ~ò`‰™YÞJ±©dÆ–F?–çÛªY‰¶4Om%jYSfÖŸ÷`¶0þê×^%B.fHŒ¶Lh©÷±Dl}שþµwKtzq„I±•³@,gË– ú^¯VÖã­&çæ² zåË–ç.Ú*Bëºúæô°DhÝËo["±ÚF.W[·ËKÛ¶B¦Þ+׿mJÄ‘Š%IDIÌLæ–òà–’KºX2€T'§ýýæ¤p †3ådýyë+ à¯õ §..ÊXl™ÀRG- Øùîïþå^K ´z%ɱ•©- –ScË}×tÜŸ*ñ)»ª4ƒgc$ÏØHšA‘<§$mËÙ*€Å1 òô¯ÇÒ)b)¡HBp–Öý›­%tÛ 8«¼S²¿°…œØr l!)¶žµÿ–– 8^dñˆ"¶bYSÐëÏ 0[ <âxÁ¶îªyr¸$ƒ^üÅ ‰•¾¦-XßÃn_Šˆe«^hÁ2±Õ«f­´@lùµ—-ö¾âÞî*ïL,.Éà¸m%±7ÚR&`iÄòœ`[5çЖf¡­Ä- ™°• sâ¯~¿su»ÿ;Wc!êÿœC°J¤,W/— „ÖÛ¿WMKäþïÙ! –óe ÌYÛß½®ÛRõ v—dèïBcÔŸùwÏ[4"bk[–^$­ñƒ–ˆ­¶‘áŦìø-‡%ö}„»^U×Áàu)†°ú3ÿîhш,]b™ÀÒËĖÕ`'WI õj¯rì§J0$[ˆÙ–{j ѨèÃò,caN­ýß3Kìd>K‰åÔHBòÜóz©².os0Y7`Ð X"´êÕ Û*k[Ö^ (VÈdýñÒqÚÆ¯ûÁ–BbùUˆ­©ïÊÃùïÒÐ*¾í¿idÉYpK‘ôÕR€¥œÿ%XB†`É/²$üÕñ­J:0”õþí¹,Ʋ޿]/k &V]a‰äˆº.¥[vtIS^ÖŸ¶@þÛ«å}ªCzµª^ƒÂ¡¤%©£vÒó´s÷òèl§¥ºL@Ò…Ã’Nn;>Û¡TNà8K9XË{T †Û%tzر¥“–M°Ó«@.$[>gmðxêé:Ê&LѨlBzZÖÍúüô=M9;ß?¶=Å ™Ðê?¸¡TÀb.iÊ‹- -ö|¬M‰À:zùcZ&°j–‰­Vš`ßÙyXZæˆÂÞ°o•1H G- $ÅD5š¥¹Ë–fR,[‰ZH,Ï][!õk«Š!§Ë"$"[&°ÜW[&±Ú=SÛ!V¬ï³}ˆÂ2±•ó@,gÇ– z_Kmíqˆ"­ š‚ÆúŸ¥K™»h©¤ãî[¬Ctöð”D,µoûf¥HZùŠdÂŽ+gm*òx»øä ,[HBÚ¥‹A,XunF°ƒ,”Ë—[!õj­â!‡K$$[&°ÔUKqÚ¢Ât8:ã÷3”DlebËåÌØ2AÏ5ϧJdή.à Ë“–æQ,ϬXmé±mËd²žþ“ZEb%"YSÔ²Ž­[4’ûî<ž£")’<Ø2å<¿g­ïèm‘ – 8V¼yD[‰°¤€8¾X áñú*| kÔP0Ø]BAËâ–@l¡ŸiJÖ=6”†e«–ô`™Øj•¾öí€K ±BØûö7 ¶wÊÃâ" ŽZÒ”™mûÉšJfliìcy6°­šmhKóÏV¢–5efûý°°•ùðW¿ö*£r¹ØBb´eBK½%«½›ëç¹­XßXëd™Øòi )޳eÉ}¯¥çvõEL¾6UDAKâ¶Bbe"´¾”¶ôKd²ú¥â´‚woϲ¤XZŒe2õ]y¸þíSZQµý7 Cšò²í¿YpKI‹%] ,@ªSÓŽþ¶‚ gʉ$_$üÕ£­} rêÒÙÖ ‚³eKµ$§½»îOó–BhÕ)KÄV&¶,XN-ô]ëOß3Â;­?-­®ZIZ‹$I‹T‘D }Ϲm]H"”Æòœ¬´"˜×ÔíH^±d‚ƒ9gc`JT²!°…œØr l!)›—ÎÆk[ lk\ÐÔþo>²PÒ”YZ´dðWÏU›$$µIÒOUC Iw4M S×@H"°tQŠeb 1—ËWA[!ôk½«Cúµ¸\ƒ‚TÂQO#¹ï±Ú—ºÚ×c™LÖÑ~bBi€89¹%…Àrfl%Wè»1×£Ê0„Ü.Ö õÐHpêÌEC‡RWN«x¼¯l$–—Cm…ðxêç2J'€ì*ŽZ€£Ž¦¡têÚI–®'±Ll!æ²@bùf+ä~-WNy]^AA*G=d«}i·ÏY[!´Î¾_-[™²@`)7±Llù× íÕÌ>ýž¡ýw›¹Æ¯lп^ %«m4¶MV­ñËZ"¶ü‡ô>„ÖÒ¿ÜJK$VÅÝßè]ל —Qܱ Z=îÉR&Rž¤o;@Kdj«xŸÛ*2µU¿ A[ú•­ŠV2ÁÞ÷Ìõ}«ëúóQM­ªJÉŸQjÓ­øO(ß=ƱGñŸPƪÿi¥eã:| ü¥V¤äOÈQnUA!ät…*+$Vbu[&´®ö­íÉõ Ðwñ¢eb A—«V“a…üѯž¹_«j($"XŠ–ú˽‡õ.í×´D&kÿwÏÒqŽïÎà½)…ÐRnb9[ŒPy8G [5‡X"°œ[&¶Ðû²@byÌl…ðˆm͵?ö‡êhRH,ŸshJÖ÷è|l“ek,mÒ2±u\Ï¿}a¿@bÕ(¬ö~„}ßž€•×IÔ–’‡s¹¢FSÊ,]Äb‰ÐÒµ%–H¬D- yˆå«™-“?ûuŒº —ê F[&°Ü{[&°Þ»m+DË$VûAö2õ+ÄVÎOY °œ/[&è×X„ïßÄÜëƒGdWå-ŠÃ ‰åÙ‹¶D`}w^ËÔV­¾¬7Y"¶Žï®ñ½xDXcõ’û^Q_W¯à’ ZR@$Çœ– ér`ÉRœvô·•„[@$_ $üÕ£½M¸©K§ê [&°ÔQKqÚöýîËR¬uk“—–‰­LlY ±’Y!èûXfë¿óØkhŠ´rjzÌékL"ÕRÜÔRH_O—k’D(µÇ÷ÉÀÊñ=]Û '$R=áC2a·•€sT=yTõ+)H["hk¼Z`[&hKçÚ2±…<”«Ö?a…üÕû*r¨êú*+$Vúê¶LhÕ•–,]šb™ØBÜeÄҥВÁ½:žQô½ZUõ ñÀR„°ÔÓXî{¬¶ÑÒ~Ò2¡µíÿ–éˆ&±r’Ë ¡¥ÜÄr¶Ðû±ØÖßUsÐäÎ|K€°BbéFSàÜoû‰=%Z}Yd²Dîœï÷aǾƒÄªÅX!컢^Gå]•µ¬X;M S×DH"°tŠeb Q—ËF[!ôk¿G ôkQ ©"„£žFrßcµùö©)“ÉúQæÏÌ–‚ÙKY‰å<¡ßcá®òŸõ&—ª'h9VH,ÏZ´%ëÙṲ́eBëjçñd‰Ø:¾ÿð=oX ±j©V{¯¸—Q=dSõÄ-+$VâN["´êZK–ÎÌX&¶wY ±|-°òG¿¶ëß1u«•WÛBŒ$I=µd©íZ{ñp¾¸þhÉÀR&xI‘œI踦ä¶ýNÒíüerþw*£-‘3Sù›‰ýQDÈùß©l+äüï)ö}è.÷Üûßó>J‚ùé7Zq$•·}¦@1±òÝ­ïS_Lô•*…Éø´(5uW«lë9ê(€<ª£U¯X&°j1MˆÓ¶Z›:õôIÄÖñu³Õ»ˆËk¶BØsżŽ: ‡ê( f[&°tš*`=- $–Wþl…ðxµ¢ò=H.Ï´ÆÒê–ý®ýÄå<ÛJæa}¹ìk±D&«Ya‰u|¹yûª‘¬X~°µe‰cÔ?¹Uÿ™°e+™BkL^Hp<Í$ôJÄòPH,Ï][!ôj%vU@@4‘Db¥§²BÐÖ{µµV¶eBëm+Ó“%b+ç,XÎ-Æ8–Vž·Š‚d±eqU/øÄò,Í]´åù këâÓ*2[ãyV=ÁÅ:¾¼Ú¢-Zzª‹åç<Ñ™ØGKu Y!±’ ·eBë¬LÄÁëüÄMl!eÄÒ!VÈýzÞQýÚªB‚¤-¹§–ÒwK­@b»•ŠdBéh/^'©ˆ%OpK!”—H΢‹ Ïw¿°®\fhÿÙâ…§±Ø+$–§rÚ2õ=LµåX&´ŽY9¦?¿ëÓvïP@lù¡ÎŽåˆ·Q äT%D,+$V"v[&´êÒK–NËX&¶wY ¶riòG¿îgTB@¿VUBHD°#,õ5–{«}7Z&“u¶o—OV‘X™Þ²p ØJvd!_è}-*<÷é)(ò伨¥ŽX!ÏÏ\FC?­´ û>)&´Žöx9Y"O΋M‡yr^ÔC-ö[¯£È¡ZˆXVH¬í·¡ã÷ßëE–ÎËX&¶qY ¶r%òG¿®{ÔB@¿ÕB¨p ?ÿ®^Fq¿cµª›ïJËd²®öÝËÉ*+sZæ=,å%–3…Þk6~÷—ë6ÍÏVaíü™Ÿ°D`iÅ2‰Õ¾÷t^´B`ý»õ´Ll!Ʋ¦¨m=ßgì3Y&ŒQq/£ È®*ˆ;–,ÇmËÖyþ½°eBk¬äб…ˆÊ±•+,Æ8˜ZÕ§‡+NO«µæ®±èe) ’{ê– ]W{É€ÒX$`éüîÝúã$Xòʈ$Îïíë²ÿ›“²\¿9ŬÈJÌn i‰UCK–&ú%b a—5ef¹~&ƒ,?úu¼£úµý;~B„¤#©§‘ÜwK­hÙäP©Ëœ"–2û%…DrV,%Oˆm,Ùµš€Ïøl6yTÁk±BbyÒ¦-XßõùÚ'Ë„V+0IìœßÏ»]@ly9ÑŽç¨Ud„™Q)’D-‹™‘•¨Ý2«®°D`éÄŒeb q—5妬\ düѯýuЯUu,ÅK}åÞÇj5HÎÉ2¡umí—¿´DbeŠËÂiKÙ‰å|¡÷š—û1ê*€Üª«yËVM_4UÀÎùÝXõ§e9v2w%ðhêç:vŽŸbYÞßžÛB,¶ÔÑ4åPâÜí;8“$ë{JccËÄV‚.‰i±ãñ³dòG¯¶[õÜ«%U*Hõ3’{nëmk˜í%³­XGRâcŸÔó½ê)„\®ºàžG*Ç=·d«8Z!°î«íA@ËIJPˆ­Œ—,ö¾ÿž¢W+ÐŒquÿ’!VÈŽÙ×u1µ%ëúònÔXÈ謮‹àÌØJ®`iÄby a}OÿÏ5Y"“U™¥\Ùòk![!±’YÈÖ_G<ª^CÈí ×X&°jÈÐT:ÊC$O9ÍñDlçw~÷ Y ±’Y!ì—¢^«^3£ ‰Ú2cKa§)'FNû áCÇÎw×»N …ØBÌeMy‘¥“À’û]#ñ=ûZ ›Åõ<±<6°”=´¥|ÚJOe¡ï¶2»eá Àk]þ^÷ª¯r¹&‚VÎ# À©µ{¶$«í³?[!´jÙ–ˆ­ól‹ /,X^]´ÂÞ+ê¥*,03ÛOì$/ÛoÒNò²ýv¼¤)-“ÖÛ;8X-Á~)§ŒÁÛfM­eÕ²°%ƒHN¯¤Jï¿>" @j{EÒÑßV¾™úÝCíq"yùKRbs¼[C9]À Û2‰•ˆe…Ъ٠KGÔÜA¿Dl!ì²@by¶Ú ùo¿®÷­bì©J("Z‰Z–ú‹ñ¸­ëé;W¡­"“u÷w±´ŠÀòô·•‚Ve2˜Ǥ¼^U Iiš–âh.E AK­šÐÔ’«ïFIÄâ+ $Öõõó`[ 8¢c^«BÈáÚ’@œÄ,)-}ŸˆÇ;5eBk¬|Ó±…xʉ¥ëA¬F8Vä¯ç©r&oJ{èMA,XîkÚB<¶¾;æ¶Ë,‘É«œ´ŠÄ:¯ûû¿+¬XZ eÂ#:G•C¹]Ä ™+™p[&´jÀUSÝ*`y( $–ÇßVÈ_½ZªBÈî"‰'–,uÕ’œ÷n_0£d«-Ú1”b+ç,XÎ-F8VãÛÎÆ-–À³¸”^X2€ä™ë–<¹!Kûb<$Jµ®I Òyãp£ã´ögÉ€‡s ö*‰r¹ŒAr +$V’à¶LhÕ¥–,˜±Ll!eÄò¥ÀVÈýúÕß{îצr’BŒ¤žFrß#½ýk³”D(Õi©ˆ¥ÌlI!‘œKÉ¢«m×uUU„×Å ´+$–åЖ ¬ñð I€ÎÝwü¡$bë¼ï–ø„«^#àxŽy«²!§K$fY!±³Û2A[õŽm™°­º -[ˆº,XZ òGïϧ*#¤÷«Ë¸¯¶ÒûXî+ÚRïaéŠK„–.Q±Db%nYÈD,_m™üÙ¯³*-°§Ûù£-Dm˽·…xdµu÷d…Àj5¶×É2±•S],çË2èÞ× z®íW%8c[Qžçç ŠdKg1š‰UK`‘ ÐR­n¡%[ß]пõ}aÄÒÁ’{>B>à,.Çàˆ#9°1šRbµ,´o3Ä2¡µÝý§Ô°Db%fYÈ,|,Ï…QCqUgÁàv1çJ’gG£ÉÄ–WølÄJ|²± 6¨|Âu,sù„ì(f0J1؉¥" ±Bbéç ±Bh}W7Z"¶Ú¶ªý~zK?jˆÂÞׯØ*7¾.oà…•Rü'­q”â?¡¼Kß,IŠÿ„¢Rü§•óù>6+ø3ŠW †’?q G¹Wa„ËÅ ¨-XŽÕ– ­³oøEK„ÖÛ7ö§%b A—Ë J¶Bþè×÷ˆ{=s¿6oïˆ`)FZÕWXê}¬súOšc™Ð:úþ´DbÏwïÝ~cg+„–²Ëùb«Ê,„<.LÄ¡¥Lı…Þ—Ë£f+G¬·m«Ú§Ëxù+’ ,uhJ$Öù]—‡V­z€‡%bë|¾ÏÅ—‰åÇ|[!ìý{U¡ç!Å9u$ç–¢FSÊ,]Æb‰ÐÒÕ%–H¬D- yˆåë™-“?ûuVi„Ûå £-Xî½-“XíF©ý.;V­¾—Òd‰ØÊù) –óe˽×cõºVi„à ü¬Ë–ž¾Ñ–H¬s½ú^O±BhÕ:,[çû=oõ²@bùvÞV{_q/÷¿yÅ¡•;Û~aÉy€¤¨Ó’ÒIkŠ– ùz É RB. 9ˆäEIvü¨ !—‹¤ç¶Lb¥ë²BhÕe–ŽXW©PÀ²PH,_m…üÕ«¥j$„ì*mp"‰XrGå¤ïk¿§vL"]Kÿý)$I9¿%XJV$… ¶ñ0}¾—æÀÛ §§~K‘tÖ¦%Jãy ’¤moûœÇÑßVÚ?m!Q@$=ªY ÀÁï^UBN×2HÀ²Bb%b·eBk\i‰àˆuMÂMl!ì²@bé"+ä~}siÔEH¿6×2pD°c,÷ÕVz¶¾KS{C["´îµo K$–ç¶­ZÊN,ç‹1Ö¤|T3$$u>ìÑV‘X­ù£}óÏV,ߨ2ባê„Ü®5LÈ ‰•L¸-[è}Y ±ê^6’W÷O—jf„¤Ò…ï_b™ÀræÓ–¬k«Q´eKW X&¶ZW׃mÄòuÊV{_qŸ÷¨6D,®à°-9uZR iêZò솤ydÉËRB. 9ˆäy+)Sû¯>íUµ är¥„gË–»nËÖÛGË„Vÿ½âd‰ØÊ) –³eËGÔÇdûþ×=}p¶z_?Ÿç‘L"iÚ¢%‘Hº¢G2ÔÒ1I"’ÚH<ýÖQˆ%_Î-… ãðqUтׅq,X m‰ÀÒu – ,–±Ll%jY ±|°òW¿¶*[rºØ@"²eË}µe«oýBÉ€Nÿ5÷$‰ØÊä–˹±e‚¾kNî*æar¤‡gI,ÏXšºh«­ºŠT€Žîs"‰Äj×±£Õ³˧-“©ïÊÃYEB.Hl™ÀrÒ–H¬¾ÙJ+„Vße²Dl!eÄòøÛ Aï5>kÕ@08\¶ ¹±dË£hËÄVîVeÄJ<²BxÄñ•µösä‘x}uÁ}7Ì’$}­Í’¤gL Hú†.'û$É5‚$@ªï…ÙÑßSlãmíÛþçô]¿c»]h@ßh‹Bk|£–-…KÖÛ‰NËÄV,)€Nÿ&ô$‰äx‰z©²!»Š $hI!s$IkÛ¹ÂHqKo{£u±¥·¤/¦¥K‰XRÈ£[oÍ»„»î?£IƒICeÉcIgš%Ÿ‹‘|~HÊdɃ^N&A”åì_#ˆc0ŦìU© ärud –,§À–I¬V%ö¾h…À:z}2Z&¶2¢²@b%²BØûºÿn?|¦;òusu?Ä¡¥»t´UVßðp§eBK77±DbµOص_ye…Àò--“©÷Ê„êx07ëñ› [È-g"m%7e¡÷eMñÈòS­QwŒm»¿ér9]À·±–Bb%óiJÖÚwš¢eB«ïË5Y"¶Ú}óÝodÄò ‰­ö¾‡Ý·°{§<¬® ¨#%±5›R`ÕÜ…åù#ÖLÂ=·l9j[ÈC,ÍÝX™ßõë¬ÔÙSm€žm!êõúí½,Æã¶ö¾o'Û2Õ6dŸ$;> ,Àr¶l!>^ÍʾÃåÅyº¿‡ëhVÒ¥¹eIÎÙw¦dB«ï±SµÿÌS½žÆb…ÄJ×ÓV‚É ±ýÑ„Vßäu²DlµG¨u¥KÏ=±BØ{ŽTýßù›I!–uZ¤ÉI$’gž%I¹$K™ ’BþÛ§ûª !¯«8X"°ÔÑX&°®±K4,Z½&Ád‰ØÊ9 –rËGÔ”¼÷*1r¹2€'H,Xš¸hKÄV›F÷ö@byâÚ á«¯­Á3÷~ónþîk,÷–úжÔ{Xw/BKd²z©•É*+qËB&`iÔbyÙûú¬½Îª òx?ßÄ2UÉ‘èô½Õ'IÖÙw¢§eb«­ümà [ ±üÙg+GtÔ›ç`2ãyã¨m!3¶¶¥$Fó4=-iŠÆ³Y÷/¶Bx¼Ê`«*òÎ9]½£¿3Ë9…¥¨c9°ÆÇ-Zo¯¦EK$Vâ–…LÀúšoÏ °DxDgâ¨ú!·÷ôO&l™Àr&l™ÀºzõZ&ßOŸ‹ë8\KŽ’ÂMKŠ’FÝ’§[ªi––4ï,%à’HrI™õi¯j!—+$<[&´ÔõX"°Þ^G– ­^uq²Dleîˉ•lÉ ÁuÏÔ6h~¦»¨c÷Nè¾—‹eK³m‰ÀzzÕ8Z&°ôéËÄV[>v$–?Ým…°÷÷~UÅ×Uw,XŠm‰Àª+A$8:7#™ØJÔ²@bùZ`+ä^mUpÀàt€DcÉ–{jË$Ö³ôê³°BhÝPi‰ØÊ —˹±e‚Þë.´íæÿN÷¥{jgøŽ6–-Í]´U$V[ _ÚË[!°|GkËd:¢zV‘€Ç;û§÷¶L`¹÷iK–ÎâX&°tNÅ2±…L”Ëg±­¿úµV€Ã{û'"[&°ÜW[&±ž­×œ‡Bëî›âѱ•™) –³c˽×èúŒZÛêþ}[hI€’îV- @z–^L9’ÁÔR}¾¥¥‘ÚÛŸûÂá ù3P’çU' äöÞþÉ-XN‚-[è{Y ±|co+„G¬[†VZýžn"Z©®Ÿ{›H&‘œö´$béiïrèDÑE8މ¤¶´}l$K¾P[ A·+ÜåÖlIF¶ß›;KÈÈæ]ZJFþ3ƒ%eJ/ÿRnÉ3jÉ VÀ%M9ùÏ –”)ýWŸöÚÖ?äòVü OV,wÝ–I¬§}Áq›ŽhBëè&б•¹/ –³eËG¬Û„í}k[ß8,›·â¯»—Hº£9Ë–jÓj/y¯É*2Yí¥ø6YE`µw—m`- ÐÑ…>’/ýSß•…«¶ôg^¶ó' ’9ÉBZJ^lk$­ÎJÎÄVrP“"G×€H!ôi«ýü NoŸX,™ÄJ?e… ­ö-þ{jË„Ö÷ä9ÑÄ–g¶-XJ%OóóûìúgƮބßó3–g,,Í¡XžU°Úosæ#ŠLÖØâV‘XHR"´ÓÞ‹µ¯iÙ1àÑœ…³Š0/*!,ØB^l9 ¶[í+aëd™ðˆãæŽG±•KbÈåäº „Ç·œ½àðtºµ¯Tù–pÜ Ç ‰•ž¦-Xí»Ïd™ÐzúÎæ´DlµwæÇJ Ä–orm°÷÷ýÌiX¼Á¿ƒ¾Ÿ9Q±ZQ hØKñ,`+5ËîgžtVhW·•Œ÷ýÌÃÿW_Ž* r{;ÿeË„–:KVûÙêÜ–I¬·ýÌwêWˆ-ÏzIpœ'K&蕦à½ü»îiR¶ò^¿3Ä’I$MS´$"©½óX¦ÃHÊ$•‚ÃU7¯»j„¼ÞÇßýŒeKE["±ÞöcüÉ 56 eb+Qˉ峒#ê»ÛµWU€Ë;ùë˱Bbéë†hËÄÖÞîo)Ð9ú2%[þf±-Xõ5BX&Œðì{ío§j\˜\©K¡¯7Ò*BëÜGû±D`é+³±Lhµmt¶É‰µ~2}“0[!´êk—°D¦•‰«ª„<ÞÉ?™ˆ%Ë™°eK_@¶ÆPÙ–ˆ-ÄXH¬å<æÞƒ0FŽUU€Ó;ù'îX"°·-[{ûȵ‰ն ='+ÄæDY ±·¬ôÞãq”KN–¥½ý‡¤JuÙ°SGɉ^NÀ$St»Ê·oŒ¢!·wò×C9-Xµ¤Ë„mÝãR†¶D`µúÎm™Øò2€-[ík@G¼Â~)îµj„ÚÑ?aG‰ä¨-™Dj¿ËŸ(zð‹c" ¡”")‡’@[ Ã^U22.‹wô÷(Xò°@RâÒ’2i)#U†ÎR{}|³¥€épêøQ»ù‡\Þ?=·eË]O["±Þý»ãzi…кûîf´Dl!IJ@`iPc™0ÆZPø>JÇnþ!»wà×:G$8šihIÖ»÷_ìÀ2¥÷X&¶ÚWÁ–ë‚bËÏ÷’Ø÷Šù»í{ù‡¼Þ_AG€£˜Ñ’¬:s# ÀÑe"’‰­D, ÄVÎ]Y ôj¯­ü N￟h,™ÀrOm™ÄzÛ.¡+­Zc{Z"¶2·eÄJnd… ÷Z\Zߪ `Ò6xù]Š%BKómõ¶}¹Z&“UO°°ŠÄj_thG¹v¦ž+ ßÞ6e¡m tþfÁ– ,g!m‰ÀÒ• – ,™±Ll% %Øñ…@NÀ_}Úª&@Èáü-Xî§-“XoûJO”ú“ÿ~ö,¨ˆØÊ¼–똻€^kuå{HŸ—[Ú>F¿Ë@– y¶JÊ„†Ô¶X¼) LÒúÓ’@¤ö}™ýEÇ y!@’£s T #$e-’[&±’Y!´êô‡%‚#ê„ÌMl!eÄÒÀ’Á_½Z«Êúù^üÛk)ˆ£ZùÂÛÖyhÅÄÊØ“‡ŠÈ1ÏnÇofl$WóbÕú ø1/Vµ]*¾byá –&)Úò<¦õö½Ði 2Ym?ÚINûBýÒ~˜oÉ„–Ìby ÇsöÚA=äò®çɃ¬XɃÛ2¡5Î{Z"8bˆ8¢‰-d¢,X:õc…üÕ¯¥j °§ªˆb%êeýí½,Æã¶Z͘gjË„ÖÝ7ë£%bËÜH¬dG3˜k¦~§ï¨.òº"€çI,X5Ÿ# Øi_»7$–ç³­Ï=Ý<»DRß"=Ý~g=-uÕ’œVÏlrèœ}ß%J"gæ²cÞ4—MÎÿÎøX&¶¼¡Áz¿cÿ¶³¥7»{#Ø ¥%ÛX&°´lË„mÕÂ.Ú‰µ~ÿá»O½7¥EÏX&öþ¬j!wðOïe…ÄJïÝ–‰­þe›‡G±µ÷òˆ i+™P[!±´è+„½ëë½VE€ãßÏB%KZ-‰"ÉK–@,í­›;¥ô©ºy=c'F¢ý÷ÝÍH‰dùY²²ÄHÜR«zr°%I´ DJ,%Má.?«v– þ<ÜQ»ø‡ÜÞy_ÏÏ´DbÕÃ$´älº%O™ÊñDl!À²@bíÔ½i…ðˆŠZU-B\‹"AG±ä å¤VjŸÚ1´ÍÆÆFe€XÒ\¤ý?gæyW-€ Éâ ü=±<$´*i°’زö¥Õ9¿a…LÖÓ„L«H¬Ì|Y89b97¶˜?÷¾çøÜ«@ýyy=6S‰¥ÇýX!hK3'm™ðˆ5/pD[TY ±Ž¶’·Ò á[ÐÇ[õ*)eሡ(±±­ämµº~óáDhÕS,‘X‰E¢‹UÏs‘x<Ã×À(/òº(€Ç!– ­mV¶éß÷å»yê·XR@h]ý[´DleFËå<ÙBæÜïzx^­Š „œ. gyX&°<~iKV+{ºN– ,= Ä2±Õ~å¶·•[ ±üc+„½¯¸¿ÇÒgNÄêж%ç’¢NKJ$–|Ž@ÒgÉ'¥¥„\rIÓ_ŽÏ¿ztViöQåœ-„kË·…PÊÚ—clh „ÖÝ¿CKÄV&·,XÉ•,fϽ×3ô¾V}ãŸcêÑ>’I$MZ´$©1ž[2ôü¶d"©ý¶mé×^I –ü´g)¯€·ûß¼®°§H†¶ä @RÀiI€¤K€%J:!-ù”]r6(à’H>ÿ%üÙ§£Š °—*ðl!`[îº-SÖÞ¾SqÞ°@h=}×1Z"¶2¯eÀr¶l!ã¶TqÝ<a‰ÀòIJebk_®³ïXe „ÖÛ÷w %b •ë´w¶LcŽ^U© äuyÇ K–âŽeë}ûÖñ°LhÕj,[‰HH,_ l…ðˆc‘ê{$_§U«V›ñgõ+Ž÷3 %–²öeÙûn¬¶@h]}sZ"¶ÚO±ö‹]‰å•3[!ìýzy«N³°¹´€‚Ž£,ÀQÌhHY U#Ks–æZ,Ï>[‰Y²Ë#o+sá¯~¿styþ;Ga‰<ÿ=wb™ØÚ—ûê»1Ùõ,ÿ¶m²Lžÿž²@b%_²BpDÍÊee @N—)ð¬))ÀNf.Z±Õ~ò~µoÚ‰å™k+„G=]Þçß|еbaûÔu9é¹÷í¨ãÖñÍHféè›mC’–„ @ª±ŠäÁû«OÇ(+r«¬Â³eË]O["´î¾»<-XÛúÛ/[íWàK[Y±ËÙ²eÂ~)îu˜r³þ&ÂR³þæ!-%3’ž»ï_É$Ò;¶÷‚d" !—4¥eý –LÐñˆÖ“ušEe’XJ, W, ­gÿžÚ›[!±2\²0€ì—z¿b —Š ÷±D`¹÷¶L`½cX&±úÕó¢b ™( ÄVFV{?Û•÷ˆ&»ÊxÁ‘–ˆ-/„Ú±åeI[ ±îïºÙ>¯b…°_Õ×öé¶M½oŹΟÞñ•¾ÊA[_gÛžÙhË„ÖX¼¢%b+ɉ¥Å«X!q@Nðr-[^À³‚¶œC·eÂ#*;9¢ˆ-DTH¬/ËÊÞƒðˆ÷÷¬³¾s&6UHܰ’Õpܲ¦Ü¸­ïѱ_aÒ–­Z»%+Éš¢–¥µ›X&<¢Æ£=îÓµb_×ÏÅ2¡¥¬Æ‰Õ Z!°öµýÈ’€œ ’@`9[¶LÐwg~õ@ŽºÖ¢%‘Ã5 jÅÏHZòÔrK&‘Y!´Æ~O´DleFË¥\Y`„Jú2j€ì™˜c±Œ’HjwÔJŸ%ý?gTZ2‰¤¹bG@ ƸKßMÁ~°Û ˆ­ÂmýXç,*+xa%'ëñ“YSRÜVû¨z§¶DhÕâ,‘X HÖôú³ÆË„GÔH´É{NcóMÁãgp" ÀqN-™ÄêïZZ!´î¾ß-[žÙ’â$W’B_eùûÀ{Þ)ï­J˜>FkÑ”V‘X^è´¶4“Ò–g,Í‘XžG¶2®²0ö±¾ç ¥ý|$–É£2qµ ÿ͹YÏßLÄJnÖó7eM¹q[í±ä™Ú2UËV°Ll!Ʋ¦¨×Ÿ…¬X!8¢Gh¥@N•ÀÙ2åÚ2‰Õ¿sÓ ¡5v‡¢%b+³\,gÇ– c¬L·›Æ9õ«J xÅ0’@$/wJ `KšJnÉs‹‡«9’ÃiÒXʰ–„qŽô¶ЧÎ)¨zSRÖë7¶• HT„iq[máéžÚ2ákýG±…Ëš‚–åÅ[!8¢Gg%@Ž¿çt$“HΠ%Ký‹–¥Hoßã„’ˆ¤ÌlI –’I!ˆ®RÜ–ŠÖ9鋊 dÕ-–-­òÅ¡¥i„#jbñˆ5ApDM[TYæX߸ï¿yˆ•̬ÏO$!1v4®‘L`½c3(X&¶uYSfliôc™ Â1íî|çáÙTñ@©ä\Eª‹”!¤ô¶ÿO©ƒYj¯ª_JPÒJº¥,­GR^,!Qt¼•î¸Ðó·1;ÏŸžÃ*BK]%«ýo]i™LÖÑ^dMV‘X QVH¬¶ÕÆEÉ`а¢þ&ï5çáüBøÍ,g&–¢Ž•ÌÈÊÊ ¥®ZJ08ÞÕNíþŠ}"­ðØ®ËíØ8‡V‘Ù:Úé1YƒÐªß¨À¡uÜ#7±D`õ·×7ûe2[ý—,“5ÈÔ{e¢îx˜‰§î¸2Kd²*°ŠÄÒÖF±BÐVmm„¶Lb%FY!°ÚÉ}Ñ2aïw+à±O™øª~O’¸c%7°*nXέ£½v½i™Ðú.üß -‘X™²B`9n[È zß×öûúV®ö¿­™¾60÷) @§Þ8@™[:{ÔljÙzÚóÛd Kob™Àz–ïÙð{|‰e2Qyhe<^æáne<Þ9‘ Àq,™°¥ãm 7lJd²úŠód‰•e…ÄÒŠs¬)ŸVÄãäø´‚fZ`ñøÀ*BKŒ•,ËÊ(Ê ‰Õv„Ý7¶2õkôµ}]{,š|—VßZW_i¡U}…%«oñÒ2™¬³Ÿy´ŠÄrD¶BhÕØÂaïkž´¯àÖsµH+¾1¿½˜¬"°ê ,¶5N4U`:Þ˜ã<^‘Xž—¶BbµÝ‡®ã2qD}¶2s¾›†í'´œ[Š:2“¶®¥í]ƶŠLÖX:§U–#²Å¨eÕÚy$éxc0Ú/v^Á[93m¤§±€$2Y•QXE`µÍuŽ©-ZÛ¸€%ËóÛV,çÊ– {¯¼·/ó~¶óKŒÉ*k¼I$À–4³Ò’-Í™X"±<Î’ â´í‡¾ë¤)¾sûrÌrNYhU<Ž9 ´œ[t¤¤%-Ýë¿ùpLÎX0§T–£±ÅˆeiÁ<–Étĉö‹¸c娷êx ‰@R>#‰Dj{°SK&”Žö›„I*bÉÛR$e*’£«¤/£øAÀ®ÚzGA§@œzsÇíh:¹85Q¬Ôß62´¥Øy¾+Í{#ªF5m?^¯)ôïÃ_s©Pi9¶l,ä#mµÍ(&Kd²Æ9­"°-Æ,K«ä±L¦#Ö0´ýÆÝL®§Þ.ÖH@*@G9$«mª9N`rúÖ`“T$–'´­ZÊU,‘)¾‘åíí-È{«_æU¸ñrb²¡UoL`‰LmÕLB[šm´jŽÀÒ<Šåqµ•±Õ6-o—‚X&sŒ•‰«ß|þoÊÍv?™€åÜØr&l!7i«m¾tLm‰LV_%Ÿ¬"±£,F-K«ä±BxDÐwu½ŽÐvþ;ßãg„b‰ÐRc‰Àê»/Om™LÖÕ~ݰ4>“52H«r kÿîD–É™­½-aOÖ °<Çmå<€¥ìÄr¾Øû‘èVaüNYàR-5MN‘Hcù ŽÚ©I„vDx°1;x°"–<¤–B"gÿ|„dÂÃh[9›áï}‰pŽRXŠ×’[:ßV\€-‰LV_☬"±Œ¬XµÄË„G¬qhu©Æw¯MÞ¾H8 ,‘Éê ¤4œý{Ø€1þœþýh5 '¥H,Og[!´*+°DØëÊpû:Îø&ÉÙoE¸Ð4YE`Õr,¶Usm‰LGóƒG,Ëcj+Öwï²µËs,“éˆ#î£Uy¦L´r ?™ U™€¥¸c9l«MÅgj«ÈlÝm3ÏÉ–#²•aÕs?,‘éˆ5mSçýà}ÓþºŽy„`‰LVeVX{[}›,“ÉêûêMV‘Xžå¶Bh)_±D¦Þ×ho£2BÀù3„ΟыP@Ÿ|mÉ-X¸Úž@ œ?¡”€Ø†ð%ü=EÀ9‡Ùª,×çÚ§Xa)ØÉñѪˆiÝϯUd¶ú’×d ËSØV¦9,ÅËYøëˆGß}Gün€Úá´žA«¬Züƒe¶”¯´%2ñùµDb%²B`}C{µ;¾X&Ó+îõßòÌ™ø>!×ßLÀrnl9n[ÈMÚ >hªZ§‚$+ñÈb̶´xË„G¬Ñh•š×éòÛJ©Ï<>°4>“52H«r koo§oZ"³Õ·^œ¬A`yŽÛÊy@«²Kùšz?F¶•<?q7¹úb#GR:5fD¦–ζÿÔT‘ÉzÛ:ßd‰•e…ÀÒJa,“?"\F!D¼l?=âPâT/ã89{ûæÖ Ç€ÎÙ6¢¢SÀNb-‡éóÝ(·¯Ç1`Ÿ{¤­´YýÚ ÀÛW+§Ø)™¬,­"±œ}[!°ÔÑX&–ÈŸGlÕ;qyúªà´ž@«,­jÄ2¡¥¬Æ™ŽXù‹ÄJŒ²B`}0çËÞ‡LG¬¸[5}ÊÄÑWçLÀ*ËqÛ2a[ëÓ6Lb["“5wj{”X¤„ÀÒ#m,ö{ŒÄý>ßœy§±Yûz Ç–Çf²zö&ËŽõÜí‹´™­ö{›w²¡¥³ VÎZ#;´’Áqm]oå@^e½½úÛoÿ{_H˜”"°ja– Û3ˆm‰LGìsc:b‘XÕX!°îõßvm´L¦#¶ ¿;ªñ+ƒñçÞWç@)ËÛ2a[ÛÛ6Kb["“Õc'«H¬Ä"+V=ÆÂ2ák$¾I¹ŽŸxl–¾8 ,Íd­³²Îÿ~,}Û0("³uµ_—NÖ °<ËmeÞÃR^b!wéwåøiEAnfý¹úr —&«¬ZÔ€e¶j¡-‘éˆc†ðˆEbyTm…Àún½Ûï4a™LGqß­6È>ebëË‚S&hU&`)îXÎÛ:–¶sÛ*2Yc‘ƒVXŽÈVb„U˰D¦#ÖxÜ׿uçÒjûïý,@ãKd²*«°œg[GûMýtD“ɺۮ“U$–g¹­ZÊW¬d0½Wî[‰—¹¿Ï¾,Èe§É*«V€`™°-ͯ´%BK3'–H¬Œ¶¬XßÃw» E˜"Q_Ï¿güÐÀyXû¢à”Z•XŠ:–óÀ¶Îõß>55ÀäŒg}JE`)KŽN=éC™ŽW#ñ=5®ã‡&ë0h ‰@R>#%Ã’Ž­o(É„ÒÓ¶£™¤"–<µ-…@ª<Åqâ[%¼•¹™ðöuUf©Å•É*«}`™°-M©´%B«&K¤q2Ä’B`}—ÁöUfX&S„#êóþ÷Œ8ß Çñ“Z•XŠ:–óÀ¶Î£í‰Ï¶ŠÌÖÓvVš¬A`9"[‰V­{À™ŽX£ñuf?:0¹ûR!ÇR:Êi¤dÙÖ±ŸmÏ$X&“õ¶íh&«H,ÍoKpœ+KÈú^#ÝŠ„pñn?iÒ<†±D&«ÆVXÇqý;§#šÐúþ¹Ý Á‰•ˆd…Ð:ÿ½ël‰°÷÷ÑŠ„ÌD+¹vs&`‰LÖˆ›VZ×ûk‰LV_ œ¬"±<Ãm…ÀRܱLþ:â^…ÐÕV¨õG:âÔ’`´£¼¸¤.Çzœ$®œD["çy¿ Ž5BýNºs }sUE¥"¢@¥8p´Ò~Éþ •ú{R®¶Ã=”ñwGPJ"ŠRˤVô7T9ÿ®GÏ>ÂþôõÊi`‰LV%VXßÃL?åc™Ðú>˦ Äñ¶BKyŠ%2õ½Fvû·ŽŸ˜œ}µr¹X"“Uƒ«¬ã»E97Z&´Úáïd‰ÄJD²µ­÷ëêÁ#†°÷÷wCvŽŸ8k_­œ2K™˜¬7­ÊD,OK[™¸°Ô×Xî},m;Ój>UÏWäî댣_cÛ™X!°jX&°ÚãÉII€ÎwIzöI‰Õ÷ƒ>h…LVßÜe²ŠÀª"Û­¦êÚ&òÝx‡ðQ°;VH,mj+Vm¬ËVm}Ë$VÛg`: œÚ’ÉÔ÷±šû=r×ýYVíøYÌT`’j9R¹¥³íUΖ˜¥§mCiH^:–d©ý¤=YÉÑßÓÁ”€½ïò… ¬W_fœ3K„–RKÖñ ûÒ2™¬íçˆ&± $ƒ8^F´2EX#³|WÏ•CÓ6%ÓÏ <4°ŠÐRc%˲2‚²B`½ßõpa¿B¦~¾.­¬ÈÍÞ·bfú‘¿úJ«­ê+,Xçr¶[%X&“õ´Ÿ LV‘XŽÈVH, ­%OsdÙú_˜5mc¬×ÖX~¦U–Äc™Ðªó–ÈtÄ1ÃyÄ"±}]cËd²¶Ÿ¶L`Õì†eBk}ÛÏh‰ÄªéÉ€Nå*Nö\Yo5ENdýj?ÀÕjÑy²ŠÀªÅpX&lKó*m‰Ðª©@œŒ³¤Xí7žÏËã…LލŸçß¶®SÖ¾:8å–3cKQÇBfÒVÛ}üÚ*2Ycý“VXŽÈ£–¥ÐX&Ók4¾»´óä ¹ë»ÐëÛ^5p @QFãˆD:[IÙI2¡Ô7™¤"–4·í@Q–âˆ0²JøÒ·CÂÛ–úi@­8OVXµ Ë„miR¥-Zš.±Dbeˆe…Äj?g?O¶2Å8⾿Îlû”‰¥/ N™ åÜØRܱ›´ÕêT°Dh)§±D`­üøEËd²žö[êÉ*ËSÜV,gË–ÉãÈóõöù¶‘ÑvÈê Ï“5­±©ÀÔRÍ$´¤ÙF«æ,Í£XXKú8mËm:žÉ_eáꛄýoÊËzýf–óbKY°”´¤¥VÖèžZ¡5Ãi‰ÄJ„²³,-†Ç á5:[Õd08UHÁCcE ŠrgEÀÊyœmÇ(Pú†T Hñ„–E¹°"€ˆFRϧ?ƒ0Ík_"¬!ëïh¡Uo`‰LmÕ´A[šHÓÇ”àk’Äò0ÚÊÀÆj»¼{Ó/ œ‰X"°œ [&lëû ¿¯©-‘éˆýÝÑtÄ"±£¬Xõ – ¨ZÛv V™M¿2óY ¤ Z€Ô^Üí$ƒIzÚï9(ˆä .)€’òbI`Šn¤xªÈƒs¾¤6ÃxegüM¥^ Ƙک„ƒÕ”š6¦ŽVs%’GSR†Ò7éÛ;±HsŸ*‡jE˜Ü©ï  D*Ç)°d2µô´ÝꧦŠÐzzõZ"± ¬Xõ – ¨±YT)ÂdOuN,ZÊ Ú*«}Ãc?i™LVß…n²ŠÄòÔ¶ËÙ±e2ÅØ‡vkÕJnŒu«Íæçñ3JEhÕ˜ÁÕ¾òµ´LhÝˤô?óïŽÄJ­³­CS*0Å6ÂÝUBàJEG ©-EK„Ö»÷&X"S[ý¥ìÔV‘XžÙ¶B`)hKï{´®Ú>Þ–zõx²¡U/§a‰Ìmܰ­Ê­Ê ,e+–£¶•<ÀúN¤ïR¹W•‡K•!LžTsp`å<Ø2a[ïÕö¹c["°Úú÷$ Äq|r àÔ«wH&S|56›ÊB˜œ©å౉%BKùC[E`µïGcË„V[öÒÿÌ¿kbÛ0 SI‰S`êóÍåùnå×i|×¾j9,¬¨H9:ïwë~NR‘ÙzÛ÷Ù'kX Ç’ãƒó==¶ßæB™âSNU„0¹]ÇÁIˆ$I9°#`ÅÓÐNH$÷Û’ 6Vð—UULŽT^Ð >­"°ôf!–I,¯óÛ ÕÖ.–‡–ÉÔ¯Þ×ö²²*0¸÷Kª&T_'«z«ú ˽g[ß™ÿ=H²­A~¬¾:YcY–"Š•aÕ"(,-‹þyÄCL®TM¨e×É*k¬C`KÊiZ™ŽWÙÂñŠÄJ„²B`ÝKÿ†/,“éˆõòýÏ9åas`¥°- °¥ïópŸ$“ɺ~'+ñÈ U+€°LxÄçRõ“74°D&kdVXm߉¯?°L&ëm[3LV‘X>3l…ÀRvb™L½#ûìU‘Áàš‡0‚À5„kj¡íDóÝ2G0°pµßdS(pý„Rb+aïßô‡ pÍaÞ¯ª/8Î-,;Y×o[Š˜Ö÷¨|OÒ“3–½)å lË„–"ŽåL}ï+Šíæ±j/˜<©—P+Š´D`ÕJ',“©­Šma[ãEÛ‰¥5ÌX!°¾›½ï¢GË„ýRÜ­È3eâìk€s&b%7K~àPqÛBnÒÖ÷Xy½S["´ÆÊ-‘X‰H£¶Uk[°L¦Çx\ª/x„ÖTLPv`)_°4j±<ŽS[ã|a[uNÑ' ¤:¥âøL°”³–rËÙú«W‡ª/˜Ü©˜ ^E*@G$«íY·]´L&ën_š¬"±|®Û ¡¥<Ä™"óíZ« ƒÁáê µ´J§@œZíc€vêlJ;pê,‰#`ÇóZN@œgmßÙ‰¢¿ÕôKpUrpèKª/(TZ<,Ëá³­ï¡ãz¦¶ŠLÖXÝ£U–â±äáÔÚ$‘éx5ç×ákºþ·ýæÞuX"´”ÓX"°Úî¶çtD“ɺÚ/™'«H,Ïi[!°”-KS„•÷E!LöTq¨UÕÉ*«V{a™°-Í­´%BK³&–H¬Œµ¬XÏÑ+ ËdŠqÄýݘUE“7U7­"°w,¶õ]À¾ÿ϶Dhõ^Z"±‘­Xµê Ë„G¬ñ86…09SËAãK„–rKVÛ½ ±L&ënß›¬"±4É-ÐQn"‰LŽ<ﯪB8ó[*9´Åv*íOþ{­}C™Z©Y„†4¯¦cùÁÃÕŒ‰å1µ•Q†õ<}X"Ó•ƒóß1~¼`òô%Aä JÿÿîX1a+ß \×ÔÈt¬¾Ò9®H¬D'+ÖXð„$ÀãidVÕ„09RÇÁ#K„–rKV+›ÑÇÏ–Éd=í'Í“U$–çµ­ZÊM,‘)Æ‘çíQeg~M5‡¶ÌL¥ýɯUo("S+m ñ@ËïQÆÌàj®ÄÒpZòøÂy·¾³$‘¹?û¡Z&wê7ŒØ£ô?ñïŽÝŠÉÔÊÓ6'š*Bë]Û".-‘X‰NV¬±è I€Çë#²¨ÄøsOÅHZÊ*«•Rjó=–Éd½í·Ë“U$–g²­XΊ-“)Æ1k«gòN#³ôEÉid`idhµÉÁ†Öùß[´ï ŠÈd}L*Ç‘Xb´±ÎÏ:[Eæ^WvU}0¹R«Áˆ%B«g ­ó¿·ÝáÞ›ŠÉt¬þVg:V‘X‰NV¬šö‘¦ãõwMíwUñA¤Õ„óOÆkX"´ÔS¶U}‡Õ6Q¼¦¶D&kýo&i8ï×x+)É„V½%‚%2÷½òp©ê2³Ü?i°„Ä,÷OÐ’ó"ICÉ„-YÆ–ŠXJ$1-Ë|EŒ#ðG6•|09S§Á¡Ø2™¬ê&¬"°ZÅÏvÚÆ2¡õ}n­ïd‰Äòô·BK™‰%2õ¾|ûá×3~æà©°öJNcXžØ´ú¬¥TóNýnR‘Ùúîc¿!£5-Å+ÆZ—eoß%2Ñy8Uó™q¥çÁ2«òɉ³·=y&©ÈdÝÿ®Ÿ¦ŠÄÒ)+$Vò ‹™ùOßW•|8R¥Á=…Td²ª§°ŠÀ{tC 3~‘LI$V¢‘2Y׿g–˜zÞCþP«Øƒr°¤>ƒ"¦T9˜¬1­ÊA,–­Œ_,uÔ’{ŽãÕozÛ†£JƒÁíê õ‹Þ8qê÷¼q ìËÞ¾¡'ÀÎÚŠ.ŸWœ€8õ«à8qê÷ôq Øç£½±lûÇouºÈÞ—Ëê¿ßŸ¬"´ö­í…BK$ÖwemßB†BKi‰%ë{ŒÚ[ÙX!°¶-“)Æ÷}©fƒÉ›B Š›VZ7,XcƒHpjH&±­X˱·oaÃ2™"¬¨w•l@f\fÁQÃrfb)êXÉŒ¬odÛo`… ­Vø™úeËão+„–⎕ܠ÷ým~ÛîªÊ?ˆ´ºmúA½ÍŸ¬AhÕ· `‰ÀÒ;ÿX&°Öå»°,“¹_ÕûSELž”vpïaåÞÛ2a[çòïšš*@g|O€’ȃ"ŠPVH,}c VÈ_Gì·Bÿ›º°ú28¾@©¤úâ@$¶¤ô¹¥d8R%ÆŽ3'%¡”Ãh%}Yù.íèvÀÛˆ÷|ª^ƒ°¦Î‚â…T €¤x-9léê{˜£¥“4ÞŠB*ÉÁHJt‘ôNÔ’Át¸ƒóPµ“;5j  £dFÕ6Æÿî a™ÐºÛýÔd‰ÄòÌ·2Y•+XE¦+í«*?˜©ÖP/£'«¬ñŽ’[Ò¬JK"´4cb‰ÄÊ@Ë ‰õE}·¯&Ä ™"Q·ê>8Kª5(jZ•Xv$å-}çãvN-ý¿­sËr]Ç•àf/K¶õÆÈÿo‹$23ய³Nì(iUÙ¢…"ݺƓšµ,çc+ÆÒíÑX&mÆZg #7XŸç?ãcÁ¶>°Dh©¦±D`]çx#EˤYãmg·ŠÄò·Ò¬ª¬"-úZë—z?˜¼Ó±ÁëK¤YµŽ°ŠÀºîsÅjËÖxŠËŒÕ–I¬d$‹YÇzÞŽŒë,F_y?nW÷“;]”7,‘f­¼i¡õüùy7©@sæÑ&‰å=n+$–³¶ò׌»@˜|Óµ¡+4«¬:DË„c©6K¤Í¸Šƒ ˆ“¬%…ÄÚÆû®m‡Òæ[Yï·ú? 2îÙ ¬i¹2¶”u,T&c=oƒ®f‰4kÝ0§U–3²Å¬Ý½bÝ1$Ðæ«µx~||u«ó¼ñŸŸqu hNURXãdǧÍgBëýüYؤq¼»-…4«*«cWÕ750ù¤qCShVXu|– ÇÒÎÊX"´´gb‰Äò:K2ˆód}cž‘BZ†+ëíR TÆ”5-WÆ–²Ž…ÊØº^# Z"mÆuãœ3åŒl1k7°¨ç±LÚŒµÛGM LÎ4nÐjÀ¡¥ªÆU[<’@sÆ!°.‰ån+¤YU-XEZ†Uù—š@˜¼Óº¡Ž,4«¬:JË„ciwe,XÞ7¶Lbe­e…ÄÚÆç2æÒr\y¿f0ÿßJ“×ëÊŽ ãëCåle‘smã—:ëV:œqœ‡¦ê«ÇºnÇ€yÕ ¼ÞÕÂàP•ߊWУX¹¿û¿G1€2NË7¥€od)QT+ÈhÖs¿oµ~pÉ÷´k¨³ Íš¤Yu†V‘fÕnå Å×^àŒÚ.±´Š±²Ð±¶ññóÆèE~r¬Jjý€Ú¸]ƒ+˵±åJØBm2Ö>Þ×´±Dh­“´Db%GYÌÚ+ê,E¬ÌèÚÕúÁä›v ^![&´TÃX"°î' ×‡–I³îg—ˆ£)¤YUXEZ†«Î×5[9°òÛüزVqb¡´:wI¤T; CioµùÖᄵkby]me¥c=Yßã |,“6£êðUëTÆíT‡H.Œ×Á*“‘ÖÍ%Òæ›Ç Ú„Eb%CYÌÙm+ê8A¬ΨõÙª„ÁÇ­¼:và¨zvì|ÆÇ!ïoœ:ó¤3v¼¯åЩŠÄ)À¼VmÏSÍ\íW6Ôá ZEhÕÑX"m¬µ}8áÚOm¾µ/8_í”X^K[YÝXºˤGUuø¨*ãÖ®C¬TÆ–ë` •ÉXë¦!ÇiּЬ"±’£,fí&u¨$Vg¬õyÍ>²YŸÑn?Ö'’-UC‰¥‹±B0VݤÄX&±¼Ám…ÐRmb‰´çí‹ý8ÔFÂäNó‡:6Ë–Ö c‰Àª‡ßÃ2áXëÈljUÏ¢d@g+¡$Âù”õ[$P™´›PÖ¶P[Î:c¥2°Öë€VZõÊc\Eb9mI(Œ¿ ,…üÕ÷V# Gµ§ýƒò¡UÒªHa)öý· ¤tê?$XÞß¶Lº5KCiÕªåwϘ¾é6±À…fë$XÚµJÖ8!rl´LÚXãüD«È…Æ«‰C¬Zó4¥œ¯’W UøÎO+{,¡.¶œs†J]lé:Ë„cÕëc‰ÄJβX—Xu%€%ÂWÚŸK}$T‡-Í&´^‘¼‚°´^J+klDjˤu¼~¢ZŽÕŽW™Î÷3ž G©ÈŸ‘ÔDÂätã‡D.+$–#ÏP8Ò¸žlm$‘6ÒnÑ*ÒâR%>Õ²Áàt«×AŽAWAŽÆÙ÷ùñIÆ sÌ?Šá°“ÌÊ €³N@À`^ëzòdS­LÞn¯°mÏ[¨÷VH¬ç'g£6VXºÎÅ2áXÚKq9iÇeB«®`°DZô3ïíß\n×ÚÑwíØ[%b±6²”w˵‰µ}g\¤[kƒÐÒ–A\•7âBmb=WÆ÷Ù¬EÚŒµÛýV«“#í\/[&´ÖªÑU×Î(Bk½,i‰ÄÒµ.V-Õ+–H‹¾Vè¥V &»Û+lÛóá¾a…Äz~òoÍÚXEhiçÄ¡¥=Kq½Îcün@\&´´'b‰´èWÞסV &·Û+8o[!±œ7Ç*Bë=žõÔ,ZŸñL°f‰ .å¸Lh~tÝጵ×^í ¾i²àâX TkI€Òú=Ãé ´‘æ/ŽT ’7¸¤€&U]"ø#¦óy]mG j›òµô`)¿f­HiUì´jQai™›56kXú-ˤY•7,U‚3ÎSYÛùUÓ+}êPV“ŠÀª£b°L8–2ÌX"kžÇäPâèX¤Z×k|5ž–HËp%½©aƒÀ'=œ3¤"°œ³-ŽuŒgö±Dh­ÃB´Db%Y!´Ö‘!Z"-Çu:.5mÝÜôž{¾¶>°L`=ë:Ÿ÷DZŠ4«.œ°Šô±Ök…cÕë q)ïÄåJЪK"¬"mFUb<2ïÍJ<¿v}mÁ•+•ÈX"´¾÷¿O“ Щ]IQ¹ŽÊ„±ïóó3Æ.µ>£ÿÈÍõ}Ýöû§Z±Dhic‰Ðª«',‘6Öºjp¬"±|ųBKÕ‰%òÇŒßSíLît]¨ ¤pêbG€ãTÎH„VÕ1‰åß¶BhUΰD8c]Æ{†õÍ“#½ê c³ŠÀª#•°L8V]e1–­zÀ‰åkž­Z×»Òr\ynurp%öô_PÞ´ª°”w,W‚cãYûm¬"ͺFo‚fåŒl%GZëD­"=Çy¡úŒs|'®\ÏËãÖÆ;¶ç•)$Ö³fó¹cJ„V]=a‰´±Öús¬"ˆËup\&Œ¾®Œˆ^„3VÚãë¶¼‚ŽnÛþSI!±’u†¡uŽgí7K¤Yµk`A\ÎÚq™0úÕ·œÑ‹pÆZ÷¥6^Ÿ-­!ª8ªZtjÅ i iÕõV‘>ßzurÂzÇò5Ï–I·Þ=®T‹3ÖjŒOÏëë "§[ClóSÎ/¬XÏOŽþ}¬"´j—Àic­õçXE×ë:{ô!°´þ±LÚŒ•÷¦F&7‡HÞ²Bb%oŒU„ÖõýµDhÝ£ƒP³D—óv\&Œþõ¼Ÿh– g¬õØg× .ÐëŸî¡ÚÄQ±è¬ƒSK§~ÓÄ)@§~7Ä)Ç{[N¶?³Åœýϳ\õ¹°È1?Øì™Å¡¥¸c‰ÐªÕ„%Ò¬y½YEbù7Ÿ­ZªC,‘ýÚ‹Ï©þ&o÷ŒØæMMHqÞãkçÖG*B«^!°Dh©6±DÕë~®å-,Æ^{Á‹´èWÖÛ¡î&·;F(mKqœ5G*ë3N,½9T­m¼h–¢RÖ Ë„±¿Ÿ Ø»/Âèk5¶·zO˜éáÚÄJýbÕšÁic­W Ç*ÒÆZ¯ŽU$–w¸­ZªN¬Tðf|&eŸ6ã>?Ô,k|¤IЩï¨@i#UÖJuhó­ rªi,_l™4«²†¥:´«³ÍÊðºÆçš­ QÖÿÇp ¤ØñÞ–@g~%N;É«œ8ë+ p0W½"_ûjðU¿ˆmàúÆ °óüØx#ÛÆ)`Ç×9Gåð8)Xhõ™¿¡b®×}b`Ì3Õ{<…ü{µä7w‰P²±’~,¥ÛƪÐÚg«eZ‹üXwWîQ¥‹ˆ\Æ}þ;¶³Å½--ÁøùñoY”ç}Ò1¾»Ô*eˤYk©hU¯N¸@inø6Ò"°´åc™tkU‹Ö"Í8Þ9mÆÑ7¥næè‹@ÍZ–¾šË„V¥É…á|«~œO5~åFÔzYÇ2iVe Ë•áŒ3ëktc~¬Ãk|pÙëЬUXÊ:–ëÐÆz¶7›¿ýûú6 •Eh)—XήYëÛ(´ù‰h¾&ÇŸÝ«¥œÉ1CÔ§5ó„úË–䨯Z¤YëZA«HëîÝ=¢z¬"iq¯«ã.ÒçZv)w«Áh—rÿÔÀªbËs,UÖz˜%­"°ôàÅX&ŒKy'®Ô&ÖóÞqœ­‡%ÒâZ+1>Éþ|ßX›óvƒ‡R‘&Ýݸû?¯—"”ÖÞ§T$’¶~$“&ÍŠ4i‘?¦mÞ6>‡rtÃþæWÁb™Ðª¯¨Áåœ1c‘fÚAÿ‹×Ë:ŠI³*aXEÚ\k÷xXÚ†9úÍù«Ïõ@ÚX"´ôøÛX"´ôòàŒ‹üŒ57~k’W=õqiVm|XEhýßþ ¬endstream endobj 6 0 obj 53077 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 9 0 obj <> endobj 10 0 obj <> endobj 8 0 obj <> endobj 2 0 obj <>endobj xref 0 11 0000000000 65535 f 0000053401 00000 n 0000053613 00000 n 0000053342 00000 n 0000053183 00000 n 0000000015 00000 n 0000053162 00000 n 0000053449 00000 n 0000053549 00000 n 0000053490 00000 n 0000053519 00000 n trailer << /Size 11 /Root 1 0 R /Info 2 0 R /ID [(à×-5}Ecž{9¼}4\()(à×-5}Ecž{9¼}4\()] >> startxref 53747 %%EOF sparskit-2.0.0/DOC/mat9.ps0000640000265600020320000032730510213313766014330 0ustar tilleaadmin%!PS-Adobe-2.0 EPSF-2.0 %%Creator: PSPLTM routine %%BoundingBox: 100 50 510 500 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 0.500000 cm scalefont setfont 10.7950 cm 16.9700 cm moveto (Assembled Matrix) Cshow 3.81000 cm 2.00000 cm translate 13.9700 cm 1081 div dup scale 0.250000 setlinewidth newpath 0 0 moveto 1081 0 lineto 1081 1081 lineto 0 1081 lineto closepath stroke 0.2 setlinewidth 1 1 translate 0.8 setlinewidth /p {moveto 0 -.40 rmoveto 0 .80 rlineto stroke} def 0 1079 p 801 1079 p 802 1079 p 825 1079 p 827 1079 p 1 1078 p 501 1078 p 500 1078 p 603 1078 p 2 1077 p 352 1077 p 351 1077 p 398 1077 p 3 1076 p 599 1076 p 600 1076 p 626 1076 p 629 1076 p 4 1075 p 288 1075 p 287 1075 p 290 1075 p 1037 1075 p 1039 1075 p 5 1074 p 287 1074 p 286 1074 p 293 1074 p 292 1074 p 1038 1074 p 1043 1074 p 6 1073 p 292 1073 p 291 1073 p 297 1073 p 296 1073 p 1044 1073 p 1046 1073 p 7 1072 p 296 1072 p 295 1072 p 301 1072 p 300 1072 p 1047 1072 p 1052 1072 p 8 1071 p 300 1071 p 299 1071 p 305 1071 p 304 1071 p 1053 1071 p 1058 1071 p 9 1070 p 304 1070 p 303 1070 p 309 1070 p 308 1070 p 1059 1070 p 1061 1070 p 10 1069 p 308 1069 p 307 1069 p 313 1069 p 312 1069 p 1062 1069 p 1065 1069 p 11 1068 p 312 1068 p 311 1068 p 317 1068 p 316 1068 p 1066 1068 p 1070 1068 p 12 1067 p 316 1067 p 315 1067 p 321 1067 p 320 1067 p 1071 1067 p 1075 1067 p 13 1066 p 320 1066 p 319 1066 p 325 1066 p 324 1066 p 1076 1066 p 1079 1066 p 14 1065 p 324 1065 p 323 1065 p 330 1065 p 331 1065 p 933 1065 p 993 1065 p 15 1064 p 327 1064 p 329 1064 p 331 1064 p 932 1064 p 16 1063 p 329 1063 p 328 1063 p 333 1063 p 335 1063 p 901 1063 p 927 1063 p 17 1062 p 335 1062 p 334 1062 p 338 1062 p 339 1062 p 341 1062 p 776 1062 p 777 1062 p 18 1061 p 341 1061 p 340 1061 p 343 1061 p 345 1061 p 650 1061 p 669 1061 p 710 1061 p 19 1060 p 345 1060 p 344 1060 p 347 1060 p 349 1060 p 502 1060 p 552 1060 p 20 1059 p 349 1059 p 348 1059 p 354 1059 p 356 1059 p 404 1059 p 499 1059 p 21 1058 p 356 1058 p 355 1058 p 403 1058 p 22 1057 p 289 1057 p 290 1057 p 358 1057 p 23 1056 p 286 1056 p 288 1056 p 289 1056 p 294 1056 p 357 1056 p 360 1056 p 24 1055 p 291 1055 p 293 1055 p 294 1055 p 298 1055 p 359 1055 p 363 1055 p 25 1054 p 295 1054 p 297 1054 p 298 1054 p 302 1054 p 362 1054 p 366 1054 p 26 1053 p 299 1053 p 301 1053 p 302 1053 p 306 1053 p 365 1053 p 369 1053 p 27 1052 p 303 1052 p 305 1052 p 306 1052 p 310 1052 p 368 1052 p 372 1052 p 28 1051 p 307 1051 p 309 1051 p 310 1051 p 314 1051 p 371 1051 p 375 1051 p 29 1050 p 311 1050 p 313 1050 p 314 1050 p 318 1050 p 374 1050 p 378 1050 p 30 1049 p 315 1049 p 317 1049 p 318 1049 p 322 1049 p 377 1049 p 381 1049 p 31 1048 p 319 1048 p 321 1048 p 322 1048 p 326 1048 p 380 1048 p 384 1048 p 32 1047 p 323 1047 p 325 1047 p 326 1047 p 332 1047 p 383 1047 p 387 1047 p 33 1046 p 328 1046 p 327 1046 p 330 1046 p 332 1046 p 336 1046 p 386 1046 p 390 1046 p 34 1045 p 334 1045 p 333 1045 p 336 1045 p 337 1045 p 389 1045 p 393 1045 p 35 1044 p 338 1044 p 337 1044 p 342 1044 p 392 1044 p 396 1044 p 36 1043 p 340 1043 p 339 1043 p 342 1043 p 346 1043 p 395 1043 p 401 1043 p 37 1042 p 344 1042 p 343 1042 p 346 1042 p 350 1042 p 400 1042 p 38 1041 p 348 1041 p 347 1041 p 350 1041 p 351 1041 p 353 1041 p 399 1041 p 39 1040 p 353 1040 p 352 1040 p 355 1040 p 354 1040 p 40 1039 p 357 1039 p 358 1039 p 361 1039 p 406 1039 p 408 1039 p 41 1038 p 359 1038 p 360 1038 p 361 1038 p 364 1038 p 405 1038 p 410 1038 p 42 1037 p 362 1037 p 363 1037 p 364 1037 p 367 1037 p 409 1037 p 413 1037 p 43 1036 p 365 1036 p 366 1036 p 367 1036 p 370 1036 p 412 1036 p 416 1036 p 44 1035 p 368 1035 p 369 1035 p 370 1035 p 373 1035 p 415 1035 p 419 1035 p 45 1034 p 371 1034 p 372 1034 p 373 1034 p 376 1034 p 418 1034 p 423 1034 p 46 1033 p 374 1033 p 375 1033 p 376 1033 p 379 1033 p 422 1033 p 47 1032 p 377 1032 p 378 1032 p 379 1032 p 382 1032 p 421 1032 p 426 1032 p 428 1032 p 48 1031 p 380 1031 p 381 1031 p 382 1031 p 385 1031 p 427 1031 p 431 1031 p 49 1030 p 383 1030 p 384 1030 p 385 1030 p 388 1030 p 430 1030 p 434 1030 p 50 1029 p 386 1029 p 387 1029 p 388 1029 p 391 1029 p 433 1029 p 51 1028 p 389 1028 p 390 1028 p 391 1028 p 394 1028 p 436 1028 p 440 1028 p 52 1027 p 392 1027 p 393 1027 p 394 1027 p 397 1027 p 438 1027 p 53 1026 p 395 1026 p 396 1026 p 397 1026 p 402 1026 p 437 1026 p 54 1025 p 398 1025 p 399 1025 p 400 1025 p 401 1025 p 402 1025 p 439 1025 p 55 1024 p 407 1024 p 408 1024 p 443 1024 p 445 1024 p 56 1023 p 405 1023 p 406 1023 p 407 1023 p 411 1023 p 442 1023 p 447 1023 p 57 1022 p 409 1022 p 410 1022 p 411 1022 p 414 1022 p 446 1022 p 450 1022 p 58 1021 p 412 1021 p 413 1021 p 414 1021 p 417 1021 p 449 1021 p 453 1021 p 59 1020 p 415 1020 p 416 1020 p 417 1020 p 420 1020 p 452 1020 p 456 1020 p 60 1019 p 418 1019 p 419 1019 p 420 1019 p 424 1019 p 455 1019 p 460 1019 p 61 1018 p 421 1018 p 422 1018 p 423 1018 p 424 1018 p 425 1018 p 459 1018 p 62 1017 p 426 1017 p 425 1017 p 429 1017 p 458 1017 p 463 1017 p 63 1016 p 427 1016 p 428 1016 p 429 1016 p 432 1016 p 462 1016 p 466 1016 p 64 1015 p 430 1015 p 431 1015 p 432 1015 p 435 1015 p 465 1015 p 469 1015 p 65 1014 p 433 1014 p 434 1014 p 435 1014 p 436 1014 p 441 1014 p 468 1014 p 66 1013 p 437 1013 p 438 1013 p 439 1013 p 440 1013 p 441 1013 p 471 1013 p 67 1012 p 444 1012 p 445 1012 p 473 1012 p 475 1012 p 68 1011 p 442 1011 p 443 1011 p 444 1011 p 448 1011 p 472 1011 p 69 1010 p 446 1010 p 447 1010 p 448 1010 p 451 1010 p 476 1010 p 478 1010 p 481 1010 p 70 1009 p 449 1009 p 450 1009 p 451 1009 p 454 1009 p 480 1009 p 71 1008 p 452 1008 p 453 1008 p 454 1008 p 457 1008 p 479 1008 p 484 1008 p 72 1007 p 455 1007 p 456 1007 p 457 1007 p 461 1007 p 483 1007 p 487 1007 p 73 1006 p 458 1006 p 459 1006 p 460 1006 p 461 1006 p 464 1006 p 486 1006 p 490 1006 p 493 1006 p 74 1005 p 462 1005 p 463 1005 p 464 1005 p 467 1005 p 492 1005 p 75 1004 p 465 1004 p 466 1004 p 467 1004 p 470 1004 p 491 1004 p 495 1004 p 76 1003 p 468 1003 p 469 1003 p 470 1003 p 471 1003 p 497 1003 p 77 1002 p 474 1002 p 475 1002 p 504 1002 p 506 1002 p 78 1001 p 472 1001 p 473 1001 p 474 1001 p 476 1001 p 477 1001 p 503 1001 p 79 1000 p 478 1000 p 477 1000 p 482 1000 p 507 1000 p 509 1000 p 80 999 p 479 999 p 480 999 p 481 999 p 482 999 p 485 999 p 508 999 p 512 999 p 81 998 p 483 998 p 484 998 p 485 998 p 488 998 p 511 998 p 515 998 p 517 998 p 82 997 p 486 997 p 487 997 p 488 997 p 489 997 p 516 997 p 520 997 p 83 996 p 490 996 p 489 996 p 494 996 p 519 996 p 524 996 p 84 995 p 491 995 p 492 995 p 493 995 p 494 995 p 496 995 p 523 995 p 85 994 p 495 994 p 496 994 p 497 994 p 522 994 p 526 994 p 86 993 p 505 993 p 506 993 p 529 993 p 87 992 p 503 992 p 504 992 p 505 992 p 507 992 p 510 992 p 528 992 p 531 992 p 88 991 p 508 991 p 509 991 p 510 991 p 513 991 p 530 991 p 534 991 p 89 990 p 511 990 p 512 990 p 513 990 p 514 990 p 533 990 p 537 990 p 539 990 p 90 989 p 515 989 p 514 989 p 518 989 p 538 989 p 542 989 p 91 988 p 516 988 p 517 988 p 518 988 p 521 988 p 541 988 p 546 988 p 92 987 p 519 987 p 520 987 p 521 987 p 525 987 p 545 987 p 93 986 p 522 986 p 523 986 p 524 986 p 525 986 p 527 986 p 544 986 p 549 986 p 94 985 p 526 985 p 527 985 p 548 985 p 95 984 p 528 984 p 529 984 p 532 984 p 554 984 p 556 984 p 96 983 p 530 983 p 531 983 p 532 983 p 535 983 p 553 983 p 558 983 p 97 982 p 533 982 p 534 982 p 535 982 p 536 982 p 557 982 p 561 982 p 98 981 p 537 981 p 536 981 p 540 981 p 560 981 p 565 981 p 99 980 p 538 980 p 539 980 p 540 980 p 543 980 p 564 980 p 100 979 p 541 979 p 542 979 p 543 979 p 547 979 p 563 979 p 568 979 p 101 978 p 544 978 p 545 978 p 546 978 p 547 978 p 550 978 p 567 978 p 571 978 p 102 977 p 548 977 p 549 977 p 550 977 p 570 977 p 573 977 p 103 976 p 555 976 p 556 976 p 576 976 p 104 975 p 553 975 p 554 975 p 555 975 p 559 975 p 575 975 p 578 975 p 105 974 p 557 974 p 558 974 p 559 974 p 562 974 p 577 974 p 581 974 p 106 973 p 560 973 p 561 973 p 562 973 p 566 973 p 580 973 p 584 973 p 107 972 p 563 972 p 564 972 p 565 972 p 566 972 p 569 972 p 583 972 p 587 972 p 108 971 p 567 971 p 568 971 p 569 971 p 572 971 p 586 971 p 590 971 p 592 971 p 109 970 p 570 970 p 571 970 p 572 970 p 574 970 p 591 970 p 595 970 p 110 969 p 573 969 p 574 969 p 594 969 p 597 969 p 111 968 p 575 968 p 576 968 p 579 968 p 605 968 p 607 968 p 112 967 p 577 967 p 578 967 p 579 967 p 582 967 p 604 967 p 609 967 p 113 966 p 580 966 p 581 966 p 582 966 p 585 966 p 608 966 p 612 966 p 114 965 p 583 965 p 584 965 p 585 965 p 588 965 p 611 965 p 615 965 p 115 964 p 586 964 p 587 964 p 588 964 p 589 964 p 614 964 p 619 964 p 116 963 p 590 963 p 589 963 p 593 963 p 618 963 p 117 962 p 591 962 p 592 962 p 593 962 p 596 962 p 617 962 p 622 962 p 118 961 p 594 961 p 595 961 p 596 961 p 598 961 p 600 961 p 621 961 p 624 961 p 119 960 p 597 960 p 598 960 p 599 960 p 120 959 p 606 959 p 607 959 p 631 959 p 121 958 p 604 958 p 605 958 p 606 958 p 610 958 p 630 958 p 633 958 p 122 957 p 608 957 p 609 957 p 610 957 p 613 957 p 632 957 p 636 957 p 638 957 p 123 956 p 611 956 p 612 956 p 613 956 p 616 956 p 637 956 p 641 956 p 124 955 p 614 955 p 615 955 p 616 955 p 620 955 p 640 955 p 645 955 p 125 954 p 617 954 p 618 954 p 619 954 p 620 954 p 623 954 p 644 954 p 126 953 p 621 953 p 622 953 p 623 953 p 625 953 p 628 953 p 643 953 p 647 953 p 127 952 p 624 952 p 625 952 p 626 952 p 627 952 p 128 951 p 627 951 p 628 951 p 629 951 p 649 951 p 129 950 p 630 950 p 631 950 p 634 950 p 652 950 p 654 950 p 130 949 p 632 949 p 633 949 p 634 949 p 635 949 p 651 949 p 656 949 p 131 948 p 636 948 p 635 948 p 639 948 p 655 948 p 660 948 p 132 947 p 637 947 p 638 947 p 639 947 p 642 947 p 659 947 p 133 946 p 640 946 p 641 946 p 642 946 p 646 946 p 658 946 p 663 946 p 134 945 p 643 945 p 644 945 p 645 945 p 646 945 p 648 945 p 662 945 p 665 945 p 135 944 p 647 944 p 648 944 p 649 944 p 667 944 p 136 943 p 653 943 p 654 943 p 671 943 p 137 942 p 651 942 p 652 942 p 653 942 p 657 942 p 670 942 p 673 942 p 138 941 p 655 941 p 656 941 p 657 941 p 661 941 p 672 941 p 676 941 p 139 940 p 658 940 p 659 940 p 660 940 p 661 940 p 664 940 p 675 940 p 679 940 p 140 939 p 662 939 p 663 939 p 664 939 p 666 939 p 678 939 p 681 939 p 141 938 p 665 938 p 666 938 p 667 938 p 683 938 p 142 937 p 670 937 p 671 937 p 674 937 p 685 937 p 687 937 p 143 936 p 672 936 p 673 936 p 674 936 p 677 936 p 684 936 p 144 935 p 675 935 p 676 935 p 677 935 p 680 935 p 688 935 p 690 935 p 693 935 p 145 934 p 678 934 p 679 934 p 680 934 p 682 934 p 692 934 p 146 933 p 681 933 p 682 933 p 683 933 p 691 933 p 695 933 p 147 932 p 686 932 p 687 932 p 698 932 p 148 931 p 684 931 p 685 931 p 686 931 p 688 931 p 689 931 p 697 931 p 700 931 p 149 930 p 690 930 p 689 930 p 694 930 p 699 930 p 703 930 p 150 929 p 691 929 p 692 929 p 693 929 p 694 929 p 696 929 p 702 929 p 705 929 p 151 928 p 695 928 p 696 928 p 707 928 p 152 927 p 697 927 p 698 927 p 701 927 p 714 927 p 153 926 p 699 926 p 700 926 p 701 926 p 704 926 p 713 926 p 716 926 p 154 925 p 702 925 p 703 925 p 704 925 p 706 925 p 715 925 p 719 925 p 721 925 p 155 924 p 705 924 p 706 924 p 707 924 p 720 924 p 723 924 p 156 923 p 713 923 p 714 923 p 717 923 p 726 923 p 157 922 p 715 922 p 716 922 p 717 922 p 718 922 p 725 922 p 728 922 p 730 922 p 158 921 p 719 921 p 718 921 p 722 921 p 729 921 p 733 921 p 159 920 p 720 920 p 721 920 p 722 920 p 724 920 p 732 920 p 736 920 p 160 919 p 723 919 p 724 919 p 735 919 p 161 918 p 725 918 p 726 918 p 727 918 p 739 918 p 162 917 p 728 917 p 727 917 p 731 917 p 738 917 p 741 917 p 163 916 p 729 916 p 730 916 p 731 916 p 734 916 p 740 916 p 744 916 p 164 915 p 732 915 p 733 915 p 734 915 p 737 915 p 743 915 p 747 915 p 749 915 p 165 914 p 735 914 p 736 914 p 737 914 p 748 914 p 751 914 p 166 913 p 738 913 p 739 913 p 742 913 p 758 913 p 760 913 p 167 912 p 740 912 p 741 912 p 742 912 p 745 912 p 759 912 p 763 912 p 168 911 p 743 911 p 744 911 p 745 911 p 746 911 p 762 911 p 766 911 p 169 910 p 747 910 p 746 910 p 750 910 p 765 910 p 769 910 p 170 909 p 748 909 p 749 909 p 750 909 p 752 909 p 768 909 p 772 909 p 171 908 p 751 908 p 752 908 p 771 908 p 774 908 p 172 907 p 761 907 p 760 907 p 778 907 p 173 906 p 759 906 p 758 906 p 761 906 p 764 906 p 779 906 p 780 906 p 174 905 p 762 905 p 763 905 p 764 905 p 767 905 p 781 905 p 783 905 p 175 904 p 765 904 p 766 904 p 767 904 p 770 904 p 784 904 p 787 904 p 176 903 p 768 903 p 769 903 p 770 903 p 773 903 p 786 903 p 790 903 p 177 902 p 771 902 p 772 902 p 773 902 p 775 902 p 789 902 p 793 902 p 795 902 p 178 901 p 774 901 p 775 901 p 794 901 p 797 901 p 179 900 p 779 900 p 778 900 p 782 900 p 803 900 p 180 899 p 781 899 p 780 899 p 782 899 p 785 899 p 804 899 p 805 899 p 181 898 p 784 898 p 783 898 p 785 898 p 788 898 p 806 898 p 808 898 p 182 897 p 786 897 p 787 897 p 788 897 p 791 897 p 809 897 p 811 897 p 183 896 p 789 896 p 790 896 p 791 896 p 792 896 p 812 896 p 814 896 p 184 895 p 793 895 p 792 895 p 796 895 p 815 895 p 817 895 p 185 894 p 794 894 p 795 894 p 796 894 p 798 894 p 800 894 p 818 894 p 820 894 p 186 893 p 799 893 p 800 893 p 802 893 p 821 893 p 823 893 p 187 892 p 797 892 p 798 892 p 799 892 p 801 892 p 188 891 p 804 891 p 803 891 p 807 891 p 831 891 p 833 891 p 189 890 p 806 890 p 805 890 p 807 890 p 810 890 p 832 890 p 835 890 p 190 889 p 809 889 p 808 889 p 810 889 p 813 889 p 836 889 p 838 889 p 191 888 p 812 888 p 811 888 p 813 888 p 816 888 p 839 888 p 841 888 p 192 887 p 815 887 p 814 887 p 816 887 p 819 887 p 842 887 p 844 887 p 193 886 p 818 886 p 817 886 p 819 886 p 822 886 p 845 886 p 849 886 p 194 885 p 821 885 p 820 885 p 822 885 p 824 885 p 847 885 p 195 884 p 823 884 p 824 884 p 825 884 p 826 884 p 848 884 p 852 884 p 196 883 p 827 883 p 826 883 p 851 883 p 197 882 p 834 882 p 833 882 p 854 882 p 198 881 p 832 881 p 831 881 p 834 881 p 837 881 p 855 881 p 856 881 p 199 880 p 836 880 p 835 880 p 837 880 p 840 880 p 857 880 p 859 880 p 200 879 p 839 879 p 838 879 p 840 879 p 843 879 p 860 879 p 862 879 p 201 878 p 842 878 p 841 878 p 843 878 p 846 878 p 863 878 p 865 878 p 202 877 p 845 877 p 844 877 p 846 877 p 850 877 p 866 877 p 869 877 p 870 877 p 203 876 p 848 876 p 847 876 p 849 876 p 850 876 p 853 876 p 871 876 p 204 875 p 851 875 p 852 875 p 853 875 p 873 875 p 875 875 p 205 874 p 855 874 p 854 874 p 858 874 p 876 874 p 206 873 p 857 873 p 856 873 p 858 873 p 861 873 p 877 873 p 878 873 p 207 872 p 860 872 p 859 872 p 861 872 p 864 872 p 879 872 p 881 872 p 208 871 p 863 871 p 862 871 p 864 871 p 867 871 p 882 871 p 884 871 p 209 870 p 866 870 p 865 870 p 867 870 p 868 870 p 885 870 p 887 870 p 210 869 p 869 869 p 868 869 p 872 869 p 888 869 p 890 869 p 211 868 p 871 868 p 870 868 p 872 868 p 873 868 p 874 868 p 891 868 p 894 868 p 895 868 p 212 867 p 875 867 p 874 867 p 896 867 p 899 867 p 213 866 p 877 866 p 876 866 p 880 866 p 902 866 p 904 866 p 214 865 p 879 865 p 878 865 p 880 865 p 883 865 p 903 865 p 906 865 p 215 864 p 882 864 p 881 864 p 883 864 p 886 864 p 907 864 p 909 864 p 216 863 p 885 863 p 884 863 p 886 863 p 889 863 p 910 863 p 912 863 p 217 862 p 888 862 p 887 862 p 889 862 p 892 862 p 913 862 p 915 862 p 218 861 p 891 861 p 890 861 p 892 861 p 893 861 p 916 861 p 918 861 p 219 860 p 894 860 p 893 860 p 897 860 p 919 860 p 921 860 p 220 859 p 896 859 p 895 859 p 897 859 p 898 859 p 922 859 p 924 859 p 221 858 p 899 858 p 898 858 p 925 858 p 222 857 p 905 857 p 904 857 p 934 857 p 936 857 p 223 856 p 903 856 p 902 856 p 905 856 p 908 856 p 935 856 p 224 855 p 907 855 p 906 855 p 908 855 p 911 855 p 938 855 p 939 855 p 225 854 p 910 854 p 909 854 p 911 854 p 914 854 p 940 854 p 942 854 p 226 853 p 913 853 p 912 853 p 914 853 p 917 853 p 943 853 p 945 853 p 227 852 p 916 852 p 915 852 p 917 852 p 920 852 p 946 852 p 948 852 p 228 851 p 919 851 p 918 851 p 920 851 p 923 851 p 949 851 p 951 851 p 229 850 p 922 850 p 921 850 p 923 850 p 926 850 p 952 850 p 955 850 p 956 850 p 230 849 p 925 849 p 924 849 p 926 849 p 957 849 p 960 849 p 231 848 p 937 848 p 936 848 p 961 848 p 232 847 p 935 847 p 934 847 p 937 847 p 938 847 p 941 847 p 962 847 p 963 847 p 233 846 p 940 846 p 939 846 p 941 846 p 944 846 p 964 846 p 967 846 p 970 846 p 234 845 p 943 845 p 942 845 p 944 845 p 947 845 p 968 845 p 235 844 p 946 844 p 945 844 p 947 844 p 950 844 p 969 844 p 972 844 p 236 843 p 949 843 p 948 843 p 950 843 p 953 843 p 973 843 p 975 843 p 237 842 p 952 842 p 951 842 p 953 842 p 954 842 p 976 842 p 978 842 p 238 841 p 955 841 p 954 841 p 958 841 p 979 841 p 981 841 p 239 840 p 957 840 p 956 840 p 958 840 p 959 840 p 982 840 p 985 840 p 987 840 p 240 839 p 960 839 p 959 839 p 986 839 p 990 839 p 992 839 p 241 838 p 962 838 p 961 838 p 965 838 p 997 838 p 242 837 p 964 837 p 963 837 p 965 837 p 966 837 p 998 837 p 999 837 p 243 836 p 967 836 p 966 836 p 971 836 p 1000 836 p 1002 836 p 244 835 p 969 835 p 968 835 p 970 835 p 971 835 p 974 835 p 1003 835 p 1006 835 p 1007 835 p 245 834 p 973 834 p 972 834 p 974 834 p 977 834 p 1008 834 p 1010 834 p 246 833 p 976 833 p 975 833 p 977 833 p 980 833 p 1011 833 p 1013 833 p 247 832 p 979 832 p 978 832 p 980 832 p 983 832 p 1014 832 p 1016 832 p 248 831 p 982 831 p 981 831 p 983 831 p 984 831 p 1017 831 p 1019 831 p 249 830 p 985 830 p 984 830 p 988 830 p 1020 830 p 1022 830 p 250 829 p 986 829 p 987 829 p 988 829 p 989 829 p 1023 829 p 1026 829 p 251 828 p 990 828 p 989 828 p 991 828 p 1025 828 p 1029 828 p 252 827 p 992 827 p 991 827 p 1028 827 p 1030 827 p 1031 827 p 1032 827 p 253 826 p 998 826 p 997 826 p 1001 826 p 1033 826 p 254 825 p 1000 825 p 999 825 p 1001 825 p 1004 825 p 1034 825 p 1035 825 p 255 824 p 1003 824 p 1002 824 p 1004 824 p 1005 824 p 1036 824 p 1041 824 p 256 823 p 1006 823 p 1005 823 p 1009 823 p 1042 823 p 1049 823 p 1055 823 p 257 822 p 1008 822 p 1007 822 p 1009 822 p 1012 822 p 1050 822 p 258 821 p 1011 821 p 1010 821 p 1012 821 p 1015 821 p 1051 821 p 1056 821 p 259 820 p 1014 820 p 1013 820 p 1015 820 p 1018 820 p 1057 820 p 1064 820 p 1068 820 p 260 819 p 1017 819 p 1016 819 p 1018 819 p 1021 819 p 1069 819 p 1073 819 p 261 818 p 1020 818 p 1019 818 p 1021 818 p 1024 818 p 1074 818 p 1078 818 p 262 817 p 996 817 p 995 817 p 1023 817 p 1022 817 p 1024 817 p 1027 817 p 263 816 p 930 816 p 929 816 p 931 816 p 1025 816 p 1026 816 p 1027 816 p 264 815 p 830 815 p 829 815 p 900 815 p 931 815 p 1028 815 p 1029 815 p 265 814 p 756 814 p 755 814 p 757 814 p 900 814 p 1030 814 p 266 813 p 712 813 p 711 813 p 753 813 p 757 813 p 1031 813 p 267 812 p 601 812 p 602 812 p 603 812 p 708 812 p 753 812 p 1032 812 p 268 811 p 1034 811 p 1033 811 p 1039 811 p 1040 811 p 269 810 p 1036 810 p 1035 810 p 1037 810 p 1038 810 p 1040 810 p 1045 810 p 270 809 p 1042 809 p 1041 809 p 1043 809 p 1044 809 p 1045 809 p 1048 809 p 271 808 p 1046 808 p 1047 808 p 1048 808 p 1049 808 p 1054 808 p 272 807 p 1051 807 p 1050 807 p 1052 807 p 1053 807 p 1054 807 p 1055 807 p 1060 807 p 273 806 p 1057 806 p 1056 806 p 1058 806 p 1059 806 p 1060 806 p 1063 806 p 274 805 p 1061 805 p 1062 805 p 1063 805 p 1064 805 p 1067 805 p 275 804 p 1065 804 p 1066 804 p 1067 804 p 1069 804 p 1068 804 p 1072 804 p 276 803 p 1070 803 p 1071 803 p 1072 803 p 1074 803 p 1073 803 p 1077 803 p 277 802 p 994 802 p 996 802 p 1075 802 p 1076 802 p 1077 802 p 1078 802 p 278 801 p 928 801 p 930 801 p 993 801 p 995 801 p 994 801 p 1079 801 p 279 800 p 828 800 p 830 800 p 927 800 p 929 800 p 928 800 p 933 800 p 932 800 p 280 799 p 754 799 p 756 799 p 777 799 p 829 799 p 828 799 p 901 799 p 281 798 p 710 798 p 709 798 p 712 798 p 755 798 p 754 798 p 776 798 p 282 797 p 669 797 p 668 797 p 708 797 p 709 797 p 711 797 p 283 796 p 552 796 p 551 796 p 601 796 p 650 796 p 668 796 p 284 795 p 499 795 p 498 795 p 501 795 p 502 795 p 551 795 p 602 795 p 285 794 p 404 794 p 403 794 p 498 794 p 500 794 p 286 793 p 287 793 p 288 793 p 294 793 p 293 793 p 23 793 p 5 793 p 286 792 p 287 792 p 288 792 p 1037 792 p 1038 792 p 5 792 p 4 792 p 286 791 p 287 791 p 288 791 p 289 791 p 290 791 p 23 791 p 4 791 p 289 790 p 288 790 p 290 790 p 357 790 p 358 790 p 22 790 p 23 790 p 289 789 p 288 789 p 290 789 p 22 789 p 4 789 p 291 788 p 292 788 p 293 788 p 298 788 p 297 788 p 24 788 p 6 788 p 291 787 p 292 787 p 293 787 p 1043 787 p 1044 787 p 6 787 p 5 787 p 291 786 p 292 786 p 293 786 p 294 786 p 286 786 p 24 786 p 5 786 p 294 785 p 293 785 p 286 785 p 359 785 p 360 785 p 23 785 p 24 785 p 295 784 p 296 784 p 297 784 p 302 784 p 301 784 p 25 784 p 7 784 p 295 783 p 296 783 p 297 783 p 1046 783 p 1047 783 p 7 783 p 6 783 p 295 782 p 296 782 p 297 782 p 298 782 p 291 782 p 25 782 p 6 782 p 298 781 p 297 781 p 291 781 p 362 781 p 363 781 p 24 781 p 25 781 p 299 780 p 300 780 p 301 780 p 306 780 p 305 780 p 26 780 p 8 780 p 299 779 p 300 779 p 301 779 p 1052 779 p 1053 779 p 8 779 p 7 779 p 299 778 p 300 778 p 301 778 p 302 778 p 295 778 p 26 778 p 7 778 p 302 777 p 301 777 p 295 777 p 365 777 p 366 777 p 25 777 p 26 777 p 303 776 p 304 776 p 305 776 p 310 776 p 309 776 p 27 776 p 9 776 p 303 775 p 304 775 p 305 775 p 1058 775 p 1059 775 p 9 775 p 8 775 p 303 774 p 304 774 p 305 774 p 306 774 p 299 774 p 27 774 p 8 774 p 306 773 p 305 773 p 299 773 p 368 773 p 369 773 p 26 773 p 27 773 p 307 772 p 308 772 p 309 772 p 314 772 p 313 772 p 28 772 p 10 772 p 307 771 p 308 771 p 309 771 p 1061 771 p 1062 771 p 10 771 p 9 771 p 307 770 p 308 770 p 309 770 p 310 770 p 303 770 p 28 770 p 9 770 p 310 769 p 309 769 p 303 769 p 371 769 p 372 769 p 27 769 p 28 769 p 311 768 p 312 768 p 313 768 p 318 768 p 317 768 p 29 768 p 11 768 p 311 767 p 312 767 p 313 767 p 1065 767 p 1066 767 p 11 767 p 10 767 p 311 766 p 312 766 p 313 766 p 314 766 p 307 766 p 29 766 p 10 766 p 314 765 p 313 765 p 307 765 p 374 765 p 375 765 p 28 765 p 29 765 p 315 764 p 316 764 p 317 764 p 322 764 p 321 764 p 30 764 p 12 764 p 315 763 p 316 763 p 317 763 p 1070 763 p 1071 763 p 12 763 p 11 763 p 315 762 p 316 762 p 317 762 p 318 762 p 311 762 p 30 762 p 11 762 p 318 761 p 317 761 p 311 761 p 377 761 p 378 761 p 29 761 p 30 761 p 319 760 p 320 760 p 321 760 p 326 760 p 325 760 p 31 760 p 13 760 p 319 759 p 320 759 p 321 759 p 1075 759 p 1076 759 p 13 759 p 12 759 p 319 758 p 320 758 p 321 758 p 322 758 p 315 758 p 31 758 p 12 758 p 322 757 p 321 757 p 315 757 p 380 757 p 381 757 p 30 757 p 31 757 p 323 756 p 324 756 p 325 756 p 332 756 p 330 756 p 32 756 p 14 756 p 323 755 p 324 755 p 325 755 p 1079 755 p 993 755 p 14 755 p 13 755 p 323 754 p 324 754 p 325 754 p 326 754 p 319 754 p 32 754 p 13 754 p 326 753 p 325 753 p 319 753 p 383 753 p 384 753 p 31 753 p 32 753 p 327 752 p 328 752 p 329 752 p 330 752 p 331 752 p 15 752 p 33 752 p 327 751 p 328 751 p 329 751 p 336 751 p 333 751 p 33 751 p 16 751 p 327 750 p 328 750 p 329 750 p 927 750 p 932 750 p 15 750 p 16 750 p 330 749 p 327 749 p 331 749 p 323 749 p 332 749 p 14 749 p 33 749 p 330 748 p 327 748 p 331 748 p 932 748 p 933 748 p 14 748 p 15 748 p 323 747 p 332 747 p 330 747 p 386 747 p 387 747 p 32 747 p 33 747 p 333 746 p 334 746 p 335 746 p 328 746 p 336 746 p 16 746 p 34 746 p 333 745 p 334 745 p 335 745 p 337 745 p 338 745 p 34 745 p 17 745 p 333 744 p 334 744 p 335 744 p 777 744 p 901 744 p 16 744 p 17 744 p 328 743 p 336 743 p 333 743 p 389 743 p 390 743 p 33 743 p 34 743 p 334 742 p 337 742 p 338 742 p 392 742 p 393 742 p 34 742 p 35 742 p 334 741 p 337 741 p 338 741 p 342 741 p 339 741 p 17 741 p 35 741 p 339 740 p 340 740 p 341 740 p 338 740 p 342 740 p 17 740 p 36 740 p 339 739 p 340 739 p 341 739 p 346 739 p 343 739 p 36 739 p 18 739 p 339 738 p 340 738 p 341 738 p 710 738 p 776 738 p 17 738 p 18 738 p 338 737 p 342 737 p 339 737 p 395 737 p 396 737 p 35 737 p 36 737 p 343 736 p 344 736 p 345 736 p 340 736 p 346 736 p 18 736 p 37 736 p 343 735 p 344 735 p 345 735 p 350 735 p 347 735 p 37 735 p 19 735 p 343 734 p 344 734 p 345 734 p 552 734 p 650 734 p 18 734 p 19 734 p 340 733 p 346 733 p 343 733 p 401 733 p 400 733 p 36 733 p 37 733 p 347 732 p 348 732 p 349 732 p 344 732 p 350 732 p 19 732 p 38 732 p 347 731 p 348 731 p 349 731 p 353 731 p 354 731 p 38 731 p 20 731 p 347 730 p 348 730 p 349 730 p 499 730 p 502 730 p 19 730 p 20 730 p 344 729 p 350 729 p 347 729 p 400 729 p 399 729 p 37 729 p 38 729 p 351 728 p 352 728 p 353 728 p 398 728 p 399 728 p 38 728 p 2 728 p 351 727 p 352 727 p 353 727 p 2 727 p 39 727 p 351 726 p 352 726 p 353 726 p 348 726 p 354 726 p 38 726 p 39 726 p 354 725 p 355 725 p 356 725 p 348 725 p 353 725 p 20 725 p 39 725 p 354 724 p 355 724 p 356 724 p 39 724 p 21 724 p 354 723 p 355 723 p 356 723 p 403 723 p 404 723 p 20 723 p 21 723 p 357 722 p 289 722 p 358 722 p 361 722 p 360 722 p 40 722 p 23 722 p 357 721 p 289 721 p 358 721 p 40 721 p 22 721 p 359 720 p 294 720 p 360 720 p 364 720 p 363 720 p 41 720 p 24 720 p 359 719 p 294 719 p 360 719 p 361 719 p 357 719 p 41 719 p 23 719 p 361 718 p 360 718 p 357 718 p 405 718 p 406 718 p 40 718 p 41 718 p 362 717 p 298 717 p 363 717 p 367 717 p 366 717 p 42 717 p 25 717 p 362 716 p 298 716 p 363 716 p 364 716 p 359 716 p 42 716 p 24 716 p 364 715 p 363 715 p 359 715 p 409 715 p 410 715 p 41 715 p 42 715 p 365 714 p 302 714 p 366 714 p 370 714 p 369 714 p 43 714 p 26 714 p 365 713 p 302 713 p 366 713 p 367 713 p 362 713 p 43 713 p 25 713 p 367 712 p 366 712 p 362 712 p 412 712 p 413 712 p 42 712 p 43 712 p 368 711 p 306 711 p 369 711 p 373 711 p 372 711 p 44 711 p 27 711 p 368 710 p 306 710 p 369 710 p 370 710 p 365 710 p 44 710 p 26 710 p 370 709 p 369 709 p 365 709 p 415 709 p 416 709 p 43 709 p 44 709 p 371 708 p 310 708 p 372 708 p 376 708 p 375 708 p 45 708 p 28 708 p 371 707 p 310 707 p 372 707 p 373 707 p 368 707 p 45 707 p 27 707 p 373 706 p 372 706 p 368 706 p 418 706 p 419 706 p 44 706 p 45 706 p 374 705 p 314 705 p 375 705 p 379 705 p 378 705 p 46 705 p 29 705 p 374 704 p 314 704 p 375 704 p 376 704 p 371 704 p 46 704 p 28 704 p 376 703 p 375 703 p 371 703 p 422 703 p 423 703 p 45 703 p 46 703 p 377 702 p 318 702 p 378 702 p 382 702 p 381 702 p 47 702 p 30 702 p 377 701 p 318 701 p 378 701 p 379 701 p 374 701 p 47 701 p 29 701 p 379 700 p 378 700 p 374 700 p 421 700 p 422 700 p 46 700 p 47 700 p 380 699 p 322 699 p 381 699 p 385 699 p 384 699 p 48 699 p 31 699 p 380 698 p 322 698 p 381 698 p 382 698 p 377 698 p 48 698 p 30 698 p 382 697 p 381 697 p 377 697 p 427 697 p 428 697 p 47 697 p 48 697 p 383 696 p 326 696 p 384 696 p 388 696 p 387 696 p 49 696 p 32 696 p 383 695 p 326 695 p 384 695 p 385 695 p 380 695 p 49 695 p 31 695 p 385 694 p 384 694 p 380 694 p 430 694 p 431 694 p 48 694 p 49 694 p 386 693 p 332 693 p 387 693 p 391 693 p 390 693 p 50 693 p 33 693 p 386 692 p 332 692 p 387 692 p 388 692 p 383 692 p 50 692 p 32 692 p 388 691 p 387 691 p 383 691 p 433 691 p 434 691 p 49 691 p 50 691 p 389 690 p 336 690 p 390 690 p 394 690 p 393 690 p 51 690 p 34 690 p 389 689 p 336 689 p 390 689 p 391 689 p 386 689 p 51 689 p 33 689 p 391 688 p 390 688 p 386 688 p 436 688 p 433 688 p 50 688 p 51 688 p 392 687 p 337 687 p 393 687 p 397 687 p 396 687 p 52 687 p 35 687 p 392 686 p 337 686 p 393 686 p 394 686 p 389 686 p 52 686 p 34 686 p 394 685 p 393 685 p 389 685 p 438 685 p 440 685 p 51 685 p 52 685 p 395 684 p 342 684 p 396 684 p 402 684 p 401 684 p 53 684 p 36 684 p 395 683 p 342 683 p 396 683 p 397 683 p 392 683 p 53 683 p 35 683 p 397 682 p 396 682 p 392 682 p 437 682 p 438 682 p 52 682 p 53 682 p 398 681 p 351 681 p 399 681 p 54 681 p 2 681 p 398 680 p 351 680 p 399 680 p 400 680 p 350 680 p 54 680 p 38 680 p 400 679 p 399 679 p 350 679 p 401 679 p 346 679 p 37 679 p 54 679 p 401 678 p 400 678 p 346 678 p 395 678 p 402 678 p 36 678 p 54 678 p 395 677 p 402 677 p 401 677 p 437 677 p 439 677 p 53 677 p 54 677 p 356 676 p 403 676 p 404 676 p 21 676 p 285 676 p 356 675 p 403 675 p 404 675 p 498 675 p 499 675 p 20 675 p 285 675 p 405 674 p 361 674 p 406 674 p 411 674 p 410 674 p 56 674 p 41 674 p 405 673 p 361 673 p 406 673 p 407 673 p 408 673 p 56 673 p 40 673 p 407 672 p 406 672 p 408 672 p 442 672 p 443 672 p 55 672 p 56 672 p 407 671 p 406 671 p 408 671 p 55 671 p 40 671 p 409 670 p 364 670 p 410 670 p 414 670 p 413 670 p 57 670 p 42 670 p 409 669 p 364 669 p 410 669 p 411 669 p 405 669 p 57 669 p 41 669 p 411 668 p 410 668 p 405 668 p 446 668 p 447 668 p 56 668 p 57 668 p 412 667 p 367 667 p 413 667 p 417 667 p 416 667 p 58 667 p 43 667 p 412 666 p 367 666 p 413 666 p 414 666 p 409 666 p 58 666 p 42 666 p 414 665 p 413 665 p 409 665 p 449 665 p 450 665 p 57 665 p 58 665 p 415 664 p 370 664 p 416 664 p 420 664 p 419 664 p 59 664 p 44 664 p 415 663 p 370 663 p 416 663 p 417 663 p 412 663 p 59 663 p 43 663 p 417 662 p 416 662 p 412 662 p 452 662 p 453 662 p 58 662 p 59 662 p 418 661 p 373 661 p 419 661 p 424 661 p 423 661 p 60 661 p 45 661 p 418 660 p 373 660 p 419 660 p 420 660 p 415 660 p 60 660 p 44 660 p 420 659 p 419 659 p 415 659 p 455 659 p 456 659 p 59 659 p 60 659 p 421 658 p 379 658 p 422 658 p 425 658 p 426 658 p 61 658 p 47 658 p 421 657 p 379 657 p 422 657 p 376 657 p 423 657 p 61 657 p 46 657 p 422 656 p 376 656 p 423 656 p 424 656 p 418 656 p 61 656 p 45 656 p 424 655 p 423 655 p 418 655 p 459 655 p 460 655 p 60 655 p 61 655 p 425 654 p 426 654 p 421 654 p 458 654 p 459 654 p 61 654 p 62 654 p 425 653 p 426 653 p 421 653 p 429 653 p 428 653 p 62 653 p 47 653 p 427 652 p 382 652 p 428 652 p 432 652 p 431 652 p 63 652 p 48 652 p 427 651 p 382 651 p 428 651 p 429 651 p 426 651 p 63 651 p 47 651 p 429 650 p 428 650 p 426 650 p 462 650 p 463 650 p 62 650 p 63 650 p 430 649 p 385 649 p 431 649 p 435 649 p 434 649 p 64 649 p 49 649 p 430 648 p 385 648 p 431 648 p 432 648 p 427 648 p 64 648 p 48 648 p 432 647 p 431 647 p 427 647 p 465 647 p 466 647 p 63 647 p 64 647 p 433 646 p 388 646 p 434 646 p 436 646 p 391 646 p 65 646 p 50 646 p 433 645 p 388 645 p 434 645 p 435 645 p 430 645 p 65 645 p 49 645 p 435 644 p 434 644 p 430 644 p 468 644 p 469 644 p 64 644 p 65 644 p 436 643 p 391 643 p 433 643 p 441 643 p 440 643 p 65 643 p 51 643 p 437 642 p 397 642 p 438 642 p 402 642 p 439 642 p 66 642 p 53 642 p 437 641 p 397 641 p 438 641 p 394 641 p 440 641 p 66 641 p 52 641 p 402 640 p 437 640 p 439 640 p 54 640 p 66 640 p 438 639 p 394 639 p 440 639 p 441 639 p 436 639 p 66 639 p 51 639 p 441 638 p 440 638 p 436 638 p 468 638 p 471 638 p 65 638 p 66 638 p 442 637 p 407 637 p 443 637 p 448 637 p 447 637 p 68 637 p 56 637 p 442 636 p 407 636 p 443 636 p 444 636 p 445 636 p 68 636 p 55 636 p 444 635 p 443 635 p 445 635 p 472 635 p 473 635 p 67 635 p 68 635 p 444 634 p 443 634 p 445 634 p 67 634 p 55 634 p 446 633 p 411 633 p 447 633 p 451 633 p 450 633 p 69 633 p 57 633 p 446 632 p 411 632 p 447 632 p 448 632 p 442 632 p 69 632 p 56 632 p 448 631 p 447 631 p 442 631 p 476 631 p 472 631 p 68 631 p 69 631 p 449 630 p 414 630 p 450 630 p 454 630 p 453 630 p 70 630 p 58 630 p 449 629 p 414 629 p 450 629 p 451 629 p 446 629 p 70 629 p 57 629 p 451 628 p 450 628 p 446 628 p 480 628 p 481 628 p 69 628 p 70 628 p 452 627 p 417 627 p 453 627 p 457 627 p 456 627 p 71 627 p 59 627 p 452 626 p 417 626 p 453 626 p 454 626 p 449 626 p 71 626 p 58 626 p 454 625 p 453 625 p 449 625 p 479 625 p 480 625 p 70 625 p 71 625 p 455 624 p 420 624 p 456 624 p 461 624 p 460 624 p 72 624 p 60 624 p 455 623 p 420 623 p 456 623 p 457 623 p 452 623 p 72 623 p 59 623 p 457 622 p 456 622 p 452 622 p 483 622 p 484 622 p 71 622 p 72 622 p 458 621 p 425 621 p 459 621 p 464 621 p 463 621 p 73 621 p 62 621 p 458 620 p 425 620 p 459 620 p 424 620 p 460 620 p 73 620 p 61 620 p 459 619 p 424 619 p 460 619 p 461 619 p 455 619 p 73 619 p 60 619 p 461 618 p 460 618 p 455 618 p 486 618 p 487 618 p 72 618 p 73 618 p 462 617 p 429 617 p 463 617 p 467 617 p 466 617 p 74 617 p 63 617 p 462 616 p 429 616 p 463 616 p 464 616 p 458 616 p 74 616 p 62 616 p 464 615 p 463 615 p 458 615 p 492 615 p 493 615 p 73 615 p 74 615 p 465 614 p 432 614 p 466 614 p 470 614 p 469 614 p 75 614 p 64 614 p 465 613 p 432 613 p 466 613 p 467 613 p 462 613 p 75 613 p 63 613 p 467 612 p 466 612 p 462 612 p 491 612 p 492 612 p 74 612 p 75 612 p 468 611 p 435 611 p 469 611 p 441 611 p 471 611 p 76 611 p 65 611 p 468 610 p 435 610 p 469 610 p 470 610 p 465 610 p 76 610 p 64 610 p 470 609 p 469 609 p 465 609 p 495 609 p 497 609 p 75 609 p 76 609 p 441 608 p 468 608 p 471 608 p 66 608 p 76 608 p 472 607 p 444 607 p 473 607 p 476 607 p 448 607 p 78 607 p 68 607 p 472 606 p 444 606 p 473 606 p 474 606 p 475 606 p 78 606 p 67 606 p 474 605 p 473 605 p 475 605 p 503 605 p 504 605 p 77 605 p 78 605 p 474 604 p 473 604 p 475 604 p 77 604 p 67 604 p 476 603 p 448 603 p 472 603 p 477 603 p 478 603 p 78 603 p 69 603 p 477 602 p 478 602 p 476 602 p 507 602 p 503 602 p 78 602 p 79 602 p 477 601 p 478 601 p 476 601 p 482 601 p 481 601 p 79 601 p 69 601 p 479 600 p 454 600 p 480 600 p 485 600 p 484 600 p 80 600 p 71 600 p 479 599 p 454 599 p 480 599 p 451 599 p 481 599 p 80 599 p 70 599 p 480 598 p 451 598 p 481 598 p 482 598 p 478 598 p 80 598 p 69 598 p 482 597 p 481 597 p 478 597 p 508 597 p 509 597 p 79 597 p 80 597 p 483 596 p 457 596 p 484 596 p 488 596 p 487 596 p 81 596 p 72 596 p 483 595 p 457 595 p 484 595 p 485 595 p 479 595 p 81 595 p 71 595 p 485 594 p 484 594 p 479 594 p 511 594 p 512 594 p 80 594 p 81 594 p 486 593 p 461 593 p 487 593 p 489 593 p 490 593 p 82 593 p 73 593 p 486 592 p 461 592 p 487 592 p 488 592 p 483 592 p 82 592 p 72 592 p 488 591 p 487 591 p 483 591 p 516 591 p 517 591 p 81 591 p 82 591 p 489 590 p 490 590 p 486 590 p 519 590 p 520 590 p 82 590 p 83 590 p 489 589 p 490 589 p 486 589 p 494 589 p 493 589 p 83 589 p 73 589 p 491 588 p 467 588 p 492 588 p 495 588 p 496 588 p 84 588 p 75 588 p 491 587 p 467 587 p 492 587 p 464 587 p 493 587 p 84 587 p 74 587 p 492 586 p 464 586 p 493 586 p 494 586 p 490 586 p 84 586 p 73 586 p 494 585 p 493 585 p 490 585 p 523 585 p 524 585 p 83 585 p 84 585 p 495 584 p 491 584 p 496 584 p 470 584 p 497 584 p 85 584 p 75 584 p 495 583 p 491 583 p 496 583 p 522 583 p 523 583 p 85 583 p 84 583 p 470 582 p 495 582 p 497 582 p 76 582 p 85 582 p 404 581 p 498 581 p 499 581 p 500 581 p 501 581 p 285 581 p 284 581 p 404 580 p 498 580 p 499 580 p 349 580 p 502 580 p 20 580 p 284 580 p 498 579 p 500 579 p 501 579 p 285 579 p 1 579 p 498 578 p 500 578 p 501 578 p 602 578 p 603 578 p 284 578 p 1 578 p 349 577 p 499 577 p 502 577 p 551 577 p 552 577 p 19 577 p 284 577 p 503 576 p 474 576 p 504 576 p 507 576 p 477 576 p 87 576 p 78 576 p 503 575 p 474 575 p 504 575 p 505 575 p 506 575 p 87 575 p 77 575 p 505 574 p 504 574 p 506 574 p 528 574 p 529 574 p 86 574 p 87 574 p 505 573 p 504 573 p 506 573 p 86 573 p 77 573 p 507 572 p 477 572 p 503 572 p 510 572 p 509 572 p 87 572 p 79 572 p 508 571 p 482 571 p 509 571 p 513 571 p 512 571 p 88 571 p 80 571 p 508 570 p 482 570 p 509 570 p 510 570 p 507 570 p 88 570 p 79 570 p 510 569 p 509 569 p 507 569 p 530 569 p 531 569 p 87 569 p 88 569 p 511 568 p 485 568 p 512 568 p 514 568 p 515 568 p 89 568 p 81 568 p 511 567 p 485 567 p 512 567 p 513 567 p 508 567 p 89 567 p 80 567 p 513 566 p 512 566 p 508 566 p 533 566 p 534 566 p 88 566 p 89 566 p 514 565 p 515 565 p 511 565 p 538 565 p 539 565 p 89 565 p 90 565 p 514 564 p 515 564 p 511 564 p 518 564 p 517 564 p 90 564 p 81 564 p 516 563 p 488 563 p 517 563 p 521 563 p 520 563 p 91 563 p 82 563 p 516 562 p 488 562 p 517 562 p 518 562 p 515 562 p 91 562 p 81 562 p 518 561 p 517 561 p 515 561 p 541 561 p 542 561 p 90 561 p 91 561 p 519 560 p 489 560 p 520 560 p 525 560 p 524 560 p 92 560 p 83 560 p 519 559 p 489 559 p 520 559 p 521 559 p 516 559 p 92 559 p 82 559 p 521 558 p 520 558 p 516 558 p 545 558 p 546 558 p 91 558 p 92 558 p 522 557 p 496 557 p 523 557 p 526 557 p 527 557 p 93 557 p 85 557 p 522 556 p 496 556 p 523 556 p 494 556 p 524 556 p 93 556 p 84 556 p 523 555 p 494 555 p 524 555 p 525 555 p 519 555 p 93 555 p 83 555 p 525 554 p 524 554 p 519 554 p 544 554 p 545 554 p 92 554 p 93 554 p 526 553 p 522 553 p 527 553 p 94 553 p 85 553 p 526 552 p 522 552 p 527 552 p 548 552 p 549 552 p 94 552 p 93 552 p 528 551 p 505 551 p 529 551 p 532 551 p 531 551 p 95 551 p 87 551 p 528 550 p 505 550 p 529 550 p 95 550 p 86 550 p 530 549 p 510 549 p 531 549 p 535 549 p 534 549 p 96 549 p 88 549 p 530 548 p 510 548 p 531 548 p 532 548 p 528 548 p 96 548 p 87 548 p 532 547 p 531 547 p 528 547 p 553 547 p 554 547 p 95 547 p 96 547 p 533 546 p 513 546 p 534 546 p 536 546 p 537 546 p 97 546 p 89 546 p 533 545 p 513 545 p 534 545 p 535 545 p 530 545 p 97 545 p 88 545 p 535 544 p 534 544 p 530 544 p 557 544 p 558 544 p 96 544 p 97 544 p 536 543 p 537 543 p 533 543 p 560 543 p 561 543 p 97 543 p 98 543 p 536 542 p 537 542 p 533 542 p 540 542 p 539 542 p 98 542 p 89 542 p 538 541 p 514 541 p 539 541 p 543 541 p 542 541 p 99 541 p 90 541 p 538 540 p 514 540 p 539 540 p 540 540 p 537 540 p 99 540 p 89 540 p 540 539 p 539 539 p 537 539 p 564 539 p 565 539 p 98 539 p 99 539 p 541 538 p 518 538 p 542 538 p 547 538 p 546 538 p 100 538 p 91 538 p 541 537 p 518 537 p 542 537 p 543 537 p 538 537 p 100 537 p 90 537 p 543 536 p 542 536 p 538 536 p 563 536 p 564 536 p 99 536 p 100 536 p 544 535 p 525 535 p 545 535 p 550 535 p 549 535 p 101 535 p 93 535 p 544 534 p 525 534 p 545 534 p 521 534 p 546 534 p 101 534 p 92 534 p 545 533 p 521 533 p 546 533 p 547 533 p 541 533 p 101 533 p 91 533 p 547 532 p 546 532 p 541 532 p 567 532 p 568 532 p 100 532 p 101 532 p 548 531 p 527 531 p 549 531 p 102 531 p 94 531 p 548 530 p 527 530 p 549 530 p 550 530 p 544 530 p 102 530 p 93 530 p 550 529 p 549 529 p 544 529 p 570 529 p 571 529 p 101 529 p 102 529 p 502 528 p 551 528 p 552 528 p 601 528 p 602 528 p 284 528 p 283 528 p 502 527 p 551 527 p 552 527 p 345 527 p 650 527 p 19 527 p 283 527 p 553 526 p 532 526 p 554 526 p 559 526 p 558 526 p 104 526 p 96 526 p 553 525 p 532 525 p 554 525 p 555 525 p 556 525 p 104 525 p 95 525 p 555 524 p 554 524 p 556 524 p 575 524 p 576 524 p 103 524 p 104 524 p 555 523 p 554 523 p 556 523 p 103 523 p 95 523 p 557 522 p 535 522 p 558 522 p 562 522 p 561 522 p 105 522 p 97 522 p 557 521 p 535 521 p 558 521 p 559 521 p 553 521 p 105 521 p 96 521 p 559 520 p 558 520 p 553 520 p 577 520 p 578 520 p 104 520 p 105 520 p 560 519 p 536 519 p 561 519 p 566 519 p 565 519 p 106 519 p 98 519 p 560 518 p 536 518 p 561 518 p 562 518 p 557 518 p 106 518 p 97 518 p 562 517 p 561 517 p 557 517 p 580 517 p 581 517 p 105 517 p 106 517 p 563 516 p 543 516 p 564 516 p 569 516 p 568 516 p 107 516 p 100 516 p 563 515 p 543 515 p 564 515 p 540 515 p 565 515 p 107 515 p 99 515 p 564 514 p 540 514 p 565 514 p 566 514 p 560 514 p 107 514 p 98 514 p 566 513 p 565 513 p 560 513 p 583 513 p 584 513 p 106 513 p 107 513 p 567 512 p 547 512 p 568 512 p 572 512 p 571 512 p 108 512 p 101 512 p 567 511 p 547 511 p 568 511 p 569 511 p 563 511 p 108 511 p 100 511 p 569 510 p 568 510 p 563 510 p 586 510 p 587 510 p 107 510 p 108 510 p 570 509 p 550 509 p 571 509 p 573 509 p 574 509 p 109 509 p 102 509 p 570 508 p 550 508 p 571 508 p 572 508 p 567 508 p 109 508 p 101 508 p 572 507 p 571 507 p 567 507 p 591 507 p 592 507 p 108 507 p 109 507 p 573 506 p 570 506 p 574 506 p 110 506 p 102 506 p 573 505 p 570 505 p 574 505 p 594 505 p 595 505 p 110 505 p 109 505 p 575 504 p 555 504 p 576 504 p 579 504 p 578 504 p 111 504 p 104 504 p 575 503 p 555 503 p 576 503 p 111 503 p 103 503 p 577 502 p 559 502 p 578 502 p 582 502 p 581 502 p 112 502 p 105 502 p 577 501 p 559 501 p 578 501 p 579 501 p 575 501 p 112 501 p 104 501 p 579 500 p 578 500 p 575 500 p 604 500 p 605 500 p 111 500 p 112 500 p 580 499 p 562 499 p 581 499 p 585 499 p 584 499 p 113 499 p 106 499 p 580 498 p 562 498 p 581 498 p 582 498 p 577 498 p 113 498 p 105 498 p 582 497 p 581 497 p 577 497 p 608 497 p 609 497 p 112 497 p 113 497 p 583 496 p 566 496 p 584 496 p 588 496 p 587 496 p 114 496 p 107 496 p 583 495 p 566 495 p 584 495 p 585 495 p 580 495 p 114 495 p 106 495 p 585 494 p 584 494 p 580 494 p 611 494 p 612 494 p 113 494 p 114 494 p 586 493 p 569 493 p 587 493 p 589 493 p 590 493 p 115 493 p 108 493 p 586 492 p 569 492 p 587 492 p 588 492 p 583 492 p 115 492 p 107 492 p 588 491 p 587 491 p 583 491 p 614 491 p 615 491 p 114 491 p 115 491 p 589 490 p 590 490 p 586 490 p 618 490 p 619 490 p 115 490 p 116 490 p 589 489 p 590 489 p 586 489 p 593 489 p 592 489 p 116 489 p 108 489 p 591 488 p 572 488 p 592 488 p 596 488 p 595 488 p 117 488 p 109 488 p 591 487 p 572 487 p 592 487 p 593 487 p 590 487 p 117 487 p 108 487 p 593 486 p 592 486 p 590 486 p 617 486 p 618 486 p 116 486 p 117 486 p 594 485 p 574 485 p 595 485 p 597 485 p 598 485 p 118 485 p 110 485 p 594 484 p 574 484 p 595 484 p 596 484 p 591 484 p 118 484 p 109 484 p 596 483 p 595 483 p 591 483 p 621 483 p 622 483 p 117 483 p 118 483 p 597 482 p 594 482 p 598 482 p 119 482 p 110 482 p 597 481 p 594 481 p 598 481 p 599 481 p 600 481 p 119 481 p 118 481 p 599 480 p 598 480 p 600 480 p 3 480 p 119 480 p 599 479 p 598 479 p 600 479 p 624 479 p 626 479 p 3 479 p 118 479 p 601 478 p 551 478 p 602 478 p 708 478 p 668 478 p 267 478 p 283 478 p 601 477 p 551 477 p 602 477 p 501 477 p 603 477 p 267 477 p 284 477 p 602 476 p 501 476 p 603 476 p 267 476 p 1 476 p 604 475 p 579 475 p 605 475 p 610 475 p 609 475 p 121 475 p 112 475 p 604 474 p 579 474 p 605 474 p 606 474 p 607 474 p 121 474 p 111 474 p 606 473 p 605 473 p 607 473 p 630 473 p 631 473 p 120 473 p 121 473 p 606 472 p 605 472 p 607 472 p 120 472 p 111 472 p 608 471 p 582 471 p 609 471 p 613 471 p 612 471 p 122 471 p 113 471 p 608 470 p 582 470 p 609 470 p 610 470 p 604 470 p 122 470 p 112 470 p 610 469 p 609 469 p 604 469 p 632 469 p 633 469 p 121 469 p 122 469 p 611 468 p 585 468 p 612 468 p 616 468 p 615 468 p 123 468 p 114 468 p 611 467 p 585 467 p 612 467 p 613 467 p 608 467 p 123 467 p 113 467 p 613 466 p 612 466 p 608 466 p 637 466 p 638 466 p 122 466 p 123 466 p 614 465 p 588 465 p 615 465 p 620 465 p 619 465 p 124 465 p 115 465 p 614 464 p 588 464 p 615 464 p 616 464 p 611 464 p 124 464 p 114 464 p 616 463 p 615 463 p 611 463 p 640 463 p 641 463 p 123 463 p 124 463 p 617 462 p 593 462 p 618 462 p 623 462 p 622 462 p 125 462 p 117 462 p 617 461 p 593 461 p 618 461 p 589 461 p 619 461 p 125 461 p 116 461 p 618 460 p 589 460 p 619 460 p 620 460 p 614 460 p 125 460 p 115 460 p 620 459 p 619 459 p 614 459 p 644 459 p 645 459 p 124 459 p 125 459 p 621 458 p 596 458 p 622 458 p 624 458 p 625 458 p 126 458 p 118 458 p 621 457 p 596 457 p 622 457 p 623 457 p 617 457 p 126 457 p 117 457 p 623 456 p 622 456 p 617 456 p 643 456 p 644 456 p 125 456 p 126 456 p 624 455 p 621 455 p 625 455 p 600 455 p 626 455 p 127 455 p 118 455 p 624 454 p 621 454 p 625 454 p 627 454 p 628 454 p 127 454 p 126 454 p 600 453 p 624 453 p 626 453 p 629 453 p 627 453 p 3 453 p 127 453 p 627 452 p 625 452 p 628 452 p 629 452 p 626 452 p 128 452 p 127 452 p 627 451 p 625 451 p 628 451 p 647 451 p 649 451 p 128 451 p 126 451 p 629 450 p 626 450 p 627 450 p 128 450 p 3 450 p 630 449 p 606 449 p 631 449 p 634 449 p 633 449 p 129 449 p 121 449 p 630 448 p 606 448 p 631 448 p 129 448 p 120 448 p 632 447 p 610 447 p 633 447 p 635 447 p 636 447 p 130 447 p 122 447 p 632 446 p 610 446 p 633 446 p 634 446 p 630 446 p 130 446 p 121 446 p 634 445 p 633 445 p 630 445 p 651 445 p 652 445 p 129 445 p 130 445 p 635 444 p 636 444 p 632 444 p 655 444 p 656 444 p 130 444 p 131 444 p 635 443 p 636 443 p 632 443 p 639 443 p 638 443 p 131 443 p 122 443 p 637 442 p 613 442 p 638 442 p 642 442 p 641 442 p 132 442 p 123 442 p 637 441 p 613 441 p 638 441 p 639 441 p 636 441 p 132 441 p 122 441 p 639 440 p 638 440 p 636 440 p 659 440 p 660 440 p 131 440 p 132 440 p 640 439 p 616 439 p 641 439 p 646 439 p 645 439 p 133 439 p 124 439 p 640 438 p 616 438 p 641 438 p 642 438 p 637 438 p 133 438 p 123 438 p 642 437 p 641 437 p 637 437 p 658 437 p 659 437 p 132 437 p 133 437 p 643 436 p 623 436 p 644 436 p 647 436 p 648 436 p 134 436 p 126 436 p 643 435 p 623 435 p 644 435 p 620 435 p 645 435 p 134 435 p 125 435 p 644 434 p 620 434 p 645 434 p 646 434 p 640 434 p 134 434 p 124 434 p 646 433 p 645 433 p 640 433 p 662 433 p 663 433 p 133 433 p 134 433 p 647 432 p 643 432 p 648 432 p 628 432 p 649 432 p 135 432 p 126 432 p 647 431 p 643 431 p 648 431 p 665 431 p 667 431 p 135 431 p 134 431 p 628 430 p 647 430 p 649 430 p 128 430 p 135 430 p 345 429 p 552 429 p 650 429 p 668 429 p 669 429 p 18 429 p 283 429 p 651 428 p 634 428 p 652 428 p 657 428 p 656 428 p 137 428 p 130 428 p 651 427 p 634 427 p 652 427 p 653 427 p 654 427 p 137 427 p 129 427 p 653 426 p 652 426 p 654 426 p 670 426 p 671 426 p 136 426 p 137 426 p 653 425 p 652 425 p 654 425 p 136 425 p 129 425 p 655 424 p 635 424 p 656 424 p 661 424 p 660 424 p 138 424 p 131 424 p 655 423 p 635 423 p 656 423 p 657 423 p 651 423 p 138 423 p 130 423 p 657 422 p 656 422 p 651 422 p 672 422 p 673 422 p 137 422 p 138 422 p 658 421 p 642 421 p 659 421 p 664 421 p 663 421 p 139 421 p 133 421 p 658 420 p 642 420 p 659 420 p 639 420 p 660 420 p 139 420 p 132 420 p 659 419 p 639 419 p 660 419 p 661 419 p 655 419 p 139 419 p 131 419 p 661 418 p 660 418 p 655 418 p 675 418 p 676 418 p 138 418 p 139 418 p 662 417 p 646 417 p 663 417 p 665 417 p 666 417 p 140 417 p 134 417 p 662 416 p 646 416 p 663 416 p 664 416 p 658 416 p 140 416 p 133 416 p 664 415 p 663 415 p 658 415 p 678 415 p 679 415 p 139 415 p 140 415 p 665 414 p 662 414 p 666 414 p 648 414 p 667 414 p 141 414 p 134 414 p 665 413 p 662 413 p 666 413 p 681 413 p 683 413 p 141 413 p 140 413 p 648 412 p 665 412 p 667 412 p 135 412 p 141 412 p 650 411 p 668 411 p 669 411 p 708 411 p 601 411 p 283 411 p 282 411 p 650 410 p 668 410 p 669 410 p 709 410 p 710 410 p 18 410 p 282 410 p 670 409 p 653 409 p 671 409 p 674 409 p 673 409 p 142 409 p 137 409 p 670 408 p 653 408 p 671 408 p 142 408 p 136 408 p 672 407 p 657 407 p 673 407 p 677 407 p 676 407 p 143 407 p 138 407 p 672 406 p 657 406 p 673 406 p 674 406 p 670 406 p 143 406 p 137 406 p 674 405 p 673 405 p 670 405 p 684 405 p 685 405 p 142 405 p 143 405 p 675 404 p 661 404 p 676 404 p 679 404 p 680 404 p 144 404 p 139 404 p 675 403 p 661 403 p 676 403 p 677 403 p 672 403 p 144 403 p 138 403 p 677 402 p 676 402 p 672 402 p 688 402 p 684 402 p 143 402 p 144 402 p 678 401 p 664 401 p 679 401 p 681 401 p 682 401 p 145 401 p 140 401 p 678 400 p 664 400 p 679 400 p 675 400 p 680 400 p 145 400 p 139 400 p 679 399 p 675 399 p 680 399 p 692 399 p 693 399 p 145 399 p 144 399 p 681 398 p 678 398 p 682 398 p 666 398 p 683 398 p 146 398 p 140 398 p 681 397 p 678 397 p 682 397 p 691 397 p 692 397 p 146 397 p 145 397 p 666 396 p 681 396 p 683 396 p 141 396 p 146 396 p 684 395 p 674 395 p 685 395 p 688 395 p 677 395 p 148 395 p 143 395 p 684 394 p 674 394 p 685 394 p 686 394 p 687 394 p 148 394 p 142 394 p 686 393 p 685 393 p 687 393 p 697 393 p 698 393 p 147 393 p 148 393 p 686 392 p 685 392 p 687 392 p 147 392 p 142 392 p 688 391 p 677 391 p 684 391 p 689 391 p 690 391 p 148 391 p 144 391 p 689 390 p 690 390 p 688 390 p 699 390 p 700 390 p 148 390 p 149 390 p 689 389 p 690 389 p 688 389 p 694 389 p 693 389 p 149 389 p 144 389 p 691 388 p 682 388 p 692 388 p 695 388 p 696 388 p 150 388 p 146 388 p 691 387 p 682 387 p 692 387 p 680 387 p 693 387 p 150 387 p 145 387 p 692 386 p 680 386 p 693 386 p 694 386 p 690 386 p 150 386 p 144 386 p 694 385 p 693 385 p 690 385 p 702 385 p 703 385 p 149 385 p 150 385 p 695 384 p 691 384 p 696 384 p 151 384 p 146 384 p 695 383 p 691 383 p 696 383 p 705 383 p 707 383 p 151 383 p 150 383 p 697 382 p 686 382 p 698 382 p 701 382 p 700 382 p 152 382 p 148 382 p 697 381 p 686 381 p 698 381 p 152 381 p 147 381 p 699 380 p 689 380 p 700 380 p 704 380 p 703 380 p 153 380 p 149 380 p 699 379 p 689 379 p 700 379 p 701 379 p 697 379 p 153 379 p 148 379 p 701 378 p 700 378 p 697 378 p 713 378 p 714 378 p 152 378 p 153 378 p 702 377 p 694 377 p 703 377 p 705 377 p 706 377 p 154 377 p 150 377 p 702 376 p 694 376 p 703 376 p 704 376 p 699 376 p 154 376 p 149 376 p 704 375 p 703 375 p 699 375 p 715 375 p 716 375 p 153 375 p 154 375 p 705 374 p 702 374 p 706 374 p 696 374 p 707 374 p 155 374 p 150 374 p 705 373 p 702 373 p 706 373 p 720 373 p 721 373 p 155 373 p 154 373 p 696 372 p 705 372 p 707 372 p 151 372 p 155 372 p 708 371 p 668 371 p 601 371 p 753 371 p 711 371 p 267 371 p 282 371 p 669 370 p 709 370 p 710 370 p 711 370 p 712 370 p 282 370 p 281 370 p 669 369 p 709 369 p 710 369 p 341 369 p 776 369 p 18 369 p 281 369 p 709 368 p 711 368 p 712 368 p 708 368 p 753 368 p 282 368 p 266 368 p 709 367 p 711 367 p 712 367 p 757 367 p 755 367 p 281 367 p 266 367 p 713 366 p 701 366 p 714 366 p 717 366 p 716 366 p 156 366 p 153 366 p 713 365 p 701 365 p 714 365 p 156 365 p 152 365 p 715 364 p 704 364 p 716 364 p 718 364 p 719 364 p 157 364 p 154 364 p 715 363 p 704 363 p 716 363 p 717 363 p 713 363 p 157 363 p 153 363 p 717 362 p 716 362 p 713 362 p 725 362 p 726 362 p 156 362 p 157 362 p 718 361 p 719 361 p 715 361 p 729 361 p 730 361 p 157 361 p 158 361 p 718 360 p 719 360 p 715 360 p 722 360 p 721 360 p 158 360 p 154 360 p 720 359 p 706 359 p 721 359 p 723 359 p 724 359 p 159 359 p 155 359 p 720 358 p 706 358 p 721 358 p 722 358 p 719 358 p 159 358 p 154 358 p 722 357 p 721 357 p 719 357 p 732 357 p 733 357 p 158 357 p 159 357 p 723 356 p 720 356 p 724 356 p 160 356 p 155 356 p 723 355 p 720 355 p 724 355 p 735 355 p 736 355 p 160 355 p 159 355 p 725 354 p 717 354 p 726 354 p 727 354 p 728 354 p 161 354 p 157 354 p 725 353 p 717 353 p 726 353 p 161 353 p 156 353 p 727 352 p 728 352 p 725 352 p 738 352 p 739 352 p 161 352 p 162 352 p 727 351 p 728 351 p 725 351 p 731 351 p 730 351 p 162 351 p 157 351 p 729 350 p 718 350 p 730 350 p 734 350 p 733 350 p 163 350 p 158 350 p 729 349 p 718 349 p 730 349 p 731 349 p 728 349 p 163 349 p 157 349 p 731 348 p 730 348 p 728 348 p 740 348 p 741 348 p 162 348 p 163 348 p 732 347 p 722 347 p 733 347 p 737 347 p 736 347 p 164 347 p 159 347 p 732 346 p 722 346 p 733 346 p 734 346 p 729 346 p 164 346 p 158 346 p 734 345 p 733 345 p 729 345 p 743 345 p 744 345 p 163 345 p 164 345 p 735 344 p 724 344 p 736 344 p 165 344 p 160 344 p 735 343 p 724 343 p 736 343 p 737 343 p 732 343 p 165 343 p 159 343 p 737 342 p 736 342 p 732 342 p 748 342 p 749 342 p 164 342 p 165 342 p 738 341 p 727 341 p 739 341 p 742 341 p 741 341 p 166 341 p 162 341 p 738 340 p 727 340 p 739 340 p 166 340 p 161 340 p 740 339 p 731 339 p 741 339 p 745 339 p 744 339 p 167 339 p 163 339 p 740 338 p 731 338 p 741 338 p 742 338 p 738 338 p 167 338 p 162 338 p 742 337 p 741 337 p 738 337 p 758 337 p 759 337 p 166 337 p 167 337 p 743 336 p 734 336 p 744 336 p 746 336 p 747 336 p 168 336 p 164 336 p 743 335 p 734 335 p 744 335 p 745 335 p 740 335 p 168 335 p 163 335 p 745 334 p 744 334 p 740 334 p 762 334 p 763 334 p 167 334 p 168 334 p 746 333 p 747 333 p 743 333 p 765 333 p 766 333 p 168 333 p 169 333 p 746 332 p 747 332 p 743 332 p 750 332 p 749 332 p 169 332 p 164 332 p 748 331 p 737 331 p 749 331 p 751 331 p 752 331 p 170 331 p 165 331 p 748 330 p 737 330 p 749 330 p 750 330 p 747 330 p 170 330 p 164 330 p 750 329 p 749 329 p 747 329 p 768 329 p 769 329 p 169 329 p 170 329 p 751 328 p 748 328 p 752 328 p 171 328 p 165 328 p 751 327 p 748 327 p 752 327 p 771 327 p 772 327 p 171 327 p 170 327 p 708 326 p 753 326 p 711 326 p 1031 326 p 1032 326 p 267 326 p 266 326 p 754 325 p 755 325 p 756 325 p 776 325 p 777 325 p 280 325 p 281 325 p 754 324 p 755 324 p 756 324 p 712 324 p 757 324 p 281 324 p 265 324 p 754 323 p 755 323 p 756 323 p 900 323 p 829 323 p 280 323 p 265 323 p 712 322 p 757 322 p 755 322 p 1030 322 p 1031 322 p 266 322 p 265 322 p 758 321 p 759 321 p 742 321 p 760 321 p 761 321 p 166 321 p 173 321 p 758 320 p 759 320 p 742 320 p 764 320 p 763 320 p 173 320 p 167 320 p 760 319 p 761 319 p 758 319 p 166 319 p 172 319 p 760 318 p 761 318 p 758 318 p 778 318 p 779 318 p 172 318 p 173 318 p 762 317 p 745 317 p 763 317 p 767 317 p 766 317 p 174 317 p 168 317 p 762 316 p 745 316 p 763 316 p 764 316 p 759 316 p 174 316 p 167 316 p 764 315 p 763 315 p 759 315 p 780 315 p 781 315 p 173 315 p 174 315 p 765 314 p 746 314 p 766 314 p 770 314 p 769 314 p 175 314 p 169 314 p 765 313 p 746 313 p 766 313 p 767 313 p 762 313 p 175 313 p 168 313 p 767 312 p 766 312 p 762 312 p 783 312 p 784 312 p 174 312 p 175 312 p 768 311 p 750 311 p 769 311 p 773 311 p 772 311 p 176 311 p 170 311 p 768 310 p 750 310 p 769 310 p 770 310 p 765 310 p 176 310 p 169 310 p 770 309 p 769 309 p 765 309 p 786 309 p 787 309 p 175 309 p 176 309 p 771 308 p 752 308 p 772 308 p 774 308 p 775 308 p 177 308 p 171 308 p 771 307 p 752 307 p 772 307 p 773 307 p 768 307 p 177 307 p 170 307 p 773 306 p 772 306 p 768 306 p 789 306 p 790 306 p 176 306 p 177 306 p 774 305 p 771 305 p 775 305 p 178 305 p 171 305 p 774 304 p 771 304 p 775 304 p 794 304 p 795 304 p 178 304 p 177 304 p 341 303 p 710 303 p 776 303 p 754 303 p 777 303 p 17 303 p 281 303 p 776 302 p 754 302 p 777 302 p 335 302 p 901 302 p 17 302 p 280 302 p 778 301 p 779 301 p 761 301 p 172 301 p 179 301 p 778 300 p 779 300 p 761 300 p 782 300 p 780 300 p 179 300 p 173 300 p 780 299 p 781 299 p 764 299 p 779 299 p 782 299 p 173 299 p 180 299 p 780 298 p 781 298 p 764 298 p 785 298 p 783 298 p 180 298 p 174 298 p 779 297 p 782 297 p 780 297 p 803 297 p 804 297 p 179 297 p 180 297 p 783 296 p 784 296 p 767 296 p 781 296 p 785 296 p 174 296 p 181 296 p 783 295 p 784 295 p 767 295 p 788 295 p 787 295 p 181 295 p 175 295 p 781 294 p 785 294 p 783 294 p 805 294 p 806 294 p 180 294 p 181 294 p 786 293 p 770 293 p 787 293 p 791 293 p 790 293 p 182 293 p 176 293 p 786 292 p 770 292 p 787 292 p 788 292 p 784 292 p 182 292 p 175 292 p 788 291 p 787 291 p 784 291 p 808 291 p 809 291 p 181 291 p 182 291 p 789 290 p 773 290 p 790 290 p 792 290 p 793 290 p 183 290 p 177 290 p 789 289 p 773 289 p 790 289 p 791 289 p 786 289 p 183 289 p 176 289 p 791 288 p 790 288 p 786 288 p 811 288 p 812 288 p 182 288 p 183 288 p 792 287 p 793 287 p 789 287 p 814 287 p 815 287 p 183 287 p 184 287 p 792 286 p 793 286 p 789 286 p 796 286 p 795 286 p 184 286 p 177 286 p 794 285 p 775 285 p 795 285 p 797 285 p 798 285 p 185 285 p 178 285 p 794 284 p 775 284 p 795 284 p 796 284 p 793 284 p 185 284 p 177 284 p 796 283 p 795 283 p 793 283 p 817 283 p 818 283 p 184 283 p 185 283 p 797 282 p 794 282 p 798 282 p 187 282 p 178 282 p 797 281 p 794 281 p 798 281 p 799 281 p 800 281 p 187 281 p 185 281 p 799 280 p 798 280 p 800 280 p 801 280 p 802 280 p 186 280 p 187 280 p 799 279 p 798 279 p 800 279 p 820 279 p 821 279 p 186 279 p 185 279 p 801 278 p 799 278 p 802 278 p 0 278 p 187 278 p 801 277 p 799 277 p 802 277 p 823 277 p 825 277 p 0 277 p 186 277 p 803 276 p 804 276 p 782 276 p 179 276 p 188 276 p 803 275 p 804 275 p 782 275 p 807 275 p 805 275 p 188 275 p 180 275 p 805 274 p 806 274 p 785 274 p 804 274 p 807 274 p 180 274 p 189 274 p 805 273 p 806 273 p 785 273 p 810 273 p 808 273 p 189 273 p 181 273 p 804 272 p 807 272 p 805 272 p 831 272 p 832 272 p 188 272 p 189 272 p 808 271 p 809 271 p 788 271 p 806 271 p 810 271 p 181 271 p 190 271 p 808 270 p 809 270 p 788 270 p 813 270 p 811 270 p 190 270 p 182 270 p 806 269 p 810 269 p 808 269 p 835 269 p 836 269 p 189 269 p 190 269 p 811 268 p 812 268 p 791 268 p 809 268 p 813 268 p 182 268 p 191 268 p 811 267 p 812 267 p 791 267 p 816 267 p 814 267 p 191 267 p 183 267 p 809 266 p 813 266 p 811 266 p 838 266 p 839 266 p 190 266 p 191 266 p 814 265 p 815 265 p 792 265 p 812 265 p 816 265 p 183 265 p 192 265 p 814 264 p 815 264 p 792 264 p 819 264 p 817 264 p 192 264 p 184 264 p 812 263 p 816 263 p 814 263 p 841 263 p 842 263 p 191 263 p 192 263 p 817 262 p 818 262 p 796 262 p 815 262 p 819 262 p 184 262 p 193 262 p 817 261 p 818 261 p 796 261 p 822 261 p 820 261 p 193 261 p 185 261 p 815 260 p 819 260 p 817 260 p 844 260 p 845 260 p 192 260 p 193 260 p 820 259 p 821 259 p 800 259 p 818 259 p 822 259 p 185 259 p 194 259 p 820 258 p 821 258 p 800 258 p 823 258 p 824 258 p 194 258 p 186 258 p 818 257 p 822 257 p 820 257 p 849 257 p 847 257 p 193 257 p 194 257 p 823 256 p 821 256 p 824 256 p 802 256 p 825 256 p 195 256 p 186 256 p 823 255 p 821 255 p 824 255 p 847 255 p 848 255 p 195 255 p 194 255 p 802 254 p 823 254 p 825 254 p 826 254 p 827 254 p 0 254 p 195 254 p 825 253 p 826 253 p 827 253 p 851 253 p 852 253 p 195 253 p 196 253 p 825 252 p 826 252 p 827 252 p 0 252 p 196 252 p 828 251 p 829 251 p 830 251 p 901 251 p 927 251 p 279 251 p 280 251 p 828 250 p 829 250 p 830 250 p 756 250 p 900 250 p 280 250 p 264 250 p 828 249 p 829 249 p 830 249 p 931 249 p 929 249 p 279 249 p 264 249 p 831 248 p 832 248 p 807 248 p 833 248 p 834 248 p 188 248 p 198 248 p 831 247 p 832 247 p 807 247 p 837 247 p 835 247 p 198 247 p 189 247 p 833 246 p 834 246 p 831 246 p 188 246 p 197 246 p 833 245 p 834 245 p 831 245 p 854 245 p 855 245 p 197 245 p 198 245 p 835 244 p 836 244 p 810 244 p 832 244 p 837 244 p 189 244 p 199 244 p 835 243 p 836 243 p 810 243 p 840 243 p 838 243 p 199 243 p 190 243 p 832 242 p 837 242 p 835 242 p 856 242 p 857 242 p 198 242 p 199 242 p 838 241 p 839 241 p 813 241 p 836 241 p 840 241 p 190 241 p 200 241 p 838 240 p 839 240 p 813 240 p 843 240 p 841 240 p 200 240 p 191 240 p 836 239 p 840 239 p 838 239 p 859 239 p 860 239 p 199 239 p 200 239 p 841 238 p 842 238 p 816 238 p 839 238 p 843 238 p 191 238 p 201 238 p 841 237 p 842 237 p 816 237 p 846 237 p 844 237 p 201 237 p 192 237 p 839 236 p 843 236 p 841 236 p 862 236 p 863 236 p 200 236 p 201 236 p 844 235 p 845 235 p 819 235 p 842 235 p 846 235 p 192 235 p 202 235 p 844 234 p 845 234 p 819 234 p 850 234 p 849 234 p 202 234 p 193 234 p 842 233 p 846 233 p 844 233 p 865 233 p 866 233 p 201 233 p 202 233 p 847 232 p 848 232 p 824 232 p 849 232 p 822 232 p 194 232 p 203 232 p 847 231 p 848 231 p 824 231 p 853 231 p 852 231 p 203 231 p 195 231 p 849 230 p 847 230 p 822 230 p 845 230 p 850 230 p 193 230 p 203 230 p 845 229 p 850 229 p 849 229 p 870 229 p 871 229 p 202 229 p 203 229 p 851 228 p 826 228 p 852 228 p 204 228 p 196 228 p 851 227 p 826 227 p 852 227 p 853 227 p 848 227 p 204 227 p 195 227 p 853 226 p 852 226 p 848 226 p 871 226 p 873 226 p 203 226 p 204 226 p 854 225 p 855 225 p 834 225 p 197 225 p 205 225 p 854 224 p 855 224 p 834 224 p 858 224 p 856 224 p 205 224 p 198 224 p 856 223 p 857 223 p 837 223 p 855 223 p 858 223 p 198 223 p 206 223 p 856 222 p 857 222 p 837 222 p 861 222 p 859 222 p 206 222 p 199 222 p 855 221 p 858 221 p 856 221 p 876 221 p 877 221 p 205 221 p 206 221 p 859 220 p 860 220 p 840 220 p 857 220 p 861 220 p 199 220 p 207 220 p 859 219 p 860 219 p 840 219 p 864 219 p 862 219 p 207 219 p 200 219 p 857 218 p 861 218 p 859 218 p 878 218 p 879 218 p 206 218 p 207 218 p 862 217 p 863 217 p 843 217 p 860 217 p 864 217 p 200 217 p 208 217 p 862 216 p 863 216 p 843 216 p 867 216 p 865 216 p 208 216 p 201 216 p 860 215 p 864 215 p 862 215 p 881 215 p 882 215 p 207 215 p 208 215 p 865 214 p 866 214 p 846 214 p 863 214 p 867 214 p 201 214 p 209 214 p 865 213 p 866 213 p 846 213 p 868 213 p 869 213 p 209 213 p 202 213 p 863 212 p 867 212 p 865 212 p 884 212 p 885 212 p 208 212 p 209 212 p 866 211 p 868 211 p 869 211 p 887 211 p 888 211 p 209 211 p 210 211 p 866 210 p 868 210 p 869 210 p 872 210 p 870 210 p 202 210 p 210 210 p 870 209 p 871 209 p 850 209 p 869 209 p 872 209 p 202 209 p 211 209 p 870 208 p 871 208 p 850 208 p 873 208 p 853 208 p 211 208 p 203 208 p 869 207 p 872 207 p 870 207 p 890 207 p 891 207 p 210 207 p 211 207 p 871 206 p 873 206 p 853 206 p 874 206 p 875 206 p 211 206 p 204 206 p 873 205 p 874 205 p 875 205 p 895 205 p 896 205 p 211 205 p 212 205 p 873 204 p 874 204 p 875 204 p 204 204 p 212 204 p 876 203 p 877 203 p 858 203 p 205 203 p 213 203 p 876 202 p 877 202 p 858 202 p 880 202 p 878 202 p 213 202 p 206 202 p 878 201 p 879 201 p 861 201 p 877 201 p 880 201 p 206 201 p 214 201 p 878 200 p 879 200 p 861 200 p 883 200 p 881 200 p 214 200 p 207 200 p 877 199 p 880 199 p 878 199 p 902 199 p 903 199 p 213 199 p 214 199 p 881 198 p 882 198 p 864 198 p 879 198 p 883 198 p 207 198 p 215 198 p 881 197 p 882 197 p 864 197 p 886 197 p 884 197 p 215 197 p 208 197 p 879 196 p 883 196 p 881 196 p 906 196 p 907 196 p 214 196 p 215 196 p 884 195 p 885 195 p 867 195 p 882 195 p 886 195 p 208 195 p 216 195 p 884 194 p 885 194 p 867 194 p 889 194 p 887 194 p 216 194 p 209 194 p 882 193 p 886 193 p 884 193 p 909 193 p 910 193 p 215 193 p 216 193 p 887 192 p 888 192 p 868 192 p 885 192 p 889 192 p 209 192 p 217 192 p 887 191 p 888 191 p 868 191 p 892 191 p 890 191 p 217 191 p 210 191 p 885 190 p 889 190 p 887 190 p 912 190 p 913 190 p 216 190 p 217 190 p 890 189 p 891 189 p 872 189 p 888 189 p 892 189 p 210 189 p 218 189 p 890 188 p 891 188 p 872 188 p 893 188 p 894 188 p 218 188 p 211 188 p 888 187 p 892 187 p 890 187 p 915 187 p 916 187 p 217 187 p 218 187 p 891 186 p 893 186 p 894 186 p 918 186 p 919 186 p 218 186 p 219 186 p 891 185 p 893 185 p 894 185 p 897 185 p 895 185 p 211 185 p 219 185 p 895 184 p 896 184 p 874 184 p 894 184 p 897 184 p 211 184 p 220 184 p 895 183 p 896 183 p 874 183 p 898 183 p 899 183 p 220 183 p 212 183 p 894 182 p 897 182 p 895 182 p 921 182 p 922 182 p 219 182 p 220 182 p 896 181 p 898 181 p 899 181 p 924 181 p 925 181 p 220 181 p 221 181 p 896 180 p 898 180 p 899 180 p 212 180 p 221 180 p 756 179 p 900 179 p 829 179 p 1028 179 p 1030 179 p 265 179 p 264 179 p 335 178 p 777 178 p 901 178 p 828 178 p 927 178 p 16 178 p 280 178 p 902 177 p 903 177 p 880 177 p 904 177 p 905 177 p 213 177 p 223 177 p 902 176 p 903 176 p 880 176 p 908 176 p 906 176 p 223 176 p 214 176 p 904 175 p 905 175 p 902 175 p 213 175 p 222 175 p 904 174 p 905 174 p 902 174 p 934 174 p 935 174 p 222 174 p 223 174 p 906 173 p 907 173 p 883 173 p 903 173 p 908 173 p 214 173 p 224 173 p 906 172 p 907 172 p 883 172 p 911 172 p 909 172 p 224 172 p 215 172 p 903 171 p 908 171 p 906 171 p 935 171 p 938 171 p 223 171 p 224 171 p 909 170 p 910 170 p 886 170 p 907 170 p 911 170 p 215 170 p 225 170 p 909 169 p 910 169 p 886 169 p 914 169 p 912 169 p 225 169 p 216 169 p 907 168 p 911 168 p 909 168 p 939 168 p 940 168 p 224 168 p 225 168 p 912 167 p 913 167 p 889 167 p 910 167 p 914 167 p 216 167 p 226 167 p 912 166 p 913 166 p 889 166 p 917 166 p 915 166 p 226 166 p 217 166 p 910 165 p 914 165 p 912 165 p 942 165 p 943 165 p 225 165 p 226 165 p 915 164 p 916 164 p 892 164 p 913 164 p 917 164 p 217 164 p 227 164 p 915 163 p 916 163 p 892 163 p 920 163 p 918 163 p 227 163 p 218 163 p 913 162 p 917 162 p 915 162 p 945 162 p 946 162 p 226 162 p 227 162 p 918 161 p 919 161 p 893 161 p 916 161 p 920 161 p 218 161 p 228 161 p 918 160 p 919 160 p 893 160 p 923 160 p 921 160 p 228 160 p 219 160 p 916 159 p 920 159 p 918 159 p 948 159 p 949 159 p 227 159 p 228 159 p 921 158 p 922 158 p 897 158 p 919 158 p 923 158 p 219 158 p 229 158 p 921 157 p 922 157 p 897 157 p 926 157 p 924 157 p 229 157 p 220 157 p 919 156 p 923 156 p 921 156 p 951 156 p 952 156 p 228 156 p 229 156 p 924 155 p 925 155 p 898 155 p 922 155 p 926 155 p 220 155 p 230 155 p 924 154 p 925 154 p 898 154 p 230 154 p 221 154 p 922 153 p 926 153 p 924 153 p 956 153 p 957 153 p 229 153 p 230 153 p 901 152 p 828 152 p 927 152 p 329 152 p 932 152 p 16 152 p 279 152 p 928 151 p 929 151 p 930 151 p 933 151 p 993 151 p 278 151 p 279 151 p 928 150 p 929 150 p 930 150 p 830 150 p 931 150 p 279 150 p 263 150 p 928 149 p 929 149 p 930 149 p 1027 149 p 995 149 p 278 149 p 263 149 p 830 148 p 931 148 p 929 148 p 1029 148 p 1025 148 p 264 148 p 263 148 p 331 147 p 932 147 p 933 147 p 329 147 p 927 147 p 15 147 p 279 147 p 331 146 p 932 146 p 933 146 p 928 146 p 993 146 p 14 146 p 279 146 p 934 145 p 935 145 p 905 145 p 936 145 p 937 145 p 222 145 p 232 145 p 934 144 p 935 144 p 905 144 p 938 144 p 908 144 p 232 144 p 223 144 p 936 143 p 937 143 p 934 143 p 222 143 p 231 143 p 936 142 p 937 142 p 934 142 p 961 142 p 962 142 p 231 142 p 232 142 p 935 141 p 938 141 p 908 141 p 941 141 p 939 141 p 232 141 p 224 141 p 939 140 p 940 140 p 911 140 p 938 140 p 941 140 p 224 140 p 233 140 p 939 139 p 940 139 p 911 139 p 944 139 p 942 139 p 233 139 p 225 139 p 938 138 p 941 138 p 939 138 p 963 138 p 964 138 p 232 138 p 233 138 p 942 137 p 943 137 p 914 137 p 940 137 p 944 137 p 225 137 p 234 137 p 942 136 p 943 136 p 914 136 p 947 136 p 945 136 p 234 136 p 226 136 p 940 135 p 944 135 p 942 135 p 970 135 p 968 135 p 233 135 p 234 135 p 945 134 p 946 134 p 917 134 p 943 134 p 947 134 p 226 134 p 235 134 p 945 133 p 946 133 p 917 133 p 950 133 p 948 133 p 235 133 p 227 133 p 943 132 p 947 132 p 945 132 p 968 132 p 969 132 p 234 132 p 235 132 p 948 131 p 949 131 p 920 131 p 946 131 p 950 131 p 227 131 p 236 131 p 948 130 p 949 130 p 920 130 p 953 130 p 951 130 p 236 130 p 228 130 p 946 129 p 950 129 p 948 129 p 972 129 p 973 129 p 235 129 p 236 129 p 951 128 p 952 128 p 923 128 p 949 128 p 953 128 p 228 128 p 237 128 p 951 127 p 952 127 p 923 127 p 954 127 p 955 127 p 237 127 p 229 127 p 949 126 p 953 126 p 951 126 p 975 126 p 976 126 p 236 126 p 237 126 p 952 125 p 954 125 p 955 125 p 978 125 p 979 125 p 237 125 p 238 125 p 952 124 p 954 124 p 955 124 p 958 124 p 956 124 p 229 124 p 238 124 p 956 123 p 957 123 p 926 123 p 955 123 p 958 123 p 229 123 p 239 123 p 956 122 p 957 122 p 926 122 p 959 122 p 960 122 p 239 122 p 230 122 p 955 121 p 958 121 p 956 121 p 981 121 p 982 121 p 238 121 p 239 121 p 957 120 p 959 120 p 960 120 p 986 120 p 987 120 p 239 120 p 240 120 p 957 119 p 959 119 p 960 119 p 230 119 p 240 119 p 961 118 p 962 118 p 937 118 p 231 118 p 241 118 p 961 117 p 962 117 p 937 117 p 965 117 p 963 117 p 241 117 p 232 117 p 963 116 p 964 116 p 941 116 p 962 116 p 965 116 p 232 116 p 242 116 p 963 115 p 964 115 p 941 115 p 966 115 p 967 115 p 242 115 p 233 115 p 962 114 p 965 114 p 963 114 p 997 114 p 998 114 p 241 114 p 242 114 p 964 113 p 966 113 p 967 113 p 999 113 p 1000 113 p 242 113 p 243 113 p 964 112 p 966 112 p 967 112 p 971 112 p 970 112 p 233 112 p 243 112 p 968 111 p 969 111 p 947 111 p 970 111 p 944 111 p 234 111 p 244 111 p 968 110 p 969 110 p 947 110 p 974 110 p 972 110 p 244 110 p 235 110 p 970 109 p 968 109 p 944 109 p 967 109 p 971 109 p 233 109 p 244 109 p 967 108 p 971 108 p 970 108 p 1002 108 p 1003 108 p 243 108 p 244 108 p 972 107 p 973 107 p 950 107 p 969 107 p 974 107 p 235 107 p 245 107 p 972 106 p 973 106 p 950 106 p 977 106 p 975 106 p 245 106 p 236 106 p 969 105 p 974 105 p 972 105 p 1007 105 p 1008 105 p 244 105 p 245 105 p 975 104 p 976 104 p 953 104 p 973 104 p 977 104 p 236 104 p 246 104 p 975 103 p 976 103 p 953 103 p 980 103 p 978 103 p 246 103 p 237 103 p 973 102 p 977 102 p 975 102 p 1010 102 p 1011 102 p 245 102 p 246 102 p 978 101 p 979 101 p 954 101 p 976 101 p 980 101 p 237 101 p 247 101 p 978 100 p 979 100 p 954 100 p 983 100 p 981 100 p 247 100 p 238 100 p 976 99 p 980 99 p 978 99 p 1013 99 p 1014 99 p 246 99 p 247 99 p 981 98 p 982 98 p 958 98 p 979 98 p 983 98 p 238 98 p 248 98 p 981 97 p 982 97 p 958 97 p 984 97 p 985 97 p 248 97 p 239 97 p 979 96 p 983 96 p 981 96 p 1016 96 p 1017 96 p 247 96 p 248 96 p 984 95 p 985 95 p 982 95 p 1019 95 p 1020 95 p 248 95 p 249 95 p 984 94 p 985 94 p 982 94 p 988 94 p 987 94 p 249 94 p 239 94 p 986 93 p 959 93 p 987 93 p 989 93 p 990 93 p 250 93 p 240 93 p 986 92 p 959 92 p 987 92 p 988 92 p 985 92 p 250 92 p 239 92 p 988 91 p 987 91 p 985 91 p 1022 91 p 1023 91 p 249 91 p 250 91 p 986 90 p 989 90 p 990 90 p 1025 90 p 1026 90 p 250 90 p 251 90 p 986 89 p 989 89 p 990 89 p 991 89 p 992 89 p 240 89 p 251 89 p 990 88 p 991 88 p 992 88 p 1028 88 p 1029 88 p 251 88 p 252 88 p 990 87 p 991 87 p 992 87 p 240 87 p 252 87 p 933 86 p 928 86 p 993 86 p 1079 86 p 324 86 p 14 86 p 278 86 p 994 85 p 995 85 p 996 85 p 1076 85 p 1079 85 p 277 85 p 278 85 p 994 84 p 995 84 p 996 84 p 930 84 p 1027 84 p 278 84 p 262 84 p 994 83 p 995 83 p 996 83 p 1078 83 p 1024 83 p 277 83 p 262 83 p 997 82 p 998 82 p 965 82 p 241 82 p 253 82 p 997 81 p 998 81 p 965 81 p 1001 81 p 999 81 p 253 81 p 242 81 p 999 80 p 1000 80 p 966 80 p 998 80 p 1001 80 p 242 80 p 254 80 p 999 79 p 1000 79 p 966 79 p 1004 79 p 1002 79 p 254 79 p 243 79 p 998 78 p 1001 78 p 999 78 p 1033 78 p 1034 78 p 253 78 p 254 78 p 1002 77 p 1003 77 p 971 77 p 1000 77 p 1004 77 p 243 77 p 255 77 p 1002 76 p 1003 76 p 971 76 p 1005 76 p 1006 76 p 255 76 p 244 76 p 1000 75 p 1004 75 p 1002 75 p 1035 75 p 1036 75 p 254 75 p 255 75 p 1003 74 p 1005 74 p 1006 74 p 1041 74 p 1042 74 p 255 74 p 256 74 p 1003 73 p 1005 73 p 1006 73 p 1009 73 p 1007 73 p 244 73 p 256 73 p 1007 72 p 1008 72 p 974 72 p 1006 72 p 1009 72 p 244 72 p 257 72 p 1007 71 p 1008 71 p 974 71 p 1012 71 p 1010 71 p 257 71 p 245 71 p 1006 70 p 1009 70 p 1007 70 p 1055 70 p 1050 70 p 256 70 p 257 70 p 1010 69 p 1011 69 p 977 69 p 1008 69 p 1012 69 p 245 69 p 258 69 p 1010 68 p 1011 68 p 977 68 p 1015 68 p 1013 68 p 258 68 p 246 68 p 1008 67 p 1012 67 p 1010 67 p 1050 67 p 1051 67 p 257 67 p 258 67 p 1013 66 p 1014 66 p 980 66 p 1011 66 p 1015 66 p 246 66 p 259 66 p 1013 65 p 1014 65 p 980 65 p 1018 65 p 1016 65 p 259 65 p 247 65 p 1011 64 p 1015 64 p 1013 64 p 1056 64 p 1057 64 p 258 64 p 259 64 p 1016 63 p 1017 63 p 983 63 p 1014 63 p 1018 63 p 247 63 p 260 63 p 1016 62 p 1017 62 p 983 62 p 1021 62 p 1019 62 p 260 62 p 248 62 p 1014 61 p 1018 61 p 1016 61 p 1068 61 p 1069 61 p 259 61 p 260 61 p 1019 60 p 1020 60 p 984 60 p 1017 60 p 1021 60 p 248 60 p 261 60 p 1019 59 p 1020 59 p 984 59 p 1024 59 p 1022 59 p 261 59 p 249 59 p 1017 58 p 1021 58 p 1019 58 p 1073 58 p 1074 58 p 260 58 p 261 58 p 1022 57 p 1023 57 p 988 57 p 1020 57 p 1024 57 p 249 57 p 262 57 p 1022 56 p 1023 56 p 988 56 p 1027 56 p 1026 56 p 262 56 p 250 56 p 1020 55 p 1024 55 p 1022 55 p 1078 55 p 996 55 p 261 55 p 262 55 p 1025 54 p 989 54 p 1026 54 p 931 54 p 1029 54 p 263 54 p 251 54 p 1025 53 p 989 53 p 1026 53 p 1027 53 p 1023 53 p 263 53 p 250 53 p 1027 52 p 1026 52 p 1023 52 p 930 52 p 995 52 p 262 52 p 263 52 p 1028 51 p 991 51 p 1029 51 p 900 51 p 1030 51 p 264 51 p 252 51 p 1028 50 p 991 50 p 1029 50 p 931 50 p 1025 50 p 264 50 p 251 50 p 1028 49 p 900 49 p 1030 49 p 757 49 p 1031 49 p 252 49 p 265 49 p 1030 48 p 757 48 p 1031 48 p 753 48 p 1032 48 p 252 48 p 266 48 p 1031 47 p 753 47 p 1032 47 p 252 47 p 267 47 p 1033 46 p 1034 46 p 1001 46 p 253 46 p 268 46 p 1033 45 p 1034 45 p 1001 45 p 1040 45 p 1035 45 p 268 45 p 254 45 p 1035 44 p 1036 44 p 1004 44 p 1034 44 p 1040 44 p 254 44 p 269 44 p 1035 43 p 1036 43 p 1004 43 p 1045 43 p 1041 43 p 269 43 p 255 43 p 1037 42 p 287 42 p 1038 42 p 1039 42 p 1040 42 p 269 42 p 4 42 p 1037 41 p 287 41 p 1038 41 p 1043 41 p 1045 41 p 269 41 p 5 41 p 1039 40 p 1037 40 p 1040 40 p 268 40 p 4 40 p 1039 39 p 1037 39 p 1040 39 p 1034 39 p 1035 39 p 268 39 p 269 39 p 1041 38 p 1042 38 p 1005 38 p 1036 38 p 1045 38 p 255 38 p 270 38 p 1041 37 p 1042 37 p 1005 37 p 1048 37 p 1049 37 p 270 37 p 256 37 p 1043 36 p 292 36 p 1044 36 p 1038 36 p 1045 36 p 270 36 p 5 36 p 1043 35 p 292 35 p 1044 35 p 1046 35 p 1048 35 p 270 35 p 6 35 p 1038 34 p 1043 34 p 1045 34 p 1036 34 p 1041 34 p 269 34 p 270 34 p 1046 33 p 296 33 p 1047 33 p 1044 33 p 1048 33 p 271 33 p 6 33 p 1046 32 p 296 32 p 1047 32 p 1052 32 p 1054 32 p 271 32 p 7 32 p 1044 31 p 1046 31 p 1048 31 p 1042 31 p 1049 31 p 270 31 p 271 31 p 1042 30 p 1048 30 p 1049 30 p 1054 30 p 1055 30 p 256 30 p 271 30 p 1050 29 p 1051 29 p 1012 29 p 1055 29 p 1009 29 p 257 29 p 272 29 p 1050 28 p 1051 28 p 1012 28 p 1060 28 p 1056 28 p 272 28 p 258 28 p 1052 27 p 300 27 p 1053 27 p 1047 27 p 1054 27 p 272 27 p 7 27 p 1052 26 p 300 26 p 1053 26 p 1058 26 p 1060 26 p 272 26 p 8 26 p 1047 25 p 1052 25 p 1054 25 p 1049 25 p 1055 25 p 271 25 p 272 25 p 1055 24 p 1050 24 p 1009 24 p 1049 24 p 1054 24 p 256 24 p 272 24 p 1056 23 p 1057 23 p 1015 23 p 1051 23 p 1060 23 p 258 23 p 273 23 p 1056 22 p 1057 22 p 1015 22 p 1063 22 p 1064 22 p 273 22 p 259 22 p 1058 21 p 304 21 p 1059 21 p 1053 21 p 1060 21 p 273 21 p 8 21 p 1058 20 p 304 20 p 1059 20 p 1061 20 p 1063 20 p 273 20 p 9 20 p 1053 19 p 1058 19 p 1060 19 p 1051 19 p 1056 19 p 272 19 p 273 19 p 1061 18 p 308 18 p 1062 18 p 1059 18 p 1063 18 p 274 18 p 9 18 p 1061 17 p 308 17 p 1062 17 p 1065 17 p 1067 17 p 274 17 p 10 17 p 1059 16 p 1061 16 p 1063 16 p 1057 16 p 1064 16 p 273 16 p 274 16 p 1057 15 p 1063 15 p 1064 15 p 1067 15 p 1068 15 p 259 15 p 274 15 p 1065 14 p 312 14 p 1066 14 p 1062 14 p 1067 14 p 275 14 p 10 14 p 1065 13 p 312 13 p 1066 13 p 1070 13 p 1072 13 p 275 13 p 11 13 p 1062 12 p 1065 12 p 1067 12 p 1064 12 p 1068 12 p 274 12 p 275 12 p 1068 11 p 1069 11 p 1018 11 p 1064 11 p 1067 11 p 259 11 p 275 11 p 1068 10 p 1069 10 p 1018 10 p 1072 10 p 1073 10 p 275 10 p 260 10 p 1070 9 p 316 9 p 1071 9 p 1066 9 p 1072 9 p 276 9 p 11 9 p 1070 8 p 316 8 p 1071 8 p 1075 8 p 1077 8 p 276 8 p 12 8 p 1066 7 p 1070 7 p 1072 7 p 1069 7 p 1073 7 p 275 7 p 276 7 p 1073 6 p 1074 6 p 1021 6 p 1069 6 p 1072 6 p 260 6 p 276 6 p 1073 5 p 1074 5 p 1021 5 p 1077 5 p 1078 5 p 276 5 p 261 5 p 1075 4 p 320 4 p 1076 4 p 1071 4 p 1077 4 p 277 4 p 12 4 p 1075 3 p 320 3 p 1076 3 p 1079 3 p 994 3 p 277 3 p 13 3 p 1071 2 p 1075 2 p 1077 2 p 1074 2 p 1078 2 p 276 2 p 277 2 p 1078 1 p 996 1 p 1024 1 p 1074 1 p 1077 1 p 261 1 p 277 1 p 1079 0 p 324 0 p 993 0 p 1076 0 p 994 0 p 278 0 p 13 0 p showpage sparskit-2.0.0/DOC/mat8.pdf0000640000265600020320000017327310213314316014451 0ustar tilleaadmin%PDF-1.3 %Çì¢ 5 0 obj <> stream xœl½ËÎ-;³¦Õ_W±šÐäùРѢü7ŦT¨F£j#Áåãˆð{ˆ1—J»þ5žï™N‡íÌ´Îôù{ù¬/ñÿæÿþ‡ï_ÿÝÿzÿýÿý¯åïÿiüßüë¿üµ¦ð÷üŸÿðýûø×ž¿×ã³Þûö÷¿þ¯¿ê¯½ŸëÝþ>öõ³ìïßÿúþõßü÷ÿþïÿöý?þó¿ýŸÿÏÿûÿó_ÿÓÿ÷ßþëÿþëü×_ÿË_Ëç~îóýûÿÿü?ýõ,_×çÝÎçïý½–úÿþë¿ýõ¿ýµ}ÎmÙÂ{öÏz<ÇßDzüûëäü,Çßÿ9üçÏ›gÌr}î,{‘Q"Ïoî§Õâ‘uV}˜bÖþT;‘EbÖq|žn‘ÐÚ¯qÕñl ȹÏÑâ.—Dt¼e§oþË=Îú¯“ë³î¿¹‚åù”µ~®»[ fk ²Hܺ?ÇBk߯­ш¬ã9g‹€%¢#.ã‚öƵjYâ*ùu2ηç7_°DÜ:>ÛÝ-³®ýs÷´HÌWŽ¥[$´öuתÃ,#n›Ë¢#.Ïg”и÷¼÷g¯6A2η½åË,³Æíì¹›Eâi]Ÿý'-³Æuïê ­í¹ÖhﲌÈzŸõÓb4bG\?g#Λ¯~_Ÿëùͳîqǹ›Eâi=ãÖßÓ1k\·n‘ÐÚ®QÊÇa–Y÷1þ¥Kv¼c4£,—Ñ›™g5Èþ9÷ß\Ñ"qk‹«g³@dmËG7K„Öv6¼¹eDÖ¸ŸÆn–ˆåëþ<ã¯ûûŒÿ˜õ3É»|v^ÁÏÏ~7 ¤YyçjÖ$fmË×O³HÜŠÞe·@ZZã~Ã:¢õur6Þ‰óžd–ˆ[yoˆY, ZV6´Žûóv‹DÖ6®SïÓrObÖ–ý:·HÌ…“W q.ŸU^$Çga‹Î»’Y"fÕÝÙ-O )-EMkô$Ïn‘ÈÚ¶ýÇq+û<Í1kJ\ªîçsTqMðŒ²å=6ïI&‘4k­gÖ$n!YŒÐ¬{ŒTºbÖ¶ÞéÞ2Ò¬Ñçÿ±&1k$ëŒW¶,-‘{ ½~îR´DÜÊ»s³@ÌbŒ´HÌ=»[$²¶c«{-·žøïfÈExžq¶ßÛgÍòWWÖм/ÑqkÞÍ1‹Ñ"1kô¼÷§Y$²¶ÑæÞÝ-·ž¸4 DÖ>:ÄÙš®qw­6rg ß«h‘¸…;´,–ÖŒÈÒBŒ²¶e­ë -·Fo¦§EÒ¬»î˜fMbÖ8až:âùyªM{³Hdãt_¢¯½ù̽HÎ;Ì;Ç]÷{Z"nÍ;¦Y fݳW ‹Ä¬g¯{Ž,YÇTdÜçû93F’ñï–ßû-·Ð+ÒÒšq[Z*ZÛsn¸õ,¿i4ëýM Ĭc\—¸ëœWÍÏy0?£»-·æýÞ,·£,³Æ ¿>Í"1kœïO·HÜzÓ"‘uŽËö™¹Ø1#DrrÞˆ÷9Z"fá~/‹ÄÓBDJ ĬÑá¿úIdíct¸n‰¸õĈ³Y §Í }®jc´xfIlQëýÎGKÄ,Üñe‘xZˆHi˜5²±ô#’ÈæÏýº%âÖóY~,Y£yÜg”θ<Ô¬—È˹1Þçh‰˜…;¾,OkFdi˜uŸ³‘DÖ¾­Ÿ­å^Ä­œ{kˆ¬q{—¡Ëüå%rE´ßùh‰˜…;¾,O )-EMkôÜÞ~DYûèR^¯["nø±@dÛÈrƹp,sÞKd»V¿‹Ò1 w|Y$ž"RZŠÖ>þºn‰¸5îo·@Ìmî鉬Ñز·µßãB™%AòÆkÞ‡®O>,¡%âÖ¼K›"+æ××-·ÆxãÇ‘5:Y{ÖÚ~|ö®¸}÷[-$“СDà)!h¦`Ò{}²E‰@Ò>nèM0iô¦óšG‰@Ò@g^Zö1\Ì‚Ùc¸Ýo²´DÌBçB‰§…x”ˆ¬Ñÿ¨ -³F…]--³Æ;‡Õ²Hd »Î¸˜ºýÚÏq•8Q¢¸Ÿ–Ÿ¦°[Q ¶Tf Hq™2:¿¯?]yÖºWM?]yÇŸRðӔєŸJåCаDî˜+ê÷SZ"f¡!‹ÄÓBhJ Ĭñ×½‘Ĭw\¥› çX7æOý}\bÞìÅŽûâ@pÄÔh¿B0 ½JžÂ`JŠ”Òh–O;¤cÙ£5KpéëŸK’žq©Ê|ŽüžÕ@Æ?[~o ´HÜBÇAHKkÆci)dZãF³õ#‚˜u¬c˜ç@sÆ»;ÌgG=Ñ_ÇùŽÀsý IÀ$t(xJŽ)¸4HtlÛ'{æ\÷.HgÏSM£·,&‚#f„zï’ˆ[ȧ,³F?ûX¡qºDàÎowg9ã.sf>Ç)‚q1»~»=š4s) Ù–tŒ–ñž&¸4Æž~›2î ÷•0îoÕ É“~³ÃsÖ½ˆ–ˆ[³dˆ¬c ’o—ÌÉ‘™ŒúÉ¿oãÖøTaÿ†3æ {7fJLB÷ŽK–’ʃҸ§W@"4†ûu—„$`Ò5°îà7•m}š˜¿zFm]g–À$ñ¯ÖŸ -u`šU7·fW®Y[ ˜Ö¸¶ï=­IÜ:®+ï%²@šuÇP¸Y“˜µEÛ¾B§[–~¿ñ ºufàp©:m&¸„ð()^JãOK‰@ÒqŸ1ð‘$`ÒóäSCI”¶qQÚ«)ìqÉý:9ã†wf( ¸S]8—@ÜB4²@d£=î.˜óœy'1‰Ä¬÷މV·Hhmqã©â÷Õ,‚-žÏ´N $.-ÍX~ÿ<ã 0›2Ž}·Ã˜ô1kj¤s¹ã!†$JÛ‹õ" £-.ÕH^Î4Í~ %sf÷Í$OiFcI˜µå2“䜣øß–)³Ö+žrºEBk‹.è•颮XœÓ:3 ˜T½79øíéÌX˜ÌümÊ_íP’εº@”Ly|.—(m£ÃýFOñ#¬œZ2²sjiöm( ˜3»n&‘xJˆFI)`ZÇñY› çÜâÎå’ˆY{\ÔšEBk]²Îc|…ð,œUBO ’€KÕÓ3·t*%Ã`¥Ô#ws&0éÜsM®$—Ž#jHhR„Û¤ $m£Æ·¼æ›|N^¹âäó®#%s%Yç¹Ö=‹–ˆYמ´Ì"qk©+¿Y ´¶˜‘Šãn ÁΩ©ã|ë¦5%&y2ø¥?Ÿw^d˜ôä]Ê$J[,lÎnËè0¯GæäÎ[ï‘–H³²?íRæÌ`MBøfÝ[]ýe˜uÞy2‹Ä­7ûlnÈÚb:8{¬Õ©ÕÏ›“Jì<öžcW²ÃLcþ2-*WF1ϯ©ð§”óÉ^ý”r-9Ô‚¢ŸT¶10ªêךE2rh¢ ÝCXFÜš]f³@Ìb,´HÌz×x˜é‰¬óÍQ™Y"²®5gBÌ¡µÅ󡼃Ä3°,€+/½Ó8%&Í~²¤ \B8”,bHç²Ä"I&]KÎrH"piˉQ“$m±<;ωó¬¹$#&œÐU„eÄ­ÙM6 D–„å!ÓZ—XW䉬kÍ™O³DÌÚò‰[$´¶x€\yÝb„õu’w¾Þƒ„eÄ­Ùk6 Ä,FD‹Ä­˜éˆ¬k»êæEKĬý­ë¤,ZÛ¸z1ËÿoM?‰ŒéÍš=GX"Íš=g³&iÖŒÈ,ÄhÖ6‡Ú²@̺ö|²i‰[G®“p DÖ M²Œ ÃRm‚$ßXêJXFÜšh³@ÜBŒ²@ÌÚŸºË"‘ug®”%bÖ8ön‘ÐÚ®1ü‹YªçØjŽÌHv{Ï–·fGÚ,·‘,³ŽZgo‰¬ëÌ•Rf‰˜uåÊE·Hhm±ˆ,Öí>ã̹³MEï>ÃiÖÌ«YЇÖyÔmBˆY£ßR·zZ$n=¹†Û-YÛ5;ãĹ²sHm±w³!1 Y$ž"TZŠ™ÖuÕ•V‰¬ëεÙf‰ÐÚb±æ•å°Ç„ñ×Iž»3_wÝ1a1 Y$n!¯²­{¯k•,Y׫®Í1ëÉ7*Ü"¡µ^Ýž×—}‰)毓¼>Í|å€N–·WY ²®7ßû1K„ÖK¬ãqܳÝ1?þu’÷†Ù%ÞêŠˈ[sdˆ¬ëÍwÔÌ‘u/ùÖ¢Y"´¶Ñ¿½²µñàë$ï}$ˈ[sgˆYŒ›‰YïY×vY$²®7ßQ3KDÖ½®uǤ%Bk{ò‘Õ@K:w Ĭ{}>-÷"n3:ŸìÈ‘µ½s$6sf‹ È>rá@2bÖú“”·¡,ÅLkËÅ3n‘ȺÇYŸ³2´DÌ:–ºãÈ"¡µ!Ô–=¨‘ç#[„ÈÎ)(Žh`1 c;Y$n!"Y fí{]Ùe‘ÈŠwãϽ³ò»Í"¡µÅ ‘ÙÛg×VMdͱaãÀiÖÛ™5‰[ˆHc4ëØê:+ Ĭ{ôœcIˆ,·ÆÐa투}™•ïGq ÜœÙâx’·æÈÎ,³!-³Æxqéi‘ȺGŸ:Ö…È1ëzr}…Y$´öxm:ï]ãºö¾Y$9óÐG8°Œ¸5Gvf˜Åˆh‘˜uÕ»f‘ȺÇà8Ü1kth–n‘ÐÚ—jâw|, Z΂œ.Œo<ѽÏ#îõ_'¹t©`qkŽ“Ì1‹Ò²a=ËRWZZ"f½Ççj€œwŒÚ7wèìãoKŽ®Î5z›_'±†­wù!1iއL¡¤P y¸”ÞºæšBéñ¼ÁS‘4†×Õ$H{”FLÑÜÇ]Ö¯‘3Wö!,‘fÍAŽY“4k†c”õޱãé€;£ÓªL‘µF¿gmÅ÷¼²’Eb-cïwC2bÒn˜")–Àö”H(½£óK$‰@ÚãŠUU³ÅÈäë$—˜ö~2,#fa| ‹Ä-äTˆYûQ—Y$²ÞíÍ5#²DÌ‘{m ­ýšÞñ§·jp‚#Víöž2“06âÒ Æ$„'iänkÎRÞѱŒ%rHLMwí¥=ú09èÿþ©†@’+’{–³04EâÖ Oã¥sî¹ÎÙ$Yïhá±äD–ˆYã¢su‹„Ö~ϹŠqª\Ù bÕyï/Ã1"i 䘂Pä(\Hã|\›@åWÚãrGDÒèµ.]"´Ç&ÏÄqÙHö\»ßúÊš3‡&MâÖŒE’¢¥3*àì)˜õŽø¶¤HÜáœÝ‘5.Ûãz™Öó|_'ñvBï/C2bR Ì™@ ãC")gÁeÔOþùƒÑX0"CDÒèŽ]"_:Î9¥mæ×@¾tÒzÈpܙÓ@̪8¨ÔOûû»ÖÕU ‰¬wä±*–ˆYïY÷>Y$´öøNmåb‰é⯓xƒ§÷!1©†æL …ÁÐ!¡ôŽÞÛë”w«{žHÛ2únKF íÏœ”‹ÔVõä›I­_ GÀ90 D"¡D`κTC–DBk„²Öý–³Ö£žÉ"¡µ¿1å˜1ïñTäëäÂt{ÂŒ˜Tƒs&Â`èXÀ”Þ¼¼š3”ÈZ7t8F$¦ŸPI$öxv°gÁ-1'÷u’ïﵞ3$wæ@À$·f,’-qÉZ×&‘ÐÁ,õ° –³ö=—?˜EBkcR6.Ô£Æjd]~PD¤Ì\šÂH%×lP‘òæcpW&™Ê ³F¸GPFòuÑÞ[†eÄ, d‘˜5:tOO‹„Ö¶Œ~æ{›e„ֱļuöZ³JFvL=±_ ɈI³_oˆ$f”‰¤1žÝ{J$F0g=Ÿ†dDÒyæú“H ñô?&ø¯ÑÌ–ªÀIîeá¼zµ´ÔÏmVuîÝšÝ}·f8f1@³Æ0öîiMbÖhËå#´Hšu¹<Á¬IÌ:ÖØ ã 먙%#ùúwëòÒ2âVõïÝ1‹1Ò"1ë^r¯Y$´FDk. ¡eĬûÈ¥{f‘Ð:bPLƒ]ãþ“³KFMAÍn.-#nU_ß-³-‹ZÖ›Wq·@hˆÖ\@BˈYÏžWh³HhëÈjœŸ×莜w–È›h½`Z"ͪ¿[“4kFd–¢¦õ¼y57 DÖˆhÉEŒ´DÜz÷¼ì›"눕„ÙF‡3g£ŒÜš³šý_ZFܪî¿[ n!FY fsúìi‘Ðq¿ùlŽ–Y±#ÆÙ,ZÇè¹ìO–×Ó¯“ü FëÓ2âVÜq É¡5:žOµrXFÌzß\Bb‰¬Øÿàm–­#ÖÇäÃ5ZèºeI€<ù’ÖE¦%Ò¬¸5I³fDf!F³ÆIzô´@ÌŠ½.¢s-‹Ä­mÍq¨Y ²ŽÑ›¹b¹À5¤oµ ’ü6Në+Ó2âV Üq 1Ê1k»rù®Y$²ÖõÉe²DÌÝç[$´Žx— ¯|÷ý‘¯“üšNë1Ó2âV Üq ÉRÔ´ö+—ïšE"+>žïn‰˜u,¹(Â,ZÇè$¾Y:×[ó^"ãßá ?³ÏMIÄ¥'¸4‰K3“2¤#7Íq DҺ߹0D‰IÇ›K÷L¡tÄ«?•§«v3òrÏ1 *h1‹Y§eÁ,¬š+tÈ1ë¼rMžY$´Ž‘üÌ×µ×¼•‘üžWëŠÓ2âV>Ü1ë|r­°Y$²âC±ñ@I–­#^žËËúèRnYö"ù¡±Þ†eÄ­7¸âò* ĬÑý{zZ$²Öñß-÷FÌ»¼`Ë"¡uõÜþ=ð%¯Íù͹Þ}†dÄ­90 Ä­Y fÝw]Ôe‘ÈŠOáÆ³ Y"f[Ñö6‹„Ö¯Øf ž{\¿Nò»z½û ˈ[sØ`ˆ[ˆHˆYÏUuY$²Öq“‰Œ²DÌz—º\Ë"¡uœ±Ô!: çÇù:É(öî3,#nÍaƒY n!"YŠšÖ{å2+³HdÅ—5«ý¡uÄKöñpú:îÈÍ×È™Ÿ›ìcX"na@ ¤Y3¯f)ž•Ý®³Ú/-·Æp4š˜bÖ¸Qäz Y$²Ž+–£DÝGÔÞ×I~S³wŒa‘Å-·£,³Ö³Ú¯,Y£‡›«id‰˜µn¹hÃ,ZÇuÌâZã$üȧön1$#fa8 ‹Ä-Ä# ĬíÈÕÐf‘ÈŠOþ]žy#fm[.Ü0‹„ÖqÅ|f¤¿?qÍú9òs´½[ KÄ- d4kFdb4k?r=±Y fS!—ÕÈ"qk_s…‡Y ²Žø(O7GßtÉ&!’ŸÜíÝbXFÌÂp@‰[ˆQˆY£¶Žž‰¬øðWö{h‰˜5ÚÂÚ-ZÇ&²¼Ö¸Wœ@cO–³0Eâ"’bÖè½=-Yñ!©×soĬX Ð-ZG|c+[À(Ë»ÚÈž_¬î=mX"Íšƒ³&q ɲ¨e½u71k³¶q/ˆÅœ²HÜ=Æ¥[ ͺêúhÖ$²Ž§V¹]Û9ç N²q|Ɉ[ˆP–b†µ~ÿæ9c–×FI$´Žø¦^öÏÇ5òÈšÉï©÷¾8,#nÍ1ˆY f^âÛÓ"‘µ=Ûgu‰€ÎñÄÚ»`ãÚWÓp$Ûª‰,ô–a‰¸…Qƒ,fÍœš…¼›õuõ—bV|V!Ö¤È"‘uć/+­kN°‰<š¢B?–³0"Eâr/ ĬÑû{zZ$²¶çÌe)²DÌz×\tb ­ãåŠYÛÛœ`95E…~0,#faD ‹Ä-D$ Ä­Ù+5 DV|¶ùhi‰˜õ<Ÿ–œ}ñBÀOþýˆoåæµnyçôɺq‹=HX"Íš}i³&iÖŒÄ,EKkäñíi¸5Ê.¸É1k_—\«"‹DÖñÆ2Ѹ’Ü\ÕbHÞˆµ÷*a1 }iY$n!FYŠšÖ¸"ï=-YûrÇšIæŒkGKˆ€ÎŸÐ®²Úk¦ËÈÅù0öa1 =iY$n!YŠ˜Öèo<=-YñÊèí¹7bÖöæH³HhK,õÍŒõÑY$çÖØ„eÄ,ô¤e‘¸…ˆd˜kO{Z$²öíÊ[<%sFOÿi3¾®µ{#çÎmF^ìÜÆ¾#-#fÍ^´Y$nU4n˜uîùÚŒY$²âm¶ËsoĬãÉ»ŒY$´ÎØáûÍôš33rqf }GZFÌš½h³HÜBD²@ܺò.㈬ý8óQ¨,³Î;´™EBëŒí-âÁÑ9s›‘;·±LˈYÌ+-Oëýœ=© äÄË*g“DÌ÷õj ­3öøŽ¾ÕùÜ5c&Ÿ\ïýjJÍ©þ¿K“4«Â1‰Ó¹Ï89Í™Àœýj‡ªŸþ÷10‹E%¦€È:cš˜µÝMëö®Ë%Zgl"#þsäw¯ºyrŸ?ïR"pgöšMiVeÔ¤™s9ûräšbI$nŽe,^1 DÖ{pÇÂŽs4“5ëO$w(lý>ZFdegWÊüéG¾¥€˜µîŸ«IrbãÓ&âÖSW\³@h±;\Õð æ¾NrJïïQ0görM"qk†#is¶=— ›D"+C¾-)³Æ¥ôì ­3öÝŽ§ç}?Õ@îÜÙ³õ÷h‰4+»¹.pñHb„fíÛ§K˜sŒ›aÌ}I"qkœ¶K·@d±mä‘Y?ã.üu’;—z_’€;ÕÃu Ä,ÄGIÓ}¶·K$²bS,Æ‘%bÖ¨Ô£[$´ÎØá;fMÎk‹vòu’{Ôö¾,#ne×¥ Ìa<”,fZç:뙉¬cœ¼{³DÌ}±·[$´Î£ÞÚ9Ï7ó¸r×ßÞσ$Ò¬§'%ââ‘Åͽº¬WY fÅRˆxz)‹Ä­óÌ(fÈ:c§ð¬ýÑSܪ=äÎÆ½?ˈ[³kˆYŒ‘‰Y÷’—`IrŽsËeª’DÌ}Ò¼ÖÉ"¡uƆÑyÿ£‚5„Hîbm}B(øéŸý_S@ÌB(”Üys1²K ²âb¬v‘%B+ÿ3Ç£j߬c’3wûî=GX"Íš}\³&iÖÌ«YȽYÏ•‹‘ÍqëÝr9¯Y fÅcåX$‹Ä­qWܺ"+šÅ+ âšðT[ É}Ïgîßjk°Œ˜ÅÜÓ²x`ÅS‹óvK„ÖyeöèÇ~ñ+÷šï}BFÜšý`³@d±ÇEKĬ1hßZZ"f:}îf‘ЊKóZ%¼Dž¿NöxBÙ{E°Œ¸5{‚f˜Å¼Ò²xhmK]Ád‘˜5F÷Ö,Zq®~ó~G ø:yãYmïóÀ2âÖìç™bò*‹Ä¬1,X{Z$fQm¬D2‹Ä­+×¹B+ºeG¬Û8÷c΄‰\œKb/–·f_Ï,³-·Þº–™bÖ»çj+³HdÅçÝ,ZÑM¿ª ׸ò}ì±F¡÷|`qkö÷Ìq É1k\w–»Y$²bBûòÜ1k=sÁ¬Y$´bØvÇ\o Âk&Œ$†­¿}X"Íš=>³&iÖŒÈ,ÄhÖ¸øçuHˆYçºý¤EâÖväóO³@dÅþÍ0þvg›¹c LïýÀ2âÖìó™âb”¥¨i“t퉬˜àêi‰˜5Ίž–­˜žZ²—¹­söLäàvk¼ÓÃ2âÖì™âÖìšbã¦ee#ëθnÈŠšÏþ6-³Ž%J1%~æŒýºÍÙ8‘CóZ¸“À2âÖ¼§šâ²* DV<„z[Z"fy÷v‹„V<ظ²’ŸÕÏuå^l¼AÌÝ…ð³)ó> eþlÊÌ"䨔ÑÖb ütåÌ(ütåÊqü”ϵžœÜZÎ9½&òp’Š·XFÜš7F³@ÜBh²@ÌÚÉ"1ë̆[$fÝ9eà ­xÖùæ©?þ#žˆÈ úýaJ\š·EI.!JŠ˜Òž·“Lºr&À$“žu–1$JñÐ{ª3-w^#‰¦×ê OK×üfÕÑ­ylVÅã–B¦udŸÓ­IšuçL¡[“4ëÍg nMbV,„ØÎÌ×èƒfAäÉÚn ¸Tw:“\B€”LzòÙ€I”bË“qáÍÒŒœÚ(m^þh1kÞÌ"q«.ARð“J|â©jßâjõu’'ú-–Y¼µÓq ±È1+>‘Ù$9¹uÝê’ˆ[g.xs „V|1äͲ‰­©³âc'¿7¹) ¸„Û:%€&U4r.•m¯JÀ¤ØÙ2V0P"hÒ]-YÒ’â"µÆ»rñœ²fËD^Î7ñ¦ˈYyg—R?ýïMŠ‚¥Ên€œÜãtuIĬ-÷=u‹„V~¯'ï²±cu€ÀÉi+ܧ£ß®Ì[º“ üv%¾ íÊü-%¶ø}=“öÜØ$“ŽÜüÚ$Jq:â½–x^_Óq"§ªØ7€eÄ­¤ ää>ñ«K"foxe‘Њoså:X‘Sc/g˜r[9úíÊìaÈôD×0é®ë%¸T[Ñ›@)¾ÀvçÙµŸõ"ra4v{ ˜ƒ€é˜[P5@Îs×Nõ’DÌzj§z³HhÅ—öžœTŒ®38‚ÓAì®MÉ€IÈ(E"eöžä¸ôÖ5O€¤ç­-ê) ¸T;Ô›@)zK6ç¸l畉d[°çûtš3ói’B¡•½')Ïþû÷÷óc0çyk“xI$f½Km/‹DVt¡ÖìCÅ¥=¸9ŸÄþÜ” ¸4sN‡‘PA?ŠKO]Ð$Hz—ÚEž’€Ikm"/‰€Rt÷jkm|fdÇÎgêÞÁ2âr* D;R´DÜzê‚eˆ¬w­=äe‰˜µÕòf‘Њ^çkßcaN–¬¹˜®÷ø¦$Ф™SIȺIèMQpiË´M0éÝjyJ.íµ¼$Iñ©æ+He$—öŽ,#nÍŽ Y f1@Z$fÅí·§E"ëÝkûxY"fµñ¸Y$´òëÝ•×5ÆÎ_'¹L³÷‘`qkvÍ1‹Ñ"qëÊåŸnÈzÚJ[–ˆ[µ}¼[ ´â[îoLôÆâ»ÚÄ$ñï6ÖPõûh©'جʫ[ЇÖÈëÒӚĭ÷¬­áet«¶†w«ˆY1ŠZ®Ì×Ó)_'¹¤¸ui1kvnÍ"q 1ÊRÔ´bR¥[$n=y)v DÖ{Õò²Dܪ äÝ¡#Ê-¦\b‘û‘mB$j·Î3-#f1"Z$n¹ÄÕ-Z¹ÓE,Ì%úU o.lŸ=è'_? %Ò¬êV»5‰Yï[§Ë"iVm=îÖ$²bŸ’¸ ÅÛk*@.Ýo{JFÌb„´HÌŠgÝ"‘õ¾µ¹º,Zû²Ô†è´ŒÐÊÍh®ü—[LäK ­ƒOˈ[5Xq Ä,FD‹Ä­+¯ÚnÐÕ¦q´Œ˜µÖžbf‘Њm‰ârïËVÑ-Z#¢úP<-#f½µ'ºY$´rOêÊÅN¿NŽ[õ,#f1¯´,Ygݡ͡µ¯KmÖNË­˜0ßcyL|V`¯z9LRç’«#i‰ÈÒè–ˆ¥µnõU¥EÒ¬ÚÛ­IdåÆðÙk‹O'dÙ‹Üš„ÂÈ–·æÊ,ZVÓ2âÖ›ë(Ý‘µnµ¹,³öÚ«Û,Z÷_¦?ƒmsMäÀNh9À2âÖC™â"’bV|µ‘Dֺצå²DÌ:jSo³HhÝW|}?rß ©6r¬˜_ÒØ–H³æʬIš5#2 1šìíˆYëQÛ›Ë"q묽Í‘uNÊ3yñy•Ü ÍȃÐ4>‚eÄ-ä^–⡟Ÿî‰¬õ¬ÍËe‰˜uÕþÞf‘ЊgYKÞãû7YÛ"'fŽ4ºƒeÄ,æ•–Å#kŽ¢Ì1+>Sß-YëU›|Ë1ëÎm¾M Oƶ¼ßÇ“ù¬k’}ÅgÛÁq 9•ż»5ÇPfMâVleñ6 ĬõÎݾ%4§6ûviYñðoÏó ¾¬Tí$¾Ô‡zŒHbÎ)‘˜4P&HŠMlºDBi}êA’DLʽ¾Ý™Ê=z­g5„=.g_'ù•¥>ȃeÄ,f“‰[sèdˆ[o]ÐÍ‘µ¾¹ï·$wjÛo—@hÝ£ÏzÅ7aòbO–ÈŸÊê#cíbÕ0I|?pv¶ß:±!1iŽ1L¡´µá¶$Igmpm ¤X€ý¬X-Á ä·û ’·æÊ,·±,³bÙZO‹DÖvÔÎä²DÌ:k¯l³Hh=ãg¼©¸ÇâÚ' ‚$>qÙÇŒ˜4‡F&˜„p$HÏX$c ¥í¬ýÂ%‰Hºêý5“H =Kíº_G}«)ƒª8hPÒØ Y5&rkŽ’šUÁ¸…ðÌŠõt=­IÜÚ®Ú1\H³îÚ'Û¬IÌzÆyþÜyÄ#^^ý:‰ï¦¶%#&ÕˆÈ%“ $… )Þdi•í®­ÂåˆHzjl“H Åš–eÏbZ£Gúu’ß¼mƒ#ZFÜšù”ÄHäÔ€Ã%³Æ¨êꉬí©×›d‰˜õÖÚf‘ЊU;1.Éï!W;˜àí£" fÍ`mÜáF ñZj&€°½µÓ· (ûReK!™J,>ÚãÉO|’zÏJÉÏ%·-#f!˔ܩ¡…K f½[.5‹DVÜÏÖv@³ÖÚ#Û,Z±ŒéÈúØ¢®¿â[Ö>¢" …¹¤CbR,Ü™€Ê¶l.ÌŸüó8r^êeˆHÚjGl“H =[l¯Wÿxó¨ªäY5ý5G9´D̪\R™™ö¿×`•IÜZ׺=È1+†ýp$níµ¶Y ²ž-6‹b‰×ƪîIâ“è>ì¡# …9§CbR&Ü™@J|;ª)Tö½öå–#"é¨í¯M"ôì±'Z4âx%0€ÈÉ1Œnh1 ù¤¤HäÔÁ%³ö¥.˲HdíGíÉ-KĬ³6¿6‹„V,Ë[âù]äŽ/úûh†)ȧ‹…RŽ$Ü) e?k£m9$”b5Þ–Uu]51eäáôÕv¼u¹ƒeĬ9H0‹DÖ~ÕÓ²D̺ki‚Y$´b•à“ö¹%F¹È‰y'tí)1©FA.˜„ %H}™§K$”ö«Ö.I‘ôÔÃx“H =£{|fëZjBÉÈÆi'ôìiq«†7n˜Åph‘˜˜ïi‘ÈÚïÚŠ[–ˆYomõl ­çˆô¢áÆKÕÕH^Î=¡»ɈI5Äq D‘D"éYòãÎ&‘PÚŸÚ‡[’¥c©Mž%‰@zÎØ0Š%^>ÏÆ riê ½{XFÜšC³@Ìb8´,dZ±ïKO‹DÖþÖ.ܲDdKí-K„ÖsƈYõKMÙ9µ„>$#&ÍaŽI ’% ™R½Âì¥c© ¸%‰HZkh“H Å‚æ5»añ­…j q÷bÕÌ?,‘fÍAŽY“4k†c–B†µ/g]}i‘˜u¬µI·,·¶ÚÀÚ,Yϸ6€eÄ­9h2 Ä,FD‹Ä¬˜Í鉬øhÎàÓ‘u.µµ±,ZñºÅ‘õŸD«ÙrËÒ>:€%âE²@š5#2 1š“¸=-³Î¥6Ÿ–EâÖZ[.›"ëyF)[y|A®ÚInñÚ‡°Œ˜…Q‘,·£,YG<Þii‰È:×Ú|Z–ˆY[m½l ­çÝÆÅ*Ù‘}äV½}ˈ,Žh‰¸…ˆd˜Ok{Z$²Î­6¡–%bÖ^[/›EBëyÊÎ||71ÛÉš[÷‘,‘fÍÁ‘Y“¸…ˆdYÔ´bFO Ĭs¯M¨e‘¸uÔöËfÈŠˆ–”®8¡¿òûH’·æÉ,³!-‹™V¬Ùêi‘È:Ú†Z–ˆYgm¾l ­xi«¼îqýû:ÉöÓG °Œ¸5GHf˜Åˆh‘¸õäZQ·@dgmC-KĬ«¶i6‹„V¼nµç}œÏÛ%A’­¬†`q y•bƲHÜšÁÍ‘u^µÉ´,³îÚ¦Ù,Zï2.q¾¬ãú·V› ÉÍâÛhˆ–·*¯n˜5Çf‘¸U;Ý‘uÞµ³,³žÚÌÙ,Zïi ¶Gèë$ï3m4Dˈ[È«,³æÃ,·®\˜éˆ¬ó©­še‰¸•{5»4w­ ÇBÎAw¢6¢dÄ-äS–b‘Uã ·@ÌŠ7»E"ë|sÇfIîÔöÉ.Ðz×èp{ø_®ÖïïþŒƒh‰4kæÔ,E#«Æ nMbֵԖͲHÜZk{d³@dÅ‹ˆkÌ´¬ñQï¬j‘ìc¶;-#²0R‘%bV|ódo‰¬kóLá'ÿ¯FnUêkŒí¾NvÎe¡7Mˈ[5®p Ä,æ’‰Y[–­[$²®µ¶–%bÖ–{$›@'^þ<²¶âóîU 1}þÓ»¦%Ò¬U¸5‰[ˆG#t+¯ªÍšÄ¬k« ¬e‘¸µ×&ÉfÈz÷¸±åÏš£2rs& }iZFܪQ…[ n!FY fíÕÓ4‹DÖµç.Ö’Ì9rŸdsè¼ã_ÝG²5f¾NŽX¥ÛzÖ´Œ¸U# ·@ÜB4²@Ì:r|扬ø2ôrº%bÖY%›EBëÝ£,6€¨ör¯œÅBOš–H³jDáÖ$Íš™¥¨i9ãˆY×™;YKp窭’M‘//yÅ‹=<²Eˆ<œC?š–·f?À,·¡,ÅL+¾ÞÓ"‘u]µ•µ,³îÚ*Ù,ZñòôZÿr«-ÒŒØ"ýhZFܪ…[ n!"Y fÅ'ó»E"ëºk3kY"f=ùV«[$´âñ=s;ÄT›‰'ðìY×X–H³f^ÍBîÝš}r³&qëÙó‚&is®§¶²–DâÖ›û=›4œxÑüx3¥«6\3ò`Ã5`qkæ\ÒîÌÞ¸I fŦ7Ý"‘u½µq´,·jKh·@h½g$gAì›”­AäÔÜÛ&@0‡9¥DâVuÈMš@Nìk¶ºC ç^òK&‰¸U[F»BëÿyÇœ÷;Le[ ‰/b±næ(–ˆYÈ*%æÝÙc7i’fÅâ¸&0ç^k jI$ͪ-¨ÝšÄ­­¶z6 DÖ;šÎ›­#¶ÿZ³¬Hr´ÒǰŒ˜…))d8÷^›FK1먋Í"¡ŸTXbîiýͲžEr<Öûç°Œ˜•HJý´¿ï¹¢ßY÷UÛæÊ¡yØòìŽÍÛ²ÌEr´ÙûÓ°Œ¸UÓ&0‡9¥DâV¼ÅÓ¤ äÜWm,IĬ»6Ö5‹„V|,bϺŠí÷ªöHr¾ õ¥! ¸3G&¸Uá˜49G¾e牬xéº7‹DÖ{ÔܲDÌ:kk³HhÒ¹ã»Ëu×dAlå†ZŒÏÚî&‰¸5{Ëf´´jtáiMÒ¬µY(Yñø#Ö;È"‘µ.GͲ,ב[¸±%œºlS2àÒìÍJ0)>ô×R"ôÆë,‡I”F>¬5󄟇&§Ð½‚bÄ,t3e‘¸…LÊR´Fméi‘ÈzïÚ[–ˆYñ¾ÈÑ,Zk|3¦µ–Q±g•Â׊íÜÔ»š’€KèfRhÒ G’"†ôÆçÁ<%—â1ôë€KomR- @ÒßýÌ£5á$pkV ý*HFd±IKÄ-„' ĬÑz{Z$f½µÉ¸Y$´Že©mªi¡µÆ§Ml [næf _ê­)0 ýKJ.!J&Å‚ZJ”F0µW7$&­µ¯µ$J#âšÜ\Ž7¦¾FÎ|aªw±`‰¸…®¥,fÍxÌB„fNÐÓÓ‘5®ݽi‰¸µÖFØfÈq×è2ºo@¾_Ö{XS2àÒìXJ0‰B"0)>]r¸D@iS›“C2`ÒVxK" ´.WÍ/ã(w5’|¿±÷­`qkö)Í1‹ñвijª€h‘Ð:bô¶¸eĬ=·ñ6 €ÎßÌyîeÄU×G€#_”ì]¦) 4iö'%Mà‚¡dñRŠÏ´ÃH±Ô>æ$­ñ±ßœ½õqÌZÉ·E{O–·fÿÏ,³˜wZ$´FmÕNí´ŒÐZã+Ä{ÖÍþÙ3óùBlï/LÉ€Iè Q"péÍer&P:"ÇÏ)É¥5>C|f!/±Œãëd‹i´™ó=aÒ2âÖ’ :Ý1 ýY$nÍ>’Y n!lY fÅ«x=-Z#îzL±ä{Lö3÷é«ù§óªq½ê¤Ÿ®ìùe*øéÊ[·2(ø)…‡RôÓ•Ùƒ‚‚Ÿ®Ì(¡à'•uyê©Ë2nvOU?I¾Óž ïZ• ˈYÏS=Y$žÖQ½ K D– –-õ/`qkö±Ì¡5â®'8ËèT ÈOd¶¶q{äè·+×l7t$ígmþHI@’ÊeJ^tû\³g1%&¡‹E‰€Ò_âÎÉµÑ 9gS˜dËO%„µÅsîqÀiÖQÓffM"kçXe–ˆY,Z^z {S³wK¤Y³‡eÖ$²Öø’x<€‹Ž,‚üâE†1rôÛ”ØT§9žÎQóýJ€’•TI(©_1%.Í–$Jk|%=çÔF3Ùª)ä—A2ç×5/Û°Œ¸5o_fÈRаDhéΠˈYè]È"q«:X&M@gD]ÏX㜪)6€uÑôS|ç$Ф£ò)i—pO¥ I7ñ) HZ×¥¯.c@ûfŠÜ1í=/²KM1À2bÖqç²³H<­y/´´@d=£K—£ Z"²TX°DÌBßB ­w=B^bì*€ƒ³TÇsÎ*,É€K[M!H0 ÷EJ’®¸2™ÃßRTÄÓñZØû”(­q¥ÿp{ß'Χ/Iþ³—â8û³@~¬=.©ÍÚë"kVÝMÂ]ÒœýÊŽ—I“4k–°Y^ kïw4kö;d­#ìhÚ[t”ªLA»Ôã JL=ÃQº&xJyWô”(í‘…ëdÀ%:%ÕÂÒ{’(­ñ÷l [܆¾NŽxx8ïZcÈi’€;[ÌY4 Ĭ¼%º '¾ow_.‰ÈR Ã1«ún‘ÐZ£a‘~l×]…0Á»r—ºó͉$J&]KÎI"p©î‰&4)Ç6.M`‹’ÊÜ¥ìb¸4¤qö¥·R-³!€<˜z²ð¦eÄ­œLkˆYuÏw‹„Öºn¹Jg°­ö[3rb¿µÁr•N³@ÜÊ53Í1kÏ53n‘¸•kfšB+¾k~\ž–¥_‰>^OKÄs?ã¾ß9çåe³Ý?%a–ÊFÖŒÛ,• ­#W”¸âÖž+pÜ1‹Ñò¨§«â3§²DZîQWmËÖÊfýmf©lÖß6a–ÊûÀÍN,#²fÇÅ,Zj°ŒÈRIÀò²YÛêègk«w~׳·U³@ÌbÒ"¡ey–Këþ®ÕC’EâÖQ™bÎY$žÖ<ß--Zj™°Œ(­x)liù±#2î=æA[Iä—}J‚‰[ˆ[ˆYW®s‹Ä¬3×͹E"KÁ‘µÄ&ªíˆ"vDƽÄpáÛËfÿ£Mв²Ùÿh²T6ÓÂG–Y541‰€ŽÕÿ”Œ(Wйò’Ù[êyÇP®µÔüJuo©²ØRÍB ʲR†Û6dŸ†I³öj%fMâÎvY n¡•Èb»±Ü£ÅGÔŠ·Á3?ê=­\»Ù,·r•d³@ÌB[’EbÎY$²X·´Ddņ§KžwD½Æ@+‡üúO9Èq QË1ëÎÕn‘˜uåjQ·Hd1 Hrbqûûº$âyŸQþüöÓò3ö½ÌB9¸5£6 å@Ks°DÌâHž‰‘µÏ#ª=˜…¸e±$,÷h•c\ºôûÁ‘ŸýïíT‰Y,UZ$²¶möìh‰˜µçJ*·H̹.‹Ä¬ÙL$x„³½èߣµÀ#7I˜V® nˆYw® v‹Ä,¶.Z$žÖ<[,-YªkX"²â•ðž/qÆ=®ïw?Ü袗„Y*Zˆ[–• ­ç¬þ¦,–ÖU“–Ö$f1"Z5¬Ø)g¢h‘´QgL$}{Ù¬¿mÂ,•ÍúÛ&dYÙLK3d°ŒÐÒÄ,#:"[(bK‚–•ÍúÛVÇ(ãèw„=·QémU‰Y,CZVÎ Ïÿ\”h–ˆYÇ6K‡‰Yót— Gí’ˆG8[ܸbíGkƒ{î…3­\ ߬IÜz¶šN“âÚ’,¶.Okž/–Î)Y¬YZªkY±¡Ô¹ºEÒbDI\ñŒØKb{47Æ’bK‚‰YïSóײH<­\ßÒ‘¥a‰XZ5Áª”æo1ï± •Bî³ôS ²@ÌbÌ´Hhqþ’€NúRÑñÔp<ËÕŒ™yš¿Í@{\_Ìç±ÍnšƒC{”Å6kJOËSÖv<5ûO‹Ä­3WêºbÏrZ$n¡uÈb{ñgK=»ûhmoÍýÂf;Þj–L‰[ùöD³@ÌB;’EâiÍóÄÒ1«jVÎü-#>¹’=0:"–cÞ1/håÂù7ÆLËÊEb–¥rµ-kDi‰¸uÔ“-³@d)"X5ó5þáÑÒ1‹qÇkü½$6Íå1nZ$n!nY ´ô`–Y|BKÄŽ8ëŸÇ›¿Í`ÌtHÌB‹\nÎö¼šÇC‹”EbÊO‰¬Ø½nÛÝ1ëZŽ("‹ç9-³ÐFd‘ØÑ*—óx$—fûÐ*Í‘Å6BKÄÒºîß´H̺s!»[$²,³F¸=Fq/˜í#Ù5'ȸeÈRܰDd)°D,-´_¥Eâùª™ïç½çìç—…³o˜ù6 sáfaF^çè[ZùÖWK«H·òÍ©fiGœsívD̾›»`žíˆ íˆ,‰ƒst*Îѱ$hYÙh†%qp†Qe£¹Ã|£ËÓ"¹ÿ˜‡t D–b„åQÿÎCzŒ #jhÅôÉ鬆d˜Å2¤eå KõKDV|DlôÜÌñ|ͼ>¦Ö˜ûEóoÈ«YȽYÈ«,æÞ¬»îKf¸õ,¿G1‹ÑRŒf¡ne±¶íˆh'£wš»È¹±‹ç«Ý‘…ytY"–Î¥EâGœ­ÜŽbZ¦,Yñ9¸Xê KĈ¸7ÎÓ6›‡¸eÈRÜgA,­=_Œô´HŽ?æýˆ ²,‘ãùCK‹Ä,ÔÇýÔ.rVC+v‘S}Èb ¹5ËÐ,”ªYÏû›ˆ[ïVqË1‹­œ–γP:²X^žûYÒ÷9çÍDbSóY5Qk %ÌKQJhJv¸ý mÄ" Õ*‰„RìZ}¶Œ‹Xžðoº~{¡¬çoвR¥ay±0­#ß©õ´Hüˆ5=æG‘¥€`yÐL«æÇ,)sP×n­n¶Ÿš‘šÙ~JÓRaù¢•¿¿©€@‰ [÷Ã(lÍTÔâ·Ÿ²¡b¥õSÈc¼´÷B¾žX8<+¬æ Í"‘…¹QY"–šÄ8„ĬY‹’äħ4—&‰x®õ5ÑÊaœ;¿Å@‰„’b†$¢”Î|ŸÚS"±ÃÕ„’‚$B 3@’Dt8VÃÿÛ*f‹ò?C‹Ä,žÒ‘µ/ùò¡Y"f­ùb¡[$²ÔÖa‰˜Å²¡Eâ1Îb>¯8s½àÏq&¡ kîÍ$J˜”$¢”Јìp v¸Ù>ìp ”X«”D(#”XÈ!IÄò„€÷¸K{¡lçoвR¥ay±0­+ß®÷´Hüˆ5ïáG‘¥€`yа0ï!KĎȺXâ¥éV;ãlú­J$’X‚JI¥Œaýš/¬š$"iË7Q]"¡Ä–MIDË…’•ÝÏôS|æè…>î9/+°&›Ì"‘…I0Y"–š‘Ä8ˆD+•–ˆ¬øñr¹%âùBÜG ÚZIŒ³é· (‘PRÔD”Ò½W¯\)‘ØájÌBIÁ@¡„é/I":+bÑm«š=Þ°ø©Z$f±ð”ˆ¬}Ë7¦Ì1kÏ×{Ü"‘ÅÖMKD–Ê–ˆÇ8‹y¿£NZÁ³ UX&˜4ç M1 ȇfe‡›íÇC‰µJIõLit –ót‰Äó„"8"¦o/”ý2 e¥²ÿQ´¬Xö?²Ë3 S¡²Dìˆ,Ñ5òì%[ˆÿ–(%IŒZ)©dЩßó}~“D$õâƒI$”Ø)‰Hb¹P²²ctsŽj‹-7Û¬ÕøgœMÕ,·0w& ¤¥Uo‰xZ“4+?QÒ¬IÌâ¬-³îQ§6-?"KâŒ&à%;Ÿÿ%I,J$’Þü°ˆK$v¸9Gb‡¡¤ð ‰Pâ %;ªfÃdÉ¡i4V,³Xx´Hd©a‰ÈŠïûÇãY"ž¯™×õžWËý8~2o2/ 9•ļSŠ×Ì3£”HLºòƒ.Hb0”%Ö)%Õ²E7[ÇzþβNä³l²Hž?gÿd‘˜…æoGñ#ΦmGyþœ×£%"+6DXÚEž?çרz½—ÄÉ™/†MÉŠfÿ-JV2;^g (‰Øáæ,„’‚äï?s?”Dt8TÄòÖ¦tV56¥SEÈbÕ˜…³´TÀ°ö{­Ñ;-’f5z7k³Øºié 0 e#ËÊO1Îb^®ß ·¹/¹¦×¨ˆàꈩ>¥Bòþ4(;ÈûÓRì@ ïOíRÁ5t.ÎË‘÷7è½¶ 3rb:‹–ˆ,Ê´H,­5¿¢äi‘øçD–Â%"‹S<´D,÷¬ƒóh$›¦ÈP §È@(©•ˆRzÖ¯+%“Žš©4 „’Z7$I,J$]q|{i…~NV`Í«™E" ó}²D,­ÙŒüˆ ~Äj ~DY¨TY"²b™¥å^Äó…¸wN‘\ñõ§$h‘ÈRÜ;'î@,­-¿Nái‘øk–Ç"KÁ‘…yY"vDÖÇ‹•[ í1™ôSC´HÌb*-•3­7?´â‰[ñ¥•&M M\’ˆ,• ,/?E8Ëù¹ãiO+ùåÃëöœ`3 Ä,ÌúÉ"ñ´Ð–ìˆh]~ÄÙJìˆh7²X³´TײFGø'Y²HZ¾PG¼îã%ñä«=?%A‹D–J–ˆ¥µç'l<-?bM÷øAd)FX"²0Ý#KÄŽÈZ?[¯¡'?¯ñSC´HÌb*-YDz¸2úß÷xRÙYlß´DÌb¹Ð"ñèfßO,œi¥ž/g̬I6³@ÌÂäŸ,O íÈŽˆ–åGœ-ÄŽˆ6#‹µJKõ,+v [ZîIZ¾PG,ñð’¸óC[?%A‹D–J–ˆ¥uÔW@,-?bMùAd)FX"²0$KÄŽÈZc”×Ðøwû5D‹Ä,–¡ÒR9Ã:FÏþ8Ý1kôö¯&Èa§$bˆ–•Ÿ"œåF$ Ä-äUˆ¬ãÜk®€–ˆ[WN˜4œØ7v]]¡ee3-#ž÷õ¸È¬½~â{ö¿umˆ[3j³@d1¯´Dd±Îh‰Øçü|l˹´û{ô78ã7ŸÈ‘ÅsÏÒ1ë¹k„,‹Ä­š u „Ö;ûÆ+´Œ(-Ì™*-Ï=â^âUßV»fü7,YŠ[i¸5¯hf˜…ë‹,Z÷´Œ(-^ј–È?äk»çƒžSl¿ÇˆÌRÔ´WY¬ãºj&ƒI³ÞÏÞ¥rt†Bq e#ËÊyŸ³ö±yïœ#¹5g6Ÿ˜EbZ¯¥bÖ›ßjv‹Ä­9gj­m ’㛄””çL™’ˆçQ¯˜}#Ù5cƨi‘˜Å¨•ˆ[óŠ`ˆY8?e‘ÐRØSPJ¼0%‘ÈÕdÍy<æjѬâ1 š…œÊbÞe÷™Ÿ]•EÒ¬˜ØêÖ$²ÔÂaÙY`Ö,I(-Ë;ZÛzbþäٜ֜´7isð$A‰Yhm²HüxóL±‚Èbû¦%Bk‹ÝÔ«¬¦eĈ¨×¹g ÈÁm÷¶¤ ÌaÔ”Hd£Âv—ÜYº±´¿[S1¢T8gÌ„D,ר…åÁüëeÕLjAëÅ­Yrf©t9Ë÷œ5sA‹¤YO~8Ô­Id±aCRӗò¡äå§Ê(äq±»¬Ìãóû¬“9Oo ˆ,>9 %bÖl<’üxÕ,ìpÈa}R¡µæŸŸs¥eÄ—osjŒÅ±¿ñKQ‰pöŒÑÂòaZ#wO‹Ä8gˆíˆ ´,–iµx‘爙–ˆå¾ªá=ñ½×ËÊûf5Èa½¸³tcùùû{ÄKû®LÒ­;¿îîV³Ø–iY{7k–‰Y,%Ïw•ï5Îímõ¿Þ'Ö ÍÚËIy“äàI$Ki¶ ?ˆ¯Ú†DêS–­mܯu7ˈç Qïñ‰ÊVgÌôr  GQC±”¶üV’¥àGËIa?Út,–)QJ˜VR"v<ÔÄóÆKè­n¶XÙëFëÆ,”ž¥…ò”uŽôßË-’fÝñ!›fM"Kí–f¡td±¼<Æ*èçŠoUYÉÇ×÷Yƒ5o‰,<#%biÍfdÇ›ÀW Ä7Ö*%ZÛ_àò¤ŒxžfÈ{t\¿­PÖý· (Y©ÀRݼT˜ÖžyZ$~Äz>àG¡eñL«ÅŒ´ð„@i‰ØQK|—Òëf‹'\½n蘃âS:È9ך§–$âÖŸài˜uŽ+Y“èX|Sj#%.Tž–Yóˆ$ÏûŒzŒ‹æŒÉË™/FMKD£¶´@ÌÂõ@‰Y8;e‘ÐRÔ°ŒÈâõ€–È?åkŸÛzN·ßº–eQÓb^iY<°Î÷ÉÏLË‘u-k~d_–-µqXFÌbéвdîçS¸k[0›F²ÇÔjó¹Ÿ,Yl½–ˆ¬sYâÎk–ˆ¥…ç J‹„ÖvŒJ¾<_Fdñi -ÏýŒ{½çf‡"o¼WÑK‚–ˆ,Æmi˜…k‚,³pŽÊ"¡¥¸a‘…‹%‚ÊÕèˆôL]ñ(õ'@H&1Ÿ$]ËßL§$`ÒºæG´%PRóž’“X*,ãxT7Ž²ÎŠÙã…Š²æCAIæ ÑZJ ²Îu‰a™Y"fᑇ,Z[lhš7SXFdñÁ-ÏýŒzyz!,ñ<µÂ4P& ^¤ð¥ðü/…?=œŠ3ž™Tf*µžö¥ðç?æåˆ³Ú³3 {ÿ­VZ"f1Ó´HdÅɸßn‰˜µeÝ"¡¥Æ ˈ,•,‘ÏáÆ¨^N%8â݉ þ Hb3UJ&­1¢q‰À¥ù”C¥môL·Ë$’ø$’€g¼"Ž[õyö2ÈëO+Y^*ËÏÙëi©X–Ÿ+Y¸øç‰hGä™J‹aÓj%³ü\ dñJðùôlÅ–ïö"$IÊû”$E%>ÒNIÀ¥¼i¹@‰-’“XR,ºù.F+Û¬#ÞÀ¨ð걟$9h´žˆY[Ý›Í"q«ž„¸Bk;¯‘ÑÇ,#²ð$D–ˆç~F=Ævk/†ìª¶b€ÃR˜• Á¥º˜4K8M)ñ¼¥¤€§d% Jÿ˜§3¦ èéUH‰À¥Yc’$Å#é¬ H.å3O—(Y0%0i´ùØžZeœ/˜ú³Bá!C¦e¥" 1ËR±Ð:œ±1‹ÄÓªæž-5oXFd)nX^4ñƒå~ÀEóƒó ½$“ðP§„¢ÑáTz:Ü,N…·þžôSj¥éªgtð»åp̹<‘‹›ªh‘ÈRÀ±´®«º“J‹Ä­½†WfÐR€SƒÕ’Dìx¬™µæóvΩf ˜ÄòcJ’bI_|™œ’€IO®k2‰€’Zõ” ˜„bƒßÛ“7‘ÛÚ™ä\¸3a4¼ìÊiÖ¬*³PyfÝÙ ÝiÖ^ã ³&‘µ;ÝȦ%"k ¡ŽüÐ-?"KâlÅpÜš“c1œ­ š‚2è­WŠeçly‘¢¦úÓrý@ÌßÿÏÖ¹e»ª#Ap*=‚»xÚ0¨=ÿßFRefˆã¯î'®¨* lKÖzaÈáW&D[&´e,Zu¾Â¥+â±…Ž+ $Vò–ò#®öÚú9¬Õo"tB‘’³%Ej ÉHj{RÛm– &©ÎëH"ùt,ÇCqUä°p[çÏói^su&WfÎ4Óh+„V¿=g²Dlmßëù¿7,X©Ž¬F_y·9ÎWõŸ¡s%b¡6û»ÑVj³¯¯èeMùìï~´•~äëâ¾~ÚÍß$}âiŒèÚ+$–Ͼ´e«­}'+„ÖØÖAKÄÖv½š ˆ£­‘B»³ÞÛCiþæÊ,뻲XYÉÚm¡2±êŠK–®/±Ll%í’X9¾žY ùÕÒ6ëNQõ9ÆW†±D`9R[&±ÚíÖßV¬uó’±Llåü”Kű$À Çæ£¾BW½#Ò×2Æx¨MQ±BbyäÚ µöuUZ&´Æ¾Z"¶¶ëûqÁ‰¥í±BrÄä}´[§JôõšW%d…ÄJÞ²BhUÀ‰åó3q™ØBÞeÄòÁVȯ¸–öàº)®>“ÿÊ1–H¬Ä*+$V{VɈUV¬mí¯Ÿ„eb˃\Rׯ’ 3Ú–ŽoõÏ í¿Û4"jWT,Z½hËãÖÖ÷ÜÐ*2[cíA`m÷ë€t´)$’Èt<×áh(ü›+³®ï:ÈbeÖõ]·…ʬ¯k-‘X:?c…ØJJbaÖ×"Rȯ¨Öv{æÕî)­äK$V"•«=©}“‰kïö¡ebË#ÜH¬û|3Û’úV¿ê"wß"52¬íR±L`y,§-nX{ßžIKdjklû`[EbmOomúÞV,í‰eÂ#ºgÍ’…|3³åJÈ ‰•J¸-Zu…€%Kçg,[¨DY ±|°ò+®µ=^rŠ«oëyåK–cµe«=q¹i…À:úÃàh™Øò —ǵ±d Çþ¤¶Aüšv,µÿÎSfµi*– ,^´¥ëèûi‰Ðª °Dbmw¼+¬XÚ'ËdŠ^•8Û£*ÿæÚxîÌ•ÅÚlï3m¥6Ûû*Ë–ÎÐX&¶P‰²¦Úlï«„­_qmíQ•s¤Ë?½m Y/ïko,ä#«=·=„?V­þÑɱ•Q. –«c tôµ[©ßYT=Tä»f®vQÅ2åñ‹¶4Æa[ÿ¶ K„Ví%k_êR%É Ž·ŒX ™bW>íÅ ¬Ãçjk½¯:È ‰•:¤-Xº&Ä2¥34–‰­Ô¡¤;¹"HùÕ^óy!§çà’-XŽÔ–I¬ö@ïöþX!´úã¢'KÄVF¸,[)NIˆ½¶,µùÓ»z§ÈgË \m‘ŠeË#mitÃúôÛ|i‰ÐªM!°DbíKû §Ë[Gl…LÑ«Ÿšdmöw!$±4û»i)•Ù_—‡H&‘tnF2‘„"”4•e]$üˆi×” ¢\ÿéf[Hx}_pc!Yííy3±Bhõ7L–ˆ-nIp\K¨žc¯}Ký‘õîc „Ú&%dá´""åÛÛ@ÅDJm ‚b¢PÕùÚ7dd¥||kö/äΜr´Ëi¢-X:ëc™ÀÒ9ËÄ––`'ç¼$_Qõ>ÄÏßw‚–L"9NK&–Ú[Ú"…@ꯉ™$IÇ’@"©,vvíV;ŽUSƒ&ý~ë1jcX¬X©hKÖÕŸgDË„ÖØ CKÄÖ¾´ï­l Ä–wÌØaô•w{Î5W¢=*e.„¥Â’³FKªC$ù‘D 餌äÓTRR–„"HÊ@Rȯ˜Ž¶^ð7G¹½»9¶åÐm!YíÅzí&±Bhõ—ŠM–ˆ-nIp\+K¨žc¯ý©JÕ7"m7ð µù$Rˆ%íaK"‘jS$Hý‘p“$"i_Û¯½ˆ$ïH°‚À+áíj÷°O%èÏšk`+5ˆå”Ñ–Š€¶j¯Úa[º ¤-‘XÉZê`KÛp,üŒýl‹ÞŒ}kÊz….)ÄR"wK&êRI$’®K‘L$¡%HÊuPȘ¶¶;`Š©ß,òJ/–,jË$V{ájŸU¶B«¿‚s²Dlåü–+µ‘Âë´lOÑœOÔ­=m>s"ù\Фs-‰¤-M‘LÐRíUBK"–öµ}çáB,å* )„«g ÷o.ÊþO l¡*û?EH[)‹¬öºîöÎÈX!´ú»Š'KÄêPÖT™ý=b™äˆé­åÏÞYÛ­‡¯rIb·wZ2‘äÝf–@$!›’¦Œ}¸±Ë§=ùeYûc5Gzµç&– ,íb[E`µW#,ÓM&kì? U$Ö¾µi›VH,ïR°2E¯J|Ú•Š•XÚsr_…b)uHK"–ÚSáép!úñ'IDŠPˆ$ïa²ò#¦½}ªM1õ[Ê_éÉ ‰•@Ó–H¬«Í›V­³?¿œ–ˆ­}m³s,X©¬F¯¼—ÿ–Wï´‡/¿ !)ÄR²NK"’hI ’Ða%àpcwO{,Ì]eé?øvÅ ‰¥3m™ÀÚú‹=h™Ð{&h‰ØÚ·ö#™ˆ-m­°€ã9ë½ýù›+³¿Ë ‰…ÙßUpK¨‹¥q £$bIדH!’pISQöùŠf äGLK[¼ÿ›£\ÿéäXIx=ß¡Ëb2«ÏÓ«OjÇ Õ¾V“ebËg¥-X®-Ô/9Žm=íIbGõN‘{©k¯Q)°iÅCXʾ÷_ÈPD¢ŒMTŠ”²??A®öü+!¥x…•ÈI-H&}õGF½ò–+©»-ZuÞÃ¥ó0–‰-Ô ,[>ñ%üŠjÕ šÉîi6§I$’ã´dbéj? OJ!‘Ú¯í{’L$e$K‰äªX2AvcûÎÞ¦«cŠ\Kæ¼j[Q,X­iË#ÖÑß HKd²Æ¦ZEbí{[† K{',ðx®ÃQ3h!_¿Å0u+up[&´êô‡%K'f,[¨CY ¶rò+®U“hˆtû§¯c%ëí}u…|d]m®qj+V›•='ËÄV†¸,X©Ž,V09Ží;í}©õ&C‘ïê7j[Q,X½iË#ÖÙßKKdjklŠ`[EbíûùßÚ&œm…ÄòÖ [!<¢+qÖlZÈ7s`®„¬X©„Û2¡U×X"°tŽÆ2±…J”bËI¿¢Úê­ˆ!‡ße˜|b‰Àr¤¶Lb]mYê¤ë\þ›%;á’@`¹2¶L˜áؼÓÞ»Zo<ù¬~—¡6Å2屋¶4¾a}ú›Ãi‰ÐªM°Dbí{[”£Ë['l…LÑ«gÛÅJœý-˯JÈ ‰•J¤-Xº"Ä2¥ó3–‰-T¢,[¹"Èù×VoHd¤û?½m YÛr¬¶¬ëü´—PD2 s÷'gS±•1. –kc õsìµ}goyUÿ9û۹Lj¨mE±L`yô¢-pXíSl¶DhÕÞX"±öç#õø2®Xµ…"’À»êð©w²2zÇaê ‹•YÞç5ÚJe–÷5"– ,Ÿ±Ll¡eM•YÞ×Y ¿âÚ5Ugr¶ï9¯m™Àr¬¶Lb]m“ÛI+„Öýß1Kìd„K‰•ÚÈ A쵇goŸ†Õ?"ý:cDÔÞ¢X!±2šÓ–¬öÓg¶L`Õ¶ X&¶ö£­?°@biwE¬F_y·«ÚwªD{Àýª„­XÎm‰ÀÒ!– ,¡±Ll%oY ±tI°dð+ª½m§Ÿ¢êo{ehË–#µeëù)Ð^„É€ÎÕo§$b+#\,WÆ– b¯Ý={û U½#ÒßF8ÆCm9ŠËcm‰Àj³b³e«¶OÀ2±µ?_H¿#ï²@bÕ.‹HŒ½²nß„·¹K»Îu°Åʬï³m¥2ëû K„–ÎÎX>_m%kYSeÖ÷–ÉϸŽvãjïx÷u,XŽÞ–I¬«ÝNsÒ ¡uµçhS*`'#\,WË– b¯m>{›s«þéo®#¢¶Å ‰å±‹¶Db]m e²BÐVm!@[&¶öçWØÝn±K b…0úʻ͠|çJ,íô\ [©D,ç¶T Xº"Ä¡¥34–Ïb[É[*K—K?£:Ûg!£Z¿í›Ð+C[&°»-“X×ósçCɀη?X›’ˆ­ŒpY ±R+Y!ˆ½¶ºìmM¦zGäÈŒemÁ‰Ëcm‰ÄºÚ"ùd…Ðû)h‰ØÚÏãùVpÁ‰¥ý±B}åݦܷ¹kÛ2WÂk³½Ïk´•Úlïk„-¶¥ó3mù¶•¼eMµÙÞ×[&?ã:kf‘.ï޶Ŭ—÷•7ò‘u·÷OZ!´¾í!Û” ØÉ—ËÕ²…ú-ƒcçÏÞVæ«DŽ–iˆ±‹(VH,^´%bk?Ÿ|Úž[ ±´Ë&V8bÝÚ–ïýê98Å+ÑÇR¬lKÑÓç1­:³a鬊•3Ï–ó¶…JÄÒyËgöϸ>5Ÿry.9Ɖ•èe…ĺŸ0NJt>ý‰y”Dly\ÚåjÙ2A†µóekû½Fÿ˜œ™«}(±Bbi ÛÕvzÎG4¡5Vçi‰ØÚ?Ëû—mÄÒ~¬F_y·±¾Í•Ø2§¼m±6žTÞh+µÑ¬Ÿc•5å#K›rb™LG{¶¶¹¯j/rgæ¬öbÄ ‰åJ§-Xmû9Y&´Æ3-[ûç9úÈ”K+ѱBpDç½×,kã™3ç-‹µ‘•¼Ýj«Æ/,X_‰KÄò.kª,_[!¿âjÃjŽkË\3Š%˱Ú2‰u·Gí}h…ÀÚ·þ|X&¶pv”ËÕ±eÂÇnˆ­íœ_GŽ"·ß™¨-±Bbyü¦-XÏÓm’èŒUfJ"¶öÏØ­k) ŽV¢#…àxÎù¨9¸OfΜ³¬XÉÙm™Ðª+,X:?c™ØJÚ%ÄñõÀRȯ¨–z÷bÈî÷%&ŸX"°©-“Xw{,é‡V­«ßòNKÄVÆ·,X*Ž%f8öBlíæ©ê"íAÿ¯]±L`yä¦-eXí.ØÙ™¬¾ÄLi€8û§}^B`i:– ç:õÞEVfÝßuÅʬïs:m¡2ëëê©›‘Ll¡eM•Yß×[!?¢ZÛ=êŒjo÷¼ò‹$Ë‘Ú2‰ug?D¬ZW¿ß–ˆ-oIp\K&Ìpì‚ØÚ¶Õ9Ež K£¡vgÄ2¥›¦4´á<Ç^'§ÀÔÎXYfCEbíßqˆ%8Z}ŽdÂã¹g«4kОô½k +$–kà¦èÔU’,•±Ll¥ %ÄñUÀRȯ¨¶6*§¨ŽÿÎwG*ÇqZ2‰u·÷|h…Ðúöài‰ØÊÈ–Ë¥‘dÀüúÖ‡­=r¡ºf€ö¨„ÚÉ–Ç,šÒ¸†Õ«3["´Æ‚2¤qöoûá{C ¥UçX&SìU…³} ÿMeÙöw$±.Ûû\FS©Ëöº*D€£s2’‰-T¡¬©.Ûûº`+äGT[ûòò7…¹üÓË–ñò¾ÊÆB6²îv]žBëÛ_AKÄ–‡¶¤8®Œ%Tϱ׎‡­=š§:§ÈóYxk4ÔNŒX&°4lÑT l8m¡Fÿ“ÿ^kÈPDb=¿œþÛÚƒøl…ÀÒJs,“)jUàÓ~ݱíëõ®€¬X®@š*GW€H&°ê”Œ$`U( $–¯¶B~Eµ·gNQm¿åœŸ%8 ÔŽ@œ»½~ìC)„Ö§¿Y”–ˆ­ŒjY °\[&ˆ}lsØÚܪkh¿é5jïE$XµhJ#V{^çl‰Ð‹Ç ÄÙ¯š¸“cGëË‘L¦È«Ÿö¬Ë¿©(ûþ®$VeŸËh*UÙ§+B”ñ'þ]gc[É¿$d_,…üÏÞ¦ªÿÞúOÏZAžëûº yȺۼÎJ+„ÖÙŸAKÄVƳ,X.‹$α׎†­=ä³:EdoóŠc ÔN‹X!±ä1jwE¤X³hJ$ÖÝžü?0ÖX†$`g¿ÆÝuvâhý8R#)·'ú®S ÏÁ9cK©A,gŒ¦TƒXºX`K:Ó’ÏP[NYRjÇç¿%“_1íUSÛ»‡-1ßí}……\ÊÚ–¶Æ»Â¡uô—ëÒ±•q- –je)ÅÛ<îÆÎ…­½6 ºFä𛵣"VH, Y4UN»MŽZY†$bk¿ÛmÙ;,X^¶ÂÈGÎk{üûg®Â’ù·Ê9Vª«’fSU8u€¤k7NJN§­çl Uˆ¥k@,_~FuŽw.|ý®D§'GGqÜ¥øo+Oo¬}¢T¥£?}’€%i9ù;JjTNò{Ööj™ê‘G¦Ýj#F¤X¬lJV{ÏÓl™Ðú´8“%bk¿Ûú0-XÚd+„Ñ´Ç»=\„Õï\tÊÃH¢8_5¢ô©ôÓÞÆø‹‚NÉ2|†ZI’]AÎQt²—â?ErÖ|Áå9¶$I–C¶ebk[ھΠ­½ßºOKÄV²,X®“-D¯áמà3Çç?Û^g‰ý E4íXÚïvGô ’‡§¤®¢lo8;ç¸7¿_QqFJ"v'ZJ*zëã²/ýY[!“µ÷[äi‰•¤eMu±¥ÎŠåîcôc;ÃÚÞz5‚¸Ú]ãÜ­]–"iËCZ2€ÔÞF:΀-Eb´$`éXÚƒ%¶H–¼, ‡sÆ{½¢1äôk“²¬XÉÙm™ØB¨eØòî[ <âXw_Û‹?ǶvyÁ×vK‘Re·$©-!L’¤ZÏŒd`éXÚŒ#€%-zÊÉß »òmÉ<§ ´yÉï«¶Bb9c´%Kc6– , ¢X&¶’´,[¶²@~ŵÿwÍa}Ú WŠ’óþ>%,!™]ß³ÚýŠ[$JW$Ký%@r]$¡t¼ÖÛ×ö¦æê‘½Ý(1ÃØÉ Ž‡,Zõüëw¶L`Õz&,[ÇÒi°Ã±åUO[ Œ¾²n/ú˰´%¦2ÈAY–÷™œvR–å}M°$@I'¥%Ÿ¥–’pISM–×5¡ÿý3¢£-Á1¤¶ñîâX&°¸-[ÛÒnçÞ`Ð:ûã,i‰ØÊÀ–˵²e‚èkÁ}moã…ØÛÝc Ô.K‘gm%iY(ƒ­\d…üŒëøïžÂ:¾í‹WŠ’ 9vI–¶å³ö‡H tôç~B°”q]@¤Tª¤^‹ík{Â|uÈÑÎÃ1Æ€Hqkm%mY(„­\d…üŒë3µ]™õr‚Ÿ);*Ž{¾²DÙ–ké¯K þ¤²É-)úÓJÆó6_ ¨¸:Ÿ©4 ·ÖÚ×mkë÷$g»ctÿ]c¥þÌ¿{ˆ¢X÷5¾8Æ2¡5Ö1i‰Ø:¶ö˜´ˆ--wZ `ì•o{AÝ\€Íóe#c.Çö>gÓF ²½ÏþH(éä³äóÓRR-iªÆö>ûK øÓG³wˆryw/¬$¼¼/¦±ŒçøžöÛ&{[ °î}ÌÆ2±•- $Vª%‹õsôµÈ¾>'Ò˜u383Xëþ–"y¸¦%KÛÒîAÞ"P‹˜,[{Ò7€%/tJ`àÊxÑìÉ–™@§,+$VrN["´êü‡%Ëg¨-[H»,[¾H øÕóE{‚ZîÌ»)H§%KÏȾû[M$DZ—­?ÀR€¥Œë’ ©*– S-²¯Ë>fÜ@>~ãa­ý[ °“!‹–D`='î1[&´j%–ˆ­c{Nó¶ñ؈-¯xJ `ìÊy©Ù;”ÅsnÊy©¹ÂeŸÇi'EÙßW„H8˜NHÍÀÒÒT‘ý}E( àߘ–û;Þv8E¹¾º˜VÖ;©­)µµ>í·•¸´%2YëÚÕÀ*ËÛ†:¬*,ÔÏ9ÖJûrÿÕÈøfÞ­Vþ%XòEKÚƒ&É€ÒXÛ„$`éx¾ò~®+€%¯J`àÊx­÷†ì~ÿaR. ÄrN["´Æ5€–¬:)a™ØBÚeØÒEÀRÀ¨žÛæ –vØ9ÁHÊ’â´äÀ#­ëÕ_bÉ€Ò¶ö±H‘2ÒKÂЇ¤ªXr™x­½/ÏEc¼ÿ0äÛ>*k(ô-–ìdÈ¢%Xû§¿(– ­±XLKÄÖñü¾úp”bˋŶ@½²^ÿ»î¹Gû60ס¤;È:-‰Ðª«,X:-c™ØBÖeØÊ…@ȸ¾WÛÿ7Gº½ûV²ÞÞWÚXÈGÖº}lji˄־ô·À‰•. 'A,WÇ+èèk[Ãò=Û½å$Wûa5FDm‘°b+£m‰ÐºûÓ2i‰À:¶þ|uX&¶Žýù10*Qˆ-o·°¸”÷Öž 8Uâh?_•( ÄòN["´êšK–ÎÐX&¶wY ¶rMò#®ÏÝvLLq­íçÀœ#,åK±Ærô±Úg{wB,ZÇÒßNK$VF¹,œ °TX®s¬‘ùù´'’p¬~®6Û6X"°4~c™Ø:žæ×ˆ­Œ_Y ŒK±ní‰Sôg›|EK–cµek=>ý9ÿ±BhÝýe¹´Dl!ï²@`¹m™0ú±Õa9ïv?,6?´ÿn×¹]û/l…Äò޶U„V{~ü|D‘ÉËÉ´ŠÄ:žBoí^m[!°´èËdŠ^•ø´§çü͵ÙÖw%Êšj³­ïJ¤­Ô¦,D_Ö”,m!‰‚#Ö"ýrîm;êɧ­õŒèkó€-[¨}ÚõùþwÍ– ­± JKÄÖq´÷o\°@biµ4V£WÞK{âÁT‰­Íà¿*Qˆ-ä¶DhiDÇåÑdËÄò. $VF´¬qßö$AÆÕ®*ïÞ†%K±Æ2‰µ¶óé¢Bëì[¦i‰ØÊ¹ –ªËÑ׊ýrí~…?’OÛ0ÆDm#°b+ãm‰ÀjoWš-ZcU”–ˆ­ã>·G+§‘B»²^Ú“'§:ì™ tÖeì™RsÖiK„V]`‰ÀÒËÄVÒ.) ޝ–B~Dõ|—úÞsTK» ÌÂJÎûûÊ ÙÈZÛ·‹– ­ö kŸ,‘Xá²0æaUq"¥|޽Öî—ýÐ|ŸÉ7ó}µ§ÀÈ7ój¹hKÖõ¿c™Ð«¤´Dlg{‘× $––Sc…0zå½¶çNþ͵YÖw%Êšj³¼Ïj´•Ú,ï+,X:?c™ØBÞeMµYÞ×[!?âÚ.MÂ9®%SgÊ–r„¥Xc9úXm{{wh,Zí·ù=Y"±<È%å4ˆãÚXJµ{-æ/ÛÙî€þ#ùjþÌ{ l|3˦ы¶D`ÝŸþÆ0X&´Æò)-[ÇÙi¾Â‰¥EÖX!Œ^yoš39ü6Åä½i’ÐÄòN["´êšK–ÎÐX&¶wY ±|M°ò#®õÒ|œãZ3‡¦Œ`)GXŠ5–£µ¶9Ê›– ­6£»O–H¬ŒrY8`©:±\/æ8–ú—õoS¹ü6EmA°b+ã7m™ÄZ—s|^Ú ¡5Si‰Ø:ÎöVÐH,­¹Æ AôÎ{Ó|jãyBç½ižµYßçvÚBmÖ÷u–,£ˆKÄò.kªÍú¾NØ ù×r×ë×êw.:#XÊ–båècµXÛ›Ob™ÐÒËg•­ŒrY8`©:±\/æ8Öý—壹=“笪!Q{,HÊèuK!‘Z'Ì’ ¤Zi…$"éø´§}¬@,y5ÖRˆ—„÷ÉT‚³mHÕ ,[HYm…ЪË,‘X>9—‰-d]H,_l…üדÙÝÊ=Åõd1¥8IJÑRE )±[jw´?ŸåŠÌÒÞ¾úLR'4²#aô[ªº@J¥]_ù¤Oûß?’»Ýô1Ò;`…ĪQ˶L`µOíÙ2¡Õ×V'KÄÖñ9ªV%Ä©XH!8ž³ÞÛø›+³½Ë ‰…ÙÞUpK¨Ë6]&I$‡§%g")—Ú̻‘à„üˆhiƒûoŽqù§‹c%Ýå|.‹©,éwûÙ+VÛ4vO–‰-Œõ²@`©4–R¼dØWþŸ/ßñòDç<ªÇnH!–<`Ó’I¤öûn–L õÕI‘t|ž& ÄR-ºB ÉáœðѾ#L%ø´[>^5+)»-Zu€%Kgd,[Ⱥ,X¾Ø ù×Úžd9ÅõœKï#‰Dr¤–L,µb-7¥Hmkñ1I&’<°åDqUì˜ ·¾àÿ|wû¶O³?ö¥OCalD€eËc6myÃj“³%2Y}u²ŠÄ:¾í©P+¬XµÔ Ë„Gt%޶ì÷7×fBK³¿ëà–P™ýu]€$I§e$I(BISYö×uÁRȘֶ>ú7G¹þÓͱ’ðú¾ÌÆB2²¶vÅA+V»Áäž,[ݲ@b¥6²X¿äØWú×ûsµ¡ùâ©™±ýЉ7”iȦk)mÑhVDÒJ_‡žZ)¢É¤ïþü}C ‘R+ÐPL| '}¶ ™t›¢?ßyË ‰•ÔÝ– ­:óa‰ÀÒyËÄjPH,Ÿù¶B~ŵµü§¸žóçb$‘HŽÔ’‰¥­ÝMwS ‰Ôn><&ÉDRƲ$H®‹%d×÷H¬÷y·+ÀH›GÖ`û-`™ÀòxE[Ó°ÚJòl‰LÖÝ>Ï'«H¬ãÛ^°·Â U{7`™LÑ«g»Ê±mM÷]I!–R‡´$Iç$“H:1#™HBJ±ä«€¥1mšÚC”Û?Ýl oïKk,$#kkw\´B`µ[ÓïÉ2±•Ñ- –kc õÛÞƒôÉ켦AÚ–_#&’GL$ [´¤¡-鸖ñíPŽAY;Ö8˜ÂþhÎäÊlã¶e˧-‘Xíí!%:Ÿñ¥’ˆ­Ô ¤€8î*K!ˆ|ìˆxØÞ¾‰ü‘œž=5 …Xª]SK"‘ÚöÅùp&Öñ+’ˆ¤ãjï£dL –j%RW‹fêL¶ÌÔ9cY!±’rÚ±…HˉUL`…ðˆ×˜Ï{¾qÔTÉí©º±ŸRˆ%9-™Dj»³gÉR_ $IÇÕ^¹B±4ÖKáä`Nw׬J²ÿSY¬ÉþO ÜŠ«†,,XDˆKÄr.kª‹,Z[!¿âZ4Á†H·wŠ‘’ôöŽÝ²)iûöˤHW»àÒ’±/$’«b •snט½{¾OÖLHÛ*ë…Ú¾– ,Ø´å1 «Ý¿3["“µŒï·°ŠÄ:®öèNZ!°j‘– èJš=3ùèu‡¨„¬X©„Û2¡U—X"°tjÆ2±…J”K—K¿¢Z5}f²gÊËùÄåHm™ÄÚ®þÍV,)±LleˆËåÚØ2aŽßQõ¯< Ù½òP`™ÀòèM[á´úâçdáÇ¢,(ë¸Û;DWX!°j‰– ãr%Í£™|3¿çJÈ ‰•J¸-ZuM€%Kgh,[¨DY ±|M°ò+®u¼öpŠtû§·c%k[ŽÕò‘µ]í$8wÿ¡IÉÄVƸ,X©,Öo{Ôåjc8R×>Ÿ0T[»±<–Ò–GW¬­Ý >Y&“U뢰ŠÄJF²¦¬eyùÔ–ÉtÄZ®]ζ½á¤O¿Œµ†l+$V¢O["°Úƒ"fË„V­Á±uÜíÝÙl $–WÉl…0zå½µOÄ©G»qãU Y!±’wÚ¡¥1KGôXõMl!ï²@beLÈ ù7®ë¾Û–Ê)®>å<åHK9ÆR¬±=Úºû¼#Û*Bk_V*ýOü»Ï+8S`U]`¹RÌn¬Ò^Ï¿T߈ôÉù‘]­Ç ‰¥‘‹¶L`µG Í– ­± FKÄÖq·7 o°@bÕrY$ÏYoíÇÓT‡Ý«²Bb%k·eBk\ h‰Àªs“q‰ØBÖeÄÒÕ Vȸžï6ÇÕ{`ÎV²Þ^W]XÈGÖ¾´U)HtÖ¾zGI$VƼ,œ°T›X¨_2«µ×óíè¬þéÿ;FD-!Ç ‰å±›¶L`íýÚDË„ÖX£%bë\ÚìOX ¶¼hf GtÞ{›š*ÑGÆ«²Bb%o·eB«®°D`é eb y—bË—I¿¢ZÚ[ST}ì¿2Œ%Ë‘Ú2‰µ¯}û¬Zm·Ç$°ƒ1_ˆ-T¦,f8–m¯ç7õZ½#Òsã¡–“c…ÄòØM[&°Žþ–– ­±FFKÄÖ¹´§ð3.[^J³‚#:ï½Ýv:U¢“xUBVH¬äí¶LhÕ–,Ÿ±Ll!ï²@låŠ äW\K»]ñoŽtÿ§·c%ëý}å…|dí[ÛîÉ€Nß8I"¶2ÆeÀrml¡~Ép,æ^O‘>Õ?E¾ý“oŒˆZaŽeË£7my<Ãj¯ž-‘Éke´ŠÄ:ŸŸPGÏ[VH,¯¨Ù á]‰£Ýòÿ7×f9Þ•ÅÚ,ï3;m¡6Ëû*K–ÎÐX&¶P‰²¦Ú,ï«„,_q­mïÄ×î½dK–cµe«½»úsÒ ¡Õ¶‘OR;ã’@`¹6¶L˜áXÕ½žc[õO‘vãëký9– ,Þ´åN«Ï˜NVZíMs\"±Îu}š§ËK‘¶BxDW⬹Áoæó\ Y!±R ·eB«® °D`é eb •( ÄV® ²@~ŵ¶­uS\G«È+ÇX"°«-“XûÑo¥B«ßz4Y"¶2ÊeÄJud…0Ç™ÏqjvУwÍ¢Ff,^XM±<¾bµ÷”µÙÇX&“ÕoQœ¬"±’‘¬)k[ÇÓµŸÉaô®Ä©ÙAÔf}Ÿµ±P›õ}¦ÅBmÒV[uš*@glW $b –5å¼¾¯²@xľ‹â:¶ñ6Å€C/SôvŒH!±išÕÞ’4[&´Îþ!©€sý>ÝuB±¥½–ùHy¿5u¨¬™9TÆ–RƒXÎM©´FÇCª‘@§Æ$<[ÉXj`+ý. #áGTŸñJÅ€KoTD~‘Dh)öX"±öϤԟü÷~Kÿ¤ˆØÊÈ—Ëu²e‚¸5÷]ó&gfñ4Z, À©áІ Ø9·õ)Ɉ-WI?EŸ…K«D±L¦ÈU…³=Üño®Ëv½« ‹uÙ^ç3šrY¶÷•!’ ¬:1# ØAJšê²½¯ ²@~Eµµ_šsœë»—-%áõu¥“TäkÔ>¤ZýÅ“%b+#[,WƪçØÇå÷{×Ü™ÀµfÆ«ÖM#™Àò¨ESÙ°Žþ°$Z"´Æ²¤qÎýé‡ö]ÅR,­ Å2™b¯*|Ú2Q…oˆÂ« ’Bb¥ iJV]" ÀÑ9ÉĪPH,_l…üˆjךÀ™y6gcÉ–#µe«='æúÐ ¡õm¨œ,[Û²@`¹6¶L}­L~¿K;ÎI4Óµb+$–Grš*ç\Ç• ’ ¬ZíebëùMøßró€ ±´&+„±WÖŸfåLî̤)k[!±”6š*GW‚H&°êÔŒ$`'9K‰å+­_Qí5'Ç8·W?GJÂÛëZ'©È9žKù¾R ¡Õßp6Y"¶2¶eÄJed±z޽V$¿Ÿ¥&÷BöÌÈÕJi¬X·hKÖgׂX&°jå–‰­óøÌ ˆ£ÕÁH!Œ½²~Žr¬SÎ;3rÊÚVH,g¶D`éZË–ÎÌX&¶œ¶¤€8¾X ùÕ¡ >“Oæ-XŽÔ–I¬vKn»'(V­³}ó,[á²@`}æà{­OŸì×ê‘ÝïbÔjq¬X¹hKÖsÍÞ'IN­}A2±uÏEnä\H,­Å aì•õñÕ,Ÿë°dfNYÛJb9k´¥:ÀÒÕ –-±|¾ÚJÞ²P‰X¾Ø2ù×1^É@÷wW[BΖ»$$#é8·öÃ?R¥þ²dJ–<ºËÉßP\'9(œÃþô­š ™ +Å1 âx¸¢Xßþ¦Z&´ÆR"-[çÙÞ…N $––c…0ú–òóàDV¿…QùJ@A–÷ œFRåu%°SSÑIhÇç©¥$ZÒT‹å}dð+¢S³{ßÌÈ95K&°¸-“XmOüµÑ ¡õý¯ÿ€%b+CYH¬ÔJV¢¯5îïójlÕ2èï‘Ã`¬–ÛñßQ…OÛœ& ’ÖÜ-0ðÊ÷ùq¸œsú{¦ Xr â8c´¤ЪóVZýLŒ2NSÿ{Ò•‚ÄòoËägDÏ×) ­?Ë䕜%H#jã¯üs»eª=éÉF¥:-" XÊH. ’k$É!kn[ûÕÏ1¹õW ½‰-X¨hKÄÖÝOÞ¿ ʱ•¡* „G¬X×û¿Ï|¿Ë¼%d³¾Ïº´”d"Ýã;RJwa$HI¹¤©*ë»KBþŠéÓ–ÔÚßgöJ/–,‡nËÄÖy>?—Ï ˆ-dXãR¬ÏOç9øþêªWð– 9RI‘ŽïÑÆN¤H×Ò® ,!å!@rJ2`àcuñ».mÕó¤?n\€ÇHq´ZÏ–DbiÍ3VÚª5X´ebëül0ê¯ü«VDc„0êÊvlÏŸýmSòµ­\EpžjCZÁçãÿ柴¡þ9æ.Ѳ·%4m鵜‹f+–3´eëXû{nyDXZ†C\"¶*á2ê¯ü«él„ðHµ,¸,ÿ}Çú‹SGjµX)ÇGI|n')XÚ–ñË’$-¸X2°t~žßaý´, ’e$0ð‘ïçþ¶o·sI–ïTH(Éòê4¶”¢,¯Ë€maȶ40m9i[S]–×@ˆ•ð+®ã¿ƒa}îþ„ãWŠ’ ()vK®½}W…d@éÓ[IÀR÷êü£+$Á‡©…ÀϽ¶Ü$ýÝÚcÔâd¬X¬lKÖÓël™ÀªeX&¶ÎÏõß>Y ±´+„ÑWÞ×Ó­s!–Ì4)mI©C$g–THuúG ¤Ô’ÏXKI¹$Ô ’NK?c:Úƒº¾í*¯ôl™Àrè¶L`=GoeKçG,[Þ²@`¹Z¶LpÄZ ü´×ÖB™k+”vüwÚ´#i¿ûï®H”Æ $Kçw}¾˜î‘"iÆR¯|¿W› ÿ›K²~ç XBIÖ÷™Œ–R”õ}Uˆ%BK§d,Ÿµ¶’´¬©.ëûª`Ëäg\çsXßË3OIQr^ÞWZKHÆÒsAZ¿” (}úÃû Xʨ. R*UKçÃÕà绵µö?’£}$¡Pë’±BbyТ-XÇÝ>›i™Ðk+´DlÏÿýôë‰,XZ‰Âè+ïö’ú¹«ß[è´%¥‘œuZR(Õe RJ:--ù̵””KB "ù2 ÉàgLŸšÈ ¹<ÿ”ôb‰Àrè¶LbµÝ"ý«­Zg_Ž£%b+Ã[,WË– ¢¯ÀÏg«·†œ~c¡&c…ÄòÀE["°žäýã,– ­±ºBKÄÖùýþ÷m·ÉÛ‰U«0‘ {e}Þ5EÆÊxZKYÛbe¶÷)¶R™í}y€U„–ÎÍX>}m%kYSe¶÷åÁ–Éϸ>õîCFº¾ûV²¶åèm!Y纽ŽBël?ù&KÄVƸ,X®—-TÐÑ×2àçÜkÖ-äl_ǘ¨µÉX!±ÿá>z¨,Xžn´Âè+ïõjü›k³¯¯JÄBml)o´•Ú”•XeMùÈú0¦ñ¤Ú=¿>s5Ÿÿf}W3– ,WÀjbë¾ÛtìtDZ5õKÄ*PÖTYž!³Â#ÖŒÜóKë579Û¬_ý~«iÂX&°kÚJ>²Úè{²BhÕ|,[çêÙoc $–gEl…0úÊ{¹Ûƒu¦J¬í×Ë\‰X®,å¶T Z5`iLЪ‘ KcÕVò–…JÄò°•1ñ+®O{à#ãzzêûîmX"´},‘Xí T{èh¬XÏoÓ~%Žeb+ç‚,X®—-QssËÞ£ÄÙºg4ž5gh+$–Ç/Úõœ›û5Y&´jÆ–ˆ­óéŽO_È’Ëó"¶BýÈû|FÂuÏ•Ø2{VyÇJ%b)o¶¥JÐWZuàëÅ}ÛrÞ¶P‰Xº*Äòuâg\ŸvÊßéöyç+YoŸwô²˜Û:?ýµŠhËV1°Lly”ÛåzÙB}ÄšëMLóuMÏ áý²B>ÿÌê±-XÏw°k¶Lh9Z"¶z'·µn[ Ÿfc…|þ™¹l—šã˜+±eöÌyË ‰•¼Ó–­qU %Ëg­-[È»,Xº*Ä ùWûÚ|Oq]·Þ]è„ ‰DR¤‘L"wQ/$“HŸ­?t’‰¤ pI ‘T—H&9\M̵ß=óTÝù|Íäàõ²B>ÿLè±-XÏím¶LhŸù´Dlµ+ÝÝ~:Ùùü39h äóϤeÿÇ{®Äž‰3ç-+$VòN["´êrK–NÎX&¶wY ¶r9ò#®ç¯cŽkñÔ™3‚•¬÷÷e7ò±õ|³ûÎm‰Ðz>áÚ]º°Dbe˰·•êÈš*è#Ö”T¿zÜœ¤jÿÝ{ò,VH,_´uükŸþÞ/X&´Æ„-[ýÛâ¨DY ߦm0zå½¾¦ëÚ§w"&ïõ5H+y¯¯I½Ùª«,X:Gc™ØBÞeMµ)+WY ?âj¿Fî9®Å“gΖr„¥Xc9zXß«?C–­k]±Dbe”Ë™KÕ‰åzáˆ59׿ZÆC¾~+¢&úb…ÄòøE["¶Ú/Ám²@ly̨X·šˆ 90©§X7Oê‰ÄJ¬iK„VɰD`鼊eb y—rd‚Pg²,q=Ÿd÷>ǵúM†Î–r„¥Xc9zXO‡|fK„Öóåíšã‰•‘) £–ªËõbŽõ#äæA`‰µ®w­‚È a[ŸOÇÚa[ë¸Em‰Ð:Æ}“°DpÄTâlW*V¢½{þ]I!T‡H"’TI ‘ÖZjŽdâÃ%ÌMS`&‡§­§¬Z 4–¬ÏÒ_ëË„ÖÞëIKĺ°,ZJ;–£ÿô‰¥6§°Tá9Û ã%Ýý2FiJÏχkn©¥ïÝ®@*Bé:û+¬ ‰Ô¾¾µÝ5v ´-—íã,ŽÈ”› pÖÌWÈåÙªT –,—À– ¬m«ôl™°­ñ“m‰ØBŠeÄÒ»X!ÌQyoíÅß\›ý]ˆH)Íþ®ƒ%Tfu`9ç{ª-3ñÁÆ/àö¾–ñŠ>“{ókõôË<– ,—m©è°ž·—ÞáU?0`‰ÄjßËŽvNÚ ¥ß!±L¦èU‰OÍ‚¡6ï2|^siVRƒ´âª¼Fp“û5N¢˜ÜïÔKa1^ÀJÈ?±ìõ^¾ÓïÒK ¶L`9D[&°Ú JîÉ2u¯Õý¶Llål•Ëu±e‚#ÖÏÞ¶Éy~í=îóóH!–2tÓ’H¤cí/¸‡d©~Q@2‘Ôo—˜$KúÕ)WÂßo½ç/äöëùœ±­XNm‰Àҙ˖ÎÃX&¶’µ,X>óm…üŠk¯Ù¯öŽºw޶L`9V[&°žoPípX&±¾Ï'ï2Åb+Ã[,WÇ– ⪟¾í-Ýß?†Û·½¦c…ÄòàE[—ó±u.ýõö°L`ÕoX&¶ÚCß¶·ÉH,ý”‰Âè+ïÏ·Ýñ7×f¹_•°ÅÚ,÷«h+µ±¥+B,Z:Gcù¬µ•¼eMµ‘å‹‚-“Ÿqm™q}Ú›Xß9Ú2åèm™Äú¶÷•Lm…ÀZ—þVX&¶2ÊeÄJ½d… úú9Ýî$Ú¾ü}´‡Õû÷Òø+$–Ç/Úuîý•°Lh}úK¼i‰Øê7^®âè|¤Æ^YŸWÛ:2ÕaiWŶR‡XÎm©°tMˆ%BKgh,ŸÅ¶œ¶¤Ô!ޝ–L~Fu´» U{Xý»§c™Àrì¶LbµçL¶—[Å µ-“2þô¿glK¥:Y@ÔçÚf8>ŸÿlŸ7±L`iÌ¢-[­tˈ´,Xµ¶BxÄŠõ¸Ús>ë{´ÇB>ëûD[ÉguÏ|Ú º‘&çî¯9£T$V²–5Uf}õa$õ!"¯˜ö̉sãœLûÏÕªf``™Ð30´DlynÅH¬åCŠ‚#:Ö­=`ŠþøÏ?|«-ZŠ5–H¬ïsôý¤ëgŸÙ2±å¹([ ±’·¬´UÓœín‘mTUäù¼þúª<æîl…ÀÒdh,Xß'ž6çËd²Îÿ¶Y ÎÚ^\0E>þžŒª UŠqßÿõ«ôþùo©¹Úÿë»õ—ŸÀ2¡uöWAСU“t°D`µ7OÏm™ØjŸ}Š$–¦~,àxÎzk[ˆ¦:œ­_u°eBKYDZ• J ˆÓžÒ)ÇS¤ÏUïûêísì±ÍöîCXÉFÖ÷ùþÛžNË„Öóëàœ-‘Xé1YèCXÊ;j³½ÇÖó!Q³b&wf²\/[¨ -·X&°4‰Ë„mÕœ3Ú±ÕÔ6Û‰¥abÉÇsÖ{ÛË7ÕálŸ±¯:Ø2å¬m™Äj/¦ûR2€ÓÖè`Œ?ýïȶX/¶Lµ{añd›È–I-WÅ– ,÷•-XíùÓ÷d™lÿNÜÁÙþ¸“+Õ‘²ý;¡¸~Û=~œPlß!Þ±L`)ÖX&±¾Ë1®¶BhÕÌ ,[íXí‘Ý–âxöÆRbwÖ‡fÉL>˜—SÖ¶L`9k[&´ªÿa‰ÀÒXB\çûˆI»¤€8#–B~Eµ´§LQí˜oS>±D`9R[&±¾×§?íú±Ï#&’F œ´h¨†µ6w´YxK!°mždXóô±Bhõ‰zJ茵J"°Î>¡IÀŽçó-ÐÏ<§%’ã%祵0UakkЯ*È ¡UIG*`g]¯ñTK iéú¬ý)Åi*mUeÜRýMCÇù‘ÝùmÿÆìžßR×»ÿ`‰ÀªîŠ$Gke‘BØÒXcS"¶Òó²@b-÷xþe¬f¨¬6³<ÕáÓî\xÕ!–,¥mIÀξ.}}<HZº¯cŒ7b+ý* $V²–ò+õ=¯qÊpo{–^½(+$VúÌm™Ø:–mÌ$صŸ`‘ì Ÿ’@hUQZ"ŒýÛ^ê»?Ÿ!WõáÏwû]µzάþ[.’Èd=õž¥&g¬$Q*BëûœÉ“T N{ÑweK!°´ŽË„ÇS MË¥(ž»s ,¡*±ª‘\ÍÜ%¦’¦(e=_Æú3fc…àx tmUü›RYþé=KÈey÷^$§"çúãw¸¥ZßþpZ"¶ÐeÄJβX—å=ªž/&5Óæq¶dæ«JIµ‚S-ކb­™F2™Z«¡lªH¬öB±«m¡·ËãÃVF Žè*œíZÀ*ìßvÄ\KpT;q®kï7ŸG u/ýqJ°Ll¡ eÀÒøˆe’#¦w¶öË€½³ív…W­d…ÀrÚ2¡ÕC) sß‚„á4äh­5’ [ª•O4%«-È®mEÖV,WÅ+—ØU¦ÐL®Ì{ DÙßÿ^ˆQ νlý9õ‘BhÝýyÝ´Dl¡eÄrÛ ÉÓ3»æëLÎÌz¹*²B`¹ÿl™Ðk}´Dh]cN–ˆ--öY ˆ“ÚH ùÕRo Ùüæ¾äK„–"%«VYa™ÄÒšg¬[­ËöѳeÄrq$0öÊzùh:ÎäΚ²†%B«²†%ë~ŽÞžÂ+„ÖÕŸÏFKÄV²–KýËÑ«7–½Þòñ›ûR[¨àöîE[!´jÍ–­«¿ˆ–ˆ­¬ùɉ•êÈbÿk©i9Fºnïc%ëXŠ5Vò‘¥åVKhIkŸiÉÄV[l=>Œ$Vj#‹õKì#ë­51õÏö|S¹_}MK„ÖÈš–H¬{[û\O¬Zßþ@Z"¶œ·-XÕÿ°LrÄꎭýºg»?í‡Î«Xå@ª‹di[Ú—8Hli¬¢%K^”)U))€‡Ë’[»rŒî3ÙÛ=£LµP+$V"M["°ö¥OdÁ2UË>°Ll}û(ÿ±åÅ![ Œ¾òwž¦ ËzÀ£“®›S]ƒ(ÎX­¨PÔë¥x°•=jEƒÉJí ò¶’A1îÍùËÑ~í0œëÛî½x%eË„–‚Ž%ë~~¿-_Z!´úÿŸ,[в@l¡Re úZÜÚ”Ã(„ÀÑnÀ`¬‘ÚñßQ°‚#:ë'æ¹ g»c.C9(‹”ä¬vP–H5ú# @òàtD–ð¦šì~ÄÔ~mÏçè§ÿÎÓƒ•„×÷y ÉȺŸmøeBë‰ñ;["±2þeá‰åâØbýÖ÷mSqÓ=û$×<^,@Ò µd`éÛç{îH–2dKÀág›MŸ#?Û½¯Èm™Àr¤¶Lh}-ZWŸj %b i—Ë]hËäW\χûVŸÍ|¥hI€’"µ$`éz~(× À²Wq¶-asA;³m –­Š–H¬ûÓgYa…ÀúöùxZ&¶’¶,[é0Y ¶¼ãhk»ÿ÷Gði‰qA{—ääï(Ú“d' Òý|gÜÙP¤«¯MA2°´.ÏG ’v½$7~Œé˜¶ÛytŸÉžI¯§³–Ïl‰Àz>ñ·¹-[^š·bëÛçé¿°@WÅÚî[˜ƒ_2S¥P#%KŠÔ’‘tß}=’Á$õ-” DJ2%MùZºÇ—x;õ÷”› phæÌäãw㥱D`¹¶L`]ËøÕË„mlKÄV:^ˆ­”¡¤€_Ç[kÆË`ϲ´­&VÛ›\Ø–ˆ­o»SŠR€T«¤©~9ž²^ÛÍÂSvOÐ%k[&°œuÚ±õŒðþ(³X °¾ýx´Ll%í’âdÛ8“c‰Äò[!°\[©×¯¸>5Ëry>/9Æåèm™ÄÒæ£X!lklb["¶ÚC-–Þ·²@b¥^²B˜£òÞ57hrf>ÏyÇå¼m™ØÊ(—B«?.}²Dl!ï²@beLÈ Iôîýn/ö˜zhËŒžªc+õ‚¥^‹å~¤56¦Ð*Bëù.¹Ìm‰Äò–[!°\[©×¯¸>šiD¤û;ÅHIzÇn ÙèäÚÅ)-í9lIDR{ÈÉ:Åb)•’ÄÚíïìšDQÖº9Vª²þÓ¶P–Õý­±@b­K3¬[Ⱥ¬©2ë?ƒÁ–I¢O_,õöÊ%å{wŸ“¡xk•ú·fZáÖn¨õùÍ7æCîÌÖv¨X!°j?,ZãÁ@´DhõGBL–ˆ-Bké» i‰äˆÉû¨÷†|þû¾ !)$’³¶d"©ÿ0[؈¤½ÅÙg‚%¸%í0KK!9œ3öáL~d·jòΤ?UáÕ¶Lh©»b‰ÄªNE2°ãçMY±…Ž/ $VûP\'+±+ëõ[o*LÚÊý\†H.¤Ê’ª io÷:ÙRH¤¶§ª_t-™XJŸJB/[rÆ–Rƒ^ûçÚ{¶¿}—THÐJYc-‘XÚÒ+„mõÇ"Mm‰ØÚ—¥?ö)ˆ-ïÙ³«=oîË#‚0.å½¶ÇJþ͵Yß…ˆ”Ò¬ï:HbeôEnéÏz‹iìi¢$" É”4%\Òª¡'ǹU7<—•ãÕ1ý9TsÇÈBÇØJéЖŠi+% Ý«=&¯=Í;–ÉtDE¶§J2ú¥=8é|I ’{ZqKíê+n)R3ç$‰HBz%XrZ Av56–­íqâhYúcîÊ›àh‰Øòž<[ ±<øm…ðˆ5°qD[’â´§g¶GD áñFÖí‹â=Ÿ5KûÔ™Ê@Ieäœ-¡ iiíÏ1eKE&ilN£4H$'c éYÒγH"\ݰÜg+ôIzâÔ1¶@h©œ±R`Yk»ƒô¦B«¿Ìz²DlylÛåjÙBýö ¿µÞý#i7”4vR‘äMˆ–@Ò’‡•[2Áá4br8Ièç’@,µ‡ê~8W _wë¶¿¹(Ëùª¬Te9_E5•ÅmmýÇlKd²úœ'«H¬$$kJZVm;‹$Àã©'žˆ÷¹o®vƒßÜ7‘L ©¢‘D,µ©ƒvëV¤HgŸ÷§$")ãZH$×É’IwÇìí³‘sõ§N¿†‚-Xî¾´%Bkl@¤%kïÏu§ebëÛ¤½}`ÄòPdÀ¨”õÒ®ŠSÚð¯2X2‰äœÓ’ˆ¥6ÇzÞ”B }ƒ %IH¸$HîxK&¼ºáûi_nØ1ßþxø¹P°D`©³b™ØòŽU[ lkìEe["¶ÚÓÿ–¶r` $–zÞ’3TÖ{ûÁö7Wf—!R ³¿«` u)©-FµçÎD ôí8¦$" —4eK!Ï4º–¶ñkê˜þp”W¡ÊšJ·þÓ}¶LhÍ—´D`k{:"-[ÞVi $Vj#‹õû'®§ÜÇ5ǵ¼„â”_qGI&õ­ö¨Z I+cë)[)RJ{ôã¶±•)®…ÔëôÑ‚dÒŸþ ˆWÞ±D`9u[&±ÚØIÉ€Îç¿kv ØAþ%ÀRGÇ2±…Y5›g²k¢.…) $’;Î’ ¤±É’’H¤³¿ ‹’‰$oŸ´b)u‘òoLçÕ:vŠiñ<“¥ô`)ÐX}É \mHµ2µ5¶š²­"±Ú={ÿ´”˵±•j1GUâ¨Y¸¯Þ^ˆJÄåJØ2‰µ>ÁÞ'­XÏ—»m¶Ll¡eÀÒˆeb =´jºÎäÈt«³jºÜþéG[&´Æ&KZ"°>ý퉴Lliÿ¤¥€8©$ÖŽk¼½pŠs¹_ÂJζi,d£7!jKª­©­±Ù”m‰õí¯“b[!°TK(_2TNÍÿ™|3Kè:Äå:Ø2‰Õ¶C” à<¿v¿“#`5( $–ûÞVÈ7³î›­^„rèý…¨LY °Üƒ¶Lh –´DhÝcΖˆ-ož´+Õ‘ò#®ýo0D\«Þ`˜Œ`)GZ+,EoËRm…°­ÚjжDb}Û«æÚÒŸ­X®Ž­Ô‹Ñ«gÛÄJìý­£¯JÄ¡¥JĉµÞW¿.VH¬vãÕ:Y!¶P‰²@`iÄ2±…Ú꽈!§Þfˆê”5Upÿ§m™Ð›,i‰ÐºÇü ,[Ú?i) Nj#‰õû'ªínEÿæ8×û•!¬ä«"…•lVU¾¶¤Ú a[µÙm‰Äúö7Q^°B`©8–P¾Ä®:|Æ[ §Ê,•Ê,ï>„•ÊÈj7]î” à¬G{æ!;¨AISU–÷hˆeb }³·ÍÅì›­¿ùâU«²@`¹m™Àªí•°Lhý½´Dlyã¤-X©Ž¬[Þþ¶lK»*ü‘l-¾Êql³Bkl£%bËÛQqD´åê¸-[Þ$g $V{‘í—9‚ .å½~Û-¬D[þº_•B«ò†%«-”íS[!h«öX¡-[Þe $–ó¶Â#V¥×½Ý”ÂÚ¯ýxó¸eKãm‰ØÊÂ#ªÒ9¢ˆ-dTH,Ÿ1¶B½ò^Ú7Ê¿¹6Ûû  µÙÞç6ÚJmdmOÏôo¸¶B`=ßp—Ù2±…¼Ëšj³½¯¶B}¹åÛ6ÜL£pi×üÑc§_,“XÞ[h+mùŒÉ}ñˆuÆàˆ:‡lå\…³#Vñ7¸\‰£ÝÌÈJ,ý}¶¯JÈ ±…J”b q•Kû c…$®Tum3¬ê²·OøWUe…ÄJÞnË$V{:ÏFÉξ÷9Ç8v2v%Àrel™Øª-o÷m+PöÀµ-(÷`ßñÉ{à`išÒ–4XDzõÙ‹X"³µößr´¡¥÷Æò› 'kì/£U;ÎhÕþÇû©ÑÒ%ƒï§§ÆNJK‘´IÒRÀ$í#ÁH&éÓ6~S*©í½Yo´©6â!;_¯ý‹#F|Ý‘@a™¬ŠVXµ‰–ÉdÝÿ]³4@œä#)„Ö3l—u²D¦ØGÖÏ(ùö[àY™m¿æ:Ðre`¬i¹2²Öõü¶…­X&l«½öùb޶DØ–º?my@ðˆ•7Ž˜Ú$ú±{ì~¾[ŒY<ƒËSoµyŒN8µŸ-ŽÛù´ ¶S€ÎÝ~ŠÓ)`GûÔìØiï9ö(þ›GªD·ÿŽõšR?þ»÷ë•;¬"°œ¬-¶Õç<Qd²úƤÉ*ËùH2ˆ£ÍK‘B¦ G'<¿f·¹Wž/׫[ U·LÒ¨¤*h$÷•¤t¤çB¾=v‘æÃUàŸçR?Eþ½þûìßWä°ŠLV…«¬íØÚ–#X&“õéŸF´ŠÄJвBb©W-0ö±ß­}™º?ã$òü`¸ÿ׼ǖ ,\¶U„ÖØmFKd²ž_г4@œëù¦~}{H,m7‹2Å^Y/ÿÝë1Õa.9Ç«¶L`9k´Ud²ÆÕ€VZuv‰•¼e…ÄòõÀVȸŽodÃßév½®[´œu¬ŠVò±ÕÞ”s|h‰ÌÖ·ÝÝ:YƒÀÒ·ä1Gµ‰„ú%ö•Çñdç8}þ;ÝÖêQK„Ö¼lj8µU’ÉÔR߆95U$V{AÔóà ‰åóÀVÈtÄÊzí~böÿîëu%B«ÒFSÀÙ®½=’Éd}Û m“U$V²–BKã!–ލÞx¾>íµž¯þyìz»kËÕš¬Ñg´ªiõ=‰”˜½Ýv4IƒÀÒvÃX&°\[©Ö¨ÎþìÈDÕ^Q~®ü"‰ÐRìhª¬Ú¾ Ëdj«íÍœš N{ÙàJÇ N*%)d:ÚHy{>¿Ù3ûó)¬G¹:ãH"´”1š*«½`òùFËd²Ú+½g«H,'-É€ŽFB$Oý°]ýÑÓì™ç®}ªU$ÕjrzgÑù[g’í*®DÑþŒ¥ ÃÈÜùw?Qœ"üÜÊåýv EHp± ‰½ád5⊠+6'RsPe(‰Ä,¤…óô«OçóÕeõ>=ÿÛöœ9ˆvû굆¥K6Í!ñv²s4Ô„RlI·?'³$JÊ$ÏÚöþ–¯¬ø Y®mÆo"§ã•ÃŒÐyîµb‡9“H†uçO,n5‘¥ˆayVha P°ãažïGÇ–5Ê Gžè0Mæô@ÉÁȹu‡®äg7î-JˆMi å„tä0p”ž{óÎw¼©;ñ†‚kýŠÊ¤&n¡×²@ÌêÒL³HF[Qw9š* 'Þ«OrèÈQ– ‰Œø*äg²ÖfHçó•óþÊIMÜBIJ@ÌŠWÓÇ š,’a]ùƒ‹[Md1hHî`H±ãaží~¯cd¶hÒS%©2¥†Ê”;W²¾p8ELÚâažŒü¨FÅ  IHfçG_žË†Œ½{îGgP&!J:Õaè?ÿ½k/M!­dUåh¨‰¬k{¿Þñ7š–ˆ,å–gÍbëx÷W½SJÖ¯ø¥ ëˆÿŽ\à_÷mÍß)¸s½F#te;žˆõkЩôg‰yîazµ%ÈsŸ¸}¾òBË2E‹£C‹dXQ88¤î¬kþveˆ,ÔÊ‘¥´ÀòÌ}õêºãŽöV¯âý*³;š!5q«zêˆY]ciÉh+ (GSä\Û—oI"²Y"# úù»|< ï×çk”‡ÔÄ-Ä, Ĭç:¿šE2¬Ø£yZMd)jX"nÕØ»bGäXÄWÝ9:{þ.9²E À09 †“µaCjâÖó—êR9¨ù’$"Ky%ò£W×çõ\0F¯–×Ñ[†#—*>wª£ætÏÍé*:“@fKY7š*bÖóÍþ¹§;Ì"1‹™¡¥\ø: ñcàåYxþ¿íó™Y0 i‘ÓYôÐÙ%ªŽL"Ö;ª‡ÕD–²ËóB #/‹ÄŽÈÑY_ïåôÑyþ¿+º˜Z–=YCY Êò²!pgG"C‘…ú2Y"²”Xž¿ï^}âÉÊÇ{µd‹#>—:>·º§f¡ïfu½žY ³­(³M%0'ö߯x’HÌbfh)W#ÂÊÂùÚÇØ|>Ïùs|eÁ¤&n! ²@ÌÚŸo ËÇ-’a½£B~XMd)°DÜê±7 ÄŽÈÑÙž?oÏ‘[G¶(¸Ó#(§T@J‘¥h`‰ØñºÜëznõ–Þ°Ég}îŠwô* ÚÌ™VT´ )9Ø»O‰·Ô›÷YS f¡8N‰[KT ÄÈ<œÏÍìéyx_ùåxæɰ*&0çx®š÷HÜzþ½§" Eo²DÌbh‘xß«Úçzo¯O­'9_³UõEf‘˜Õ5A£­&n½×Ø@Ô-·ª†Â-Y×ÓÕøS–ˆYUjaÀè{EÓ®Q™Y°ªQ˲ÌÐBÔÞ3cÖ?w «È°Î¨tV³5-ÏÌÂu4U%‹äg¿Þ¯£ xI®çVcûŠÑ¬&n¡÷²@ÌÚß¹•ŒY$úb䰚Ⱥž3o‹ë0-³˜/Z$#ÆŽ{mµ}>É™O›g&Ìjââ–"K}…%"KãKd1k•®çæŠÜ7‰·Âãg¿ª¡2‹Ä,œ{ÞV·ž ì>-·ª Ä-Y×qæÓY"fu­ˆY$£÷wÜ*Ÿ»gâÎùBܲHÌBÜÞV·úŠfˆ[}…1 Dã¦%bV_Ò$üêÕþzþyôêýÚ·¯%)dJè§$Åi{ÉÍ%“®\ãê%žœ”DLBV$)sìx*]ñݪWª‚ì¹Ð¢¦BP™Eb¦­·ÕÄ­çþù3-·ªÄ-Y×qåƒ[Y"fUˆI£ïõþy# ¹|d$Š%eùÊ€ZaF¨ô€Jv¥OF*89©0ÌV<PpâCÁç_}ynÕÏq}znê®Ï×õÉ,·ÐiY fíW,gu‹Ä­ø9fˆ,ÎfZ"n!S²@¼÷U•tÅOnõÒ$’=—VÔ ¨j)³HÌÂDõ¶š¸u/ñº·@ܪÊ·@d]çš5²DÌêʳHFï+îø•ý\G&–¸ DHb"$!jo©ó`RŸû&5q©OF“pºRbÈ””I}æËið«GÏwƒe\Ÿ¶OnÌ1ƒ“â:. Ĭ=~‰ÞÜ"1ëX¢Ü-YœÜ´DÌb®h‘xï«8늇2^­ÿ‡d•—|– k­40ç¾óK¤w²,Æt®óÈ¢.:rºÜE÷¹]ŸÜa0+o+VIJë-1²úÔ7«É°úD4 '«,†L˳B §¾,ŸýŠUéã"µ~r‘ÆŒQˆ[è½,³Ž%êVÝ"Öµ Ãj"‹sš–ˆ[È—,ï}O¶õ¹Ïê<ã…‚‘®ÉRI]f‰µ„ ¨–@üpu’øášPâì¦$"鹡¢P“HüppÔÜÔž‘LÁšë3FÜꘅe1 fuY Ó:óNÛ­"f1 Z Ѭª2©Áˆ°G¢ŸºàÓ?ÏqiŸ\èL¾=‹&Qš²Cà'îXzH¡?Qஇ>üdòñö\Ø!˜üØ'g$ÿÉn,¿˜ÃM‹Ä,‘µÕĬ* 3 `´”_£¥&²â¥;Qì-KÄ, 6%€q¼ŒùƒX7`–—M7s³Y–Zóh‹y¡ulgüÀiV“/ëŠålÃJ⢖噡Ճo§ƒ±ãqõþ î\|1³EÉògVŽØ°š¸UÕOn 댆ÕD*›d‰˜ÅlѲüýÛ¯ØYíý:ó]3FY n¡¯ÖV³ºZÌ,’ÑVÖ¶šÈºž;”X"KÄ,f‡É8bÇýÜ-—_ÌLÈq q[[MÌ:¢v{w‹Ä­#êq D–â†%âf€,;"Æ#n{æ]w¾9xäKɰjÔÜjâVUJ¹2¬#~ÎVY] %‰ÀäFɯ^=sôê 0f„²@ÜBO­­&fEI™)õq´’Õb£•&²®÷'—‹É1 i¡0Ž×ñF¥ðgd Þ$öþÊ€,åDâµ¶˜ZÇqÄ25³HÜ:—XÐâˆ,E Ë3# #/ ÄŽ˜C߉}d–\z12%ÅrgV–[=~nU©”[M¦uÄ·êa1 EP²HÜB^dYîþíדŸûíýúÄóÉ÷WŒ²µ,ôÞÚb<´º´Ì,’ÑV¶šÈº>K.&•%bóEË2hGì¸××3?G&ö\…13! Ä-Ämm51ëˆU¡»[$nÅZâiÈRܰDÌ✠EbGÄxÄo¨÷9Fèi/ @vd1_êQs«ÇÑ­*œr«É´öøž=¬"f¡$J‰[ÈŽ,æëW¿Î×R;+“|rYÆŒQˆ[è½µÕĬª33 `´”d£¥&²®ÑË'b³E‹d±£^_ן¸®®ÇWd¸…¨­­&fïúË%‹dXÑÙi5‘¥¸a‰¸…! ÄŽØÃÏ׎ÍÇgÍ•#[’,Û÷(ºÕ£èVO¹ÕdZ{l³9¬"f¡,J‰[È,Ëß¿ý:_ç}x¿â›ÙºÅ(KQËBï­-ÆC«‹ÍÌ"meÙh«‰¬( ‹M)d‰˜Å|Ѳ Ú;îíuÔ²'’#—oÌLÈq q[[MÌ:bÿ™Ý-’aE´šÈRܰDÜœbGÄxDÅE½»ˆ#ôœSë×Ì‘Å| «FÍ­GY(—“Eâ"’Åe¡Èí• £Èõâ—Àªq“$"© ÎL"¡tÄ~°÷i’ˆIKn+î%ì2(IÄ¥,$RI½Ü' îÚ¾ä904½±œ,³zË8³HÌ:®¨ p‹dXgTl «‰¬x+ærøEÌêº;dô>«™>QXW‘QÅ€M{»´H€K]ñä-RTtÃ5˜RVY¸TÀ¤+¾ßìÖ'—ºCÀìx§à™º÷ê9ˆ§uýÊ-Ë -&ÁÚbZdEì<"ȰòµÃj"Ky€å™¡Õ¥Zf‘üêמ{Xþž.ÿ ´,E- }µ¶­#ö=Ü"1ë\ÖØÈ,YQ QÉq Ù‘¥ Zï;î%w±ôLl¯û{°%˜„¨­¥&”ÔQH"’8b”HüpYÆô‰jîzÑ$Ék)j2Wm•Y$fá´³¶@ܺc+àa +«F†ÕDV¼c4v—“%bV×–˜EâGDÜÇ«Wç<çv¥dØLbÔl `Hu!3©K}a‘ I!·$`.d”~õiÉý'½S{.¥˜á™ÕÄ-ôTˆYgl½»E2¬OlZ3¬&²x^Òq É‘2bÌÒ¦O¬ü¹zxŠÄ¯éœ Ureˆ[˜¸Ö¦²YG,oÈ´²ndXE̺âwÝÝ-·ººÄ,Ñ{dâÈþFnbqÆÌ-Ë -fBm)7fÕåÀ­&nõÙiˆ,e–ç†.²H~õkÍùò7zúÜ~~Åh£–…¾ÊR<´ÎuÊ,³H†õ‰Î‡ÕDg9-·YʠŘ5NŸX(º×oM¢/ËëÚ+³@ÜÂü•Å9îÖºç7!³šÌ¶²’d´UĬ+žþDi‘¸Õõ&fø™‰3ÿüZ&¢:mù|e‚‰YÌ-’aÕUÁ­&fáµ~ÈR&`‰˜…«‚,’_ýÚò¤÷ëÈ%3F³š˜Å¾Ò"1댗Én‘ ëß Ýj"‹³œ–ˆYÌ-’cV=½co«ž×ùDû‚+fUc™ÕdX=G[=ÇÝŠ½p¦UdZUjâV·®xJ<,auUŠYM¾zß™8ó÷¿‘›Xî13AËrC‹™°¶˜YuUp Ĭ>GÍ"‘¥LÀòÜÐê«‚Y$¿úµåS…¿ÑÓu9¿b”¥¨i±¯´,Zçs“ÿ¹Ý"Ö?P «‰,ÌrY"n!;²”AÅXQïØf#T$éžøM³*¯Ìq 3ÚÛê9îÖ¾ÆâD·š «*uÜjbVl3ñÜIp§+pL™}ï<¼³&Áò ø‘-æ‰ỸµÕÄ­¾J˜âVŸ¡fÈb ˜ƒk„$’_½Ú3GÞ«3}Ìe¸…žÊ1ëŒWn‘ ëŒÍê‡ÕDg8-·:9’xß{¶Ådט±Å^NוbÃ*âVצ™2ÚêùfmaºÕçŠY8Ÿdq†ÓÒY 뎚´ÝÛ"™1v&Þyý¹Ù•¯Î„YÌÍ®JÈÎ-ËÚªJ$o dXWl¶=¬&²#,*‘d‰ø1B{ÞoÙŶË×õÍ,·CYÊ3­óùãõ¾Ý"Ö¿«‰,LrJr”Hž?‹°GcÉoe>>{®™3Bˆ[3k«‰Y]Áf‰·UµiÞˆ¬x]|üþ&KD–Æ–Èè}Å{–^»g"6 ^¾Î ³@Ü긽­&fñføÃ-’añûê°šÈbÜ´DÜê`ˆã‡Ù}€b÷ìó+[pÌé“àNVe¹ÓÀ\ŽäN:¨µ¢#@GiGàGÖ|¦çÚsMȌ̬&ÃênšÕĬ®^3‹ÄÛªº4o DÖ…êñw”–ˆ,¥–Èè}Å}~^÷™%—„ŒD˜ÔyREmR§Á¤3ÎÎÛ$€)½ã7— ˜Ä!).õÐKÂ\°Ãa b£÷kõ¡‰W÷,ëW¢hYêdõp™2¬,ÆV“aeIþ°šÈB™•,YÊ,Ïß¿ýZsÌ¿ÑÓûC2"³µYÝW³­.^3‹ÄÛª²4o DÖëTr°a‰ÈRv`y­÷w,s¾F"¾ÚdeÆoÒ³üZâ7F ÞñcŒ ðwáA° ÌQ§ÀA_gúãÆ|»<ýñêÝ’A‹Ä­³@†•µVÃj2¬(£œVY¨¢’%"KY‚%ò«_ÛkÝ:raÈ QRƒ!uO%50© Ó$Œ–²âÌ[j é^ë¾?KQVÚ«x÷;wÃô ¬¹$ddÀ­NÁ°*b·:fÏ÷ûÓ¥Ãy¾ ŽN50Óa Üé!7 “ÀކAˆ—D}n–xwÀý5Ud‘ «ÆÊ­&nUy•[ Êڣi5‘…Â)Y"²˜-H¿zµÅð¿ÑMìÇhè(`:è¥Úa pº M·“åeÞN:w”8ÝÖŽå£O™ŽU¡ÆVNŸk¿åò½YÊÇò=nÞ3B뼯¨Î2 Ä­÷’}4 Ä,MËó²|Í“zØñ0 ñ[ÿ—ç‹ÐÍ{>$ Áj°Lj us”$)º–ìp] öŽw¸Õë´IÎ\³Qªb0³H†•Å`Ãj2¬Ü–mXMÜŠW¶Î¶@d¡dL–Ȱö¼Au«‰‘q/¹A gâùÿò!nZ$Ãê¸Íj"k]\2-KÄÚzÇ‹½)k© ì¬%?¢Öñ@~Dµ„s¬ã=÷{Ž¢[MÜê13 ĬÚóÏ$€ÑRnù7Zj"‹£OKĬåŠrS·HF„õžÜþÌìÊVGm3# QËRfh}ÎX çɰbéÔ´šÈâÈÒ1‹qÓ²ÜðˆŽ%÷´ñÙsÍÆJ$n!7²”?XÇw‡Y"n=S|½‡" Õµ²D†ÕQ›ÅÌXŒYû÷Žb ¾Qk².y¶Õu¤*ñÌq«+ÍÖºäf5™meuÒh«ˆYñÒŽ¨8–Ebj˜d‘ø™‰#·Ã´LÄ«/f‚‰YÌ-Yê=,Y(K”%2Ž˜5_ï8 òÕä¹=PSµhf‘˜ÅÜ[[MÜŠKî´@ܪ:·@dݱùÌí½‘…jY"£÷wÜAÅ&–ž‰%×Zx&Ìb&Ìê¸G[ ·jþº…9nVÏ&³8¿d!nYÊ„,Ì_Yšã¿úuäËïþŒ|^Çq~Å( Ä,öž‰Yïgl¯Ó-·¶u(ùQÿ޳@Šˆ[È”,®ª½ÎçOÓ§¾9”]³¡ªÐÌ"1«gîh«‰[ÏMõ{Z ÃÊ ša5‘uÇ~T7,Y¨³‘%2z_qǧ홈ìž3²,7«²Zq{[̬º¸ÕdX}¾š…3Xã¦å¹…ë,’Ÿý:s3Lë×Uß&fŒ²@ÜBïe˜õ~¦æzºE2¬ÏkŸR9œã”DÜB¶dxß«ÖëŒ[À­®[ ñmUCYƒf‰Y˜½ÞV·ö|~éȰ²~fXMdÝ{]éd‰ÈB•,‘ÑûŠ;ÞíñÙF&êG¢‘ YÌ„YˆÛÛêL «® nVŸ¡fá,–Ÿi)²xM Eò³_ïײ«×çz¾ì}]½Üjâz/ Ĭ÷þäÐ%€áä“»!5‘Å9NKÄ,f‹‰÷½*½Îçæ.¶Éü3RjFTšY$faöz[MÜ:âðÃVVÐ «‰¬;¶´<6³Dd¡ÎF–Èè}Å¿nõ(*7Û±ÍLȲÜÐBÜÞscV]Ü*2¬>CÍÂY,‹qÓòÜÀâ5ÉÏ~½_õz ë(jý¡†L=§£Pà¼(Y0‡À÷kJ}¦Á™ EÀdˆŽRÆWu׿rou‰èX=’Ugf‘˜…ùêm5q+ØN dXù³å°šÈº÷úž$KDV—ÖH"}益W™¨é2Ó‰À$Ƭ– ©.&5p ç'%I ¸%I<û! üèS<ËÜÆe*~×ùd·š¸Õ=5 Ĭ÷ù¤Ï%€áDà”šÈâ̦%âV§Æ,ï{uçžÛdþ©[Κ UFf‰Y˜´ÞV·Þñ×lX ÃÊÒ¢a5‘n-9d‰˜ÕECf‘ŒÞwÜËëÚF"òª6óLJ1«¦EN]Ìi`NŸ“rè(Úvqè!‘¸ÓtZ ²1,ÏŠ,ÌY vDŽÄ’;fúØÔΉ3W´HÌâxÑ"Öõ:¦TÀçòuΖ@d¡JQ–ˆYÌ -’û~ÜŸÜ1óÏHí®j}Rwª§.˜û=×%³HÜŠ[»iÈB<²Dܺr‹q·@F„õ‘ûezjæ‘“ ¸ƒ¨%ȈÉ1‹=¥E" 5‘Çsç;\þÉ:òšðU^)IDRNš åsd¹ 9$&ùêd—@(ÅNqÃ&I„jò<6ïv–…±'ÉÚS¯È]¯Z¨“¹ÊUÌq+êG¼¡mýú÷}‰ ¦]i2[‰gí£æÜ搜–DâV?7 d8^o¯”‰ÿ ¯˜`üp,!p*z6Ò¹èU[ðàtq?J–+±KÒÓ¤Þ§Tý­2 ³HÌB¦­©îì÷k40œ|<¤&²îx«óóÅE–ˆYý Ø,’ÑóŠùsåV–ž…z}ØÈ‚,fÁ¬Ú›ª,¸ÓóÔ$Ìe·z★©$‹QÓRÌÂL•ÅÙü«_gndiýúä/#@9 LAÏå€HúÄÓ§K$.Å›Y¦Ô„ç>%“'I Öñ,Qˆ¥ Æ¥@½e´§AÖM˜Db¦¬7ÕÄ­#¶4Ȱâùï ȹߵÈG’ˆYý˜Ø,’Ñ÷ :6à\= ¹2xä€ S ñZ3wòì7%?»Ñ'¢œ«t)….§=€½9sçË?ï^¬Å˜Q™Ä8e¡×²­O<‰ÿ¸EâV”*¬Ã‘ÅÉLKÄ-dJ–r§ÞWIÂKJ–žpMÎ\Qs Š$Ì"1«§ª7UÀçVêNƒáäcß!5‘ujÉŸ,³úá°Y$£çóyçÞ—ž…5×bŒ,ÈbÌê ½©ÊÂpêÌw©È°ê\4©OV9Œ™’²`Î|Y ?{õÎ}/­W1FÛ¼B¹TÀæ|>ù¦>“H܊¶ϰ@dqfÓ1‹¹¢Eâ}ÏÊ„ãÜsËË?3×`ÔL¨r “H̬õ¦š¸§ã´@†•‡ÕDÖý©¥À²DÌêGÄf‘ŒÞWØKnxiyØrÆÌ%³µ5ÕdXy!p©€;8O%ÈR̰DÌÂu@É¿½z¦øuúõ*NŒÏ×õÊ¥&nuOÍ1+^Oߥe‘¸¥ÐÛ°@dqvÓq«scˆ÷¾JŽXI½ÔÅä+9j>Té„Y$faæz[MÜŠ{µi +Ÿþ«‰¬ç —{È1«Ÿ›E2zßq?WÐGåfá#â¦e¹¡Å¸­-æÆ¬º¸ÕÄ­:=Mj GQCòÌÐÂÕ@É^Å+|–qÝŠ;©íëºåV·ª«&50çsç«&L"1ëZò=èf‘Èâ §%âVçÆ,ï{U)ûó%«ïÿ@bÓ=ÖŒd]„Y$faîz[MÜŠ/õïa +Ÿ«‰¬ûr£>Ù¿ö³o3HF¯;Þ5÷·ô 칆cf€‰YŒ×Új2¬º¸ÕÄ­>/Í‘U1èOö¯¸È ùÑŸ-ÞÐ2®Uñú{tÝêØÜê>š…^›uÅÂÁ[ Êő۰š˜ÅYMKóܬËã«|j5CjbV•€˜à-õ<³–@Æñêñã5‘Å™MKĬ«63‹d±‚Þr#KË‘ë4fLjb‚¦`Î'7Ž–HÆñ²2`¯‰,EKĬ~æo‰±Çb¹Ÿ[þ9:ñÒ¯kšYae]ªŒšsÅ"—@¦uÅ;æ†UÄ,ÎmZšÿnunÌB¶Fß+ϱýì²yæã™ÞÆç×Y“a‰Y]b‰Y˜I~Ä&ãˆ5KüˆMdqdi‰˜u×¶„f‘Œ~uÜÛës#ñ¢£ý+´,7´7-˵•5£­&nEéÆè‰,EË£¦Õ5f‘Ø{<öØÒûk„¶\¾á#dGȬÎáh‹y¦uÅVQ›[M¾¬+öUV·0ËeéL0«³c–eÐbÌñØŸ“þ8w¡= ¾æÄ°š¸U£æˆYUG>ÅѰ|Þ¹,c&‰‰[=Tf +Þá=­&nYåˆ,‹É1‹™¢Eò«_ë«öU!ÈMÛ‰7±§9±¢i´àít^ÔNo§ãU; è¬Ë’5èÐQ¬íx*Ô÷•ü’‹1Fônuønu¸f!faBËâ¤w+¶߇ÕÄ,DK!ÊŠwÂĪ\Y$3ÆÎÄ‘dZ&âÔ÷ý• ³š¸…LÈ‘Å!£%"K½‡%2úUÓè½æ…Î&ÖóÿÅ2Š£YŒZVO7³@dñ|£%"KÁò¨yĪÅÜŸÞµwƒXÁøžÕ™& «Š1Ýj2­Ü4qXE¦õίLn1 E›²H¦UãïVÏ;"òpæ÷Ý?OÌ¢Ñé0þ3r悈º–T¥©Y$fuõçh«‰[±ÏÑ<"Ȱ²ŒnXMd= *™$ÈA©$‘Ñ÷Šz¿sSË¿‘™ ÙBÔ²,3›rZQ{[ÌÌÆñ©®R²`à TVÉ<^]g÷w–ˆý¹sAD÷=ê%M09¶–@ܺrÙ„[ Ãʲ¯a5‘õk²Dd¡8L–ˆQï¹¥ç!ÞvÎÀ'cÌ4@"0‰Y€D0¤º ˜ÔÀ$œ’ê€$¦ ~– _=ZsûIïÒñ|¹ýºR¹ÕÄ,ö“‰·o[ßG[ fÝÏ?ǃmY$²8³i‰ «rcRa–&n÷•{Pþ‘Äÿ¶s&TɤYM†ÕSÖÛ´v+Þ3­"_meá×h+‰[ë²eù¥,·¢DLF|šGBÎÜ}òoä„?5"”,%üÅ ñ«%eDRžýCj"©ÏF“H()xHžü¾Ö'¿$‘}ÚrÛÉ¿ÑËX1Ã3‹ÓbGiY0´î8/·HÜzÚ¿öaÈêY-‰ÀdF’²gfMâvÝñ{ÍŸ@üdtâ\¨RII.aúZK=Ÿ]Š× ©Áªêˤ&=Ádá>%“PF‰`v¼SðÎÝ'-ñ—›Ï‘Z$f1 ÖV·úz`ˆ[}Nš"Ky€%"+¯4êÓ¯þì¹ù¤÷çÌE36Y n¡²@ÌŠ.ÖÝ-·â†öˆ,NkZ"Ã꬘ÕÄ{_e‰ÛçÎÍ'ÿDâKË‚Kc•Ašâf­·ÕÛ­xYä´š « ÂÜjbÖQÞ¬È"1 a²Hfï;ïÜ|òoä&–_ÌLвÜÐb&¬-æFV_ Ìq«ÏM³@d)°<7°x5 %ò«_{n>ù7zË0fŒ²µ,ôU–â¡uÇûË-’aݱ}À°šÈâ,§%2¬ÎŽYÌ zY¸äæ“6 ã'®&U–8¬&fu¹¤Y$ÞæœÚq ç,Yš÷°Dd­Ëž¥ü²DFŒ÷û“ÛOZ&âŸòUq»ÕÄ,Ä-‹ÄÛŠWIÏ#‚ ++‡ÕD#¢%" e€²Düˆ=ï#7 ´Š}åί«œY n!‡²@ÌŠõËáɰîøõuXMdq–Óq Ù‘2bÌ’µí½ä&”Fö\˜ÑV–¬ «‰Y]$g‰·…±U[ ÞV•˜z[ ²P'KDÖw.“%2b¬¸ÏOnCù7r‹3F&Übnh!nY–µõ~ç•ÏÚj2­¬#V³-VW‰IÇëÑ8#øËÇ' yx÷…lÉRþ6Õ×Õ˜É"ñ¶úúbm¸ÕWïWY<Ûi‰ÈR¶`yþþíך[Qþž.ç×5Î,õtù'«f1Ï´îx:,’aE™É´šÈâÙNKdX·YÌõ>k¸¶#¯k\“‚w_UÃåV·º¢Ê,ÙVÍqo«Ïo« 1½­&f¡jL‰YOÜŸ×Ç$€Ñ+äáÌm)-±wõy|åAˆYÌ-Yì$9¨“$2zÕ}n¯q‰wùiY f1ï´H¼­¾2Z[ nõ5ÏûÕD.T”ä05p~ôé9‘ï}ü%{þ´ÇrŠÑ'³Ð§aUþÜꌚuŸQÚçÈ´¢|qZEÌâ¹I‹dZ¶K•sºl{nU>u7Eòœçª*“%bV׋™EbÖ%·[$ÃúÄæ'Ãj"ë>£øb5KDª‘Es£ ñîOš‘gþ/ûWh‘˜ÅxÕȰjÖºÕÄ-Ì*ëWY2”þèÿÞóÕ_=Zr·JïÑ–+%ftf5q ½”bÖK n·HÜŠwUÑ¥³–È°Ž©ßÑå£Ûm}?—à¾n4yN e>a6‹Ä,ÌUk Ĭ{9âÅnf‘ +Ÿ «‰¬'œú}š–ˆ[õÍ-ï=âÞ_Ÿ™ˆ÷ ÛŽ0j8–8Œ™í(-rêÜ7§9}>Ê £hÛñ„Щ“_JþÑ›å¹צx^ôÏèšÅHe¡“²­;Ö^Ýn‘ ëÛÕ «‰¬šÒTúãø÷N‰)ÌšE—OmŸos¯£G¤ÁK-Jª‡É&˜„yJ‰À¥¨^À걘I $­Ë[ÐágWêÉ™”þì‘!Úg:_ëˆÿ9i–õ+~Y f1^Z$ê“Þ­&~Ä>íˆ ²3$wú”7 äW¯ÖÜ«Ò{µçb¡YMÌbOi‘x[U îm ëŒ÷Ö «‰,NlZ"nur$5æsÛõþ¼îñ 7 %:¼z˜,O—¥ô|µV0¥<¢¡J>s¥žQy"Èí ¨¸RÌLé'hv }äæ”# ;‡qÓ²LÐbèjKÉ0+Ïúa5ñ#Ö©èG‘¥Àò¬ÈÊsߥ¿zµ¾Þ³SÇk½ï¯%1bJì'$ Ò±Ä:û[’Àrµ…K $õD¦ÃÏCéœÈaÚ,¶|P»^WîKù'òüo±£‚«Èf¸…Ùkma>»uÏÓj2Ûʇ_£­"f=åãIY$êGdn5GD&ÎÜ™Ò2õß×W&h‘˜ÅL¨-aÕÁ­&nõ‰iˆ,e–ˆ[}e0 äW¿¶Ü™Òûuä⎣YMÜB_eÈzføo‡—%âV¼ êˆ,ÎrZ"Ãêì˜ÕdĘj×Ï{Sþ‰Ä‹îùHÙ,·0½­žãn[žëf5V="s«‰YOD¹;,’aÕ#2·šÌÞw&ÎÜÒ2ñ¹rÇÌ-³˜ k«‰[}U0 Ä­>GÍ‘¥LÀq«¯ füê×–»Tþžn÷×õË,E- }•¥x`=³üˆ—^ËÖ'Ïd·šÈâ,§%2¬ÎŽYÌ zßsî}çn•6 ŸÿoU¾òAí°Š¸ÕÍmõœ³¶0 Ýê3Æ,œU²8ËiéLpëÛþ¸ÕdÆØ™x箕–‰xOÀýþÊ„YMÌb&h‘x[±Fôm¸UÉÜ‘¥a‰¸UÉÜñ#b„öÜ·ÒFè}æ:9B²@ÜBeÈ:â/Ør›%2¬£FÛ¬&²8Ëi‰¸…ìÈ1v¦—Ü·ÒsÿÜ0Üó‘å°š˜ÕNÍ"ñ¶0›Ôˆ[˜'²@dila‰¸õÎÒ·@FŒ÷ùÉý+-OrO¼5q»ÕÄ,Ä-‹ÄÛz¯ñjto Ä­zÜäˆ,FDKÄ­zÜ䈱Çã¹!‰=,m„â½ß#dˆ[È¡,YÇÏ›D0œ¥zjRYœã´D†Õ¹1«Éˆ°ó¼ä.–žù=W}´•ú†ÕĬ~i‰·…¹¤¶@ÜÂ,‘"K# KÄ­wn—æȈ±â>>¹åßÈÍr3n17´·,Ë ,ö‚–÷TV>u©ÀèUgð8rçIËéñÎ#§f¸…<È‘õ\³?ñ`T–ˆ[={Í‘ÅyIKdX-³šXïû±îúü¡Þúlçl»yU:ª¯´H†•u‡ÕÄ­ÚvÂ-aí±UİšÈÂÃ_Y"f-wa˜EbGDÜû•;Oz&–\À12!‹™VÅíVgBpË"1‹}¥¥ÞÿêבûEZ¿bŸþ{›¹7 dX•i·š˜Õ[‘˜EâmÕV$Þˆ,Ž-³–Oîëg‰q¯¯~¡ÔàM£ŒšŽ#§c–Ã´Ð‰Ý G;tž38^!"G€ŽÆ¸s+¥C}Εëóu ¶ŠÔ£Ëø¿V­ ͨf¸Õ3½­&Óª€ÝbNÌÊGBÃ*bÖPÊ"Öh¨>Žc!çë)xþŸXq1SÉrB‰`KJ $uº%BR=ô5 `.Ÿ®­Û–[?þ9^—ÖìæS?³HÌb­­&nõ©hȰò!ưšÈâl¤%âV=êp dô¾â^ïÜüÑ3±æ ‰‘ YÌ„YˆÛÛêL «&­[=±Ýê™dæ–,ÆMK™pktªgõ¯½_õ‚ëÅuIˆMNsÐg:îÔ•ÍœtxÕ‚#@‡SŽ€;9 ¬?õpm]·ÜóñÏÈ™«!ʪ‡~n¸ÕsÕÛjbVï9e‰,>Π%" ;@Éq«{˜Ô`ô½¢^î×ç3Ò°½¶ëži¤¼H꘭%¦Å¤:ùM*0¤>%ád•Ä€!yN$õ™/©ÁÏ>½sãÇ¿ÑËX1Ã3‹ËB×e)Z¸‹‘Eâmõ ƒµ"‹s›–Ȱ:[f1°øÀmÙsI{;ê__i‰Èâ´õ¶šX[ñªïÙ‰·ÕO2¬-Yج-ÑVMÈѯ"f1lZ$êSÀ­&³÷ù`åŽûÊO}Ïh²¿vîNÙ|d‘˜Å1ó¶Šx[kÔ*ùIF[õcµ·ÕĬ'î\k ‹dXõ“¶[Mfï3î+6‰8.ÏÄ‹)Ž‘ Y–Zˆ{´…ܨ­>¬-œ£­š™ÞVÏU³·,ËYu.¸ÕgÇ8b=NxæÔû”éÃóÿ-Üw `È"1 £6Ú*bÖö‰åWn‘Œ¶ò—\oª€9ÏŸ¾Ü Yɰê‡\·šÌ¾WÔñ wâ yþ ì¼|wÔ´HÌbÔÞVo«Ïk d´Õ3ÕÚjbã¦E2¬:Üj2{Ÿ?:>·Û»¯KEžo¶Ö÷Ïœ²@ÜÂO“ÞV·ž¾æ~Õ²@¦U?MºUd±{¶sÍÉçùòŽW£÷´HÌbï­­&ÓŠ‰9¤ãxõˆÃ×Ä,æɰê‡\·šüèÕúü©è I#VS3>—Š˜ÅžÒ"mÕÙâm51 gº,³p~Ê"VçÆ¬&£÷õ5õ}=·O}å*òüq ߤÝ*â¾ÎÊq ¿ËÉ™V}íu«ˆ[ÿýïÿòöò°endstream endobj 6 0 obj 62149 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 9 0 obj <> endobj 10 0 obj <> endobj 8 0 obj <> endobj 2 0 obj <>endobj xref 0 11 0000000000 65535 f 0000062473 00000 n 0000062685 00000 n 0000062414 00000 n 0000062255 00000 n 0000000015 00000 n 0000062234 00000 n 0000062521 00000 n 0000062621 00000 n 0000062562 00000 n 0000062591 00000 n trailer << /Size 11 /Root 1 0 R /Info 2 0 R /ID [(Õ2P\ryÇï÷špÄ)(Õ2P\ryÇï÷špÄ)] >> startxref 62819 %%EOF sparskit-2.0.0/DOC/jpwh.pdf0000640000265600020320000012351710213267554014557 0ustar tilleaadmin%PDF-1.3 %Çì¢ 5 0 obj <> stream xœl½M4]w¥5~Å=©Ud|G ÚÈnŒý"`Ü‚ˆ4 øûDäYk]+«,ËzÞºêº+####ÎÙgï³ÿóŸ××ôçõüŸþû¿ÿú¯þåøóŸþß¿^þûûÿÿÓ_ÿù¯é-üÑþã÷Ÿÿúo·tþ™Ö¯éXæ?û?þÿxús\_Ó5­ö××µ®ÛŸ¿}ÿõ_üÝøó?ÿ‡ýßþéŸþþoÿòÿÍŸú»û?ÿëŸÿî_þÇúóÏÿþþñþù_ÿüãßþÛ÷çøúç¯ÿåßÿý?þÝøwÓuœ_ÿåßþ¯¿þþoýOÝëuÌÛùçÿ»_çÿükš÷ןk½¾ö×ögÙ_¯?ËvM_çöçÿùßÿú׿æÛ^æå‘ç}ùÚ—?ë¶®_Ûüç»Éñµ.þïÛŸ¶}ý:×¶ Xó~|ÍûÃ^_ç5þ–ÉòuúO_뇉t¼æ¯cm ‚t-?þ$Ò¹_ÇÕ$Ò|¼¹nË}¸ÇûÀMî6?*V¦­ùxŸ¢ÛºOã:þ–Éþµ­?ÿ–-H[û×r|Z&eÓ×~}X!Xó}¹Lï¿ÿúzMã¸LîëaúñéÄ‚`q¶ Xó9}›ïßïW ¹¾fŸûsûzb¾ßþ6$ík߆³ßa[Z‚`÷·¯ýÈïçóúz=ÿfº¿ãR7¹ÿÑkÖk­çׇdPÎøÓ1òÂü^_¡RDÊš¯ùkÎìt¿áñu ¹_òúq<–ÊÙ÷¯ûNÒR–ŽÚŠ~ä÷óµÍÏU3ÝwŠ}Éú|n²®¯ë¹š_ç×} ù.rÿ»IWÛþzÿݲBÊZ^Ë×öåkýÚß×äøÚ¦Ï3)ç˜t£‰)ë¾i­ ‚uÞ§h^Û‚`-÷ÿžÎ‡Ý÷Þs»É}cñÝî¸?ï«-gË‹wd ‚µL÷ëϺ^Ç×òþ<ÿjö÷éº/‚ɤ­eçf½ïªÇ<þ”ÉþµÏ?ÿ–-Ö1û)k¹¯Æ×þ°×s޾›Ü÷•ëç+Ú‚`÷]úþ¦•ÁZæq§\Ïý¹Ë}7¹¾–ÝŸÏ}Í.mA°òŽbA°–ûŽ´ ƒûŸMÓ?e©ÿ¶¥å¾ooÏ<¶¯íýlƒœÏ¹ê¾ßO{[²Žû3ž>¬¬å~6Ío6=‡üÝd}F*?^ÑëØu•Ä‚`-Ëõ²¬÷ï–qºLî7Ï~Nã(b…”µßwö{ PVH[>V¬z?¶–uŒZÖû^´«>ä¾ß\?_Ñk¹‡cÏÝe½ù5®çåëÚþ-[¬e{=ßÕ{Œúâ}¹Ç®‹¯Ám}î!·õ §¾ì_‡¯ˆû>³–ˆ“OÌçÐ7%N@œó¾cœG9œmŸBœ€8Ëý®¯çúßÞc»ï&Ë×ËG4±¤¬¼•Xõn_¿Þ]¬z¿¶–û3ÛŸ«q}í¾›\Ï3ÿóŒÇ‚`-ûx®­ë{ÔöÝdû:}Ÿ¯çš( ‚uœº_Ä‚`÷¸í}ï‰)kŸ¿Öùà Áºîë~ÿ8.Ö²ëã¿¿ëóøv™Üÿnº~œ¯Xœ/¬¼£Xý®m-÷þ¹þ—÷Ðó»ÀùŒmtÝŒ±7¤¬¼^¬¬åÐ\ÞcËï&ë×å'Ê=uÛ϶ eçs_j+ëXÆ8 ‚uÞcÐ×Ök¹KÇó™ÍïÏw‘ûoþ<øH|¤å\Þc¦u~V¿›Ü×Åñ9•Å‚`ñ‚¶ XË©ÅüÓ~7Y¿^ëÏW´ÕÇðʈyÕy°ÁZîÑÌþüËé=ý.r5ÖéÇߊÅß*ëž/>á²LÊZ®u<¦÷ó»É}³<¾¢-Ör7ß/ød~X¾&]ÍÛ=B|;#A°òm‰ÁZï‘Î3K\_ï1æw“ë¹KËÒÍÿõ~7Ùžñ›ÎÖ1î@± e÷hóü°BÊ:×ç‰ÝVVÞQ,Ö9›K¤€vô*ɤ¬UWVHYû5¾X!XëkY–ë=òý†<ÿn>>?k¬|Öeíëô¾k`™´µNã ±\ïññw“óyzÅãkk)ÇŸ+ë¹®ÇQ½GÑßM¶'*òãØmA°ÖiœÁå|¿‹\Ó;Ö¼<ÓÞå|i¿ OÈããýÅ ÀÙïÁζ·Á:–w)g½ŸÝ×ûÞ£Ùï&ëùø<&KuvòÇíÔËÛYï±óû(÷x÷»È=Y}åÝÏ–é¹òŽ÷Hö»ÉþÄ5>î}X¬cñ!,ÖýÃ3Ú¸ÿó7YžèÇW´ÕÇk›Æùà Á:Ö'‚`Ý·Âw hÙŸAíwƒë0~^ –Hùë–HÏ ë¹Ñ-û{°úÝd{Οo0ëž›¾'ŒËö¬~¹‚‹/d¹°BÊ:×÷3É c|“pʹî¯÷ùñj!e­Ûü6.Û{úÝä|&OŸg!k½û ³—í=¸ün²=“:Y×ûѱÜgh¼Éý7W_ð ˜b…´u¿“÷…‹eòaé,—åOë™JÎï¿õì}79ž ÆÇt ‚µî:Óë3ÚûnpEü—F : gA'çÀN@œõþâ=§ey¿‹ÜÌÍ.ñ°BÊzBÓó~—÷0ï»Éþ„3Æ»SØ ‚•/o,Özß@Ÿ¥†eyó¾›,Ï„óÇ+Ú‚`íÛ5n®± Xë}_––ûtãJ¹žpÆçp +?k}_ó{,øßh] óû&#'7ûH²Ö$/+k½íÏÀ2]ZA ¹_x]~¼b,^ë `>aßeÚ´¦9¿«Ó˜%$Òz½y£YKZ-KZ>5‘pÖë}Ä÷ùÔ"TÈ4±T¥àVHYO8ûæ.¯Í‹P!G–—ò©Ç‚`9‹ÁÚî Â3}]^“–ª k–ªöÀ‚`m÷”ä>Ôù:´%°¼^YŠò=®$ßõÊrØËäà »m‰|¼â´¾¯£ùZµ$9XüÊ+ÚêcÈòÖ:|° X·cAÊ:Æ€±¬¬ë5žhX²Öqí–k~=K”gYEø[Û4BIóõÒzdaI-ïÛk»§ôÏý`>w-¬A®,¬å_Æ‚`m÷÷e°E k= kÛü­óqi +ä ù»±-?¬²ž%ÝgYk>6/a…œ,a)L„ÁÚîQýûÎZw ØXœÊ¿³ÔÛÖ±:[¬í¾{> Vó~jÙ)äY"Ÿü­Xü-¬'_à ÙÎû¦%ÈÁâ”&òX,^Ѥ¬s,ˆ”RÖ5üe…`m÷3i³I‹S•…®ißÐX¬m{½ÃÒóvhq*d±„¥ÀVH[>;X9_Xyß±8m圶DʺÖñ¬Ä )k»¿ ÏJÚ¼­cÕ p°´æ“c €ä¥ÿH¤íþßÛûd½´fYjeͧô••5,þ¾-HYÊ)+¤¬œÒX!Xç9æáX¬<ôÖ]«t‹??ÎbA°4?C À¹æ1$G‚”uèVŒ‚åˆí¼.Y4Ù³’wž#Ò€Áºæ1¼Ç‚”µ!OY!{­VŽ9μ\Z ¹/ê-·ˆå‡RÖ9u$¬¶ÎÛ(Ëë~¤îŸ RËŠùþÝX‡„œ¬VÞÉ÷Ù‰Á:וƂ”uHY!XOjÝöaA°¶ûAs¼ÏĬõQÈ–õQ•‘pgE‚`åÛ2ŸcÕ2àY|ñ1]ïÅWœ|ŸìÔß95$š7­EBάE:• RÖ5Â@e…`m§®yÒŠ%dÍŠ¥×™° XÛ={V1çéÐÊ`È3øÏ¾nÖ±BÊr†VHYÚÆ iëA¬²LÊò¤w¾èóÇ4øùwY±T R–&(e…`iÉ) ±¦Ø’ ÖõÁ.,–ÀóôÒ²fÀÂÚ§&ÑH¬ëµéÝØ‚`9ãe~^Õ ¹XÕÔT ‚•‰G,HY»&WX!±æ×®ëÍVþ–WÒî[¨?Cv/~^Óˆ­!AÖKï'RH$Ǩ¦ëòÒ§È|”^útê–I[¾¹båv[–ã¨X&Öß^«Øç,ÃçÉ)¤­ý†.I ¯BÞS ­ÃC®,Äç{ ‚•{,–×§¦mÖ¢>dË¢~®¬,å àhñ' ZB°<ÐĂĺŸ"zšÚ*RïO+Óz:Ád›’hë6VHYy"­›SBN üD ÁÊ)ëz_ÚQôc¿ÖXžÖI9kÒÀ‰“ŸQ2N´(É—~¤€’ü 锇~F¹‡Æ%è'^ÆÑ¹i9ì`²¾’ìàˆVHYβ iËC,“²ðÄ )ËK?Ó²:½"ä -B³,HYh`…”¥åš²B°œ™;-/'O„,Ižpî4+7æX,Ï’° Xy$·Ò5B–WÒ5<ÿÆ )ë8F!VÈÇß¡òi^œˆ²'ÃËX¬\± ±æ×4¢ž±Šð·¼`3M—’:Bæ9I^l iËÇŠ•£Çò¢!VÖý ÖФþ–ÃjÓ´}d¤<ÿ,UO#dÇÑÓ8€8¹¾íì̯SCy9êxFÔ4ÍN5 Ù’jâÈËqS,H¬û 4·U„¿åxîôº~¤­LÓDÚŠ‡‰±BÚòÀˤ- °LÊr<+¤­ó½:Y’@9®Û^›` g`21)K«e…`y ÒÖH`hË$Öý™ib«+á…פ”Èš”¯)”‚•'m,HY9ÖX!±î‰éˆ·Ç*RÖ¦€VHYyß±Bê=>E³¯ët¦Ïóãó/^Ÿƒl ²ËñjÜër1=„bz‡š° Xy=KqhŠT¤,“²BʺÆ÷²¬ŽÊÃ×å¢{åûŠ"A"]ÇHn@‚Xºts#AºÆt®¤ŽI¹AÏG¯“«6У¸,“²|ÓÄ )Ëaa¬²®~n±»ŠCLö_ÙUXÞ.ÀGÏv&X.¥Â‚ÄJd(V‘²¶®.+¤,…¾Ë )ëzOK2èó0Ê$žç¤s¾LØžÀËX¶.)–I¬{4]c)kkqe…ðŠŽ;_RÇå½g³ƒÚNÂç)+ç9¤¬„)ÉGk„¯Ý»S°9…cªHµ2íFL ‚å8($VV bÁzÉgW‘õWàóàýÙÙ4Ó¤²LÊò\+k~¦kÿ-Hý-OÞž»¶và©Í5rôÙ\#äø•sXVHmÁ¡É¤,ߥ°BbÕ{”U¤käß½¶l®Âæ^ÙÂÄJ>i¬"µ‡¦ ¯Õ›p„llÂqìïÝ;J(ÇS ¤í÷¦Ͻãs£Ž×ZuhBˆÁÊ ,¤ÿÖ(rÖC”™Ruh% ‚åµË'H›k„°¹†' XÚÎCá¢çSqf¢ ›k8\„Ára:$ã[EjÓ‚žQÁÜ‘¡çŸ%ÐRK’Æ}H-yØÉ ¤Œú, ݃ ±(iV¡r¤€>&Õ·?ó8çš°wˆctX²üA`…`]×HâÅ‚Äb f«Hí|¢Tƒ×œÝJBj·¥`Ab%®«Ö4x2¤vQQÔù”j’ƒç\BG±B°˜;Ú‚ÌÓ¯¼Äç˜?ó_»•8Š€9~e/–‚åÌ3,ÈA^¢æô±ŠÔ^+Š¢>—ñë#®úšj?Ë2Ár´ ‹OÍV‘¶Fü½-“²Öï*+kÖ®CXzZ®½¼LÈÄ0F2hǃC$“²28ŒÒ––Ë2ÁšŸØùÒ‡©¿•ÉÕË{ÓüÚ¿'€½i|Ÿ²`ßߥìp×rüI[rŒ ‚4lK )ɧ)'ª¤wäCáÀ5O‡(²ÆöÄm…Ô{;õÔZ¼?¤6‘+IeA°´’T$–Wl°Šð·FÜeyRŒ•–.°°!]®3¤\‹XJÓ-++‡%.œù¥÷)¤­±•{[&uT*r¿-o€©mò^-Ä‚üÚL¯­,­—‰åðVþVÂO³·ÉƒÔ–{#;¾,Èò3_¾­åg¾|Yå#_¾ýX¿÷· %$–SݰŠð·2jŸ´u 6ÙYH€_;–€¤B $’R-‘Ù÷ŠK*€”Ѭ%@í^èãä-!l9˜[V–˜Ë‚Ärb V,%Æ”Áš7MycAj[EÇ_Ù ÑdbsB-i—R––´Ë Áòú¤-OŒ±Lêyzy;DHmšè)B,Ho­xÛV– gÊ‚”õN÷mÉ 1,KEÊòô++q§X²w ÁZV}ñbAʛеrVeÃxʼæ6° eî‘ Xca¨¤%]•)ËE$>¬×gñR‘:ò‘J¹ZŒ–1~üøýHÐiE¤¬Q£W’ŽËê e=›.¼f±Bêõ2ÁY³«sHíê¬5Y,Hí׬5Y,HíĬ5Y,HíÄ<ê»°Š`yµ ÒG?Ö§žx½ªQBj¿æ‘áÜV–RœË‚ÄÊ4?V‘².]U‘ jhè—ìÂÎÏÞÄ‚`e¨ R–‡êX!µ-¸Ø*‚•ax,Hín=鮹xßjûV«Ö ­½j[4ÜÁr‚$–‹Ö±Š”åïV–C[X²FÓá¶B°æÑ­,Híó­`î“´w†ÛboÀ—R–#µX!e9T‹‚5O»îz¶ eÍ£Ñ[Y!e-—V±BÊZW Vc…ô™p¨bÎ.å!ìRž1E,V&ƒ± e9rR1¤5øXE°2eŒÁšOM]bA°–Ñ:©,HY›ÂYX!µ÷{®¯ìØÂ^ì°bAÚ¡¾¶Lʱ¾’ â¸Â©HY¹Rc…`9(Š©ë•éò䃹/ç\»ÍZòBÊr VHYÎbÁ Áâ}Ûª3QÇ¥ì‡ç^êÝæMØGÞ™X¬Œ·cAÊòx+$ãm[EÊRþ@Y!XÎÀ‚`-›®ËX²v}Û±B°VÏbAꬎEøgv?ÊÖØu?“z¤¬1¯¢ë÷žÔ£„Ä‹ùQü#¿w/Fβ+" ‚µúy ò«/Áò'¨bÏdªýÿ=ÖŽ2ýêЖ –‹š° eye+¤-?¹±LÚ­CÛ2©£wbõ“Çó‘iýü³íùÆj pü¬ì+)à ²ÏCZIœÅ pü,ÿCpLΤ{ò|U²B#„ÝbAÊòˆ+d¡°Ï#Z[E°T8TË%X²”ßRVVžÆ± e ±b…t«‡1Ç9.·8€TKÍã° Õ.AWäªâÅ1‰UË£=,–—-± Õ6B1º'Q%Ž!{•8î:Š%%Ž{Ž4­ÊÂìB*–«–Sä± Xþ¦cAêèUJðܯöâ‚㪠*À iKke™`%c-¤þ–—šžs©BÈÚ%x>Ž© ú¾cAb¥°'V,û° u\ŠP=£&†T‹=k± XMcAb%4«Ö|éÛ ‚µŒ&·eAÊÝöÚ áès5j Á7ý(s,ÇǤ8qRÔc€ã”88¿Å ¨cV’Ë“¬RÈjS¡,@,ÈI)¤²cÁRÁmY,­Á#à,ó£*RÖè´ÚVHY£·_[!ç¯2Î'&ûYÆyë¯ÒK,HYŠ\—²þ*ÀŒUK¡k¤€õWù%„£òœÿØÓøÃä¨fšóc…”åÙ¤zæ(Ù +Éö±Š`9Ù R–ª×Ê )ëüqôE°\—†©^>ÊÚ9æôò1Y^U…ªÑv¬²œÛƒ‚•ÜžX²´k^Y!e9+¤­..I ŽÝ•äÏ@½ƒBªGÖt± Õ£Çã¡9=zBÊòx+ËÙX²´¦[VGïš'ÓB5¨!ÕÈc†²LÊRímY! •ªc»+¬"XžZE Àq–¤,Ç,°B°³ˆ©wèQÑäN>!sõûÉ4HíøAÊU+kü± ÖHNmK¤¬Œ¯b…”µLûW ikQä ˤ¬uÒ˜(VH‰ÌM¦t4 é^Eº÷Oô*2Ù©eÍùZ\ÌÒ–Ï– Vf± Xœ/[¬uôé. R½<Ò|¹ARÈÔ]”Æ" VS [¶4©@('“ŠH!ey-+¤¬ŒYc…Ô;Ìs÷å¾Mêåçn,ÈE­Ÿ»¶Š`å¹ ‚å$w,Ö:ùó±áèUuôÜl»SÔ º›”î×%™t'’mÁÊ(9ËyX¬ÄKbAÊò++#îX²æ±nVVÈïóµ_çúÞãU=¬Teòa)†V–£jXÉ~‰Ò–Ï竬ù½à^ÒŽr_Jéc÷ì­,ÝÃïýïRã;VÚ¹-™ÄJ.G¬"eiŸ²B°üécAʚdz²¬²FÃè¶BxÞÖïãŽÐG}´\‰‹Píº4fµT viÈ P’ÆîHHÖF”¤R]¤$ô#Öùü8êËé³åoñ³Å°vVIïÚdqÄ*‚åï'¤,}?Ë )klIU’Ž3ë‘ X^Ç‚`ù)Kßá²BÚ¸¶L°våSaAèì±Ìv¥pý€]uŒ™Ùbñ±¾¼+D–—Û° ei“å²B°<âÁ‚`mÚ½ R–F[°zk z|{Z‹©~á †Ä*‚å=° XÎ×Á‚`yŠÁÊ =¤,íu]VHuN÷áåt ÏÝÌR‘ê)ž+"=ÅCÊÊ+Ë›EaA°rŠ¡‹¹SÓ·-ýÂMöê®Éc,H[ T—eR–ÕX!e9`ŠÒ–‚Ðe™ìÕ݃ämùÜtcÛÒ7¤ú±+« R–âe…`9N€Áò£-R@;>ÇH&eiy¶¬¬C}X± X×Ëמ-–‡Ç«»Txe5!AªG¼Â±X,gÂaA°\ªÁÒŠRΩ\`$ë½dµ¬é6Ò}äGŒ V‘ê#¯%+,– J± X^8À‚”¥زBÊR³Ö²Bú=޼ {ú¢rÕ•žôQÄ )+ߨX!e9ʆRÖ¾ê+¤¬CͰBÚµµ% ”sªh )+«…÷MXu»“bÛQÿ PŽÇëH!XÞ RÖXÍ(É'#íÅÝè!ô¬÷Ò"¤,•x–‚åO,–—± X.¼Ç‚”¥Þñe…`]*&Ç‚`åA:«Ç}À2¥$WùfqÊQ®ŽŽë^âà8ê''ß;|‰âdÆ<»=¤ºÖ; R–GŒX!X^dÁ‚`%v ‚uh×(,Ö¥š ,–Rû—9më èmïd $HY#u·$gî"A°œ¹‹ÁòNX²öqÓA2ÀÉxj:\þk2¿(ÿu´,VHY®#À )ËuX!ee¬+¤-õø*ˤ¬ã5êä±Bú=zÞ9­®Ú 9(ÉuL-¤,Ï<±BÊòÌ+Ë)8X²”)\VHY޼a…`9Ke™^.Ý Y(ðÕ2{Y!XyZÅ‚”¥Ç’ŽÖ¢qÊ9GÆqI!K•B¯Áëp=®ÁEÑ®ŸgH!XN‹Á‚`9- R–cnX!XyžÅ‚”åwÒ–âe™`*¨Ç‚`%òñZT¸ Ù©îËÌHHíÄ ˆ’å–8$G B´€YRH¤C­‡ ‘®ICØHè÷%;_—ˈõÄyÍÔ+¦$‘¶\q†eÒ–+ΰL>,Í´ÊòÜ«-í@X–H[®×Ä2ùxŠœÌ×î*â‹*bÅs± eiÄQV–S8° X^ÇÅ‚`Ú ‚åáâ=¸Tí/d£BX±@,–£,X,‡Y° XÞÛ ‚å:,HYêG\VHYëø’—RgBãªù<]mlòt_L¬ç=°*I «BÊò¸ +¤,§èa…´¥Ne™”u©–+¤,G(ïÛ¬êˆ!gêˆ=G/+˱G,–‚Håh—Ò’B°<÷Æ‚”¥D©²B°.eaAú<Œ Î}yº:dM…°cX²µ)+Ë[~aAÊRlY!Xœ[¬ó5’ѱ uôJí¼.]69_Ô.+µ+¤,=r‘ ÊqîRHY~Rb…”u*…+¤¬|²Çêúæ#ÕÆy’Ä‚`9 ‚år,HYŠË—‚åL",V>ÙX¬K;}bAê=úþy¼\»²P»¬Uo,HYšå”‚å,,–çõX,•öCuÉÇ+•ÉŽ$#…”•QP¬¶< Â2)Ëól¬¶ÆD»$r•F )Ëù:÷0JÕË=ÕË;•R–Oe…`yw,–³z° e0kI8WD‚`y6qµ\Ÿm²Ï©qöºVY&ee„+¤,m"”ãVkH!e¹+¤­}ä•eRVžHÛîÊë‹ÊkÅ]° XynÅ‚”åçV–ã.X²´þPVÖ©ø° e©ËiY!X—ö÷Á‚”¥¶Ëe…`eü¾Í®Ù¨׊Ë^,–C¼X­êÆ_?^R–BÁe…`9Sà2»nÜd›RÅí¬²<)Ç iK³ò²LÊrœ +¤,g `…´¥L²LÚò8ˤ,Ç•±BÚÉÍ% ”ãÜæ{ˆîš÷“šwuaA°\ð„ÁrI(ËyÒX,—qbA°ÎE3óX¬k´B Àq¶ë=2ýúèù;¯kª+”b €ä\×H$§ºF %öa €äš¢H¤<Û–SeÜ!ë‹òråèc…”•ï\,¾—e)ìU–IYyºÅ iËß&¬|ã°à )+³Úeu…yÈ‘’nçwbA°<­PŽgµH!e)»³¬,v"àœ*üE‚`]ªÿÀ‚`97á~Ø»Ìûér[w®š¿ûI…•gWYþ챸Êz>þRÆÕP¿‰¹e ÐŽ¯$®˜²´Î^–H[~Úaåù×Öñó põay\6]n©FóªQÂT£y˰ X—aA°¼¶…ÁòÕ=]nIyïBSRH$gÅ A"9) ‚¤œ˜’B´^I!‘\†‰äætº7|ÈUÍèu+Ä )ˬ²øÁ iK)æe™”å¥\¬¶´{~Y&XËK¡ŒXú[N§ÛÑChZïÅ\,–ƒ÷X,ï± eè}I8ž¶!A°.mLŒ‰uŸ›1uˆU„¿•¯Óé6ójlï¯J,V¾+± eùË‚R–¿-X!X~|`A°®m„*° eïy|I8ýLGÚڇЌÞS;,HY þ”‚åèË‹>X¬\%± W•ãë±r¤í{H5‡WAKY!XãÁE?Öïõ`Å0Àqù ¤,5#(+$ÖòÒVÖ±ŠÔ{³ƒiOOx£ÇëÝ"Õ‰¥¤Ô²LÊrR*VH[Z )ˤ-MGÊ2)ëT™ VHY^äÀ é÷¨²‹iOëøj0¯…‰²Bªu¼ŸF± X^rÀ‚`å9 R–Ê3Ê ©£Ï瘆ï!ÕÌ]KZX,>m[²òiÇ Árp ‚ŧm ‚ŧm ‚åmQ¦-mÚMöjÓ®%¬¶4ù,ˤ,O>±BÊòt+¤,o‹‚‚µ¼´Ü R֤ĬzE'8L[Ú´‡T3w•2”RmÚ•ÁrË!),Ö¥â,H5¬×²Ð´¥mzH5WWè·¬j®®r6,–ËÙ° e©œ­¬²ÎëÇ+B°Î÷—*Š~¬ß+€\JHYZ\.+¤ÎG¢k«›lÕ2Ý#ÑX!ee$+¤- E‘Ê9—‘˜RV®X\1±‰Ú‚´¥”ŲLês­­i¬RÕ}Å‚T›s_E± eù* )KI e…`y R æ=ã[ÓÀ<¤˜kS ,H·9×]+Ë…ÔX,—ÏaA°œ¨‹™m„0-n©vâÚ· RÖÜ.eüÈï½o! Kµ!Håh×ç’B°œ„ƒÁº´¤Z¥ûº]h$nR-Â=òˆÁÊu R–¯[¬,§bAÊzß8QÆüÞ)3(²´©WY!X™ÉÎn7n°ÐI¾®´©6â KaAª¸ÅX,Oܰ Xï/Š~ä÷H¡@bÝŸ×XÅŽUäw+õ'|¥þà& Â]±ˆR–ŸþX!eùéÒ–VzË2)ËO¬²Þs»×™þàãÇóç®8žü!AΟ{ ”£É_I!e)[·¬ó×>e…`©sR@;c߈–L°<ÙÄ‚”¥ž¡e…ÄZ^Ú‡2V‘²TyWVÖ¬qkQV¤,DÊ á=:ðð:Ó’=¤¤¿Óï‘ÊQþsI!XÎÆ‚”¥}Ë )ëÚ~¼"ëR;,HYÚs´¬²ÎQ±YVH¬÷Ýúýì°U¤Ø«êþu¤u»É™þî»á”¢9n9&HÎ^D Ar½0RHIÊ_,ÉÉ!»×‘þï!Õ³]y{X,ã° XÆaAÊÒþ³e…`哉•„ŒXEÊRFyY!¼¢ëé^ýßMªÿ»FpX,º° eiÔUV–†]HíŒð^K&eù.ŒR–Fpe…Äzܶ­¬"ë¯Ý0žXËg/ù'´ž"T‡…RVîQ±BÚò= ˤ-íQ–IYÞ!+¤¬Ü}b…|Xcé¬-‘²\~"XÚ*"¤:Î{´ ‚åáB¤€rwŒXêo¯è*Ëõ—X¬Ü bA°\Y‰‰uVGd.V‘zŠÊ?c[õ·7Ùª¿½ö )+wÅX!mù®ˆeRVîd±BÊâèÓo>¤ºÒ{|Œ‚•qE,HYW`…Äzǘúåxä„RÇî+nu[zésÅÅ‚”åq;V–k± X®QÄ‚”å§V–ã«OOéMV:Ó;ë+¤­'?¯”÷õ{g´£„”åô<¬¶Ô¦,“²Ë}F‘ê]R½ëŸÃ‚”¥Š®²B°T^‰€ã1$–£´XXïT†÷(ÚV¬Ù£ŽX^13…eÒ•½^> [,] Vô#¿wÝ Ë X,ÁrJÔ³£ÝLzÖ»"+¤,§Da…”å”(¬²œ¢RVf±BÚR‡ˆ²L°Þ#ú­ß#¤þ–]óâí öÚ]AŸ|$–‡/‘Êql )˵CXXËKmb)Ë%¬¬IÉÿX²Ô|¾¬ël½¼×A¿ìˆpù(b]ivDPEËYX¬|[bAbÕ9”õqžmM*CÅ‚”¥TDzBêLh€çu>6 xM»"hÃ/¤€’üDŽ€ä­5"¼º P’Ÿ‘JÛoàøgoôšoÁ²±mÂä?n ²ýÚ6 R–ƒ}X!XÞ: R–²´Ê é£×bÁëò6&Óœm\†RV b…´åÅ,“²2­ŒRV.¶Wz܇T_z5cAª/½ox± X¹áÅ‚Äâ«i«HY¾áa…`ÍÚ° Âqy±ûõr×y½ébTV–óð Õç^ùaX,çaAÊÚ}Æ ÁRäýUÕ†‰¼è`¯<Ú²œYÛ–êpÊreN[ªÃ)Ë•9e9lE £þ–Ÿï!:؇Tûqï( RÖ ·‚¥MÔÊ‚”5‘m…Äz÷{Ã*Âßâ¹Û}½i_©ïu”üC÷<@Ýñpq´(‚àh6}vgzÓ›\¯ŸÛ ´eR–RIÊ )K©$e…`9ý RÖ<ÅË )k²B긄¼-÷¦‡Ð›^Û‚”©>÷ïøbI8 /–ÁÒòdYX®Ã*RÇîoÒ™þõ!ô¯W2SY²FÍR[!XªY* RÖHëj+$ß7[EÊmÛ )ëÔÝ+¤Þ㻌à}µ}îýÁÆ (g<ß[ ¹j‚÷ó½,–R"o–.ö!Ýëþý¼j+¤zݲ XOŽG)ú‘ß Æ2â89©HY# ¤­^O).ï'¤ÊøMºÎk„SVH[£«-“²T‹UVH[£v·-,×baAêoå{¹§ó|H:ÏkÍ´$H¤<:"A"i`\Äß6KEüeC áÀóÙ¤|H5ŠIêm…`ñÙØ‚”•Ï&VÖȳ-) λšçÕR‘²Æ¦²m…ðzÊ&|×1»™¼ÈN3ù|¿c…´5Ò™Ú2)K‰Ëe…´5ªºÚ2Áâl òaýx²´¤UVH—·åFñÅçyŒRmî§W+ú‘ßkË’R Õº~Ti—‰å V‘¶ôå-Ë„WTùŒU»ùÉçY ‚5bÃ%à(4\$c3[EêõFÒÂûqh±Vd£ù»’Ú2ik,7¶eRÖXo,Éç ÿí[‚”5Ö"e…Ôëe켦A|MÝóýÁÊ73¤,3±Bb½+P–þ[Eª½½f"«»ºTë÷Ãg+­ßC°ø mA°”TR+“–XXµ$@9×üùzEx=-o¾“ÙÏ^ð¼I5kË›eAÊÚt`…`i¡·,H,—!aÁšÆVØeAª!½Gô‹›µChÖ®¢Œ¶.þzj×=¢)Ë#z¬,-¢•Ù©pXE°fÏÞbAÊ:5ZÀ ©3ñÒ8tNgw“å³=|+ïë÷Zb*%¤,-1•RVž3±BÚòÙÃÊùŒõ¤–”¢ë¯h¡ñ2w©¤ÈÊì² Õ@~,A•ÁÒTYj3?ö) ËÅXE°æy<ú"”³¬ã*C )kSÌ +„cWzÎ;=~éÖqïçêð±RUR@9~î!…`¬š’pYˆÙ¨kw´ÏV‘²Õ±B~¿¿ÉèóþhDŸ'’I[~ÏX9 XJ*+‹#µUÇŽ5Vµe…Ô+ªüí¶ÜÔrP¯>j†Ú Árh!RŽÍJ‚Ä":d«VÆà± Xóhx]¤ŽÝ#½)ÍêCª¥}>ëX!X‰âÆ‚”å(.VH,â>¶Š`ñYÛ‚ðŠJ]yOÜø^d¢]ýØ$ª$ƒr”˜RRHYJL)+‹g£-Hý­ŒS_nXP ë}éZ”ä+7R’6çADbŒ*©R¾–¼œÖßçgëÕÇ÷뮟ëŠeAÊò+¤ÑûZ ½ÉBøHrÆ*‚5O¾lA°–IãþXŽK«›ïïÂÕë7¹ªD|İ ÕŠ~¬n–ÁRÙSYzÅñ%xnVª×6 M»gàH²4Z*+d¯ríUïgI¹öš÷ìêilu‹U¤¬±%i[!eVºm…p\Ê1x?—öîëy[4jWò^[&e)y¯¬²”¼WVH[ïô€–p<åŠPGIš·”>í!4jw ‚åh5KˆeAb)K PÎHÒl)¤¬]߬¬g+øki ‚µŒÓË‚”µëÊÅ )klÑVgKé±ïñöÚ ³ïcÊÈu÷Ä‚üjXßVH·¢'ù•)k¤·²Q >в°Š´åk Ëkí¢Ê‚”unÊø‘߯#£ïN‰Žï;ÕêœiZï¹bœ€rFzU98J®Â ˆÃùS'(Ž¿ Vò…)cÄ/K(gÑs%ŽÎ<Úâð®FÝ­¸Û}ÍîUW¤,ÍGË ÁRúcY²F][!±¡‰U¤¬ëøx‡ÏG‘ e¢©¶B8veƼcQ£P²¦P]…‰m…`9 ‚¥í#Ê‚Äò–XEê¸4|}Æf*79hxïUQ¬²”×SVHYÊë)+‹cµUGå.VH½¢ˆßß¹SŠßÿ.ò#×°,–ã’X,›”)k$ý¶Ë%)XE°|‘G ¨w¨õß'¸?Šº!´¼Ï6ë½¼¢ù½·1 õ¢©–× ± ešÛ á¨;·#…Ú&ÕìÞß¹X²Æ"PI8*( Ë¥XE°r‡Š)k3±²B8.¯?ó‚¥7·¯ZY:5hC ùÙð¾$ ï7 Í#A,eå7R‘HJi, ‚´è9„‚4ú«´‚tåý’B"­cÛï’ œLÅxŸµ)•r›l4»w¶aY&e9Æ‹R–c¼X!X‰ñÆ‚´5välˤ,¯b…´uh,eR–cÁX!}¾F9Çmí*š†\)‡V:RI8Ú‚¦$–¶ ) R–ïâX!±¼*V¬ylåR¤Þáá3?«Ì²U)÷;hŒPŽ¿½H!XJ”/ +ÓZKœ§9Ô«_¯–6ù( ÂQeL²œ)Ðy:(~n‚Ø–IY¹Ä )KÙÇe…`%;+¤ËwàÅMì!4±Ï³+ËY;X,¥í Äá¦h©H[‡Þ!Ö‘÷lkñd-„£òE¹LeÕ7¨6÷ÊE‚¬?J¦[2ÀñÊ $VòPb)k40j+¤¬]÷¬,m~Sd­tEæÃ%Ó&Ë‹Âj­¸—eÒ–c^X&e©8µ¬,¢ ¶ eMÇ£‡”5k½+¤¬u¤` Ô±gÆ5¯.Ñ9(¾ö\7+³ØX²<‹Å ‰•ü„XEÚ:ÆÈ£,¬Y‰ôXãgú;£\%Ú! …Ü›â8X!X‰BÅ‚”å(VH,â„¶Š”uŒ’W%H[Û§ò㯬ÊhA`mÊqÀ‚ÔÙÔÊÔ9)™_)ôv¶Vȇ¥H}Y"e9‡+Ë[÷`AÚz’JyÿX¿w6JHQ"DÓâÒò¢qÏ•cAÊòÈ +¤,¼°Bb¹°«–§Ô‘pòtŒ)˳¬Ž=ñ‡×åRv“i¦”Ýã³X!ee­"VH[Z¬@À!ú` RVîä±BÊš/Jb…ô;Ë÷çkw ºÁE º*° ei€d'Y‘Š`=½2Þ1Xz=­·?µ*Ù(-WXY!e)Õ¼¬¢qåšÇ*R–ÖîË Áò+„ãr®ÛS«qi_Ee_´¬÷] +÷µ²¼.eRVÖåc…´åH¬¬I–å ,“Kkåe‰|X£¥z["ýKzê –ÞZøýï\TíZ/,HYÊ1.+䬒ðå‹UK[M”)K¹e…”¥˜SY!X®.œU¿êÓžTï°R®õ›’ T‹ˆäÜH™Š(iì-PRÒ2p"VµD”4rpüs)£ÍV9œ%Ï'óT=xÈõ¢jü¹Õ¡Œû÷ÊÁ.Å+•± Ö¨„hK¤,Ç{±BÊZF?²²Bêè•Tñ\iku¬{_U©<׌ R–²ÊÊ ‰•¬²XE°rG‹ÁZ^ºÄ‚p\|Ê/׺‡,T±çS´Y¨Oϧør}zH[þ±L°Ý‚´5žm™`­ÊØÁ‚”5¶íh+„3áhíq®u79_TÄÀbIåx”Š‚•X`,H[ŠÂ–eòaý8vHYJäE2è÷7ûõWÇì©`wöËs,ÈNͼæ"±Š”¥â¹²BÊz&-¥Œù½óP ei^SVH?Ó÷KÕò!Çœ:x¯Ûb…´¥õѲL°²> Ò–be™”µh}+¤­ëÇqAêè=–}¢IeÏ?Ë}fÖQÙ °Ãç.§Ž?õ8qœg½Pq9f¯û>›Û©Š?dKµ¼g®X²Æ4«$ƒJͲ"ÁrF˳,,G¥Àë±]®ÎØ'*ø=C2)+­X!XÞÕ R–ã X!ey}+¤,‘"ô;T®Üó鮽áÿ;–Úü÷"Š~ä÷^@œÔÛk] V¬ŒkbA°œ‡)Ëßk¬¬Uq,ïÑ™êOEê÷CVê÷µV‰ÁòZ%$VÖ*cÁòj:ËuŠX²´ YVH½GEãŽõôv&ÛÄŽ~ÞÅ Áâ6g ÒÖûa†òþ±~ïL[”²–±qfY!uÜ^/{6-Ön!uþªÍÂ`9Ž9Ø @ñðXE°F Àq4 ÂQñ~^Þ2 dqy>j ²¤ÐßÏ`KEüF YØÆ` %—Ãeþë‹Ê|G"…`1’´iË#I,“²¼vRÖ2zO–RÖ6é3RïÑãgL¹ë‰cBÇ{Gy± ;U÷9‹«îCÊòh+ËÃåH8«êð‘ »+²ŽÅMê!t©Wè) QµÕ’I¬TmÅ*‚å\,H½¢wszÔ‡T'{U•rQ-¯Èe¬"e)rYVVbY± XËô.{G (ÇCA¤²g¬:ªˆyV.¼7é®÷#R)Ke…Är F$@9ªö.)Ëñ|,–³9° X®ÀÁ‚ð]ÛpLézo2W×{ík‚R–Ò‘ p’ R–³±BÊrÕVHY þÅ ik_t$zªOnxpþÚW rþÜ1 àüµc@I!XëØi°,HYÊI-+kÓN8X².6±B8Ιx2¾´û@Èš½¼ª)KÙe…¬ìQ lˆXE°\á[y¹Û}ÈD‡úk¬~?XŠ…–%‚•"‡X²;‰Ò–JÊ2)k9F%VHY«òî±Bê=ºRöi€¡ÝBèvï*D,ÈÁŽ~Ù*‚åU3,HYª”-+„ãÒÒçLºªÿá ~u©/ R–ãÐX!±RÉ«HYZû,++qèX¬ÄhcA8zµx7 U5¿ÈóïR©¯ 6,“Ok\ãm]y?®ÔWÝN$ƒGl%‰ôë9Bò¬“½ƒìMèïšM,–³Õ° ;5øÊV‹U¤,ÕY–R–V±Ê Áò „£÷*Ý~¥³|Hu–ÏûNgù,>E[™Z}•VÅ*R–æÆe…`ñŽlAêèÇVJO TOxÍÒ 5ø•Ç*rU þ•cAÊÒ÷³¬¶Fü¦-“²4ã++ËÏz,HYª>*+„óå½›žY¹ŻTÿxÕÊcA~õ¢o+$VêŠbÁòZ"¤,EØÊ ÁZ—‘‡ÁÚžÍsPôcý~ Ê0à xN¸êVpÒ­Þ4$¤<×,ZÒc É $ÇÞ"”¤ÙYÿ\J®1;\t¼7—´?éâÚ„ ¤zÙ+É$V‘²´p[VHu¼×Â-ä¬ ô‹)KI&e…`ùQ‹ÁZUD)K[g—‹Gôáž÷zÞç R–’EË ‰•dÑXE°ÞYž(ú‘ß{h‰)KEáe…pÜž >;Ž.SÖçßÍ?ƒ±BÊÊã,VVê‚cAÚò@ˤ,űBê¸Ö}º%»ÿ¼ å©.õZÒŠUËKZX,v± e)-¸¬¬åÝT¥¤Þ¡K,öÝì!t²Wœ) N ‘Š`9Ì€YjÓƒSgfʦ&•jŸýµÀþ«C}I!{õž×L,HY^€Á )k™uÅ iKÛý—eÒÇ¥$Χ@L±Dƒ=EöšÚÄàx0'ÇC©8åh …c€£Âœ€8ÙÄq=G[áÄÙ_þÔäp:Á سµ‚§(›û×Cè_ωuÿú>÷¯_ç:Výׯ³Åùý:߱갥^ÒeAÊÒ–Ve…,l|à÷½¦Ë}HºÜóŽliKï¨,“²üްB°r¬± X¹DbAÊÒ–ºe…`åRйØúÀã²uöæ!›<«ŸQü#¿Ï”/ ¤,Où°BÊò++£¨X¬MX¬ýåÏÞ$£¨ûÑæ&ë̶ jX hÇã$“¶<~À2)Ëî`…`e±õɺô&Õ£Þ#ÀXê>¯…âXE°´RŒP]å=¾‹ÁZÕ` ÒÇ>¹ûò£›úMªçúÈ*É :®h|Žf X^˜Á‚`ya RÖ:B‰e…`©F) Î!sš®›,nºž•éH¤<="…”äÈ’ ÒrŽ$=¤¤<‡#… åA)¤$_üHù:МÞ÷Á9ÛCèÉž°Ÿ­"eù>‡R–ïsX!X¹ÏÅ‚`å> R–ŸX!t”Ϩ{N'õz¤{ ,ýÖü«HueWö?Ë;U`A°\Árâ>¤:Ý;¬<¥ßºÉü¢LßïÈV½G¬\'±¸rÊr(ˤ,eÙ!àdZ4¹EzÀNa½ÒÌ#Ù•ß—‚å:,–m± XZE (ÇA¤,§ÙaA°6ÇbAÊÒæùe…Ðu>³òÉ=Ù!ôQwkY!e)妬êÜ>ª(#p\‰Áò¤mYönòw:©ç¾ BWöÜ1lÁÊ#¤,mwSVÈÏ®óïÚÕHÝ :¤{în©V¸± X‰àÆ‚`e† Rýݵxýô\]>㟗’y%JÆ ù°´x]–H[^¼Æ2ù°”K^–H[NªÄ2iË‹×X&mm*ÀÀ2ikWj:–IYY~šÖjñgBWvG½céÞícˆ‚Ár< B‡w'2mWz¤‡l”¨o$ŽÇ½H,{± eé;UV–“W° Õ^ÉOkwS¹&ÊÔUÍ RV®ÔX\»eùJÅʵ‹¥$ƒrÖ}ŒBÊÊ‹k’NðNZ©çz}Ò¤«HYJÒ,+¤z®,M¤'«"AÊÒ ¬¬UcAª«¼æêÛI¯t“•RuE…cÁò8 ‚åq Ë%X¬U›êaAª¼ž‚O3¯ícW¸í¤ ºŸo± mùû‰eÒ–¿ŸX&ey÷6¬²¶idhc…´5êFKÀá ?Ò-=„®ä…aAÊRD¾¬ú {ãÀXE°<.‚”¥Vle…”uޤ÷²B°víÔ‹©÷¨,ûg+oõA©>èŠòÄ*Rεn„Áòº¤,m[V–†¤H8Þd RVÎs¬ú,æ$ŒÈ&¤,m”VVHõ©WDvÛÝz= ¦û²´ˆÄù“T $Ÿ¾HH.9Œ@ʉ±¨Æò#CvÛé¼.@tGç‘ ±R¶«–ËÖ° X^[À‚”¥è|Y!XN‘Å‚Tsù±ô÷ì5£¾ë{ªg‰H¶”ˆ_–IYNÄÇ iKÛL”eÒ–¶™(ˤ¬õ|ýø[!{µ–׆Û–î!4TwJ¤Z¸{„l«Hµpצ"X,o’Ár²¤,µ|,+¤šÙk«–mK ÷2ó\³ËÌC°ø´mAÊʧ+Ë%X,>m[jSïgîšî&ÍÙ{Æ ÙªÑ»æÈ± e¹p+¤,¯ec…´å‘&–I½òEž&ð×Gz÷¶V wχ״pÁòËù"X,9`AÊÒJQY!e)W§¬¬MÛÄbA°¼®†ik¬²¶e‚u(' ‚uj+,ÈÁ†Ó­nX°¦Þß=9âä›g€ãûgœ€8ù>Ù”£ñΙKÃëŸÇˆÅÄÙµ-o€æËázz“•FöÚí´$v¯,É+[¼Å‚|Xc#“¶DÊr´+¤¬UWb…ôÑûÚYÔî¾ÈNÙ½¶a‰U‹÷h Ò–ß#–I[£$°-¬Ì±cA°Ökûq\¶®Ç‰Åñr¾ÁB‰~ÎÍË%ú!X¼k[¶ü®±L°œ¯…Áâ]Û‚´uý8.ÈÂfZ‹ÞæÝÅ÷!%úZmoË䢸Þó)[E°œs‡Áò2+s¥X²ÆRsI8ÞÆ R–¶h/+kצX¬ÃãªX:óŽ~Ï‹7ÙÙ^ ŸF¬úIJ1€2dcÁz'É¢èG~ïÂ4H[š§—e‚Å9¶ÕŸƒ­][ÑbA8§NW6!ðùœÙ„@Û.`…`±š` R–7 iKÚe™”åÂb¬¶¼š€eÒïÑOÀión!g¶4ðà )Ä’—çâ¢xqRÒX•oÉ$’—Ý ‘vµÓC‚Ô{ßïiöÖ{(Ù8R,Þ‹­~¿X~3X¼áìŒàX,–£†‘êØ=¡|Þ¥Àdš²Aab…”•K6—uY¾d±rYceB+¤¬M»©a…”µ+"ɇIúkóž!{x4l«V¦ß± X™~Ç‚`mjž‚©ãR±Èöš¼›AȚݜ—Œ)+Ÿu¬,—`A°\àÁz—¡èG~ï\`ÈúkG‡õ:²I¨¯ûh‰ˤ-/jae™«,­j!y™«-C—$Ò–—¾°²VÖ®å±L>,Õq—%òaio²D>¬Ã+IA½rUU"™|XÚɨ,‘²²|¹^«7X9j‡…mœ÷5,lþ ²¿‚h‘ Gíœ0’± X^zÅ‚´åÏ‹OÕ–yXz‡“ÿåË;#„,µÇÂ¥c‚åÐ Ë¡,HYÿ[g–ݸ¶,ÉÿÌ]èAãÍ2% áfNåÉ?™,EÝDóD$• “M;%‰Ö9Õžµ$ZIï8^×Ô2¼©x€-‰V¾­H€ròmU‚”5KieA´Î©Œª%Ñâ;%)+ßi-ˆßD,IYS­£,HY³ŒYäm‰çAz¼ö‘¸¬1AJ’Ëê³ÕUD+Õø´$ZٞВô+>KÇýN†×f­†ã-È«Šä,ž!ð¼’ì?õ›´$eMdbY­„iiIÊš¤â² eM²XY-Îz¤úpf­º$ˆÖ½ÏXKRÖ$•”©3?y·Ç¶¦Pä l@†xH€ròŒU‚h%`JK¢•Ì[-I[ó\,+D‹«r½S©€ët!Ý?A¯Z²¸Þ°¼ËÊõ¦Å¨•Ð_-È—5ëïe i+W‰×Ö=í>´ ZŽ#ÖãOIƒÏÿ³\A^ñ \Ç€õä÷— “ô~%‰ß;,‰O<,‰Ö5é¹Z’:ö  8Ö%Õ »% ž]Ù’tu­$Ù«ðÁýœš…ºt˜s#I´îõ‰Ó’”5•åÊ‚h½ggVK¢•”Ÿc¹Sò¶@œ$€NR$”$ZI‘Ð’”•1¸¤¬L(µ ZÙ×’h]SPLK¢ÅyÆ’h½¦'£–¤¬ Œ- Rg~v$eO½ÈEQ†©>PDiŠ”AJí% RŠ (IîÙTV’(MÝÝ’ HïÙàU’\ÿû¾±¿ß)ïpæÀ7 $$ ÒVƹZŒ|ËÊ8W‹‘oYˆ 4 ÀêdDÛÎô/iÈ·õìݶ5û»eÝSï]+¤­÷ìJh…”EÈÔþ¾R&ò¶´ÃÜ5±Š”5+¡eA´¬¦%yÿS˜âçZùS´aŸÿmÐ’´õ$µ¢•Ú¶Z­”íÐ’heÍFK¢•ÀÊýõ¢¼ÃOË?±Z²2iÑ‚”•i‹¤¬ß°•çÇú}–ïT eñy½Î)1 yQˆ {geA^UB!¯xRCÁc ôÁSeC PΔ) ¢•TG-‰Ÿ)–¤¬|óµ u¦ŸÀþZ§¤ä°ˆÂôÑ’´õŒSÛ ÑJ¡X-‰Vvoµ$eMDFY²¦-‰Ïa,IYykA´îõÙGÑ’h½¦xŸ–D‹ã¹M} ÉIŠì‘hI´2D”“± D+éZ’²2ÊÓ‚h1—Ã’h½¦𖤬ɒ, ¢•]€ŸGÉ¡€œ+¥*²Q¢)‹{¤¬¬ÉkAÊJT„¤,îX²;gŠc@^´˜*Z­ÄÙjI´g«%ÑbTŒ%)+«Z­û©f¦ÐyÍú±’Dë=Å…´$XÇ2«ÌXEúœæHשi8¬i±Î‘ŽÃÏ­äã(%lI ”¨e$ÒD‹ãð³Ê+3‡8¥Ùùù¤äÅ€c±–Å„1(AÊʲª¤­YV-+¤¬T™Ñ‚”uoO¤¤¬Bíû‘ ›  mÔ’”5a eA´Æ %ÑJØ¢–D‹a –Dëž–žZ’²¦%OY­,¢ÿŒkSó²[#Ëie…”5ceA´RûEK¢•Í,-‰V–ǵ$Z¯©² %é£v²÷íþSãóÿþVÆ(+¤­IÒ/+¤¬¤ékAÊJ"–¤¬¤ákAÊbJ…ik*•òu&f ús IýŒË*“’VD‹é–¤¬L.µ Zž¯X’:®\åë;•1B¶­êģ¦Å'»UeŒ¹?bAÊJH—¤,>5,?Ù²rÔ é£Ÿ°›}½þ÷‡óùoT”›E‰8îìq:³5¦ÀIð%Ž'›QøYc6ÎT8‰*ý™¿ü©õð3W©Šs×,+äü§"„–䬊çœÚŠ!Z¾áX’²&,©,ˆ‹ñËûO݈}]ÿ©¡å™Xÿ©ÑVÎÄúO-HY¯©D¬Ñrg9Sìò²BC&²±Š´u~+ç÷ï“¿®")+Ë Z­hI´îež X-ý?_§û«mï¾Öf˜À_-‰VÒw´$GUT¸æì­TT)+› Z²&<¸,ˆV–3>ÞÔ7Èç²RM ‹jZ,³••Í -¶‡ÊúÝRy¶‡ê÷IyU ù²&®­¬!me9M‹¶²+¿½T.€ÜÔÈ"Š–¤¬YD) ¢•.Z’²&tª,ˆÖDº+t²8¢$ÑÊføö^Rq²§˜À,{èPrÍêH”æ’- ‚”‰«’)sR% R6-¶×r!ïÅr“J¤ikÒUÊ )+é*Z²&E) I7*)¤­gÎYÒ€r^û²§iëšï±VHY'n¯ýOyƒíuUyƒgĬ%¹þ)‚ÐVÈõO-‰–g+–D+ËñZ­Œ«µ$Z‰¶Ù^Ë”.l”.H¸MY­ hI´4 %ÑJ0–¤¬©³VD+Ïõí¾¦4äm±„YeÑ’he™EK¢•u-‰VžÛZ’²žµ­’t²£$)kšß–Ñâ¾yo)«9-¾0I}eA´V¤%Ñš¸"%€Ï«ëR!÷fAIw*+¤¬$2iAÊJ"“¤¬t2Ó‚”•m-Èý9éö’—éöùæiA´û¦%ÑJð›–D+ VZ-¾ŸX’:ú'úr»ÖÔ 8,0%w”$Z™(jI´0©%ÑJM!-‰V¶¶ó5)ëk5ýýÉR hg”J )+YZ²²>§)+ó$-HYIÚÎ#)òÛä÷IÒ’”õÎ+bA´*­%Ѻ÷/e~¬ßOD)­ÔÛÔ’h½gKHKRÖ„É”ÑòŠY’¶ÙMÈŸÔY-‰V6Ž´$ZÙ8Ò’heåWK¢å•K¢Å,ì¸S ä\LÜÏõåw ¬ÙB++¤¬ÉaQ (‡9¤¬‹hAú¨fÙj;ö$äC.’è³(¥%iëY¹i+D++7Z­„jIÊš%¬² Z¯Y!Ñ’”5µóÊ‚h½§Ü––¤¬ãïù’”5Õ•Ë‚`ëì´aÑÚ¸cI|Åì>lÇ’¢ +Ñ’he-HKRÖ¬•ÑÊZ–D+IZ­„•hI´’®ºíWŠ@Þ–D˜˲ Z\åX­¬EjI´¸2±$Z|jû–BÓB“$¥%Ñâ³Å’h%”NÈÖv¦(äe¹ƒIÔ’h±Ò…%)++]Z­ì0kI긦Üà¶­)9,§¤¤,>B,ÈQ¥žÐ-‰W#–¤,>E,H×”@ØÖW’üC¶µJÌz¨VH[ùÔ´øµ’²©)+`Z²RrK ÒÇ51Ûz¤äþ[V ¤D(I´ %ÑJð––D+{ûZ­\iIî*d0óËu¥AÈnñÌDZ$Z¬ÌbIÊšƒ² Z ¡×’h±æ°Ü)R².–2Ȭ]+¤,V° e±š€i+óq­²ì«)ë=½”´ _ïqV —}Ê ®$ë3wŒ#Àaõ9Ž'e‘p8÷—pÿù­/¼LZz›)õ3Â’hñ=Â’hñ=Â’hñ=Â’”•5M-ˆVÂ"µ$eMjaY­÷5ÛX­ Ö÷•ä{È›Tø¬™kIÚzâÚ ÑJ¼‚–D+¥µ$Z¯§‰@ç½<ÃJ’²fÇ­,Ö±L±¬"þ­¬L¯ï-% §ÉþS,MKRÖ“Ë]R€NR¹•$m=«am…hÍ´@'+yëÏóvû*þùo¤ÔϤ,Ž«ßÖiY¾›X™ÇjAÊJºäËz"ÚÒÖ$«—ÒÖ¤5•¢õ3Û}Æ%X’ú[ÙãZ_gJ@^–˜°–D+ûZ­ÙTèdïJI¢•]<-‰Ö{jåhI´òÌ^_[j@Ò×% %Ñú P™ý}öÿU$ZyÂjIʺŸ}²² XÇ2iÀXEêÝ=qÇëýšÄô€ÏÝæ{X^NHIS𲤥T¦T‚(qF‚ÔËå°¤·ÜæÀsÜH­d|jI´’ñ©%ÑJ_-I§jìoÉAö7_#,I[s«(+D+›ÇZ­l kIÚz¦Qm…”uçbÝžçXï© ª%ÑÊ"ëzÝ“I¹—Ê]ŸÛ¤¬,ŸjAÊÊò©¤¬‰QQ ('Ó•õÚ““¹*'ýœ×ÛÉI)ë R))઼ôcÎÂN^zˆVªjI´2lÔ’”5ÝCÊ‚\•›ÿ,®×2à’ÝÌôÙÖ’”5ËéeAöÊL¿ÿ÷õ§:¹iœ×$PÞÿäˆ+IÊšL—² ZÉtÑ’¼ÿÉëÖ’”5ùË‚heû_K¢•\-IYOáþ’pŽe²ì‘Šh­³«%ñõÜ´ž[Î!§9é³À_äü'3]Krþ“™®%ÑJ޵–äüΕ_wg“þ‡Ùäóú(}ŒsÎÛÚ9+sε e%¨D ÒÖl˜–ÒÇ•ïÀq&+ò2w{ò,Ë‚heÉMK¢•%7-‰V–Nµ$Z¹p‘í<‹0-…`ËTßÅ*¢µN’‡–¤ÎVîuÇ–ÜmÈi†÷Üô•ʙ劒 ZÉÅÔ’h%SK¢õžÅ;-IWÞÏþJV6ïp5w;wN­²i©)+¡–Z²˜–aAÚÊ;Òâ=b‘ˆ%ù²æ /+×¼¯˜ÇÑ~L>5à6çzÂΔ$ZŒ±$Zm©Ðá)ƒ$ÑbLˆ%ÑJ:̺¯“-9Ìßžt>-IYY&Ò‚h%…EK¢•ZgZ’zÅÙú[·;™Ò!ûb>õ,Ê—RV‚3´ e%8C RV²µ e%˜E RVBuÖmOv3ä2oyÉߊ%)k6³Ë‚he3[K¢•mj-IYŠSD+ábë¶$o²›Ýœ1¦D‹Ù–D+Z­ÔÒÓ’h½§œ–¤¬,iA´˜›¬×ÿ¾J½ÿFQd 5‘H¥lN Jš½ %€ÒkúÏ Jzúüéäg”Ÿçò,íŒSÀ¿ãûÝ“— 9Í8ÎPKRV†:Z­”Ð’h%JTK¢Å»ŽÐaƒ$Á:–ÙÇ*âßJäÖº¼“»²nf%ÿ.…¡Ãœåç;89Òø,«™Ô•ZÖ¶2€ÑbHSV0Z i´øîaÕ÷³ë¹ /ï#9Ò›¼æìÁkI´r¯Ö’hå^­%ÑšM¹å=Mïùù0·ù.¡t&ÒL€“83ÎôPÖÄù%ýÞ¨£ø³Æ¨pÖ3Ÿí8ÉÖf?û×ËëNvtÈ{1‡zÊ¡•RVF+Z²5¡)+ÙšZ²²Ï£ÑbKÒÖ™++¤­ÿ”RÖ6ÑIZ>«3![^G²¶!YÛ‰~Ó’heYGK¢•e-‰Vb„µ$X?çp¾F±Š”5 ;eAÊšœ² W¦€Ëk™ÜmÉn¶ødyhIÊš‰bY­DìkI´ÞSZLK¢•˜ÂåN{‰}î¹ñ`IÊš˜Â² Z‰)Ô’he§%)ëöZÊó#¿ç.CPÎW+ ¢µNl‘–ÄãÉ‚îr§Ë½ä2ã|²a´$Z ˆÒ’hÝßÊý÷÷ÙQW‘heG]K‚u,SÜ«ˆÖ:EÇ´$eMTQY­}ªºhI<ú,<.×{²É!÷F6y–MË )+˦Z²²lª)+±’Z¶&ν¬²ÞÓjD ¢õóyÌ·2–¤¬ušôjAêGüyÌ¿¦FÈ‹¬ù óV’(å. AJ±’)Õ‡”$JS³$H$â´Šð—øò^Û$žKNëóåÅ’he¢%ÑÊþŒ–˯]¬"þ-†Lç+Iì!×ZIìO¸‰¤­Y*+¤¬$‡jAÊÊ¢¤¬4UЂh9̉%©¿5KíËyNF9à&¡<ñ$%A´)¢%ÑJ¤ˆ–¤¬ )/ ‚Åž+V­u*5iI|E†ÇçšDwÈa¢ûDhI´&êK  “ /%ÉQ)ì÷÷_”3'%AÊšºÍeA°@Ç*rTQ€gŸês[˜4÷s©4÷g B RVBµ eMd¥R@;™¹)…”õÞŸbZ¶&4±¬-v¼°$mÍ2EY!m=yá% (grSJ:v†ØÇ1É÷’Ûtÿ âÖ’Ü•î?C,‰V‚¸µ$ZI>Ö’h1Ç’”5áÙeA´¸KˤèKvÓý'¤ZKRÖDð•ÑJŸ–Dk"¯•: Øÿ\Q¯¯®•ŸTÒýó<Â’hñ™aI´d¯%Ñây„%Á:Ö)V‰U¤¬ kµ ¾b—}ŸT~ÉeY€¬í`IÊšÛ†R@9¹k(A´­%Áb!«HY¹hA´X Â’x\y|oïT!°o¤ég‘\ ÒÖ³)^Ò€r²'®Ñò©KÒÖtÍ-+¤^‘oðv¦xäeY€‰¬Ñ’h1òÀ’”•‘‡D+)Z’W•>ØçLlIø‡œ&üO’¥–D+±šZ­ ÖTè¤À˜’䬲3X_”²­•¤ÿÄajAÊÊŒ¤­Ù€)+¤¬ÄajA¾¬ß=– s¬SÞIÒVî>Z!õz,­ç¤œKnÓê3eÇ’Ü•0ÿ¬Ì tRÈAI¢ÅB–D+Kòëš ÷€Ã÷‰P’”uç¯cA´RhXK¢•Ø-IY;PËõùXEþã=.wÒày é䉬т”Å;Âò=jñް|ZIÊÒ‚|Y³1UÖ²˜µ/Ǥ°nrÊŠ$PÊ6!’@)»„H‚’¦L—ÉiýHJšÍ?%@IÓD à1ñ½\–I_—줯'Õ¯,ˆ«7X-–o°$eeýF RÇõÌe×Ïöëû¬Ùíú‰!~]Z™ýýlû”"ÑšmŸ²$eýNd[ ÀɦRÿÒlkþ°}Ò%—)ðÏ´,ÉUÉ퟇cIy6–$ÑšT¥²$e=A)mA°²M£UÄ¿5K¶ëç/\ÝÑdýÄoþI/ ÒÖóÌn+¤¬É“( ÒÖ“pÛVHY³d[D+³-Iý­Yø±®In—¼L”âhË’¼þ&Ê—%Ñš ²$e=ã’¶ Z““P–¤¬'&·-V¢mµŠhÍ(§,‰¯8ñ¶?l›DyÉYiþ¿k¿3²F/{ˆ½ì}×±$eýN†[ ЙXð’$Z“ X–ä0þ™ k)ë¹´ñùF^t²¹íd?#³² må©ÒV¾‘Z!eÍJlY­ á´$_Öœ²r¾|Å)ºÿcÑñRïŸp„²$Õñþ Õ,K¢5¡šeI´¦€\Y’²žPͶ Z3Nýaé./Ùÿ¦¥—%Ñb$‡%)k†rJå<»-A°Žå·}¢’À¿Ä(礷<¤zË¿ç~€%©®ñÏVuY’î¿>ß),I[3Ê)+DkV·Ë’TÏûŒÑÎ4V—Ð}Á’D‰#E‚””U ±Ù{ÆgH’HÇúÔRV*¢ô{ÉjÞeIÊz6Ú‚hͦCY¬c{:hÑ:2À’t;øa;ÝÒ±ªaúöÜŸʹ÷/ãù±~?QH¥@Êš(¤² Z>þcIú¨×y€î4.‡Ø¸|¶²Ê’h1Ä’”5ãA¥Y@/IRVKZ¬cyšÈk©îèí¶@©†äy0bI´|×±$eeÈ«9L$_Öo«HY¯yTiAê蟥¦õ³ðûî`¢õ3Í4ùûw©©,H[yGZ¼Ç²2`× ÑrÀKòeÝÏ´º¬!õŠ p6[˜‡Tóñ|jX’j>>c$@9º(A°êŽõõž±f„£àëM²ÝúùÆß~·~H8jɶ©–âà`IºxΟÀCÊzÏ¢¢D‹¡,–d7™ü‰»Ó*Rï1ï{M[î>7¤€¯3ôÇ‚”Å;Âêw•w¤UïÚDñ™ `A´|G±¾Þ5ÖSÛª­¶Þó-Ö )k_çI‚éó•ž•&ßjòýlÆ•%Ñb! KRV´ X.KÅ*Rֳפ¬§G[jwžqÌ’^ßÕfß“ óe )‹³ƒåùÒzö%K Ð9ÖãÏëIÊb¬ƒ)k?æuË i+W“–×—Öþì¿–ÒGŸ§Üë}~'àÿþ?RëgiIKRÖ<åÊ‚TëðyFkIªuø“‰¨UDk}Ê_”%)kž_eA´&Ǹ,‰Ö§qyŸ.A9O˜dKjÆþä­Ÿ§þ$ÃØ<Ór%@µŸ…$RVƒH¬©D*ÐRN1R@uG¦«¯íü«{øþeÅJy~ô÷¬S HÚš}Ú²B굦bÊ•~íûµOü¶ Õ~Âiµ$ZS1¥,IYnZä6ß}Ö ±ŠhM-”²$õ'$á3Þ{})ü>òÿÌŒ‘$¶‰Ÿýj% R¶«•$‘œG*¢41¤%Aö§lqIŽ)˯Îî!‡íØ'¨,HY³#ªPN6D• Z)à¢%ik6DË )k{Ïè RÖþÔu/ RÖñ”š* Rï‘!ÀN“xH5‰Ÿ™@‡’¤¬ ´ —Ùõ3öŠ$ÐÉ“PÎ}|S­ý)‘W–Ä#ç–²§=¼Äöð‰V×’hqKÁ’”•[Šd3?·”XE´ò|AlUc`¦ú[ZºKªñûDYjIÊš¯“R€NB ”$XlÆc)ë|âÆË‚´u>Óà²B´øÎaI¦Œ°>›÷×Äî7°˜²„Ï4NKRíæ'–^Kb[÷ä@b©æï3AÓ’”5›"eA´ö ·Ö’ô{|Æ­÷›V웬çy©%©†íó¼Ô’`ñ¼Ä*¢5ÃH%@µ‘ÿ½¬^é¯>?Ú\}*µ©Fí“£%y›{þä)k©Wœ­‚ÏÌðõµyðII%Ç{æ/Z’²æÉ\‹'3V­™Â(töÙ0U’xT‹Þ÷;Iå^Õý)È¡hé©9RR€RJŽ JÊ ÐÒ È•JÊ <7Ûžè!Õ9}¢RË‚heÏXK‚Åž1V‘²ÞO´_Y­ì±kI<®ì‚~¢øß],lý<Æ^Öôµ$Õ_ý™Ó+“ÆŸ\JEÚzÒ`Û ù£ºìˆîq’>Ãc-ˆ–GëëHµæ(ÊòHce‰@ RVvpµ m]ÏncY!ý'®û³Xw}EzrHõž¸î² m=ƒÂ¶B°ˆÆ*RÖìý—ÑÊD[K¢µ]ó Â’TùYл¯tN—Tõ‰©×’hyvbIv“¸'«HY³XW¤û¾Ï­ê¤'zÈUÓçk¥4 „–¢•BVZ’²¶§„SY¶f¿¾¬²ö)l¡¹þé ¿~'Ï:Àë¹ÇèLÔà"û)»‰S@'÷W€}ágÙâ>鱩îétaIªãù,kIvÓªg™«ˆÖ”Ó,KRÇ•ëì K9¤º”gÀ„%)k"JÊ‚TòI Æ*¢Å5„%)뚸¤:±g²sÐR}ÃßùûX­Ä1kI°ˆcÆ*¢•8S-IWFM{zoCŽê>K©Z¶òyhñ ÙÇ;)ÙX’²^aAÊÚ'ž@ ÒÖÄé”RÖ1…@´ _ïñ™Dîçwšóg þ7͹$H÷ñ~bá´$¯¿ÉÐH‚rrÛP‚hñ\Ã’híë³ç¦%ÑJÄœ–¤ÎC¾Å{zyKìÒíµ…)k¢IË‚T_ðÉsÄ*¢•…z-‰ßu,‰–W`,‰Öñè,KR}ÔgñùÞh!²ÛB|Và• J³¯€Âú;ŽD)ËÎJ¥Y~× ¨ƒÎÓh£y8äþ'·ZKRÖÄ@”Á"«ˆV"´$ZÙÆÔ’h¿=˜KTõ,ymi .©Öá¹`I°Ç*RVFÆZ-îX’²fM)@‡û’¤¬YÄ/ ÒÖ÷æî5MÈ6›3‚A‚h9vŽ%i+cg­²˜E`Aúoe†½îÉÁ†\fjgP¨)knùJå䎯ÑJì»–¤¬,jA´Žc–“°$e½þž‰Ö™6–DëÊwKRVé´ Õ&~&7ëBZû[¨'SIRÖ ”Ù+ý¹Dè0ÿA’ì•EÿÜËõ'{üw³„íÈgËZKR-ÍótŒUäýO&º–Dëx:ó”%©ÖîYÐ\Ò`\RmÈ'IKRÖl€•Á"»«HY¯óKyýý+“…T D‹%O,IY“}[¤¬'Y©¤Ï@fS×ûOÛóßÿ¶ýÙÒÔ )‹M!,H[ÙÒ i+#%-ÆNeMÀ¦Ò€/gæñ%~êXS×­¬!}²ùúUÝ_Û±ŸÍÈ¿ùìZ’j¡>KîZ’jŽ>±ÀXE´a­%ÑÊ5¢%)kB„Ê‚T+ùý÷íØõ|Þ/ùîy§"©Æè-¬%9+“ýš³·‘É~q†¶XŸ™–D‹+& œ‰Ð+ ÒÖ=ŸƒÖÍg•w˜ßëE#öw5OŸñ§¤­Ùˆ/+D‹x,IY¥jAÊÊF¼¤­÷óL++¤¬ã˜{¤¬s³´ }&òMy¥ºÄêyŠ–Áb» «ˆÖìW)î2õ¯W£Kª}ú¬òkIÊš:eA°¨c€U¤¬©cPD+«üZ’²f•¿,ˆVjhIÊzZ„·Ñ:>õ„UæÇ:S“ÑtÝiÕyUC÷ÉÕ‚´5¡Àe…h Œ%ù²ž¢¶†´õ:¿”×÷yC”µ?ý$Ë‚|ƒgíSsrr×!Õž3¥r™»Î9Ø“»i+ç@+D+A.Z­}J,jI<úì_7Íã!ÕðýYÌPìæ¤ÏF/R‘½rÒï9ƒ 9é7g™ìï©Eö ¯›t®€jÓ> |H%®ÇH»¹'=R¥m‚Ç‘J\F‘J©{†$øÛ„þ}·_ÿÕ~}b…•$eM¬pY›´'V«ÈYÉÝÏRµ–D+q+Z’²¦´IYji?›/×I³ö«¬OÜŠäªë³Þ†%)+ nZ¶f󥬲faN)àË™‡^ICÊzîã(Ïõûs’@T mmÏäël>×Oÿ××Tö·c`¦²³ø…U¤¬YÐ) ¢•-‰V–¬´$mÍ´ª¬nŸwDÓôz×4:Ï-,V‘n‡>“-HµCŸí-‰V"̵$ZYòÖ’T“ùÙ»‡œ¶0O£¤­OvW)¿?ú{R»P$e%vQ RVRµ eýÀßgR@;¿-\ÚPï, Ÿâ[I ±¡ú¼ÿ(ó#¿'Ö¥ˆVb]µ$Z³Ê«ÐáÝÇ”“©“¤¬I, Rmçg¬Gú·ïs|ljÎó€“@)­Ù¯\±iÍÀÉ*އ©eOÝ8Y`ÕøÞ'Vî“#3Éç!G7HŸ»ñnƒô!eñ¤Á‚´•'VHYáXXE´Ž¥%ÑÊ’®–¤¬)@Q¤Åçþ¹ÓøRíÑ'D§,HµGŸ¥m-Én2øÀ*²W÷6W×BwˆK{X­Ü"‘åL‰Ë’ mͳ²¬:[™ôo´c‡ØØœé<–¤š¤g:«HY™ÎkA´ßcI´˜¨cIêè3ÅÞh‚©–ä³LŽU¤¬Lµ eý^”*ÏÕ–}¶0®•¦ß![5ýžBJZ­š~ÏF–¤¬„­jAÊJðƒ¤Ž‹â•Ûšg3[G’І›3©ˆÒì<”AJ¥% Òl)èT^O1™r ¶ÏÅ¿¦M·ÄÜ©K£%)kÂÔË‚Øò;ÉbXE´øŠ`I´²G£%©ãšX„k¡wÈZmºsÓÔ i++¿Z!Z¤[aIÊb¯ ÒVnÀZ!}\SéZÒ‚[R-¸óð‹U¤ZpçV‡%Ñb•KRÖÄÑ—)+k™Z›~û ¥)¶Ä¦ØìÓÄ*RŸDËO(–D‹},‰m¸³³p¾iR½†¥[Y?K*ee‘e©öÓ“8ƒik2g”´“’KJ!mýÌV‡ Z!_Ç~Æ¢Íóéÿ#‘vö&±ŠheÒ§%ÑʤOK¢•IŸ–¤ÚbO¸ðù¦4ÄFÏYÓ’ì&ÒNŠV­¤xiI´²ä¥%©Wœ8íó•æÌ[8OèBIÕæy†¾J­ }µ$ZÇ4®Ò’”5C¾² 6–΀á|ÑÂRÍ™'v«H5gžÙ –D+óA-‰Vâµ$e½žì‘² ZçÓ•J  “È%IY3u, bûétá8ï4„†¼lâ<+Æ% Ða‘IRVyµ eeùV RÖ9Ë·Z/ëÙ±nkÈ—õìÔ¶5äë=>«ùŸJG“h y™Ž;S€² e͘§,ˆVÆýd¡”ÑJŠ–D+Ù Z­sêjIÊzç[±)vâÏ“¶Ò!×b2qF'±$måIªRV"Nµ eíÓøR rUSìŒÏi--°!t‚’"(i–6”JÙâG(%& IPÒl×*”R«I tÎ6:’ ¤)𢍶à¹<Îôž–Ø{:KZ,ö$°Šh¥Ö†–D+{ Z’²¦ÿ_Y:®|5zPCªSõ„Ê–ÑJx¤–D+á‘Z­$$iIÊÊÀQ ¢u®ߣ¤¬Ü2´ eMeY:_³{t´†Tßë'¶½¤€r&…¡$ÈUIÎO ƒ–D+ëyZ’ëŸísOjÈQªgC R@,H[³tQVH[³+PVˆI„çNßhHu—žå¬¶Bª»ô¤bÑJª¡–D+µU´$Z³à¯(gVòK‚”õʧˆÑš¼%€Î5{J’îê=Ã…=]ª%t©vb«ˆ–×C,IY\X-¦ÏX­sJšjIÊZóécAÊÊ3B ¢ue©KRV†jZêIž»ÿ–žÝ»ý¸§â8‡¥õ8¬¬ãtX"‹(gZè”3«ï::çùìàú½?‹žç–Û’W¥y?»{XEÊšEϲ ZYpÖ’hñ½Å’ØÕ›ÜFÿlHuÆÎhb£36D+AZ­5jI´« %)+c-ˆC4,‰Ö5ÙŸZ’²&ݲ,Hu%ÏâòJ/î­ºlO"%–¤¬„­kAÊJغ¤¬¤kAÊby RVÒµ Z$ž+]¶!Õ‹{b´Ê‚Üÿ¤²cÑJ\•–D+µrµ$eM„YY²&f¢,HYï'Q²,ˆËX’²ö\9X»×žÒmçJÿï€êžñžD+ÑLZ­ gRèL8“@ç\žÔM%IYçŒþµ õþ2q^î$²CÞ&²gqK¢Åv–ä]‰ì³€%)kúf”)+“p-ˆÖÏ…ô,ƒcI´’Îq.i.±™øl’+I”²4ªAÊί’‰’)A—Çû ô!ç²™§>SƲ2‰,+7 -n!e%èR+¤­Lµ˜D¶5kkeeµ­¬óx‚gµB¾ßãï îx§8 zŽOð…’äýOžº–D+8-‰VvN´$Õ1}nûÇ{û“_~¼í&ž V­¬$kI´ð¦%©þåsÛ×’”57ô² ZYqÖ’”µÿ}­ßåd•ù±z¸O`Ìñ¢ÏyÈÛæùöbIÚšù²BÊJ–¤¤¬d³iAÊÊ×\ ¢ÅPôxÑbwò,a)kV!Ë‚hM¤@'Ë‚J’×?ÙìÇ+½É%Õuœ3O×qˆV¢´$Z‰rÐ’he‚ª%±ÏyÒiŽ;]Ç!/û‰scÕ9Õʪ­¤¬,ÛjA´XH9îô —Ü•§ý<þÊ‚Ø+<Ãh¬"ZÉôÔ’”5Ãè² Z|°$ÕYý÷«~ÛPü÷ÇêíÍY§·7¤¬ÙA/ ¢•øi-‰V4µ$e=›ã%èdGç¸ÒArwgïùþbAÚš tY!e%V ÒÖd¹—RVâ ´ ZÙŽÿ¹eÓŒ{À¿½¸‘ŠüÛ‹»,ˆVSµ$eÍtY;vgsá8Ó@rUí[•t|tφØñ:qRXEª{öÄIiIº{ö³Ø¬%)+W®D+‹Z’¶þ½äß>â?g‰îÙ!Õû™}" t²¸­$ÑÊâ¶–¤ºuÏñÏp4¼!gõ¨Îìâ GuHYÙ=Ö‚”•Ýc-HY̰ guØžÔã c4¤ú7?!„H‚rf µ$HõožUT-I[Ï$µ­­,iIÊšIjY­¬¸jI´î‰’Ö’TnÎ`ÚAìôœÙz¤%qn"ZÊ©A (i&ôJ€[Tÿü2Y¼!G5ržð§²BÊbð…)+äZ¶rëÔ )+«­Z¶f¼¬£ZZçq´Óîb#g.ðXE´ò¤A”“ä®üÛç逨æÒÂìi„,±]2ƒ,IY¹íkAÊÊm_ ¢•}h-‰·},IYS¦¹,È¿í¥>”ä†ìKåÂÎ× ÒV¾RZ!må;¥R·,H[Sv­¬²Î)ˆ¤Ñbd¸Ñí9ÀvÉY‰D*R­—'pSKR­—'pSK¢õ›„®2?úûvªHÚšIIY!Z×ú¬#kIêdà¸ÚtyÈfkf¾ãX²ò%G h'G¥²ò%G h'+¥²®É6Ô‚”ÅaæË=O@*ŽÀ&ΙÄèdr€ÀÉž2އ)õJ³dHµAž½*-‰o,IY™xkA´¯ %ÑÊŽ––¤¬'¬¡¤€j=;¡ÇBçâÕöƹ‘¸XËÉsX)¤­<‡µBÊâ*ÃòJ,kv8Ë )+#ϞŪ!q>U%H5ÎX KÒ͆gH‰%ÑJ -‰ÖµÝþ–D‹!%–äßfÐ?Óš ‡Tóߌ¹bÑÊê#@‡ÅG$‰ 6X-¦€X’ãŸlÜýMkß܈–j‚Tž'Rý>ÏžHmÝ;¤­<´x"i¶û3… ƒ6ÄÖ¿³?ƒ$(gö[K‚h¥ø¯–¤¬©›R¤¬¯”ÑÊxEKRG…¥±¯„î¿ ÁT’Ø"x¶Ø”$HÙaS’Täg›gÑü7ämÿṴ̈$mÍ¢iY!e¥Ä„¤­)2QVHYIuÑ‚”•ô®ý•ž¶;ß&f­,È¿ýqµ$ZÙ&Ð’h%²MKRÖñª—©.Á³û«Oz,¤:ßN˜–¤¬\pZ­Ä÷jI´²5«%)ëë ²ý“»ßô¢…ر–o–¤¬Yl* ¢•Å&-‰V¢N´$Z‰Ô’tWÞg¦¸ßt£…TÏÚ‰() R=kŸ%€Î„”èÊ™h²’ Z‰;Ñ’TßÞÙÈÞ/:Ö†Üö¢M–¤¬lQkAÊʵ¤¬l+kAÊJ¼­¤¬¤–ì½h!Õ‹6÷F,‰÷F,IY¹7jA´fI  “„L%IûÌKö‹N´ûÕfË[KRÖÌKÊ‚heóOKRÖÌKÊ‚Ô+ÎÚÈ~Ò=6䪳3Ž.+¤­Y)+¤¬¬hAÊÊœ_ RVFÛZ²2ÚÖ‚”Åèé¤_-¤úÕN:-‰c,,IYciAÊšh¿² u\S~?íR=f9V,Hõ˜ÍýK¢•ˆF-IYÒS¤,ÞD‹§%–¤ßã<#Žt…œö™Í–oY!eeI RÖ¤C(”“UO%H[³êYVˆ–3†#k%öå)«H÷¢}2¹´$ZÉäÒ’”51ÔeA´m©%¹þIÞ4•T—Ù\—X-ž„X­fiI´¸Jöô‘•Øm–15–D++ôZ­„ hI´-cIÊÊhY ¢Åu²Ónb¿ÙDßkI´2„B”“”D‹–DëºsžcIªŸn>³-Ídù«™l¾ê‘-M…R@II @”Ä'ɦúéfð´ýí»oöˆå±‹%Ñâ‘„%)+S|-ˆS|,‰Ö}ÎÐK¢Å4lK—X‰½dQª%Ñâ‘„%)+$-ˆÿJÏV®;»fÑX R6,H[°i…”Å {¥ƒ*¤ú¬æË©Ñâ¶Ž%)+·u-ˆ_<,IWnØk:¨Jì³ÊÀKÒÖ|¶e…”•¡…d¯ÊYðXî?‰|ûºü“ȧi+7l­²¸acAÚš´½²BÊÊìv™Æ¦üLïÓ܇cð³FnÂ(nÁq:y¼ãp¸2âpX^èx ±/jj|hI´`I´…­%)k6Ê‚ÔqͲÑöþÛËt{Ûñ4Q”Z­,ÔkI´²P¯%©«sUoo»”†ØË49Z’²fJ[D+ÛZ­l(iIêç¹¶½è,òî΢ÏsM ÒÖ<×Ê )+Ï5-HY³ÿ¶½hâP>' ¤$HY³\Dkv•:Ù|S’T—Òù¶|Æ1ËWÕœíU½9ç]¤ºnΡ–D+ „Z’ê:ßõíþÛ s{Ñ 3;yJ¥|‡• %ÍW¸¤¥lð(A”81·-.Cþmq©%¹+)èY­Ó’T#ÌY­Ó’hýf†¨Ìþ>«XÛ‘’nIùìÃjI´2Ò’he\KRkV°·+í!·í³þ®ik†e…”•U-È×+>þí¢Ñ"¤Ú1΃¿,H[Ïü ­jÚ8-I·c|V´$Õ¾rÒ¥¶‹þˆj8^-‰Ÿ-–Dk‚”õz³·½ii(±ña²eA´í %ÑJ„¡–¤¬‰0, RÇ5QDÛ™‚’j38+©Z’²rÓׂh%FHK¢5ƒÁí 7à€Ó†~ö+AÊÊhO ÒÖŒ÷Ê )+qgÛA>Hµ×›]~-‰ÖïF¿Êüèï³Ë¯"©¶€¼>-ñêIáõidWÇH ȬqkI´²Æ­%ÑJ;U-‰V¦ÖZ­,l{ÆAŽjw—÷器u³£)+»ÒZ²xGX¾Ç>®ga`ÛÓWNbó9†ÐX­ìiI´f›H PÎì×–ÑJ!O-‰ƒ¯†qj+7{¿eAþ´‚S™ý}¢ZT$Z ÖÓ’ô=iÛFãµ½Ú³e ¤RV¢µ e%úX Ò¯˜çÇF³4H5KË“K¢Å“KRVž Zjâ6K6Û–FhÛ¥1¹Á’he1FK¢u¾žFkZ->5mÎÝÁl†V+Ì”òE‰ÃÏ¥äk‚Pâ[IPÝÙ2,YiL©öeóÜS Й½€Îù~«•$õjù,4ö Y«ýWfßZ!k·÷ZþX¶fe¨¬~Å ––4È’¼þIÐ’T³­¬C`I^•ðl:jIêó•[hj©ÖWžZD‹–DëšÞÍZ’zÅyßëûo;ªm©¦Us‹*+7­åŸ†TJ¹ºÊÉF¡RÈ×ëÍ c}„ž‡Ts§Ï=_e~¼+4ý™äªHî ;f¹Z’²f+¾,ÈýOÈüúNk&€í›æÕàd G€“$í¤æÛ¶¾h“ò®6IÕ®)+O-HYy|jAÊÊwr}Ñrý¾­%ÑšÅ!%ÀõOð¶’D+Ë+ëkùL½¾ªñÏ uË‚hq aIöB®Ë‚he»ÞiÃ#©–>3XÔ’he¨%ÑJh–¤›=ƒ·õN'‰Íz²ô£%ÑÊ¢Ž–Dëw]Ge~ô÷(®Wì@nÛððÐ )+«{Z²ê§)‹ûçEÛ½qrûÄ dIDG‚”% WЕ.5’³ÂpŸ ›–äü'X·­­Ly´$Z™ÖiI´²â½žé?¹ìR“ï²BÊÊŠ·¤¬ëxJjAÊâwžÂp×ÓÎ23XTÜÿΖÑÊhQKRvòÉžé#±c Ÿ–ä¨`×¹`IÊ:ŸÊ,eA´¸»;¸¬§}^xfcAÚzÖÛJPÎõtìÓ è¿3Å‘¶,{·ðŽ‘$e]O킲 Õ-&wžƒ~+½‚EŸÅW-‰ƒ,‰Öu=åÚ´$õг=ºîö? ©.)3+ ¢•e4-‰V6Iµ$õŠsOÜiYP}Mfy¹$Hu#ÉMKRÖ47, R¯8ë–^}û'D²¬²xîaAʺîן¿ik‚˜Ë ùÏã: ~ yýüXDëz=™–Z’ú[³üú3;'Ê0Ä\KZ­,¿jI´®×oK %ÀùO€äÏà+áƒ!›/ød±üô«/FÎ3–ŸEý­Ù ù¹%LR](fQKRV®-HõªxÏxKR=4f]äç_Bþ Õ9"c,Iõ„˜}z-‰Öõ~V´$õ·fh¿¤ACÀj‡l”RÖ½<ÉöZþ[¹O-éa°ÑSÚH¥{yæÕ¡!Ó›%ý$öà$Dè0½A’hÝ˳*§%©×›!æò¦?äßÚþeA´r‹Õ’hÝës±iIþí9°¼Sk_b­ý¬b–ÑÊ’–Dë^ŸòZ’î0Çú²Ö~ŽÞZû™LhAÊÊÞ¬¤¬{}j·kAÊ⽨2©ZôóÐ- ¢uoÏQKòoÝþåeýøª?a€Z­{{†EZ’ÿø[÷Ô*÷OYÏ|E8¬¥àtîíÙÿÄèdª»ÜçŸÐ¬ÏÿZþÄ8hI´òÑ’hÝû²«%©WœÖå¦8¤j†ÏkY­{–n´$Uñ|––‹ÚÜ!wUÝþ¬á©ž¨ -Hÿ­ ”Y.êGCºõ3Ù( ¢uOŒ–D+«Ëµü Z®ªéAß×'Kóø>ïZ²^O³² eå¶v~FÙ]$ðç–ó¿·³ž–VH[¯ãwµ¯¬¶òŽ>Už'ÿ äçñ³~7ì- RÖë©ÊV¤,Þãgd|ö{ü”qÈ¢þëéîUDëÿþßÿîÂÕendstream endobj 6 0 obj 41844 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 9 0 obj <> endobj 10 0 obj <> endobj 8 0 obj <> endobj 2 0 obj <>endobj xref 0 11 0000000000 65535 f 0000042168 00000 n 0000042380 00000 n 0000042109 00000 n 0000041950 00000 n 0000000015 00000 n 0000041929 00000 n 0000042216 00000 n 0000042316 00000 n 0000042257 00000 n 0000042286 00000 n trailer << /Size 11 /Root 1 0 R /Info 2 0 R /ID [(±ûx¼<ð’Èâ²MËÎ{)(±ûx¼<ð’Èâ²MËÎ{)] >> startxref 42489 %%EOF sparskit-2.0.0/DOC/paper.pdf0000640000265600020320000151544110213352123014703 0ustar tilleaadmin%PDF-1.2 3 0 obj << /Length 4 0 R /Filter /FlateDecode >> stream xÚmVYo7~È›Å>R€Å,—Ë=ò¦ÈNëq IiQ4} W”DdaIÙñ¿ï ‡:’¼œáp®o‰$…?‘ˆBqU×I‘—¼¨TÒt7ïW7o?ˆ"ÉR^Y²ÚÑÕú_¶üsRVl¶Xþñ°z7™ª2cš>OÚÙ†Ž~˜L³‚ -’‚}³žø›aœü·úª¦YÎë´*Ý^ÎL¦2•¬Ó~´ßñ,X3tûƒ×Þ½ÃgàQ™ˆœË¼ ¦²âyª‚’¿îˇÏð gG+¢äµ”AàŸI•±áИ Ê”l©õ:jÍ“š×…D¥¥âàF¢x{C2YžÁk¥PHJ^È´«ŒW•r=† RVÜÒWÔu«³pIò2Ï’)d;èƒÇ³'çGÝxNòÕY\Iž‚'”ûÕÎ:Ô]³½ÞC†KfF ‹”íGãL?É*æqüÎh§mO§Ñþ‚D újúȪhPÛ·‰*˜ÞÒ‰ðE½ÝZ€¦ß"§dº_ã¡b/øl¿á ‚0-JÀ¨€¸Å)Üëw ]•g諚 oŒã“i‘ÖìsÈ'ÈG«*F‡í [GGº+Ïw¿ú šm”ƃÐ8L²š=Ûu4K÷(òðÓ›nlk¡ãó •l§{°r¬6 ‘ÊËó”¹aãÑ¡=ä ÊV.k¶Ö^“àáéQi6€gFhõHÖÌ舉˜¢‚c‘wìTwÙ;вÈÙçÃ}òz$äPÒ`©zHÂF+˜ÖËØ¾ßõH¶íÛ÷”.Cê² ·­iÐ.Ò’ü#ºÄ •„ì— €í"ô’L@©Š(ᥦOpôÐáÿ§S\š –!F.26ërd ¤hÚïÀiw%>*¦º¼(&‹ ™g·Ü‰³u)j84Cðô9„.ë"bŽÐô‡&´$ŒŒ\`È4ãIØÙnßËâæ­ó¶qDcŠQ&’࿽о|T)C¥¼˜´2¤úk*òÖÜ’Èq¸@,ÝéݱIdÎZÛCIFuíÖΖ3¢f]h§¼b‹‹AS7.¾Ë*˜ÇaFP# 5rXRóÃ8ª¹Äz õèÞ‘ây#aËÀݲ±¦o wfïù-¿üq‰#?Œgó“í{㯣| Ã à ÖÙôU*WŠ_)dZ€YÖ R)hƒxåû8ÓFoÖ$€ã¿˜c:=E`ðŸBn‰³|uÞtA¡dwöÙ:(ç[$±ó5IÏ㪸¨ùç8¿ðz¶é0¹%‹FçsºËp‡\ ðúOìYRÁd°Ö¢ÛâçôǸR¶„E~¨p9sØj𪱚Æ5r±Â¾,3,²Bæà*ä°ªO9L/r˜I±.@ ‹Åv%F* Éî{3n_©ëýÚÄy£ô\9»»Ÿ~@ò·4›Vê~‘©4§Ñð?7mØ“endstream endobj 4 0 obj 1263 endobj 2 0 obj << /Type /Page /Contents 3 0 R /Resources 1 0 R /MediaBox [0 0 611.998 791.997] /Parent 12 0 R >> endobj 1 0 obj << /Font << /F16 5 0 R /F17 6 0 R /F14 7 0 R /F24 8 0 R /F25 9 0 R /F8 10 0 R /F13 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 15 0 obj << /Length 16 0 R /Filter /FlateDecode >> stream xÚuYKã6¾O€ü†¾E L;zP¯ãÌ"A²»À.’‚E`Ù2Û&F–¼’œžþ÷[_UQ’Ûjø ²X,‹õvrÓ/¹«Š]V×weRï꺼kN>?~øþÇ´ºK’]çwÏŒù¸ÿ=úõß÷U}úå×üüxÿçãß?üðø!¾{HvymîŒ1»¢0w1Ñ«îw÷ü!Ñ3Œ‰w¹)hÈ'ùù4éèò.)wiÂkaïC–íràbrÿ$iýÜÝgi4 ýýCGûK3ù¾"oxH‹]ZÉî_ÜèìÐܧet¼Hó4¢MôM¢ñl‡Ñ ìd§Áøä»óÿ»¸QÖVOô)#×ô'Ýé»fpvôÝ¡}­[÷õ#ÍŠ"²Ý^ÀÓÑ+ipH ºXNÌÎa¹õ_À€Á,&†øÆqd›ÆuX™.vr²æŸåÛw;ph/£âôŠ3F’aZG/Ä´¬tÎíe)œµw£?tsß6^ô 9ŒUrë[| ÛúÁOÇn]Ñs?`PF§ž9Ü»QUÑx9 ÏDw™Ü0îîLšF¿}뉘œ°ƒÂ¬Ì‰µ*ºœÀ ^~u\gË/úå>Ï#{à7Ån~Zþ/IjظÁó@×Þ·¯ßÑMë’E“Qߎô´&1r£¬.¢À>N"SÊ],”t$'yOG!5žlÛ ÚÞu,ʺQ6n”½0킬L[\§¢ëܲŒ›ØÐÝ€ñ*“ÑŸ|kL²å²Ö+Øw2¶Í$MR×¹Á¶çËp:`+­, l”ÝÏBØD/|?|a¹Ò&‘ó%jtkA¤e™Fÿr`+«!“U$ݶuâÌÜf•,×ѳ{‘Á™f#ÃóÐ u"ä€ïúí2²mc‡kÝ ŠOaH +YknåN}+YE&dÇ/x°*£‹¨ì‡nV‘“•¿°à†W™‘>_ZûN¾ƒ#'Ú¢GÝ8Až¯gߨVWü),õñð?§Åbi‰u±Ý8mð?ûÂbå ‹xeİÈ$v4_‘Ì7ÇxtºÆ†G€¡¿L¾cƒÃò‘,w¯»iÓAÎVšL_Ö÷â$ܸÁl×ã˜,#ÁBˆ<1‘ûêG…‹«¡Á|­,[®Eã•m°…È`av§ä–†óàáÙw¢¯#Kö{§´ùE°§éÙB¦ÁŽÞkCº›ËòX^˜M0ý|ö¢¼¼vtrW$uÅû§ïfgÆÈò°´òƒ×+‰8=x‰Ü¨ÓþÞý%±¥WÅßoØŸWFEéhPÆßa¿©)‚¨Ð5u¹N/ÅÁ†)È‘ îû‹|tíy}ý˜ˆÀ^Ph‹E •!S!œQ" ÿ#NL#«"!y˜<ΣunCê'8òÃ5=çY쯹´=Ó:‘T Vë€mæ&”ÔªÑô=öVÑ:™AêWÄó§u¹oúaõÔ•¼öRØî_H™Âù¶û²¥êlÒÁ¬Î"ìÏ$¨½Ì•<$I>þÉ·~ .§®ÛG%ð6’ RâŸ;Yfe.E™æHùü$K…@tâÇ^³ÕØ@‚ƒ¸½È‘gy¡šP.ùÁKȯÍTš:È>:Þ²­Ç­_½Ë“zY”@MƒñAÌ(#ëÊŠ7½: C}õ$\u¡Á8õ QÜÛianñê'×^5á  Øs ®ȱèÉÖJþgÆ0¾xabÏúnÖC|cVa²/¯ÙlÈ$2͓½8öØ‘ÓL4q›3X­ZJ±Y,ƒMºt@UšÄéÓèºæêÄlI.˜êDÞÌ[ñU^°¬U)«EUÊâÆiVuô#ÒÙG)Têû- ©0ÑØÌ±À¦Cß½ÿ†ò°9–b'+DÇi *ä2lF)Šé°Ñ¢#.JÖ[¬®AË«´VØ& ¶i³xGÚmÏç–¢~È' M ‰Ýìp`íÁÍóõÍ‹R¯ 4{ÒÓ%)ºe9ÜÌ,7“iÈEË|¶þrޏ€ê6Ê2ºeÓ“ AœoTjîC8$;~Ä8ú4 dy÷|«äÈC¶ ëHÙC)×·ýZFY6ëpÍb¿¨ÅÕå\^ÐB@°‚+ =hܨæz)Vã¨CÖˆ}³3|FÀ;ÜŠ<ä§éÊ™˜O\å‰êT38“&jÐý8ú'*ùè¡á¦ =A;Qp:e¿Ø*Ȇfß/±i½m•’äî©Z ö¾§0-¹XEhJ•˜Ð#·,{±ñjû'$ï¦BÂ*—"'Ö¡2î¾Z¤²2y‘ÂI¾¹)븸xÆå‹^Fz i¬®Ú)d)œ‰3[ºòÿ7p_å0Û´î+¯ª¸2ÔˆÕ+?‘ºµ¤œiY…ç•ÈLÉŽDæJ_£ÙûrJÂîBÉÎŒmôÙRo­„b{7JduÐ(gƒ;åÒvèO²¬Õã;?yT‹«`„ÅU`'’„ýrôóC<éw”¯’“Ûã§©”Ø i·œÓ•#FG= )(¨ˆ†Ò*_Ò&‚†¹B/;RYʤ ÏÁ(ùo)G”:Kð¼¶08èÒ—Þo¬lh„+6]Þ;%:Uµ×^jæD£Du³LWºI (À_PjÁˆ¾Ȫ÷úT„òScøêN™Èšëà"Juôå ×±'ÙpW×Í%zÈ£‘fVŽl­£ pë ryRsÝ+v"êèu(}§¹,)”T:Iê-ñ[08ª'å‚â§­ª†k‹Ln™™T³ûƒ9ÇiúRý.˜çÁ6“‡¥IÊj´GKö‰ã´Ô$3Ï^ò}ÎJyvíÀÆÃòðÐPҽ߶sff8•îÇ›4QXÌ—>!à"b@€Â–K¿#K4 A`X¬`ñoV_Å~œ(Õ­n·»+0N%2û& e/'&Žõ­¼8¬z•Ÿ²®ªO£àŽn¯Š™”P—v/ÓÅLâ„|2—žík8iF{ÑgF|öHC7j­£{• ¾"§m[)/dŠnáxÝ™}SÇœ®»ñ –•Ox3n'I´Z¶«`¾ó& Äîñ‚¢Ê)­‘§‘cqVàHÚ¬ÄÅI¹·z_ciñ8úþ3}’HL«$áâ‹ `)nU°8e~ŽŠ5ˆp>j×ES±ÄsÊúFòàX” ÿŠ ðÀ@øÐEX+D/étVúÇ6´ÜxÅ?0ò¡Ûè_:Ì,ì…Ĭ‹Ü‚ÅUĤŒtÌã?`y-CiDGvÑŒïöêÕ?øs…ytæÅ$ø× Ùq‡«~'BOûJ_™†×l$U¨ñïÆ‰‚ù^&Ò”3A5ó7ò÷L®¸6Ú}Ë×:ûN‡Ï”óÿ$:“¿Š¨ø{™rý§ˆ¡(ö«C&‰áF-Ô t a«-ú‰DŒFW(·6LuÕœ $câNäþþ?Ù×L9endstream endobj 16 0 obj 2943 endobj 14 0 obj << /Type /Page /Contents 15 0 R /Resources 13 0 R /MediaBox [0 0 611.998 791.997] /Parent 12 0 R >> endobj 13 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F27 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 22 0 obj << /Length 23 0 R /Filter /FlateDecode >> stream xÚ…XYÛ6~ßù ~”Z‘¨»oÛ¤[$EÑ&ñ[’®DÛÄêp(jüúÎAÊò®‘`%9$çâÌ7#Ç«þâU™‡IU­Š¸ «ªXÕÝÕÛ«77¢\ÅqXeÙj»£“ÛæKðù¿uן>ÿý~»þ¶ýpõçö*Zmâ0«ÒUš¦až§«ø•+£V»«ØÉHÓ(ÌÒæž}œ]`Ÿ ÏÕÆŸÞ$I˜á Øê”= ë(‚füm GD𰆕‚y\G3¬EÜëÆzÜœ:e†iDJŒÓ-,¬îÕÈGìAZÞê$^~bòAµGž5*ijÜ;(ãnéÞßÖŽ2I/Uë¯QœÖd:% S0•—FÉ'ѹ7Iœºmyv§ÝÔ¶OL»J‰VâBö<ª{Ôihïu¿GJeß­³,{wœ Äí“ Ç¯W¨«eÚÎ Ÿ«ò›5úvÚœ¯`õЃÕITúK0,x‡§³Ç òÚ,ª`K®J"ô([8Ëü†äå8ÕµîkËÄFµÑGê$íx|‚Ì.ÑìÔ™ôB¸I/ôò1Œj•Uèã×Çè)ìD™…Q‘`¬®¾C8iá§–sØý>_v„77]¼z7\}¼Z}œ÷â„GøâXþ<nô~2hˆÈƒøwŒ™,ø žËÈ–‰ƒÙË^ÿÎ+"e¯ÀÎ2´È:Hâb¡ˆIÄfV$ËC±7ÄzÇ" ÞI+1œó`´fª-(Aá»Á¸£4#¥W1Rû#²o˜Lƒ$ŽQ…QÎ`i\’Èûul@‘sZ’ÎgnÙÌ÷Aå2¥ûÿöèŸ$aÃaäp€I£_×Sk5ê…kнæ8'Íq.@Ëî8Yé£(z|ÆòžBËheDà©Y0ú“KÚñ\©ÙC/#Ðå%0’ƉQ}=L=Š°Ê¨æ\ý£‘µÕ5E^:[X‘Ö˜a àÖ«{œŒË°ñ™“#Äá…ëüÁÑ¥mÇ–¤ÁÅì±ÂIZ{IÚÁL½®5¨®I+—!7ùP…Vu#“H4ŒêóÄsxÿöÓ@ ˆ¢‰Ñöà¯kwÛyÛÌögQ\,F^Ì÷bnA&u’ðí‰W~ÎfÄc •.#SP[G;B[Z¸xb–>pu Ë÷®2!…¢@ ,sÀ´{=âã:“Fy·f”Ç•lî ÆY1„µ—@Ì9ï‘&sÖòòÙ~µP“¶¯E±¸~äºàj˜¶ÎMx•Xlo[ÕñÂÕ˜=ôb|Ü1€7txûìinÖ¥^¢@=ÊîØ"~vëµuãÈã]OuþŠpìK8|vã0hÔ£u7ÇÑÜ©fÑh¹zÙâ1,1½âs‹ž F ª=]°Ã/¤™O%Ø9ã™|Œ|‚ª¶ªáŠ#0nò]¾9¼•u»¤1Œ§ÌÅ•çͬ´utsÿ†Ö1NÌ_jÞq''–DÁûÃŒƒ@±@ÌØá£úÁ2Á¨ýÔJCí ,ç0l~›ƉzµDÏx!`í È@Àe?S`ôR °-Áq¢¤7RbÁ;HŸí)Áí=PÌ Å7‚Ü·Ã&F8¿-¹b]sˆéä’8y …€¯0@¼ÌÛO¾`mž_£,zûù 1ذœ C\ËDð¾ç“Ülâìd;¯%5v¹Ó'ýÐÿ€¶—Ê÷s”ù@àŠ“3 Q¡¹YjuëSÿùÅ ²¸ð>ð¸›FwªÇªŽÁ)Ê|Ê3”j\:q[-J|œaQæ®ÿ¹¾ÐÄ"Œ©éâ´WÜp"cކ½ñ/EA3T@OÄœ>¬7UrY`EìŽùžò… @‰µÒ†åÖC;u=ÏußÌ%E˜åù‡•5èÙ$®Vk_ùÝæl-Ïp5]ê32Å3\lŠB¢S¿ôÈ‹°Ê«Ÿ»;Ïw5¾ÀD„E’ÿÒ" …𢸌,´u•q¯{vì©—MO˜G®L|–ÅyYçÐÄDÏsTà—ECn,ræUø"hü;—#oaøPXÃ\ñ·ÄW§È‡E3œZ wÓ+ž(Ëm"÷ðIð%ùÆ;;î !ÿµÚ(€¤vœ¿«ÿºÚendstream endobj 23 0 obj 1841 endobj 21 0 obj << /Type /Page /Contents 22 0 R /Resources 20 0 R /MediaBox [0 0 611.998 791.997] /Parent 12 0 R >> endobj 19 0 obj << /Type /XObject /Subtype /Form /BBox [-1 -1 567.998 259.999] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 25 0 R /Length 26 0 R /Filter /FlateDecode >> stream xÚ+ä2T0B™œË¥ï™k¨à’ÏÈJG†endstream endobj 26 0 obj 29 endobj 27 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [1 0 0 1 0 0] /BBox [0 0 567 259] /Resources << /ProcSet [ /PDF /Text ] /ExtGState 28 0 R /Font 29 0 R >> /Length 30 0 R /Filter /FlateDecode >> stream xÚuQËnÛ0¼ó+ö(ÄrÉåëèÄ’¡Ö¶‘9¥hÐ":9ô÷»ôS@!9;ÃÑìò”DPe]ö·I|=¼ ’þ „ßBÁVh‡€*L|ŒÚ„"ÍÐ$PiwVýÇ8»ÀhŒKŒ7 Œ1n!ôKL$¼3äÑ¥ÒÕ¥~“°†Î’“S¼éÑxÓß× ñ¦Ÿ×£šùÌû›ÍÑÚûäæçÄß<ÙÓë\¶· 2¿SÔÒAþ%·P+!ò$^ª‡Ý:¥ýªFFêXµý¸_çT ÊJë«îÐöŒ8…$è?f†Öh\ÕåÔïªxÒòÍms`LÆKª~Ü4cwØ;ÒªÜ8ÒqV¯ùû9K:² jKŠâÒ<«üG”Tš‹/U»éÚU­ 4¦jά­öì»ôxwtRÇš,håOŽiXéG—‹çü¯:¨¯¢a×sßWÅuj.©6ýc!›,žxýXœ¤endstream endobj 30 0 obj 377 endobj 28 0 obj << /R7 31 0 R >> endobj 29 0 obj << /R8 32 0 R >> endobj 31 0 obj << /Type /ExtGState /OPM 1 >> endobj 32 0 obj << /BaseFont /Times-Roman /Type /Font /Subtype /Type1 >> endobj 25 0 obj << /XObject << /Im1 27 0 R >> /ProcSet [ /PDF ] >> endobj 20 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F27 18 0 R /F20 24 0 R >> /XObject << /Fm1 19 0 R >> /ProcSet [ /PDF /Text ] >> endobj 35 0 obj << /Length 36 0 R /Filter /FlateDecode >> stream xÚXYoÛ8~Ïþ ¿­ Ôª¨[9 =’Eì¶Àn÷±h‹ˆ¯D5IýÎpHEv”Ešg¾99 ›yðÍÒØ ²l–°ÌͲd¶®ŽNVGïÏýtƘ›EÑlµÑœ«ügù׌-â´o[QÏýÄQåÃ<õw #óUha©³n`7u~"‹h; Ÿ@Oœ¶é•¬EG_͆~÷TƒhÕ‰5š`7io[Ã:äX8fÓBÏ<>aÇÖ$Imô4eo|*¡ ÂmÞr±/h¿ÿõ²'âA‘!…+³×©¶_«¾5þR¯íÊ(ˆÚF¹•à\0éiqšŠcòY@k7bÎÕF‰}®h”E¡#;:‰YKb£A,ÁM]Þ$¡3¤Ê¸F˜ó”5‘öüüœG°n%×mMMåPÁ‡¤q!Å‚â1-›Îzª±†Õ -à;¶?³Y4;Ó£TÓáÎsF‚`¤Úœñ¨ã&Vi7„}Ôq1¬Qï¢c„n MIÒ o" îïq]€Š0fØ—;\ù6³‰|g ®+Ä|ÚR\–V’ášN{ºµ&¶µúWº£"Ý9Qeý(‘/FÐ)çÎQâÕõ—c죫%àŠâ¡¹õ¥n³Ì¶”éTÀí½;­–¢^cSŒ’ÁP\ôÔ›ÓZæˆ ?tçY%7¾(‰n/\sbQE+Œ²ŸcûLäÔ¼SãCIC1еGk¬2]CÞpy`bw ® â.% —nêà¡-4+¯£^çö)°ƒ(›«LeLoC{jC'àúâ ÀŒÒõ7£~ %úË›îK ŒÚUaºëG¾Ý’îèÍÙl$ݺ\Nµt^þCoTÆr”Co+ÉÛüu@æ²Ô?ðõI€ICøvr=í8²¾áT#òMi4LÕø3•Ê"—yÑÞ]z¡Ÿsö ‹MS–tžf“dï- vÃ5L2ä?¾7v¢ç»³•8ÕYàúÌfô€dxrÀk^ß8•!FýÖ>Qa—Æ$Ø3ãÕ†ÈõC{½]N`X„Aä&Xí£V*3µ Zwgï„ Æ ÒŸ¨ý©FÆb7£Aã> endobj 33 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F35 18 0 R /F36 18 0 R /F20 24 0 R >> /ProcSet [ /PDF /Text ] >> endobj 39 0 obj << /Length 40 0 R /Filter /FlateDecode >> stream xÚµZKo举Ï%ÁG™ÖŠO‘Yìa3È“`7ÁŒ›ÍAÓ­±µÓ-’z¼Î¯O«HI¶ÜÝNô¡)²DY_=)qUÀO\9›+ï¯JásïË«íáÍoÞ|óƒtWBäÞ˜«›Ïòf÷Ïìã߯Ⱦÿðñ¯ïo®ÿuó—7ºyS\mDn¼¾ÒZçÖê«æsW}}õùà5´.r£-´ãô¬LopÎo~Pv6¶‰ïn”Ê ö¡ÌE.®7BH•½ë÷}= õîz£J}¼¯ú¡Æ¶É>t×Jd4Pµ;êíë}5Öüð¹ëÕ8àƒÊ~)Lñîㇷô»ùãÇ@"ˆÍ'[ØHàÊ–¿›;dÀ•K望˜ƒ1`NºÀ<ضY3PßgùT Íö9Ý1MÛ´4Šò‘,Ÿœ†Þ<Û®+dY:ךŽrûãv<ö¸”´Ù¶k‡fïÈ2ë>Sïx××LPõ}…|?9ƒT³ce®•³(pß­œ´œb¡ó JµÇV1­Àó³­É]¡Ó›+3ËÜ Á°™kØÅX5mÓÞÂìÂó¡.üzm@Æûc=¬¬(œ•°ù#Ú\š'€C@!à˜|ÁÊŽ•Ë"NÙ0"î]ì øU.Ï \@cä„*£U¸±#Їx¢¬oØ)×Á&`VéüyéÜ%c†áÃÊ\â–È_³2‡‚ÀKMSâµyÊk»ößußÑè"n èG¯ÌÞª·&{%<æ©ÑØÀöcE¡#Z-)Añœ%ôMÌï<‘¢ÓCÏ« âwh¹µÙ@ÞµFð9öGÊ–ŠïÔÔXn*¼ÔÒðÕ}5>¥½L$0ßH,‘@E8YÅI­UM«6=59\}¾«…Ó¢·aDîGÃÿ²©°ýA†ÁÛìw5SÑÁ` 7ÎÄ2MR·ÛnëÝ[@ƹÔ†1NyšOûšçîVx?T_ð”‚Ràé|¢d›ú9D>fêÜø"æÞ> Â@Sæ‚Z¹, :ñÿž-\ȹ48tž'È¡Þï7_ZÊÞZê¯ö·]À=P>ý$;çB‚xRH³BBcœk@ª€1¥:àcÇj¶´ï‚\Nä'V©TñüŒÓz ÞõoÛúžÛ„2jMSŒ±z×½q n6Y¿—rGë°œ%Ó§a¬«-IdÆëMÀǽo™z" rÓ›d³#´©y}ªcßü¶æ']^h³<ìYbI¹DfŠòî›qØÜ‚¾DÄ^ù¼zÁ!ÙØìÇ.èË®Aw¤f¦*cfu1@«na4Úà}Zø $1Âж;B” ý`¹Íd¹¡K0Lt™Ð€“ß° ç…N÷™$âõL"~â XáÐTS“ìˆñŸlS} !v  q¨Ð ak×T·]‹J+ý ,¨n^sZgTãÈ¡† Tc Ðsj»"/0eÛ®‡`›ÛîÈnÇzb¨CÎKˆá…TBL–° 2‚G®º¹Ó…UHäéH*ÅÆTžÅ)ÛT•~ ãÔZšR\˜f>­”idt¹rp¶ áT?Œká¸ožL^q­ç.ø…øÓªÜé3á§0öyuçŒ)[ÎPü2‡$–â,Ë%,k§ÈļÕ.¦ŠA€¡"+—€­û—CŒµÓ2€:Ô´ÖÌBMC©Uªt¤ºœ>‰çr)ÏœŸÔ‹ÒÌH$¬…åxÜo鲘r¹%nKuv«XŽÖ¼r¯OÞ™i“1N&å¶àèe¢ö$v¶nݶXÐB/.¬çñ; öG¶0o˜ƒÊ.@Å/rTé&oÈb½yh†ÏÖb$´bЉò~!3ñvi˦:—.Êùæ×póÂ\¸ç >_Vݦö‹z²E94æuÅÕÄK&ÓpaQ삪À lºç|†,fÎo,uï»ú7j¢ê-èNŸ»ðå̾¾tðöÿpðM;1JV½-¼<†’öõï•™$ð&Ï$ÔÉ塿 Ow?:yx0ÏÝ…Ô/DÛ0ïõEuµî5d´¬’²2Giô½=qêÑÙJmBr4c)Ç bxÛb—Qä”Ã{±îU ‚;9œ­:¥_]w¶àVÈùoÕŽ¢N>­[NB© #b. -´v4 Éàccž$Òp2­%°ñ `I7K0÷]Èò¿¦”WÆZ‹X.ÏñóqÏ™ ›˜.F ý–5°ØH»W\G5k×Äx17»Ž²«Wê´ÈwäŠU£‘+uâÛë?мà5“îð|âÂùþ€–þÊø÷-u®é©²³(,œ¥Šø(w8÷™?çGÁ„%†3ø¾Æäƒ&%æé†˜tDŽ¿pî_ÝL÷è!( PHÅšøÊ•o¯ÎÝÏ/ZJ,µÇ8h2„žÛÉÌ,ꥂâ‡{sà kb:¶ÕÀ-‚±ÁP¸:Üï¹7?¼ ½Å°½s¬~¼ëÚ_·À=‘þ¹¯6+µÀ]3][*êñ޵,”³Lô>ÊL_]ׇ÷…Ÿ3Uûîöh9ERÑC«ð‘õPIã-OYí÷q‚ÇQÊ$ŠçU§p>ä·:jñ×J‚+¾ðÏÅQ!‰ëtØÁ•!’)9îIbˆãHdmG4c_µ1C%Ä|É{ ¨ô¾X¿ñ:QÕÔl»Àt´5X ¡êÁèR±˜`³æxG£¥ WE üÌ„Žß“%"Ãç €5¶ÁxCƒ´CǤ}w„”rZf¥VOkz×ôñ2èz¤êKZ:x¤dy{?… _&šv[/H]¬ùÀK©æ3Ð3é),ŠÍiŸÒÿ%»…‚!¢#Kúäc³ræS :L>eˆ_¢ñ Œ,Y¦¯Uw=ÒÓjéúï)-üµÛš ðøIãnÜXÒendstream endobj 40 0 obj 3197 endobj 38 0 obj << /Type /Page /Contents 39 0 R /Resources 37 0 R /MediaBox [0 0 611.998 791.997] /Parent 12 0 R >> endobj 37 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F23 7 0 R /F20 24 0 R /F31 41 0 R >> /ProcSet [ /PDF /Text ] >> endobj 44 0 obj << /Length 45 0 R /Filter /FlateDecode >> stream xÚ¥ZKoÜÈÞ³ù s¤‹Û/6›A.ö:œÝµƒµ‚Éæ@ÍPã™á„äHÖþúÔ«9䨥5Æô³ºººê«¥W þéUð¹­ªU©«¼ªÊÕz÷êíÕ«ïß›°Ò:¯ŠbuuC+¯6ÿÊ>ÿí"èìÍ/Ÿüpuñï«¿¾úËÕ+µºÔyQ¹•s.÷Þ­Ð «¾YݼÒr†s*/œ‡v$¯‹y4¿oýlî2î½´6/p š\çæâRkc³«»æâÒ–Ev]ï7ÍÛ>û©Ýêõ…5ÙpÙM×ïê‘Û¿ªB½ýø~4xÆÌ¥ú¾¤“ÞF¢…Ï€@ß®›{EÖ7‡¾šý…)³‘ŒÄ 4†vwØ6ƒ ãÙ¼§»áßáP÷Có”ªÏà8^´ã¦N¡ÙuÇ…ìÏ„i`ÙÕ.wŽÃ(›5õÐ2Êe¸¾Æk‘¬ac¦¼Ðcå°QL¨=ÞgïQ“ºž)ÜÔmOl@{ØÕÛmŠè úLöš­Ô¨™•Zí+ŽpÈùÏ s6>/«¸Î(¥ð0ª=5øšYÓ_’ T^ù²(òBÚ¶îv‡ãØôCŠxg‹#:IFʼ@tŒŒ E;æ1¢f´(XÉ»þË0’’À™—Ö›0<´ã` °áuy”0æ)“Æû\—^Nÿ”`¯ÊM©eåŸ âÍtQ†jµ*òª 8 ƒ«2÷@×èè".AFÁ‚HXƒ*W6÷…Mù‰ÓÂ2/Ÿ¼Åü˜è,LâEÊþÈ„2ÞDã¢æRÚÕŒ^üæ¡È•·K>ƒ÷’Ñ«ÔÙ}K&Cm~˜cÄçöna€¬VbÜ3Bg Q÷²ûq›ÁÌ|Ú ¡:’bÀð¯J»~^ƾÞäXžsÚž¶×[î0þYmçø‡Ý–ïØñ²ióÒÐ^à Lîö³ xëž[k6ì9¹úpè»CßÖc m®™ˆ¯HF„o=JÆáf·uOXM ϰ¸×Žò‹ýReë- †X¡UóÏ5[üÍ‹ë-4÷5b³©Yaíð¸Ý,6ñ ËtB!q§èäV³[IÿHèzǽz@üª²Ÿß˜ðN¿kç+úæ¿Ç¶G|Ä 7À³Gc?ŠÃØÃ±‰gì sÃ=¼ÖMwý¦Ý§_…_™}3/&? ³ ÑYBB*nDå0¡8Íî»ýoMGŸ5ðpbZO§QËØ<”3ß$ ^›Ü(+ Èý yŒ9ÈKñéÀ»}³ëýíq‹Ú Ö}_ã«?&· 0÷*¢æ›·èͳw 6@ž!WÁ.ÌÚb®°'!`g)\‡83¸>ÁMp dnþ“„¿BGOt_C˜²Û3aQ œ‹‚¹vÿâá¾Ê¤‹Ã]:™û.EÁä“Þo ‰Hˆ+æ\'uãÒV ê²\èä OdBnu|J€¯«ì-hÁb¢í€FšÚì¶#ù²çRF Òp!Á3´¶OÝø„ KNþ²Ud?¥8,ÀEGÿJ.ÎØ´õm·æ°ëé@‘m‚ˆ.k|Ãå.òoÆ•àVýBT ¸ÖÆXήâ1©ë€«,Ï.ó÷ôeJ¿¸ 5¿ tk<Ægž{cZëNÉ…æ;1¦„ÐçêŽ]ãbƒ]„Böűª _`°{³ŒÚ!­Ó.˜oxZˆx&©ý1MȸâÄêòJÛ‰ˆÏ@˜Eª1óØmEcD; âh`'OL3©÷¦•¬{²˜˜HQ]ÐFÈïÏÈ3ކ$ŽZ§™ìïã虑’ò:gsíÊ´¾Ùsô\o6-ÉãS(ÓÜÒU`¸àz×°£Çy‰þÐÄ›˜hwqï¦]£¤sib²?Ãt⎅3ÿý+ZQ´PŽ=˜ A_ŒIÁ÷UKŒfPC 9™zž¨€7·@åT4±çE“5…}§ Y,ùáÓ§o*–0Uˆ‹ÎC <…Ö‹vâ¦ÇËSFèc^ ã³ öÀMq [~ð1±4DB©˜ý‡Ï¿ÀM+/æ†é„6Ù5¦ ¶*²›¾Ûñ<+ ü»–oÆ“¤60wß6óŸíš]×?ò¬¸„Ý)K†ÁVH‰W¨y2QË@ó‡u+;Re¿O¨^G,l‚VÏÍ;Iµä{Z€ñ2âõ,ƒå’ l]sšæ%§Ý²p¦]cÉ“õÓÇœ~ÎÁ PŽCõ˜bÀHÓ?&f·ëãœçr#(E@XÚ¯Û Š^2æÇ‹`³×è9ìTêtwœ†b;ʚʇH®æ®bz-3ž³@Uä‘63,o„î<ÇôA"œó2 ¶wõ‚­(k€á3 ¡Mu;ðž[îsÔK›žòs+’‡¡I} }Ô) Sâ:ˆ*óØb¹ƒ|4¬ä‚w?pѦ|ø)Ç,i«5™<è¾€#¼ëHà¦èû™T³Pö94ŽYùòÀ'b>kó*D¨¬ÅëU™Cž…P aOŬ|S*çÓ Ò*ÈæUõ¶‹I©X: …‹Ë0´„ÜI: ¹ZT]Ü…¿µÌ´–‘‹ 6fúî Cafî“pÁ3åEí ’˜ Œm"Å,r?E‡ß=#‹¸_Ÿ"–å)*wSJÿñ™’‚s/Åê*/MùBÀ­Äü‚¢¼tÃõ³;î­»´— üû’`çU7wÉ©hBARÊÿS}ÊÜøb¦=ä®4Lü–’AR}£\úJ)±™aÑ}Z``4]<öûšsööØeÑ¢Ê*Ø…d.pžêˆL·á‘™„ô“:’~&6¯ªÜÙ—êH•Å©8àŒ’^|{r£ª¨ó·0;ÅälØŒ®å Ê ëd:~’™G²x$xÆ÷m? Ç†\‚ý‹ó³ÊmévrìÒ|Æ¢`íë¦C¿˜Îk¾’gL ¥D§¶ÙûA£§¼ü;§˜ª’ü°•æ©:i«ç@S(*WÓ·Ì*~>„g`X‡q*ûLA…*ZâyXµާlϾ©’å¤üTЧh憧I ê\\jQuèÁÕÓmUy8(ÉTLPÔT$š°aÔ‡Ýå©ÂîÉç¦.6EšúT»ÅŽø?šR±ŽM„R²•*šH¥9À汤9h|õd‚¦šÎ³r¹µÕ³ŸZ\^ZÀƒÓ"Ä[2›½¢ÃpuÆÞ Ž,k6œK˜ ­“YŸÈ 0首¦94Û E¹f*˜‘&B—¿õb¾×ÊÈÂÆuómù³;ÏŸcú=û$q~÷áÍ·'Îι™n;Sç0 iéS‚“:­³üžÔ{õãXþbÈ#ògØ”L7ŽËþ¹Áó[ à)Î?A{GQ}ÁŸcêkŠ2Šék ‰ÝÇÐÆOß° Ã¡ˆ—Ï)ÅT†âYùÛ.ÓT E£r•޽8ÐA¶ðŸWTõŒ^ôµM>Bþ ¾endstream endobj 45 0 obj 3134 endobj 43 0 obj << /Type /Page /Contents 44 0 R /Resources 42 0 R /MediaBox [0 0 611.998 791.997] /Parent 12 0 R >> endobj 42 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F20 24 0 R /F30 46 0 R /F23 7 0 R /F31 41 0 R /F29 47 0 R >> /ProcSet [ /PDF /Text ] >> endobj 50 0 obj << /Length 51 0 R /Filter /FlateDecode >> stream xÚZY“ÓH~‡?áGul[«:T*í<Ãl0;1»±,Â–Ý l©G’ià×o^¥ÃV7 A®3+«òú2Õj•À?µò.6y¾ÊTçy¶ÚŸ½¼yö÷ß´_)çiººÙÑÊ›íûèÝ®¼Š^¼}÷¯77Wn~öúæY²Z«8ÍíÊZ;gW Ðó«¶\íž)9ÃÚ$N­ƒv ¯ÒòÒ\­Ãêµ1qŠ+`êîj­³¨lwM{,êMyµ66šþúèXômõ…Û¯`áWžÿ|¥}Tnú¦åþ]ÛmO›¾ƒ¡4‰šš·u'<V·›æxwê˶»Æ6êJ9­-we[Âá²µªyü}þ!¾Z§‰‰n®¼Žº>‹-\Ù¬õ·e'Mb›ÉAïfó¯Ü6;ÜÌcÛªØ7uqèxœXá‚»-ܹ¨÷§CÑò@Ѷ@1ŠÀ7™¼¾q6Ö.üJýæjåÑ‹òò™°ŒUêdõÿ’4Q¸ÃGÿX ­A´–µâE¿,Ti¬U`àrk ‘;-O›²*I'|ûe¾A;³,ùVø2*º¿™.œeu¬¬YÚ>vÊ˦ªãDf*ªQÀ§#þÿQÔ™'Háw*¨“5:ú/Z›l†Ñ[IT—å[:êeäSÝ\‘ÍÏkžw%¨9Ù”2)Ø”™)%›‚ÊÜ~˽0Êd 1UµN©zYÙ–˜å¦—=ÍÙÞcAš9¡‚–Šx#Væ@ðpà5ò*Ü!­ßr;)êÛbÝö˺­b3h+õ¿éß@¢ÆÁÏ‚‚›8óz®àÆÛe×±OXKÎ5ÞÄi oB ‚~Ǻ´ÏÅõ5]ÕW䬼'®¸QÊÄ 7Aÿ~~\}Z¶¸LgscðâOá—åÇÞ6”ýûnÃÇ^M-¨Úµ)z´Lúj2k­f‚.å±$#ê— 6 7*xÞ¨UCLƒYÖœb¤òi.¯S ‘|Xäc¥‚\þ¶@"õAÔ¾”RI´» ¢\ì'/›\Ð1±Î,øt±b¨ÖSÁ\>eÞÒ­Æ« /ÚKpÐt¥­öØöR ŽèRÀUÜŒk¶è~p*þÞßVà:‚ 97uH¯h…D°P¡ArËSà.6V&x«Ms8ëŽ;ÍnI¥|ls÷d•ÊbïÌT§€î©®Žb1-Ä@TÞžîžG6½p"ÎZým¾+U'/”ä#¿SÇãå—Myׇm²†{X<¸³Yl '€ƒ%SúÂ<€Ž]yNqÀ¢ÛdwnÖTÛšÁË,˜3xLqb&„iÂe+`¦h…‡™{é˜Ój‘,‡‹é0xB²ZžŽo­ºébc·Ï†ï šœjЩ+·1Mãàlê ê®CÀT bÒàÎÝÝ¡·Â7¹96«Ž·ÜíŽ$yl.hœ ÃM½.  1qhjŒ£Þ†Ã9GWŠ(ÊùHu!X”usÚßb€OˆÃÁ}Y—-iPD¼$EÖ£%œ«¨êyù³i<…ζ쪶øx(™…êŒpïÝįÒóŽ«¶E_p«ë[ͧ¶¼ž…`Öó2ÞÇȈÏFø¥„Fá5`…Žœ|/~W´üa®•Ñûž² ^0¹:âüÌÊ«‰dwŒ‘`‰gÉuøD`¤[À äx‚#6‡Á@Á?A´ëáîD.ÙÀµõv¶iÂo>Þˆn8Í»aÝ4Ä)'*m‡þ’Ó¶9õU-^÷Õ»·¿¾yÁmöØ{lF¬ïxt×6G^>ˆ©DpIàÛƒDh/IDâA3£2BºŽÃ>£¸½ŽEÍ¿Í h÷ƒf®£ò9ÀIÀ*z³ã1q· =AËCdâße'Ó’7 ޶. ^3ŠÄ"Ó5!b QÄkƒâ!¾æP؉µ iÄF)¯¼ q @¥BOɈj\C²ÉsA­°M†óGÒllQt Éh‚hû+%õ6!‰4Ù¨Ç0ˆP¥Øõô¼Ð-¿ôm±9™ôroÊ}ò*df’” ¢„}âîM6qFÐ;£¿09=íeB8j)µÖ’NÀ!Å‚XÞRNäQMâÐFxdð(ƒUͳÅvKÁîzïôSÄâVˆŒ®÷0bHl$åö›®fŽ\Hø‘Gý÷$Ád<¼(‡šé6=‰Æ²Å¢œ<=îݰ6 Ç‘‘þ¶!#Îðý¶•ÀjÜœ2¯’5lKx^ÛbäáµÃüc5›ä±qn’XyJ¬üw«€bÁÅn–ß[8= b•±ÖB§¶µ· æóúp¸ƒ¬räOë7}hòÜà{ÀP«_ÿñÇ@d œr,&î’@.ˆëŒˆC²:‡ö{wÍ ¥®9?M?ðù2Ç1!bxõ­ƒÒì }.™bÅ”±u±©0Ãò€ æª4‹†Ñ ¨K%°Þ²“7È:O >;£ëדzö8Ñ'ïŇêX±JÑÚ/ÕQð ,ƒ'TÜSðô­\/†78Ñ*7ù¸×rQŒ7³º!£hdjZß²*uU(á™VI¬Â®8†Võ­äI‚ÀL8k<{zÇWÂùo"\/É <ö¾l1—‡p@ÊV¨lÛõ× F”ç±·b¯à–JLè5 e ÊâÌ‚·\sVƒǃ:¿GBžs1a÷æéÙU';¾~2 Œ²žNNâ‹z/ÖW±3ÍA˜½Å|o­Sgù<_|±ÀŒ‡ÜÞ žc'€;ÀmU½ò^K‚a½ H›,`˜ sä¥2›ÜÅÙPÊxj'MâÔ„L¼=–ìæ·gk¤ß’ýÊ-÷¨eÙL–r.È¢lð™½Ì¨R?/:‰ý¡¸láÈ ),c“ÅèÌä"NŸ_ÄY6,§'5CÜ4^dX2!B5î«äè‚»o|,Í ð'ÌG*{V?Pº6±ÏÓ§•®ÝXº~ˆœ‚x9IáºdÎÈ¡ìY÷• NÎN^V…˜m”hÇkªÕ%8ú®h ¼’Mðó sÀ·ìƒë.Ù­²Ilÿ2°*¶ƒ>y¸4”µ¡E°ô!|÷ ´š‡&Ž–+P*¬!º`Ö¿ƒÛ0OeÒÆ.Ug%`k–EÅÞýø7Ž‡È©,6êgôÄÏ«¹ðhd€]I‹ØwK­ •Ö Y1À ®Öq[íX#Ò’ ø—F=Pû•-’rëô'"Ÿ} ;j¬õk/ØÑØÑcÇ—Bò`F0ã»IIâmƒ÷ ÏÁäËwo¿&3:ùe¨m v„ûNáUj¤Œ 0ç#¢BlS)–rIŠW²püv› _’ ÁÅf r‡U‚=&;*zÔGþ¬‰é ®ãÜ"ä0@ù-üB¶i+Y½€q>žÝ‹ˆ“˜VP/¨ÿì lUÞ“£ÂèÖ‘—²eÈÀçÄ`Å='381„$ì«Â©E¨hvŠv‰ómYÂ…¼r~ úΖd—Â2Snp_ÑV„”SLÈ”,Bwx:pÈßã$I æà‚}E`Û`Åä9~Afáñ Üøf»ºLÙïoKJÀÇÒ-4‹ÐèB°8„$zß–ô0Âî`h‹<ã–bcoßVÛéxSóŒtèâL¬-ÀÃG`B–žq gáÓ÷Pþ¤4ÜF¯è s®¹á/?f®ÏEij”ÕÀdæÀ)HÎJ„ƒ¯ b¾ Aç*& )ç±Áú…­yAÁX-•å&ßMaù…}ðçú¯ÜâT‰j¸V¬Œ…;чzù ?ê<~˜Á0‘°:ýõç«âäá$ €»¨™‹Xm¦!ƒÿ©Î0¹¶ EtÔ”4Î1à€]G€ R4ᙕ±EÙ&Q†(ÎP;bï¸b´0œ Hc¡>~þ²øk(É"tQ¹ä[øÑ»–„»®Ú–TœÂ>^S&Œ½¼ ¬†P€í· ‚‡"Ái6üÉ@²¾Hý‡ÈéFѽšÈ“!ÁÜÀN„r–üéÍÿôQ+ƒendstream endobj 51 0 obj 3092 endobj 49 0 obj << /Type /Page /Contents 50 0 R /Resources 48 0 R /MediaBox [0 0 611.998 791.997] /Parent 52 0 R >> endobj 48 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F20 24 0 R /F31 41 0 R /F29 47 0 R /F36 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 55 0 obj << /Length 56 0 R /Filter /FlateDecode >> stream xÚZëoÜÆÿî¿BßÊC},÷Á%Ù œ I»Na©(Ð$@©»•DèŽ<<+î_ßy-'ê|) ãöÅÙÙÙyüfVê*ê*w±)Š«LqQdW›ý›ooßüé{_)izu{O+o·?G7ÿXå*z÷éæýõíê×ÛßüõöMrµVqZØ+km윽J€^~Õú«û7Jö°6‰Së È«t|Ž4¯ÖV»XÁêµ1qŠ+`ê_«\G~µ6Ym}ÝôÒ~ô­´îV:¾ `>™PW 4#Þããj­’4úvµN“èÃ{^?ãÆšØê°¼ ›V{_wUSc7š{öåf¥³è‘GïvÍj ]{z ƒ…>Ø+b››9côc£¯Ö™Ž>-³çR}Ê^›÷¸ï±à[žFI¨&Óqá\–-¿®›ú¿¾–MRœðÞÁ J¢ª^à»Ð±8x·À¢Ò“sý’¤Iûøí%¸è4É~¯4€?úË’\aN_£ªòðÑŒªIc£Š Ï „-¨£>§Gì(#Bzy\$ ù±1} —ŽgFƒÂ‹`c…ÿYúe½•»Á;YR¡T,Ôœ¥%™iC[L•èϯœÇF=gµ£Öp"V¶EV©S¡›XeÅ¥Èã, ·†–¡ÜYÕ@ÛÏô'µ.åmЖ¥éŽ 5q–ªQ%”°-ò3ÑÎ÷=ØÙË= ðiÙB²4ø˜®‡‹®ê&zß´ÜøOë·Çßþ!^­­QÑ‡ê œö¶ }×ì­ï:¿åÓ:‰çf†~s(ÛÖ[0O RyÆNŠ›íËÛ†Ðmð¢Ú9ZÑ?¶^˶-É—uÀ‘s\3·~'x8îÊ–)µ¾ÜM?)uפ)¨„ùŠÊ¤“³° ¢^ò$à´3uΓ|³d`y.\Ãê ›<› õTг|óJ<)ÒÉ&Î,!‰Ua.Sâ`FíD-I£ X.Üc_VuÇ#¤)Ö¸ÑÝã(Û¾Ý=®ØU]OoØ8ç‹p“5|íçõsÕyPƒÌÙè]׉©Ê>¨¡JtœæÅLbÏU2EžªŽ[¬+&¨wy'(}>— È6[¿$KçÆŠt~\­ ³©ü¤f®b¼x?àkÓâw+SÄJÛÙ-᩟«7@÷±Ùm;>Û5Œ•›þD³ivǽxd`3¹HúMWõà·‘N¢Q\ôËôÀ(›¶z¨j¢˜¨¬¾­~ã6a™q©A,I5õ ®%]‡yNô;Q…îOØã=͸ç‹èSåDý=²¿û²Ê $§¯Y(*#›‡)‘JЛ–oöœGÊ’8ÏCŒº†;-–•ÆÆy–Ï•FgÙkF­‹â¢0¦ó@ó@OëA€Àõä,9ËûF~I†#òƒk®9œè”£TsR8\90µ!0 ÍEà§S'C,}ù¹,:„/ D ô9}™e†eqH |;×ý[FÀ:êÈ|†ƒ£x2Å{¿oZt*Y@T“IÐ*:vB‡‘=®ØVÙ¸Wn·dY¬ÐW-qeÈ›4¨:ϧüL1»§|ϸŸoºƒ¨ñ >MïcCnp¼cíŽwHÁ+2md ˆÇžµà3"žrwôSY„p”5UÿgŠyqÓ°iRÈpÙ(@‡l–<ÄÐVÄäòÒèæË~ïÁ#m°k£›§/»ªöÜ Åd†¬íææ=ÆK†D?±rNô“>éFZzt{ÐækÇxß{цÖßû¶¥Ë€ ²/-eaÉ]–e[•w;¡z'je&ôáú[ùœ§móK¢ìî'*úÙüÊž,¨6 Š}Iê ­²ï[ œ†%eUÙä´%IW ½J~ûG",~~ôBîP}FÝizAŸÙ°2l¨=PêJ2 ¢¾ ¾wÎóȈÑ÷í¢eèV,ËŸo'2°rÅä;ß[t0µ=¶Ì´(`…d °Øïª=”Æ ×ó=†yÉ)n¹SÔª‡ÝC»©!ÚPKð0´P)¬MàlM+˪^HíÄb%ý¦å '46EöÝ#lÊr¸^fA¬”üÑ~çå’q+Iá“YtoR<ùüØÛp’’ú|“S¨ªˆ“*!4…Þñš®Úv²ÿÈðmËGöFÐ"2rV*ùgj¯°`´W§¿"ñbé<œ uÓ$,4ø%¼h äœbQä1`b .äpØ œÑç5ÿ–ü#A•w¨'ŽL÷iFö‘âX{§©e4ÉFÝ…àìÙuTâB–œc–\Æ•ì²Ý²á7ÍP`ý^lÖ£¶“+0Ä9r®°ˆ£½|È–$@ø={ÉXœ={©|é‰ò…ºÉƒ7MJBLM²ëlp@NÊ삳*ƒMÕÍà½ä:w»¡ü²ãšÜ43?p¢9ij¿l4%`=ʼNª ô@Ptàcàtíé ‰~ªåy"\\WÝU»ªÇ„Îòà+-Ř˜Û3Ìt”°¤×Vè p³[*¸  ö€¯>,U¹’Ø@¯–‡Ò¡ZþîŸKDTÛüõšÚޏøô…zZ6y›Ön(ŽˆLô·êæòÃJ¼P:)3†È9FfÙ+k77ï¥6þàÝeá³8 Ÿ`AO+£¹@ýNJ@Bw9€~øxYåÜ[;.xhô-h5ZœŒvRU¥ÝÖãæØf©k7—:ΰL°E2ÁF'Å> endobj 53 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F20 24 0 R /F29 47 0 R /F36 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 59 0 obj << /Length 60 0 R /Filter /FlateDecode >> stream xÚÕZYÜÆ~W€ü†Ež8ÀÓ¯~XÉq YpÍÚy°ý@ÍôÎÒš!7$Gòê×§®æ1Cí:p^;}»«««¾:ZúJÁ?}•§±-Š«LqQdWÛã‹—·/þüɯ´Ž‹$¹º½#ÊÛÝÑæŸ«\G7ï6ß¾¾]ý|ûæÅßn_¨«µŽ“Â]9çâ4uW Ö˯Zu÷BËΩ8q)´Ãò:YX¾À5¯Özmmœ Lõ÷~µ¶ÚD«µÉ¢¦«úª©qHEÍO Žê¦þìÛ†;þà¾^ÁG=“Õþמ§ú7„³ª 3ƸتBXºaŠ»yœe‰Ìÿ¤µ°ˆÆ|XX"]1® ŸYᯫµN³èÍj]˜èÕj™è$†· KÛ"6ÅóÜÙ§¹Ëgì‘´ªúLÌ]y”KY›<ú¯ÖΪ軦Šþ¾ìùNMQÄJƒª¸ØÁÕWj²$jÚo±éè*ñw˜›Ü^Ç#ŸªþY¡Ùr‹ßsO¸àN%䧺:ŠÎ´}Y#E|ê,z}· «²Ø¨ ù·¯AÚEô\€rÑ·KâNâDeÿ[mnóè+üÉ"5DÎ ­Öó œ‘„kgI.Lêï\ÐvhMDy#yTÅ>¾^àWkëTÿ›€þÝìÛ€#‰Ó/Û4ew)^ XšÒN¬$/¢oªº<W¹‰–îÀhgy8ªamV뤈nA6¾]`{m‹,NYšè5ÚÀ~µ˜Zaá”ÚµxœÈ2qM.#“+ÌÄä`²J ¿²2`vë?VÍI6.۶į;”„±Ñí=®xê–Ä`S»ä‰{*âAH_-©²‰Iÿ[):Ðïdªß:¨(x'«A°úi»$#Ó/Šƒ€±30 €]’\ †ë …^ИDÅʆ³ÞˆÅð™Ñb4YL¾h1.ä¸tE¬§ºXóß Åt"EÆä’ôR8ß6õ.àˆ¶˜ëðzÁ¯ï·1yœ$ºA³4iTò¬„„ñ|ƒÁ‚v$À¢3¿[=žñ±ÕFA´e¿ú×|£/k9¹RiùEÌÆèK?³£“ùuÏB W&tC™z”SÌKbMQÆÂnå—uæhMð±wÞÀM#èeiô¦ÜïýÛ.úº*÷  ölt×´G:Ì ßÜ|=:‚³øpmÐ#e´Ïí=ñ fÐõM[îq£<Ž áÎóÑ̲´Ü;uþît` ØŸ aÄÿq[3:ŒjWJÄ {´ã&½oaö("Yãèû{ᄽ³š©1­1ÒCÙú{d¾-ë7˜ÛmO¬!F±¨Ñ¾ëšduôcñ3ê½K£M_¶}Uïñã<ºk›#Æ'‚Æ«Í;n°°¯Ï¦«/yãJÖF»Ä~ŸË´>Äk6@¼B¼µì,¦Ó°w[ýŠm 7´m}ÙÛàýh¶ÜnaM:‡äëJö¡8ñï{n` ì$!Ç=¹±¶ò]¼pPΚ,Ì0b(ˆ’È€¹²—¡®oOÛþ„±vÙ6tôþTzzÏ6Bm€þ@nCEŸÄ`¡E—*tpë¼ÐOÚº_‚qè"Ú‰qtâ>šÄ/ë÷Ù „h-1;a^F—šUPÓEe'¿<³óu'DñºHÑH'² îL¬êä\VÂXbC|#ƒÃÂÑyàŽÓ‹Nk~17“0Ï.žf:øVxÞh•äjâ, šw³÷43%¦Ü*k¦®8)ð{"Q6L(î¤/«šu4+B‚‚“‡ÓQVšå¦Ï7wâÓ˜ñ…×h[ßÉ×õnØd*CŠ•”€±-Ü5‡ƒ€8^ÜŽgƒnÎxKAõÐëì\ÆÞôÂ''P—¼[sqÏ0By¢q#IØÛ‚Œ"²ÿ nAkøäàïú™ow+rd„²à‘•Z¢v2DºÊ¬tþ)SB#HÒ€86ÑÀA½''™¨€X&ëD+qn@´K8AÃï/ëa ^Š`&ü¿OäÜ$ ò3«^ÞÄPì0ÉEº G"€LQÃü„SæŒ-%S’R³ofŸ%è´{>[†c˜àÝÒç˜z˜|”ŽyÑ"R3n .ë|†Ëº`éÁpë!ËèFï ßÈ{_ƒ—>0ypD8Á ´º]—ä–)¢>3|ׄmKÚèKûë%?OéRr ñÈ$´S&p†ó¡‚¬¾øt_VÜmw¶\ð· )y´Dvž zØ®ÅüJÇ&}ªÚ8J!¸€Â" ñèu”ELå0x83ÂLÇ]Æ @¥Óî¦Á A1‘ÐBÖèP®ù²ß0*6yÙ&,0²ÀÛgÈÅU-pÀV%3L)©:“öÃ;´§4›:!0dqB Åø3I ѵ2ùÄÅ•PÝvšº,^_çCØ?Õ-Ù5víx-?ÄnÐÝßWµÜy"aW2«@O.›EcllÎr¸ÑÏ šÑý'ô¡1\s·˜ßd±RÔ›Y=h1PP±Í9ávpvÚ}\0I9S9sÄ0m£Žçò!ç ÐpÂ&}談Cµ-'ê¡]»ÔÌdp_JB'bõ5ç\Õáph+{¶–TÌ#Åh_’Ûú|Fÿ<1ܘ÷\û3©h|Š!qYïOæâš»Þù딘_Êø”¤zɘêéYª§\´y=ŒAÒÿø%0“q6x!–Ÿ‰TQ‹*ºžG§ú)e$¯^A>ëËÝ`, ÈæI™èØ©\(ÊCS{ZÝœ„#ã.Ó#cŸŒ†l™]ª8˜ÔÄó[_L0µÓ$˜$í3A¹kƒ2.!+À͆CäEÑf1/”È +W\VÈÌy…쇤`~ð\ {yÀ VEÛ•ÕÑK¢wÍÊ*ÔAg,YÂÉ^¾ûM¥3T§Ñ{ÕW@€úat\hVÜÛ– _°ñþÀ¥-òŠHgvô¦d=Ó°6Ã&sâó¥êF詎0ùÐÈ»"µªÏþ iAG9­¯µÆš §²Jl,"Ûsž‰j<ö€œWSCEA…¤2 @ß÷Õç²§…> endobj 57 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F20 24 0 R /F36 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 64 0 obj << /Length 65 0 R /Filter /FlateDecode >> stream xÚÉrÛÈõîü`•‰ 7,5'[e'Ç㔤ñ¤*É¡EBb`p4Î×çm…„,—«Ôݯ¯ß¾4­V üS«x«iûÖ#ƒ`ÀÝéüè¡õT‹ÊH-—ŽzA±K£¶AŠŸp‘±Ç"té$K‘ç`Q}ÕWM]ÕÈ …ž’÷-:veDÌVŽ*[8Ò‰~íT¿&\îã—›ÛëCLÖ*»p8;÷¤BgÁVH¾ªÉ¨Ü¢:LêÈ]°âôR°Iþãçéä…½»©½?£]€¸sýr· ”~¿x0±ª‚–ó&UÒ…šn+?c&ÅͲ´!X@%¬Õ,N:àÖeç0´2¤Í ®Xd¨ŠÄPO«’‚ªØ)N©éŵd~‘DÏ@ñ†ž“32X¢€‚æ‚ ˜”LI÷>+ÐÁ¿¼G$Ÿ’ı•Be¥54‹#qVîË6ÃPFù;AE#ãf}ÀßñÛÅ©ç˜<}鹄{ҙÒ”£çaèµôÜ:0©ÃsÏO 6øæÓ¯ÿøFB—oñpÇ ´Ì$àÞ°±i“Z~zÙY yªÈ“Ï¿ä9y_"Tá$P‹Å?„â…LLÈ™+\Y©]±Ôñ‰¤R8¸+¡ä;T”@’i[’ØÛЖ$æâŒØ;kU–ùÀ™ôœbfU±Mádxg2‰ $”3>½»F#ùË;>Xu<ž´ð„¯ì±Â•šr¥N5á*¹ä Al æN£*YÃRô‡nRÚ0~Û¢”ä …à2ˆ ß;7øÂ™*B¬c½Þ(ˆLæ¢÷k£¢Ïןެ €â^F—¬ ¾]ŸÏððxÛ— éî‚rLAQLÅ+ÅÛŒ%hò¨:HÐöž»Þçr Úï¦/òèÃÞcÙ–s4uÃëº$… ²ódnXd0t§;‰ ¼¾'‡É¤¥ƒÕÑWçl•E;ßû¥Ö68>÷àP‰UõVjN'Ÿ0Zs~3Æ‘³i"#ãh=M¶MOm/ÇêÐMçãÃ1";+H fèÛo‹}n8[>;l㪱ªÐç+*åjÞ¾ãFì+¯¸ÖÏ'tÁ¢AÕñtÌ$[Ö(žçIqñü {Fó¸«þT¶ò†¹H÷4Ûˆ*5I˜¸ªÚS¢†²ˆì˜% \µ))Õ`|z¬Û€¥Ðª ’‘2ÀVw‚”¸OÎW*°ßBœ`ÔuÀqnVîü¥Wº~yMçG{’è³%¾)µ?ÐÍ6Š»d|]uÞö»æH”ã>ý~¡Øl,DüS'H<¯Ó|ßúmÊÄjj:p›¼'£áŠÞÃaìIà}›gjŒ &|ï×áçÈû. rÝp t<õÃ&?µ‡|2;¸÷/àr˜ñÏa«ž©Y«~f|WŸ?sâ’ó\ )ÆÎ8‡‰XÆÙQ ‘»ªöµ‘N6³/’èj⹈A~“¹´®ë!;Ùtâ’…ŽþÚŒu™ɧ°^5Öñµ¬Ë-\G%î‘}Âx×–þ«€(üàQ1F¶ìjV^³løõ åÛòˆ)Lèù ŸÑ—ž1ŒŸ9e|æwn¸ ƒqPÅCŸ„_[ asÜûmùZ~‰Ë˜¦zê÷ˆfëoÜq¤ÖòäÉÙÆÅÇkùí¤Þ½®PºÐø“”ÁÒvU µÀLO½ö<\¾d“¨À»u3¬¼Xà™—ÈÆ¾ê{RÌýnG•YÂêm¨•tÝä‚Ϭ™æÎæ’1™BMK! Š-„P~°´ ü@jÌ‹w“wSiuxôÑ¡5ëÊM¨¶\ìØùM al}ÝíÉ=ˆ€žÏÛ3Jë’øQt!µe9Ë7›\—É+G¥… À;?T¦“£¬Ê<Äü,<ÀDT7Ɇ./BQ³fÅg£7,øð±9تpusÅ?;ªdd÷Ã=d2º/g®\©L–’*™+ºNjZ¼a!àœ :Ý@ó6übœºI@Jíì0ùNÆR7‹°dg“ö& /éð(–Nm'e[ 6õ*æsϘ6[3Ü•=°¢¦ïdGn»Š›G„7DÏÁLþÓÂÿ”±endstream endobj 65 0 obj 2898 endobj 63 0 obj << /Type /Page /Contents 64 0 R /Resources 62 0 R /MediaBox [0 0 611.998 791.997] /Parent 52 0 R >> endobj 62 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F20 24 0 R /F24 8 0 R /F35 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 68 0 obj << /Length 69 0 R /Filter /FlateDecode >> stream xÚ}VÝoÛ6öèýz¤Z5©ï½eYt+Ð5ñЇm´LÇD%Ñ%©¦ùïwÇ£d;1Öñx_¼ûñxl–ÿn~_ÜmëdÅӢɓ<ÏӲ̓5Ø««’ý‚Gy[MôdžWÌs>W“æ*çyZgH¾%<å몊Rg4ì~›•#ãý}/’ßÌâó"ù<ïÕëT‘¬Džæëúÿú×O£UËU&J&~YBL»¡e‰C²²3µJ„îO$pa7R$P“!w”ÖE½ôVÿ Z;"´wQÒ+Ÿ‚hÁ¾/EÅT ,—¢'¨E±NyU$+HœXÁÇ­œÞ)+·ê• S?둬ÙA:âm—+4¦ZGO„Œ‚Ò{Õ½žhí }{ùu)j-ûC$Z3 ›"´N›hךl(GÊzXŸ¡ôŸ—!èc'[õbB©T¥ fD‘3Ùuí?‡xD‘1gzE”±ô™ÈØ“R.0FΤ¬•KѰ… ñc>h5sæääEºWFõðÊf 6©,ë‹£mB޲rlÁ‹q‘£}CrgNž’H;§úg9{>¨AÅG“ÑžÓTl`=k0¡šÁ`kõ?kž·TH`‘в{c{9´*ˆ—Yˆòmìr·SIÑpV õCou§}8,±[9qJ ,bAfMà¨"sÐ*¬<íé¨뉔ö£ô€ ‡¡‰Œ}9¨(DÉâÒ("±ä5Â/xßá)ÏOA7¢5ý±ƒØ§¸3ñ ß)½öq#” ˆÝKñù”¸8ÜâªaÏxªp½`k0Á\Eø‚û Ÿ“E/ôdGK‚ñvfP×€õ!༞ Y37nç EQx!ÿ'‰Ïüøm;%m÷•†n¥eËWNvx ’µcëj…¥â‚Ý8Òšö` ]ÁÕ6fe†;\ølÍ)¡ÈÛ›qØ©Zr6¨V9' XEOÁÌ &†ój’¹îÑ’#èŠÄˆÞý!Êfõ9QMqÙÌP.ôØ  ¡Ý\9˜#Ì“¹È™UOc'-.ĹExYJÍí§·¤££.Þ¨°ž£ACÑà6¶¹3WØú4ÛŠ8€²Tðp|Á‡üÚý'1c‡ÏN-} Âþ:u!àûÈ…k‡ðN ’šg½þBDÆË_3£gýh9ŒDhGQao¢Ej ¸‡ß^ðÞ„›çL÷±%ZÀºôÄßI/‰rÞŽ­‡'ÞѺá½Ð"vWï/J䟮=úÚn„¾ˆ˜Ï»_b|–öƒªÏˆf^a´s`ÁBu²‰ }[7¶há@ÝcºÎ4wÀÜ–ÂÐCEY¦•€!,Ͳš†©+“G–0B­NB¼fàÂ}GÓ æîãÇtšÃVÓœÄaL¬3‘ðªN‹¢º6ä­0„¢Ù&‡¤œ‡ª*)!ÈübÒ£àê†Î2Ã8oÙÀÔ’–|ZBµ¬ÞŽ¡÷d>)±_g»Kéû€ëñ†àboMàÈØod`ÿ5èïøÆãmñTÝ:gó1ÿÄaÚfendstream endobj 69 0 obj 1218 endobj 67 0 obj << /Type /Page /Contents 68 0 R /Resources 66 0 R /MediaBox [0 0 611.998 791.997] /Parent 52 0 R >> endobj 61 0 obj << /Type /XObject /Subtype /Form /BBox [-1 -1 403.999 355.999] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 71 0 R /Length 72 0 R /Filter /FlateDecode >> stream xÚ+ä2T0B™œË¥ï™k¤à’ÏÈJN‡endstream endobj 72 0 obj 29 endobj 73 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [1 0 0 1 0 0] /BBox [0 0 403 355] /Resources << /ProcSet [ /PDF /Text ] /ExtGState 74 0 R /Font 75 0 R >> /Length 76 0 R /Filter /FlateDecode >> stream xÚWËŽE Ý÷WÔŽ Ò-l×{B$l’\±A,P2D‰2D!HðùØ®wÏ(ÌH}Ý~—].—ûƒ‹ä¿ý¾¼;¾yžÌ뇷Áü} ys€ùápˆ¦ç f0Þ/__йSª˜wÌ‹©ó„ª¼:O¨ÊCp©dã.áàºáHÉÆ Õ’›†3%·Lo|ˆ_¹ì¹s•l\«P²qýX…’Ç*”lÜ<¼)Y¹†7%‡7%7 \%+Ìëã§Q7°ý¼¼3ß^y+33l6×ߺ¿h\°Ñ³Þ\ïŽfÈéÓÉÃË#è{ÔgÒg–G‘{àÛ¡X¡!¡Ø ˜ [ è£è<º¾­+!öÌ+¹8äÚº°ÊõÕqóXÄß_g5|G¾˜K™iü\y#ª¢épiJ”ÉN—(=$ÉM‰Ò]ò)É¡óé$jkM¸yÈKäO~qýnD¯¯‹Ië!ÓŠoë­t_¯V}—„5z­ü.IáňNZ‚£ÒbĽ@L’…_¤I´hHÂçÃ>7_NAɧè•ëyñùÄ.À\Ч~D{CR´Þ“_ÛSçK7j|mQ¯Æ‘Ž÷Ko«|%;_+_Éί=® *=$Úçš„p‘¨C˜M×0û*,ža¶VXÃÒ]aõ Kƒ…µÅÂÒc›ÀCKÌ]%sã“y{x>ߘ3î2—]åÖÖôö.vˆÄýaƒˆ)ÙÌ}sâñ»J d]|Ò° ÀÇšÒ ÈzYMËžwà’•šåžK,~"zwFtÉ[ÏUœØàN:è"Y)Fç"µµVíÆÅ y’ÔÖŒ¹¸'Ó{Ü$’JáLæn­1­æl$ã·äiWA@o!ÅîÕ#‘œë†'mx.ËpÄAír’þWxï`ObC“»tCË)ʦp–rØU8¯¼ɸ̨¼æŽ‡\¡ P¯á œ÷0 Ù§Xöx)ò½è¢M)í*I*Ѹ”­œšèdž¸tÚÞs°à9çÎҮⰞ§8‘e) (Á´GŒ«®IjiuI@ä›ÔFY›¤Ü{Ý$„³ 9¯’‚ž’Ú«cH Ý#’à"ç5}|F8<E l×áÈÉé¦âà<#”'fáÝÞ1KöÕŠôøï:T¤j2KƒvŽéãÀTzÃä;»°IÄ“Ôyï*àD?q„Þqb˜8‹”›Á'ÓÄ)á”7W¸µ…$&d“?éð8›£Äȵ4Ë„âÌ›Ž¥!û™7â£+m3)דQàò,õÙ.]cÜ1 iÅL<³3 >xÒ!âæ£ÅÂÜr>¤g¬˜VL>ÃüN|&¬O'â9s\š|0q?ÄfÄ¥fÈI‹c&ß'ÙŸt$3=‰Ç/œúdèC_ö¡ÏÆç6#É\Xñ§¡Æ,=h_çã¯ا¨ÏOë8'¯ûótøQçé›'Udz‹,CÆ­Çî&—¬nÝtU½|jY"¿~ýË¿ºâG¾rá†á~½>á"£5%~Z† ý¹¯ß>1ôû£~uäö!R?? ‡Î}OªdLï3®±œ K¢{q>ôçÄ@r"A,_JýE^§¸»Õi6KD­Hº†DWƒR775Ò a1ÔM9·/²umÏQÕI”œ<¼<‚<ÄP†øduÝûÚËš6¼ð„­–ZÈÓOghªÆ7¢Nõ|sÔ4¿½ûøÞ¼ùãÕí?·ù÷¯÷æéüÊ{vü ]¯Zendstream endobj 76 0 obj 1351 endobj 74 0 obj << /R7 77 0 R >> endobj 75 0 obj << /R8 78 0 R >> endobj 77 0 obj << /Type /ExtGState /OPM 1 >> endobj 78 0 obj << /BaseFont /Times-Roman /Type /Font /Subtype /Type1 >> endobj 71 0 obj << /XObject << /Im2 73 0 R >> /ProcSet [ /PDF ] >> endobj 66 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F23 7 0 R /F29 47 0 R /F7 70 0 R /F8 10 0 R >> /XObject << /Fm2 61 0 R >> /ProcSet [ /PDF /Text ] >> endobj 81 0 obj << /Length 82 0 R /Filter /FlateDecode >> stream xÚ}YYܸ~wþD¿YLkER¢¤‡<ŒÙ$Þ8žÉC°»ÀÊjöŒ°::fÖûëSuLˆ7E‹UÅ:¾â¨CÿÔ!³¡ÉóCªò0ÏÓCÙ¼y÷ðæ‡:;(æIrx8åÃéçàþÓM¦‚»Ï÷ÿüñáæ×‡¼ùÛÛèpTa’LJ8ŽCkãCü²Cïç7JΈ ,åÆž½JvØ+Lø``1Mlqñè7 Ü”:47G¥tüØÞŒ®o‹úæhÒ$8w}SŒ8Žƒip'ž­Zžòx¥Â•(G­CeS:æc7 £ØÝá 'Ç}7Uëž&î0‹Òž;Í€<Š õ×WÜÞwÍ¥wK‹|.EÏuð¹»ÑYð ¬\ˆ’£¬`¦8f“< /Ú`pµ+Ǫkñ3%É5`ôëïï?ó éð78ÉüS1ðà M;' šn¬žo#ŠÇ@ð•ùî¿\öÇÅsQŽ]?„7ÇXeÁ}Õ\ꪬFÞÖ¹²Ì®uýq£ˆ%EЉ³™ØÄqP´d˜(x©NnSò-æ‚¢—Aéú±¨Z6qäMt—&@"!è€.%F¦èà:QjÐùïbsTLÔ»•kb²í:`©k5VVÄ}Eÿ8ñíⵓ® ìê©iyr(o4\‡kd­)ØôñDÏøŸ,!e–ƒ˜‰?‚ÃÉ ¨ÆSW•uÌâàß­[DkÜb òÕk…Ƨ UV)Ü0ò"ºž§x)óª)°ÙÐø»)X Ø3 “„|ƒ¿:O]`4 {®†Ÿe ÛØW°_®åÖYºø:ŒOõX¡K WZ8{jâT:á;ŠXÁsïïßóÀ‡ò1Ö ÓOBðlXf¤‚¢>îD|í0ãiæÍfÓÂÌËS5[B¯œ&%kö­ƒzÎ-0×Í·êú'Ž0-© VkÎhTœ¾¶|BßµÕŸçšü%‘ Ã[ÞÆîêº*8@£Vë×3Tã$cLþ× ïÂôñÓL E¯ÆaKWð¹ÏDeRî¿ç¦÷+H{‹âÐxI¢IÞ»6ýºúK: ªöv©ö´þR‘KÁhðˆzWèâI$F¡LPKAdßÂmó¬@ nË4ÝR\ûçʽìHÎê[¡€Ä9b–5ç—¨œÿ~“@xôޱiŠÐ1°ÛRì¡’nèc5”®®‹Öu”.Øjm˜»@?4Û%ÝfÍïöE\Êb#òü©¡fÉÌ®3àÔ˜ºöXÔîK_à-Æ&ºÂlDÇN‡øÓÊ®i:ùøÅYCtîaWΪýït¯±IűÉfàxåiw8‹ ëÚ“"“Íõ ?ªÑ•é·/Ú<”ã9ZYÑ$ÐGZÚÝ»;ƒÌ‘Š…@ZÆn‡“NÂ(5B÷näþ¤¿îp€“RYþÞclp÷Ÿ>€òPejSC)îégÂÔd3שt˜ç^l òךéÐf^ð=‰”ͼ‰8ɪüUñ„ ïHŒÙGŸ-Õæ–c¨ÃwmÇwÍW‹Yˆc5â,E‹p¹”è©ÓªzÕ+öä{ÇL‡I”nÑ_è÷Rd2ÿ0‚h¸¶B–Ì¿ç':ÌŒ7$UQpÔ‚|–j¹A=UÅcǯ#àøç¾ÛóL¥ó0³ß;1 Ó4‘uê’_c8Ù†+˜_¿‰éàÞŠÖs sksÔqjûÊhÒa0'ˆŒ/Ð}QW_ CóÍÃKÈSw„¹p´²¼mà_›µ,R͇tÙ o ¶ZH|~§oÊwz÷ #@hB ø‹7{j[~7ýWY8ä,\ö¨ÍÊc fŒˆO@@Ƹ½Æ‡âÈ•+º“3ù‰c®•ÔT{HÒkDPé”÷®ÁT‡M‚Á›¶QDï!éò’É{Hî%Û·î…Yì™ÒdÑ«[À-_°£j—º(°$Œ”͸¶Bkq ä—g4ØúÐ×Fôí½±þ% »£U·ûÒWã•åÝ>ù†V‹]_=VSÀŠùßri…º‚ G®aà®ëεé×tä ©… Tê ´þ÷âøø6w§FÞò ÷lÃB°ƒvý2™Z©!ܶÖó @*M+sëÀæ¼ .Çob°Ž!¼g£Wù×*¾Eë19Px¬s5ÈG‰Ææ{Ùñ€—_¼È0.ÁÝGpÁ\·@‰Àu=ÍjwÚñÎ#ò²žNK·4 [u6üÜŠ{78Ž"dpQ"7‘ÚvFH!(&ò(7u«†)¨7ˆ]èîKúd´B«jå·Žz."Çô³=7©˜WXZ˜é$T"r~z¤•„JÞl®­°nÿiAB…Ã>o¯W%¢À}k=ß$h°‰=݇ýâ HC/Í©<­¦éì”:þ] >¼ci§QÁ«ëË\}¶Ù,Œ¬ùÜ0ÐBzŽh`HG'œÞ²ÛA6§e“åæì V/Ë®÷{>'‚ÕØí!Õ4TÆc“ûh(I=$Äš†Ë4J:’¼¤¾m7“+»5‹6k ¦J †Ó.² µ‰¿'¼ ³Ìn…_ìõ± ³û.¾¾+ëe:9ÈQò€I" s»Íaóó«½4B<¾T> ®ãë7§Ú’ß™ì7¼Êí^¿¡qœz}CŒ¹p›¬ú?5þdDž(endstream endobj 82 0 obj 2713 endobj 80 0 obj << /Type /Page /Contents 81 0 R /Resources 79 0 R /MediaBox [0 0 611.998 791.997] /Parent 52 0 R >> endobj 79 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F35 18 0 R /F27 18 0 R /F20 24 0 R /F23 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 85 0 obj << /Length 86 0 R /Filter /FlateDecode >> stream xÚX_sœ6÷§¸Gn&@ `útqíNÚ$Îø.¦:ÐÙ´º pâ~úîj%ŽËÛÍxÆÒjµúíÿ‹!üE‹œ¬(YTE‘-ÊýÅ›ÍÅëë8_DQP¤éb³3”›êoýq™GÞêvýÛÛÍòÏͯW›‹páGAZ$‹$IΓEüò…–‹ÝEdïHl æŽ}”ΰ2}}Í`3 XÂqÓw‡}Æ‚% â¥EqâmîåÒgYê팑W YH¼OV·Ë"ñ~'¦ßÜèÇqñÌpÛÜ×ÝÒO87LâÌ2Ixê©màËc÷r³Rª¶«»Þ$ºÔ4´Kà2ì—qîmcîI=å—zZ }ÝÊŽ¾zEãÁÜ.õNé=­tj/醭èꟂ¼<÷”ã#ú¤´‹-‡ÂÛ‹^×_ƒ¥Ÿ±±ðvªiÊþ¥nayHçr¯7->ÇÞ>¾ ¿ÊAkÙ"}óx"77rwÃÄTº—œ‰9ÜÚßÓLаյÄkð5_hÍ‹k&|¢Qä¼ðÓpä¿þôæýjY¤ÞfFÿ ¸5º«¯½%ê1.2¼‡îŸAhIs¥iÔ²ìE{74Â.tÖPÄOîí´ÚO˜ä^wº³LÜç8¼Qøæ$‹HœÔíaèq ¨·­¶ã¢aVã#(.×--\®oi‚f$zÐqÎs£ãsë±:#´ªql}Àº”s8û:?æA3Ãâúí;t³ÍÕíÓ@_×M/µ¹Â<'¡'¹—Æ]úŽVG$´à@fQቲTº"ã„-t3ÞËZ;ê»¶î‡J~lÆBkµ,t`ãÔ€}²éPgq1AÝÐêñ<uœŒ¨Æg¨“£2“ؾîj,6€8ê©m/@-‘"I¬‰ÀÄ™L<8ߢ¿=-!šÁç¢u.ƒh  cË&§ª -—„ÎÈ`©ÛÃAÍh¿µû´PJ‚ÓZ¯ew¯š °à<þŽŽTä4uGc©öðBiWwä„GE‰oº§/M±Š>&¦‡¦Ëªu~¼£¼PÒô •?ÍC]¹ˆ¤&„¢6Yjã$†§æNiVÆPSë8Ù;Îû§=g-öî^ë¡bK¡Óè1¯H‚-Y+'ÄpÒ;™ß¥-c ß—1r«ËõI¢ÏÑ5qT\žÒ}qÎGsâmQ’ÄQå&<Öð8EÿÍ Io4…/¬ßÁŠ¥:×6Ût—…¶³ài7;ø®q2M/O¼Œ^_êNÒžmcO.å¶ý…Õ£dsÉ´ú¦ÈpwžŽ%9TÇÖ>Mªheõ²ªLåÝKêŽ$ ±C=&hV¸Gà.Ë]3zÑ2 š(Aæ±×EZhe{š™’( ®}9G²`3¸Vm‚Í^¸hì6Õµû)ýqZ]'ÿ»ºŽNŸ^ìPyìr0‡Ã$I³(â<²PàJß1Õ³lâVШ®ë}m0êE€u¸Îþú Ìendstream endobj 86 0 obj 1802 endobj 84 0 obj << /Type /Page /Contents 85 0 R /Resources 83 0 R /MediaBox [0 0 611.998 791.997] /Parent 87 0 R >> endobj 83 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F35 18 0 R /F36 18 0 R /F20 24 0 R /F31 41 0 R >> /ProcSet [ /PDF /Text ] >> endobj 90 0 obj << /Length 91 0 R /Filter /FlateDecode >> stream xÚ½Yßoã6î1…ßNÖ\ñ‡(²À>$MºØvÓË%F¯@ÛÅVb¡¶Hò&Û¿¾3R–Ùq[à°ÀŠ¢†cÎÌ7ß >‰áŸͤµ“”[fm:YlÎ.ægï¿fÂ9³I2™?8Éùò—èîfjxt~{÷çùô·ù÷gWó³x2ã,±j¢”bZ«I ṳ́Î'gÜÿ†’ðÉJõ<QÏ*}ÿÔ½3%b&`ñLJ–àH~¾úéêóITYÉ´×ömµyÚ¶y3É8ŽÚUŽ­ó/S‘Fù𿛾­òåv]”$²ÌÚl:ÖFM[oí¶ÎIø¡ªi°®pÕ³Sä§ÚºÈÊÇí:«q[t‹bJi·—MŸyód…ŽšÂâ_øolÌfgÆLh¦Mêœ_ŸßýpÜÞ«—¶ÎmCR"îI)ÃÄÄûeD nUEF4€€”©8÷²/ ·Aà×8„r¨D0€™—¹Û†`Iª¼ø ,g~øAA‡C6V…›¬ùFUËÚ¢*Ùt–rÍW…s DLI-÷á!8ÕÕ¶-J-v¸I”Ñdó”ÕMNS.˜/4ÿPW/XÒLQÂêàkGIôÐûžÐIpÕ=âì+©Ï_fd•qXÓ‡™€ƒ±P6ªÊ5,‰÷òu¾ÉKT8ÛvÊbul†¥©ÞJh=¯ò:ßû½EU×yC©Ê%mm–$aFˆ9ÕÃ8ˆË(a©L¼@涤UTVåy]W?M°¡Ñ`ñD3Ó)<¶"M£¢!µ=~„ÞáGh‰îwsßÞÝz?ØÔm¿ïÄ{†˜‚?íªÚú"5žDuž­iôeš×[ânBþHžz@ „üÑÑLduM…¾6ô1pO\Ñç5Jܶc´n‹˜ Ž.aò)kš|yœàb`§éæêöú8ÁÝÝnðA *¬öX³)`m½Ý” ½à¶ñkFrù;¢÷à‘XöryUú0$ÂÍ]ŒcÁtcL ž:&Õ ÂçÿQ%`¤PvìHö~oL —Œ§Ò  ÕÌÈ3%¸Ô€KaÒòÀh踸K;ˆÞíߊ^*½ËSì*ªŸváƒÙŒ^»ð #Bø„éS5 {]òïZàÝ=P"éLšq©Gù³ Z1È–“bx3Ãø„¦ý&Gc¨bè!¼ü;!”:tVš»B|ËÊ%}ïò_À3£Ç./õŽ©´Ýv<c¡Žò‹ÿÕ ±K! }Kèž‹/h%¯tLQëLF‡T8‘‡ f1j$(룛ñþ,•èÙlƒ-P?e" n2hA]‘Ûvè€\  t{Vüì‚Ï—ö|Q¸úƒ¥JQëj»‰Zj+ÿ\ùºÑÝ¢YdŸ=”"ΕÇ,s-x+kõп’OR«ó Ï`‡kÄ|ä7 1;¡Ñ¼RqÂ8ðC¿uw‰%ŽgÖǼ„~uíº½ßµ˜ã þ>§fßçº ñ;Vk 3ž‡.¯ßÎõ»¯›MŽ€|ȃ°–Êe4JøìÇMɳ”ü4þ5Nâ‹p„ÑùÍ¿áÓ|á¿_û(k~ÛÿÃÙÆÙ5•<úédóÇä׼ó(gOëlˆLcg´y]AŽhÌÙÐ~ÁˆÎ–‹¶ª‘ÉLÜ‘š‰÷Ž/¯Q:´ûe4…mW¾zÂtšËÓËxl„Üu¬ÇòJ…íˆãÿS Ls(ˆýòôé¯ÇUh(Óý¸‚ÈáM¹¸ÖõÛc˜ Äøž–j·WóëŸïú6o·5ÖGú!•bµx)wú’Ý7KmNo]›OÒ.…`:Ïè:ƒÞv)™ú÷"ônˆ£çTtx®F6b0Ülµ‚³R¼Oû]7ÜÆ¬)þðä‹]€ãlFq,R¨sŸ~õñj~ñ¿ËS™ÆÈèþ¹X¶H…xh,)q¨m zJ‡:#w˜µ± m10¡ëwÆCÀÖá÷dÈ 8ïý0λŠÒÿ¾®º#ƒ+*0õ”ÕØ*jèÐÔß>…jµ/Kš±y½µÞ)E¾³Nq]gþ:Q@OrO-‰m¤aËŽŸ—y eÒ]ºéUî.±Àƒƒ~ƒeoh)2Üë #—©/£5ÝU A_{÷?^v˜ÿñ'°ó?$endstream endobj 91 0 obj 1987 endobj 89 0 obj << /Type /Page /Contents 90 0 R /Resources 88 0 R /MediaBox [0 0 611.998 791.997] /Parent 87 0 R >> endobj 88 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F20 24 0 R /F23 7 0 R /F31 41 0 R >> /ProcSet [ /PDF /Text ] >> endobj 94 0 obj << /Length 95 0 R /Filter /FlateDecode >> stream xÚµXÝoÛ6ßsöOøQVüI­Oùìº4i»Û€mŠ£ÄBm)ä¦í_¿;)KŽæ$èÅ;w¿û ù$†ŸXÍdšN OYššÉ|µw4Û{u&ì„s–&Édvë8g7FÓû–G‡WÓó·³ý¿g¿îÎöâÉgIª&J)¦µšÄ ÏNê|r»ÇýJ)•0ây2"ž'(ôÕ™Ô=â1ðñ”,Á9à«›œˆ.=ÌófÌUZ±¸Ë`£U2ÞE*‚ù±!™°Ü³™"Æx:d©DëèpÙxMëÊÙø},¼ÎmÕúÌs §q’ z›ñœÑࡺÉùbØeí*GðÑç,ñáÝ P"LH±0èT³=Õà’62t“jš:' »Î )JpQb%}IÝšÐÉ4€»czàHw‚ºõXóÝàOƒCZñ8tPŠ<8@õ8l‡õàp[‚C ×rˆÄÏwƒÃ:1W—WÓggáý„ƒÎnŽJø€æ=ìȪ#gÄÝUx´}¢¢u³F; C»¨ó±”A+>®Ï2a܆âðiÄo dâ³? `"[ßoR<~mGRü` è¤èåð×c}P+v«iŸP“?_Mñ|5·ÊOÔ£8è+"3šçN¶ .å`'fÄàÛݦÕi¿9 ç®f}離á¤7~’ÚêÚµ5ó—D‚”¾¹”2 ‘€s.*û´yµ\¯Ê5Á@À×M«›ØhZ¬ŠeVûÏ+z^]ŒÄèùÌàÞ—|·{_S81¹Ü¯E8Ÿñ^ ã4Çöøæ¶AÇÝ çáë¢&NgÜ—å8Ù¸Sqbo8GöIç0ºFÀNrÑ‚³3:œáÑÌw½ÌŸg™ãXS³OצçOã{Iã®`¤Ù\Áà¸;wÒÇhœFI¬!£¸FGQǹ+óцÿ?£žœàÀîÛ«››p:¦µºMƒGD)\sÙVA:ˆo÷û Îá.ý,;©xs:ã?<¢pöŸ».Uû0TºwVÄ—­nVû …”M7«{}JŸÅ‹„‚峌kœ‘PYy·ÆévCBê.CB6Ø}Ã@¹î…6þýþDÒ:ýÒÖÙ¼õ°é]Ó¸»jØ=ñ¶®V§mœ§é"Ñßo…‹Ä']ÿ6­wªzV”]=€ tzm,Ê»¡û ñB=u_ÏãïÒ“rÑ·uVÿ¥Îd[TøâÔâÍénÅ/òú.¦…R­»Å„c´ÓÊÚ=r^m6›Àçm›×% wðÿüQþýendstream endobj 95 0 obj 1830 endobj 93 0 obj << /Type /Page /Contents 94 0 R /Resources 92 0 R /MediaBox [0 0 611.998 791.997] /Parent 87 0 R >> endobj 92 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F20 24 0 R /F23 7 0 R /F31 41 0 R /F29 47 0 R /F33 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 99 0 obj << /Length 100 0 R /Filter /FlateDecode >> stream xÚ¥XKsÛ8 ¾çWø(ÏTŽ)ëyLÓv7ÝM›‰Ýé¡íA‘i›³²ä!©¦é¯_ߟfCSiµ³Ž —ÏÈT|œàÐÐyK‹ŸôPöâ¹Ìgg!ìßÉüAiÚÁ' +|‚»ª³Go{—:äÙkÒc=¨u/«XóëëùÓ?s¸“••GEO9*¨å°b2«3t¥ÓW~:ÑÙPa|ý7Nàž\Ë—9ËÿüúÅåßßi‡·OŵµÕ𥕧°¿N“iy´éx†ÀÂâeÞ&ðÿü!x*ãûB½LY®0ŠØçp±¿о({Ù7¯/ `µíADö•úØÏ¦Üú®Â'׺¸•ø­«÷Ó‡w‚Ýxäçtà¼ÃpïæXvwâÌ4/ägÑ‚á§1”ªå>¬TM߸<=}GG]Ö ógÉ ¥àÙºK×Ôbãd§í½®]KK ¿gñ~cE‘çÎŽÑòåæMÂ]½Iš[ÃÁelË4<.ÈÞÌ·ú0á\€Ië'Y¼Ãpà—G ÷œV^ÀùTXvg6ók¯ÀSz4M:=^PË•Ô9áô’ý®ŒFV("h·[jçºVß©9l˜§ÜØ /¹‰®:ßøÇj^h¾Û7ÀàŽzÂÌÏU˽öSÄÃ[Æ$£p®Ñ 8V5¼l^áži ŽxMK¸oï÷wÕv† vSzVã2ð1j?B5ÂÀ¸ç» §%³\ yj ¹±.4`ÒÙ¼p¯G xma§SL¡\YeVLg¤‘’’´p¾†±ô;àþÓØž¥Q1ˆ5?Jדßöx@»uJBýð-ÆÊÅlÐÂ×r^+Êxàò; 'ðÂuÏL!úÞu ÀŸ,ü@ÑÞ 0ï 'pMé¾@/™&¦.þÔZY&mK.EʘÒSððØ;اxùÒcs_6"©ü 6\%¸3ón_Þ¡ˆèÚäöïd:Eu©±Í³4ö©­;N®c-Çá’úøõüôìíþŽŽˆ,:y ­¯ƒWndþôÑW“Ùð#¹ßN´/Áƒû-åê‚Õò·Âû‹ O.x¨•µþìÖýOQÿoýendstream endobj 100 0 obj 1683 endobj 98 0 obj << /Type /Page /Contents 99 0 R /Resources 97 0 R /MediaBox [0 0 611.998 791.997] /Parent 87 0 R >> endobj 97 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F27 18 0 R /F36 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 104 0 obj << /Length 105 0 R /Filter /FlateDecode >> stream xÚ•YmoÛÈþžûB¿”"†ËwE$MÜÕ=#Òá ô ”–h‹ŠÔñ%Žï×wfžY’²©´…s_fwgfç噕YyôgViìY¶JLæfY²Ú_¼Ù¾xõÞOWƸY­¶wB¹ÝÿÓÙÜ\¥ÆyýióÃÇíÕ¿¶ß¿x·}á­ÖƲp†¡ÇáÊ£ýÒU[¬î^=# h* ¨m·7ÑÂö&áMWkK¾7bš+»«u…N[ü6”m±Gï®mŽhõ‡¡+ZlÚ'sm‘Wh}¹Š"'¯†B·-ë'¤yÛæW~ê<*Ák®õäO6.·gsºZa±+ñL¸Ë«êñ*õ—4Ù…b5…nÆ"Í¾è „DÌç1﹊˜<ÖÜöyYƒÂŠÉ­ŸSÞæÇ¢gI¹ÛÜá+Üóòn¸m›¡§0q{å'Î#憮¬ïg»uyf Qç.ì–•:›ëë Zr”$Χw¯ÿº¹Fjç–*òŒ’5ŒÖÄ÷˜%&TûMf.‘¨¼< ²Ä’¥tÚŽ}ôó{æý’£1»ì§¾úi²è§4k…|_ØìÐÌñv¿rÛ¨-ûª ^k¹åYHv©qø°ª!n‡æp;Ý‚•´OèC%ü}»ù„!YÒÎIö|·+N´“ÐäøXnCõÆ…}”žùa*¹¬;ZغÆMãQ!©/¨š¥K'Và ƒå~öl~D(|vÛ"y})7#“9æÞþø#úËwåï9R9R«‰çÌæ'µ†œ}Ï3}a\Ô`Û®G§B(¥–ÄÚ§tUÁL™Äy‹<ðæžõr?N/n@TV³<¸£ ÈPµo‡]?´ãÈyωGU~nTuÃû>p&1d¢´ÍÿcC4“Šy’U؃{š9*÷y]vÇpáKvýBó^p´ç¼§òSÊX# *N‚Œb‡¼µ“hF»pÍ„Ôfœ›¿)Xà\œ%3ªjüTKñD-*Á+²sŽoø÷M¹û#7©`ª*ˆÜ¡ßÔºûyÎ}QmÞëhŽÏ‰ ž4Æ|AKõ–'ª±€ËÆL­RO’›]z¬ù·W«êÕµh;ô¦Z†1Q‹±¼¶R™b+ý‘–ÕN±ð=ëOVQñ5×ëFs|p~²p~]6{¨ãå“w …G «ñø€óìÁÅÊ“9žˆ}7 ýÕÚ§c¼LŽ9ÜútnAºÈ,þÌŸÐùðÆ>®M¹~¯8>¸ÆK©´ˆ3³ôJH¤ü’M¤öµðŒ ûZxWVxz‚Tûºm6ÓÙûá$û.ÂHw,¼({,‹jÒ$;Èó Œh‘MiQ4&Mk›ïÐj^oÙ¹‹`PUPi$TÊ¢¼î*żFê9¡\Ê“ã³^€Gf°A¯±Ãjàt£ÖcºY=86l÷ënGÕ¥VâÓCÅT•çU×`§œ…ΡòAS+êË1,Å͆Aék‰.5,Óš¡R¬ŒWÔFEÂX3hC%2Ñ„¼çA/š?î1în•h*}¸7ÅL}¥¤±:ç`üêO|ÅZy˜h̹Ï]M_¨(yJ=6©…¡…3ÜeÉÉ/Ø­¾v‡)è«‘"Da´i†lÖGÙF“„.îÛœS49Í?ˆò„)ýS÷Ï_ÅÃd^åŒÇMož¼áÉhü¡ìÏð,Ü–’!Þ)…‡ö©šm\–WÑ@_Ei¼„q6JŽÁç•(LJÁ„0¶$ ¦%sâ€À|qr–˜ Œz‘#;LçÝ¢åhéOK©ššÆøg9Su÷L×O:%IÝÔÿV¢Ž7Jý‰ò¿æi>+pþ‚#oHQª'=Úx‘ø¼ýÅ3—¹žñg?!þ  ðB7òÓ3ì‚‚>ôgct¡ÆTR‡ÂЗ² S5°,™¼?Œ±ƒsú³;OפˆÑ8tÁ§š”g×w Î1zâB²­Ñçù‡Åº³{> endobj 102 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F20 24 0 R /F31 41 0 R /F37 106 0 R >> /ProcSet [ /PDF /Text ] >> endobj 109 0 obj << /Length 110 0 R /Filter /FlateDecode >> stream xÚ½WÝsÛ6 ÷_¡GùV³üIínN×ÞukîÚÚÛÖ=ȶk'Y®>’å¿@PŠÜ¨Éžv¹‹@ø‡?9ÃTšFV¤,Mm´¯WÛÅëwÒEB°4I¢í—ÜþŒ7—NÄëÏ›_ßo—mY¼Ý.x´,Iu¤µfÆèˆƒ=5yt³á ­`+U@æE2c^¸Áè ¸4WJ fU‚¢¯p†qJH/5¥a÷먯ßU*ú¹^|ZDŸ&{+0èÜc¼6–IqáP²\ !“ø*k‹ýr¥¬Ž³ò6ß5-U\ŸáËã¼Éº¢>µèÿ“àVÒ0éoq{Ì—+iMÜ·}V"™LMâMJóhÒ3‹ÓRÚøn)]\—wÅé–Ø2îq«&F•uM±ÏÛW°t&nû=néÌ,ø'ùÄ?%sÊ…ˆßÌD $K€"ŸfL€€–ƒÀzÎg" û?Ìà,®f ¤L§&쿚1` ò^ Aÿo!|áB/WI2‹0ÌŽÎγÒZ1¡-4–fZ'ßJ1­ÔsQ)¦øözÖǤ£3+å ˜»=cžqÖ@½*“Æ7YÑ”Dï몪ODáÛž³¦EYË©ÿA¾CÙsßQ)3ȉQØ$)â]h,0”ÀEH@Â8w!~ã}ó]a']¡mð‰â´/ûC~À•ô>á·;æDTµo©C_Æ>+ËAúêÃz³¹f´xT³Ã¡ÀƒÈ<Ojƒ}ʬ¹Í½ÓüÂ]ß®}…ÿwÁqø¨4®oè"÷¬Ëаu3ÛñÊṨ3¤é!ÝHg§Ã…ÜÉ÷]ݳD@q„=ÜØ ¤S’ž éÜxŒ,î;PS §ÓíìtÛC6`­Á½‡¶Ë+Üq[—}¸3/zÌ:¢Ú9Ù<Њª« «¾ÍX7ÜÅ›º ˜D4ÝùJzꪷ,žÔ…4>¥žëëBš„ꆺ@Æõ¸íïoß0bà™]Qå--‹.Ø ëCÞM¶Ô»š¶©èæpÚ9뺼¡Gbt˜ºÛWEš’¬â|Äñ™¦¶†â¨²6y«\=·€ÜÚ €—üÔ†ÀTé‹Ð"'ÐÂámk(N)¢Ê¾#Ê_)ǒŠ f“·}ÙÑÆEа•&/hê¾m(F "@'. e{Ä›TZ"œˆíJ‹¢:—y•ûVì°ŒH‚> endobj 101 0 obj << /Type /XObject /Subtype /Form /BBox [-1 -1 527.998 454.998] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 111 0 R /Length 112 0 R /Filter /FlateDecode >> stream xÚ+ä2T0B™œË¥ï™k¬à’ÏÈJUˆendstream endobj 112 0 obj 29 endobj 113 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [1 0 0 1 0 0] /BBox [0 0 527 454] /Resources << /ProcSet [ /PDF /Text ] /ExtGState 114 0 R /Font 115 0 R >> /Length 116 0 R /Filter /FlateDecode >> stream xÚl½M4Í–e5¿¿â‚ÔJ¿݇t£®¦è¾· â4 øû¸‡í½×ŽÈR©ôÞ\¹ž w³cçØùϽ~¦¿^Ïÿé¿ÿñÏßþ«üõŸþß¿½þúïïÿÿOûÏ›ÞÂ_úÏüó×ý÷[:ÿšÖŸéXæ¿þþümüãé¯ãú™®iýký\ëºýõ÷?û/þáßýõ?ÿ»ÿð¿ýÓ?ýãßÿý¿ùoþú§¸ÿó¿þõßýûÿñŸþúçýoþí¿ùçÿð׿ýûû¯þú~þùçù×ÿøoÿáßý«é:Οÿòïÿ×ßþñïûŸþvÿ­×1oç_ÿßý:ÿçߦyýu­×ÏþÚþZö×ë¯e»¦Ÿsûëÿùßÿöþ6ßö2/<ïËϾüµnëú³Íýirü¬Ë_ÿ÷íOÛ¾þœk[¬y?~æýa¯ŸóËdù9ý§ÎŸõC‚D:^óϱ¶Aº–¯¿‰tnçÏqµ‰4ï_®Ûrîñ>p“ûŸMÇ×AÅêô5ïSt[÷i\Çß2Ù¶õûoÙ‚´µÿ,ǧeRÖ1ýìׇ‚5ß—Ëôþû¯Ÿ×4ŽË侦¯O'‹£°ÁšÏéçxØ|ÿî|¿bÈõ3ûÜŸÛÏsóýö·! l?û6œýþ ÛÒ븿}¥èG~?Ÿ×Ïëù7Óý —ºÉý^³^k=>$ƒrÆŸŽ‘æ÷ú •"RÖ|Í?ûsf§û ¯KÈý’××ñX (gßî;IK!X:j+ú‘ßÏ×þ3?WÍtß)öq<&ëó¹Éº~®çj~?÷-äO‘ûßMºÚö×ûï–RÖòZ~¶ç(_ëÏþ¾Ž ÇÏ6}žH8ǤM$HY÷MkýøS¬ó>EóÚk¹ÿ÷t>ì¾÷žãØMî‹ïvÇýy_mA°8[¶ X¼#[¬eºï\­ëuü,ïïÀó¯fŸ®û"øLÚZ¦qnÖû®zÌãO™ì?ûüý·lA°ŽyÜO± XË}5¾ö‡½žsô§É}_¹¾_Ñë¼ïÒ÷7­,Ö2;åzîÏ]îO“ëgÙýùÜ×ìÒ+ï(k¹ïHËsçüs.ãM¶Ÿcù~E[¬e>®ûÛ²ÞcŠñÜÿlš¾þ”¥þÛ––û¾½=gðØ~¶÷³ r>çvü©û~?ímAÊ:îÏxú°B°–ûÙ4¿ÙôòŸ&ë3RùzE[¬c×U ‚µ,×{Ȳ޿[Æé2¹ÿÝ<û 8£ˆRÖ~ßÙï1@Y!mùX±êýØZÖ1jYï{Ñ>®úû~s}¿¢-ÖrÇž»Ëzók\Ï!Ëϵÿ-[¬e{=ßÕ{Œúâý)r]_ƒÛúÜCnëNýi°ÿ¾"îûÌZ N>1;œCß”8qÎûŽqåp¶m| qâ,÷»¾žë{íþ4Y~^>¢yŒí° eå­ÄªwûúõîbÕûµµÜŸÙþ\ë{l÷§Éõ<ó?Ïx,Ö²çÚº¾Gmšl?§¯âóõ\eA°ŽS÷‹X¬ó·½ï=± eíóÏ:X!X×}ÝïÇÁZv}ü÷w}ß.“ûßM××ùŠÅùÂÊ;ŠÕïÚÖr?áŸëy=ÿ8Ÿ±®›1öF‚”•׋‚µ:ƒË{lù§Éúsù‰rOÝö³-HYçùÜ—Ú Á:–1ŽÇ‚`÷ôµµÁZîÇÒñ|fó{Äó§Èý7¿>i9—÷˜iߣÕ?MîëâøœÊbA°xA[¬åÔˆb~iÿ4Y^ë÷+Úêcxeļê<Ø‚`-÷hfþåô‰þ)r5ÖéëoÅâo•uÏŸ‰pY&e-×:ž Ó{Œù§É}³<¿_Ñk¹Ç›ï|2ÿX~&]ÍÛ=B|;#A°òm‰ÁZï‘Î3K\_ï1æŸ&×s—–¥›ÿë=.üÓd{Æo:[ǸÅ‚”uÜ£Íóà )ë\Ÿ'v[!XyG± Xç‚÷höO“õ‰||“¥:H;ùãvêåí¬÷Øù}”Ç{¼û§È=Y}åÝÏ–é¹òŽ÷HöO“ý‰k|Üû° XÇ2âCX¬û‡g´qÿç=*þÓdy¢_¯h«!Ö6ó‡‚u¬#N„Áºo…ïв?ƒÚ? ®gÀøy1X å¯[ =ƒ®çF·ìïÁêŸ&Û3pþ|ƒ± X÷Üô=a\¶÷`õO‘{ ¸lŸa/¬²ÎõýŒA2hçß$r®ûë}~¼ZHYë6¿‡Ëö‚þir>“§Ï³ ‚µÞ¿}†ÙËö\þi²=“:Y×ûѱÜgh¼Éý7×ý3„ŠÒÖýNÞ.–ɇ¥³\–? ¬g*9¿ÿÖ{°÷§Éñ5>¦ÛX¬u×™^ŸÑÞŸ÷Xä3t‡³ €“s`' Îzñž€Ó²¼ƒŠÜÌíø ëa…”õ„(¦çý.ïaÞŸ&ûÎø$bA°òåÁZïè³Ô°,ïaÞŸ&Ë3áüzE[¬}»ÆÍ5k½ïëÏòÀrŸîc\É!×ÎøÄ‚`åïÇ‚`­ï«c~ÿäÇ÷ZWÂü¾ ÄÀÉÍ>¤¬uÉË ÁZïGû³°L—VÐBî^—¯WŒÅ+b=Ì'ì»L›Ö´ çÏù5Љ‰´^ï_ÞhÖ’dË’–OM¤œõzñýD>µ2M,U)8‚RÖÎ~†¹Ëkó"TÈ‘å¥|ê± XÁbA°¶{‚ðL_—פ¥*Èš¥*‡=° XÛ=%¹u¾-D ,¯W–¢|+Éw½²6Å2ù°ÆÂn["¯8­ïëh¾V-IA¿òжú²¼µŽ,–ÃíX²Ž1`,+ëz'¤¬u\»e…Äš_ÏåYVþÖ6PÒ|½´^YXRËû¶ÁÚî)ýs?˜Ï] k+ kù—± XÛý}lÑÂdÏÂÚ6¿ÃCë|\Z yHþnlË—RÖ³¤û,kÍÇæ%¬“%,…‰° XÛ=ªÿÃYëN‹Sùw–úoÛ:¶CÇ` ‚µÝwÏgÁjÞO-;…9–H^ú@Úîÿ½½OÖKkf¥VÖ|J_YY3ÁâïÛ‚”¥‘²BÊÊ)‚užcŽÁÊCoݵJ¹Xñóã,Kó3¤œkCr$HY‡nÅX!XŽØÎë’UA“=+yç9" X¬kÃ{,HYÛò”²×jå˜ãÌË¥UÁû¢Þ®ÏL)¬²Îi¬#a…´uŽØFY&X÷#uÿü[ú[žPÌ÷ïÆ:$ädµòH¾ÏN,ֹލ4¤¬k„@Ê ÁzRë¶ ‚µÝšã}&f­B¶¬j¬Œ€ã8++ß–ù«–Ïâ‹éz/¾âàäûd' þΩ!Ѽi-rf-Ò©tX²®*+k;u}Ì“V,!kV,½Î„ÁÚîáØ³Š9O‡VCžÁÿüu÷ŽR–3„°BÊÊÐ6VH[×b•eR–'½ó=@Ÿ?¦ÁϿˊ¥âÈX²4A)+KKHíŒ5Å–L°®×vaA°ž§—–5Ö>5‰F‚`]¯MïÆË/óëðªfÈŪ¦¦¢X¬LEæû£ôÒ§SϰLÚòÍ+·Û²GÅ2ù°æ£*K¤-…ïóíeÔ+˨=bA°œö‡)K_á²Bbͯ×!Ç*ÂßÚï¿¿¿ÿþì%Ù-K²N¶Å‚”¥á\Y!XNü¹Ÿâ^¸5¹?)/Ü:‡+¤¬k1=¬¶4¼*ˤ,=%ïŠÖwÎ,‘ƒ)KCѲBbÝ׿γ­"ü-‡‹ï·¯eÈšeŒË Áò° ‚u-#Jˆ©WTZÙýgqZä|eQÖÃ_¬¬ûË4†`± eÍJ“Ä ©Wô×}ïöÒmÈ‘¥Ûó5Òʰ e-#™£¬²”ÉUV–ïX²Îç(+$ÖüZÇÐ"Vþ–ƒ¯÷WõkQùÁdQÙ8,–‡X²¶‘êPVÖuŽxd©eó1¹ç›ZÆ9^¿»±BÚÒà½,“²4A2hÇï©Þ³-@°B>Ž}¤÷Ü‹–à!{–à=ØÄ‚`¯‘‰Áò¤ ‚¥\÷û|{­^`Ÿ³ Ÿ'c¤¶öwº$r¼ yO-´¹²Ÿï],Vîý± X^Ÿš¶Y‹ú-‹ú¹B°B°”3€€£Å_œ€rFrøå— ŸxGç¦åt²ƒÉúJ²ƒ#jX!e9Ë +¤-m°LÊrÀ+¤,/ýLËêôŠƒ´Í~° ey R––kÊ Árfî´¼œ<²$y¹ÓX¬Ü˜cA°,¯è÷3¥:>J^Gmè0¦ïHå(½¤,DZ Xž¿cAbÍÏ£òãØ‹ô±¼Íg¶?}dr>ÿîõõÀÇ Áš_ë˜FÄ‚”•£ˆÕGŠu}¾"¤ŽË'zÏfµ„Ï3RVÎs,HY#S’ŽÖ_»w§`s ÇT‘ keÚ˜*ËqP,H¬¬Ä*‚õ ’Ï>®"ë¯ ÀçÁ;/øü;çöy’T–IYžk`…`ÍÏ”bí¿©¿åÉÛs×Ö!µ¹FŽ>›k„¿rË ©-84y”å»VH¬z²Šôqü»×–Í5BØ\Ã+{XXÉ'U¤¶óÐ4áµzŽM8Žý½{GIåx*²ýÞôã¹w|nÔñZk£M± X„Å‚ôßEîÏzˆ2Cj£­$bA°¼vù¤is6×ð$ RÛy(\ô|*ÎL4as ‡‹° X.LÇ‚Äb¼c«Hmú¡@Ð3*˜;2ôü³é+¡=RÀ‡¤q’@KöE2()£>KH÷`gH,JšU¨) IõíÏ<Îù†&ìâ¤,X!X×5’x± ±¨Ù*R;Ÿ(Õà5g·’Ú­D©XX‰«Å*‚5Í#žŒ©]Tu~¥Ú‡äàßÍóg+‹¹£-È<ýÊK|Žù3/ñ5±[‰£XãWöbY!XÎ<Âä%jN«Híµ¢(ês¿>⪯©vQñC°,,G+± ±øÔlikÄßÛ2)kñ®²B°fí:„©÷¨åú×Ë{À„LìãÑa$ƒv<8D2)+ƒÃX!mi¹±,¬ù‰/}Xú[™\½¼7MÀ¯ýkpØ›Æ÷);öñ]ÊÇ´8ÏÈ…y¾xSd=ÿæõµ[!+…XXL7láoé¾\—÷œÔÎ4#P^KCDz XÒ–ÁzÖ#KÑù½3“QŠ”5‚îm…`Íc®² uÆSáfógæéMjG, R{匨`YÚ+g ÏÊ‚ÔN?#õky&:sï1õþwÙg âÊ )Kƒ¸²BÚÉ9m™`ÍÏ7øþ*aAÚ¡§¶LÊšÆnœe…”5ÝÏÊ ©£×úÞò, ì½WÉMØŸGkeA°F~KIí¼CO’IY# ¦­,ŽÔ»ó@j§Ÿ8+ R;ýŒÀYY•l××2¾ ¶Š”5ÆUm…`=« ×Þ¤¬±Ÿf[!XóäëÙ¤¬±­Y[!ÿÂù:¼Qç+ù““º}®åø“¶ä#i;Ù–R’O RNTIï ɇ$Âkx°<·e‡ÔöJ#«¨­,=úË‚”5ým…`)÷¨,Hÿ­c܆oÂÉ&L÷ ô‡,«Ö<¶3, RÛ>øÔòL«¼ “ÈÁ&LÊï++¤­‘Ò– ¿­ºDø[Z¦½-oè©mŸF¡,–f¨eA°´:RK«#eAbyþ‰U¤¬±JÔVÖ“ÞóžÄ‚Ô™ñëåY›;¢ýþwÓg´º,Ö~–°T¾²Ì–Š`= >óܤ¬í=0l+k›e–áØsõnÞr –[yb…`ù¶) ?ÚB°¹- RGå;ÕÆ_&µ–‡1± eyƒ‚¥¬ã² ed£¶BʹÉm…ldwÜd¬"XÅ‚Ôec¾òåKÑõ{ÛPBb9Õ «+£öI[÷jÀ‘…øµS`IH*”@ )Õ p‘}¤HÍZÔî…~0NÞr–ƒ¹U`…`i¹,H,'Æ`ÁRbLY¬yÓ”7¤¶Utüð•­M&6'Ô’vY!eiI»¬,¯O`AÚòÄˤ^1‘§—·C„Ô¦‰ž"Ä‚ô֊׸]`…`©p¦,HYïtß– âòT¤,O?±B°wŠ)Ëq'¬¬eÕ/¤¬± ][!gU6Œ§ÌkNaƒÛPæn ‚5†J ÀQÒUI²üQDâÃz]_“dKEêÈG*åò\å[w÷¸­ÚôrÔ¾´%Ò–j_Ê2)Ë¥²X!–ÂEe9€ÔÖèJЖȇõÞh»¥>ÞáØUà–¼'„­8=%.+Ë“],–'»X²FYd[!ei²[VH½lÏc©Û½ÿÙü9Æ ˆ£Ê3Àšºw½X~Žá§U@mk:îÏ@b?zð^µÕè(÷.+¤-_ÃX¹ª±T™UVH[£h¿-¬y~7B hÇߤ|?Ê].Ú2©£òðô4¾z¯ý›Ô6©c‰·,V®ÅX²|-b…Är’%V‘²F»¼¶B°æÑ££,H½G_Øg6f ©í[ßÕÄ-”ãË)Ke–eAêMô°(çòg)¤ŽJ+“ÏäíøX«<Þ,vŒ¨Ê Áò‚äªÊ•±`€¹¨#ÑÊd¬"u\š<<³oí?¦±^ÍÆ‚”¥)FY!XïYŠ~¬ßkŠQJHo›;ƱOÀcë 0n‹ js}`™”¥\Ÿ²BÊRuPY!X™úÄ‚ôqiâ}îÙ7„sGªOK!‘TYäLÉɤ[¥"Hc_ŽGä›ôž xCj—^¥Q”‚¥ú² ±’Ú«Ö<Þ•©ãò b;S»"²³ç¯2jÚ2)+ƒˆX!e9:ŽÒ–¢—e™`q¶©¿•‡Ì–‹Cj/bEE° XŽŽcA°ǂ̧w/M$Î<Ú!•ù—ŽÝ{CØû8_à²LÊ:ôxÇ ÁRænY•ª”M5[E°æw¦’jwg=ùÖl£,°½>ZŒ–1~üøýHÐiE¤¬Q£W’ŽËê e=›.¼f±Bêõ2ÁY³«sHíê¬5Y,Hí׬5Y,HíĬ5Y,HíÄ<ê»°Š`yµ ÒG?Ö§žx½ªQBj¿æ‘áÜV–RœË‚ÄÊ4?V‘².]U‘ jhè—ìÂÎÏÞÄ‚`e¨ R–‡êX!µ-¸Ø*‚•ax,Hín=鮹xßjûV«Ö ­½j[4ÜÁr‚$–‹Ö±Š”åïV–C[X²FÓá¶B°æÑ­,Híó­`î“´w†ÛboÀ—R–#µX!e9T‹‚5O»îz¶ eÍ£Ñ[Y!e-—V±BÊZW Vc…ô™p¨bÎ.å!ìRž1E,V&ƒ± e9rR1¤5øXE°2eŒÁšOM]bA°–Ñ:©,HY›ÂYX!µ÷{®¯ìØÂ^ì°bAÚ¡¾¶Lʱ¾’ â¸Â©HY¹Rc…`9(Š©ë•éò䃹/ç\»ÍZòBÊr VHYÎbÁ Áâ}Ûª3QÇ¥ì‡ç^úêæ–7ayg`A°2ÞŽ)Ëãm¬XŒ·m)Kùe…`9 ‚µlº.cAÊÚõmÇ ÁZ=ˆ©³:áŸÙý([ `×ýLê‘B°Æ¼>Š~¬ß{Rk,æGñüÞQ¼8Ë®ˆh$ÖêçU,ȯ¾ËSœ Š=“©öÿ÷X;VÈô«K@[&X.j‚”å•u¬¶üäÆ2ik´mˤŽÞ‰ÕOÏG¦õóϦéëVk p|Wö•pPÙç!­¤HÎbŠ8¾Ëÿ“3éž<_•ì…ÐH a·X²<¢Å Y(ìóˆÖV,•Ár‰¤,å·”‚•§q,HY‡B¬X!ÝêaÌqŽË- ÕRAó8,HµKЕ„¹ªxqÌ_bÁòh ‚åeK,HµPŒîÉ@T‰cÈ^%Ž»ŽbI‰ãž#Më…ò° ;…ŠåÅ*‚åy,–¿éX:z•<÷«ý£¸à¸ªAƒ °BÚRÆZY&WµqPÆZ,Hý-/5=çR…!´Kð| R ô}Ç‚ÄJaO¬"XþöaA긡zF;*L © zÖbA°šÆ‚ÄJh:V¬ùÒ·/kMnË‚”5ºíµÂÑçj:Ô‚ nú*s,ÇǤ8qRÔc€ã”88¿Å ¨cV’Ë“¬RÈjS¡,@,ÈI)¤²cÁRÁmY,­Á#à,ó×Q)ktZm+¤¬ÑÛ¯­óWç“ý,ã<ŽõWé%¤,E®Ë Y`Æ*‚¥Ð5RÀú«ü ÂQyÎìiüarT³Íù±BÊòl++³ùX²<¦À ©WtÖäSùeHµëe¼eAÊRneY!…•Ê­ŒU¤¬±ïM[!XËhÀ^¤ŽËÏ¢Ým= ´õp†lY!Õ"ÄÏîXX^u‹ÀÉ“;¤—(®ùÜcT2BSŒ­bAÊR®¬j#¢ÌÈXEÊR\³¬¬g·î¥«VÆi± XËèZäWÛ•åI·\>"÷Ç–¦$.à()$’+3 ûÏçV,HEF¾ƒ(.ÊÀpØI¬é’b²u/•1K-ˤ,¯~a…`eõ+¤,¯a…”å¹,VHYOgÕ÷]1VH½WœžX×Ô;¾ÿÝkýºbA°¼–„©Ž+ZKŠUäúU¥‰ÁZGÿÙ² e-ºóc…”uh¬‡R`F!ÁS¨²Pƒêð¢¸!$÷j[EÊò½+K;Ê•Ár%k}ùz¶©þ4J"=–ô§1Y«?Í(D2(Çqd¤¬$ˆÆ‚”åúH¬¶I.ˤ¬§×óûÉ+¤¬õÝD¸$ƒz‡N²yrjç  çŸMŸ}ìË‚”¥ä­²BªkÎÈÞŠ¨ž9ªÔy’î÷Úc¡ƒSò± Õ3GÉöXXI¶UËÉöX²T½VVHYç×ÑÁr]¤zù(kç˜ÓËÇdyUªFÛ±BÊrnVÈR”Û R–vÍ++¤,ga…´5ÂÅ% Ô±»’üy¨wPHõèÑš.¤zôx<4§GOHYa…`9û R–ÖtË áèCódZ¨5¤ºyÌP–IYª½-+d¡Rulw…UËS«H8ÎB‚”å˜VVb± õ=*šÜÉ'd®~?#™É _#H¹jbe?äÃÉ©m‰”•ñU¬²–iÿzŶEž°LÊZ'‰b…Ô™ÈÜdJG£îU¤{ÿD¯"“ZÖœ¯ÅŬ!mù|a™`eÖ ‚Åù²ÁZGŸî² ÕÛÉ#Í—$…LÝEi,’`…`1¥°iK“ $r2©ˆR–×R°BÊʘ5VH½Ã_ûu~Õ÷¯êa¥â,“K1´²UÃJöK¬¶|v°8_eÍï÷’øp”ûR’H»ç`Ïheé~ï—ß‘°‚ÐÎÈåhÉ$Vr9b)K{ü”‚åO RÖ<ž•e…”5F·Â{ô¶~Ï÷è}þö‹>Z®ÄE ¨v]³Z*P »4d(Icw¤$k#JR©.R’ú‘Hë|~œ‚už´˜ùL°ÜILäª~ccÿѶLÊrÍ/VVj~cAÊòb&VHY^ŒÀ ùÞ= ôsR$VF±ŠUé¼èL¬©t6)K y¤3Ä*R––#Ê Áòr¤,…BÊ Áò£ ‚å¤,HYJz(+¤z½iò),™ºƒùûß½®Ï rY&XIƒ‰)Ëy0X!e¹Æ+¤,'—a…ü‹Gï.nêâ¦Áh¬"eÑhI8Œ"AÊÒæQe…`9É ‚å!+kS5„>uŠî{šÆ ÕYN .%™”åVVÊ{cAÚÒD§,“²–UwãX!m)Uº,“²KD2èó å©'¤¸ôzÕó¯¾Ê>⪛Ý©Ø)Ç•8€8­ÇÔñè}¹‘]@õ±ÓòH¤"ei"[V–§ôX,@° XžÈbAÊ:?•óë÷žò£@°6…‰± Õ=ÐÏÙÍíðBöôÃK:D,HYy‚Æ iËOP,“¶<:Ã2)+ÏÙX!eeÄ+¤¬ucõH8¹•liågPÝ÷´´©Vž±± eù‹‚å-¸° XþúG (gÑT)¤Þ¡Â¬OÕõÑ­ÙnR½÷*++÷ÊX²|¯Ä )KÁزB°rG)ËwT¬¶ÆÒw[&XLaA°6ÐbAÊõ‹%”£úç’B°v•gbA°¦bAÖª|×e=Sù.²Ñ#QùïHå8q)kä®GÑõû|¢QúS}ö ]ž}"T…RÝ5‡G2¨Šþ†¯é ‚å…B,–C:X,BaA°6í’„©wèðÍš~Œ!4mT­GI!H*õ()$M]é©’ =J ÉË9ö©ÈQ7F“µ{6ލiY&XÄWlAÚr|ˤ,×a…”µn£ö+¤¬m¤ ô;T6í“ñ¦ úýW}Y!ôbÌPßV‘²<ÔÇ ÁÊP?¤ŽK»q?ùŪ©žT`…`yÅ BÏFWpÆ*‚åz,ÖºiŠ RÖ1aË ÁÚ¦MWª-HYÊ•(+¤úR:è1uv¼Iuvt¤,¤,аBÊò ++Á²X,½"”³)äRÖ¥VÈUûhº9§Kd]"Á«HYZ{-+¤:NŽÅW¤¯½"A°¼ªŠ)ky1e…`y] R–*ÙË ©Î›þæMîƒ2WLϧôÁ4)+ýX!my¸‡eR–×U±BÊÊ·8VHY}E2(çÐRÈ\]C=¬šÒ.3¤zjúùV–ÉÉþJ»Uˉ÷X¬<“bA°6m„)kñg+ä_zîÑ ©ªË‰U¤¬‘ð[’AõñT¾/kYF5kUV=ËðHåh7 ’Bè.šø+AM&z}f+dª¾¡…½Ò7Ô¤-ðLÊò*.VHYË¡af¬²\[‹RÖ¦…°BêL8—üÙ­Hû!„Ð]ÔU¡±Š”åV–³k± e)—²¬¬\q± X Å‚`mÚ RÖ©Ð6V}V¶¿ÜART½t÷JÕ¬Œ?bA°². R–6Í,+¤¬Q S’NVï"A°²| BXïÝòì·ªDž7M„ËòD+g0ÖÇY¶¥D<$G55%‰|XÚ¦,‘¶\íeÒÖ¦\q,“KŸe‰ôÙò·øÙbX;+„¤wm²8bÁò÷ R–¾Ÿe…”5¶¤*ÉÇ™õH,¯ÆcA°üŒÀ‚”¥ïpY!m@\[&X»ò©° t öXf»Ò8„~À®:Æ‚Ìì ±øX_Þ"ËËmX²´ÉrY!Xñ`A°6í^€)K#ž²BÊRvpY!œ/Wän§;#Cª²6+Æ‚”å»VÈÅÚÄ5V‘²t—-+k9¾^±ÈU{IŒ: ,GïE‹íL_ç:6{9"V‘²4·-+Ë X,M[‘Êѱ¤,§± e)›º¬êo­¬òíPÿ瀳ú?kjk P’Ÿ,vüs+~°Ä1(ÉsÑH%ùa) %?{" %<¶Û×–ÛqþÚF"V‘î"í¤‹´Éùk ,ÈY[?è  ‚åUo,HYÚ®©¬¬]IçX꺭€Üv¸»5d­m$t[‰©Ø*ØŠUË[Xµ¶‘i,–'îX¬]IúX²´}bY!e©wjY!X‡ö#Æ‚¬µ…Ç{4úÔk/s­9>ÿjž?VVÊÀÉÊa$HY^9Ä iK››”eR–óu°BÊÚüÈŠÒïPÓÚg Öýc‹ªm§Ç·§µXê®`H¬"XÞs ‚å|,–'¬X¬ÜÐcAÊÒ^×e…Tçt_nP@·ðÜÍ,©žâ¹"ÒS<¤¬\±B°¼Y+w Xº˜;5}ÛÒ/Üd¯~áš<Æ‚´¥@uY&e9PR–¦X!m)]–É^=Ñ=HÞ–ÏM7¶-}Ã3D¶س¡†‡¾r àxà' ^K÷óÍÅ!t÷T R–öÊ )K­ØÊ ÁÊE9»Û9„žè^w++¤ú««„ RýÕUB‚Áòªd­=9t鯂`åÒ¡£»÷VÜ&wa™éÂîrX¶FÆ}Iå¸Ò)¤,Ò¯§}è¶)ÑCªoºYX!Ý7]Ѥ‰¾é&XN}Æ‚`y·:,Vnű e)ݰ¬¬]5¯XêFï!íäVíêÕ®èXEª¿º¾± e§’ p؈©£Ò.0Ûk÷.!Wí’¡;U,H[#U°-“«ö¿u—X²4ú@2(Gu—%…`å ‚µ©‹¤,íä]V–Wu·Wº«‡lµû…†;± ei$ƒd€“L$V¾± Õ±^A’õJŸv‡M^Õ]™a±BÚr¬+Ñó²\Ô†eÒ–'»X™þ–åÀVB}ôº›­Wú´‡œ¿öÈ(+äüÞ#)àüµ¯¤,°Ë )Kw¼²B°<,Ç‚Ô;TñÊzÍ_;[<ÿî{g‹¶L¶_;[`A¶_;[`AÊ:?•óûˆ”*½ži—nrÑSÝw(¬¶”P]–IYN¨Æ )Ë£+¬¶Tÿ\–ÉÇÑ;çz¦µzHõM×d ‚åû+¤¬qƒ-ÉÇwN$–ïœX,?ýÖó»·úóï²+„‚oX,?#± XÎÀÀ‚`9' BÏwð×ÃÚCÎêÔ®ðh,HYác…”å’W¬²øÄ iK»»”eÒ–6þ-ˤ-kË2é÷¨ ¹õp¯vÝ7)K#ü²B°<ÂÇ‚TyßñŽôO¡Ëº³B± XžFcA°<Æ‚`¹à ‚ålo,HY#Å´$œcñ´Á:ÕÛ ÒÖÑ·eRýíu^w÷¨þïšÜ[*€ä™N$’':‘H®@r’F$Ò±~ Þox{:ćTïw­cbAÊ3€’ p<@‚`9z)K«˜e…”¥¤Š²B°\Á·néo²Wy%p—eÒÖSÚUÊûÇú½ëºPBÚÒ*SY&m})ß¿w}JHY‡J¨±B°².¹niCB'w—ÞÄ*R–JoÊ ©®ð*½Á‚”¥ˆzY!XÎ7À‚`íÚ R–šÁ•R–Ú¹”‚u¨e¤Î—Æô›ÈÐeÞI*H¬ ücAÊòÀ+ëËúH8çìÏÂ$C—5ýêM6ºÇgj RV†–±BÚÒD½,“²2(‰‚Å÷`MÏ÷£v])±Š`yÅ ‚å{,–Óô° Õ±^Iºëêòéï•q;âä.f€ã{Xœ€8ëõ®wˆ’Ÿ9­º®Ëw§öu­NíÊV*ËdýÝϽ,“²¼æˆR–×f±BÚRNSY&eyÍq]Òƒ=äwv,Vîš± eù®‰‚å•I,Vîš± X‡2ذ X™°,éòüÚ ²üÚw ‚åœ,–s~° ÕEÞ9}ØCèÖî`3+wêX²ŽÁ Áò·*RΡVH¬s—#à$3/.€Ù©w(&dÿU)_VHYçç:¿þJÆAQ XÇ<ÿ|ü€êXïYÔÎð&óü]“_’ÏÝã]˜ R– ³±BÊrm=VH[ü`™”•éE¬²•¼a…´¥î²LúliÝuÒ×>$-ë3D·TÉ#t¤HÞ( É{[ A"eú4¥c}뽎ˆ)K9Üe…`yc,ÈV•ûºeÆ‚”¥,î²B°\»)KYÜe…`íÚ ‚åÅóõuª*?dš¨ð÷‹ËkìX!ey‘+¤,oR‚R–“…×—;ÛCªßÇ’jI8™JE‚`y#2,Ö® .± e©­VY!X‡º)aAÊÒpe…`]JEÇ‚ÔÙRÔúš¼W@ÈJ}¿ãí± ei׌²B°¼)¤,U8•‚å5;,–×–ëpU¾W^/ªòuÏÃÊ]°-%N—%Ò–öWBøp”›Q’H[¾5båfÙ–LeyU–ã¡ËµºÞ>ä ’^ ,–£¹X,WŸbA°¼^Á:Ôï R–be…Ô{Tºâr½\ÿ²P%?b%à8  ‚å4`,–Ó± uTúæ-çîšõ+5äÎ"‚`yí ‚åµ/,HYÊ"*+ËßO,Ö®ý€± ei3ܲB°8aA°|§ZÎŵí!;µíZ×Ç‚`ù~†)K÷³²B°\w‰ÁòJÚr\ªÕ9çªGSG¬¶ì*ˤ,×_a…”åz]¬²ÞÔ(ãÇþýØÌ½ r<Xw¶‡œT˜kßI,–×° X^PÀ‚`¹ø ‚åç7ëÒ„ ÒïqŒm—ýí!émŸ"‡²B¶ª uX,6"àxÌŠÁÚµÃ<¤ŽÝÏàýTÝqÈ1Qíû]¬²ü¤ŽdÐŽŸÔH&mùn‡eR–3.–Ýýã!t™÷x RëµÚˆ©ŽõZmĂбÞÓÂeOùî#¯çÑN+y“ê¯i4¤:ÅkÁò¦uX,/ÉaAÊÒ¹¬²”%UVH –ÍÝÝCvzÀ{W²LÊrEVHY®;Ç )KÛÉ ´£zò’LúØ•p¾lîP­âµxŽP­âµÈ €äºÌH$¯‰G åk Ю»Ý–ð!Õ]Y%X²'(+Ëq,–m‘Úñ9F2)K˳e…`êÊÁº^¾ölA°<<^ÝØ= zÄ+« R=âŽÅ‚`9 ‚åR ,–VÜpNå#Aè\ï%«eM·ùî#?b±ŠTy-YaA°\PŠÁò¤,-À–R–šµ–ÒïqäÝÓ•«†¬ô¤Ïˆ"VHYùFÅ )ËQ6¬²öU÷àX!ej¾€ÒÖ¨­-I œSESH!XY-¼oªۅœÛŽú¿H€r<^G ÁòæX²ÆjFI8i/îF¡g½—± e©Ä³¬,—xbA°¼ˆÁrá=¤,õŽ/+ëR19+ÒY=î–)%¹Ê7‹PŽråp p\÷'ÇQç88ù†ØáK'3æÙýè!ÕµÞ†X²"”£]JK ÁòÜ R–¥Ê Áº”I„éó0&8÷åéè5ÂŽU`AÊRÔ¦¬,où…)Ku°e…`qvlA°Î×HFÇ‚ÔÑ+µó¸tÙä|Q»¬ÔN¬²ôÈE2(ǹ H!eùI‰RÖ©B¬²òÉ«ë›CŽTçI ‚år,–ȱ e)._V–3‰° XùdcA°.íô‰©÷èûçñrírÈBí²V½± ei–SV–³° Xž×cA°§ÆÙëZe™”•V¬²T´‰dPŽ[­!…”åjL¬¶ö‘kT–IYy"m»+¯C.*¯wÁ‚`å¹ R–Ÿ[X!XŽ»`AÊÒúCY!X§6┥.§e…`]Úß R–Ú.—‚•ñû6»n\n²¼(!÷5‚•«+s…X!m9:ŠeRVÆÈ±B>ŽkLæEUØ{JµÇ‹Áò:¤,­3”‚åBv,HYZ(++çyº\öÏbNA·3­±BÊÊ÷3VH[þ~b™”åµd¬²O˜öŸDÀçŸÍ_‘7;€8‰%Øà8’' Nâvqa³ˆ“‚ÎùuÌ€ëç;Ú6Í)X7Ù(2÷¨8KIÊH[•˜ëÑ ‚åJ;,Vf± Û¯bûù•¶ö&Sµµ×Z VHYΉÁ )Ë91X!eed+¤,¯òa…”åôÏùEÓz“jm¯UѲB°¼í ËÛÞ`AÊz J?ò{gF¢@°NåMcAêÝåsvsu-ؽ;DY!ÕŠ^»‡aAªé»vÂTÓ÷|‚iú‚•j,HYc…”¥~e…Ô™Ðg?]nëÎÕ@ów?©°òì*ËŸ=WCYÏÇ_ʸê÷#1·ŒÚñõÄS–ÖÙËiËO;¬<ÿÚ:¾ÏW–ÇeÓåæðj4¯5,H5š×¸ ‚åqËk[X,_ÝÓåñt‘÷.4%…DrV $’“b Hʉ))IÛé•ÉÕiHH¾aN§{Ç\ÕŒ^·B¬²øÁ )ˬ¶”b^–IY^ÊÅ iK»ç—e‚µ¼ʈ©¿åAàtº=„¦õ^ÌÅ‚`9xÁrð RÖˆÞ—d€ãiëÒÆÄXX÷¹S‡XEø[ù:n3©ÆöþªÄ‚`å» R–¿,X!eùÛ‚‚åÇëÚF¨ RÖñžÇ—d€ãÐÏt¤­}Íè=µÃ‚”¥àOY!XŽþ`A°¼èƒÁÊU rU9¾+GÚ¾‡Tsx´”‚5¬Qôcý^V —Ÿ AÊR3‚²Bb-/me«H½·1;˜öô„8ºq¼Þ-R‘×WšjY&e9)+¤--…”eÒ–¦#e™”uªL+¤,/r`…ô{TÙÅ´§u|H5˜×ÂDY!Õ:ÞO£X,/9`A°òœ‰)Kåe…ÔÑçsLÃ÷jæ®%-,Ÿ¶-HYù´c…`9¸…ÁâÓ¶ÁâÓ¶Áò¶(Ó–6í&{µi×VH[š|–eR–'ŸX!eyºR–·EÁ ÁZ^Zî)kRb VH½¢¦-mÚCª™»JÊ ©6íJƒÀ‚`9  ‚åëRq¤ÖkYhÚÒ6=¤š«+ô[VH5WW9ËålX²TÎVVHYçõõЬóý¥Š¢ë÷ —R–—Ë ©sà‘èšÆê&[µL÷H4VHY‰Æ iKCQ$rÎe$æ#…”•ë#WL,F¢¶ m)e±,“zÅ\kk«‡Tcu_E± ÕæÜWQ,HY¾Š°BÊRRBY!X^àÄ‚TƒyÏøÖ40©æÚ” ÒmÎuWÇ Ár!5ËåsX,'êbAæ_!L‹[€Cª¸ö-Ä‚”õ·K?ò{ï[ˆÁRmR@9Úõ¹¤,'á`A°.mÇ…©Vé¾n‰›T‹p¬ãó¼Cêõ¼æ8Më׎ÓT-½µžˆÁÊd0¤,Oê±B°D‰µ¼´!|¬"ÕÝáä)M½Chê H,Hµþv89¤,‡“±Bêlx¥Å¶ÉD#n%é |8#oµ%‘²\[R–×{±BÊòÒ8VH[ÊÒ)Ëky©þ>¤-ísY–IY³*ä°B¦ßÍͧ—Z‰Òn<ëCvûÏw¨Ã NÂv8cÿÃIyÓ+ ÄCª¸2Õ± e)3§¬,gæ`AÊÒ¾•e…`û»|) í#RRH¬ååµ­"Õn]OÑ×å6âš{¸„)KÏDzB°ü|Ä‚`yB‰©&èz>¾®´©6â KaAª¸ÅX,Oܰ Xï/Š~ä÷H¡@bÝŸ×XÅŽUäw+õ'|¥þà& Â]±ˆR–ŸþX!eùéÒ–VzË2)ËO¬²Þs»×™þàãÇó{WŒOþ ç÷ÞHåhòWRHYÊÖ-+äüµAY!Xê€ÐÎØ7¢%,O6± e©ghY!±–—ö¡ŒU¤,UÞ•‚5kœÁZ”Õ‡)K‘²Bx<¼Î´dééïô{¤€r”ÿ\R–óŸ± eiŸÃ²Bʺ¶¯W„`]j‚)K{Ž–RÖ9*6Ë ‰õ¾[¿Ÿ¶ŠT{UÝ¿Ž´n79Óß]c7ƒR4Ç-ÇÉÙ‹H!H®F )Iù‹%™ 9d÷:Òÿ=¤z¶+o ‚å`ËÁ8,HYÚ¶¬¬|ò± ±’«HYÊ(/+„Wt=Ýë ÿ»Iõ× ‚åQ¤,ºÊ ÁÒ° ) Þkɤ,ß…±BÊÒ®¬Xï‘Û¶•UdýµÆkùì%ÿ„Ö³S„ê°°BÊÊ=*VH[¾Ga™´¥2Ê2)Ë;d`…”•»O¬k,µ%R–ƒËOK[E„TÇybA°<\ˆPŽG H!Xn,÷ÚÓ%>„.ñ®bÆ‚,µÛ˜HaAÊs©’ pœÉ)K‹Fe…”¥ê²Bb-/íä«֤ϱ ¼¢÷zfBêKR½ä•¢ƒÁò) øB°|k‰PŽ|8íè¾R’I¬÷ãkê—+ÂßÊyKçú:×çŽ Rýí]Å‚`¹þ ‚•{A,–++± ±îÑêˆÌÅ*RïQQùgl«þö&[õ·×AX!eå®+¤-ß±LÊÊ,VHY}ú͇TWz±B°2®ˆ)Ëã ¬XïS¿  œBêØ}Å­nK¡3}®¸X²z-¼.oc`2ÍÙVÀ%`X!ee± VH[^,À2)+ÓÊX!eåb{¥Ç}Hõ¥÷W3¤úÒû† ‚•^,H,¾š¶Š”åVÖ¬ Û° —»_/w‡Ð›Þ)Fe…`9? R}Árþ¤¬ÝWa¬,@Þ_UmxàÈ‹öÊ£-Ë™µm©§,Wæ´¥:œ²\™S–ÃX2êo)üù¨ƒ}Hu°÷޲ er[!XÚD­,HY#ÙVH¬÷çp¿7¬"ü-Þ‘»Ý×›ž{á%?ÇÐ=Gw<@-Šà8šMŸÝ™Þô&×ë{{¶LÊR*IY!e)•¤¬,§`AʚǢxY!e-#0PVH—‚·åÞôzÓk[² Õçþ_,)GáÅ’ XZž, Ëu`XEêØýM:Ó¿>„þõJf* RÖ¨Yj+K5KeAÊi]m…Äâûf«HY£Mb[!eºûa…Ô{|—¼O¸ö!0 Ï½?Ø8åŒç{K!WmBð~¾—ÁRJäÍÒÅ>¤{Ý¿ŸWm…T¯û‘àQëÉñ(E?òû‘ÁXF@''")k$´Âë)Ååý„T¿ÉA×ypÊ ikÔbµeR–j±Ê ikÔî¶e‚åZ,,Hý­|/÷tžIçy­™–‰”GG$H$ ŒK‚XâÛf©’¿lH!x>›´€©Fñ#I½­,>[²òÙÄ Áy¶%ÄyWó¼Z*RÖØT¶­^OÙ„ï:f7“Ùi&Ÿïw¬¶F:S[&e)q¹¬¶FUW[&X|ƒmA>¬¯÷)KKZe…Ôq)\q[n¡Q|žÇX!Õæ~zµ¢ù½¶,)R­ëG•vYXÙ`iK_Þ²LxEßÁXµ›¡‘|žÅ± X#6\RŽBÃ%Ab16³U¤^o$-¼ÇVi ·Eów%-´eÒÖXnlˤ¬±ÞX’Î;þ=Ú·)k­EÊ ©×ËØyMƒøšºçû ‚•of,HYþfb…ÄzW ,ý·ŠT{{ÍDVwu¨Öï‡ÏVZ¿‡`ñÚ‚`)©¤,V&-± ±Þ)qkI€r®ùóõŠðzZÞ|'³Ÿ½ày“jÖ>–7Ë‚”µéÁ ÁÒBoYX.CÂ*‚5­°Ë‚TCzè7k‡Ð¬]Em]üõÔ®{D R–GôX!XZD+ ²Sá> <°Š`Íž½Å‚”uj´€Rgâ¥qèœÎî&Ëg{øVÞ?ÖïµÄTJHYZb*+¤¬O$“¶üž±r°”6TVGj«Žk­jË ©WTùÛm¹©=ä ^}Ô µ‚åÐB¤%š•‰EtÈV¬ŒÁcA°æÑðº,H»GzSšÕ‡TKû|Ö±B°Å)ËQ\¬XÄ}lÁ⳶ᕺòŸ¸ñ½ÈD»ú±ITIå(1¥¤²”˜RVÏF[ú[§¾Ü°> ÖûÒµ(ÉWn¤$m΃ˆÄUR¤|-x9­5¾ÏÏÖ«ï×]ϯ˜z,HY£b…t#z_ 4¢7Y(IÎXE°æÉWƒ-Ö2iÜ Âqiuóý]¸z½ó&W•ˆØ¤ZÑÕͲ X*{* R¯8¾ÏÍJõÚ´i÷  R–FKe…ìU®½êý,)×^óž]@=­n±Š”5¶$m+¤¬ÑJ·­ŽK9ïçÒÞ}=o‹FíJÞkˤ,%ï•R–’÷Ê iëÐ’Ž§\qêï(Ió–Ò§=„FíŽÂbA°­Æ‚`©±,H,ei"ÊIš-…”µë;€‚õl-mA°–±czY²v]¹X!e #Ú ál)=ö=Þ^;aö=`\>K¾Ê‚üjXßVH·¢'ù•)k¤·²Q >в°Š´åk Ëkí¢Ê‚”unÊø‘߯#£ïN‰Žï;ÕY™·”¦õž+Æ (g¤W•c€£ä*œ€8œ9u‚âø b%_˜2Fü²r=WâàÌ£-!NïjÑÝŠ»ÝÐì^õq%AÊÒ|´¬,¥?–)kÔѵ+šXEʺŽwÀñ| RÖ(šj+„cWfÌ;5 Õ!k ÕU˜ØV–ó° XÚ>¢,H,où€U¤ŽKÃ×gl¦Òx“ƒ†÷^Å )Ky=e…”¥¼ž²B°8V[uôXèb…Ô+*øñ;¥øýï¦Ï"•² XŽKbA°TlR¤¬‘ôÛVH,—¤`ÁòE) Þ¡ÖŸàþ(ê†Ðò>#ØX¬÷ò6Š~ä÷ZÜÆX( ׊n¤"X^7Ä‚”5vhn+„£r<îÜŽj›T³{çbAÊ‹@%ਠ$H,—`ÁÊ*¤¬}ÌÄÊ á¸¼BüÌ –ÞÜþ½jµ|ìæÑRÈwÃû’ 4¼ß44±”•ßHE")¥±$Ò¢çRÒè¯ÒRÒ5–÷K ‰´Žm¿K‚p2ã}Ö¦TÊm²ÑìÞÙ†e™”å/VHYŽñb…`%Æ ÒÖØ‘³-“²¼ˆÒÖ¡±–IYŽc…ôùå·µ«hr¥ZéH%àh š’ XÚ‚¦,HY¾‹c…Äò^¨XE°æ±•KYz‡‡Ïü¬2gÈV¥Üï 1R@9þö"…`)Q¾,H¬Lk-pžæP¯~½"XÚä£,G•1Ér¦@[äé ø¹ b[&eeä+¤,e—‚•ì¬X>.ß7±‡ÐÄ>Ïb¬,gí`A°”¶ƒ‡›¢¥"mz‡XGÞ³­Å“µXŽÊå2}”Uß ÚÜ+ ²~•L·d€ã•$H¬ä¡Ä*RÖh`ÔVHY»î+X!XÚü¦,ÈZ%èŠ&̇K¦M–…ÕZq/ˤ-Ǽ°LÊRqjY!XDlAÊšŽ¯£‡”5k½+¤¬u¤` Ô±gÆ5¯.Ñ9(¾ö\7+³ØX²<‹Å ‰•ü„XEÚ:ÆÈ£,¬Y‰ôXã» ýQ®í…BîMq¬¬D¡bAÊr +dù.øÆ*RÖ1nH8\5– mmŸÊ×_Y•Ñ‚Áڔ〩³©•©s:R4.2¿Rèíl¬K‘ú²DÊrV–·îÁ‚´õ$;”òþ±~ïl”:¢Dˆ¦Å¥å!;Eãž+Ç‚”å‘VHYya…Ära-V,O©#àäé R–gX!{â¯Ë¥ì&ÓL)»Çg±BÊÊZE¬¶´X$€CôÁ¤¬ÜÉc…”5_•Ä éw8–ïÏ×îtƒ‹tU`!AÊÒÉ N²4"Ázze¼c± õzZojÿT4²QZ®<°²BÊRªyY!EãÊ5U¤,­Ý—‚å5V,Çå\·§VãÚ;ûí|ѲÞw1¬Ü×Êòº<–IYY—Ò–W ±²&Y–s0°L>,­•—%òa–êm‰ô{t,é©/Xzká÷¿›?·. R–rŒË 9«$|DùbÁÒVeAÊRn`Y!e)æTV–«Ë° gǯú´'Õ{¬…ký¦$$Uà""¹7R$G¦"J{ ”€´ŒœH¤UE-‘%…ÿ\Êh³UNgÉóÉãå—kÝCªØó)Ú‚,Ô§çS|¹>=¤-ŠX&XŽnaAÚÏǶL°Veì`AÊÛv´™p´ö8׺›œ/*âG`±$rj ²¤ÐßÏ`KEüF YØÆ` %—Ãeþë‹Ê|G"…`1’´iË#I,“²¼vRÖ2zO–RÖ6é3RïÑãgL¹¯C>:Þ;ʋ٩ºÏ™X\uR–GËX!X.G ÀYU‡áØ]‘u,nR¡K½B—H팪­–Lb¥j+V,çr`Aê=¸›Ó£>¤:٫¨¬‹jyE.c)K‘˲B°ËŠÁZ¦wÙ;R@9 "…”µè­q·uåý¸R_u;‘ >U°•$Ò¯çɳNzô²7¡¼k6± XÎVÂìÔà+[-V‘²TgYVHYZÅ*+Ë+TXŽÞ«tû•Îò!ÕY>ï;åC°ømAfjõUZ«HYš—‚Å;²©£[)=¹ón /P=á5KC‚\ÔàkT«ÈU5øcTŽ)KßϲBÚñ›¶LÊÒŒ¯¬,?ë± e©ú¨¬Η÷nzfåj1RýãU+ùÕ‹¾­X©+ŠUËk‰X²a++k]F~k{6ÏAÑõû$(À3à9á~¨[}ÀI·zOÐ ò\³hI5$ƒ’{‹P’fgqüs)¹ÆìpÑñÞ\Òþ¤‹k‚êe¯$“XEÊÒÂmY!Õñ^ ·X³64ÐC.¤,%™”‚åG-kU=¤,m]VH,ч{ÞCèyŸGt,HYJ-+$V’EcÁzgy¢èG~ï¡% ¤,…—Âq{‚úì8º|LYŸ7?c…”•ÇY¬¬ÔÇ‚´å –IYŠc…Ôq9¬ûtKÞ»#×Mè,ïôh,Hu©×’V¬"X^Ò‚`9°‹)KiÁe…`-ï¦*%ð]b±ïîd¡“½â HqfˆTËa,ÈR›œ:3S6=0á¨T»øì¯¨ö_êK Ù«÷¼`bAÊò VHYˬë(VH[Úî¿,“>.%q>bgguîÛž"{Mmâp<˜Š€ã¡Tœ€r4Â1ÀQaN@œ ìâ8Œ€£-Špâì/jr8 àìÙZÁS”Íýë!ô¯çĺ}Ÿûׯs«Îþë×ÙÆâü¿~ïXõ ØR/é² eiK«²B6>ðû^Óå>$]îyG¶Š´¥wT–IY~GX!X9ÖX¬\"± eiKݲB°r)Å‚\l}àqÙ:{ó€ÍžÕÏ(þ‘ßgÊR–§|X!eyŠŒ‚•QT,Ö¦‚?,Öþògo ²±Í‚GQ÷'¢ÍLÖ™mÔ°ÐŽÇH&myü€eR–7ÜÁ ÁÊbë“ué-LªG½G€± Õ}^ űŠ`i¥) ºÊ{| ‚µªÁ ¤}r÷å«›úMªçúÈ*É :®h|Žf X^˜Á‚`ya RÖ:B‰e…`©F) Î!sš®›,nºž•éH¤<="…”äÈ’ ÒrŽ$=¤¤<‡#… åA)¤$_üHù:МÞ÷Á9ÛCèÉž°Ÿ­"eù>‡R–ïsX!X¹ÏÅ‚`å> R–ŸX!t”Ϩ{N'õz¤{ ,ýÖü«HueWö?Ë;U`A°\Árâ>¤:Ý;¬<¥ßºÉü¢LßïÈV½G¬\'±¸rÊr(ˤ,eÙ!ÌÕ¹]Ó¢É-Òv ë•f©Èþ«ü¾¬,§ÐaA°¼h‹ÁÒz,R@9 "…`9Í ‚µ9¦ R–6Ï/+„®ó™•OîÉ¡º“XË )K)7e…TçöQE €ãòH$–'å‘pœpƒÁÚ´+¤ú×+‰õi˲w“¿›ÐI=÷•Xº²çŽa«Vî± ei»›²B¾»Î¿whW#uƒêî¹û+ÒC°ÀÁJ7+3üXêï®Åë§çêò±ÿü»”Ì+Q2Vȇ¥Åë²DÚòâ5–ɇ¥\ò²DÚrR%–I[^¼Æ2ikS–I[»RÓ±LÊÊðÓ´îXzIx»èÊî¨w¬"Ý»} Q° XŽgcAèðîD¦íJôõ1ðÀñ¸ ‚åq/¤,}§Ê Árò ¤ºÀ+¹àébínê"×D™ºªbAÊÊ•‹k·,_©X¹v±´¢‚dPκÑRHY¹cqMÒ Þ©àO+"õ\¡Oº“4c)KIše…TÏõ‘¥‰€ãdU$HY𔂵jb,Hu•×\};é•n²Rª®¨p¬"XÇ`A°<ŽÁ‚`¹„ ‚µjS=,Hõƒ×Sðiæµ}ì ·tA÷ó-¤-?±LÚò÷ˤ,ïÞ†RÖ6 m¬¶FÝhIç¯Îòï­UBWr° e)"_V}нq`¬"XaAÊR+¶²BÊ:GÒ{Y!X»vêÅ‚Ô{T–ý³•·ú ‡TtEyb©çZ7‚`yÝ R–6‡-+KCR¤o2ƒ)+ç9V}sFd R–6J++¤úÔ+"»ín½P Ó}YZDâüI*P’O_¤$—F åÄXTcù‘!»ít^  º£óH‚u•­Å*‚å²5,–×° e):_V–Sd± Õ\~,ý={ͨïºÀ>S°® $"AÚR"~Y&e9+¤-m3Q–I[Úf¢,“²Öóõõ·Böj-¯ 7¶--ÜCh¨î”",Hµp÷yK ÷já®ME° XÞ$ ‚åd!,HYjùXVH5³×V-Û–î!eæ¹&f—™‡`ñiÛ‚”•O;V–K*° X|Ú¶ Õ¦ÞÏÜ5-ÜM6š³;öŒ²U£wÍ‘cAÊrá VHY^ËÆ iË#M,“>zå‹`M)¼¿{r ÄÉ7ÏÇ÷Ï8qò}²(Gã=œ3—†×?5Šˆ³k[Þ8;Ì#–Ãõô&+ìµÛiIí(^Y’ V¶x‹ù°ÆF&m‰”åh?VHY«6®Ä é£÷µ³¨Ý}‘²{mëïѤ-¿G,“¶FI`[&X™cÇ‚`­×öu\¶®¯ã‚ÄâŠx¹Fß`¡D?çæåý,Þµ-H[~×X&XÎׂ`ñ®mAÚº¾Ž ²°YÖ¢·ywñ}ÈE‰¾VÛÛ2¹(¾÷|ÊV,çÜaA°¼†ŒÁÊ\)¤¬±Ô\’Ž·ñD‚”¥-ÚË ÁÚµiëð¸*¤Î¼£ßóâBv¶ȧ«>±×WÎl¬"Xï$YýÈï]˜†iKóô²L°8Ƕús°µk+Z,ç ãÔéÊ&>Ÿ3›hÛ¬,VlAÊòf@X!m)C»,“²\XŒÒ–W°Lú=ú 8mÞ­ äüùÚ-µ¤K^ž‹ˆâÅ9HIcU¾%“H^vC‚DÚÕN Rïm|¿§Ù[#lìy dãHE°x/¶úýNÇ÷ÛÃâ ggßÀbA°5ŒPÇî åëô.&Ó”²+¤¬\²±¸¬Ëò%‹•Ë+ÊX!emÚM +¤¬]™H8LÒ_›÷<9ØóÀ£a[E°2ýŽÁÊô;kSó,H—ŠE¶×äÝ BÖì.à¼d,HYù¬c…`¹  ‚å,Ö»üE?ò{ç£@Ö_;:¬×‘M ô@}½Ø@KÌX&myQ +Ë\eiU ÉË\íhº$‘¶¼ô…•Ű²ví(eòa©Ž»,‘K{ƒ”%òa^I ê•s¨ªÉäÃÒNFe‰”•åËõZ½ÁBÈQ;,l㼯Ù`aó‘ý´@‹9jç„ÿ¿­3Ën\[–ä æ,ô ‡ñæ?™J áfNéæŸL–"‚Àn¢y‚µ$ZÙzÕ’´•ÏPËO5VyZ’z‡kþç’ʽj,¼çX± ZY:Ñ’heéDKRÖ‘TR€N6í”${ÕXx†óZ­¤w¯kjHÞT¼ª óìˆTD+›LZ­l2iI´¸KÝÛÔ;œVE˜p-‰w),IYs›R (g–GJ‚h%DRKRVîeZ-®¤ë5Õ¼ÚVj"d C RW–W[Y¹’´¸Ú´¸aAÚšú'e…”ÅS÷:SrS!Ë6Z’²f&TD+3!-‰V–Q´$Z?9@ǵ¦pÂóãAÝ„H©HÊʽ@ ¢•é·–D‹o9–D+Z’²æf pXcbˆŽóNƒk¡^@B£±$e%4H RVBƒ´ e%Y ÒÇ5ùÇyœY«. ¢uï3ÖÇ’”5I%eAêÌOÞí±­)T9(! œS,IYùækAêIKRÖS…¨¤€r^ùä‘ ûŸûu§EȽP>"±xZ²8ƒX}–±rµê,ÇÊ0V ÒÖùû¸ e½ÖgGB RÖL½ÿÝ9§2à²E®$$IY3?/ ¢•ù¹–D+iÒZ’²fe¤,ˆÖ5Ê´$Z÷ò¬JiI´ÞÓaDKRÖgƒ»”çG~OBÇ~¾§ÐäÚ(V‘~,IYŒb± eM~…R@¿^žÖç•R·-¦øiY²fµ°,ˆVjòiI´xcIÊÊsX ¢u¯Ï>Š–Dë5Åû´$ZŒÏmêKHNŠPdDK¢•Á  œŒ• ZIÔ’”•QžD‹¹–Dë5ýд$eM–dY­ìü{”L ȹRª"%Z²¸GaAÊÊš¼¤¬DEhAÊâŽ)‹±óq¦8äeA‹)¡¢%ÑJœ­–D+q¶Z-FÅX’²²  ѺŸjfJ׬+I´ÞS\HK‚u,³ÊŒU¤ÏiŽtš€Ãšëé8üÜJÎ1N€R–‘J‰ZF(M´8?«¼2sˆ#PšÝ™_ƒ”¼p,Ö²˜0%HYYVÕ‚´5˪e…”•*3Z²îí‰Ò‚”•@¨}?RrS"¡Z’²&Œ¡,ˆV´$Z [Ô’h1,Á’hÝÓÒSKRÖ´ä) ¢•EôãÚÔ¼€ìVÆÈrZY!eÍÆXY­Ô~Ñ’he3KK¢•åq-‰Ökª,hIúèŸì}»UÆøü¿ß•1Ê ik’ôË )+iúZ²’ˆ¥)+iøZ²˜RaAÚšŠAe…|‰™‚þ»…¤~FÈe•II+ ¢Åt KRV&—Z-ÏW,IW®òõÊ!ÛVõ3æSÓâ“ݪ2ÆÜ± e%¤K RŸ–ŸlY¹?j…ôÑOØÍ¾^ÿ}Åá|þÛök‰#ÀáÎG 3[c:œ_âp²Y…Ÿ5fãL€“¨Òó—_µþÍUª"ÄÜ5Ë 9ÿT„Ð’œUâœS»Q"DË7KRÖ„%•Ñb1~yÿª±¯ëŸŠZž‰õOEˆ¶r&Ö?U´ e½¦±DËmœåL±ÈË ™ÈÆ*ÒÖù­œß¿OþºŠ¤¬,/hA´ %Ѻ—y&`I´ôÿû:Ý_m{÷å°6ÃþjI´’¾£%9ª¢Â5go¥¢BHYÙLЂ”5áÁeA´²œùïãM}ƒ,p.+Õ²¨¦Å2[YÙ Òb{¨¬Ÿý •g{¨~Ÿ”W•/kâÚÊÒV–Ó´X`++±òÛûHåÈM,¢hIÊšE”² Zéb %)kB§Ê‚hM¤»@'‹#J­l†oï% {Š Ì²‡%׬ŽDi.Ù’ H™¸*I2'U’ eÓb{Ý)7ò^,70©DZ¶&]¥¬²’®¢)k2Q”Ú™t£’BÚzæœ% (çµ?!{J¶®ùk…”•qâöÚ•7Ø^W•7xFÌZ’ëO„¶B®?E´$Zž­X­,ÇkI´2®Ö’h%Úf{-Sº@²Qº á6eA´4 %ÑJЀ–D+Á4Z’²¦ÎZY­<×·ûšÒ’·Åf•EK¢•e-‰VÖY´$ZynkIÊzÖ¶J ÐÉzŒ’¤¬i~[D‹ûæ½¥¬ä´øÂ$õ•ÑJX‘–Dk⊔:<¯®wJ„Ü›&Ý©¬²’Ȥ)+‰LZ²ÒÉL RV¶´ ÿóèÏI·—¼L·Ï7O ¢•Ø7-‰V‚ß´$ZI°Ò’hñýÄ’ÔÑ?Ñ—Ûµ¦V@Àa©€)¹£$ÑÊDQK¢•€I-‰Vj iI´² °¯IY‡\«éïO&R@; TRHYɢЂ”•õ9-HY™'iAÊJ"ÐvI‘‡Ü&¿O"–¤¬w^ ¢•Pi-‰Ö½)ócý~‚$Jh¥Þ¦–Dë=[BZ’²&L¦,ˆ–WÌ’´}ÈnBþ¤ÎjI´²q¤%ÑÊÆ‘–D++¿Z-¯¬X-faÇ!çbâ~®o,¿eÍZY!eM‹R@9̱ e%XD ÒG5ËVÛ±'!r‘DŸE)-I[ÏÊM[!ZY¹Ñ’h%ôPKRÖ,a•ÑzÍ ‰–¤¬©WDë=å¶´$e¿Ï—¤¬©®\ëXg§ «ˆÖÆ5Kâ+f÷a;–0€lHX‰–D+kAZ’²f-¨,ˆVÖ‚´$ZIºÐ’h%¬DK¢•tÕm¿Rìò¶$¬X–Ñâ*Ç’he-RK¢Å•‰%ÑâSÛ·2€œ2˜$)-‰Ÿ-–D+áAZ->,IY“\WD+{MZ­Ÿ!•ùÑßgßáßy '\âú«RŸ¹õW3$@IÙlC””$1$@I¼ÙH}>(5¬íLQÈËr“¨%Ñb¥ KRVVº´ ZÙaÖ’ÔqM¹Ám[S rX0 OI-HY|„X£J<¡ Z-®F,IY|ŠXãOQ„m}%É?d[«À¬‡j…´•OM‹ÏQ+)›Z²¦)+%·´ }\°­GŠ@îßeJ ÐI€’D+Z­oiI´²·¯%ÑJÀ•–ä®B3¿\W „ìÈ|K¢ÅÊ,–¤¬Ù9( ¢•z-‰kË"!ëb)ƒÌÚµBÊb5 R« X¶2× )+Á¾Z²ÞÓKI òõg•pÙ§¼àJ²>sÇ8VŸãpR G€s ÷¯ßúÂˤ¥÷±™R?c ,‰ß#,‰ß#,‰ß#,IYYÓÔ‚h%,RKRÖ¤–Ñz_³%ÑÊ0a}_I¾‡¼I…Ïš¹–¤­'^¡­­Ä+hI´R*QK¢õzj(tÞË0¬$)kvÜÊ‚`Ë›Á*âßÊÊôúÞRršì?ÅÒ´$e=¹Ü%è$•[IÒÖ³ÖVˆÖ,L+t²’·þ{Þn_åÃ?ÿ”úY£Ó‚”Å‘bõ»Ñš#-Ëw+óX-HYICׂ|YOäB[CÚšdõ²BÚš´¦²B´þÍvŸq –¤þVö¸Ö×™’—%æ¬%ÑÊ~ –Dk6•:Ù»R’heOK¢õžZ9Z­<³××–šƒôõD hI´~BTæGŸý‰Vž°Z’²îgŸ¬,Ö±L0V‘zwOÜñz¿&1=às·ù–—RÒ”¦,)D)•)• JÜ£‘ õr9ì#éí·9ð7D+ŸZ­d|jI´RÁWKRÇÅ©Z'û[rýÍ×KÒÖÜ*Ê ÑÊæ±–D+ÛÂZ’¶žiT[!eÝ9‡X·ç9Ö{*¨jI´²Èº^÷d’Cî¥r×ç6€)+˧Z²²|ª)kbT”ÊÉte½öä¤C®ÊI?çõvrÒCÊz‚TJ ¸*/ý˜³°“—¢•ê†Z­ µ$eM÷² Wåæ?KëµL¸d73}6…µ$eÍrzY½2Óïÿ¾þ@'7óšjÀûOޏ’¤¬Ét) òþ“#®%yÿÉëÖ’”5ùË‚heû_K¢•\-IYOáþ’pŽe²ì‘Šh­³«%ñõÜ´ž[Î!§9é³À_äü“™®%9ÿd¦kI´’c­%9¿så×ãÝÙäŸÿa6ù¼>Jãïœó¶vÎÊïœs-HY *Ñ‚´5¦e…ôqå;pœÉʆ¼ÌÝž<˲ ZYrÓ’heÉMK¢•¥S-‰V.\$@;Ï"LK!XÇ2Õw±Šh­“ä¡%©³•{ݱ%wršá=7}¥€rf¹¢$ˆVr1µ$ZÉÅÔ’h½gñNKRÇ•÷³¿’•Í;\ÍÝÎS+¤¬DZjAÊJ¨¥¤,¦eX¶òŽ´xXdbI¾¬¹ÂËÊ5ï+æq´“O ¸Í¹ž°3%‰cG,‰ÖD[*txÊ I´bI´’³îëd@Kó·'OKRV–‰´ ZIaÑ’h¥Ö™–¤^q¶þÖíN¦tȾ˜O=‹òe…”•à -HY ÎЂ”•l`-HY fÑ‚”•PuÛ“Ý ¹Ì[^ò·bIÊšÍì² ZÙÌÖ’he›ZKRÖ„â”ÑJ¸Øº-É[†ìf7gŒ©Ñb6%ÑJà…–D+µô´$Zïé§%)+‹EZ-æ&ëõßW©÷Ÿ(Šõ;VI ”Í $AI³7¡PzMÿ$AIOŸ?üŒò﹫3![^G²¶!YÛ‰~Ó’heYGK¢•e-‰Vb„µ$XÿÎá|b)kvÊ‚”598eA<®L—×2¹Û’ÝlñÉòÐ’”5Ų Z‰Ø×’h½§´˜–D+1…ËöûÜsãÁ’”51…eA´S¨%ÑÊ8NKRÖ'ìµ”çG~Ï],† œ)®VDkØ"-‰Ç“ÝåN—{ÉeÆùdÃhI´¥%Ѻ¿•û÷ï³£®"ÑÊŽº–ëX¦¸V­uŠŽiIÊš¨¢² ZûTuÑ’xôYx\®÷d“Cîlò,›–RV–Mµ eeÙT RVb%µ mMœ{Y!e½§ÕˆDëßç1ßÊX’²ÖiÒ«©WLñç1ÿzwdñòiýõ÷­$QÊ]@ ‚” b% Rª)I”¦2fIHÄi!á/ñå½¶I<—œ&ÖçË‹%ÑÊ4DK¢•ý- –_»XEü[ ™ÎW’ØC®µ’ØŸp-H[³.TVHYIÕ‚”•E-HYiª Ñr˜KRk–Ú—óœŒrÀMByâIJ‚h%RDK¢•H-IYR^‹=W¬"ZëTjÒ’øŠ Ï5‰îÃD÷‰:Ñ’hMÔ—@'A_J’£RØïï¿(g"NJ‚”5u›Ë‚`9€ŽU䨢Ï>Õç¶0iî!çRiîÏ„¤¬„0jAÊšÈJ¥€v2sS )ë½?Å*´ mMhbY!ZìxaIÚšeвBÚzòÂKPÎ:妔 uì ±c’ï%·éþÄ­%¹+݆þX­qkI´’|¬%Ñb Ž%)k³˂hq—:–IÑ—ì¦ûOHµ–¤¬‰à+ ¢•>-‰ÖD^+t°ÿ¹¢^_]+?;¨¤ûçy„%Ñâ3Ã’h%È^K¢ÅóK‚u¬S¬«HYÖjA|Å„/û>©ü’˲YÛÁ’”5· ¥€rr×P‚h%ZK‚ÅB&V‘²r?Ђh±„%ñ¸òøÞÞ©B0`ßHÓÏ"¹¤­gS¼¤ådO\ ¢åS9–¤­éš[VH½"ßàíLñÈ˲Y£%Ñbä%)+#-ˆVR ´$¯*}°Ï™Ø’ð9MøŸ$K-‰Vb5µ$Z¬©ÐI1%ÉYef:±¾( 0d[+Iÿ‰ÃÔ‚”• -H[³SVHY‰ÃÔ‚|Y?{„-=@çX§¼1’¤­Ü}´BêõX*ZÏI9—ܦÕgÊŽ%¹+aþY™A褃’D‹…",‰V–ä×5î‡ î; $)ëÎ_Ç‚h¥Ð°–D+±)Z’²&v ,–ëó±Šü÷¸ÜIƒç=.¤“'²F RïË÷¨Å;Âò=j%)K òeÍÆTYCÊbÖ¾“¸É)Ox(’@)Û„H¥ì" Jš2]J$§õ#(i6ÿ”%M#%€ÇÄ÷rY&}]²“¾žT¿² Z¬Þ`I´X¾Á’”•õ-H×3—]?Û¯ï³f·ë'>æU! ¥Ìþ~¶}J‘hͶOY’²~&²-àdÓG©ˆi¶5ÿ±}Ò%—)ðÏ´,ÉUÉ퟇cIy6–$ÑšT¥²$e=A)mA°²M£UÄ¿5K¶ëç/\ÝÑdýÄoþJ/ ÒÖóÌn+¤¬É“( ÒÖ“pÛVHY³d[D+³-Iý­Yøg]“Ü.y™(ÿÄÑ–%yýN”/K¢5A eIÊzÆ%mA´&'¡,IYOLn[¬DÛjÑšQNY_qâmÿ±må%g¥ùÿ¬ñ”%ÑšùFY­Éá(KRÖóph ¢5ãŽõó-|Õ@dýIÅúÚÊÓ´ó3sig€Î”eÑèÌ[€3;r(üì_™§Ë?%ýç%ÕñþY£,K¢5¹reI´&W®,IY? -´s=ŸxI!e=O³¶ XÇòt ×*ÒçágFöÑËb/{ßu,IY?“á–t&¼$‰Öä–%9L§æÂZEÊzF.mA|E¾‘ìCn;ÙÏȬ,H[ùFj…´•o¤VHY³[D+C8-É—5g§¬œ/_qŠîÿ³èx©Ž÷O8BY’êxÿ„j–%ÑšPͲ$ZS@®,IYO¨f[­§þcé./Ù§¥—%Ñb$‡%)k†rJå<»-A°Žå§}¢’À¿Ä(礷<¤zË¿ç~€%©®ñÏVuY’î¿>ß©Ó~ð!mÍ(§¬­YÝ.KR=ï3F;ÓX]B÷u_H%Ž RRT)ÄfïŸ!I"ëSKY©ˆÒÏ%«ñüXîçÛ·ç«¡ú“ZP¤¬™t—)k– Ê‚”5Óé² eͲý?‹V雠϶xY­ÙV)K¢5Û*eI´fä, VâS´Šø·&¡á£ :Ä&è³á]–¤¬gÓ¡-ˆÖl:”%Á:¶§#€V­#ƒ,I·ƒ¶Ó-«¦oÏý ) œ{ÿ2žë÷…T ¤¬‰B* ¢åã?–¤zèNãrˆËg+«,‰ÃA,IY3T Йô’$ee°¤Á:–§‰¼V‘jàžÞn ôjHž#–DËwKRV†¼ZÃDòeý¶Š”õšG•¤ŽþYjZ? ¿ï&Z?ÓÌ×ww³² måiñËÊ€]+DË{,É—u?Ó겆ìÝ }8›-ÌCªùx>5,I5Ÿ±  œ ]” XõÇúzÏX3ÂQ ðõ&Ùný|ãïN¿[?@$œ?µdÛ‚TKñ p°$Ý<çÏFà!e½gQQ ¢ÅPK²›LþÄÝi©÷˜÷½¦-wŸRÀ×úcAÊâaõ»ÆÊ;Òªwm¢øL° Z¾£X_ïë©mÕVH[ïùk…”µ¯ó$Á‚ôùÊbßJ“oH5ù~6ãÊ’h±†%)+ aZ,—¥b)ëÙŽk RÖÓ¿£-Hµ;Ï8fI¯oÈj³ïɆù²†”ÅÙÁò|i=û’%èëñëõ$e1ÖÁ‚”µsž± m½f"®Òç!£†…¶á÷ï´ó²$eeÍL ¢Åª–+›{ZE´¶{®K,‰ÖžÉ%–äý;iþÛ¾“æ×O÷ñ] ½,IµÃË’hMbxY’ów:|[¬©hÑš¦²$}ôÏ,ìs'Ñ}æe‹m¼shyM”5³°²2/++³0-æem=2m )+Y-Z¶Ö§®`Y!måjÒòúÒÚŸýײBúèó”{½ÏïüŸÿGjý,-iIÊš§\Yj>Ïh-Iµ2µŠh­Où‹²$eÍó«,ˆÖä—%Ñú4.ïÓ%(ç “l RÍØŸ|¢õóÔ¿+Áhýy`­ßu%@µŸ…$RVƒH¬©D*ÐRN1R@uG¦«¯íü«{øþemÊìž%‰Ö„Ž—%ÑšÐñ²$§™ì?!J /IRVÆ«Z­í©ÿ\–¤¬'¬µ-Hõt_fä~Òï<ä²ß9gËsZÖSÚ®­²¦´]Y¶ž´ž¶B´’)ª%)+«2Z¶¶Ÿ8’ÔQeïçuÒ?ÒýÓgwÚ?=D+³@-IY3 , ‚ÅÞV­m±.–¤¬'ð½-HYO7›¶ ZûOmÈ’åLP`I­c™Y!–¤ûÛÏ­ð¤_;Ä~íS©¡,‰³U,IY™­jAŽÊןÙj¬"ZÓ+®,‰Ö¶>v$@9ïy²+A<ö¬|¼z͇œÕk~b­´ e1Å‚”õ)vPÊó£¿gEÒÖìÓ–R¯5SþYé×.±_ûTÁo Rýá'œVK¢5SÊ’”5á¦eAnóÝgÝ«ˆÖÔB)KRïqB>ã½×WÂÏ#ÿ×ÌIb›øÙ¯V’ e»ZIɉp¤"JCZiÊ—$ᘲÜùÚéìrØŽ}ò‡Ê‚”5;¢JådCT ¢•.Z’¶fC´¬²¶÷ŒÞ° eíO]÷² eO©©² õì4‰‡T“ø™‰ t IÊÊ@ r™]?c¯H<ÙqåÜÇ÷1ÑÚŸyeI3Ã×׿Á'%•hIÊš'sY,žÌXE´f £ÐÙgÃTIâQe,zßïÿºv÷Ï[¿Ë…)ZzjŽ” ”’#H‚’2ÆD´4r¥€’²…èÏMà¶'zHuNŸ¨Ô² ZÙ3Ö’`±gŒU¤¬÷íWD+{ìZ+» Ÿ(þw [?±×¯5}-IõWæôJ€Ã¤ñ§—R‘¶ž4ضBþÇQ]vD÷8·ïšðeA´<ŠX_Gª5GQ–Gºmß‹Z²²ƒ«iëzvË é÷8qݟźë+Òû“pþŠô. ÒÖ3(l+‹Øh¬"eÍÞY­L´µ$ZÛ5",IõŸ½ûJçtIõWŸ˜z-‰–g'–d7‰{"ܱД5‹ueAºïûܪNz¢‡\Õ9}¾VJÚ™AhI!Z)d¥%)k{J8•iköëË )kŸÂZëOùõó8yuXïÏ­õ×Ý9Ž@g¢~t×ßÈq èäþа/ü,[Ü'=Ö!Õ==ƒ.,Iu<Ÿeb-ÉnZõ,cÑšršeIê¸rt)‡T—ò ˜°$eMDIYê@>iÁXE´¸†°$e]3ׂT'öLvZ‚Cªoø; ¢•8f-ÉYiÎç¼ï4ç­Ä™jIê¸2jÚÓ{rTçðYJÕ‚´•ÏC‹OÈ>ÞIÉÆ’”Åð RÖ>ñZ¶&N§¬²Ž)¢ùzÏ$r?¿Óœ?õßiÎ%Aº÷ §%yýN†F”“Û†D‹ç–Dk_Ÿ=7-‰V"æ´$uò-ÞÓË[b—n¯-,HYMZ¤ú‚Ož#V­,ÔkI´ø®cI´¼cI´Ž§@gY’ê£>‹Ï÷F ñÝ⳯QšxÖßq$JYvV‚(Íò»N@tžFÍÃ!÷ŸÜj-IYQ‹¬"Z‰\Ð’heSK¢uþô`. PMԳ䵥)¸¤Z‡ç>€%Árd«HYkA´¸`IÊš4¥îH’²f¿,H7ZÿÙ›»×4!ØlBÎ ¢åØ9–¤­ŒµBÊbé¿•öº'r™©A¡¤¬¹å+”“;¾D+±ïZ’²²¨Ñ:ŽYNÂ’”õú}$ZgfØX­+ß,IYY¤Ó‚T›ø™Ü¬ iíl¡žxL%IY(Pd¯\ôçfI ÃüI²Wýp/ׯìñŸÍ’í{[KR-Íót\hiyÿÉD×’hOgž²$ÕÚ= šKŒKª ùä"iIÊš °² Xd×b)ëu~)¯ße²Jh±ä‰%)k²oË‚”õ$+•àÈlêzÿj{þóß¶_[šZ!e±)„i+›BZ!me¤¤ÅØ©¬ ØTðåÌ<¾¤ÃOk꺕5¤ÏC6_?£ªûk;ö³ù;Ÿ]KR-ÔgÉ]KRÍÑ'«ˆV"¬µ$Z¹F´$eMˆPYj%¿ÿ¼»žÏû%ß}"ïT$Õ}¢…µ$ge²_sö62Ù/Îð²~GkI´¸b"Ê™½’ mÝó9hÝ|Vy‡‰ð½^4byWóôjAÚšø²B´ØˆÇ’”•Qª¤¬lÄkAÚz?Ï´²BÊ:޹‡`AÊ:'0K òþÓ’~ýi¼Î¯ïÎËêyŠ–Áb» «ˆÖìW)î?™ú×+Ñ%Õ>}Vùµ$eMƒ² XÔ1À*RÖÔ1( ¢•U~-IY³Ê_D+µ´$e=-ÂÛ‚hŸzÂ*óc©Éhºî´j‡¼ª¡ûä¿jAÚšPà²B´ˆÆ’|YOQ[CÚz_Êëûˆ¼‡¡@ÊÚŸ~’eA¾ÎÁ³ƒö©99¹ëj Ï™Ò ¹Ì]çìÉ]‡´•s ¢• -‰Ö>%µ$}vƒ¯›æñjøþ,f(vsÒg£©È^9é÷œÁ…œô›³Lö÷Ô"û„×Ý]œìgcpýNéC(q=FØÍ=qè‘ (mû<Ž$Pâ2Š$PJÝ3$Áï&ôÿÐwûõ Ú¯O¬°’¤¬‰. b“öÄ c9+¹ûYªÖ’h%nEKRÖ”6) R-ígóå:iÖrUƒõ‰[Ñ‚\Õ`}ÖÛ°$eeÁM ÒÖl¾”RÖ,Ì)|9óÐ+iHYÏ}åù±~Nˆ ¤­í÷€|Ígâúé?ðúšÊþt ܾ—Ã°Š”5 :eA´² £%ÑÊ’•–¤­™V•ÒÍãóŽhš^ïšFç¹…4:‡t;ô™ÔhAªúl§hI´a®%ÑÊ’·–¤šÌ϶ØuÐè<ä´…y"µ m}²»JùùÑߓڅ")+±‹Z²’2¨)ëüy!´óÓÂ¥õβ ü)¾•òªÏû2?ò{b]QŠh%ÖUK¢5«¼JÞ}@9™:)AÊšÀ² ÕvþgÆz¤û>Ç·ýz`#p(…#°5û•+6­Ù8Y@Åà0µŒ#Àá©G 3 ¬:ßûÄÊ}rd&ù<äèés7Þm>¤,ž4X¶ò¤Ñ )‹§¤¬l¬hAÊ:¦`–ä¨öÏŠîµÓE=àú“ ®$©ÆçŽ…UD+áXZ­,éjIÊšeAªQ|îŸ;Ï!Õ}BtÊ‚T{ôYÚÖ’ì&ƒOa¬"{%posu-$p‡h±´‡%ÑÊ- PΔ¸, ÒÖ<+Ë ©³•IÿF;vˆÍ™ÎcIªIz¦óMÒ!ee:¯Ñb|%Ñb¢Ž%©£Ï{£ :¤Z’Ï29V‘²2qÔ‚”õsQª-IµÅžpáóM3hˆž³0¦%ÙM¤/¬"ZIñÒ’heÉKKR¯8qÚç+Í™%¶pžÐ…’ªÍó }•$ZújI´Ži\¥%)k†|eAl,Ãù¢…3¤š3Oì V‘jÎ<³A-‰VæƒZ­ÄjIÊz=Ù#eA´Î§+•@'‘3J’²fêXÄöÓéÂqÞi yÙÄyVŒK Ã"/’¤¬,òjAÊÊò­¤¬s–oµ _Ö³cÝÖ/ëÙ©mkÈ×{|Vó?•Ž&Ñò2w¦eAÊš1OY­Œy´$ZÙ½Ó’TËëg«å¼Ó5pšŒ;ËØHE´²” %Ñšj%@;Ï­¥ÿñz-œy½jôs•çGOµÍó¢]4ä6 wž±Šhe,§%)kÆreA´ŽiW§%ÑòÄ’h]s¦%©ÆÙ¼ï´•–T[éOÚJ‡\‹ÉÄÄ’´•'©VHY‰8Õ‚”µOãK-ÈUM±3~<§µ´À†Ð JŠT ¤YÚP(e‹I ”˜$$AI³]«PJ­B$Ò9ÛèH‚’¦hŠ Ú‚çò8Ó{Zbïé,mhIvSŽgO«ˆVjmhI´²— %)kúÿ•©ãÊWó 5¤:UO¨lY­„GjI´©%ÑJB’–¤¬ µ Zçúû=JÊÊ-C RÖäQ–©ó5û±çAGkHõ½~bÛK (gRJ‚\•äü¤0hI´²ž§%¹þ¤hŸ{zPCŽêT= Z²xbAÚš¥‹²BÚš]²BŽê³=I„çNßhHu—žå¬¶Bª»ô¤bÑJª¡–D+µU´$Z³à¯(gVòK‚”õʧˆÑš¼%€Î5{J’îê=Ã…=]ª%t©vb«ˆ–×C,IY\X-¦ÏX­sJšjIÊZóécAÊÊ3B ¢ue©KRV†jZêIž»ÿ–žÝ»ý¸§â8‡¥õ8¬¬ãtX"‹(gZè”3«ï::çùìàú½?‹žç–Û’W¥y?»{XEÊšEϲ ZYpÖ’hñ½Å’ØÕ›ÜFÿlHuÆÎhb£36D+AZ­5jI´« %)+c-ˆC4,‰Ö5ÙŸZ’²&ݲ,Hu%ÏâòJ/î­ºlO"%–¤¬„­kAÊJغ¤¬¤kAÊby RVÒµ [u%Ÿ$Âs¥Ë6¤zqOŒVYûO*;V­ÄUiI´R+WKRÖD˜•)kb&Ê‚”õ~%Ë‚h±%)kÏ•ƒµ{-Q à)Ýv®ôÿ¨áï)A´ͤ%Ñšp&%€Î„3étÎåIÝT’”uÎè_ Rï/çåN";äm"{G±$Zl`IÞ•È>ÛX’²¦oFY²2 ׂhý»žep,‰VÒ9Î%­Â%6ŸMr%‰R–F• HÙùU’ 1ÂA’ %èòx¿“>ä\6óÔgÊXV&‘e冡Å-¤¬]j…´•)£“ȶfm­¬¬¶•uOð¬VÈ÷{ü™Áï´TÏñ ¾P’¼ÿä©kI´2Ó’heçDKRÓç¶¼·_ùåÇÛnâybÑÊJ²–D+oZ’ê_>·}-IYsC/ ¢•g-IYûï÷(ÑúYNV™«‡ûÆ/úœ‡¼í`žo/–¤­Ù‘/+¤¬dIjAÊJ6›¤¬|͵ ïêÒ>CÑãEwrˆÝɳ „U¤¬Y…, ¢5iJ, *I^²ÙWz“Kªë8gž®ã­D9hI´å %ÑÊUKbŸó¤ÓwºŽC^öç Æªsª•U[-HYY¶Õ‚h±rÜé.¹+Oûyü•±Wx†ÑXE´’é©%)k†ÑeA´ø&`Iª³úÏWý¶¡øÏÕÛ›³NooHY³ƒ^D+ñÓZ­,hjIÊz6ÇK ÐÉŽÎq¥ƒ6äîÎÞóý½ìì=¤­™@—RVBaµ mM–{Y!e%B rwóŸíø·lšqøÛ‹©Èß^ÜeA´˜ª%)kö Ë‚ر;› Ǚګ:hçrÒA;¤­Yß)+äêÚÏÉ9m =g«œY½))¤­Y¿)+¤­É–,+¤¬óiܪ ã³è¤{6Ď׉“Â*Rݳ'NJKÒݳŸÅf-IY¹rµ ZYÜÐ’´õûè%ûˆÿ;KtÏ©¾ØÏìI “Åm%‰V·µ$Õ­{–ˆÿ G“ÁrVêÌ.zT‡”•Ýc-HYÙ=Ö‚”ÅŒ rV‡íYA=:FCªóBˆ$(gÖPK‚TÿæYEÕ’´õLRÛ ÑÊr‘–¤¬™¤–ÑÊŠ«–Dëž(i-Iuáæ ¦4ÀNÏ™­G*Pç& ¥œ¤€’fB¯øÛ¢úß/“ÅrT#ç *+¤,_X²²A®i+·N­²²ÚªiköÈË 9ª¥uG;íž!6ræUD+O$@9yÐ(AîÊ¿}žH€j.!ÌžFÈÛ%38Á’”•Û¾¤¬Üöµ ZÙ‡Ö’hqÛÇ’”5ešË‚üm/ýïCI.lȾT.ì|í° må+¥ÒV¾SZ!eqûÁ‚´5e×Ê )뜂HZ½ZUÏÈp£Ûs€í’³‰T¤Z/Oখ¤Z/OখDë' ]e~ô÷ ìT‘´5“’²B´®õYGÖ’Ô9ÈÀqµéòÍÖÌ|DZ eåKŽÐNŽJ!eåKŽÐNVJ!e]“m¨)‹)Â:Í—6zž€TMœ3=ˆ#ÐÉ䀓=eSê•fÉjƒ<{UZ-&ÞX’²2ñÖ‚h%^AK¢•--IYOXCIÕ4zvB…ÎÅ!«ís)"q±–“ç°RH[yk…”ÅU†å•XÖìp–RVFž‹}‹TCâ|ªJj6œ±–¤› Ïr±ÙpˆVê`hI´®íþõ·$Z )±$›Aÿ›ÞÐl8¤šÿf̵Ðü¢•ÕG$€‹H-l°$ZL±$ÇŸlÜýMkß܈–jÏžHmÝ¿;¤­<´x"-Õ$yÂvÿM!È  ±õïìÏ Ê™ýÖ’ Z)þ«%)kꦔ)kÆ+eA´2^Ñ’ÔÑ_aiì+¡ûoB0•$¶ž-6% RvØ”$ÕùÙæÙ_4ÿ yÛ?7s#,I[³hZVHY)1¡ikŠL”RVR]´ e%½k¥§­Äη‰Y+ ò·?®–D+ÛZ­D¶iIÊ:ž@õ² Õ%x6p?cõI…TçÛIÓ’”• N ¢•ø^-‰V¶fµ$e½s}aA¶? ¹ûM/Zˆkù&`IʚŦ² ZYlÒ’h%êDK¢•xA-Iwå}fŠûM7ZHõ¬ˆ’² Õ³ö )QèLH‰ œ‰&+ ¢•¸-Iõíìý¢cmÈm/ÚD!aIÊʵ¤¬lQkAÊʶ²¤¬ÄÛjAÊJjÉ~Ñ‹R½hsoÄ’hqoÄ’”•{£Dkö˜”:IÈT’Աϼd¿èD ±_m¶¼µ$eͼ¤,ˆV6ÿ´$eͼ¤,H½â¬ì'ÝcC®ê1;ãè²BÚšµ‘²BÊÊÚˆ¤¬Ìùµ ee´­)+£m-HYŒžNúÕBª_íÔ¡Ó’h1ÆÂ’”•1–¤¬‰ö+ RÇ5á÷Óî±!Õc–cÅ‚TÙÜ_°$Z‰hÔ’”5!=eAÊâaA´xZbIú=Î3âHYÈiŸÙlù–RV6‘´ eM:„R@9YõT‚´5«že…h9c8Ò±VbÿXž‚±Št/Ú'“KK¢•L.-IYC]D+Ñ–Z’ëOð~¤¬¤ºÌæºÄ’hñ$Ä’h%0KK¢ÅU²§¬Än³Œ©±$ZY¡×’h%T@K¢ÅhKRVFËZ-®“v³ûÍ&ú^K¢•! œŒ ” ZŒ °$Z×óKRýtó™mi&ˇXÍdóUhi2(”JJ $>‰H~4ÕO7ƒ§íwØ}³G,],‰$,IY™âkA´˜âcI´îs†X-¦a[ºÄJì%›ˆR-‰$,IYy$iA´øøWz¶r…ØÙ5‹ÆZ²°aAÚÊ€M+¤,nØ+T!Õg5_N-ˆ·u,IY¹­kA´øâaIê¸rÃ^ÓAUbŸUFX’¶æ³-+¤¬ -´ {%P΂ÇrÿJäÛ×åO"Ÿ¤­Ü°µBÊâ†ikÒöÊ )+³Ûe›ò3½OsŽÁϹ £p¸ÇèäñŽÀáʈ#Àaax¡ã)ľ¨©ñ¡%Ñb€%ÑJ¶–¤¬Ù( RÇ5ËFÛûw/ÓímÇÓDQjI´²P¯%ÑÊB½–¤z¬ÎU½½íRb/Óä`hIÊš)mY­DlkI´²¡¤%©WœçÚö¢³hÈ»;‹>Ï5-H[ó\++¤¬<×´ eÍþÛö¢‰g@uúœ€’ eÍrY­ÙAVèdóMIR]JçÛòÇ,_Us¶Wõæœ{tYêº9 „Z­,jIªgè|×·ûw'ÌíE'Ììä)A”òV‚”4_á’B”²Á£QâÄܶ¸ ùÛâRKrWRгZ§%©F˜³Z§%ÑúÉ Q™ý}V±¶;-"%Ý’òÙ‡Õ’he¤%Ñʹ–¤þÖ¬`oWÚ?BnÛ?fý] ÒÖ Ê )+« Z¯W|üÛE£EHµcœY¶žùA[!Õ´q&Z’nÇø¬ hIª}å¤Kmý!Õ q¼Z->[,‰Ö;(êõfo{;ÓÒPbãà dË‚h%ÚAK¢•C-IYaX¤Žk¢ˆ¶3%ÕfpVRµ$e妯ÑJŒ–DkƒÛAoÀ§ ý2ìW‚”•Ñž¤­ï•RVâζƒ&|j¯7»üZ­Ÿ~•ùÑßg—_ERmy}ZâÕ1.ëï#¢‘]#) ³Æ­%ÑÊ·–D+íTµ$Z™ZkI´²|°íi9ªÝ]Þ7–g¢ZÔÍnŒ¤¬ìJkAÊâaùû¸ž…mO_9‰ÍçBcI´²K¤%Ñšm"%@9³_[D+…<µ$Z ¾vÆAª­Üìý–ùÕ Ne~ô÷‰jQ‘h%XOKÒGô¤9l×BöjÏ–)VÈÞíÙžÕm-HY‰>Ö‚ìÂmÍÒ Õ,-O,‰O,IYy2hAª‰Û,Ùl[¡Il—ÆäK¢•Å-‰Öùz­iI´ø<Ö´9t³Z­t0 PÊ%?—’¯ @‰oI$Aug˰d¥1¤Ú—ÍsO)@gört:çû ¬V’Ô«å °ÐØ+d­ö_™}k…¬ÝÞkùeAÚš•¡²Bú3XZÒ Kòú“: %©f[Y‡À’¼*)àÙtÔ’Ô+æ+·ÐÔ R­¯&<µ,ˆ",‰Ö5½›µ$õŠó¾×÷ïvTÛRM«æUVnZËŸ†TJ¹ºÊÉF¡RÈ×ëÍ c}„ž‡Ts§Ï=_e~¼+4ý™äªHî ;f¹Z’²f+¾,Èý'd~}§5ÀöMó‰êp²†„#ÀÉ ŽÀvRóm[_´I yW›¤‰jׂ”•ǧ¤¬<>µ eå;¹¾hH¹þ„okI´fqH pý ÞV’heye}-¿‚©×W5þ™¡nY-®!,Éþ'äº,ˆV±ë6<’jé3ƒE-‰V†Z­„iIº‰Ð3x[ïtâ‘Ø¬'K?Z­,êhI´~ÖuTæGŸâz¥Áä¶ ß­²²º§)+¡~Z²¸^´½Ð'·OJ–Dt$HYQ’ q]éR#9+ ÷™°iIÎ?Áºm…heÊ£%ÑÊ´NK¢•ïõLÿÈe—š¬x—RVV¼µ e]ÇS‚P R߸óü†»žv–™Á¢àþ8[D+£E-IuØÉ'{¦ŒÄŽ1|fX’£‚]ç>€%)ë|*³”Ñâîzüîಞöyá™iëYo+i@9×Ó±O' ÿÎ|GÚ²ìÝÂ;F’”u=µ Ê‚T·˜Üyú­@ö }_µ$Z °$Z×õ”kÓ’Ô+ÎöèºÛÿ$¤º¤ÌT¬,ˆV–Ñ´$ZÙ$Õ’Ô+Î=q§eI@õ5™åå’ Õ$7E,IYÓܰ,H½âl\¬[zu@öíOˆdY!eñÜ”uݯ_ ÒÖ1—ò?ë$ø1äõ'ø±,ˆÖõz2-µ$õ·fùõßìœ(Ã{lp-iA´²üª%Ѻ^?-5”çŸÉƒ¯„†lv¼à“ÅòÓ¯¾9ÏX~õ·fƒæß-(azêB1;ˆZ’²r•hAªWÅ{ÆCX’ê¡1ë"ÿþ%äR#2†Á’TOˆÙ§×’h]ïgõ@KRk†öK4¬vqÈ&AI!eÝË“l¯é¿•ûÔ’0¥$Pº—gaIP2½YÒO@b?NB$€Ó$‰Ö½<«rZ’z½b.oêñCþÖö/ ¢•[¬–Dë^Ÿ‹MKò·çÀòN­}‰µö³ŠYD+K6Z­{}ÊCjIºSÀëËZû9zkíg2¡)+{³Z²îõ©Ý®)‹wô¢Ê<¤jÑÏC·,ˆÖ½=7F-ÉߺýËËúñ!U?~µ$Z÷ö ‹´$ÿãoÝS«Ü?e=óát²–‚й·gÿ “©îrŸ¿B³>ÿkùã %ÑÊDK¢uïOÈ®–¤^qX—›jàª> ¬eA´îýYºÑ’TÅóYX.js‡ÜUuû³†§òüX¿Ï’“ ¤¬ûx¢6´ ý·&Pf¹¨ éZÔÏd£,ˆÖ}Ÿj[CÚz=½­Ë ùú[Ïàñýo°vLœFÈç‘þÊßúÉ( RÖ܉ߟâçkߛߟÛ*CôçN\¤¬×“V\¤ÿÖó-ø÷nþ}I{ŒñùËW½…vPÊkÿ'”RÒ,½ïÏè]KGïû“Òº~­™´RÖë)ë[¤¬|…øÜŸ Óíû|–ô€–fô¯ÐÒkÿ™Þ(´4CÐ÷§÷ÒƒÒÏÛ–Ä¿ž*µeAÊšaãûúŒ²»Úçûúdißç] RÖëé`V¤¬ÜÖÎÏ(»‹þ»åü÷¶cÖsÃÒ iëuü¬ö•ÒVÞѧÊóä„ü{ü¬ß {Ë‚”õzª²•)‹÷øŸý?e²¨ÿzº{•Ñú¿ÿ÷ÿîÂÕendstream endobj 116 0 obj 41916 endobj 114 0 obj << /R7 117 0 R >> endobj 115 0 obj << /R8 118 0 R >> endobj 117 0 obj << /Type /ExtGState /OPM 1 >> endobj 118 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj 111 0 obj << /XObject << /Im3 113 0 R >> /ProcSet [ /PDF ] >> endobj 107 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F27 18 0 R /F20 24 0 R /F35 18 0 R /F36 18 0 R >> /XObject << /Fm3 101 0 R >> /ProcSet [ /PDF /Text ] >> endobj 121 0 obj << /Length 122 0 R /Filter /FlateDecode >> stream xÚÝYÍÛºï9‡þ½ø¨Ec>’¢øÑ¢gó¤Í¢AÖ) ôõ ØÚµÛZHr>þûÎpHYòÒÞlúP>ˆ"©!9ó›™ßÐbÆá'fV³Ü¹™Ž9gf«Ý‹WË?½‘v&sE1[Þù™Ëõ¿²Û÷WVd‹·{»¼ú÷ò¯/~^¾à³¹`…S3¥ÓZÍ8ȳ³¶šÝ½a •Ãˡŋ"!^8úÓ›\çJr&áãyž³û`æâý»W4w"ÈåLYﯤɪö®iwÝÕ\:“õ›Šåz]÷u³§·æ. _I›}Á¯êØ•}[¯ªîåÕ<çyV³Šù¦ÊVÍîáÐWí@òѤəÈUØÄubBúSЄ¿$DÀ%ã„EJgFÆ%þ˜’ /ò0!©'¦\TÔKåJÇrkÀ˜Š)¥ýЗMÕV ù`+Ì¥J¦MœPî×)EIf´¼°G‘{°Ø¢Î>mÀBý†^ë==¯o?Pí]ö,…#a4“…šÍ% $Ý>HZ A£yð»©ÚÒÃ)eÇlažBƒz ú‚®a…AI0p&œþZ*ÒêÖ¬0nÀœ«8oÇ k‘I„J7]µ•ôèVå¶lý ê 6Œ­Å-/þ|5Ú$7 Þè˜ùµVz´\ôè\ƒGã›yv<æ²`"âææÕò9¸QÖeU Èi©í1„!%,Whær} =ß\BOÁLî.{ªš„OθÕS?ÍÅÌ0ÈC$Q,ÏI1Ëô ÂÑü8«9ÕBwøÔ·åêŒ"Àc!IAT›ùWó&€Ï$tª<ºÓïÒ±Õ áûÇô¡™æÅXépUXƵ…Ãk& ˜áêY¸ó~° ñt¼‚¨,†hòe¯±†Ïd/££÷wU ˜æBx»‹:V¤cw^ÇÒp|2«ˆY¼~»¸ù¸¸¬âë˜ÿçªêU…ÉZd:[V= !·À‘u]Þ7ûr‹oŠÂÐWlÙ/¼àwm³›ˆÒÙ¶ºëaHÐ矚|£véÓ5Ÿ¸B÷P¶~©BŒû áUAœ›8‹( _HZ]îí%«+P`œðÚ£,i{г<æu!Ç™F “±/7£ÊÀƒ:Ôí™Ô0SMsD4f…tÒœY®¿—ãÔ!§”äh÷ÕœlKò£up|¼n×7mµþ£ „äÜÁËoðæ#÷»QËcè…Æ j¡Ç£ž%=tA{€.·ˆJãQ í0u„s>vŒWò±xÉÃ.¤ÈÚú~ƒ(ïJ ÈUê2rä·'«Ìeàæ*Brñú fňá–΂*þh¹‘cÔÂÙKÒÅcÔ:õÿ Ú÷ïžZk"_°ÀvÔã±jýð1`æ XµÚ«kKú„?µû††ˆ“˜Q¬†·<«ö¸ XƒÜýDÿ^®Ô°1ú’@Ku˜ƒŒÇþ(’àÏÜå—ý‰•ôŸÎ0ð£Çý¸ù夀{›®—…-Æ úù'6i™^wSw]½¿G½è‰V|}Ûºë©å+) ¶9ôõ>Æâ ÆÀÆéè7“DµÂy—M½Bsohµ¶Û¾~ØÖÉho¡~ÏŸˆnÇR7¦§ÑþÁöm¹ï|¾kº*Ü|h L"Ÿd(@Z²Êsùœk•Óºh–úõ.ÔØ2iÄsËà*CJ™˜U:æÄ‘Ï;•-Á´)ËÂéóÇ–EÉ'–õ;xá`ãMBž™T?^­ ôñlv³Sû'äà5ýß1ã#+ZfLñ؈ÓL¬oìŃ˜“ˆ sÜ Q9ƒÂêrSyÅ+îN€I¦Àÿ ß0]þ~ö£!¡³Þ=l«]ˆØÔåÓ,Îñ·.uÞ5ê†OÂ<ºÅ«ú¯C°ƒdR¸Ž gü H¬ýŸ2“k&ôÛIžx(»®ê$÷\fŸDyDŸJ„À€ ¿` +gdýâLbŸˆßʪ“zö”bñ°)‘Ž „½mU˜]f¿8ÞÔkÏÅà@e7¨n©ÙøÏV«CÛVûUµ¦^ï… kßônríCÇäú×([ðOÏÌQ|Èôž;IdbŸbR…°ÏmÀCSÞÖúk/øº95Žwõ®ög üsã£6×Õ/\¨=_ÁT n@k®€žú£™Gz´þ°~h¢P Tfµ=€&`ÞàMK ª¾–sšÐb<£ñ9_K¾Â×-‹Àah`*Â’LíºKTG::žåÄ Üh=CåŽÕ}G¶"úä¼±®@£ß΄Oî.ÝÌŒQˆ9Áå“@+­ˆý9¯Aëõ /ëf_ÑxpRË#¿sÙ¡;øÝAß«w‹[1=ù¯rz‚½€©ššý u£ƒÚôA…þ΃Fº\P)¨‰. çSýÿ·î… &¯`@*Œ—Ä]o(þãçkzßa¼¶UbU°²¿^£«¼·þï§œ¬(ÌÈOC0ÅŽ®/ûþû$‹ô >ØÅr}[QǪ¡¯ÊzDEJ'Ž4ú>BïãÒ?H÷œæ@öÛº9¡Ãñ k•ûûQ|PO×l¡ÀÜ_'{[SD.‚þ065Y±c9J÷÷Å4‰³Ý6þß¹.UÜPøå3àžÿ|^YãŽx^‡ þfùⱬÄvT.¶ƒ«~ÆzÃi ÐèÍhþP=Œ:‰(†ån[AöZÓÑo‡GgHô‚÷†PwÓáIíÿÊþÅ—]ðendstream endobj 122 0 obj 2155 endobj 120 0 obj << /Type /Page /Contents 121 0 R /Resources 119 0 R /MediaBox [0 0 611.998 791.997] /Parent 123 0 R >> endobj 119 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F20 24 0 R /F31 41 0 R /F23 7 0 R /F35 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 126 0 obj << /Length 127 0 R /Filter /FlateDecode >> stream xÚÕXÛnÛ8}÷Wè‘VŠÄ›ÄG×NdmlÛÅÛ>¨±â•-C’“íßw†¤n¶ë:Åb› ¼ ‡sÎŽèŽI)å„ò” ûÍàÝbpõžFNxJgñ -«ÈüÃ0 ÈènþçÍbøyq;¸^ |Ç <¡¸Ã9÷¤äŽþ"§Hœ‡A`Ïà –ƒ~í>'ÜS^½g²³èrê{6»ŒyçÀr4Tœ,f˿͆ž7ÅzmvwqàØâ8¦rœgû î¦Òb¾Àœ„˜œMs“Cµiõ¸Tz>e†PÙõKdÆBU#P¿lð+‹_üQÔF ýØX=a²l´®P¬¶©S}àë,ÛÅ÷èõëÕM¥»ùjxøä ÿz:…&èòvž… )“7GŠð$×ù6Î5×4LnF5 á‹i¸}£Ú¸×kmפK‰Ð”ÜŽ&¿¦ŒïîfÏSRW#tÝ@„s]›€}–™^ ИIí‡S/Í^äEVÓù_ÓS‘†P}©u¹Mñó #’å˜Sí 3¡ÇÛõ>‹õX’ò[Y%ì+RBEªÒ|‹µUúMjp[S±ed*6´PéÜIj«Û孩⸀ Ïïꄉ³,tÝ”M'? ¢MÙÔgÁ î÷À 5àºà {^0Õ GˆÛ™ÍkúÉ8,qûìv—3qpד,Ù$[Q•fwªGFgE•¬.Ó8 g|ž°×ª›î‡ÒÈfük÷\‹füjU#ŽTsˆ|Ö"{o†ç´z4f«^Y<­žÈ>(^ dnz‘|xÖçpÈYØÊ‡µò1#{æQ‹þofíáI Éc²Úgév}BIñª.>y„Ä„²ýÌàk4ÉÌó ÛüÀ¤lŸ `Ð>AY-º?PÎ ø8ˆó‰í5¾(>¥†äŸ–=›ÎÉ~g~˜ð~8msk‡QØÒÅYKô5]`þÿ•þC%.^ø—Ü‚Ü_Új×z÷€5÷—¶µ íôý=½±ª¿¼¸ê¿.½üg%yAÉÿ]zù}õÿòÿ‹endstream endobj 127 0 obj 1021 endobj 125 0 obj << /Type /Page /Contents 126 0 R /Resources 124 0 R /MediaBox [0 0 611.998 791.997] /Parent 123 0 R >> endobj 124 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F20 24 0 R >> /ProcSet [ /PDF /Text ] >> endobj 130 0 obj << /Length 131 0 R /Filter /FlateDecode >> stream xÚX[oÛ¸~Ïþ ?Ê@­Šu+8H¶›­÷ É¢5Pàœ=Œ-ÇBuñRR“ôן¹Ñ¶b¥è.Ääp8œáÜ>JÍøS³,ñ£<Ÿ¥*÷ó<­ë‹«ÕÅÛë0›)åçq<[m‰sµù¯÷éy¦¼ËŸþ½\Íÿ·úýâ×ÕE0[(?ÎõLkí'‰ž /›Ùb¶½Pr†Ž`)`ìÄ«xB|¨Pèl¡ÃÀ}E~Œ,°vÓvý|¡ƒÜk·üÛï ˜ûù"L¼v¦Þ×y˜yHWgÛ¡/›¢C®Ì3VØ»]k{¡5¦YÒ,»Þšòa‡‚úmkq`ìÆŸ/’,ô.yCÕ6¢FáÛÛvÁ(íkþ¯ÒþÁšz¾ˆÒÌ+;ü%fҷܦô-sØ¡a‚©* ÅÄã îÆGÃ{ O+c ¦4xÊP㼦ÔC3O…Ö¦·åÚ êw¦Qp_hL †°6Ï©Ë5¨ö laì=M·GF€†®Ä‹Á!k ƒ›KŒšÕo¿Þâ<õê–Ù UáãléL¥~¨$Qî‡QH&ó…RpΊm½{Ó•kv½éË®/פ¼bwâBÙ€ãÀ°’ïECŽ{|<~˜±}K°>ÌÙMøÛµuÑ—uAÓ\ÂË> “;ÆEwEÃ#Ó˜êùÝG˜§ ªX#œØÜC÷” 4.¡ŸâÌ}U¸Ó„"šQŸzˆCÍÔ-/D¥øYg‡V0Ï¡•ûÞ P²Ìw¸TS1Ûè2‘×åÛ 'þéöÆv"„‚ê R&Ë5¹î\Ïý`÷dK›BÍš†‘$6ŽaÎsÔDÁei’ƒFÆÀ¦½-)Ô{ž²r$cäÝQ‚ØÊ¥`ÅÊög ´ídû_d5|ž(NÌÜ™ÍøJÍfc‹®ã qšN®_86E_ØšMr)Mëè²g¾!Ñ}L9€“”–D:È{’½M‡áxçžßýÁóI(50‰¼gÚÕódoÍÚÅÀ)ÓÐÛ¡BÇjww \rYï+®ƒÀs`®[GZ·uÝʧYKì¶x7¡cßöxz5—Âù¬†e×0ømÚæ[a[æ.ª¢.8(³ £Ì±5XC•‘¥¦ÿL*/ïG›°œCòóäÏ Ë~7aXßl `Žkˆ†¯%9v`dC׃×Ð*Ô·òTHÈл,Óö¶¨JˆCEDì ø—y{dr-1Sx¸nYkpxÇŠ9¶›4w1Ct§€™0`úÚ‚„¯ ¹•FAìm ÓdDæ]che­x24¼§ìù×4ç—í˜ÀMÛ¶ªøŠ¹ÁÉ%i÷Ž3xI{Òã®B9,’梽Žà [šæa€Î‰&QÞ°?:xÌð/¨À°áòMø"btCM8½N\1¼Ð=×Pô-6/šövXãí¸È[n™»i .XW\3uÈ@G|ºVÞÖ¶5¯ˆt[8ïwÌ"ôp¦qÕA j—²Î²B¹ó[=ÊfÄò¸Ø”æ¡mhÀE`™Z6â…§ÛÖò` ¹n&ÔuÒ±ˆh'{)™Àu\"üèÂ8§–¸Çƃìì ä(9iØño lÂBŒ´ëò¢!é«ó&ÒÙÀ 6µW¶ÄZ/àØ=®= ãƒA((JOPJ2@èZzG›OzûÅÓ|+åýŒ?PnZË0 ±ÿB%‰ŸE [¨üDg³¤¨©'°F¾Šò#«{ Œô8<&ļ4b§¤XŦ˜0ž™ÊDÚXé0¼‡šˆ˜×uƒÐuzàüÛ*«ÀâHÈ¡è+öŽJ òI‘ü;6)bD¢P¾o¯x‘ϯŽß_£Æš‚ûŠÇÞÃªW-ãÌÃÇ“"ÑuT´DPÃ#é0B0ó…dvŽÇmÃp”ÊV¶¼Ï¬_{.­ ˜ ¡0†_[ˆFM,Âþfm±ÎщL€DC”Fû·£½ÉKvíµÍ Ž"5‚‰d Œù¯á°Šì}Ý7‚'»LÕ‰< Pjm:º?@¶ÑD%4bÂ`oz ŸQÊ–=—K÷˜Ô !¦å±-¨„Áè+„ ê à T|z^ü¤j…i-_¢}ÇZÄSÃëð<êzœD¤?±Ü m,’C GÇwTª^ø&7zQqaÃý|3tÎá¼bnI—[Ž€+_g*qÈ39©ãÀJm¦á-Gà’hxzQÉ=y$¹¥NZº*å— ?ËÓþ„Ÿ1ŽA‘Œ¡B'c-føvp ÒèáƒyÉ+yO!ÉØûpÄFWÑÉjÏpƒ! ] ¿$€pÒ\>(M9&=×4E;ÈJz8~ D~š…æÆ'Ú/ô,ÀgrŸTΫ_Èr® œVoÜG†R:ßÉW.’TS3|O¾H¤g`ÖN>©¼“v’Œ¿D‰ˆú·‡^¢#@8¨CSSáLûô‰©^‚ß4t~ä<ô’d¢—,oþpG„©hè¯ŠŽ”ŸæÉÉǵI‘ï——s;¿Mt)c˜ï—¶†Ø/^^¿åo=Ž;K^Ï=¡;´Ôù÷·È¡ËBÍüLîðTÆŸ¤ñçõ›L>ؾoóÝÍrÂÞ8òƒìÜÞ\q¡Áª&Usùüˆ §Pé§P”æŠâ7 pß2úüî¥ÁYJ»®.oßÏ^¾_}˜°Œ6|×£†&It|ê¼g›§²æG·°ð§5œ=¥fÂòc¹éw?èûÛ»Ûÿü¨öiŸêƒ„ɯšÂŠî!÷xlj{¼'ôxGÊñm‡›À‹‰*~y+~·9Tº”^5­®È@§µÀÑ×ê¤ ¾,Ï8è°\ãï(ç3}2zzüÊG *[NîÙõGLÌ»«Û»7ÿ(Æ®±@ÛVÔkÊAhècU/}—þÿm0}´endstream endobj 131 0 obj 2320 endobj 129 0 obj << /Type /Page /Contents 130 0 R /Resources 128 0 R /MediaBox [0 0 611.998 791.997] /Parent 123 0 R >> endobj 128 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F27 18 0 R /F37 106 0 R /F36 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 134 0 obj << /Length 135 0 R /Filter /FlateDecode >> stream xÚ½Yëo7ÿîú7è[wq³|ì뀪Ôqá6q‚ZW ½»k--±Ù‡nwÇùëo†CÚRLÛ*Z¼| ‡3¿yÒæ³~ø¬È˜,ËYÎKV–ùlÕž¼Zž¼<ÅŒsV¦élym)—õ¿£Ë÷qÁ£ÅÏ—?/ãÿ.àTJ–9fß÷ív7é1žç<‰¦¦Áj0ôWñ\d‘îÌÎð¨ë‡FIõ×_oÛVOƒYeÕÕDØõÝe˜!Š)•Ù‹÷ÈE&£m5L# ‘³ÈT´xAóÕˆ¸jïÃå.y´kñ7Š™Gz8<ßVÓ*E´1Ýšvt£[mÏÁ]û"\¦‹ç’—^´[œ¤ìÍ8tSMæ#òÖ¡w³x®¤Œ–G6ô»ÉtŽËâ" l®Rm‡y|45jŽ+cßjqôì2ô.$}9‰ˆ´µ^ÚQ#ø½Ò­>¼}ÁB®eÝe.“™°d§ç—˸”ÑâüÇc½K@TV³ØÚ¬ZÛÅ<ªÍ8UÝÊ‘ Ð–ô?Iš˜¿Ã‡Ýõз´W›jMkd# ‹ºê€nµþhdR¤ ˆƒ ¤2(ó…XOa‘±DH2ØO¿¾9¿x}4öFMvxá—.ŒV{ „Øù¬‡Þ³þy>‹Æ· ù“@Õûç¤.Xá\-xz¾ˆ%~ø«De?6»ãå×Õ —74C+ö]Õ<'8YñÕââô}\¦^ãREËc…W‰\“ܘzÚà4¡I’Ã}]ÓÂl0Ÿ )ˆÙ›ñ¢ãÞª'ý*Óû¶Û:h¾%ütåp!<`wfí³6€9* ðœ3R`^¼»øÍWˆ‡„q©€ …Ð…J¥X"ÓPá™Ëx@y»#õèà>_€Þüë4»*™JÀ < ‚97¬ €ž&‡„+èAJ@*ÄÂ1ÑZcóäM¼Ç ‹É‹PÍqÇäÝv{rtÆ"NÙhÚÊ»ì1Nš±¬È)ÆØü²g‹”j³â`ù„!8ËÑ ŽîI+|ÿîMÀ )g"IXAåì+ ‡†«hAõ¿wAê}‹¼\õÍ®ío„ )0‡êšMÊå£yع…ü©º“†ÉóyõóùÅY,Eôîé”ð~0{I);¬¥Öú„”jïè5ú‹ü1Nt0ÕUãľjz{Ð&ˆ´68ß´F÷8uD>ã9œÔáI1›cèA¸¢y<çèBomìÃñ\FkÝNN˜»fb ¨›XhDAÌÞa…P¹¢ ƒ“ްP›oV»f26Na®»U¿#tô` ,ÞltG#ð¤ÉöR8±GnØž´.}aЀf0$…®cCØÔc(,mp°µ«0¦Sÿu;ØúL¦Õnêä&š©§ïzW •½}¢Îçž¡ð‘Ú³&ž!Ù­¦0ƒHÿ:ÔC@3Fð rÐÝeP^SH¡U ¼¨ß­±² 8²]ÚV[j£š·6oi²¾ï#av½kÕªJ3ÒÄš¼à¾Ö´m"x`ë¡ #hÂh×CÕ¶ÖVì0ôT¶á޾µùœïœÃKçðYÐÞWv]Õ´Œæ°_ gd°ê‡ASÞá$}ª%òPG~6+P½U³!F?Í8´Ö¶yƒ½Måýõda×|’ïÐÆ2+IÌ÷¢0ØV£ãN²ÀÀ³lÌkÚæÖééë¥;u—­zS‡ë{žº+ótŒ/ÊÈnÏE¹¦7›$ÓŸªÕd%¹gQµî ·Fd îx›ÛØ5náíwË^_Ð<ø8xúÌØ×Úõr£ö•¤ÙK“Ÿ(…¤*˜ûTåS9ä*Èux“ÍUøìu/‹œq›úTtf:39-O½Oâ4£¬¸ f>䋹TÆ3Ò„ã+ JÔ%„le\Eéœü¢7”0꾊òÀ¶:ð\›ûG Ò¿I¦¦q5@®ú|§¾r žò!‘‚G5f;áÓ×.#·ÎQ­)@‹2Íì¡ÿ·³ÿáÊGr˜î%‰òÍ.„KÎJU¸øÏžA>+XR–è;ß»`³-‰L€ç3.™*DðÏŽ¬LÄýŸH’@óò8©Š>…-˜å(ˆH¸%Å`@`ÅÒT:n¡–X *@18a¿,ŸR€È’£%(kzh 3/(½b9<¿ÿPIp–Ê"¤€,YÁï¬= ÙQ ܆¡ç‡GA/·+ DÉ„âAä+ŠüyÉÝñ¢?ö1ìűث4{{Qª=ŠG Gª£øÂ^ûì¹ýÊcÏ‹G°ÏÁÑŸÜQ/øCQÿ4òy™?‚<åóqëè’¯‘r¼Nu0Ë –«ôøX/CZ§‰mž G÷U£]?¢5*qt”¥Á*nœ?묎ê«D™×Š7O² “»<)Ò{¹w ìá/Zž?U§S¿e7!ølø‡CµäV>‡öÿ++*¼endstream endobj 135 0 obj 1961 endobj 133 0 obj << /Type /Page /Contents 134 0 R /Resources 132 0 R /MediaBox [0 0 611.998 791.997] /Parent 123 0 R >> endobj 132 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F27 18 0 R /F35 18 0 R /F20 24 0 R >> /ProcSet [ /PDF /Text ] >> endobj 138 0 obj << /Length 139 0 R /Filter /FlateDecode >> stream xÚíXKSãF¾ó+tI•œ 1o¶Š»ªÍ®YÊ6•¤’„=6Kã’dÀùõiiF²Å #X¶ö8xÜÓê¯_óMËØAð)|†N€C? gš¼Ÿé`쇜;“y¥9™ýåŽ/»'£ñ§“Á?“ßN'Èñ°ÏCæ0Æ|!˜ƒÀžt2å̰Å`¶B ëÚ<ææ -Ñ`gÓ«öHàK"*ÍŸǬõÁ»„앚ojì{ÁB®œ2ûÌg¬•–ËóñŸÃáédôñC)@îðÖ”kâž¾ Ëu/¾ŒNÇLÄSæ0"!v?©±|l>ì“¥9btÜC³3Ù¬”±~lÜ]ž€¥Üçñÿ…$ÐäHv¥ßý5NTšÇ:-õ±{b8U1¨@ØÅ„°JõqŠyËÌù:¹R™©šžRþ«2m «¥ "},)mì‡ÓNûm7OîT-”±•6`Ô‚Ñ]0Ò€}ÐËu¡1 $áqá¤s*+ÃÁ^Ðq¥³(›Ô™º‹£¢ÉÔ\[¢+}gÛ2ª½B ÷´h¼óî„•Å©Éi^dñ´0²¥¾¯S¾Š2 l ǨìU¸—a®W«}˜ñÅì™DfEÝY-t-ž$=ß—m¨ßU¼¸.Ú}¹ÔéBå…ŸÚÁDŠª+™ Ø¥è•¶ókÆ)“–ßxÃjßäw¦ïA•1$§±èQïç6–© iã1ïáñ0*¦×qºøºªxÛI›$QE¶1~†M1å²GÂGj ðβÀ¸1V~«àMÇü8ª‘Ž1|ÃÕäÍD0J`Öã@¶XgçÀSÕÎ]T¢Å‡7žî<Óɶw}X ^ÅZà˜Ÿþ‚ˆÕÞW¬o' ‰HÚ iCöºÿpÃ{/ÚۗгL_©4^Û¾Hu–´i¼¼Ï9P×®ïïá>ßûZ·]O‚a0°¯Sõ&pp'µ‘E ¢;ˆ¡,”=úa=ÄÉ:i±6o–ùc!Ù5ÓÑ“æÛ]¨l mÇ£¦ÇïUt»Ü šŽ—öÜÍt§QºåÈA|7£,D§ÞýþÖƵ—ÉŽ CÐèÿv?o¯ì+8Ú÷ñ¬¸¶N•<’Dïl=½›C{¤[Sîù©òÍ2BàÐ*X˜r„Ë‚>w×åößïÈ¿ÚÜÑVK¿ßqE0Á[/»lÕG> endobj 136 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F37 106 0 R >> /ProcSet [ /PDF /Text ] >> endobj 142 0 obj << /Length 143 0 R /Filter /FlateDecode >> stream xÚíXKoÛ8¾çWè²€¼)¤HŠRܬ¤­ÝÀv°(º{PlÚVjI†D9qýEJ¶Sű‹MOë$¾æ›Ç73T°…à[ï’0´8Ý0äÖ$9{?>»¸ö c7dÌϪãéW{tÛ °ÝŽ>ÞŒ;ÿŒ?œõÆgÈr°ËBjQJ]ß§y• kv† %°x¯ÅcÖ"Þ£JèÅ5á;‹N}Øá¡Ë1­vþÞq¦{Ö6Irç*ì­`ÁW–ò>u)õwÝ2úÒï÷ÆÃ›+5Äömw<î jàÙ×ÃÏ}õFì«î`к»ºé©EÚýîpøùüÃÝ §¶ ‡v;NȹÿF^ˆíb£¡/õdkŒ¸§ßÎõÊx³zâRÛq;ê‚BxpȤA¦ŸëhYŠB›²Ê³u<Sm¥£Åݤ³,O"g©¶A?‰½Š¤yªf鯡á3Tö?¿vùåAî¡ -èöŸq"ÒÂøÛp )[Q€ø›ÐÃÖàwìA™Ü‹Ü„e¦UH³ô»È3-X,I:Æ!|Ÿ³àùݵȣ¹Ð²ÒŒ0² æ5`WÙ²LÀ4Šá@zŒ{6”JDq%˜É(F¹¡æT¬ã†‘Ø‚jäè>[›dˆj-}?à;xç¼í;±ÝaÊ¢8Õ>-dO¤ž[fµËWQ“>æÛÀ1?ð Üi˜åjõK0“(6?£y–FËŽxÊË¿D<_È}^.³t. ©á'†!Ø üŠ•Ô'Ø&áOÊ.Y.[„˜ªÊlj΢B?’“EœÎôÞÆe“$Bæ­jxjJ Åè¼695j„©Q¯ýÿ7b¨FºÄ0½YCoì"ø‘N{9< È®‰Øw_¤Ðâó §|{–gÉ– ÐǘÏ*[+‘‹1êýˆÙý¶é\Crú"¤ £Óþë@+sNZ;dЧm¸Óã©\¥”“èéÉ*çáܘ´ç`µæ¦ÂÕkHO‡¼†«¨•«ûjÜmkÂa5œøt5L¶Óc(Ýžâ¤LtDßïèâS·¥ÑðÔ–Ó&¬!  ¯7Éç©ým³ŒSƒ]ÈÌÐsÒ¤Çâ“v!úm·UªÚ ýÉ0£Ðs5°\î«Hî3æ×J@Kõmÿ¨B¼¡„’#4×Be&U+©n íÑXgq]!Lç©cS˜æÐïñVhö#tµ‹ã3݈'+èQ*[ñ¢\l+p6›B:5<Ęý®*K/f&p„¨ìÕ%ÚŒ=3&f¬:Q€ îå»h2)“š†¾¬#Ò~m ¸Yè ˆÝFïÍÅ*…¨M«lÁŒ’×Ô®1sCCl¸¹ÖNöB·¾DâÖ¼#p›«¬@/È|£JÌÚ}´Ëìi¦ý¢.§RÇ~5½EOÜ/³É7½®YåD–•§P€È¯0çÙ'¼çÁU•Zá.Ñx×ñ¼Òˆ@i£;J˜=Š’ÕÒÌe¥\•R½3Ó©Õ¬ú|îxÒ£ªµª—Ú9jóc¬R™@0›O:5]}Ò™ÿIü ›¹ñãendstream endobj 143 0 obj 1169 endobj 141 0 obj << /Type /Page /Contents 142 0 R /Resources 140 0 R /MediaBox [0 0 611.998 791.997] /Parent 123 0 R >> endobj 140 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F37 106 0 R >> /ProcSet [ /PDF /Text ] >> endobj 148 0 obj << /Length 149 0 R /Filter /FlateDecode >> stream xÚ•ÙŽÜ6r±ãŸèG5â¦Å[š`µã9vMŸ`c³–@÷~ÓÏ]S Ÿé@Ýw›Î|û=}§Ç–ûþpè‘ÕÇ—­ ˜RÆ ëº‡íN dÃñ`Ï|¥0·œ‰RÀ™’Yî<ól Vð//¬þs»Ó*›£©wB€ax¹ÙÅJ!6\²‚Û”ÅϤV³’‹³_ó„á鞎$½p ·ÌXHä$æ7)m8³†V¿å\7MR_sZʤX p¼9³Ò &;!KÁ—•–¢ãÎûEñlÛV§ÁûçƒkÚ‘ S$ÚÏ]MÎMH`rˆfD¨¾ÝÙ}øÖá{{{ëW&{LH¨%32pxž¸2Nš§ö œ¿ ´Œ£§Iª®IpàY’g)ëçLåQ3ŒRÑ~„¼B‹MÉ)áÓV5Bi‡¹Rø\¡¸‡ÌQƒæ"ü}I-³qöUÝ2Pä$ 6´ã|˜(I`{¬¦Á}¢(Â\Gß%=»S5ŒfV5=‡É3Jç~Ýýá3áOƒ#m0ñÇëD­(MÑ d \üÍóÑ‚‹^¼" ]É6%Īá7 µ)HSzÎàÎ*ØÏ¢ý<º£/q‡Å8ßý ÆûnM¬Þ¡màê&b{"7x…ÃÁ©'îƒE’J\;!î#þkÛ H•°Êþ¨ñ&%²~‚4îlºY+ù´ "VK¢ë¡ÜfúJé¬Y¡˜±'/”ëû‘hÿž„ôE ôÖ0N‚‡&14˜þè5X¸[È+¸û™<‡ô¥¶¹p./©ñ@„*(û¯d7/Â;º_ïBt92D”¾!´M¢}H×Þk@S n¤hÔ~è¾4ÏÚt2*+³öpp§ b"ÛžêDmVîkßÏ‘£DkéœÃ?N[€R®â,UÐØXÑçt)1j]Je×SxùME×}ðÁVOÞ‰Òëw}_©˜]ÚBà¹ÍR²MÜÓ„2±€Öý1x k)ãGŒ4©¿P&K]Ú?]ßRõݰ2÷WC›¸f˜Š„¹Ï´jB®U“Œ/†ý{ºÙâê¯ØJÂLAô«°„YuȆ*ܽÏå‹úg}KeÄYjŒ7‰q*ò¼¿Á”†sŸð@‰¸PÙ×¹ 9X•}€lî¶à~L«³G9®åÍqtaàÏoáµÄE#À¥6J{œ»(ÉÖe:Æ"ÕßþwPÉæ‘ŧîe!ƒXêë1á'n@H0ÇN¨"4ýmHù«dbŽnS‚‘H,ÀÎ<LÁ‘äç”09´àèã”0Úñ•t6à@y–J…"=ë0sÊ¶RþIäW$|!ÿ쀸OU&­˜+erá5¢‡…䌜¼v~V¾\‰BeM¬\—Ù ãKÊ¿NÝ+™Z†ºð †¯Ýàh~:´®žrõÜÀF$òì%‘Ö= À~÷ö×eæð“ :ûÌfÕúïà–Ç'¶ëX“¢”Ò·ƒhÆs0Ùû„À}çGU--Íy 5U4ûèhô’æLùµŽèÆ~ê6ù(˜Å×R…³|IÆÚ;Xß/6´CJ•½\9îE{´LuÝižž‡G‚(á‰Ê/ãpöÍÀ¥¬AhqêÀÕaìe†¼¡ùŽš~õÀ>LàÛÑHmí9spå¶FïÓéà¼mmq΋µH'zü¼ÛÂ"Üàõ‰ÙstÇS|CLí8-=;H˜=‘üÂw~Gõ4¼´>UÈb¤×¾Çv|$Xœ:uœ…5¾ÛxMŨ oªü"öéìª[Â9 S ijëîºóqZ¾ùüˇ¿LØðˆš àT¹«’¥A˜Ò3Èz ᔇPDà4ï©ñàÎØËíïŒçÑ>´òÖñD+å›@E©u†TªU04­|B?­Pˆ(èã/R:¿ªT„æßâ{7ˆˆ€±ÅOkÒPãw¥!òôªèãKÁÂDû$òž¨‹¸T¡ƒ†~`òŒ¿hX„}|6•ô¡@ƒÅµ†å,þ$uþ½)‡Öo!T´,‡^o6ïñ§)®Jã©ÖkÀ¾_À‹7GµyÝßür³ùeÁ ]0¡4Qüu†zaø?ÁfFÅendstream endobj 149 0 obj 1966 endobj 147 0 obj << /Type /Page /Contents 148 0 R /Resources 146 0 R /MediaBox [0 0 611.998 791.997] /Parent 150 0 R >> endobj 144 0 obj << /Type /XObject /Subtype /Form /BBox [-1 -1 450.998 450.998] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 151 0 R /Length 152 0 R /Filter /FlateDecode >> stream xÚ+ä2T0B™œË¥ï™k¢à’ÏÈJ\‰endstream endobj 152 0 obj 29 endobj 153 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [1 0 0 1 0 0] /BBox [0 0 450 450] /Resources << /ProcSet [ /PDF /Text ] /ExtGState 154 0 R /Font 155 0 R >> /Length 156 0 R /Filter /FlateDecode >> stream xÚ½ËÎíº²œÙ_O1›vg–¨»ºnÛµßÀ@¹ªàÝ0Üðë—˜IIŒŒHiàà`cr}J¦øk0ƒ·äÿü3ü-†úíÿÛ¿ÿù?þëöç¿ÿ¯†?ÿùüÿÿþÏÿü§ð§ýÏû÷Ÿÿó_'´ÿÿNë8þù×ÿý?[þŒãòwÝÆ?eþ[¶éÏ¿þýÏøóÿõÿýóŸþõÏùgû;þùß'úÿž‡?ÇüwÞçùÏ¿í_Ó0ý÷òçüóÿüó…ÿ>íÃßíØþÌ¥¤Ì²L—c¿Kœ™ç±‡æq[ Æuø;ìcBÔ.ÓôwÝÁÆ<—Ê\ÄtlËélBÔZæqÞÿî¯Dûçó¾p½ïs·Ûpl§»’±Ãòü÷i.cý;^Fæå|‘³àžzˆY¿ë]0Ãü÷üdÎ;÷£®²ۙƧõ¦ål½/³”ÑìÀ{Ef;ÿceºöcfû®«Ù±øÃx÷uòy¯¨uÜ£×ÌVßtV;äÔ6l]Á‡­r¬Ýß$ñ Ú`Û¾k‹Ìb-€~fíï?kn§þœßkjVÊ>~zƒo~”õ£¦@Ca#³MÆœ½Æ2ÇÂí§í”³“Û?ü7Ÿ‡mþ;ÕFÔ<,þõ~3U¦£Ú:¿‘7[ã¼ýPc³Uæõ¿ ¬þª/0S!¿aÿü&Ð_U ÓtxWà?óÚëÍô{fFõÂLÕ±þÍúo„¨iŸìoV޾W«±ä.LûÙHÉ(ÿ!×·ºW¢sKûKli²OfÚ W‡îsNúÚÈÈ8”òœëÛÝÍþ{¶ŽjiŸû¾,ÍÖ¿Í¥¤ÛìNÔúÒßFJF¦”ïDížôžý*ö×9•ROˆªÝõ¼ô_û¾ÛzvÑ“õ¾Dɘ”òk\¬‡:ão”ÅyÞ곎{>º_à:jž¦Ñ}p d|‰ŒòZÕ²²X;.[§s¤•uØÂ¡#²˜ñꉲµLÓꟺwìÿnâÄÈ~ž©:rÂɿĥ]]{T÷Į́Å¿1->Í8bKG÷ÃK)wœÃ«>öx·Þ:*Ý73£bSÊw¢Zǽ Û²§–¾0Ç ¿™ÖͱÛöÖ3%£SÊw®Ñ»ýeèûfaë´´ŒÃk}^°¬ÐõÁii­ úe$TÔ „ò8Ö³Ù_z’ÌÎÑ·b´3X®SïÏ1[g·CûvUo,(Š7ÌH¿#5ãüéS³´žýŧÉÊVú—áXï³^902ÒD†¼ŽÄèÞ6ì93”µ¾Â¶¼y³ï•Ù‡®/ñ.}›[#zøHd‘æ!¤¿‘ñqÐ>m¹/“÷Èû±äuÙ?˜¦½6Í÷³‘QQ$2pA_b\wŠWÇ€ EöúD©ÈGŒ|/ªo²¯{aa«öÔýìaâÓ|ôj|Þì£k?^Ýã##SÊoQŸÿ¾¦åµFÿްŸ~ÜO·É±ö#×=>12¦1¥|×õ¡âbK³[÷•RKí –>Æ´ÁS+Ìú~¢dDcŠ=Ïê[Ÿ’¥Áþ~ë¾¾ù¾.ÞN+Ä­¡+Ìú¦T|#Jz϶VstÛ‡W[®p¾¨Õôšg°²ÏmŸ.•®bQ2Æ1%½çûíì;Ì’-ïîûþbëK÷ ^smÇÔ¾f?ˆ’)á=S-ÞûþBµÑì4 S‡©Æ3æO¬çØêÃYèrYô#Jz•غ R[Õé?Sé×Au¶ä4s˜ãìŽÉ‘þÆUÄwMÓxôßù؆åÇÞ¾'‹Ê-Œ½2o™icyˆ[D•*¹0&‡Gšk­¢-3¬6ˆQoFv\Ù਀-ùWÔ-)µ¹ž‡èwvÄVÁ<^ŠCE[¢„š`FùÎõU=ºì ‚ÈR]"Š‹©™f7lzøŒd­ÿ•‘60RGD†}ŽÄa¯Û‘{cmˆ]Õ³  V|`ïT]‰êé3[ra‚…mùDÆ0¦ê¼Î96…Ùô½&2®F*‡ÀH¯£×Eߢ…}ùŽX—…Äc„ÙêѾÖc³ÇXQR1%=g[»÷Ú¥ÿ ؖϯ{y­q­–PNs-Z¯µI#£´Bd¤×±®ú ‘oõìØ—tö$%÷Ç[û }]ÇjŒ¾‘ÄY¦X#£ýfK6>ßÈÖ>ŽVs›L™~>»Ê^Qµš|°–Ån¢„’ FùžÖ7Ã2 Êf­Î®¾_¡e¿ldZ ©œåê}…:‰„ô;2»¦õˆ+Æ=sF‚s´ðb…wMeîÉÒª\öâãò¾7 «›H´Å˜©ŒLñÂYÚqðyáãúδ"!Jj²HÉ7c[ÆÙ’½¨f\ì7YqQ×dáþ¦Hˆ’Š‹)á91»©’u„–Š”ý}Q—°¥b‘ÇÆíuÖíj¡M˜a½EŒô[[ÚÆñ­¶&ÕQ0µ¬šRÜ¶ë –ê„)V_Ä(ÏÉÎÐbøðF#.W(Û›Oí…÷¹Ÿÿ˜g{éþ3•B”P_Ì(ß™òÉ8ŒãDY[Ãøf©-+̘ÖíM£%uQÒw¶5[¤`çQ¾!f¦ñµF=—ü:ª¤xv‘)µ¡Á¡½VlSÞùóz±ãc¢³k\s}ôpö7 ­ñ£áGõ •B”ÔaDIÏÙ–I×óO3ÒzaGù/æ²Îo5úò'*iÛLèÎw«t SJ‰1%½g[6–8?øWj­ y'£_¦fû ­Ðïíû)?Öe‡}¨±"#}Švláîüs¯¹­îõD„·Ñ3V>)8íëviL¥Ãˆ’º0RÒoaËVþo²ÕÆ7Ì8žc‹ºI{Èw‡ "(È@Hocÿ|«gÚkÈ< ú~‰˜ÚÄÒÎÛnöHd¾t›Ù½°röuû=ñV‘Ï £ž ëÙ@œ_E\Ë’Ì÷•ÁÊî*¡>™‘ú›(õV–kTP²D 6D «]Lù^0X ?Ç­¶¸Ð–›´þdFék¦¤ïDÕE%KŒý¡pEŒßé°Îý_¸9Ú&Ö2Ê”Ò×D)ωñÕ¶XžRþ§ÂU,¦Ú𨋠¤í˜ïQ†Ð L)M”ôžmÕ±êT¶ä߬)jgÍ;Îöqeíõ:jPf”Æ&JyNÌJ*•ûP£ ÆçÉvÛëYMÑê“)¥°‰Rž“¥bò¨ŒËåßAЩL=G°TÿTgù­š•ŒRÖ‘^G¦ÍÁ^»Àøïü*H›ß3w¾3cš¼óδ'QR_¥='[ÅEô®DùÔÁ5i–RÖà˜­c<³WZyFjëÀH¿#cã¹sˆøâOûüèSWð¦ú¸6’ÛÆk®QhSb¤ž&JzMÔ2Û_wŸ ŽÊ×ݦ ÆìLÕOuŸú³e¾HrŽ_îÙb¡ö˜R VPB¥3¥ß0Rþ=Í÷ÂFªÎaR}}{Cÿœƒ%_Pb¥ j”)éUf U+QÞ“Emk[-ÍYh‡U$X•"qvñc›}UˆL LŒð˜ßP‚J3R§ß¾{îÕV{;ô»™Ó‡Ì(õË”ôœ)ׇ 5#u½ß»-¿à{Û ër0Ó‡DIÌ”ô¨…æV#s½ß»%¿àùòHÁLFFißÀ(Ÿ#aꇹ d®·z³ãïüõXZ2£ô.QÚk¢6Þ…DÔõvï¶üý‚ï»I„aîµ*¡ ™Rª—(í;QûWl#s½ß»%{¿ëŸãÓam)4Ó†D ÍKŒò›ìø”ªÌHµ·û°åokºíçÓ­°J]ȔҾDIß™ªkéu¶#÷êz¿wKþ~ÁsëBNåq{®Ô!SJ÷¥<'Ʀ#N¡8¿Ôw½ß»-¿ç1–&7Ø-ô!S¬‰Ñžå3û óBºÞïÝ–¿ß»a|®c:–+þÝÇ «_b´ßDY_6—gij,틉øàÕ°  J‹™¨#‰>G—ßßêÙý”Ä«}lûô;åt}¨¤A_)*êGÁ(¿‰j_ÛG}ûhó¡_¶†á>p1¾rõ#*,EEýÈŒöœ¨í»¶Í³0ÇÚ·'Q[é .ÊáIA‚ÂRTTÌ(ω±,_µmu㥭íè3Q´ÏúÔ DÔWŠŠú‘í9QÓúYÛ6îa¢`lÿ÷UpQ>ÙFêÔ•¢¢zdFùMŒï^ù¨m=ÆOK«Ï / ¼%…êU¡PW‚"íÈŒööüw&.­Ã˜RZ“(Ì_¶,ŠAN¯ÖyöºO©'¦”:dJzE”¿zA¢š¢œ]‚òtgk\ý(ñmJ)(f”>dJùNTS+56eðakig¾ˆ>–£iÑ5Td”BŒŒô™æÏk]Þ§œvú‘|dJógïûw?öÕd^¦ž˜Rê(é9Sîä*ajöüŠö½^xŸÁÖʈ)¥ý˜R~5[Ö<‹QxfŒ©ÉÓSÀ™uïæÛq%­Œ"¡t_`´×È´^ú¼ÎÄ´\-ãÛa¯+Êøv€q\oH1£QÒo¢F_hœú3‚ZëÌô~¼yU|Ã@Yûu“Óu‚Vë¡È(½éu`Êæ:n_rŠŸÖûÌ ‘l^¢b)v|éÚK&õP`¤Æ Œô80Ãb{”×ýÅŸÁOÒÍ›9ÿXæÏ s%ƒMlMÛ~Íþ ]DŒPzÄH¯#UŽ:¼ÃÊ1»ÏS.0”dÖþ´BÙýÌÞq¬—WBc1¥”QÂwfÜ«úÊæãGØ ËÔjwÖ2µ,6? »tϯ¬ßfš¨H¢´÷DÍvª{ûß SÓÆ;]O2t©`3%F”КlÉ3ò}XjqmµÂ&ô2õĔ҇L)¿ˆZjêŸǣĸP–†–ýô~C¥˜RÊ)áUdf?QòU_á–"K‹hõÙã´Dw©:Š”T€lKùΔT4‘šÚ¹¨m|õ¾fÃVgKí¤Ù‚*3íi=”ÒYL)߉=oü‡­±üêÏÐ ªíÊÅxêÛÛ+iMBŒÔ\lIùNT±-ÖÓ0B'ªíª…ï¨Ávh@}ƒ¥cœ†'î(m”R]L)߉ja´¬û+å»bðÛŠ”ÇCh÷rø îxÝ)!uŠ H FxNTÙßòÙ÷ï‚²Ü ý=Ìl:°ÕÏB?ÜõÉR«0¥”˜°¥|'jµÝ´ ¿PcŸ5Ÿ©¥ç‚–_ë°«XÊ´J`¤ Œô;0‹ŸÎÛú}MÌØÜ4~Q™êÞjlíyª›9‡6RÓÚ*0Ò›ÀL¾÷€_Ad>™bI  ýFûAÏÃØÆÌZw%õ QÒo¢Š«ÆßP´÷çj‰:æñï)°c“¶%âC62%‹Ô~ª¸Z%Ýw‡˜¾:ÏK'¥ø Œ—B‰&ƒp¢32®fÒa³¨Ì(Ñ•QèQ“¥²z·Ôd $/8ã¼ïW½'&¥ˆ J %A‘WÄ´è““™W8QÍ”§g€ä-:_3¤©ˆˆ”–IdKyOÔ°ˆ)J¶§ÌR[s¼ö Lb* A I$"„Ï)»¯LÀäed޶µ¤O“JvlÓAä¡l>:m³§Z8#dÛQ>µ ®¸ú©KAµä¦ÇüF­>,„´6Ûìi&#eQd”ßia¦.‰ñüg-‚fæ–-¡OhPfŸ‰»'.µh`JÉ¡ÌzNÔ袦/™šü ¤Ò¶Z¢Ð>±+†{ S‹ŒÈ°, „ô:0ƒop…)Lbl#¦ð Ì1v1§ÁQ÷h,ÛmGH‹€°rŠ6„¿ˆlgÜ.ÇqšéÀÈìuáÒu­‹Ë‹iÛšžÖ‚ƒ9­…˜Ó~1§/ö͹iß_ßcÝ'¯R-¼Ø[â¥ÃÝü$](Œÿ]ûÄ609Â5¡p_|§uQZ7EJÆy¦,qTÿE0Sv¿c±?ˆuFÓ­ËŽšÇÜ@%º"Rì1½!-©`W|оs´Í¦q5PR-H|âÚök÷dià+„­¶Ÿ¡_‚:Ǻýu[#¥”1Êw¢Vψ éÂ+_’¯ÙJ†[>bå[–ÑoYÊ[Œ%Jª¦”÷DÍžs¶€ ¿(½lj ¿¬Ñríd|c‰’:‚)å;QeމG™iøËaK®¢!ÅlÀ^ù™²hK”TD ß#³¯-<`“Fì8a5ÀcÚ}¶f÷ô»+6[÷/í¯¬ƒ2œñ¿k­lÈ·Bæ °nš:ø{þ j@öC }çF} ®7£ýA†ƒ'ÿ÷°W×úâvZ "#]´#:æÀ´iØW;mÎuœúSfe/ÿ¯Ð«;I¢d JyÅÔºÇ[.…WPàÖà6ew5LÒùEFwïD±OÄÌž³Û€-ÍñŽ=aÉg{[úœñšÕ]_¤tçN”ò¨ÖÂ>D¦¦v/ò>¿ÕXÇÈ5ü·¼—Y·‡Œì×5>#r 0¿z03ˆ-Ÿˆìg¿i³Ží5ÚìZÖ±1Ç:3Úuæ¦3:×/°¼øË‹=T‡µ ¼ïiãÿ{Þyww½I¿E=¶­µŒã•V[wDÉ‘(ñ&fñÅõq™¨o%‘ù^`Söª,SX>éù³ Œìx#ß-0£Ïʾ2­®_|.ýbl“i¥~›Lq‡ÃŒô;RÇ9ž­øÌ+üÍõ¡ß µ•öÑߘþY2§» æô0wÿD?¸»Þ_ßc€éìúîš„~Îðß_ºž¿;_¾ …4TY&T4¥Ïõ3Ì¥ûÞì\úq`Ù1® ñšz*ÃtO>‹.…(õnL™2`Ò‰˜¦èèÙ+Sšå€Éü¦†k?ˆî6ˆÝ!3ì9׿º=gK¦!˱ŒoTU£ç£v*Çus‡ê3ˆ‘"QÒs®ÏÔQ9úüw–iȲ÷Ó§L¹-{cç‡ÔþĺŸ@Fv‰Q^#r £²ÃŒ¶4³õ‘K„–mì¼¹ôPÙ—û^aÕ™0§;@æ´ûy½çiy㪖,ëñ“oe…Ùó ,Û³;DüïÚd®Îùó[=eQ³Ëwwá3´Ãºñö¸‡‘Ý*Qm6;V¢ÚÌø°¼{åsÞà f—‡û(±ìʉoÈ–æùþ ¦vÿ¹ÀÆs¢|ö¼…ç{Ë1ϰñ-¦È+btP`Êæ{C·©ëÃî‰,ù;vOm¶÷üì0Ûºr¢d¨"JúÎ5ÎÞmû[unüú}¤^YX/LtùloÙ®¡›î̉ÁŠéyVßÖÚ¶lf¼¬ëüFù,{Y@¶¸³Î ù±_gJ…+¦¤÷\cýþ°?cK63^–@¤|–½Ì+ÏTŸÍ±eÝ9!:r¦<§ÚÚŒî‡Smb¼ÌÛ±6*v@?«[¦+á¿Èè`…Œö;©ëÅŸkÖ»Œ½ž uÕ¿Hé»êào›}/Êsý§Õëúzøßµ¯È\³Ý–íèÔ·Y=–¼l/°-n¸–®mjd8ŠŒ šiù@cã󯜬ŒLmËãXxÓÜ0„s…!±%è‰òmnWÜÈë;œ*´u|/œ1kJb¿Ï+i!(åQêcÛÝθ1¼YòMg@`E¯lJ¨¬[Ü:wuÀ™´@Fúíˆ  Me÷”±í€AÄGÂä3(¾Õ­,Ûð&'ˆ’%Ã;×8xð;ö·ëÆÀ2pN¼ª-9÷ÙglÃ[™§éMJFúÖc]ÖWž÷9·ãÏø÷õwŒo,,ã:Ðf¸2^§§u&J ¢¤ç\£ÿr Lö³-ÛX œüÌjàœD)åºÉIäI¡éx´ã‰aœR‡lG`Ê‹ßWxX·2v;ã,3ñ>I ÿ]:‚È5m°ÛbŸ®Æ³$c·<ˆõØfAË¢q#צ5Kîqê†Li0§•sÚ÷¼^;z+˜œ3òÂ]›W[[ÎßãÞ”öª–Z¬›¥²Âÿ®}gvïQgíôí£‡ÚYXÔLDIõŶ|‡ó‡-;9tœ™¿dYªä"%}g[ó~ÝSKvn8èB¦&¡ÓüÌì%Ì25G”СÌÏ©6;/´[j¯ê‘)¬hËÅù%Ë´eFyE”Ô…LÙIزõ»˜òÓÅg‡4ÐYßޯ݇à Ó˜²ÓŨÓÚôÜU˜éU¢¤÷lKéG¦l¶õ˜¨ÑŸ”qP·]²y¹vHÅÊ”ô‹(Ö’¢>—Ì3ä”%ÊÏ£n^­CÕm}¶?/{‰¹D½2%½Š”Ð’¢>›ò<ÓðZŸ¿ è7AÙIåSÁítF÷’uZ½FFzÅ–¤ªäúìÄì© .îk4E³ó¹ážñ¿ ª·6< t,QÒ+¢¤ªÌj†W[~¾89öËÖsíJ‚'†W¥~©»LÅFú!,©¦jÅRb§Þø¹b}‘ñ%›ì™ûí—LDld¤?a J5Ù¹Z‹€©ŸªGÝv—ݧ&Û¤šeJÖ)-Ù˜ŸªµPs*êŒjŒm†0·å‡•ƒ-ŸTuá=¿iSÄ´c‘ºÎñ^%™1?aŒÔ•Þ°ŽžnpÉÒßå%1-5㇥]¬_) Ÿi9)™RÒ˜(ý†DÙO0L¦|«N2e¹‹pù»%%ì¦æ¤|$JÊc¢¤÷l ¤R[תØN){jdKu€¼ßgg¥xŒŒÇÑ^;‡˜PŒvŽæO¿_7D;>nê¦ç¤à%JúÄ”·LÏ1ÕÚ–”åßÊ:-”*±,÷åpRˆ%ý"JÊâ¬F˜¦5z¸]¶á•²te´‚6zšÇõM†Fûì(IŠL”R±c<}ã5O˜0¶µJKøL½)ñMŒô‡()†¹>‹ 8ûÆ”§p,£H©ØSu½z„$žuûÄ3'¥wd¤GaL5ùÎ(˜¨‹Œ§n,®hŠŒ·õ—­Ôä„vÙ—‰ )¸##ýAFJ_ªËRZ„½åCd|ÌzXvñ1a< ¤]ãðLrùxfÑ*d6QÚ'¶%0Su0¸ÚÎÙ1­¯þ‰ìæƒÜŽ¥‚´¾òÑužn°›å“ê()q‰’Ò(~;fZ"˜~$ª¥y´Þy}-ed°åé ?T$SR%½TKát«Ý†ÒDãsµ jºÈ(¥˜výÍ«»þ&XñN>t!QR!3%ß(Ù£ÆdÊ÷³ùµ¯¬WÝÙkM8Ó…L)íK”öž¨º-b‡œ0ÌÔ•S\¸f¦-ÿ‚¥æè~§#”ú(¡{‰~³[J†Œ>lÇû|Ø«)¨ÙÕ(Úš}‹UH§$SJÿ¥|'f´mSã›ölxS6ílù€gy.QÚ—(åUd¤åú¼¥p,Qö%´¦>Yß,µð<ß#¥{‰’^±-¥GÙ–E­S“îo¶üªœ³`§ëmzª~1õXi¼F¦Œw2F¡€‰Ñ>EJ*R®ÏÇg#$Ô$Ê÷WAJÕï -µ¡m¹÷ï LŒô‰(©MÙ–ÿ•\êŠTû .÷Eª^¹S±øvXO8§j˜(íÙR*•(ÿ;[¼|ÔQþ1^)µœŠ×2šOý506ydËîZFzí°BVΡ¡õש/uÚb[¡u"aŸèºô‹õvÌb?ÊIëàHO¢ ¡5#S·ÆÙ€0%¼w[æýÅÛv›ÚñõÂ^= UË”ðˆ-)J”_“(»-»S3©¾H°ÆŒ„_+ün¥N V¦°áQ*B¢¤.fJ¼1£«ÆE\/ÞQæùp¼ZÚ}o#Zjæßô 3Jï¥=gÊg0Aí1Uç$>¼jï,ßsù® ™RŠ—(í;QÃÕ3õý>|jï,™ñ/n Š02JïFù‰¶± —‚÷L}« òŠás©`Åb×îx­™Q*—(é5Ûòï{Á«VÉV};ØÂ¯˜v:` ‹µ/É—i@¦”Î%JûNTý•£ž$ÆÞïçö~Á’ÿx¦aîÇ;Œòˆì(-É–|á8Îo”½Ý4Ìoõµ· –üçS®Œ™J»£}"KJK²­º¥µ$1övEÌ€co,Yr¬Ë5—)”+1Ê#²£T$[²©‡ #‰ªowý3gêÛEK¶Æk?7[}Vª•íYbEIŒÿ‚­%mET}»ëŸ)cç+ƒ%_+¶U­æ“Ò°DI¯ˆ’ “mùů#´Qõ ¯¦Œ_Ö,ÙRt¯•¦%J{E¶”%ʾ=`¦¡¬Šlÿì{:“l,#c›u<º«ÜQó)†U/QÒcbÚ—^Í jù¡¶Õ2èÏáT|ŠaEKTâ9SÖCƒ–TË ðakßÉw_œ{S|ŠaEKTâ9QKÔ|‚i”Þ-•Á„wðÝÌ¿(?&XÍFú‰ƒôcdJÛÆÚ_·FÌä{ ÐãÕ¥Ô‹âSÌ&< Tâ7Qþµ–cÊ"ú}Ä6¥VöÝÏæ¾)>Ű¢%*ñœ¨ú;ÍÇLY©¯ø¶çyo²-Ò¿h>Ű¢%Jz™â‡Aó ªn€œöéÅïiôÍSUÇõY—ûªL¥V‰Ò^ [Q? Ku1T3VͧO£ï7 õÙO’]¬1PÒ+¶õ£°cÇÇPõ15¶9[ˆLÙ|óag:[¶?t+V¢¿ØVÔÂ’ý²P÷1u~…ömìTŸ`&/èµý©Éª€#Eë TâÙ"),íí¦&h©HMóðÇNåžOçý)͇±uÐ…B¯¥}b[¬1ÉÒtÝAÐÿeˆš…¦µÎ‹´&j6E EÂ{<œNÌ3Â4)ÑkC¥¯˜R ’(éSùáH¹¢ö_l­1{Pû¹öÚPi,¦XA£='ªÆ}8N.ßöe©Fª£ßcu=ØÎ…gZ‹)¥ ™žÓŽ;½××â燭±üêS Ÿš¶ß®K ´Ú”ГL)ñ³¾‡àh½ |Ýsës©Nc;ß}Ý·¡— HO£<'fÝïì)3ùa8\/¨º>¼öw1\/<ß¹²…ÚbFiI¢”ß‘±£ÙŸõM~,Ø ê°oxîSKû+OW¶p­¶"£´d`¤ß‘q¯Ç>óXd<úàA}b|©Ü$Äô3OWjA­‰Ò>‘-¥Ùˆš}ÿ6êTÛoПÓgjñ½5¥¿<{:/Ž}¸NNKéS`„^‹Vl&qGfñ (CŸá,2kñý~¶ÉV'þØlžk_© ‰’>±-ÖjÄØÏè·x¡làz1µÕãîe†úì‡M†ÚªºÒ†ÄhŸÈ’RtDy«Q–+옔­áî[¦ìpIØÉ;­a^T+M¢¤÷Díž=p~ B.ÁŽG#)Ý¡Ka;WÆa^˜ãÉõ jü„™ÎbŠU$3Ê#¢,þ[ß71c1³0 ª%Ÿšú¨Ñ:å㺬Yë,¢„ŽdKÂsbv_}ß·WK›ç;„žŒ¨¦0 ­ÁU¸ßÉÚ¥ÊbJéH¦”÷DY°„< §à³­a×í4ù&¿– SYDI ɶ„ß‘™=Óœ£T‰{Šã¹p¦xöäëu!ƒÖYL±Š$FzÎTÛqÚŸ¢Ô>‡ýÌ4ý€JÚ£Õu¸*S[DIɶ”ïD-¾'zîo”ÑDZQö¶QQ/Ç“›)S[‘Qz20ÚodÖ¶×`[rVKc°¼›o¥Ÿúûö¦Õw WN]­¶˜R*’(é7Q®®£X)Õ6Dô¦˜Ú}ÔØ_‡4m¾Sd¸{X©¸˜Rš’(é=QÖßyŸRj³òR1uøþ…özÊÚX¥!=ŠV”r Œ…©°–›gÂäU³müc›À[mB2¥ê#j6 ñÇö'¿Q6yl¥^¨Ñb¶æ\NQ0—ýnM¡K£}Šv„ÚŒvÆmý ê?¿mØ™{„cÄ£h3Qm â „VÅ.IÎF½U‘T}‘Rš–,­ÕôIštþÓØ‰^»‘F”Ô¡D Ÿ"ããRÜÇ+¨aŽ3ßÌÔK¸P‰7…Ò„~¢Ñˆ‘”(å7Q¦šPc³¥úMã8ƒí¸¦8h ìû+´@õ©l ¿‘ðت:2û±ӄdzZ­ÛÏT3Ju2¥ü&ji©HÇW¯N9Û‘˜Õ÷BªÖS\í]š-­È"£4'Ù^¦ÉÈp@Œ'BÂqU`š’ºš¸³(EÆŒRšL)¿‰òø‰Yµ¶ñBy«ÑÕA¨±vâÏ90­È"£4gd”ß9<Í*œ‹ÌÞvƒÀ8!Úñ½.pòn:|Êø\ï¬tSJk%=Ô<øJΖ3U÷ÀI?fŠç¹€ý Wá½ËA+ŸHiÝÆ”У¢Fñ†L>.†ùp¦Êº‡½3©%¤æqèfíŸABè¤H(uõVÂܹí¿LWo*â „¶‰6,SJÐQ‘ñ¨^Ä:Â%d’ˆMŒP#Ì("e}Ü } ïO–ÊÁõùC·z®£7QR‘¥|'ÊB@œg~ù2?ôLÂÖëkáñ˜îK%Eü&FꢔçDYEÕÉ–Z&\ØK‘XÂù Ï‹~ßÎ’Dq¢¤>!Š='fó ¸‹€-µ| ðUe¶pÇÅ>ôÓ½YgJ)¦”÷Díž_óÃV+Àyw¦<Âîs?¿{L˜‚UGt¦”VaJy©6øÇLYl«EÙ~JÙ$ÄäŽá˜‰Te|ù£j_ÚÁXÖ½¹ÆèFŒŒÝ‘ª#̸ܱ"-ùͳe‡1®goNÜðz,¥vcúß'32²%£7Sô~Äxl –|òûÉpÙFžx§ Ž1þeˆñ‘^XýeK2%â;1êý<=÷ÐM6¤Ž+ÎDm-×Ñ^hå § QZ£j¦d¤d[¤öz¦·I‘ê“¥Z0±Û¹÷ ÆžðXuL0† õ¨wvtdvBì÷)ï'_çt”5~#ÌøÞNȺJ”Gôˆ,É÷çúdLLlAÜŸ‡ºߊîyrÜw™r-šClE¦õͳ”ê¢÷'BFÂÀ¨Ho]zÛNY£@‰ùa#aÿ|%ä)+"ªuž¤‘¯«IDö¶\;ŽÏ~9[{ǰ_.Rv=ð±¾2*Ž%c’©¢»ðéùF˜—bÊ;Ì‚kªDÉþ?R-¸|Ô(ÚŽ”­Ã,WÚwëõ®FIOÕŒ1)ÙûGªÅ¤e{2Å‘²uÏüÃæ9󰥈ÚKÐS[Üÿ³z¾¿úd‹r}*Rú0æ¹·v²y¸\P‹gƦ8ã#¤¯úd‹2Eñ²Mí=s,mv¿c¦J[÷[Æ7JGƒ@MA¿j”-*(9ÏîqîÖÙ¬7ÇoAØN‚ý} J[¼|«G¶bdT´œMD¾ùû'ú"ˆ0SruǵþzõÎÇÀêü¡Úh`\æWªÅ8ûÈTíw§2Òúˆj}Ü3ðLµþÖ<°‚,J%# ¾¶~þ良Ó<„ÕÈžÙè#0¾Ê{à͈ñ »Ø–D©¶ìÍg–Óúåi_ïáÃ7Æu\%FÆB|•G5L¸¯¨ §þÊœàè Ñs¦,%Gl§HÉ–Â 2[DµXÞ3åqg‚½mXAï#%£4¾Ò£hæ2¾Q-JϰêŠÎ>Q½'Êâ!¶3ªµÐ¼¶DL‹`3œ‡bÊ£!þ–{ó©AFëx™Kc͸ê3<÷YXƒ“j@¯#Õ¢sl'¢D;… [D]ÞPP«ñ×…$ʈ(©fÂ+]Êo>ú“C̸éÆzèêûÁsf|DÚŠ(ÙV½ùÌR`ìŸð½D¤úŒ†•©±ð5nz>uôí)×Yãóáý«h¿aÿ\a¾AÙ"x͉iãé©¿…BX¢¯Œ?Zf†]‘Q1Hê‚¿»Ï‚cOˆ6GŒÞ`õ:ú2£Þ«ð™ÏÄþ/2**¡ñGƒÎp&€(›ûW˜ÕóY|#JzŽ>3› œB`Šcš´öXD™ [p§Sg\Ç’@HŸûÇî™Hü­FFô°húž©8©BÔUpÀLkg>é«##½ÆÛ¬æ¸N0‡LŒèÑ‚ù{Î:ØbÊ Öþìx¨ ë‰bßÃ÷<è¸ û%úÑÞø=g=nýºw`ÚÜî¸-Ô§¯WÆ&ÑGBzŒ…÷\ó¸ãœ@¤ZÛa>¾ï³>00m­p‚Š‘ñºBÏÆŸ.Ø+1¥ú7t"« ¯Eó {¡ˆ樔ÑÝ›#ß®ðÞ3.Óò¨þ?#u쉲?Ó|ŒpÿýPª Ü{ªÆmóäÕ¤Öˆ$½*QÒûðè½ïe¬Ûê÷Jô­¡‚{WUè[‰jãâv¼bI?Í”ô}bç3×DùÊÞ¸ÃÌ5Vp煮w”%§¡ß?ÜÈj$ª†ÔiØ^ß4•~-1˜¿ë;{ö~´F”Åcô ü‘©;—¦±?ÃÊŒ‡g¤ <éH ƒ¨X#Ã}~oøÚÿ;Oý̈"pÔÓ?ôẹÏNLãùfmúˆ±Áݲ/ovdÌè§- …÷¹§h)R~>,ÆVo™WLÙ™œqÝzU@”ˆ-h>i©®èjï`%3Í,ôUg1,0òðÁgv#Q2ê`Ï: ƦêËn¬®ƒù,~%}ÇG]q‚)s°‚gþd‡LAD٤ˎ'–Á|½˜’¾ã£÷Ùi(Ï?”Š8¡‚g>âP»ÌªIØ£¿/)TD/¦¤÷øè}‚g*3(š@‰ÌßßÖÙÇ”7ªž›†vwƳX‰Œô:ÁXØÞ#z$lKþ¸@îî>Ìk_±/6DäìÍfí‚…w>¢  ˜²ÜMa´!^ûÄÌКØmÒQ5{ãI uEw.¢3o!OaÏXΦ e0°ko˜ñ#_Q‰’±²7Ÿ¶^ïÀîffüG°ãžmê™OLYVœiØGÞ¿øP)ƒù¬¥°ðÎD4 °Ï“)ŸŠ=0? uí3–çü9¼R2¦öæ³–ÂÂ{,rv°JE”n d¥G'’Δ|C|ôÎ0s6ÿ*3P*ú† n…|ŽÖ`L¤|PpÆ68ë$‘œ)é=>zëíóË|¥|æùÍtzÿªàÉY¸À*Q¾Õ(znd5U3 …AŒçSšÖw5\æïÌ=ç—²Ò‰‡ÒÊ åC”¬1ø#Ó²ÖãZS5×>®{õ’4}·ÀÔæ@-©÷ÐtÚÖPزՇu!f|®}£4ͼ"Ê3tœdf[JùaIKuEw¶ú°êÏê?®3gú¾äiêQu¸sNÄH݇æ³vÂÂçoŒ«4LµÅ°ÕKÔÌ«Àؤ5Î7E+Jñ¡é¤•º¢ë/‹š7þSßC&ð^–¦þe9ÓÏŽ³eJª=¬@·Q_ôÜ#‚Š72¾ÍÖ¯‚(Í<"jj8°“Œm)‡¤-…wOpöZÛU;µ` %iæS¶ubš¡§#Jª<¬ k-,¼×tÎrÌÒ)›ÄÁY· I3¿ˆòÁÕ9¦ƒœ^‘’Ê+ÈÚ ïúÙŽ0«@”u\8g"8ó*0žg}Ú!;``” Ƴ–ÂÂ{}kÚpOÔPMCŸÒ,S±D)•Å”ÿAç_Vµf-Š…mëÔܰ:EÌÙÉŸÿ„3ßð:™çDI‰ÞýÚ婊B(Ô´&cÆR‘}ÔRA½ùë6ÎP[ :Ð?ô qÝ ê‰Ì@V:©—¾O`|‹ j£È(ý„ÆÓ6†ÂçÍ>©µx/ô2¯˜Zh”©žÐ|ÚRPø¼ß'5$šüÞ£½"Êïªw¼Šl)-…è¶ê‹ž·û`©ÇŸHí 2íóB}í( …ƳÂÂçÍ>©AkñnþQ{©úÃõJa‰õÏÚ Ÿ·û¤X“ƒÐÓ>13Œ´É”ÔN½yÝJ}Ñýf_ÌÝ8;„ò.ó†¨:“0Õé€7KJ/¡ù¬°ðy»Ojˆ«Ñ(íR¯"å×ÊŠ Z!RB3¡yÝR}ÑónÌ@dö†ÿÙL;fK$K¬‚zãYû`áófŸÔYÛq¢—j‰?Hx—1—=îóê­(Õ›ÎÚ Ÿ[4¿¨ú^ìÝA¹—ú…ÙÛaáíÕ'U½:úyYRQ ÆÄô_df§W/AöüÊø¶!ÐJ‰%Ð`<ñ¹+ª„o¦þ`ö¤uÞt`F_ÜžEK "ÀxÚ:PxRû¾’*Ôáb¶ß ÄNæSd†¸‹;±*L§m…ÕkߢöEmcò7yÓ5‚ñoRb 4OZhèw¦Ÿm"•IÌbCù×xS4Ì´/´‘¶„Œ§í…µ¶Ñ¦?©¶)ž}zÕ5ÌÔ¿>ª£Äè0µžÔæ Ž>{SûP›mâ_È«¢af·, ¨KS诇n·›j¡¾¨¾WÝ`ðNl6É(ÿoj†™}Zƒ&Jì,3½Ó­AuÛ`aõzÜþ;Á´í}¾ p2³ûfPE‰%P`\·P_të1~›mª>•ÒÐÿ AÞ$¾DÆ¿yÔD‰¥¨>ãYë`a}³eýf|2xYøÝ>ôbpŽŽÿòQ}ñ¬°°ú]¼ ß—$¨º¿Í±¯z´¥ö OÊn= àëgʧ‹ü]ƒXJ”Qdü‡QJ‡ „ùò‚ʇ)Vh>ó ï/ø“r¯°µPÈ$^Sãjf”Jè§í…öUí¬#™:øLM3©W‘ªQ'h ¶¤tšOZª+j‘ÏÁáÉà¬j3©?‘²ÚP±%V h\·P_T{‹}öCÝš˜Ã&ù`ßl2ÚbZm¨ˆ’Z¡7¯[¨/ªuµ­­ýÄÌÞ`üéÄLæM`V_.‚“dGé4žµ>½.œUÔa¿ÈcÚC+]’&õ ™¥-c$v”^@ãY;aa­¯Té8oý»cÇÛñô Ţ̦À4;sâ.2R/ ñ¬•°ð¤æ:­4õçcטÍÖÏ}ôÂ&ó)0ÍÎ ¿ÿh‡ÕšÎÚ Ojjœ¼?Q>U:íP#›Ä«ÈÌuâq_áKŠŒT'½ñ¬•°ð¤F; 2­kÿ—#j*vúÒŸÃB*óŠ)±ÌÔd—4â7æuKõE'QêrÀÞß8‰±N;îØà ö¥/:‰Á3§´é[10e´Ïïèw§锪¤Hm~3(.¢”&A9ó;å‡Q[1¥´Vy…Otž±ç”>Èî’&õ ™/QEFª0ž¶>1ü‹ò4™)›Ì/¢¼3zˆm)Ý€d­……÷8ë,èGÑLµƒÉDE8©_‘Z<Íä”RXAÖ^XX{ OÚ¶­÷ú¶/­÷>΀ÔÉü"j¶DxNWØR*+ÈÚ ïñT” dKt‚'õ ™mËÑ©#ÐxÖRXXëkÉ7`î)¿\N€ƒäɼ ̸ùÆÅ‚µ#•ÏÚ k}kÌíï`fò#ÎC·O=™WD•ÍeѾ¼ÚRj+ÈÚ k~¤dì³9 ÊÖ”µ_ç@é“ùEÔ°Øf×µÏwÀ”Ðh>k-,¬õù°¢S6 ª¡?Ú#$ÊQ§Jw˜é6¤†é g탅g]»Oï-0BÔaÓ óA(¶2¯ˆ,oБ*»á ä°ÙRPt›ì`gd¼®óuû؇n&…“šíàð<ö_SËb“¸pö(-­©ˆY=YÙÆ ‘’ ÄÏÏÔRS´/8ž%Fª 0Ÿú…Õ–þ¢¼Fl-”>™_DÍ~àÛ’j*ЭÕµÙˆÐæ‘P-€>ó‡¨7qçsÔ-€…mÜÚ’™E(lt⎢㶯”Šþ(~¦FÏzýeKÆd¨ ó m„ïG†úS¤LM혴|/2¯SlCï4ŒC£¢1ÏZ «­¶Q¾+¢Æ¶áÔ)J‡Ì/¢†ÁÔ q’(Á|ÖVXxÇÿ P™²­ÐV(´O‘)» °O bR¤’¸ü˜ÏÚ k}v„¿¿É€ ›ðÕùxÄÔjC iéû¦T\$- ŸÇ>û8S›¥jÀ//HˆÌ/¢?Œµ ¯¶VëÛñdK¨ k/,´m¢ª l“~ÁÙÌ/¢¦O ªn)Æ/ÍWÆ6ÌO|]D)Ý$×ÏÔ´ñ9¦ŠË@ÔsXAæ=žÔ°ÙÁ®½ÏYÂT©?_ü¶ÐÕÌ+,ü÷?û©ÊN­|úÙ$ì˜GÃðoDGª°ˆj¦€êkŠg5TC'7~d&KMôNˆx‹¦3Ÿ±ð™Ã€óòLÍ~TwÆñ4ˆƒTDª´#20H”ŒºXn«¾èQ08CÙ(R©asLqÄEóY;aá­®¢FOIgþƒ8xÓsŽéOJØÏ™ÅQŒgí„…ÕNÛšÑgÉ$jæ˜ë¤A¢Øì Iœñ#FEÚÞtÒ>¡Ð,yÂÉ>ï S»m9èÏ(IùDT‹²0ã'(e±‚¬¥°°Ú²IDZÞÀ»çÔêTÈ.$Aý5ºD†9?¦D\GóYkaaµäG3 ‡2SóìYWˆžMV^3ø&K˜ñcJEâÎxÖNXXk³í\˜3‹©±%¦ì3 É }ŠÌvêr'ÖH Óq*ÈZ O¥QW¼!!Ç|ü]jmg J”Ì+æ–3ÎT{¨ß˜;ß÷ïvlAÅZ²F‹¥ÿþgÝ'/“ýÌq“D3ßbiý# aÞ‘™«dÚwø3 Ý´£fbiÇ…<\‘+–:`„U ÿ™Ú!J* ,l3ç˜3T0*:c`ÿ™²X¹7âe0žøÝU+‡‹DԄȔݦŠà¶ªÔuüŽLÙ¯ÅrWEŒëöé‹î¹‡ ##Þ=u¿‰YgŸLƒÑ(S*Nöæ³Â½}Ù~aN!RMŠÌ;ÄeéiôŽÔl“s¸»SP*NbYkaaß”©•¦ãØ!„ô4zGªÌ1'32R¢ù¬­°°Úò_¨b¦Zþ®0¬§ñ=>ƒG¸P—©½Ý[<@ç ɦµW™=»^Q] ×íÔY÷/R‹„|wì3ˆjýÎH)èeBY+aaæµÛnw‘š}­Ú!öˆ‰cŒ]*3Š3ÇÝG¨ k0,¬ý‚Ø…ÊT²aCÄŽNùÄÌ´íýúÝ Ì鮨¯!k«XÚuÉÐ1·Ÿ1ÁêĶè:Î̯Xš½g,mÝr¸Ñ.2w ø~[YB”úÑÎý]„eñýgŸQ}ø½üL>ÝŠõÅ_`0ŸyŽ…W¥?É”½02øSÑ>Eæ8‡u 8±äÛë+ÈZ /¯J¿ÒÌLk^ âï$óйûûϘÓ_r¬%k´XÚù7ôû³˜»š°þ§—¹K³W¥½/œ‹ÜÝHÈõwx_×¶áeݰý†âHÈ+¿{Ã/V†k#±=p ÆþB˜@Ô"q©r%a½z¥Òoãcªuh# v"u‰Eh?aËÅÛÃt#«‘(9L‚1ÃÝö;?2Mn ßD©Ÿ3˜×^÷E·¾,u]hÈ—Ê倓¾Çɼ Œ+Œrôéá"#µh#Hÿ`; ƒ!,¾ã²ìMgòƒ)ÿZvÜ þL±˜ Þß²Á1A¦lßeÙ ÑQo> i»ËÖo× þJ ù¼¯»Ø9§ê®K `<“ qxÚÙiãzðgJŠ|ô>¸R˜ Ž”í½,sŸ\#˜ÏôQ¾3ñ´ÕÇ|ôgJiðèõ7žûCÌøÞË3æ÷kfhþÞ®X&˜Ä%J ‡ 8~¦|`)¬¯EJÆo¬ ó ïÃ$e\ÚÜÙQ¾“³˜¼ r#qŒ1“y¥*S¶e° c¿í§í…OK pì—¨º›³ }OÛ;š¸„È5³±Ûòå(-…‚ñû4Íac‹1¥ê<œ%k»ÅW”dYÌU ¸Ûp%e®;r{s±†¬%bé} Ʋ¬Ü¯ÀصEsµÝ‹s§Y/‡3×biÛƒa;=sæÞRi‡zJWßõdÆÄÒîäÍwm õ¶¾ÿœ(P«6ô"˜ÔÔPhÞþ:µsÏ_'§‡i£Ú¹¤ðÑŸ©vý‹²ÓáAÓaí8u9 q3¬ û¢LFÔ„iÍÇLç úzãw¢è2þ'еuduFªP|ðNôI·)°‚L;å'¡Ë†[iáÑŸ)©CñÑû(|P}DùioÔ}¡‚LAå硃-|ôgŠÕhxð>Œ…ÊOP>áÚÌ'22m`1CÚ_|ðWJ¨Ñð`KªSfHóCL¢ êëkõˆD›G>­ áXÔõØoŒÔ áÁ;•ΩÏx*»£¬ñAó™Ò#ÊOAŸ¶øØÓõèÏ”RáÑçkBu©vÒõY¨ SzD5G˜bÆG¦X5†ïµêÃVžJNÙ9os`>…ñ×ûЫ ðàÏËËðàTg³ƒ`9å+A¿õæ-?!mñ¯Óeðà¯T"*ñÙÌu¢Ú1p;‚3‡“E׳™d®̶`¶Oñ@Ó­Ä´´ ßùŠÐS~=ÊTP¥‰”˜èT½jqÀ»íÁ|Uã~‰L¨Ì'–#&há±Z×fQ& ‰©{êƒÌí›É\¢,ólŒ§àĉR4çÁ Ò’()@{'²ú°ðÉAÿAµT¤8]ŒNd’—(ù†øè¹2L…%e/Vpg2-äXgÊ’²âB¨ “ÐDiïáÑ;÷c½Dµ—ÞDÖÐn*×?7\#eª~"Á+t"«()ÆÙ–¿ L‹† žÖ‚(‚òEïฑÕH”$à£Ï¯lþû<”§- dû 2iOTs&Yã?Sr˜€Þ¹§Ëyû˜²$¡ež&Ê<ÕÉn!ð‰iã5˜ò„dÔ@!ÑÏLÉwÃÂ;Çý'ek™[Uo›Ÿês f2Á&ï‚ð®Ê× °©˜©Í¯"*Ü_þL±Ö–ê5C¸?ŸÌêJj "6Ó«Díbï± Ü…AÜÅÕm9p[A=%5æv'ë±ð¹Ó*¼c¤Ú…YÁ{Ä™_DÕ+wʾ¾[b…‰Æ³¶ÂÂv£UØVÁ̾²ß(…µOÌØª?æÜŒT ½qÝF}Ñ}—î‘&¦íŠ;(“3˜R*–({òk yÝF}Ñó—݆xïQÏÌ>HÀ¶'"#•wÿàõ÷X¶-ÜùÔv‘V¨ Mg:™¨Öd°«0<ú3%57>z÷tÁSv­Ô)1wº±çª@«ebü⥓Úaäô<ø##U7>x}qõ\÷ðÂØ¥Re„ˆ€æµR&¦ 9GÈÝÖ?ø##7>x}áh‡Ÿ¤(0G…æ3LTûS3ßDp=ú3¥4wx´Ý*Zœç!Ʀ¶ë?gÌø™ÏT2QþµøØÂG¦Xq‡ÛÝ¢ÖSßšU0ãðg[¡zÓR³F¢®[‡ýÔÓ?ô¡t/Zý¶CÐÁSçÛÙ®Ô‡Aó™~$ª]ßdÎïÈÀ€éÊÔ²Ó>õ=H üôÀ¼,Ô—?úRÖE”P¡áÁÓ’éßz¢­‹S‚}û¿ óAC"3•ºœ‰þ±ß¡Eá±ê±o o˜6ñKQæ2)Hd&«„™þÁ_)¡EÃÕo›ü>L¤L)u~™v;è;ö~_Æ3ýˆLû%Fü•J4X½ÞÖ?&„÷溲¤û»Á)µ%3j†UXòñvÌ×ÄWvF#Ô‡æ3KDɹa|ÔÞs>1µ´ËÍßõ¡jajm‹øsÔ ¯ª5Þm¯£¡ƒ´ü™j±A[¤Ú‚ùÌs,¼Ç'5Îñ+@y™ø‹î8cFh70žµVÊ7~Q+å¯C‰™ùÄT;%Ê”)¡ÞBº¥ú¢'Ê¿2¦MŽ~gc˜©?‘§1êR¶DÚ-OÛ Ÿ(I5ÕNxŽàÕÔ©ò*2ãZ§yGh²#T×­ÔÕXàg½ ¡Fd\ ”­Ïk 23õKiµi`´Vãº}ú¢Z—ŸÜ…4ÄÔMkO¨>Q¥LÉ7ÃG3½HTó|쳆 Nj¶¹-ÌöÅÔt˜£s%@p#«‘(¥dãկ¶£ÏÎ%(?îaB¬ûëôd”¨Ù`Þ|ôgŠõlx°*ßDeùžS~àhè³3‚ùL‡Æþt1c>ø3ÅŠ6XUZM¤Qú]"‚±%OÜ‘Ìßmê#jV{!ðÑŸ);ö“ Ê–®´ëûË<»0È0KTñÔÓ}–› δcÆ6Ã:¼RBõ€\ú‘±Ðe‰B^ì²B^í3Þ±³½2UkË‘¤’öˆ˜q÷ ûöJI Ò™×mÔUbóã¢Ð{E¦åº› Dá^(eþe‘²D KJ… ù´• ðªNY Æ•Ž×P.e^ea:œõcJé0¯[ª/²HO1F¢vŸ¸›;È%í 1sÛp W°%¥AzóYû`a¥ö9쌌'ÿÅ{K™OD-¾Å{î¯ bJj¬ k+,¼gAÂ耩¶t= ¯Ì/¢Ö¶Õ¢QZó@Y{aa­Ñ2„À8›› È4Qò ñÑ;ò—‚yã#%ÕVPmù¦/È'(›¶*Ü„ŠdJ‹(é=>ª1~„é°{!oÍæòÉ{XfÊ—¾! 8‘Ö‡ŒTeøàsn ¿¦lzSù† j¶­ ³a0e¡!ìqþLI…©–C×¶€?V½c¤Z–`ÛÂÚµ*¸‘Õ)©<ã5I¯<üuF';8Ô¥‘óvyÌundZA8Ø?Øê ^ âÕ†®§7¬­ß:õÒ†ðw@)Ÿ©v¦xN›ëFñn…`þ޶±¾Î$jKÈȹx|ðy;ÔÒDÕo S]ómm#¨[bÚçÇQò'ê>2uÚi v2#Õ4ÈðŸ)ø‡õ¦”¾Å ß»¢6gÖ,aÿÄïm‚û ­ŒéZ#E+Bׂá¬m°°Y #Mfê-–8B쥷ö'Mháè(2JÑö¦uÛôEÄŽŒK[ü]ô¢;Õ×È,-kósH‘Œ§í…ÕÖÂíLLñmx ÜPng^ÕVò ÷‰ ^4ì3·.Û «-χëLùÖ^¼G©—Û™WqÙÙQˆ‘êŒg-……^†äý‚ò±¥Pjg~ux¶i8_É”V¹PAÖZXXmµMJ0þcʱ`{¡™®&J¾#>Zõ/šáúF¤´¶Æ x—(O·grƒ`Í´i¤¤WáÑçŠA\‘ÑSB›† ’Ö …UzÊØí%¨º»Æ@JÅ ©¨±0k,|¨àQ¤ìê08-D`íµç˜_B06q3Ž8kÒI‰D7 ayƒ¢þ"†âtÞ"ìs;Ž#£¢go:õ /õõRd\ŽÀu!ȧ=RÖ_Ça¦TÅ ²–ÂBS#¾Íz0¦ÊÁ­Õû4®#ãjf{#¡"'šÎÚ ³qSõ¦Sl% òi›'ޱü©‘c93Òs,¼,amÄ(Ÿ@*dª 2<¿ «édâ8¶»:âFÎ7áƒmìÎi3ùuî¥ÏÕa>‹èu!b&†ÛŸ)ýþDq$CóIÁu຅0”꺈ѧ,{/ lÉadt€ò3¥û[誥’> endobj 155 0 obj << /R8 158 0 R >> endobj 157 0 obj << /Type /ExtGState /OPM 1 >> endobj 158 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj 151 0 obj << /XObject << /Im4 153 0 R >> /ProcSet [ /PDF ] >> endobj 145 0 obj << /Type /XObject /Subtype /Form /BBox [-1 -1 410.998 450.998] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 159 0 R /Length 160 0 R /Filter /FlateDecode >> stream xÚ+ä2T0B™œË¥ï™kªà’ÏÈJcŠendstream endobj 160 0 obj 29 endobj 161 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [1 0 0 1 0 0] /BBox [0 0 410 450] /Resources << /ProcSet [ /PDF /Text ] /ExtGState 162 0 R /Font 163 0 R >> /Length 164 0 R /Filter /FlateDecode >> stream xÚl½ËÎ-;³¦Õ_W±šÐäùРѢü7ŦT¨F£j#Áåãˆð{ˆ1—J»þ5žï™N‡Ó™i;öù{ù¬/ñÿæÿþ‡ï_ÿÝÿzÿýÿý¯åïÿiüßüë¿üµ¦ð÷üŸÿðýûø×ž¿×ã³Þûö÷¿þ¯¿ê¯½ŸëÝþ>öõ³ìïßÿúþõßü÷ÿþïÿöý?þó¿ýŸÿÏÿûÿó_ÿÓÿ÷ßþëÿþëü×_ÿË_Ëç~îóýûÿÿü?ýõ,_×çÝÎçïý½–úÿþë¿ýõ¿ýµ}ÎmÙÂ{öÏz<ÇßDzüûëäü,Çßÿ9ü磄Ƴç½?{Õ ’q½í-_f‰˜5gÏÝ,Oëúì?i˜5î{W·HhmϵF}—eDÖû¬Ÿ£;âú9ƒqÝ|õûú\Ïožè˜u'ÎÝ,OëþžˆYãn¼u‹„ÖvR>³ŒÈºñ/]"°ã£e¹ŒÖ̼ªAöϹÿ抉[[Ü=›"k[Ž8ºY"´¶kÔáÍ-#²Æó4®p³D,_÷çÝßgüÇ«¼HŽÏò´ç”Y"fÕÓÙ-O )-EMk´$Ïn‘ÈÚ¶ýÇq+Û<Í1kJܪîçsTqMðŒ²ÝÛSÊ$’f­UãÌšÄ-Ä#‹šužJ·@ÌÚöÑ:Ý[æAš5Úü?Ö$fí£’äùý•-KKä]¯Ÿ§-·òéÜ,³#-³F äíØê™DKÄ­'þ»Y ²Fžg\í÷öY³¼DÆÝuÿyRÑqk>Í1‹Ñ"1k´¼÷§Y$²¶QçÞÝ-·ž¸4 DÖ>ÄY›®ñt­:rg ?«h‘¸…'´,–ÖŒÈÒBŒ²¶e­û -·Fk¦§EÒ¬»ž˜fMbÖ¸`ž:âùyªN{³Hdãr_¢­­ù̽HŽ;Ì'Ç]Ï{Z"nÍ'¦Y fݳU ‹Ä¬g¯gŽ,YÇèTdÜçû93F’ñï–ßç-·Ð*ÒÒšq[Z*ZÛcn¸õ,¿i4ëýM ĬcÜ—xêœWÏy0>£§-·æóÞ,·£,³Æ¿>Í"1k\ïO·HÜzÓ"‘uŽÛö™¹Ø1"Drr܈Ï9Z"fáy/‹ÄÓBDJ ĬÑà¿úIdí£w¸n‰¸õD³Y § }®ª£·xÖÈg½?ùh‰˜…'¾,O )-³F6–~DY£Ãü¹_·DÜz>Ë"kTûŒÒ·‡õy96Æç-³ðÄ—Eâi͈,-³®ãsö#’ÈÚ·õ³µÜ‹¸•coÍ‘5`ï=ôq›¿³¼D®h‘ö'-³ðÄ—Eâi!"¥¥¨i–ÛÛH"kMÊëuKÄ­Q?ˆ¬ñYθŽeŽ{‰ìñÔêOQZ"fá‰/‹ÄÓBDJKQÃÚÇ_×Ã-·ÆÓàíˆY£Î=Ý"‘5š[¶¶ö{Ü(³$HÞèaÍçÐõÉ—%´DÜšOi³@dÅØáúº%âÖèoüX ²F#kϳ¶Ÿ=$+ßýQ IÀ$´C(xJš)˜ô^ŸlCQ"´z“L­é¼çQ"4Й·–}t³ Döèn÷‡,-³Ð¸Eâi!¥"k´?êABKĬq®––ˆY£ËÝjY$²Æ »Î¸™sûµŸã.qn?OØRøÓ6+JáÏ–Ê © .SFã÷µá§+ÏZϪ©à§+ïøïS ~š2ªòS©£K–ÈcEýyJKÄ,´#d‘xZMi˜5þº÷#’˜õŽ»t“äËâÆü©¿[Ì›­Øñ\¼³ŽíQH&¡õ@‰ÀSBLI‘RÕòi‡#t,{ÔfI.½qÿs @Ò3nU™Ï‘ß³*ÈøgË[h8ÈiiÍx,-…Lk-%IÇ}FÇG’€IÏ“o %PÚÆMi¯ª°Ç-÷ëäŒÞ˜¡$àN5á\q ÑÈ‘uŒú¸»D`Îsæ“Ä$³Þ;ZÝ"¡µÅƒ§Šoo:R0‡ÑQ"‘užk=³h‰˜uíùJË,·–ºó›Bk‹©h1>1à–ìš:ηZS2`’'ƒ_úóyçýG†€IO>¥L" ´ÅÄæl¶ŒózdžAî °µi‰4+ÛÓ.hÎ Ö$„oÖ½ÕÝ_ˆYç·!³HÜz³Í戬-†ƒ³ÅZZý¼9¨ÄÆco9v%Ì4æ/ØÙ¢re´óúš J9Ÿl…AÑO)×’]-(úIeó§NýZ£HF 4¡yˈ[³ÉlˆYŒ…‰Yï/3Ý"‘u¾Ù+3KDÖµæHˆY"´¶x?”Ox–på £7§$ФÙN–4K‡’E é\–˜¤ ‰À¤kÉQI.m90j€¤-¦gç5qž5–däÑ€šŠ°Œ¸5›ÉfÈR€°Ÿ–{·ÆovdÈÚÞÙ‡9³Fd¹÷p 1kýIʈ[ˆP–b¦µåä·HdÝãªÏQZ"fK=qd‘ÐÚFjËÔÈó‘5Bdç{4°Œ˜…¾,·‘,³ö½îì²HdÅ·ñ‹çÞˆY¹.A³HhmñAd¶öÇÕµU•Y³oØû8°Dš5ûvfMâ"’ÅÍ:¶ºÏÊ1ë-ç˜"‹Ä­ÑuX»"k_æI‹ï€£¸nŽl±?Ɉ[³ggˆYŒ‰Y£¿¸ô´HdÝ£MóBd‰˜u=9¿Â,Z{|6Ï®q_{ß,’yè=XFÜš=;³@ÌbD´H̺ê‹]³HdÝ£Kpn‰˜54K·HhíKUñ; ¨« Zÿ†’ú7ͪ~[³§çÖŒÇ,‹™Öß»¹5‰[÷h•ÆlY Í£[“˜µÇÒ wñŒûÇ×É£A¯Ùç¡eÄ­ê×¹bc¤eQÓzò›^·HdÝ£Õ8d‰˜õæ—ñn‘ÐÚ׸Q­Á¶¸Ë|œÑ·j}ZFܪ¾‘[ fÍ>¢Y$n!nY*Yù­{³@dÝ1[àuKDÖï›%BkQ²žŒã䨗Ȼjllöh‰4kæÕ,äÞ¬ÙŸ1 ĬgÜÒbÖ¥,Yû7í¨¿±²Mm’'Æ fK5בeĭ꩸"ëYÏœ¼(K„ÖËòÜÉö72rjtiöhq«úYnÈRD°DÌy]ºE"ë‰É¯["fÖ£Y$´ö-9‘þ蕽y†HFì¸z_‚–ˆ[³eH³fDf!F³F¿ìèi˜õÄlƒ×-·â½}·@díÛ¸ÇËŸ{ôbïª$ñN¬u%(‘4{P&‘˜„%)dH£]÷ö”H(=#Ÿ‡g܈¤cÍ?&‘@Ú÷h3dâ{ ?¹8H…N-#fÍΓY$n!Y ™Ö±×Q‰¬'f4KĬsùœM ³ï£ý™÷xdO–ÉÞ{TŒì½#e Éþ˜†Š†éV·/)$<·wN9‘"e4×ß®àäGs*’­‰½N>ÉËñ/ôhq«úIn˜…@d‘˜um9Û,YÏyÅ”IæŒÿn‡# ³‹âˆQ†{´¼Ö<õ"11 u(1©zH.Hb(”H$ÝkNi6‰„Ò3þ3f“H‘4ÚèO—H íG´9­54f$'P´n-#nU÷È-³-³ž5'›E"kܱ?·K挦ÀÞ:û¸‚î<íç°¯‘X2ï§IÄ¥ê¹4‰IEƒ“ôæU.HzÆÓ=æxH"1é½s¦ƒI ”öqc|ãî}ñ¬ÿ:É©K½wˈ[³ŸdˆY –… ëY–ºÓÒ1ë=>W“ä¼£×¾¹C@g[²wu®ÑÚü:‰9l½ÉɈI³?d%…ÉÃ¥ôÖ=×$Jïèˆçž’ˆ¤Ñ¸®&‘@Ú£4bˆæ>žh²~œ9°w `‰4kvrÌš¤Y3³ ¬wôO—ÜÞxQeˆ¬}Tú=ÏV¬ç•'Y$æ2öv7$#&Íî†I ’b lO‰„Ò;_1%A’¤=îXuj¶è™|äÓÞN†eÄ,ôd‘¸…œÊ1k?êv"‹DÖ»½9gD–ˆY£!r¯Í"¡µ_³Ã;þôÖœàˆY»½¥ GÄ$ô $¸4ƒ1 áI¹Ûš3”w4,cB‰“FÕ]»Bi6Lv:Ç¿ª"äŒäÞF†eÄ,t d‘¸5ÓÄxéœ{Îs6‰DÖ;jxL9‘%bÖ¸é\Ý"¡µßs¬b\*WV‚˜uÞÛËpŒHšÝ9¦ 9 Ò¸׿PyÇö¸Ü‘4Z­K—H íчÉ+q\EgV’=çî·¶2$‚æÌîI“¸5c‘¤héŒpö”@ÌzÇ?|[R$npÎnÈ·íq¿LëŠq¾¯“ø:¡·—!1©:æL …áÑ!‘”£à2ê'ÿüŽÎhL‘!"i´âÞ.‘@Š•ŽsLiÛ££ù5´2wf·À$³**õÓþþ®uw•B"ëy¬“KĬ÷¬gŸ,Z{¬S[¹Xb¸øë$¾àé-dHFLª.9Ha0tH(½£õöºC åÝê™'‡Ò¶Œ¶Ûã’Hû3åb‘Ú:ýùeRkÃpgvL‘…H(˜³.U‘%‘С¬õ<‡eĬõ¨w@²Hhío 9fÌ{¼ù:¹0Æ–0$#&UgÀœ ¤0:0¥7o¯æLe²ÖŽI£êgT ¤=ÞìYpKŒÉ}ä÷{­å IÀÙ0 Ä­‹$FKgֵܲI$´F0K½ì‚eĬ}Ïéf‘ÐÚß”õ8c5‚G².?("Rf.Ma$ÈÎ’s6¨ˆHyó5¸+“LåˆW…YG%Ü#(#ù¹ho-Ã2b: ²HÌ º§§EBk[F;ó½Í2BëXbÜ: {­Q%#;†žØ®…dĤٮ7 D3J‰DÒèÏî=%H#˜³ÞOC2"éC2âÖìH˜âÖŒÇ,³î»nê²HdÅR¸ñ.H–ˆYãQ´½Í"¡uÄ'¶Y‚ç·Ç¯“\W¯7ŸaqkvÌq É1ë¹ê¦.‹DÖ:21ƒQ–ˆYïR·kY$´Ž3¦:Dä\â8_'¹€bo>Ã2âÖì6˜â"’¥¨i½WN³2‹DV¬¬Yõ–­#>²—Ó×qGn¾FÎ\n²7Œa‰¸…,fͼš¥xV6»Îª¿´HÜÝјhbˆYãA‘ó5d‘È:®˜Žçö8âì}äšš½a ˈ,vh‰¸…e˜µžUe‘È-ÜœM#KĬuËIf‘Ð:®c×á×@.œÚ›ÅŒ˜…î€,·,³¶#gC›E"+–ü»<óFÌÚ¶œ¸a ­ãŠñÌHâžõ5rär´½Y KÄ-td4kFdb4k?r>±Y fK!§ÕÈ"qk_s†‡Y ²ŽX”'»›£mºd•É%w{³–³ÐEâb”bÖ8[GO‹DV,ü•íZ"fº°v‹„ÖqÇ«‰,¯5žÕ_'ÐØ†eÄ,td‘¸…ˆd˜5ÚcoO‹DV,$õzî˜3ºEBëˆ5¶²Œ²¼«N€ì¹buoiÃiÖì˜5‰[ˆH–E-ë­§‰Y“˜µgALæ”EâÖh1.ÝiÖU÷G³&‘u<5ËíÚÎ9FHðpý HFÜB„²3¬m´û7—̰¼7J"¡uÄšzÙ>÷È#Ï´H®§ÞÛâ°Œ¸5û f˜5Z‰oO‹DÖölŸÕ%:Çsï‚{_ Ñl«²ÐZ†%âz ²@š5sjònÖsÔÝ_ˆY±¬BÌI‘E"눅/+­k°‰<¢B;–³Ð#Eâr/ ĬÑú{zZ$²¶çÌi)²DÌzלtb ­ãéŠy¶·9À&rjˆ í`XFÌB@‰[ˆHˆ[³Ujˆ¬X¶ùhi‰˜õ<Ÿ–œ}ñBÀOþýˆµró^·¼sødÝ8€Å$,‘fͶ´Y“4kFb–¢¥5òøö´@Üe—/Üd˜µ¯KÎU‘E"ëxcšhÜÉFn®ª1$oÄÚ[•°Œ˜…¶´,·£,EMkÜ‘÷ž‰¬}¹cÎŽ$sƽ£%D@çŒ%´«¬öé2rq<ŒíGXFÌBKZ‰[ˆF–"¦5ÚOO‹DV|2z{½9Ò,ZçS}³c~t–ÉÆ±5¶a1 -iY$n!"Y fÅÜÓž‰¬}»òO‰ÀœÑÒš@çŒÕõãìÇÞȹs›‘;·±íHˈY³m‰[[ f{~6c‰¬øšíòÜ1ëxò)c ­3vø~3ý£ÆÌŒ\YCÛ‘–³f+Ú,·‘,·®|ʸ"k?Î|*KĬóÎmf‘Ð:c{‹xqtާ`îÜfdÇÎmlÓ2bóJ‹ÄÓz?gOj9ñ±ÊÙ$³FÇ}½šEBëŒ=¾£mu>w˜‰Ä’ë½]M‰ 9Õþwi’fU8&1`:÷§9˜³_íPõÓÿ>:f1©ÄYgìO£–çhÉå.lFrƒ±Öc eÄ­™kI Î>:ÎY{(‰˜5šôïÚ,Zgìê]gn¾NrïºÖš¦eĬêD˜àNµP]1k\Ow“äļ½ërI„Ö›HEÿùÝëÜ€<¹ÏŸ· )¸3[Í&4«2jÒ̹œ}9rN±$·FÃ2&¯˜"ëŒ=¸cbÇ9ªÉšçO$w(lí>ZFdecWÊüéG¾¥€˜µîŸ«IrbãÓ&âÖSw\³@h±;\á-&Ì}ä>”ÞÞ£$`ÎlåšDâÖ GÒæl{N6‰DVL†|[R"f[éÙ-Zgì»o;ÏÑû~ª€Ü¹³gkïÑiV6s]*àâ‘ÄÍÚ·O—&0çÃû’DâÖ¸l—nÈ:cÛÈ#³~ÆSøë$w.õ¶%wª…ëˆYˆ’¦3Úlo—Hdŧ˜Œ#KĬqRn‘Ð:c‡ï59¯-êÉ×IîQÛÛz°Œ¸•M\—&0‡ñP²˜ië<Ï´HdãâÝ›%bÖh‹½Ý"¡uõÕÎy¾q˜¯À•»þöv$‘f==)·,FhÖhÕåy•bVL…ˆ·—²HÜ:Ïœbˆ¬3v ϳ?ZŠ[Õ’ÜÙ¸·aqk¶oÍ1‹1Ò"1ë^ò, @Îqn9MU’ˆY£Mš÷:Y$´ÎØ0:ŸŸ£W°f…É]¬­M?ýï³ýk ˆY…€;oNFv DV¼CŒÙ.²DhåfÿqœÚ7Ï1É™»}÷–#,‘fÍ6®Y“4kæÕ,äÞ¬çÊÉÈf¸õn9×,³âµrÌG’EâÖx*nÝ‘Õâ‰PqOxª.ä¾ç3÷oÕ5XFÌbîiY<°â­Åy»%Bë¼2{´c¿ø•{Í÷6! #nÍv°Y ²Øâ¢%bÖè´o--³Æ9}îf‘Њ[óZ%¼Dž¿NöxCÙ[E°Œ¸5[‚f˜Å¼Ò²xhmKÝÁd‘˜5z÷Ö,Zñ®vó~G ø:yã]moóÀ2âÖlç™bò*‹Ä¬Ñ-X{Z$f^mÌD2‹Ä­+ç¹B+šeGÌÛ8÷cŽ„‰\Kb+–·f[Ï,³-·Þº—™bÖ»çl+³HdÅçÝ,ZÑL¿ª ׸ó}ì1G¡·|`qk¶÷Ìq É1kÜw–»Y$²b@ûòÜ1k=s¬Y$´¢ÛvÇXotÂk$Œ$º­¿mX"Íš->³&iÖŒÈ,ÄhÖ¸ùç}HˆYçºý¤EâÖväûO³@dEþÍ0þvg¹cLoýÀ2âÖló™âb”¥¨i‹t퉬àêi‰˜5®Šž–­žZ²•¹­sôLäàvk|ÒÃ2âÖl™âÖlšbã¦ee#ëθnÈŠ3ŸímZ"fy¥¸EB+ﶘÍs®Ï±#ÙŽŽ±ÍK¤Y3¯f!÷f¡" Ĭx.ž/Y1lºç¹w‡øÈÀÍmÜø`’—f C€Ix|Q"péÍY§&HŠæwû”(Åø™#öë6GãDkáIˈ[ó™jˆ[Ȫ,Yñêmi‰˜uäÓÛ-ZñbãÊ6H.ªŸëÊ½Øø€˜» ágSæsÊüÙ”™E(ȱ)£®Å<(øéÊ™ P*øéÊ•ý*ø)%Þk=9¸µœsxMäá °Œ¸5Œf¸…Ðd˜µÝu{“EbÖ™ ·H̺sÈÀ-Zñ®óÍKüG¼1AôçÔ ¸4‹’\B8”1¥='&˜tåH€I&=ë,cH”â¥÷§>®´Üy$þ™v^«;<-Ýó›UOD·æ3²Y[ ™Ö‘mN·&iÖ#…nMÒ¬7ß1¸5‰Y1b;3_£ šAk{0@2àR=éLp R0éÉw&PŠy,G BÄ77J3rj£´yû£eĬù 0‹Ä­ºñ¸bÖ•C:n‘ÈŠÌö|‰˜µ¼³ph‘xZïO¾DhÅ ¨3^·ÇãsÍâ"È{{»Í@2`Ò¼»J"p AS0éΡ^“$Ŭ·xþR0iˉp&PŠÉrwÜÊ£™ñV•!É'n»ËÐ2bÖ¼±šEâÖŒÇ,³ž| 䉬˜§z´´DÌÚsîª[$´bå“ç~´Êâó8Ù@é·™)0iÞ]%¸„p()bJï^w[J’bvL@¡$`Ò‘sÖM" e·Ô‰X>¹'­‘lÊõ[,#fáV+‹Ä-Ä#K!ÊÏSö×-³ÎüTÃ-Zq ÄØIô*ÂùûÉô¼Å\u“žŽ€K¸7QpéÎï MpéÊíLh)½u+¥ $Åìò=«õèíHö"ú–·P²@ÌÚrê¤[$f=ç¯EbÖ»ÖíI ­¨ÛG ùD·uË ²7ÕïS2àÒ|"H0‰á@"0iÏÉ×&˜ôäçî&HŠEw—(Åç'W²q^ê4ƒÜÙƒí÷FX"͚ϳ&q ñÈb„fùuƒ[ n½¹(†[ fÅrWg³HdÅ'IwôÁb<$z9²ÃßïS2àÒ|"H0‰B"0éÌï¤L"kcí. ˜´-nÔ/þ9¾L‹qÁ1º³äH¿sB2âÖ|˜bã e¡ÊÊ›"+p{N·DÌÚr™;·HhEV—<ç稸Y×ÊQ(> ¦$Ф™SI fåY‰µçäà·+{®Ðh€¤(»-ÞìĨæ‘çO$Çíæ}?¿Í—eÄ­ùX1 DV,už×-³b‰ô&xJ¹^xK „V”ðžÏ±ØÁ:$88Ňݔ ˜Ä˜!˜óòšD )öÁÈ»$—bswæo*Q1ÎìᎮÓZgäÌÜþÔ†%âò)‹9wk>2͚ĭ÷¨û²,³îl‡Q©ŸíïW΀seY±H@¼~=r\T¿Añ W#§úi ñSáOWÒÕâ1%ÖëËÚWŠ~š2:=‡)üéJî$?©ÄúOö-îV_'ùr¢?â`‘ÅG;-·‹,³b‰Ì&ÈÉ­ëV—DÜ:s›[ ´bÅ7Ë&¶¦ÎbˆÅN~rSp uJMªhä0\*Û^”€I±³eÌ` DФ»j²¤ $ÅMjoåâ=e–‰¼oâC –³òÉ.¥~úßšK+Ên€œÜãtuIĬ-÷=u‹„V®×“OÙØ±: @àä°ŽÓÑoWæ#]€Iˆ~»«B»2K‰-~_OFÀ¤=÷6‰À¤#7¿6‰€R<£Žø®%Þ××pœÈÆ¡*¶ `qkF#i9¹Oüê’ˆYÇ[=^Y$´bm®œ§3rhLàåSn«#G¿]™- 9’žhãzB&ݵc½$—j+z“(Å lw^=qöó¼ˆ\ØÍHæ `:æÄTÍóܵS½$³žÚ©Þ,Z±ÒÞ“ƒŠ±ÃuG°s8ˆÍµ)0 …£Hößæ”—ÞºçIô¼µE=%—j‡z“(E+cÉê·í¼3‘l öMR(´²õ$åÙÿþ~~Œæ3²cç35ï`q 9•"‹ )Z"n=uÃ2 DÖ»Öò²DÌÚjy³HhE«óˆ¹ï1‹0ËÖœL×[|ShÒÌ©$dÝ$´¦(¸´åÚ&˜ônµ<%—öÚ?^€¤XªùÊ AEAÉi‡½aˈ[³!hˆY ‰Yñøíi‘Èz÷Ú>^–ˆYGmAܪFäÇx­ Dˈ[3¯f¸UÝ ·@ÌŠbºEBk_®ÚÒœ–·jq·@hå~—™Õã“ÓxòÓÅÖ ¢dÄ-äTˆ[Õ»p Ĭø ®[$´öå®ÍÍiq«vw „Vì{zgÛ"F³Fˆì C¯‡–·WY nUïÂ-³âóÕn‘ÐÚ—§ö8§eĬ·ö7‹„Vn…›íóø@¹ªHláûÓ¢%âò*Ëâ‘5{%fMâV|´Þ-Y#îÚ3–ˆ¬Ø›yÉs{5ÎeäÖhúA°Œ˜Å|ѲœÊšý³@ÌŠÅ*ºEBkDT ÅÓ2bÖ[{¢›EB+÷¤®\¬ñêôë䈾UïáÀ2bóJËâ‘uÖÚ,ZûºÔfí´ŒÐŠó=¦ÇIJ{GsÁ Õhq.9;’–ˆ,õ.`‰XZëV‹¨*-’fÕÜnM"+7†ÏV[,e/rk =XFÜš=(³@hYILˈ[oΣt DÖºÕ^ä²DÌÚk¯n³HhÝW¬LÛæšÈÐÔs€eÄ­Ù‡2 Ä-D$ ĬXµ‘Dֺצå²DÌ:jSo³HhÝW¬¾¹ˆõBªN€+Æ—Ôw€%Ò¬Ù‡2k’f͈ÌBŒfÅ‚½Ý1k=j{sY$nµ³·Y ²îÑHyc$/–WÉÐŒ<Ø Mý#XFÜBîe)Z±üt·Hd­gm^.KĬ«ö÷6‹„V¼ËZòùëßäÙ91r¤Þ,#f1¯´,žõ·_eˆY±L}·Hd­Wmò-KĬ;·ù6 €N¼Ûòyoæó\“ì+v8Sß–ˆ[È©,æÝ­Ù‡2k·b+‹·Y f­wîö-  9µÙ·K“ÈŠ—{^±²RÕ’X?¨wõ ‘ÄœS"1iv L‘›Øt‰„ÒúÔA’DLʽ¾Ý™Ê=Z­gU„=ng_'¹ÊRïäÁ2b³I‹Ä­Ùu2 Ä­·nèfÈZßÜ÷[;µí·K ´îÑf½bM˜\BìÉrÙb©¬ÞÃ$âÒ̧Iȹ$ô›$¸ô֭ܤI$mKmü-‰Ä¥ÜùÛTîÑ }òÓ™ª"ä‚b½oˈ[ȸ,…B =&Y$fÅ¥Ý"‘µ­¹¸$wjp—@hÝ£ƒöæXB¬–—Aäšû™©ùɈI³dˆ$t%‘˜„ˆ%©T64àkI"”¶­ö—$bRnîÎPâ½úZgj‰–Þ×I.¯×û°ŒÈb/‰–ˆ§…`”–†µí¹ ¸$:ñ¶Ëósë “Äú³±ýÖ… ɈI³a¥í¨ ·%‰H:kƒk“H Å„lgÅlÑN ×FìHFÜš](³@ÜBIJ@ÌŠik=-YÛQ;“Ë1묽²Í"¡õŒ?žñ¥â“kŸ,’Xâ²÷ 1ivL1 áH‘4:ž1IÆ$JÛYû…K‘tÕ÷k&‘@z–Úu'VG}«*ª8hëPRß YÕ'rkö’šUÁ¸…ðÌŠùt=­IÜÚ®Ú1\H³îÚ'Û¬IÌzÆuþÜyÄ#>^ý:‰uS[‚’“ªGäˆIP’B†_²4€Êv×VárD$=µ?¶I$bN˲g1­Ñ"ý:É5o[爖·f>%19Õáp ĬѫººE"k{êó&Y"f½µ…¶Y$´bÖNôKr=䪼½WD@ÂÌ¡Œ¢õ;Ü(@!>Km¶·vú–Ae_j£l)$S‰ÉG{¼ù‰%©÷<é"¹\rëÑ2b²L ÀêZ¸bÖ»åDQ³HdÅólm1k­=²Í"¡Ó˜Ž<[œë¯XËÚ»@T¤0—tHLÊŽ…;PÙ–Í…ù“GÎ[½ I[íˆm ¤g‹íµâî_ÕéyV Í^-³*—Tf¦ýïÕ™pe·Öµ²@ÌŠng?‰[{m…mˆ¬g‹ÍâXâ³±:÷$±$ºw{èHaÎ阔 w&kG5€Ê¾×¾ÜrD$µýµI$ž=öD‹JŸf99"†Þ -#f!Ÿ”‰œê#¸bÖ¾ÔmY‰¬ý¨=¹e‰˜uÖæ×f‘ЊiyK¼¿Ë]²ܱ¢¿÷f蘂|ʱXÖÖµp§€”ý¬¶åPŠÙx[žªëª)#‡¯¶ã­Û,#fÍN‚Y$²ö«v˜–%bÖ]SÌ"¡³÷´Ï-1²ÈENŒ;¡iOɈIÕ r Ä$- DÒhË<]"¡´_5wI’ˆ¤§^Æ›DéÍã3X×RJF6;¡eOˈ[Õ½q Ä,†C‹Ä¬X`¾§E"k¿k+nY"f½µÕ³Y$´ž#vЋŠUWe y?¿Í}HFLª.ŽK ’Ž$IÏ’‹;›DBijnI"”Ž¥6y–$é9c{À(–øø<+ƒÈ¥¡'´îaqkvyÌ1‹áвiž/=-Yû[»pË‘u,µ´,ZÏ[ æ©_jØÈÈΡ%4ð!1ivsL‘Äp(YÈ”êf—@(KmÀ-IDÒZ{@›D)&4¯Ù ‹µª2€ÄÓëüéÀiÖìä˜5I³f8f)ä…mî³î¾´HÌ:ÖÚ¤[‰[[m`mˆ¬gÜž¶ljÆÚYD.lB¦Ž ,#n!÷²@Üš½³@ÌŠ-»E"ëØj£kY"fíµ…µY$´b:ö‘÷XX$ë„ÈÎ/ön`q y•âÖìV˜bÖvÔD‰¬ã¨!FY"nÕÖnÐz®Qa2ýX‡åÎ’9lB¦þ,‘fͼš…Ü»5»fMâVlyÜ-³Ž³¶°–EÒ¬ÚÂÚ­Id=wì25 –­É:!rsŒÝXFÜBîe¸5{f˜gën‰¬ãª-¬e‰¸5ûâfÐzîñDÉÇn,>”uBäÀÆeêÁ2âò*KñÈš½ ³@ÌŠ›z·HdWma-KĬ»¶°6‹„V|<°ä0Z,Ö´eI€ì¹™bïÁiÖÌ«YŠGÖ웘5‰YÇ]OË"‘Ÿ+¬y-Ä‚TyErÃÈÙöÜr."-#nÍn‡Y ²Î¥6-–%B+>EØó™k|e©Šäœ½oˈ[³ÓdˆYŒˆ‰Y1šÓ-Y±hŽàÓ‘u.µµ±,Zñ¹Å‘ç#–D«3²å–¥½wKÄ-tŠd4kFdb4+q{Z fKm>-‹Ä­µ¶\6 DÖóŒRÖòXA®êInñÚ»°Œ˜…^‘,·£,YG¼Þii‰È:×Ú|Z–ˆY[m½l ­çÝÆÍ*Ù‘}äV½½“ˈ,öh‰¸…ˆd˜ok{Z$²Î­6¡–%bÖ^[/›EBëyÊÆ|¬›˜u‚dÍ­{O–H³fçȬIÜBD²,jZ1A£§bÖ¹×&Ô²HÜ:jûe³@dÅDKJW\Ð_ù¿½§Éˆ[³ƒdˆYŒ–ÅL+ælõ´HdGmC-KĬ³6_6‹„V|Š´U^÷¸ÿ}dýé=XFÜš=$³@ÌbD´HÜzr®¨[ ²Î³¶¡–%bÖUÛ4›EB+>·Ú³‡>®çíÎ’ ÉZÖ{C°Œ¸…¼Ê1 } Y$nÍ—àfÈ:¯ÚdZ–ˆYwmÓl ­w·Î¸^Öqÿ[«Näfñ­7Dˈ[•W·@Ìš} ³Hܪ—nÈ:ïÚ€Y–ˆYOmæl ­wÊ´Û£ôu’ϙ֢eÄ-äUˆY³a‰[WNÌt DÖùÔVͲDÜʽš]š€Î»Öc…³B䓨õ„(q ù”¥XdUÿÂ-³â Än‘È:ßܱY;µ}²K ´Þ5Üã¾ÆªÑU@âûÝŸ~-‘fÍœš¥hdUÄ­I̺–Ú²Y‰[kmlˆ¬øq‘–5õÎS-’mÌÖb§eDz*²DÌŠ5Oöf‘Ⱥ6Ï~òïñiäV¥¾FßîëdçXZÓ´Œ¸Uý ·@Ìb.i‘˜µeÙºE"ëZkûgY"fm¹G²ItâãÏ#ÏV,ï^ç$†ÏZ×´DšU½ ·&q ñÈb„nå]µY“˜umµµ,·öÚ$Ù,Yï¶<âYcTFnŽd¡-Mˈ[Õ«p Ä-Ä( Ĭ½Zšf‘ȺöÜÅZ9Gî“lwü«ûH¶ÆèÏ×ɳt[Ëš–·ªGáˆ[ˆFˆYGöÏÜ"‘+C/§["fµQ²Y$´Þ=Ábˆª ÷ÊQ,´¤i‰4«znMÒ¬‘YŠšÖ™ã8n˜u¹“µ$w®Ú*Ù$Yñañ’w¼ØÃ#k„ÈÃñ0´£iqk¶Ìq ÊRÌ´b…𞉬몭¬e‰˜u×VÉf‘Њ§×ú—[m‘fäÀilGÓ2âVõ(Üq É1+–Ìë®Í¬e‰˜õäW­n‘ЊÄ÷ÌEìSu$ÞÀ½÷@K¤Y3¯f!÷nÍ6¹Y“¸õìyC“49×S[YK"qëÍýžMš@N|h~¼™ÒU®y°ášú °Œ¸5s.iwfkÜ$³bÓ›n‘ȺÞÚ8Z–ˆ[µ%´[ ´Þ3’« öMÊÚ rjìmv ˜ÃœR"q«ä&M 'ö5[Ý!s/¹‡I"nÕ–ÑnÐzÇÞ1æ½ÆSYHbE¬ç§ßKÄ,d•óîÎl±›4I³br\“ ˜s¯µµ$’fÕÔnMâÖV[=›"ëUçÍÚÛ­YV$Ù[éýXFÌB„”2œ{¯M£%‰˜uÔÆÅf‘Њ%–{Zc³<Ï"ÙëísXFÌÊJ$¥~Úß÷œÑï ‰¬ûªmse‰ÐŠE¶¼ºcó¶,s‘ìmöö4,#nU7¤ ÌaN)‘¸_ñ4i9÷U›K1ë®uÍ"¡‹Eìy®bû½:{$9^ÐÚÒÜ™=“@ܪpLšÀœ#¿²s‰DV|t£à²DÌzjS]³Hh½ã±ÉŽhí}äØJoKÃ2âVu!LšÀÄ# ĬóÉ›¸$9÷][K1ë­~Í"¡õÆ&ÞÙ¦Œm³.ˆä8TkGCpgöLqk†#is®§îá’HdÝOmw,KDÖ³Ô&¿²Dh½£ë÷ä˜[ìËYudÏqÄÞŠ†%Ò¬Ù{0k’f͈ÌRÔ´î\•Ã-³î·¶;–EbV|ü´4‹DÖûäÑŽx¦}ñ+Ç[{놷f¯Á,·›,EKëÉÕqÜ"‘õ,µk²,³ÖÚTØ,Zïhè¯UÖxþäøto?Ã2âÖì5˜â"’¥¨i½¹>–[$²žµ¶W–%bÖVÛ›EBë™Ø3¯±goÕ-ß3ô64,‘fUÇÁ¤Í™ñ˜„eÅâ½K;‰YÏV{1Ë"qk¯=‹Í‘K÷9j;gÉ·2½ ˈ,öh‰xZˆQi˜µæú’n‘ÈzöÚqY–ˆYgmëk ­wœØ+ï±#tÖ‘|‹Õû °Œ˜Å¼Ò"qk¶ÂÍ1kË5hÝ"‘õµ5³,Zï;0±Swì Ö|ËØûDÜBd1Wn=õt0k³ž£vŒ–EâÖUû ›"ëîÍsû•×Y$É÷­½ˈ[Ƚ,ÅC = Y$nåêåÍqë¨'ŽY ²ž³¶––%Bkµ¨²-›»GyÉ÷Ó?GœVË­c©§—,·foÊ,Zk¬¤5NÇ2ÎK?Ä ïÓ{”Ô#hVõ‚Üšý"·îÜëÉ­IÜzîÚëYˆYk¬Ü­Úe\7û,SœýÐZò´Œ˜5{/f‘¸…ÜË1ëÉíÜÜ"‘SLã´,³žÚîÙ,Zk¬ï•aï5l$prl -wJFÌšý³HÜB<²@Ìzs/E·Hd=wíz-KĬ·6|6‹„Ö»úËxl.U#Hr6OkÏÓ2bÖìØEâ"’"ëYr“U³DÌzjëk³Hd½Kíù,K„Öˆ;;;ËsÕÀÀ«Ñ£Ùv§dDz1²DÜšñ˜bÖšû%»EbÖ[[_›E"ë]k×gY"´ÆÍ¯úM˳×(“‘‹cQhÃÓ2bÖìŘEâ"’¥¨im¹Uº[$²Þ¥ö¿–%bÖhAnÝ"¡µÆÊwñ´\Fïá¬*A²st mxZFܪތ[ f1"Z5­}«»±,Y1•cÝÝ1k«ý¦Í"¡µÆ*zÑÿ]F/ð˜uäåZñ´Œ¸U½·@ÌBD²HÌŠ5˜{Z$²Þ­vË–%bÖ^ûR›EBk•£u±Œ^óVu‚äâ(Zñ´Œ¸Uý·@ÌbD´HÌŠÅh»E"ëÝk[mY"fµ9µY$´FÜ5n°ÜkaÙ±Á[´Œ¸Um}·@Ìš½³HÜBܲ@ÌŠÅB÷f‘ÈzÚ€[–ˆYgmbm ­Q:w¬;±\w vÄVn8‹±¬ín’ˆ[³µlHK«zžÖ$ÍšQ›…r¯?b¾ƒ,YërÔ(Ër¹%œ[©É6%.ÍÖ¬$“b¡¿–¤7>g9L 4ò™`­‘'ü<48…æ#f¡™)‹Ä-dR–â 5šhKO‹DÖ{מزDÌŠïEŽf‘ÐZceÌÖZƉ=«&¸Vlç¦ÖÕ”\B3“@“f8’1¤7–ó”\Š×ЯK.½µIµ$Ik¬û™G;kÀIàÖ¨ÚUŒÈbû’–ˆ[OˆY£-ôö´HÌzk“q³HhËRÛTÓ2Bk¥M¬ [næf ?ê ­)0 íKJ.!J&Å A-%J#˜Ú«’“ÖÚ×Z¥q n.ÇC_#g~0Õ›X°DÜBÓRH³fŽy–AòkÑÞ‚eÄ­Ùþ3 Ä,æ ­q¶j§vZFh­± ñžçfÿì™y‚ü ¶·¦dÀ$4(¸ôæ49“(‘ãç”d€ÒËŸYÈKLãø:Ùbmæ|ÏI˜´Œ¸µä„N·@ÌBû@‰[³dˆ[[ˆYñ)^O‹„Öˆ»^S,ù“ýÌ}újüé¼êA\Ÿ:é§+{®¬C?]yëQ?¥°ñPŠ~º2[PPðÓ•%ü¤².O½uYÆÃî©ÓO’ߴϯ3Ö:Ù°Œ˜õ<Õ‘EâiÕº°´@d©P`‰ÐRû–·fË,Z#îzƒ³ŒÆAU‚\`®eöæ˜ätôÛ•kÖ:’ö³6¤$ Iå2%/ºmûikLÉ€IhbQ" ´ÆJÜ9¸6Z!ç¬ “l¹TBmßòÜÕã€%Ò¬£†ÍÌšDÖ>®±Ê*,³X4´¼ô–û§¹K¤Y³…eÖ$²ÖXI<^ÀE GA®xQÛaG#MŽ~››ê4‡ÀÓ9j¼_ P²’*É%µ+¦dÀ¥ÙÀ’@iUÒsLmT“­ªI® ’9¿®yÛ†eÄ­ùø2 D–‚†%BKO^XFÌBëB‰[ÕÀ2i:#êzÇ×T ±¬‹†Ÿb5žC’@“ŽÊ§¤ \Â3•€$=ħ$ i]—z½ºŒí›'PäŽaïy“]jˆ–³Ž;§å˜EâiÍg¡¥"ëMºìMБ¥Â‚%bÚ²Hh¸ëòÛ`WA¥:žsžÂ’ ¸´Õ‚$“ð\¤D éŠ;“9ü-EE<? ûo[ƒ¥5îãnïûÄõô%ɶâVWÿaȵÇ-µY{Ýdͪ‡¢IxJš³_Ùð2i’fÍ6ËOÂÚÛÍšíYë;ªö ¥*‚CPã)µF?ˆ’“FËp”®IžR>=%J{dá:$p …NIgaé­I”Öø‡{V…-C_'G¼<œO­Ñå4IÀ-Æ,šbV>]ëÛÝ—K"²T°D̪6†[$´Ö¨ØG¤ÛuW!Lð®Ü¥î|s ‰’€I×’#D’\ªg¢IMʾK˜Ä"†¤2w)›.M iDœmé-ºTˬ †ž,¼iq+ÓšbV=óÝ"¡µ®[ÎÒl«ýÖŒœØom°œ¥Ó,·rÎL³@ÌÚsÎŒ[$n圙fЊuÍËÓ2¢´b•èãõ´D<÷3îûc^^6ÛýSf©ld͸ÍRÙÐ:rF‰[ ní9Ç-³-zZ1(–9•%Òr’¸j[¶V6ëo0Ke³þÖ ³T6Øn6‚d‘5.f‰ÐR €eD–J–—Íú[WG«ð8[]½s]Ï^WÍ1‹eH‹„–åuZF,­ûó,=_$ž/äu©MÕŒäÚ¥?¹—bóJ‹DÖ¶ä›n³DÌZó¶[$vDFÄ#’øQïuDq^1£Ÿ°íºr Úy=®ÕB’EâÖQ™b®Y$žÖ¼Þ--Zª™°Œ(­ø(liù±#2î=ÆA[Iäʾ?%A‹Ä-Ä- Ĭ+g‚¹EbÖ™óæÜ"‘¥ˆ`‰ÈZbÕvD;"ã^¢»ðíe³ÿQ'hYÙìÔ Y*›i¡‹#ˈ¬êš˜D@ÇÎÿ”Œ(Wйò’ÙkêyGW®ÕÔ\¥º×TY¬©f¡eY)Êm²MC‹¤Y{Õ³&q W»,·PKd±ÞXîQãÎ#Ί×Á3õžVÎÝlˆ[9K²Y f¡.É"1 ׋,Y<·´Ddņ§KžwD½Æ@+‡\ý§d¸…¨e˜uçìG·H̺r¶¨[$²$91¹ý}]ñ¼Ï¨G{~û©¹Œ}/³PnͨÍB9ÐÒ˜,³Ø“§EbGäÙçUÌBܲX–{ÔÊÑ/]úóàÈeÿ{=•EbK•‰¬m›-;Z"fí9“Ê-³p­Ë"1kVIá¬o#ú÷h5ðÈM¦•ó‚›bÖó‚Ý"1‹µ‹‰§5¯K D–Î5,YñIxÏ—ˆÇ8ã÷÷»_‹GntÑKÂ,• -Ä-ËʆÖsV{SHKëªA Kk³-VìÀ”#Q´HZŒ(‰3’¾½lÖß:a–Êfý­²¬l¦¥2XFhi` –‘5€G1‹%AËÊfý­«£—qô'žۨôº*‹Ä,–!-+ç…×NJ4KĬc›¥C‹Ä¬y¹K£zIÄ#œ5nܱö£ÕÁ=÷™VΆoÖ$n=[ §Éq uIk—§5¯K ×”,žYZ:ײbC©su‹¤Åˆ’¸â±—ÄöhlŒ%! Ä,–-³Þ§Æ¯e‘xZ9ÿ¾¥"K1±´j€U)ÍßbÞc6@+…Ügé§d˜Å˜i‘Ðâø1$9ô¥$¢ã©6àx"–«3ó4›ú¸¾ÏcÝ4‡ú(‹uÖ,”ž,–§¬íxjôŸ‰[gÎÔu Ä,^å´HÜBíÅúâ1Κ6Zv÷ÑêÞšû…Íz¼Õ(™,·òë‰f˜…z$‹ÄӚ׉¥bVY9ó·ŒXr%[`tD,Ƽc\ÐÊ…ãoŒ™–•‹,Ä,Kå²²§¸VO”–ˆ[G½Ù2 D–"‚åQ3_ã--³w|ÆßKbÓXã¦Eââ–BK/V`‘Å÷!´Dìˆóüóx󷌙‰Y¨‘ËÍÑ>Wãx¨‘²HÌBùÉ"‘»×m»["f]ëÏEdñ:§%bêˆ,;"jår`äÒhj¥Y ²XGh‰XZ×ý›‰YwNdw‹D–"‚%bÖ·Ç(â1"î£}$»Æ·,YŠ–ˆ,å–ˆ¥…ú«´H<_5òý¼÷}ãXø²pô #ßfa,Ü,ŒÈËâ}K+¿újiéV~9Õ¬"íˆs¬ÝŽˆÑw³b̳¤‘%qpŒNe³­¿%AËÊf[Kâà£ÊFc‡ùE—§Erÿ1éˆ,ÅË£þ‡ôAdñ ¹5ËÐ,”ªYÏû›ˆ[ïVqË1‹µœ–®³P:²X^žûYÒ÷9ÇÍDbSó6tk %ŒKQJ¨Jv¸ý uÄ" §U ¥Øµúl±iˆIs¬Ð$“P‰ìp¨Vv¸Y?ìp¨1”xV)éÒf‰,Œ÷ɱ´f5ò#‚ø«‚øAdá¤Ê‘»È,-÷"ž/Ľsˆ äŠ×¨?%A‹D–âÞ9pbim¹:…§EâG¬Q?"ˆ,EKDÆyd‰Øy>–˜¬ÜÎЃI?gˆ‰Y,C¥¥r¦õæB+n‘¸+­4i9¨â’Dd©l`yù)ÂYÎÏo{ZÉ/Þ·ç›Y faÔO‰§…ºdGDíò#ÎZbGD½‘Å3KKçZÖh¿ñ&KIËJâˆÏ}¼$žü´ç§$h‘ÈRIÀ±´ö\ÂÆÓ"ñ#ÖpD–b„%" Ã=²Dìˆkh¹:£<~r% Ä,– -YÇ~—Ìå÷žM"‘Å !˜sLË“ˆÇ7cù½ÎÍW/³T.Ûo‘e勹 å9Ý~Ï!-CÏW lߣÏ;’ׯk ]–ˆ,Œ[Z$fÝw Y$ï#‰nÐÚF§ö9Ý2òþ1Þ¨´D숌{~ZIœqþ) X"²7Ó"që¬>¹Y n岾͡eqOˈÒÂË¥%òOùZ0ŒG²i°Éq y•"ë8÷+ %âÖ•ƒ&M 'ö]W—DhYÙLˈç}F=n2k??±žýï¹6 Ä­µY ²˜WZ"²xÎh‰Øçø|l˹´û{´7Οw²DdñÚ³´@Ìzîê!Ë"q«CÝ¡µÅξñI-#J c¦JKÄs¸—øÔ·•Ä®?Æ KD–âVZ nÍ;šY fáþ"‹„–Å=-#J‹w4¦%òùÚî¹Å çÛï1"³5-äU–Å븮É EÒ¬÷³w©€]¡DÜBÙȲòcÞç¨}lÞ;ÇßHîÏïû³HÌBíµ´@Ìzs­f·HÜšc¦fÐÚF'9Ö$¤$ ”8fÊ”D<ïˆzÅèÉ®3FM‹Ä,F­´@Üšw³@ÌÂõ)‹„–ž’€Râý€)‰üC®F'kŽã1W‹FÍYˆÐ,äTó.ë¸Ï\vUI³b`«[“ÈR ‡eWY³p$¡´,ï¨më‰ñ7’[cfsÐÞ¤ ÌÁ›I$f¡¶É"ñãÍ+Å"‹õ›–­-vS¯²š–?"¢^çž"·ÝcØ’&0‡QS"‘uŒ¶»DàÎÒ¥ýÝ☊¥Â1c&$b¹ÆYXŒßñ¼¬)ÃYÅóâÖ,9³Tºå{ι EÒ¬'ukY¬ØTõå°l(yùi„2 yÜì.+óX~ÿù¹7DßÐ1kVI~¼ªv¸ äð|R¡µêŸË¹Ò2âÇË€·94ÆâXŽßø¥¨D8zÆhay‰0­‘»§EâGœ#ÄvDZË´Z¼Ëï¨1Ó±Ü×i¸FK|ïçeåÆ}ó4ÈáyqgéÆòó÷÷ˆö]™¤[w®îîV³X—iY}7k–‰Y,%Ïw•ï5®ímõ¿Þ'æ ù(½Irð¦@’ˆ¥4kÄWuÃ" çS–­m<¯u7ˈç Qï±De+‡3Fz9P£¨!‰XJ[®•d)øÑrPØ6‹eJF”Æ„•”ˆgâyã#ôvn¶˜ÙÏ,ž³Pz–ÊSÖ9Ò/·HšuÇB6ÍšD–ê;,»ÌBéÈbyyŒUÐÏkUYÉÇêûOŸ7‰DÞȱ´f5²ãMàÇ« b‡›@Ï*%ZÛ+pyRFcõiűV !fZ*YÚ’š¥àΛcj.MâVLM7%ê•€RÁÛF%Dò9:c¹ÈoÏãþs†Mb°t*×4þ~ŽvElN EÄ­7×òq „Ö6š{;œ³XN´¬äâÝ0ge²þž]I,’µŸ7È!Æé”Ç©´8Ö?ÎñcÕ›·kc\ÉÞÅÅ¿[öþŽP‰Y¸È,©î¹Ì´,Yײæ"û²Dh©ŽÃ2bK‡–• s?ßÂ]Û‚Ñ4’=Þ ¶7²Dd±öZZ ²Îe‰'¯Y"–Þƒ(-ZÛ1Nòåù2"‹oKh‰xîgÜë=7;y㻊^´Dd1nK Ä,Üd‘˜…kT -Šˈ,Ü(üS®FC¤gêŠW©?B"0‰ù„D éZî\3’€Iëš‹hK" ¤ê=%&±T XÆñªne=ýUݵîñAE{)( ÀTZK DÖ¹.Ñ-3KÄ,¼òEBk‹ Móa ˈ,¾¡%⹟Q/O/„%Þ§¶B˜JÀÄ‹4¾^ÿ¥ð§§‚Kq¦Â+“ŠÂLÅ¢–Â˾þüǼqU{vFaï¿§•–ˆYÌ4-Yq1î·["fm™G·Hh©2Ã2"K%KDGä{¸ñºÛ‹¹ñ϶íçU $I¬¦J À¤5z4.¸4ßrH ´–év™d@ß„@ðŒWÄñ¨>Ï^yÿie ËKeù¹z=-Ëòs'0 w?â¼툼Ri1lZ­d–Ÿ;,Þ þ1_ãž­ØÒãÝ~C„D IyŸ’€¤h¡Ä"í”\ʇ–K”X³!0‰%‰À¢›ïᢷ²þfîÜw{(‰@*­§bÖVÏf³Hܪ7!nÐÚÎkdô1ˈ,¼ ‘%⹟Q¾ÝÚ‹!›ª­à°¤0f¥ƒBp©n&Mà.SJ¼n))à)Y HÂM€Á?æéŒáÏÔ“MúŸðd˜Å¬Ó"‘ÝüØßN–ˆ[o¹BKU–³XZ´H,÷¨j±ã}«{ãŸí[/g€$¼¤$`)±æ!%?ܼHt8Jª×S2 é|Çé²” øáfÄ÷ùýöBYïŸ20K¥‹1ÓòbaZû“hK ¤YõVÈ­Id)"X-hXx+$‹Äˆ“[Ý·³sç P?;”\B™RR!CŠÏا‘’€K9æ%Õì)0‰%ÉŠŽg¡ïñÛ }ô|ž»¿œs DÖ|?(‰ÀRbµbJ$~WZ!°æù—Œeb+×§,X*Ž%fø.>ê3t7—#íSŸË–IÅ ‰åžk+ÖÜçUi™Ðz×uбµ\çÄ $––Ä É“÷Ö *Ñçk>•+yË ¡Uç–H,_Ÿ‰ËÄò. $–ï¶B~Å5µ× qõ‘üOޱDb%VY!±Ú»JÞXe…ÀZæ¾ý$,[îä’à¸6–L˜á»©-é87.Ij¿·ã2©X"´Ô{Ñ–û3¬¥¯¹¡Ud´Þ´^k¹? £E!‘D†ã¹[{EáßX™yþÖA+3Ïß:¸-TfþÜ#h‰ÄÒõ+ÄVêP 3î‘B~E5·Ç3‡¨Vi%ŸX"±©¬XíNí“L¬Xk±-[îá¶@bÝŸà˜á»,©/õ»¹Pi»û©aU,XîËi˽ÖÚ—gÒÚz—}°­"±–ç/møÞV,­‰eÂ#º{’…œÙr%d…ÄJ%Ü– ­ºCÀ¥ë3–‰-T¢,X¾GØ ù×Ü^/9ÄÕ—õ|rŒ%˱Ú2‰Õ^Š8Ý´B`mýep´Ll¹“K €ãÚX2a†ïú¤¶@üV,µßóY-šŠe˽m©‡ÃÚúÂ~Z"´j,‘XËÝ:ï +–Ö‰Ä2¢W%ööªÊ¿±6;s%d±6Ë÷ÊF[©Íò½KÄ2¥+4–‰-T¢¬¡6Ë÷.a+äW\K{UåßéôÏÙ¶…¬§ï½7ò‘Õ^€Û^Â+„V‰è`‰ØJ/—ËÕ±… :úZ­ÔŸ,º¹~i;çŒÃÕ*ªX&°ÜÑ–ú8¬}éŸ6a‰ÐªÕ °Db­Sݪ$Äñ’K!CìªÃÑ6^`Ž«Íõ~ê +$Vê¶D`éžË–®ÐX&¶R‡’ìäŽ äWTkç…ìƒK>¶L`9R[&±Ú ½Û+øc…Ðꯋ,[éá²@l¥8% öZ²ÔÆO¶cÉ\-‘ŠeË=m©wÃ:úc¾´DhÕ¢X"±Ö©ý¡§ËKGl… Ñ«G ²6ë·’Xšõ[‡´”ʬŸÛC$“Hº6#™HBJʲ~î’@~Ä´jHQÎÿœf[HxþÞpc!YmOŒö¾™X!´úŽƒ%b˽[RWƪçØkÝR%ÂÅ•L›_õRˤ¢„¬ß.œVD¤œýµ TLÖq¥u€ºÙÈXÇ…D6@ÖOÊÛY£!wÆì”£­XNm‰ÀÒUË–®ÁX&¶œ°¤;¹æ%üŠj«ýCŽÿÎo‚–L"9NK&G¶_ì;Ÿ@ Ô·‰$IéÇ’@"©,vv­VÛ¶YCƒ&ýyëa©X¬Xî©hKÖÕßgD˄ֻ†–ˆ­ujŸ[Ùˆ-¯˜±Âè+ïö œk¬D{UÊXK)„%g–T‡Hºò#‰@ÒEÉ—©¤¤, E”;€¤_1mm¾àoŒrùžæXHØ–C·…ddµõÚ+Lb…Ðꛊ –ˆ-wnIp\+K¨žc¯…ý­J—~´ß›ÇÕ(‘B,i5[‰T‹ ™@ꯄ$IëܾíÍ@$yE‚%^ /W{†}(A'ÐX[©A,§Œ¶T´UkíЖÛÒ] m‰ÄJÖ²P[Z†cÉàgì{›ôfìK{UÖ'tI!–¹[2T·BH"‘t_Šd" %( DR@~Ä´´ÕCLýa‘Oz±D`9P[&±Ú†«}TÙV­¾ç`‰ØÊõ- $Vj#+„9ÖeÙÞ¢9^¨K{ÿÚxåDòµI×.Z*IKš"™ ¥Z«„–D,­sû(ÎÃ…XÊ]@RW öîßX”õŸØBUÖжRYm»î¶gd¬Z}¯âÁ±…:”5Tfýv†X&9bÎÎÒòçÙ™Û£‡ŸrIb—ï)´d"É«Í,HB6% /㺟örä}废ökÓ>®Â‰eKkØVXmk„i8¢É`½ëh‰µ.mØfƒË«l… Ñ«G»S±S{Oî§’B,¥iIÄR{+ü6.R9ö ‰HBJ‘ä5L–@~Ä´¶¿jCLý‘òOz²Bb%д%ëj}ó¦Bkïï/§%bkÛèÜ $Vj#+„Ñ+ïé¿ésvÚË—?…b)Y§%I´$I8a%àpïêžöZ˜{åzŸõî¯?Ö!Å ‰¥+m™ÀZúÆ´Lh½k&h‰ØZ—ö%™ˆ--­°€ã9ëµ}ù+³~Ë ‰…Y¿UpK¨Ë:ÞÔ(‰XÒý$Rˆ$$\ÒP”u¼£YùÓÔ&ïÿÆ(çNr¬$<ïßÐe1™Ù×éÕµc…Àj«¶Á2±å«Ò,ׯê—ße=íMbÛÅ…>Ïï«¢˜Hq‡M+îÂRÖµC†"å]$A¥H)ëóäjïï°RŠQX ñœôÖ‚dÒWeÔ'oY!±’ºÛ2¡U×=,Xºc™ØB ʱå _RÀ¯¨f ™¬fs:‘D"9NK&–®ör§©}Û¾ÉDRz²$H®Š%d÷.ßYÛÐáÊ=ë5eÌ«–Å2åÞš¶Ü£am}W@Z"ƒõ.Š U$Öº¶iZ!±´vÂ’ç:l5‚rzÃÔAVH¬ÔÁm™ÐªË–,]˜±Ll¡eØÊ}@ȯ¸f ¢!ÒåŸs+Y/ß»k,ä#ëjcC[!°Ú¨ì>X&¶ÒÅeÄJud±‚Éñ]¾ÓöK­ EÎÙ;jYQ,Xî½iË=ÖÞ÷€¥%2´õ.Š`[Eb­ëþßÜœm…ÄòÒ [!<¢+±×hZÈ™10WBVH¬TÂm™Ðª{,XºFc™ØB%ʱ囂¤€_Q-µ+bÈæ½ “O,XŽÔ–I¬«MKí´B`íÓ£$`'=\,WÆ– 3|ï´}WkÇC‘cö^†ZTË–û.ÚRÿ†uôÃi‰ÐªE°Db­k›”£ËK'l… Ñ«{[ÅJì}—åO%d…ÄJ%Ò–,Ýb™ÀÒõËÄ*Qˆ­ÜdüŠk©éúÏÙ¶…¬m9V[ÈGÖµmŠHtîþælJ"¶ÒÇeÀrml¡~޽–ï¬-¯“ zÚïÍ÷¸Ð(– ,÷^´¥«ý-Zµ6–H¬õù“ºŒ+V-¡ˆ$0Ä®:µÇ!+£=SY¬Ìô½®ÑV*3}ï±L`éúŒeb u(k¨Ìô½GÈùת¡:“½}ÎùähË–cµeëj‹ÜvZ!´îÿ¶Q*`'=\H¬ÔFVb¯5Ú2åHm™Äz¾ ´0"йúCã”Dl¥‡ËåÊØ2A쵺gmß¡N®÷i¿·Üã"¤X!±ÜwÑ–¬6*6Z&°jù,[ëóô|ó. $V­²ˆdÀØ+ëöIxë0µ{áX[¬Ìü½ªÑV*3ï±DhéêŒåëÕV²–5TfþÞ!l™üŒkka1®¶À÷\Ç2åèm™ÄºÚã4;­ZW{6¥vÒÃ%Àrµl™ öZæ³¶1·… Ö¥ï\;,HŠË}m‰ÄºÚÊ`… ­ZB€¶Ll­Ï·°»=:b $–Ä aô•wA9ÇJLíôX [©D,ç¶T Xº#Ä¡¥+4–¯b[É[*K·K?£ÚÛßBF5Ÿí“Ð'C[&°»-“X×óuç d@çì/Ö¦$b+=\H¬ÔJVb¯¥.k›“9¹øe·ŒXÖœX!±ÜwÑ–H¬«M’V­w=-[ë¾=Ÿ .X ±´ž"V£¯¼Ûû2Vbn+@ÆJØbm–ïu¶R›å{°e¶t}¦-_ö’·¬¡6Ë÷aËäg\{ 2Òé{¶m1ëé{ç…|dÝíÁýV­³½d›R;éã’@`¹Z¶P¿é×­mf~áZ õ‰îÞÆuE±Bb¹÷¢-[ëþäÓÖô؉¥U6±BxÄ7Ö¥-8ÇègÁ)ÖX‰>–be[ŠžÖ{Óª+–®ªX¹òl9o[¨D,]DZ|eÿŒë¨ñ¼ËcpÉ1–H¬D/+$Öý„±S2 sô7æQ±å~i –«eËÖÊ—¥­÷:¹fi|ÖèÄ ‰¥õ1lKV[é9Ñ„Ö;;OKÄÖzLÿ­'Û‰¥9üX!Œ¾òn}}+±d NyÛbm<6¨¼ÑVj£Q?Ç*kÈG–åÄ2Žø®yXÚ⾓« Úïyä¬ÖbÄ ‰åJ§-Xmû>X&´Þ)fZ"¶Öã¹zÏ”K3ѱBpDç½Ö(kã‘3ç-‹µ‘•¼Ýj«ú/,Xî_‰KÄò.k¨,÷_[!¿âjÝjŒkÉX3Š%˱Ú2‰u·Wí´B`­KI>,[¸:ÊåêØ2aŽïjˆ¥­œŸ¹>b9o%±Bb¹ÿ¦-XÏÓe輳̔Dl­Ç»Z×R@ÍDG ÁñœóVcp!GFΜ³¬XÉÙm™Ðª;,Xº>c™ØJÚ%ÄñýÀRȯ¨¦Ú{1dõ~‰É'–,GjË$ÖÝ^KzÐ ¡uõGÞi‰ØJÿ–Kű$À ßµK{xêäêˆökËgÕF,Xî¹iË}V{ v´D«O1SzAœõh /H!°4Ë„Çs¶Úw‘•™×od±2ó÷šN[¨Ìü¹;@*G×f$[¨CYCeæïýÁVȨæöŒ:£ZÛ³Ÿü"‰Àr¤¶LbÝÛÞ÷‡ˆBëêϻӱåî-)Ž+cÉ„¾« –ö„íÌuËóèZÇõ±L`©ã¦)um8ϱçÁ)0´óÎ,³¡"±Öó}dÃ’Í>G2áñ\ƒ½Uš5hoú¿¾5Ë5pStê.I–®ÊX&¶R…’âø.`)äWTKë•CTÛû÷G*ÇqZ2‰u·ýZ!´Îþ<-[éÙ²@b¹4’ ˜__ú°´W.X ±´Wý_ã H&°ÜgÑ”ú5¬öZÑ¡õN(C*g=ÛßR,Í:Ç2b¯*ìíòßP–eýVAë²|¯e4•º,Ÿ»B$8º&#™ØBÊê²|ï ¶B~Dµ´/C˜Ó?gÙ2ž¾wÙXÈFÖÝîËÃCh}û Z"¶Üµ%Àqe,¡z޽V<,íÕ<3×@,ÏßÂ{×fÄ2¥n‹¦ªcÃi0úü÷šC†"ëùæôßÒ^Äg+–fšc™ Q«GûvÇ ´O¬×·²Bb¹iªÝ"™ÀªK2’€T¡$X¾Ø ùÕÚ^œ9Dµ·õ–c~–à(P;qî¶ýØA)„ÖÑw¥%b+½Z,WÆ– b—9,í nÖ=,í;ý5®Æˆd˽M©gÃjïë-Zïä1¤qÖ«îäÀÑür$“!òªÁÑÞuù7e]¿5άßkM¥*ëpGˆòþˆ×ÕÅÄVò/‰Y¿÷K!ÿij¶¡ê?„7ÿsf­ Ïù{_…}Œþ]Î0·]¯¸¾áù ÓžÂÖ]X ˆ¤%iÉRÛt8œ[z'‰Ñ’€¥mj/–X"XòD²$ίµEcÈîm“²¬XÉÙm™ØB¨eØòê[ <â;ï>·?9?ŸK»= ,DJ•Ý’¤6…0Hj>3’¥mjk0¶H–4é)'?3ìÊ·½&s*ÐÆ%ÏOl…ÄrÆhK–úl,XêD±Ll%iY ¶ÒmeüŠkýïÃ:Ú OŠ’óú½$,!™UŸ³ÚóŠK$JWß’€¥ôþ’ ¹.’P:^óísÛ©yç |ûµùÖD2ˆã.‹–D`=ÿzŽ– ¬šÏ„ebk›Ú+ VX ¶<ëi „ÑWÖm£ß± S{Pb(ƒ”eú^Éi'e™¾÷K”tQZòUj) —4ÔdúÜÊñÏ?#ÚÚCjóßSË–·ebk™ÚãÜ ,Z{%-[騲@`¹V¶L}M¸Ïm7nÎÀÏûÚžŽÖX ˆä.›– µUHƒd©&3#XÚžïç…˜,iÆSN~fØ•ïsj§}¬ÀÔž‹+`+%ˆåŒÑ–jKw€X"´tAÆò5k+IËBlå +äg\Û÷Öv¶G,>)J2€äØ%XZ¦cî/'@iëïý„$`)ýº$€H©TI¼&Ûçö†ùÓïí×–sXÉ Ž»,Zõ|ö>FË„Ö;¡IKÄÖ6·µy,[žö´Âè+ë¶÷ÄX†9£w•µ”eþ^Éi'e™¿÷K”tQZòuk) —4ÔdþÜÊñÏ?#ÚÛ,CZÏöé䓜-XÜ–‰­ejoˆZ`ÐÚúÅ´Dl¥cËåZÙ2Aô5ã>?ßRVNÁÏϧcÌÕ"K‘ÜeÓ’¤öXà Pzç5! XÚæçL\,yîS¯ŒÛ6DûXƒ¹=–1ÖÀVŠË9£-UVÝ`¡¥K2–¯Z[I[ a+÷Y!?ã:† –+£^Nð²£â¸Ç;K”eº¦¾]ê«àG*ë;¸%E?ZI^Æ{WçJÃpk®}^–6ÿG²·'0² Jý˜wE+"°îëýàË„Ö;IKÄÖ¶´×¤m°@liºÓRc¯|Ûuc—½Ëp9–ï5›6Rå{õG*@IŸ%_Ÿ–’jIC5–ïÕ_RÀϘÞ!Êé{za%áé{3…d<Æ÷´ßÙÛu¯ïè`,[éв@b¥Z²X?G_“ìós!mœuŸç=#5ïo) ’»kZ°´Líä%¥w’€¥mi/R:#XòD§$®Œ'Þ™, tʲBb%ç´%B«®X"°|…Ú2±…´Ë±å€¤€Q=´ç!¨éθ›Ò‰$IqZ2°ôôì»ïj" Ò<-ý –,¥_—IU±d€˜j’}žÖwÄ äðއ5÷o)ÀNº,Zõ\¸Ûh™Ðª™LX"¶¶å¹ÌÛÂc[ ¶<ã))€±+ç©FïP¹)ç©Æ S”õ{§eýÞ" à`º }4KH÷•†Š¬ß;BIÿÆ4Ýç»Ûáåü9Å´’°öDT¤¶†dÔÖü´ßfâÒ–È`ÍsÿV«,wl[èê°ª8°P?çX3íÓ½ý·sê½ýšÇÝjæ_€%wY´$©½Øh (½s›,mÏGÞãº"Xòü§$®ŒçÚÿ0dõþ‡I¹,[È9m‰Ðzï´D`ÕE ËÄÒ. Ä–n–~DõüÛ25µÃŽ FR~§%iž¯¾ˆ%JËÜÿŒEˆ”ž^º>$UÅ’Ë„Àkî}znïþ‡!gûSÉ5–ì¤Ë¢%XëÑ7 ‡eBë,¦%bk{¾ _½;ʱåÉb[ Œ^YÏÿ]÷X‡­}ëPR€d–DhÕ]–,]–±Ll!ë²@låF äG\çÕVÀÿ‘.ßs +Y/ß;m,ä#k^Î÷´eBkú.$°Db¥‡ËÂEËձŠ:úZÖ0{{¶üäj_¬†E¶@l¥÷¢-Zw[&-XÛÒ߯ËÄÖ¶>_ÞJ”bËË-l0.å½´7•ØÚ—ÇO%ʱ…¼Ó–­º'À¥+4–‰-ä]ˆ­Üdüˆë¸ÛЉ!®¹}s„¥a)ÖXŽ>Vãl{'Ä2¡µM}wX"±ÒËeáJ€¥êÄr½˜cõÌãho$a_=®6Ú6öX"°Ôc™ØÚžæç•ˆ­ô_Y ŒK±.íCô{üDK–cµekÞŽþžÿX!´î¾Y.-[È»,X>¶Lý»ÔaÚïö<,?´ß[qA†­X^Á¶ŠÐjï(2Xït2­"±¶§ÐK{VÛV,M:Ç2¢W%Žööœ¿±6Ëü­DYCm–ù[‰´•Ú”…èËò‘¥%$±BpÄš¤Ÿöµ-Gý#9Ú\ϰœÀˆ-Ô>m‰À:Îÿ®Ñ2¡õNƒÒ±µmmÿ H,Í–Æ aôÊ{jo<*±´üO%ʱ…¼Ó–-õèX"°Ü›l™ØBÞeÄJ–ò#®ílod\í®ò=Û°D`)ÖX&±æv=]´Bhí}É4-[¹dÀRub™ úš±Ÿ¶­=¯ðGr´Uú[ ¶ÒÑ–¬¶»Òh™ÐzgEi‰ØÚ¶÷Åç–âhæ4RcWÖS{óäP‡5ƒÎº,5CjÎ:m‰Ðª{,XºBc™ØJÚ%ÄñÁRȨžÏRç=F5µ»À˜!¬ä¼~ï¼±¬¹}ú¸h™ÐjŸ°ÖÁ‰•. }V'RÊçØkî~Z7÷™œï«5¶@ÎŒ«©ç¢-X×ñ~OŒeBë%¥%bkÛÛF^,XšNÂè•÷ÜÞ;ù7Öfš¿•(k¨Íô½ªÑVj3}ï°D`éúŒeb y—5ÔfúÞ#l…üˆk¹4縦 )#XÊ–båècµ5ìmïÐX&´Úwó{°Db¹“KÊeǵ±”j!öšÌŸ–½=ýGrjüÌk lœeSïE["°î£ïË„Ö;}JKÄÖ¶·WšÏ°@bi’5V£WÞ‹FãL6輦¼ šØBÞiK„VÝ`‰ÀÒËÄò. $–ï ¶B~Ä5_s\sÆÐ”,åK±Ærô±æ6FyÓ2¡ÕFt×Á‰•^. W,U'–ëÅß©þiÞßÝA.令%¶@l¥ÿ¦-“Xó´¿/m…Ðz'Si‰ØÚö¶+è $–æ\c… zç½h<µñ8¡ó^4NˆÚÌßk;m¡6ó÷>K–®QÄ%b y—5ÔfþÞ'l…üˆkºk;ÅÄ5{ÏEgK9ÂR¬±}¬ökÛù$– -]1±|UÙJ/—…+–ªËõbŽï¼ÿ4Û3y®ªqq‚%Ié½n)$R; £d©fZ!‰HÚŽö¶ˆ%ÏÆZ ñá’ðÚ"J°·éŸ”b )«­Zu;€%Ëgâ2±…¬Ë‰åÛ­âz2»[¹‡¸ž,†I)ZªH!%vKí‰öço9¤"£´¶>ƒÔ $õìHèý–ª.R)d×gþéhÿý#¹ÛC\£+$VõZ¶e«ýÕ-Z}nu°DlmÇVµ*) NMÀB ÁñœõÚ:ÀßX™å[I,Ìò­‚[B]–á¾0H"9Ü{Yòp&’’q9¬É¸ NȈ¦Ö¹ÿƧNq¬¤;íßÀe1•É=ýn_û`…Àj‹ÆîÁ2±…¾^,•ÆRŠ— ûÌÿó!à|7Oy®£ay¤Kî°iÉ$Rû~7J&ú„ê ‰HÚŽ'€A±T“®Br8'¼µÏC ŽöÈǧ²Bb%e·eB«î°D`銌eb Y—Ë÷[!¿âšÛ›,‡¸žké›b$‘HŽÔ’‰¥öB¬é¦©--ÞÉD’;¶œ€(®ŠäÖ'üŸÏngûköÒ>ôíÃÒX&°ÜgÓ–{1¬68Z"ƒÕ'Q«H¬ílo…ša…Àª©VX&<¢+±µi¿¿±6ë·’Xšõ[·„ʬŸû$‘Hº,#™HBJʲ~î –B~Ä4·ùÑ¿1ÊùŸÓ+ ÏßÛl,$#kiOQl´B`µLîÁ2±•Þ- $Vj#‹õKŽ}¦¾«uÍ?ͼË ˜œó§§wk)mÒhTDÎqfzh¥ˆ“Îõùù†rŽsÒPLÎù›ôÞ‚dÒmˆ~ÿæ-+$VRw[&´êʇ%K×a,[¨AY ±|åÛ ù×Òòâz®ŸoŠ‘D"9RK&––ö4ÝM)$R{øp$IéË’@"¹.–L]_#1ßûÝî myV`À2åþŠ¶Ô§aµ™äѬ»ý=¬"±¶³m°7à Uk7`™ Ñ«{»Ë±mN÷[I!–R‡´$I×$“Hº0#™HBJ±ä»€¥1-ÚC”Ë?§Ù^¾·ÖXHFÖÒž¸Þh…Àj¦ßƒeb+½[,ׯê·|;é“Ù~ ´M=~zL$÷˜Hê¶hI][ÒvMï§C9QÜeí¤[ã` ûÐ8œÉ•Ñ:ÇmË–O["±Úî! %:Çû¡’ˆ­Ô ¤€8>U–Bù»"âakû$òG²{ôì]¨)ÄR­šZ‰Ô–/އ34¿ß ‰HÚ®¶%c±T3ÑB¸ž4Rg²d¤ÎË ‰•”Ó–ˆ-DZH¬Z`+„G¼Þñ¼çG ՙܪ{×@ ±ä"§%“Hmuö(™@êS¡ƒ$"i»Ú™3$Kï|)ƒÌé®5CIÖ* ‹5Yÿ)ÛBQbU—…%Kq‰ØBÎe u‘å^k+äW\“ØéòM1R’^¾±[B6%-g¿@ ‰tµ.)éûr@"¹*–P¹e˜ºŸïçódÔ‰´¥²û°¤– ,÷Ø´å> «=¿3Z"ƒ5½Ÿoa‰µ]íÕ´B`Õ$),Ñ•Ø4zfrh»CTBVH¬TÂm™ÐªÛ,Xº4c™ØB%ʉ¥[%ƒ_QÍ>3Y3äå|b‰Àr¤¶Lb-Wÿd+–®”X&¶ÒÅeÀrml™0Çó­Î|½[†,“¶<ÔX&°Ü{Ó–{8­>ù9XExÄwR–G‰µÝmÑV¬š"…e¸\‰Mãh&gÆ÷\ Y!±R ·eB«î °D`é eb •( $–ï ¶B~Å5¿Û‘.ÿœíXÉÚ–cµ…|d-WûÉÎÝ¿hR2±•>. $Vj#‹õ[¾=uºÚÂöÔ¹'Œ=ÕVún,÷¥´åÞkiOƒ–É`Õ¼(¬"±’‘¬!kYž>µe2±¦k§½-oø#éÃ/ã²­X‰>m‰Àj/Š-Z5ÿKÄÖv·½³ÙH,Ï’Ù aôÊ{i‡JlíÁO%d…ÄJÞiK„–úD,Ñ}ÕG4±…¼Ë‰•>!+ä߸®ûnK*‡¸úó#-åK±ÆJôhëîãŽl«­uš©ôñï¾ ¬àJUuåJ1»w–öz®øiá¼íu÷Áùa>9VH,õ\´e«½Jh´Lh½Ó`´DlmwÛix«¦Ë"àxÎzi_ž†:ôè>u+Y»-ZïÝ€–¬º6—ˆ-d]H,Ý b…üˆëù³s.c\ý Œ9ÂJÖËç® ùÈZ§6+I€ÎÜgï(‰ÄJŸ—…«–j õK†ïlíõ|:ÚOÎß¶ß›îqR9VH,÷Ý´ekí÷&Z&´Þé0Z"¶ö©í`¿Ã±åI3[ 8¢ó^Û¸ÐP‰Þ3>•+y»-ZuG€%KWh,[È»,[¾%H øÕÔÜ¢ê}ÿ“a,XŽÔ–I¬uîË`…Ðj«=©€ôù’@l¡2e0ÃwÚöz¾SÏ 'r¯³ç0L0Ç ‰å¾›¶L`mý3--Zï-[ûÔÞÂϸ@ly*ÍŽè¼×öØéP‰þIâS Y!±’·Û2¡UwX"°t}Æ2±…¼Ë±•;‚,_qMíqÅ¿1ÒõŸ³+Y¯ß;o,ä#k]Úr7Htú¢ÀA±•>. –kc õK†ïdîõé89½Û~o¾Ç9çX&°Ü{Ó–û3¬öòêѬw®ŒV‘XûójëyË ‰å5[!<¢+±µGþÿÆÚLÛ·²X›é{e§-ÔfúÞ%`‰ÀÒËÄ*QÖP›é{—ò+®¹­âZ=¢—Œb‰Àr¬¶Lbµ½«V­¶Œ| ØI—˵±e ßYÝëù2¶,œç½Úƒ¯ŸùçX&°Ü{Ó–{8­>b:XEhµÆ¸Dbíóü4O+$–§"m…ðˆ®Ä^cƒ!gÆó\ Y!±R ·eB«î °D`é eb •( ÄVî ²@~Å5·¥uC\[«È'ÇX"°«-“XëÖ¥B«?z4X"¶ÒËeÄJud…0Çê™Ïqjtнw΢zf,÷^XêM±Ü¿bµ}ÊÚèc,“Áê(V‘XÉHÖµ­í9µÇ`‰0zWb×è j3¯ÚX¨Íü½Òb¡6i«ÍºM ó.W $b –5ä<ï²@xľŠâÚ–w7Å€M›)z9F¤X‰4M‰Àj»$– ­½ÿ‘€TÀÎ>ŸÏéÚ!ØÒÚKŒüMy½5t¨Ì9TÆ–RƒXÎM©´Þ©zêgÔól%cY¨­œwYè ?¢:Þ-.í¨ˆü"‰ÐRì±Db­Ç Ôü÷þHÿ ˆØJÏ—Ëu²e‚¸Õ×Uã&{FñÔ[, À©îІ ØÙ—ù)É Ä–»«¤­¢|¾w\ã5µ.Þ†QaFRÜp*L4TqÇYÏþò H&ƒÕ_U2XEb%cY¨A,Ÿ+[9{Œý¾ž¯hçÌYáö{Ë:.óˆ«ÖY ):ïÌ4%¯fÌq<[û²=_i؈-Ï_ÛA\ÎzmO_þ•™®od±2²œ¶›Ja¦ë{IC6ÓgÅ™-OœÚãéCMû§ÒOMe…ÄJÖnËÖÝV(S óΠR±…¬Ë±åyV[ 8â;±{=ý|90Ó{Í}ýë0ÿ)$–#MS&±Ö©?ª+„Ö<*óðïûr> .( ¶2³$ q+á­}lfúÒO$…ÄJ¾nÊ„Ö{Ú!€£¾ˆ Dl!ç²@lå¬ËùÕÔÞ[ɨúøÅ'¿H"°©-“XíM™ûL+„Výâ`‰ØJï—˵±eÂkNs:Ûk+1§Ù~o]?s­±D`½ÝÖJõbüûÜf£Q`pj^R‘Xûú ›M…ÄÊ쑬ææ l­ÒcMæë[[¨É<\ÇV\ù{7€"‚cÕ™C ØAJj2ï²@~E5·ù7Æ9g7Ê<þ»ƒ”4ä´·2^C3!8’®ŒÌÄVz³,X©Š,V.¹õ)Ëó¹ØÖƒs˜S\n˜Yä™UXê­hÊ=ÖÒŸr¦Udl«O±©wf(Îþ|z=ZΖL`y¶ÈVæxúÉ/’H¬D*+$V{+å=0„VÕô`‰Ørß¶˵±eÂß¹Êó¹Œï™³—çÝŸ©fUc™ÀROFSÕµá¬íMt ЩùH"±öç«èsBa…ÀÒ,Q,“!rUao/wüë²\ß*Èb]–ÏõŒ¦\–å{gˆd«.ÌHvP…’†º,ß;ƒ,_Q-í›æßçü=Ë–’ðü¹ÓÆI*r¶¹¿jR­¾1Á`‰ØJÏ–Ë•±…ê9öwŠò<ï;¸æŒxÕ¼i$XîµhJ=ÖÖ_–DK„Ö;í©@œ}}ÎCû¬b)–æ†b™ ±WŽö†LTáì/QøTARH¬T!M‰ÀªÛ@$8º&#™ØBʉ廀­Q­BØ3Îæl,™Àr¤¶Lbµ÷Ä\­Zg{Eå`‰ØJß–˵±e‚èkfò<§vœ?’þj¦a5VH,÷ä4UÎ>¿w‚H&°j¶–‰­ç;áÓÍ‚ÄÒœP¬Æ^Y‡FåL)k[!±”6š*Gw‚H&°êÒŒ$`'9K‰å;­_Q­5&Ç8—ÏyŽ”„—Ͻ6NR‘³=·òu¦B«ïp6X"¶Ò·eÄJed±z޽f$ÏcªÁ½5#r5S+$–û-ÚuLï½ – ¬šùƒebkߎñ€q4;)„±WÖÏQ¶y¨Ã~gDNYÛ ‰å¬Ñ–,Ý b™ÀÒ•ËÄ–Ó–ÇwK!¿¢Ú4Àgrd ÐùØ2åHm™Äjä¶g‚b…ÐÚÛ'ßÁ±•. Ö1€Øk~ú|²ŸgÎXŸûê½5[+$–{.Úõܳ×A€Ss_LlíÛs“{s. $–fÈb…0öÊz;5Êç:L™SÖ¶R‡XÎm©°t7ˆ%BKWg,_¯¶’·,T"–ï¶L~Ƶ½›@2Ðõ{ª-!gKŽ]’‘´íKûâ)€Rß,™’€%÷îrò3×I ç°^£Y£ï[†ß™âqÜ]ÑŒ¬³ïô@Ë„Ö;•HKÄÖ¾·½ÐiÄÒTb¬FßR~>ì(Àì]•¯dú^Ài$™>w;õ3]„v|ZJ¢% µ˜¾·I¿"Ú5º'pfDΩY2åÀm™Äjk⯅V­ó¿þM–ˆ­teY ±R+Y!ˆ¾æ¸Ïç ÔÂIïsíûHpúÜŽŽâŽšv ]ËûÎ’¥¾Q%KûsS8Úâ4I‘4çn)€W¾Ï—Ãi+Ð÷*`É%ˆãŒÑ’j@«®{XEhõ+1Ê{™úß“® –¯x[&?#z>~ -ý]&Ÿä, @z£–ñþ”nLµ7=Ù T—E$KéÉ%@r$ dõÀeißúÙ'—¾ÅЧ“Ø2¥ŽŠ¶DlÝíõäý³ ,[骲@xÄŠu¾ÿ;Æàûþ.cð–Íü½êÒR’‰t¿°# t÷ Ë DJÊ% U™¿'°$œÀ_1m €AÍ}?³Oz±D`9t[&¶öýùº¼/°@l!ò@—b}¾:Á÷­«>Á[€äH%DÚέõH®©Ý XBʯÉ'P’gÏyj³ž$ýÍp\1É ŽfëÙ’H,ÍyÆ A[5‹¶LlíÇ£~Ê¿jF4F£®lßEãù±ïö8$_ËÊõSç©6ô£•7¸wÅùû¿ù'­_¨Î9€K4­m E›úK-Ç¢Ù å m™ÄÚæ¾Ï-hKÓpˆKÄV%\Fý”õ$©¦§é¿s˜'œúÆ©Ãì¥ÿ%ñ¹¤`i™ÞïX– iÂÅ’¥ýx¾‡õ˲$€Hž”‘ÀÀß|ûlŸnÿÆ’LçPH(Éô9il)E™>–;Ûz»!ÛRÇ´å¤m u™>!V:¯¸¶ÿ6†uÜý ÇŸ%PRì– ]kû¬ É€ÒÑ_[IÀRï÷êü£+$Á‡©‰ÀãžÛî?’¾·ö0]+$–:+Ûõœy´L`Õ4 ,[ûqý·H,MÆÄ aô•÷õœÖ±SF𔶤Ô!’³NK*¤ºü# PÒjÉW¬¥¤\jI—¿%ƒŸ1mmŽA]g{‡Ê'=[&°º-XÏÑÛ°L`éúˆeb+Ý[,WË– ŽXsGÛ¶ž“ƒí×<ÖôÎPÚñÏQÜiÓŽ¤õîß»"PzçX XÚÏùù`ºFˆ¤yK ¼ò=¯6þ7–d>Ç XBIæï•Œ–R”ù{Wˆ%BK—d,_µ¶’´¬¡.ó÷®`Ëäg\ûcXçå‘§¤( 9Oß;­%$cé¹!Í'%JGy$KéÕ%DJ¥Jbé|¸š<Υ͵ÿ‘líOÒ0S+$–;-ÚµÝío3-ZïÜ -[ûó¿G¿ŸÈ‰¥˜X!Œ¾òn›Ô…˜½o¡Ó–”:DrÖiIe T·H(é²´ä+×RR. 5ˆäÛ€$ƒŸ15ryü)éÅåÐm™Äj«EúG[!´ö>GKÄVº·,X®–-D_€Ç±Ôî‡!»w,ÔÄd¬Xî¸hKÖó…¼ÿ9‹eBë]¡%bk?ÏÿÎö˜¼-X5 É€±WÖû]Cd¬Œ‡µ”µ-Vfù^Òh+•Y¾·XEhéÚŒåË×V²–5TfùÞl™üŒë¨½éü=×°’µ-Go ùÈÚçåsÄZ{ûÊ7X"¶ÒÇeÀr½l¡‚޾¦}­Q·½}&+c…ÄrïE["°ž y^ËVM½À2±µ_Ó÷Ķ@bi‚&V£WÞSí²´o†ŸJÈ ‰•¼Ó–­º'Àå«Ö–‰-ä]H,Ý,üˆj;ÛÝŒjëûõŽÂ¥Hc™Äj£ëãChmý5Ž´Dl¥Ë‰åÚØ Aô5Cr<·{˜39žºíó8ƒ+$–&RØ–¬†eBë쯹§%bk¾"Lm"ÔH, Ç aôÊ{jKYÿÆÚ¬Ç·²X›õøV"m¥6i«Ï³©l©îhIIJ.k¨Œ,ÍaÅ ùûz¶—?ýÙ,ó»%$³ÌŸØÑR²±¥;c,ZºOʼn•¬e •‘å;£-“Ÿqmíñ¿1Òé{~b!ëé{ß…|dµÑÀ7.Y!´¶O\!¶r­ËåzÙB½®Ïun=ðŠ}>Üßë'– ,]ÅhK$–¦–b… ­š6B[&¶öëüo™VX ±|G°Âè+ïåj/ *1µ»ÀX‰X®,å¶T‰XûÓ#Ûí±Lkí/s¤U$Vò–…JÀRˆå>‘#ú|,{{­ÏÐr¶o`ŸzÉ ¥³ËÄ–çÿlÄJ޲Bxİ{þßã ÷ó÷v;>ñ±L`i$m‰ÀÒ@b,XàŒebk~q}ÏPY ±<Üh+„ÑWÞóÕ^!ù7Öf?•ˆ…ÚØRÞh+µ)+±Êò‘u0¦÷'Iµ{¾9c5Ÿß™¿ÕŒe˰…šØºï6;Q„V }Á±… ”5ÔD–GÈl…ðˆ5"÷|ÓÚîaŒîù½iþŒÆ2åXÓVò‘ÕÖ@߃B«Æ;`‰ØÚŸP÷öz[ ±<*b+„ÑWÞÓÝ^¬3Tbnß^ÆJÄr%`)o´¥JЪK}‚VõLXê«¶’·,T"–{€­ô‰_qí…Œë9Sç÷lá¥èc‰Äj ÚKGc…Àz¾›ö;q,[¹dÀr½l™àˆ››Öö%ŽÖ=½q?>£ˆ¶Bb¹ÿ¢-Xϵ¹^ƒeB«F<`‰ØÚŸÓqô‰,Y ±<.b+„Ñ¿yïOO¸î±KFÏ*ïX©D,åͶT Zï]VÝ'xĺFqD_Ƕœ·-T"–î ±|Ÿø×ÑCù#]Žoޱ’õr|£—Å|ÜÖ~ômÑ– ¬ºb`™Ør/·Ëõ²… úˆ5:×›ÆëšžÂûc…ÿŒê±-XÏg°k´Lh½c´Dlõ“ÜæºmÿŒÆ 9þ¹l·šm+±dôÌyË ‰•¼Ó–­÷®@K–¯Z[&¶wY ±tWˆò#®ö±ùâºní]è„ ‰DR¤‘L"íwߨ’I¤cé/†d")\H$Õ%’IWsí{Ï8T·?g38x}¬ãŸ=¶%ëù²½Œ– ­÷k>-[íNw·¯N¶@Žmÿ Zö¼ÇJ¬8sÞ²Bb%ï´%B«n°D`éâŒeb y—b+·Y ?âzþñÚÆ¸&9#XÉzýÞvc![Ï'»slK„Öó®=¥ K$V:¹,t{[©Ž¬¡‚ëgªß=nRµßûžÅ ‰åþ‹¶¶­íèû~Á2¡õxбÕ?-¾•( äügÑ£WÞóg¸®ýžöDLÞóg‘Vòž?ƒz£UwX"°tÆ2±…¼ËjSVî ²@~ÄÕ¾Üc\“Ïœ,åK±Ærô°Î«¿C–­k~ÿtʼn•^. W,U'–ë…#Öà\kywX 9½+¢úb…ÄrÿE["¶Ú7Áe°@ly̨X—ˆ Ù0¨§Xê‰ÄJ¬iK„V]ɰD`麊eb y—²e€PW²,q=ÉîuŒköN†Î–r„¥Xc9zXÏ 9FK„Öóáí㉕ž) ½–ªËõbŽõ%dßkP/乯‡H!–ôe-™@ªoFD"é [$I}°¨=Ãb DR¾5ˆ’ªèËÞ·¨‡"¥>·C)RJ•Âb|>êK ñô-â¹j×uø^±µYƒÏ—X&°´-XçÞÞŒAË„V}:ƒ%b«jîmÿ[ ¶òNŽè¼×vÒ‡J<}þ[K&‘œµ%Hê‘D"¹K&&IH¹$Iè %üˆijWÚS›ÿ¦K–µeë˜þÚöX!´îO[!¶pA”˵±eÂë+Äz´k—_*ÖçZú|׉dIÝ6’I¤çOë>J&ê#$I}&¨C’bÉÛ,…äpNxmÏÿÆ¢,û·¶P•å{5ÇBY–ï–,]•±Ll!벆Ê,ß;ƒ,_qMí3ËßéüM1R’ž¿±[B6%µÙm8\¤«¿Ÿ’ˆ¤ôlI ‘\K¨Ý÷kÄsr·uø±Üm™ôøõ&– ,õÚX&°žÏ÷h™Ðªu°Dlµ Ñ«g- $–?úÙ Á÷Ö2*qxdÌi[2‰ä¬-™@ªû$‘Hº0#™HBÊ%Xò}ÀRȘæöNÈ!¦µ=”ñI/–,jË$V[vÓÞ™+„ÖÕw® %b+½[H¬ÔFVs¬oóÙº&¿‹´í?_‘"‰@R·äŽ,©/Õ˜x¸Hþnbɇsà[;ÈߘÊúOä¶ËúOè¶Ìú½ža‰ÀÒµËÄêPÖP™õ{=Û ù×Üòÿ#]¾)FJÒË7vKȦ¤cÛúûp#…@:ûfx”D$¥?J‰äºXBíœÝÙwnßeö:5Ež_ÓØÕ1MïÌ–É`­ï8¬"±æù®YY!lë8úWhK„mÍï#*hK„Öö>7 KGL%öv§b%ÚÞóßBH ¤:D‘„ J‰4×Ts$.a.3Ù¾µÕ5v ´%—íÏY‘!7`¯‘¯Ë£U©@,X.-XËRéÙ2a[ïW6¶%b )–K_ìb…0Gå½´OcmÖo!"¥4ë·–P™õsË Ø¿Cmq˜É:~'nûµ¼[ô™Ü‹·ÕÓ7óX&°\b´¥¢ÃzjÜ6½‡%B«¾`À‰Õ>—míš´KßCb™ Ñ«G‚¡6ß2Ÿ±4+©AZqU>=8ŠÉýé'QLîoꥰŸ`%äŸXÖÚ—/d÷^zIÁ– ,‡hËVÛ ä,X÷\§ß–‰­\­²@`¹.¶LpÄúÚÛ9ÏÃá­íã>~9b)]7-‰DÚæ¾Á=$“Hõ’‰¤þ¸Ä XÒ·ŽH!¼>ÏÚç/äöö|ÎØVH,§Œ¶D`éÊeK×a,[ÉZH,_ù¶B~ŵÖèWHۣ-XŽÕ– ¬çT{–I¬óùË; q…ØJ÷–ËÕ±e‚¸ê«oÛ¥û\øe¸ýÞòRŒËm]ÎÇÖ>õíía™Àªï(°Llµ‡Î¶¶ÉH,}•‰Âè+ïãlOAüµ™îO%l±6Óý©ÚJmléŽK„–®ÑX¾jm%oYCmdù¦`Ëäg\[›`f\GÛ‰õ›£-XŽÞ–I¬³íW2´kžú Xa™ØJ/—+õ’‚èëët{’h9ù{k/«¿Çoý±Bb¹ÿ¢-XûÚ·ô€eBëè›xÓ±Õ¼œ!ÄÑ7øH!Œ½²Þ¯¶td¨ÃÔîˆcl¥±œ5ÚR`éžK„–®ÐX¾Šm9mI©Cß,™üŒjkO2ªö²úe˱Û2‰ÕÞ3Ù6·Šk™åýÑÿž¾-–êdIQ«7îs›˜aÿ|~mý^7±L`©Ï¢-[­tÓiY ±Ükm…ðˆëvµ'ÿÆ|æoo…|æï5ˆ¶’Ïì3s´t# ÎÝ·9£T$V²–5TfþœÃH:‡ˆ¼F`Ú;'ö…c2íצm“eBë¡%bËc+¶@bM÷û2¤X!8¢c]Ú[†è·ÿüÅDZÚ2¡¥Xc‰Ä:Ÿ£¯;­XO?;FËÄ–Ç¢lÄJÞ²BÐV s¶§E–…ŸÛó÷úÜÆÑ<[!°4ËÖùÄÓÆ¼c™ Öþß2J/ˆ3· †Èߟ£êG•bÜ÷ý.½ÿMuE®ößX[úæ'°Lhí}+Z"´j–¬¶óôØ–‰­vóY‡èAbièÇ’Žç¬—¶„h¨ÃÞÎã§¶Lh)ëX"¶DIqÚÛ@Úë1#…àxŠô¹ëŸs¸´«qŒ=²Y¾çV²‘u>ŸÛÛIb™Ðz¾ì£%+gLÎ!,å µY¾}ëù#Q£b&wF²\/[¨ -õ·X&°4ˆË„mÕ˜3Ú±Õ_ÔÛ‰¥nbÉÇsÖk[Ë7Ôaoc?u°eËYÛ2‰Õ6¦;)Àist0ÞýïȶXî/¶LµÏÂäÁ6‘%ƒZ®Š-X>W¶L`µ÷O߃e²ü;pKdùwàNH¬TGVÈòï€â|¶gü8 Ø>C|:c™ÀR¬±LbÓöÞ l…Ъ‘X"¶Ú ±Ú+»-Äñè¥Äî¬7’™—SÖ¶L`9k[&´êüÃ¥¾„¸öï“vIqÜG,…üŠjjo9¢Z1Þ¦|b‰Àr¤¶Lb×Ñßv+Ö½¼ŸÙc™ØJ—Kű$°þ;¢8µŸÉókÚ6Ïãš±D`¹çÚJ_†õý¤ƒS#2ŠÄêïì9Ë åq[&ÌÐuØ4>†ÊdDNu°…ÊLßkÚ+3}ï°DpD]9¢‰-T¢¬¡6Ó÷a+äW\smÁ²zã¼dK$Vb•‚¶žïonË$VÛ&þ¬[îâ’â¤6’B˜á;vØöKXÎa4±½ ÿ3ÊË£œ°Ô{Ñ–{8¬çoùÿî(­ Y×ónŸi…Ð:û=ž–ˆ­ôgY °\[¨]²ëïíõ‘ëñص½ÿGv#™ÀrESêÓ°Ö½o;Kd°®ÿîQzAœ6رô3*)–Æ„c™ ±WŽö\5ªp^mAǧ ’Bb¥ iJVÝ" ÀÑõÉĪPH,Ý,üˆim¯\dL{ûžýÉÎ’ ,ÇiË$Öõ\k÷pÀZgßP†–ˆ­ôlY ±RY!ˆ^ýñi➇úèÛ:ö˜Hê1pªÓ¢¡êÖvÚ`ÜÖFá-…ÀrŸµ•~Íã)ò£½!ñoÌeùôõHIeù\hȩȹֻ¿Å.R¬méïl†eb U(k¨Ëò=±LrDÓ¯ÇÚ>yÿ‘mœ¹B«ÔS*@çû $kïúìx<ß­÷ç´Dr¼ä<µ†*,múSY!´*éHìÌóõ¾UÇHZºŽ¹¿¥8M… ­ªŒ[ªŸi(ã8"?²ÛÏöoÌîù.u}Ï,Xuº" ÄÑ\Y¤¶ô΂±)[9ó²@bM÷ûþËX!ÌPYomdy¨ÃÑž\øÔ!–,¥mIÀÎ:O}~<HZº¯íín*ÄVΫ,XÉZVȯ çö¾Æ!õ­YúœEY!±rÎÜ–‰­mZÞ‘[ °Ö÷+X$;ȧ$Zï¬(-Æ~¶M}×çoÈUçðÏgûUµz®¬þ].’È`=õ¥ Î;“D©­ó¹’©@œ¶Ñ9³¥XšGŠeÂã©›†åRݹ–P•XUƒH.ŠFîSIC”²žcý³±Bp<:·×*þ ©Lÿœ=KÈeúž½HNEÎunï÷pK!´ÎþrZ"¶pþʉ•œe±.Ó·W=Lj¤ÍýlÊÈW•&’j§:ZuÅ8š3d2´ôΆ²©"±Ú†bW[Bo+–û‡­ôÑUØÛ½€UXÏöÄXKpT;q®kíŸG uOýuJ°Ll¡ eÀRÿˆe’#æì,í›ÏκµÇ>µ’ËçЖ ­>J©ûýÎIÄ–ç:mÄJmd…üÕriØNQÍ÷R6”­Š–b¥yãX&l«M £¡þcþ½ £Om¾ÛJ,WÅVêĸ«{Ûdåo(Éú=ÃR“õ{ö`¥&²®{íï‘Bëîï‘§%b u(k¨Ìúí ±LrÄœ™Eãv&{Æ¿TI(ß<ž=×úý÷w抭û¿O;ìxÞÏH¬ÔDëöOTóÝÆØþÆ8§•¹AY¿ÿþ ÃiLë8ûÉ„-ÕÌ'š‰Õ&dç6#k+–«b‹•KìªÀ¡!4“+ã^o¢¬ß¯ Ä(çž–þžúH!´îþ¾nZ"¶P²@bùŒÛ ÉsfV×™ìõrUd…Àòù³eBëë£%BëzÇd`‰ØÒdŸ¥€8©¤_QMµ `Èâû’O,ZŠ4–¬še…eKsž±BlµS¶¾g¶,X.Ž$Æ^YO‡†ãL)kX"´*kX"±îçèí-ܱBh]ýýl´Dl%kY °tþc™ zi­]CïÜ—êØB—ïY´B«æü`‰ÐºúnD´DleÎOH¬TG+øo\S Ë1Òyùæ+YÇR¬±’,M·Z2@KšûLK&¶Údëv0vX©,Ö/±¿Y/­‰áü,Ï'•ûs®i‰Ðz³¦%ë^æ>Ö+„ÖÙ_HKÄ–ó¶«Î?,“±NÇÒþ §g¹öEçS¬r Õ‹di™Ú‡8HléDK–<( RªRR÷NK.íαs¢ry>Úç8u+$V"M["°Ö©dÁ2UÓ>°Ll½—Ÿ°@lyrÈ£¯¼ß'OS†é?½àÑI×é®Ag¬VT(:른°•ê=jEÉJí ò¶’Nñ>ÿš>ò+–­}Ûa8×Ùž½ø$eË„–‚Ž%ë~¾¿M'­ZýÿKÄV:´,[¨TY ˆ¾f#—6äÀéÉökË2LšÚñÏQÜMÓŽ¤uíô‘ (mDŒ’€¥³ý½; Xò¼™$^ù¶ñ·}¬@?AC,¡$Ó÷ÚEK)Êô½Ä¡¥Ë0–¯S[IZÖP—é{ò3®ý¿mëì‹>)J2€äØ%Dº·~5F  ÔïØ”,¥W—É•’d€ÀÕ[?Ù‡þyníùO‡±eKm‰Àzò™Æ#šÐzç’i‰Ø:û‡á ˆ­\²@}åÝzÊXˆþñe,„%×’²NK*C¤{ëM"PÚû'ZH‘’rI¨${Kî üæ_ÚßÿËÑ¿¸p A$ƒ8>YiÉ„Ö݈¡%k_ú´ ,[mãt°-[^|` GtÖOÌcööüÆX†rP)ÉYí ,‘ª÷G€äÎéˆ,!áWj²~ÿ@”ð#¦öm{¼Fþ=wLVž¿×U,$#ë~þµ½â?– ­'Æs´Db¥ÿËÂ%ËűÅúÍß.چ↺÷A®±¿X2€¤NkÉÀÒÙÇ{îH–ÒeKÀágM#ßÛ³ŸÈm™Àr¤¶Lhí}-ZWj %b i—˧Жɯ¸ž?îcX}4ó“¢%JŠÔ’€¥ëù¢°][$KÈæ•x¸Š³-  ºÝmS °DhU¤°DbÝGe…ëìãñ´Ll%mY ¶rÂdØòŠ£¥­nä¤å¹-m˰˜IN~Ž¢5Iv"ÝÏgÆ• @ºúÜ$Kóôü%€HZõ’Ü øöÇ´ÕÎïé3Y3èõœ¬é-XÏ_üelËÄ–§æmØ:û8ý „qU¬í¹…1ø)#U 5R²±¤H-!I÷ÝçÑ# R_r@©@¤$SÒ¯¥ûýo§~rS6œ™Þ/ˆ%Ë%°eëšÞoí±LØÖ»âƒm‰ØÊ‰—b+e()à×ñæñ2X3NU L Dª-vü3ÛQYÜŽ$WE’%¤ûJ–Î>myE`L•o{|+0y_<' K%ˆ¥”-¹h©–q %‘Á:Þ/1°ŠÄJ>²¡-/ã°2dX§b{ðrf¼J'b»/Wsì»QÖiê«ãJÁTúBÂ(úÑŠ»ò2tl©Í>fÈG§b®­ôB6o—SoË–OXÚ‰U }" ¥ZÁƒ–LlmI¥;8ñ%0òʹ½Žm,Âì%TÅ’2NK)JIë4÷EÖ©¯®¦T ’3.‡%±¢³nÇÝ aë´—5'eî·úO‘$±lÓ÷ÔÅ2¡õ.[¡%Bëx¿lÁ±å)¶@l¥R%±tÿFµÔÎy!›w»K>±Dh)ÒX"±´È'VÛz—ï°-[g_©tñ…Ú”Â#VÞm»ÏùéŸMÇJÀR%hUÞ°T [ë´ôGƒb…ÐZ÷¾m,‘XÉ[*«:@$õˆÄî³ñÜ~§ñüL—÷ÍKµd…ЪsK$–³Ä ¡Õ¿I–ˆ-/S±b Õ* äW\Kw…ô¯Ÿe…ÄJ¬iK$V­ý‰dÀ–ÞE=lIÄV›!˜ûrY ¶P›²@xÄ7ëùÉëüœŸþw¨C,VfýœE¶•ʬúC°öGHc™ ÖÖ6¦U–ó¶5ÔfýôˆX鉾NÇÜöÛp~ÚoÍÿTKë7Î"-Xµ˜– ­>`8X"¶¼Lň-T«¬¡~ÿƵ¶‡NþÆH§ù›£-dm˱¦­ä#K‹b…°­wYÛ±ÕžØ[(ØAmJê—ã)ë©=ö=Ô¡À~ê`Ë–³N["¶ž~ö·ÃÛµ÷WSÐ2±•´K €ã³oÉ$±û\\g[˳sõQ̱Z¶BhÕƒ%«–²À2¡Õ§•KÄ–©Ø±åâH øÕÖÿ¢ê3OŸ m™Àr¤iK$–þÄ a[ï’¶%b«Í›l -[¨MY <¢òžÚcC%ú¤Ã§¶L`9ï´%bëéáýµ4±@`ýuF´Ll!ï²@`©XHì>m³ùÏùéSÜcµl±~Ë÷,ÂÒY„UK;`‰ V_…0XEbyi‡­X©¬¡~ÿƵµæý‘Îó7G[ÈÚ–£O[ÉG––ÕÄ a[ï"¶%bëlOJQ °ƒj•4Ô/ÇSÖs{Xx¨ÃêºdmË–³N["¶žÞ_e ÖÙ_€GËÄVÒ.) Núƒ¤Äîsq\íÑÏáìôÿŽÕ²•jѪ3KçV­ò€%2X}}Ú`‰åu¶B`©8–\­_Qí5ærzœ.Ú2åØÓ–H,-®‰¶Þå.lKÄÖÙž£l[ÄÙ‰•jÉ á•÷Ü^ú1T¢/âùT– ,ç¶Dl==¼¿þ2¬«¿.•–‰-ä],õK‰Ýgc¿4èó3{ϵ±Åú­ß³Kg‘Ö»ä…VZ{_ÎLK$–×³Ø åÚØbýþko¯Dú#]æoޱ’µ-Go ùx0³VÅ a[ïê¶%bëlOG·|[ ±R/Y¬`rTÞK ²6Ó?g;Vj3ýsm¡6“þÜý•×±@`]ý¥Ê´Ll!ﲆÚLÿô [&‰ÞçãÉýœ¡Ù£y®Ž­Ô –ÎZ,ŸGZïZEhË{%ljå0¶B`¹:¶R¯_q5Êry!+$Ñû|¬wÛØc8CKFôT[©,µX>´Þ…)´ŠÐz>KNc["±¼äÄV,WÇVêõ+®C#ˆtý¦)I¯ßØ-!›u\×)-½ËsØ’ˆ¤ö’“yˆ ÄR*%‰µ[¿%X50ˆ¢ÌÿœæX©ÊüÏ ´…²Ìþ£Ñw͈kžúÎ °Bl!벆ÊÌÿt[&‰>çbªÝCþ)–”ï{ú¬˜¬ãb++ ÿœßR˜é¸œÉìf Þ™ô·*|N -Z:]±DbÕ §"Øñû¦,ØÂ‰/ $Vû£8VbWÖóY;¦mæ~,C$—Rå IU´¶×{íl)$R[SÕoº–L,åœJÂY¶äŒ-¥ ¼Öϵ}¶Ï•+êÚ¯-û¸¢Ž–H,-i‹¶úk‘†¶Dl­ÓÔ_û Ä–×ìÙ‰ÕÞ7wòˆ ŒKyÏíµ’cmæo!"¥4ó·’X}›ú»Þ"@z×4Q‘„dJž‡eNq [†ç¶²}NLÕxbdáÄØJéЖŠi+'KN_¬öš¼ö6ïX&ÃýÞÞ*Éè§öâ¤Oð%HBìiIÄ-µK¨Ï¸¥H}gÎA‘„ôJ±ä3j)ÙUߘ–¶Æ‰½e꯹ÖÄѱå5y¶@b¹óÛ á«cãˆ"¶Ü!%ÄioÏl¯<ˆÂã½Y·Š÷xÕLí¯ÎPJ*ƒ$çl UHKs)[*2Hïâ4J/‰äd,!=KZyIë4L÷Þ ýGÒßž8œ[ ´TÎX)°¬¹=AzÓ ¡Õ7³,[îÛ¶@`¹Z¶P¿õŸÂ/íìþ‘´‡†e‚”D$y¢%´änå–Lp8õ˜NDÎsI –ÚKuO‚ÃUÂ×ÝNÛßX”iÿÔVª2íŸ"ÈÊâ¶–þ‚c¶%2Xý΃U$V’5$-«–Eàñt&žˆ×ñÜ\í¿ñÜD2¤ŠF±Ô†Ú£[‘B í}ÜŸ’ˆ¤ôkI ‘\'K& Ü'fmyb®þÖéOW°e˧/m‰Ðz Òµö÷ºÓ2±u¶i/,Xî ’ •²žÚ]q¨C{þSK&‘œsZ±ÔÆX÷›R¤­/p¡$" —É'Þ’ ¯Ópíà OÌÙ_? –,¬X&¶¼bÕÛz×¢²-[ííS›9°KgÞ’3TÖkûÂö7Vfý–!R ³~«` u)©MFµ÷ÎD töWS‘„„Kв~ú‹¥Ã#> S[ø5œ˜þr”O¡ÊJ7ÿsúl™Ðz_ÒµÍí툴LlyY¥-X©,Öžro××ôIŠSþÄ%™Œ«V­„¤•wé)[)RJ{õã²°•)®…Ôë›ôÖ‚dÒGßâ“w,XNÝ–I¬6¶S2 süwN;È¿$X:ѱLláŒÌÍ3Y5P—”É'Î’ ¤w‘%%‘H{ß ‹’‰$/Ÿ´b)u‘òoLûÕNìÓäq:'KéÁR ±ú”¸Zj+dhë]jʶŠÄjϬý¯¥¬X®­T‹9ª[Â…œÚ½•ˆ%Ë•°ek~‚½wZ!°žwËh™ØB%Ê¥ËÄÎЬá:“-Ãu®Î¬á:Tpùç<Ú2¡õ.²¤%ëè»'Ò2±¥õ“–â¤6’X¿¢Ú®w÷Â!Îéþd+9ÛR¤±vBÔ’T[!C[ïbS¶U$ÖÙ·“b[!°TK(_2Tvÿ™œ%tb‰Àrl™ÄjË¡7Jpžo»çàØA J‰åso+äÌh£ÏÍR!†lÚ¿•) –Ï -ZïKZ"´îwÌ–ˆ-/ž´+Õ‘ò#®õ~w0D\³v0LF°”#­Š–¢·å©¶BØV-5E["±Î¶Õ\›ú³ËÕ±•z1zUboË‚X‰µï:ú©D,ZªD,‘Xó}õÇèb…Äj^̓b •( –z@,[8CK틲k7CT§¬¡‚ë?çÑ– ­w‘%-Z÷;þKÄ–ÖOZ ˆ“ÚHbýþ‰j¹ÛBÑ¿1Îùþd+9ǪHa%›ù©Ú a[µØm‰Ä:ûN”¬X*Ž%”/±«Ç»«áP™é{¦a¥2Ó÷ÂJedµ‡.WJpæ­½óŽ€Ô ¤¡*Ó·7Ä2±…s³¶ÅÅ<7KßùâS«²@`ù Ú2UË+a™ÐÚú¾´Dlyá¤-X©Ž¬[^þ6-S»+ü‘,-¾aAœ-Zïò7Z"¶¼G4A[®ŽÛ2±åEr¶@bµlO悸”÷|¶GX‰6ýu*! „Vå K$V›([‡¶BÐV­±B[&¶¼.ÊH,çm+„G¬JÏk{(…µŸûxc¿eKým‰ØJÂ#ªÒ9¢ˆ-dTH,_1¶B½òžÚ'Ê¿±6Ë÷ µY¾×6ÚJmd-Ï™éŸpm…Àz>áN£eb y—5ÔfùÞ'l…0úêsÓÙÜ ½pj÷üaí_,“X^[h+mùŠÉ} ñˆuÅàˆº†låZ…«#Vßø›G a\®ÄÖfd%¦¾Ÿí§²Bl¡eØB\eÄÒ:ÃX!‰+UÛÈ«:­í/ü§ª²Bb%o·e«½g¡dg]û˜c;é»’@`¹2¶LlÕ’·û‰¶(kàÚ”ãÖÀEò8XZ€†¦´$ Ö6-}ô"–ÈhÍý»­—ÐÒ¾…±¼“á`½ëËhÕŠ3Zµþñ~j4-XÙÖëìvzWRZ ˆ¤E’–i}ŒT`޶ð›RHmíÍ|£¥HµÙ ü |îùÓãëiŒ «È`U¤°ŠÀªE„°Lëþï¥ÄI>’Bh=ÝvšKdˆýÍúé%gž•YÖk¬-WÖ›5-WFÖ<ïg›ØŠe¶چ´Ïs´%¶túÓ–;Xy㈩M¢WÝÏg‹wÏàòÐ[-£S N­g‹cÀvŽ6àÀv йÛWq:ìhš;m¯‘mâŸy¤Jtùo›¯!õí¿{½>¹Ã*ËÉÚ2a[íuÎãE«/L¬"±œ$ƒ8Z¼)dÈð= Ï·Ùe<+χ¿ësZ Õi¤·~ª ‘|®$åäAznäËóÇ.’Àx¸ üxnõCäçõß±žŸÈa¬ VX˶´%G°Lëèh‰•e…ÄÒYµdÀØßõníÃÔ}ÜX×騮kXsË–ºÛ*Bk»Ú2Z"ƒÕ V‘X×óQk?/X!±´î(VÈý›÷ñ$V{I§6ëzŒ•ˆ…ÚØRÞl˵õ^À´^2XuË€U–ó¶ÅÚÈò%lËäg\G_º÷7D:Ï6-gKÑÇJ>¶Úë±÷ƒ–É`µ¿F£U$–:¹%:ªV¤Ô/±¿+ßî§·ìUy‘ã¿iWÒÂ2¥Þ˶ŠÐjÛ厖È`õVƒU$Öõü½î§Z’A­°Š2Ä^YO};ë°üw]ç§¶L`9k´Ud°Þ;­"´tÅÆ‰å´%ÄñýÀRȨžS²ôÍœBî§ÉmÌVZ),Xm„ö¡+–É`]ý£,­"±ÜÃm…Ðz‹©c—ÞO§›Ž ÛsÄû5®1„eK=—m¡õ®6£%2XÏ7ÅQzAœëù¤~Œ=$––›Å b¯¬§ÿîyê°>·œíS[&°œ5Ú*2XïÝ€VZuu‰•¼e…ÄòýÀVȸ¶³¿²áoˆt¹>÷-ZÎ:VÅ +ùØj;ål-‘Ñ:ÛÓ­ƒõXêâ–Üçá¨6‘P¿Ä^½rÛžƒ¬ì§Ïïé±V÷X"´ÞÎ˦^§–jB2ZêË0‡¦ŠÄjD=¿ +$–¯[!Ã+빿ø‰uXÿ»¯Ï}–­JM½Îr­íuLël´ V‘XÉZV-õ‡X"8¢ÎÆóñi­ù|ŸÇ®Ým\›X®Ö`½çŒVEZ}M"¥ŒÎÚ;¤—ÀÒrÃX&°\[©Ö¨öþîÈDÕ¶(Èy®ü"‰ÐRìhª¬Z¾ Ëdh«­ÍšzAœ¶ÙàLÇ N*%)d8Ú›òòüýæ™YŸ¿Âz•«3Ž$BK£©"°Ú“Ï'zX&ƒÕ¶ô­"±œ´$:ê ‘Dp<‡åꯞæ™yþs­C­"©VƒÓO÷ì N_8H/¬ör‚AzœÿÛ:›,Iy Îßbêð›À2¾…Ôþ§ÙÒ½¡ìõ©è(cɆ"ÙT•¡%X•IÊÓ_}:ß.+ûôþÚöœŠvûêµ…QJ–lÂa;£³5”DRlI·¿'³%IÎQIÌÚöþ6^YñÛ²Ü[R%ÄNÆkG‘óÞkÅsDšõŒ¯Xh%±åˆËbVdÕTÇ«Qx?}XÖ(7ly’£4ÁɲS#G'ꩌŸi<[”CI`§Ê åØQ6ÊqzþíÍg¼ãÍ݉7ÜëWT’Ъ^Û*+K3a‰´¶¢î²55x¯b<É‘#`ÇY*ɤÅ7C~'ëÜ ©Àù~ä|¾r) ­ŠØVXñjú¸A³%Ò¬{|áB+‰-]’š–Šàx5ï‰ö|Ö62[4ÉTÙ©TA™C%ǎʨ/lÎ$¶x˜gcüèÿ®ŠA"–*r”?úò^ÎjÈÔ»÷~´©¢”3;,£ú¯ÿÏÚK("­•QUÙJbëÞ>?Ÿø-ËÄ–sT³†Ø2Þý'?Þ9%ëWüV*k‹¾þ¿rQÿ»oëø^P‚û§5" ÇQ¦ÃD¬_ƒ.%ö‘”÷÷&W[yï·ë+/²)YY"ÍŠÂÁ&M@g]ÇwWŠØªš@[&¶œ–²˜¹¯^ÝOÜÑ>îU¼á¾zÝo“’К=¥UVÖXÂimEekj;÷öŒË·%[•[&-Âôû!v¹˜…ÏÏõ5ÊMJB«b¶UÖ{ïa‰4+öhîV[Žº,ZsìiÁ5ñQ·Î>¾—lÙ’T€N˜ÍµaMJBëýKõ4)ªù²dbËy)Ëä^Ý×Ï{Áh½Z~ŽÜ2¼Â¡4ã£3; '{'«è é-ú¸ÖÔ$°ÞOöï=ÝK–2#˹jñeâËÀ›Yxo»®žH•;™;J‹œýX¢ê’H³>QíØ¬$¶œ…²˜Y5ò¶DpDÎúóYNŽÎû{k­èRfd!{¶j miV”—5i:{<iR[U_fËÄ–sSó÷Ý«+ž¬\ìÕ2ZlñQÊøheOaUßae½¬"½­(³kM 'ößx–D`)3²œ«áÌÂù³·±¹®÷ü9¾²) ­Ê‚­"°ö÷èrÑiÖ'*䛕ĖóP– ­{XEpDÎöþùûpt®cümmÙ’T€NŽ vªÒ’‰-GS– Ž—å^÷{«·ä΀I®õ½+Þ[‰¬"ÝŠŠ¶& §öî³$–ró>4UVÇÙ¡µD%P³ŠðˆÊÃùÞÌžÌÃçŽ{d‰4kæÒpŽ÷ªù4I„Öû‡èÓ­"¶ªèÍ– ,åA–û>«}îÏösÍõà"çϦlÍú"X"°²&¨µ•„Ög Di¡5k(h±u¿]o0m™À𥠴¾Ï¨cÚå :3K­j©¨m!3²*j¶¥ÌÀzâëŽfMÒ¬3*Ýš•–¢–ÅÌ,ZG3«±l‰üÙ¯ÏÏ1 xEî÷VcûŠVZÕ{[E`ퟱ• ,‘fݱN²YIlÝï™·ÅuX– ,åK–H‹1ãÞ¶¹}¾È9ž6÷LÀJB«â¶UÄ–ûZ–‰-cY&툣Vé~ÿ`®•û$ñVøµUUÁUçÛJBë½ÀîÝ*BkVÐ*bë>ÎñtÆ– ¬¬%Òz?ãŽ[åsg&Þá<*_·-X7ÛJB+¯h°ŠÐÊ+ ¬"¶·,XyI³Tà¯^í?ï·^}~öí+@KYRõÓ’c)i{É’¤{¬q¥TD’NNI&*+–œ9u|*ÝñÙ*WªÙÇB –TÁUÓ–m%¡õÞ?_Ý*Bk€Ð*bë>îñàÖ– ¬Y'©@ëûŒz¿~Ζ…±|¤%¡$eùÊ€[QF¤ä@JþL%OF)urJQ˜©0¥Ô‰_JýüW_Þ[õ³]ŸÞ›ºûúº>Á*B«:m«¬ýŽå¬´DhÅ×1[³ŠØÒl–eB«2e«{?«’îøÊm¾4IdK+X?KVMT¶•„Ö³Äërh¡5+_h±uŸë¨á°e++_`‰´Þϸã[ösm™Xâ2ÔaI‰°TQ³¥Ì¤<÷!%¡”'#¤:]%)dIN‚¥<óí$ø«Gïgƒ¥]Ÿ¶klÌу³U„VuÜVX{|½Ñu,QNKÄ–&·,XÊ•,ö~gÝñP†ÕZñkz2ª¼¬ÔÏ6j¢•pžg|ˆ´S€Î(‹¡“@Î}£¨KŽ,w±#À>Ï@×7w5”‹U·Š3VKN†œ –-)¶òÔ‡•¤Yy"ª“Õ–B–ŬȪSßV‘?û«ÒÛEj½Æ"£­"´ª÷¶ŠÀ:–¨[¥%Ò¬'jš•Ä–æ´,Z•/[EØûœlë{Ÿ•7xEŽŸ*Éš¬&%±”E`DÐRM@·T„‡›' —D’f·$Kï m…BááfÀQs3÷ŒT Ö±>£å€VæV…lKI€•E@°ŠtëwÚ´&¥€d9DX³ R‚aŽD>u©Ÿîøz®K õ…Ìä‡Y„pDiÊ^‚~¢ðÄÒC ù“ÍáùÐG?A¨||˜ BÉ}rZòßìÆò‹>ܲD`iˆÐVX³0 RÖÒ¨øj-%±/݉bo[&°j°%hÇ1_1ˆó yÙ|37b†…¼Èʘ[[Ê‹¬c;ã NXI¾¬;–³5kZµ-fFV>,MqÆqåþ ž±ø¢gKòkŒX³’КÕO´Š4ëŒ/š•ÄVU6Ù2¥lÉBþþíWì¬v·~ã]=F[EhU_ÑVXY-K¤µ5êÀZ[IlÝïJ,±eKÙ‘%ÒŽ˜q¿·ǧebË/z&l¡Uq£­$°Ž¨ÝÞi‰Ð:ÆW=´ŠØrÜe™Ðª`«ŽXã·=}„îg¼9¸åË–H³æ¨ÑJBkVJÑ*Ò¬#¾ÎjV[Y eIN寒È_½zÿ&gëÕg,ÀèÚ*B«zж’ÀŠ’2(óÇÖʨk­$±u®±\Ì– ¬J‹¤íxoT _-ñ&±ÏWl9'¶*^´¥œÈ:Ž#–©Á¡u.± …V[Žº,fÆV¼­"8âŠøLÌ‘YÆÒ‹–)+Ȭ9Z´rühÍR)ZIºuħêfM«Š l‰Ðª¼ØBîþí×›ŸçÃ~]ñ|òó£-Gm«z¶¬,-ƒ%ÒÚEc­­$¶îk‹Im™ÀR¾d!ƒ8bƽþ¼ó³eb«0z&l¡Uq£­$°ŽXºÓ¡k‰»UÄ–ã.Ë–æ„,±Æ#¾C}Î6Bo›õ²€ÊŽ-å«YsÔhå8Òš…S´’tkÏÙÍšV•DÙ¡UÙ±¥|ýÕ¯óg™;+‹\cYFÑVZÕ{´•Ö¬3ƒT µ4 ÈZKIlÝ1¢7gKÙ’%ÒŽ˜Q¯?wŸ¸®®ÇWl¡UQ£­$°ŽÏüËeK¤YÑÙn%±å¸Ë2¡U3ÂV1‡#ž¯Çg+5Z¶,!Û÷(ÒÊQ¤5‹§h%éÖÛl6kXUeK„VåÆò÷o¿ÎŸó9دød¶î_1ÚrÔ¶ª÷hKñÈÊb3X"­­QFÖÚJb+ ÃbS [&°”/YÈ Ž˜qo?Ç\ö$rŒå=¶ŠÐª¸ÑVXGì?³ÓiVÔ!t+‰-Ç]– ­š¶Šàˆ5Qq1ß]¤zÏ©õkæØR¾š5GVŽ£­*—³%B«"²¥mU‘Û• #F“ûGg›%KYpIDÒûÁ>'$HËØVœRIµË %J£¬II,åfpW<¶‡»â¹e Mn,gËVnKÖqGU-‘fQ±Õ¬$¶â­˜ËÁ#šÀʺ;ÆX¤õ~T3]Qx ¼)~m¯M{³´ÈRJYñÄ–&hRTt·Ã%èÒ¨² 4¤;>ßìè“¥,ŰT w3qŽï [nb¹GÏ„,äF–2¶”[óª@«¬£&yˆü•-åA–,åm%¡•W XEhå «ˆ-å¡$8u°$òW¯ö‘#öê‹>z„¶ŠÐªžÚ*ëŒW´DšuÆfõÍJbK3\– ­LŽ¥ì{ζ؃ìnó/¶ø©—Óe¥X³&¡•µi°Š´¶r¾¡­š´ò\Uç“-ÍpY> l=Q“¶³-‘cfâ3®£¿-7»ó•™€¥Ü쮄ÌLÈBnÜÖ¬Db[EšuÇfÛÍJbË1–Ũ˪J$[&î·0B±íßòu}ƒU„VåЖó,ë|ÿx}Z"Í:âûÑf%±U“\’€ç¦$ææh,ãSÇg«AúŒ°U„VÚJ++Ø`‰°­Y›Æ¶ŠØŠ×ÅÇ÷o¶LlyüË2i½ŸqÇž¥÷ÎLÄ&ÁË×¹«­Œ›m%uÆ›áZ"Í:âûÕf%±¥¸e™ÐÊ«ŽXã‡Ù9@±{öù•­ràäˆÙ)@gTeÑI@g,G¢“@NÕZÉ1㌤cðGÖñLÚÇš¬$ÍÊnÂJ+«×`‰°­Y—Æ¶ŠØz¢P=þŽÊ2±åÔ”eÒz?ã>¯Ÿ§Ì2–„´D@Ê<4iF )Ó錳óT KŸøŽ†ÒrIÎ¥zK5p¸ˆØèý^94ñêžeýJ”,¤ÎV¬"ÍÅXÍJÒ¬Q’߬$¶ªÌÊ–‰-g«,æïß~­cÌßÖÓµö‡TD°5¬ì+,Å#+‹×`‰°­Y–Æ¶ŠØzbÊì²Ll9;e1ƒèýŒ;–9ß-_ ¡²Òã‡P ÉY~/ñ£…>ñe … êïb…W2ÐG]‚}íéóífúãÕ»ÿ$C–­XEš5j­š•¤YQFÙ­$¶ªŠÊ–‰-g©,“¿úµý¬½[ÇXÒC´” IÙSK eaš%ÖÒ¨8cK ,=ë¼o,G?[qVÒ1h›ñîÏØ “XÇ’–Z™‚f͈ie`ïçû“R‚漟[§À©ˆå(trÈ!Õ$ÀÑjâ%Q×Ãa‰w<_SÅ–H³æXÑJBk–WÑ*Ò¬¨=êV[U8eËÄ–²U’À_½Úâøoëfí§hä8`9ÕK·£@ÊÉ24;lg”—±rž(qzÐŽç#¦ÌÇš¡ÆVN×Ý‚ßÆò=,çcù7¶¥ŒÈ:Ÿ;ª³`¡õYFa¥ e1/Ë×€”sÇ«aˆïúÛ¸¼„ÝóU²JhÒ,H ,UÝœ$KŽ.%.‹Á>ñ·ù:m‘s¬Ù`y,‘fb°f%iÖØ–­YIhÅ+[{[ElUɘ-“fíã•VQq/cƒ@fâýGù*nY"Íʸa%±µ®ÇX2mËm}âEÈlªZÊ;´$ÂãUÔ>^‘?"ŒZÂ>Öñ€çÓG‘VZ9f°ŠÀš{þA*ÐZ[þµ–’ØÒèË2µÜQnJK¤E˜QïcƒÛß–™ÝÙʨa)3¶*j[ÎŒ¬ëŒr´DšK§º•Ä–FV– ,Å- ¹Ñk8–±&Ægk6úøH¡U¹±åü•u,q·qÀ2¡õNñõiV[U]kˤY5,e1ŽÚ¿OåZ’ugkó`¡•‚°Š4k]Æ—°’ô¶FuRkkXñÒŽ¨8¶%«j˜l‰ðˆÊÄ1¶ÃD&âU•/eB–,eB–ˆ-÷¾,[U–hˤqÔ|}â0•¯$ïýëñiÕi°D`)÷h+ ­¸äv«­YGC«ˆ­'6ŸyØ{[Umcˤõ~ÄwP±‰%3±ŒµÌ,eVÆÝÚÊLКó—VÍqX9›`i~Ùª¸m9¶jþÚòÿ«_ÇxùÝ/ÈõsçWŒ¶ŠÀRïe‰Àú¼c{Ÿ´DhmkSÆþÿ: ¬˜ÐªLÙ*Âèfµ×ùþiºæ'‘i³. –¬œ¹­­$´Þ›êO·Š4kTÐ4+‰­'ö£q—eb«êll™´ÞϸãÓv¶LDvÏž [ÈÍê¬Î¸Ù–rck^h%iVž¯°ê ¶¥¸e17eÕõÀ–ÈŸý:Çf˜è×=?Môm¡U½·UÖçšëIK¤Y×ÏÞ¥ ìhŽK2¡UÙ²U„}Ÿµ^gÜnª¿Î;> ­* –¬š½l+ ­}<¿¤U¤Y£~¦YIl=û¼ÒÙ2±UU6¶LZïgÜñnkk™˜_µLØR&`UÜl+3ѬyM 5I³ò …Ug±-Å-Ë™°¥k‚,‘?ûõùY¶võºî÷ÃÞ×Õ‹VZÕ{[E`}ö7‡” 4g<¹kR[šã²L`)[²DØ÷Yéu¾7w±Mæ/È|€Äš4X"°jö²­$´Ž8|³Š4kTÐ4+‰­'¶´<6X&¶ªÎÆ–IëýŒ;¾ÝÊQtn¶cë™°…ÜȪ¸Ù–rk^hMÒ¬ç›>Jšu€]JbK3[– ­L ¬"ìû,ê:Ï}l“ù 2o9YXKVMZ¶•„Ö'þš5«H³FiQ³’ØŠ÷^Ç–¶L`eÑ,‘ÖûŒ{ù¹·–ˆqUëy(‰)G1»¥ÅμÀI'ÏI;ä8Út˜ýh„Rôó¿½9®±?æoëßú=º´©­ì$,Ç!+jyb&Ú*Ò­3Öè7kXšÕ²<ÏaUbl!wë÷¬‹‚˜“8O«p£”RÐY`K9ÃÜRv¸yvàp ,iB—dé˜_˜Zh‡Ëˆ×±&s0Ÿ1öÀJK1Ëa[³rŠmiV\㺕Ė#*ËVOÁás0¢Ëk»4ñõÓ×å VO³fieVa}®5 aéV,1êÖ$°4½eù •ÙUùbïs<Þ{Àe¾¿Ud–µ9«­5¶•V–ÜÁimrºÖV[O¼(ãàM`Õ °%ÒŽ˜q¯cMf"¾.¹¿2a«­Šm%õ¹—x6K¤YG=¶ŠÐʰÑÔp>Ï_*Ú)М=öVkR[޹,Z5lÁk,bIÒúi£k?=W¶”«fÍ£•cج¨5kÒÍy¶ñݤ$°ªÌ–­Ê-eë^}Æ6šîÕ:× ÷ø %¡U}·UV–åÁimEÍ]kj;O¼bë`×M`)W²DZ„3è}l¡‰,ÄžçW %¡U1Û*ëóÞÛ_Z"°bÑòè©,[Žº,Xš ²DpÄ‹å;hrtæÞ#Ì–¥Ê9`pr›3ŠÎš4 ­OT$PJ'«Éì SY±¤<ýÕ§ÏØ9ó·õrÛûü¤TáÊ©~Ëq r²8’Hki”ݵ¦’ØzÎY‡eËVeJ’S‡è2â}ìšùÛ²²Ô **dH•9²'E·n’­˜¦Ý*bË—Ŭت™`«ލ‘XÆŽ™›¹sbÏ•,X/Y"ͺŽ.M@ç½|½¥"¶ªJÑ– ,åF–È¿}?žkì˜ù 2wWEß›4ÙSJE`Å~Gïu –­¸µëV[-Z÷ØbœV‘aF}Œý2™‡¹sˤ èTÔ–ŠØª³eK=•%b«j"÷Î+v¸üuä,¸´dbiNÂ)`å:F¹ Hçxu2¥"’b§Š¸a³d"©jò[v{”…±'ɺ¡P$~mß·VÀ«­¨aCÛúõÿûLSIÒ[‰gí­à<ŸYmI„V>‡U¤¯2pü|X)¿¶Þ_ñ—ƒ„”3£W#™‹ü_÷8†PNרàQF¹Â»”Uz’Ì÷)±°–¬Ê4šš€Îþü´† 4g<nR[O¼ÕùýàbËV>(†%Òz>c¾î±•%³0_Ö²`KY€•A³©™:9O!Õ\¦•VM%[ŠZ–ó«fª-Íæ¿úuŽ,ѯk|“Ñ´“JõÜNKW<}º(‰PŠ7³t)‰$Í}I&*O–Š ã£D!–:,5.Ì·Œ²’’¬š²l* ­#¶4hV‘fÅóß&M`çùÌE>–L`åcbX"­ï#èØ€seÆÊà–)JŠÍd茳Êø™FžˆVê\•£HËqèvê´—SàÞœcçË_v/Öbô¨ )N[Õk[ŽCÖOâ/Z"´¢TamV[šÌ²LhU¦l9wîý,I8bIÉò H!~/Vc°j–¬œªlj:ï­ÔÝœÍ}›”ÄÖsÍ%¶L`åÃaX"­ç3æó{_2 ëX‹Ñ²`KY€•A³©™…æÌ3ŸÒ$Íšç"¤KÛ¡¥Ð[³ŠØÒì–eB+s«{?KŽXI½\(ZˆßÛ4fé,X5sÙVZq¯Ö­"ÍO›•ÄÖ{…{Ø2•ψa‰´ÞgÜï4ÇѹYtçXqËBnd)n´¥ÜÀš×ZIhÍÓR;Žº$fFV] l‰üÑ«x…ÏÒ®[q'µ}]·h%¡5» )œë¯š€$ë^Æ{Ða‰ØÒ —eB+s«û>«Žýý•÷EbÓ½«UJÀUs—m%¡ê?Í*Ò¬ñ ¼YIl=7ùþ7Ÿ}Ãi½Îx×±¿%3°5=²D`)^´•¤YóJ@+ ­S.­ŒVöVõÖ /ZEš‹#·f%¥Y-ËóÖÍøfžØëY—qÄžK™ë"×XµÁªX"°jž²­$´âËØniV<oÒvž{ndÉV>ñ†%ÒúžQ¿7©yŸæÌ¬×ç+²YŠm)3°æ¹O+ ­<#a±å¸ËbndÕ5À–ÈýŠ×‚.Gë×:Vm´i)j[ÙWXŽGÖ‹Ã7ZEºõÄNÛÍšÖ˜ß2æÜçÿfV`8sîõœjëù~†âÜ‹ïÇ®³Ui4) ¬Y©[Êy†–Š´ãÍs„ÇKbK3[– ¬{n:K¤q½,‘…c¬ÓèY€”V-©œ+7¶–DÚñFe@;^[ަ,XùÌ–˜c±<ï-xiÈ×5 VN³F)͌¹c ‘‹R‘nÝñ޹fMKs[–ç?­Ì ¬ÊVëûÌsl?»lÌ|<ÓÛ¶V¥KVVÀU3‰GLÒŽ8g ˜Ä–FV– ¬gnKK¤õ+ãÞ~®óh™ˆí_™…ÜÈRܲ´5jZ[IhEéFë—ˆ-GT£–•5°DpÄ=¶ôþ¡m,ßàÁÒÁʶ¶”gYwlµÑJòeݱ¯J³¡U³Ü–ÏX™XÈ b㱿'ýqî¡= ¾æD³’К£F«¬Y<©@kiT…´–’Øzž¹©-X9þ°DZ„õ>2É<Œ—'õ4@J©b¶TÄÒ}.±’¤Øg¯KE$9ä’L Õ\°Tć«qX~ÖsãÀÄÞOÛWš$‰ÐªÁ²U¤Yã=ÍJBkÛÏÐ*b« Bl™ÀRfd‰üѯùªý4^ªÙÂ+!‚=L¡~¢0ja$äOÆû2%äOžg<šÿ¯üßýüýÄ2¬ýçîÉrÈkýŠVZ ­"°jîÚiÖ²YIl)à’èäÐB*Òúž¹_Æ·1}¬ÑèÙ²åüÙªaB[I`ÍR"HØÒ¬‚bKEl=Ïܕۖ , ¾,‘Ö÷õû9ü<×–‡ñ*Ü–HNŒ¤Œ™-)/%ÝŸ=ö@†T„ÒyÅê%JI,)dIL‹¤9=àä|ñÁr®c<Åñ°\Ÿ±,£'I’­*XEšïðîVZÇ(‚¢UÄV‹Ù2¥LÉù«_ëÏÜWE`ìhšN¼‰½9 àÄŠ¦ÖN¶“yq; ØNÆëvÈY—e<Öc DZ¦cÀþÌP?÷(ð`ðËXŒÑ¢§•áÓÊpaU`Õ„¶¥IO+¶ß›•–’åmÅ;abU®-‘cfâd"ñ êçùʬ$´*¶ŠØÒÉ2±åÞ—eÒú5§Ñg:L¬÷÷bE–¢¶•Ó V[:ßd™ØrDe1jqÖbîoŸ¹w‚XÁøéÕ™Š4kcÒJÒ­±ib³&éÖg|d¢5 ¬*Ú´%Ò­9þ´rFàˆ•‡s|ÞýebNæA2c«ò`Ë™)k]·QcËmÝŸ'ökG["¶ªÂÕ– Xyð™cÜÆF”Œ1^7p}¢­"ÍÊQ„•VnÉ K¤µ5¶älm%±åQ– ¬åš÷¶DxÄŒûxÆ—¿ÌÄ:VB´LÀªL4kÆM+3+.¡ËA«H³âÒù4+ ,­,6¬ŠÛ–2#ÖxŸ±%F(ª!>Ÿ>B¶Dš•ù‚•ÄÖ±Äú\Ñm=±Në—ˆ­ÚRÔ– ­Ê„­"ìý,ëÜm<0þ9ǂ֞•՟­­$´bŸ£~Ä"ÍetÍJbëQÉdIÀN•ÚY2i}ŸQïÏØÔò·ef«lUÔ¶™Í9Q³-efÓøÌ®JB0åT©¬%‘~¼yÝ?£Dìä "P@ ©œÊ1Z*BëË&hiÖ(ûjV[oУ`Í–‰­*³eÂ#VÔûØŠ’yˆw§=’ ÀQÔn©H³æ¼¥•„VÍ,ô*‰-G]–‰-Í\Y&õkUäì×6VGôa%¡U}µUVìè¿ì´Dšõ‰µ ÍJbKçEIÍÉÜ@JÒ"å‰ûvm(Aâ]”G+¢„%«æ.Ú*B+öþìV‘fÒ¯f%±µ.kTÔX°Såa–Lx¼ŠzK§˜‡ÏXyÑó K–¢v[Eš5¯´’ÐʳV[ »$;ºH2ù«WËØ„ò·õó½ |EK1ÛªžÚr4²îx+âNK„Ö½Å-ZEli†Ë2¡•ɱ¤ô!ÂQ ¸¯×Xî’ÅøµXBJH èÔ¼EK5“aݱSt³Štk”}5kXo8£PÓ–¬*³%Òz_y8Æ”¿-3ËgëyäÄÈQÜ’3k^ h%¡•ç&¬"¶œ‡²˜™²t5eòW¿Ö±… ûµÿ<ßC ) ¤ê©¥"–îûŽW¶@ïÞ›TDRÍm9T2+p’0¶Q—¸/÷ØwÒ•Š{,ýÓD˜Õ’°ŠÐªIkK›V¼ [Iº5j¿š5 ¬7 1%€Sõa–Dx<åáüÉÒý×XŒÑÓP’$e¡$&Í«¤ê”tŸ XR ÒÑÏVt(Ç௭cûIvéx?Ü~]©h%¥~Êa[ñ¶õ½µUÖóþw<ض%bK3[–I³fn MÐ"¥‰Ûs=(]¬¿¶k&Ì’IXIš•S–mÕ´¦oŽéÖ$_m¯ÖÖ ´Öeå—¶ŠÐŠ1ñS?Reà»Oþ¶œè«ÆJ€$¤DßxUünɱ4Îþ&%±”g#$I¾$¦cí…Ò–LþèÓ6¶üm½Œ=ÉþœcÑEÍVZÕG[E`ÅNëNK„VÜÐÞÍ*bKÓZ–I³2+°’°÷³,q»ž±ù¤ ·øÐ²|Za$¬"´jÖ²­œØ´âe‘ÝJÒ¬YF+ ¬7¢q³bKV„Ùé½ÏL|Ææ“¿-7±ü¢gBr#K™@[Ê­¼À*B+ÏMXEl9e17eéj Ëä¯~ícóÉßÖÓX†Ñc´å¨mU_m9YO|°¿i‰4ë‰íš•Ä–f¹,“fev`)ƒî}ÍÂel>‰Y¯h<¯V¨Ø¬$°²\–Ûª9綊ЪsÈV[ž÷e™ØZ—}”òÛ2i1θ?ר~™ˆ~Î׌›VX·-¶¯’îG,Ò¬Q)ج$¶‘,[UhË„GÌñøcJŒPì+w~]å`¡U9´UV¬ÿ[Z"ÍzâÛ×f%±¥Y.Ë„VeÇV‘ã(YÛ>ËØ„òd 3XÄÖ¬$°²H–Ûª±u[EØÖ,1e[ElUœ-[oÜc‰˜-“ãŒû¼Æ6”¿-7±8£e‚–r#«â¶…ܸ­Ïg\ùÐV’n:²fMKÉbÔee•˜¥íx9gs|¢Gw_•-[Îßæúº9f¶DØV^_ÐVZyå`¿’ØÒÙ.ËÄ–³Uó÷o¿Ö±åoëér~]ã`¹§Ë?Y…¥<Ëzâh³Dše&ÝJbKg»,“feܰ”ô~ÔpmG„¡ªk‹ t÷5k¸h%¡•U°Šô¶æg[y°­YˆÉ¶’Àªª1["°Þ¸¯Ÿ RÖ«ÊÃ9¶¥DbïêóøÊƒ­"°”Y"¶Ô«’ìTŘ%“Ö«Ìè{x·ëHœ¸Ë÷HÛ*Ky—%¶òʈ¶ŠÐÊkû•ÄV]¨$ ØQjÊø£Oï‰üìí/Ùû§=–S´>Áª>5kæVfÖsFi­"ÝŠòÅnMKç¦,‘n°)Í<ÀÉJ°í½U¹æÝ”È{hœgU™-XY/KÖ%-‘f]±ùI³’ØzÎ(¾Xa™Øªj$ÆX„½ŸÏÅ·÷ãQlLù rŽU|‚KV>=om%¡õ~xÿô#iÖxâØ¬$¶ÖåK m™ÐšÏ%ii½Ÿq¿áÈ;3çfYzµ,äFVÅͶ”›EwfÙWYŒÇÖ(7 4A?ÞxŠ»½9coÉ_{,—àófX"°*Ïh«­øF²[Eš5ž‘5+‰­7êJþÈÿOÑh$à‘*ÞýMóÑ2ðÎÿeÿÊ€,XŠ×miÖœµ´’ЪY…~%±•!—’?òÿs¾B)òW–±[%{´•=:XIhU/mõÄRƒ‡–­xWõѬ"¶|6”eÒ¬£+ÇwtãÑí¶~ÞKðŽ‡¹[|ñ¹ô'̰D`Õ\E[E`=Ë/vƒ%Ò¬ñ|¬YIl½áÌï§e™ÐšOÑhaï+îýçê‰øüÔ¶#Šº$¦Ŭvœ;ó܇“Nžv Èq´é0!ræÉo%þ£7Ë{;Ò®Mñ¼èŸÑ…¥HmU'm9YO¬½zh‰4ëÛÕ4+‰­9¥¥äíÿ3%P”5D7žÚ¾Ÿæ~Žq·÷ºK-øxRH5O% PŠê…&hÒ|,)¥u9c+9ú™Ê|rf%fdí;ïµÅÿž4Ëú¿­"°¯,‘fÍ“žV1ÏA±ˆ-Å\’<å!ù«WëØ«’½ÚÇb!¬$°ÔSY"lkˆ³­"Í:ã½5ÍJbK[– ­LŽ¥-ÂñÜv}®Ÿ§=ÈB‰öxÙJ=]¶’ó­Ô¶òþ‰>š2ASÆ1*ó ™”7‚±}”Tæ3(ù ª ±9åoKîa­¸e!²ºÛr2`³¾YIxÄy*òˆEl9e1+¶Æ¹O)Á_½Z>½SÇÏú<_ZRÄ’ÔÏ’JIÇëìKM«-(%°”YŽ~nJæÄŽÒ†ØÆƒÚõ¾Ç¾”~t¿‹1øHVZ5{ÑVÍgZQ÷Ü­$½­ñð«µ5 ¬7¢ñxÒ–H³æ#2ZIÚ+çØ™™ˆúŸû+²D`)n«H³æVZybÂ*bË™(Ë„V^`ù«_ÛØ™’ý:ÆâŽ#¬$´ª¯¶ŠØzgøo‡·eB+^u4«ˆ-ÍrY&ÍÊìÀJÒbj×ë{SúÑí/xú#eXEhÕüe[9ÇiÛ8×a%iÖ|DF+ ¬7¢±;-‘fÍGd´’ôÞg&α;%2qÝcGÏ„,XÊÚJB+¯ °ŠÐÊsV[ÎDY&´òª«È_ýÚÆ.•¿­§Ûóuý‚å¨mU_m9ž²ÞY~ÄK¯m™4ëg2­$¶4Ëe™4+³KtïsÎ}ž±[%fáû{«ó5Ô6kZùV‘ÖVÎ9´U³Vž1°ê¬²¥Y.Ëg­ÏØö‡V’cfâ3v­D&â=Ïç+°’ÀR&d‰°­X#ú´¶ŠÐšÉh±åË2¡5’Ñ*Â#ÖícßJŒÐçë<úÙ*B«rh«ˆ­#þ‚-,“fs´a%±¥Y.Ë„VeÇV‘cfzûV2÷ï ÃÓY6+ ¬|p K„mÕlr[EhÕ<±UĖǶ,ZŸQÚB«H‹qÆ}^cÿJdâMîYoͨ¸i%UqÛa[Ÿ5^ζŠÐš›h±¥ˆd™Ðš›hás<Þ’ØÃ#ï ø!XEhUm±u,±ñ<$æ,³§’ØÒ—eÒ¬Ì ¬$-ÂÌó2v±dæ÷±êƒþš•V>€„%¶j.¹­"´j–Ø*bË#[– ­ÏØ.V‘ãŒû¸Æ>–¿-7ËsôLÐRndUܶ›²Ô Yì©­ñd”Ò­W™Áã;O"§Çg¬Øh9…U„VåÁV[ï5ûŠ£¶Lhåì…UÄ–æ¥,“fe¶`%Aïó±îúþ¡Þòì"ïÙöìíA/,‘fǺÍJBkn;A«H³öØ*¢YIlÕÃ_[&°–gaÀÁ+îý;O2ËXÀÑ2aK™hÖŒ›VfÂV=à¶%K}•åÞÿÕ¯cì‰~Å>ýÏÖs«H³f¦i%•[‘Àa[s+¶UÄ–FM– ¬åûúÁá+îõ'ŸG85õ¦QE-lj±“1ÛQZäÄn…­rÞ38^!bÇ@ŽÇ88«§Ã}*×÷ã@léG—ñ[«×†Ž¨°ŠÐÊÇ™l+I·fÀ´”Xã‘P³&õ4 m‰4«54lǪœ?gKÁû;±â¢§ $äD’2 –œ’’Üé”…¥ùÐRv¸ñtmݶ±õã/Èñs{ÍîxêK–޶’ÐÊSV‘f‡ÍJbK³Q– ­ù¨ƒV‘Öû÷úŒÍ™‰u¬h™°¥LÀª¸ÙVf¢YsÒÒʉM+g¬š[¶·,g‚VëTÎê¿zôù™oð¸´.©b³“NõYN:óÊ']µÊ1£©_ŽÌŽèÏ|¸¶®ÛØóñä«!øVZ9WÙVX¹ç,[zœ!ËÄVíeË„Ö|ì)AëûŒzy~®«¥aûÙî§§Á’ób)cFKJ ¤yòCš Iy&Zª“Õ’.‰9±”g¾¥öé36~üm½ŒE=b[Ž»,Zój)AëûxÒô\c?J?zŠÝôõ¢‘|&IRZJÀ–öslÍí– ô–Æ7÷liHoÀcGbIMšßîCJЗÇËqÎsð‰Å[Ï,XŠm%a[y  ­"­­9![¿&¥°e‰4kž´’ôÞ+OÜW^µÄ~úÚ2øØ¥1c[“°­5j•xD‘ÖÖü²šm%õÆ=ÖØiÖüJ›V’Þû÷›D73±ÄbŠ£eÂr#«ânmUnÜVžh«NÖÖœ™l+ç*¬ŠÛrkž ´òìhGœÞ9uÆ>e~ÀðþÞ¢}ò†-X5j­­I`mW,¿¢%ÒÚß䲩 à¼úÆnÈ–Dš5¿È¥•¤÷}FÆN"ï„]—ïŒZ–,EͶ&a[y& ­"­­œ©h+ ,Å-K¤YóL •¤÷~|éøÞ^lŸ¼.Mò~²½Twž_sÚ*B«¾šd[“Ðzû:ö«¶U¤[ó«IZ“ô#fïãÑöXó r½ÞëUÅÕ{Y"°Ô{´•¤[11›4@;Þ|ÄÁã%¥<ÈiÖü"—V’?zµ¾*òB2Á«)Ž¥I`©§²DZ[óla[I`Õ™nKVŸ¶D𕹕¤õ~~LýÜïíS^¹&y/.Áí“4­IhÕÇY[EhÕ÷r¶Štk~ì¥5 ­ÿþ÷òöò°endstream endobj 164 0 obj 61936 endobj 162 0 obj << /R7 165 0 R >> endobj 163 0 obj << /R8 166 0 R >> endobj 165 0 obj << /Type /ExtGState /OPM 1 >> endobj 166 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj 159 0 obj << /XObject << /Im5 161 0 R >> /ProcSet [ /PDF ] >> endobj 146 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F20 24 0 R /F23 7 0 R /F35 18 0 R >> /XObject << /Fm4 144 0 R /Fm5 145 0 R >> /ProcSet [ /PDF /Text ] >> endobj 171 0 obj << /Length 172 0 R /Filter /FlateDecode >> stream xÚÍXKsÛ6¾»‚GjÆB é)õ#“f’4¶:Öñ’ ‹Š´A*‰ÿ}w±€DÛôÄíôÐÑ‹Åb¹ûíKñ$ƒOŒbùl–h>c³™N–Û£_æG¯Î…I8g³¢Hæk/9_]¥—¿M O__\¾{;Ÿ\Ï=:›eÉ”³b&)%SJ&è3‰³Éúˆ‡wȶf9ÐQ=/FÔ •ƃÓxrʵaZ)TÜÁ;Š,Ÿ^jHÃîÝþp`¼:ߪä´=út”|Úï‰Â0! xg@ïÕJ™íÕègÔê'j§{½9gÆð½¿9ø+Y.ÕÐ_ÍòÉ”s!Ó÷¥û2ÉyÚNr‘~Ls]¤'›²j:Dä \S!0P‰?* Úå2]"Çq™§Û²wÕÒv´Yºª«šZ¬]» l’ue³Š¬o¨¦¬¿ÐNÛ e *ËæfW—×"½qÕŠM `_VÒñîÖµ‹Úb6€>¦öóe¢ýé“sHDH€ºE‹…Ì?pÚ&ÊùØ"«\­ª¾j›²¦üêld×$ b¥´‚:°?j {,‰€étÆCî©íôb<М”9’ê#~N£Ø”C‹4Ò †ºžéô¯ºìíW¢m–I0§Ä×´GÉÄG¨·@8îí U]éë bŽAËO?g\:t ÷{„Ò#ÜÃ{ùi•B¶XWö­ëF’êwéªPªøfr]jBå§Uhz(Iή-Ä™šÔ„;ðŽôž6¨‰ g@…R,Ó*4éÓÈyÆ2YÏY‘h‘¬(Di~†ÌUúòˆ.Í„>¨âÁ0Àü©N¸TÜ­$|6¢lÆr¥~lWþB»Ôì‰aÎv·še_Q½@‘bυоöæ*cR™[x%ÛÖÃà‘?ÈÏSé².»Ž¶¿Ay{®ÙŸÁÂ)Úî1ÞûÔ2Øb] ­†šªŠ’ô’ Šn WÙÕ1Ö ËÉèaj€˜O SãQnRþe³`íºšqÃ~>!‘É—gÎ6Dh©ðtè~ yMQ0Íó‡Ñ³}A;ºÒÇÄ€òÇÀ‰XÆÀê7ή×îà.öå”pà Ø.õ9<15`…ÕçÓsÅTÁ`¹,ëÚƒŽmü5¦Ðüâ\àZzdè¾RÏ΋¬þ¢NÞðcʵӓÿÊC‘3£ÅZ’|yéG—š—”þÁº €8G¨ÒdnahΉèœxÞ9_Fÿw]í»æÇV¯kH–ajñ‰Œ¦ûŽÄ ñÁ5Mð0‹œÆ*£Ñ¢®i¹ÝÝŽî#8:¼ô»Œ3®‹ Ô~¯[jy°4~dî M»ÁPâÁ \ØïÕ¢ª«>ÎŽððU/ð þBƒ¿ˆ7©ÐÊÅõ[ßšéY[ß–áÅ+Û>æ`Û3òÃÎI͈TÛÐ(eWaðƒ;cÃãè–CRä4Ë?ö¡CA•|¼8=»xûá ®Tz;Ôø¨|v¢žytyÝFDêQ§FNÈû¹¶‚k«lÂTEá³£ÂlhÝ=-£—q°UÃ,\ðŽ„’¥X×ö+ “l=–ü9‹¹a[·²Î »(ý§’øq&óд¥8xK·]³¬w«p¾.wý¦ªëéûå;ìö?(¶·µŽÜzÛ08ûn ¾}«ú !¹p¶\Ñ¢Ì~Î/}†²Á?y¡˜Ið[¾(ôØ?lî‡fàŸ1â]´ýfë»0ÃTÔIëªù½©È×U=é02Ýãö7ÈÙoÕendstream endobj 172 0 obj 1688 endobj 170 0 obj << /Type /Page /Contents 171 0 R /Resources 169 0 R /MediaBox [0 0 611.998 791.997] /Parent 150 0 R >> endobj 167 0 obj << /Type /XObject /Subtype /Form /BBox [-1 -1 450.998 230.999] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 173 0 R /Length 174 0 R /Filter /FlateDecode >> stream xÚ+ä2T0B™œË¥ï™k¦à’ÏÈJj‹endstream endobj 174 0 obj 29 endobj 175 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [1 0 0 1 0 0] /BBox [0 0 450 230] /Resources << /ProcSet [ /PDF /Text ] /ExtGState 176 0 R /Font 177 0 R >> /Length 178 0 R /Filter /FlateDecode >> stream xÚ•ÉŽ-»Žžçû)rhOV©‹ÅÔ€áqÙ÷ p5ð<ðë›TÉŸ+ò P8w+¿%-‰¤¨î?Â'þþ¿ñßùëÏ?ýÏëç_ÿïŸðó?èÿÿõÏþ‰ øÿù—¿~þÛ?ª?ñ“j-×Ï?þ÷ŸþqüIéøÔ®Ï•ÿé¯?ÿåç¿þã?þü÷üùç?ùs§+]?ÿø§lÃÏ?G>ÒÏ_í_ñ<>%?ÿçÏ¿ýù_úïô?ÿ2©ÄO¾îŸ˜ÎO¤”oÌLéL)i‡J8§–ŸtŸ\/â¦L¢bÆD>©°÷‰d¥)±<Ù*ò}8Ä(M¼ëõ9+†¦¬™²ê¾˜Y÷_1‘jvGÈÌß"…› „óiÿ¿Sùð¯OÍ5˜û ŸÀ gZ•GXyþå2)|®›SŽãß%êðñ¹…ës_«‚ùóR2ÀÜ÷'—¢ji¹JâÿãEÅÉ߸óS®¿!w¯ë¹¡ÖO^rëý9#×rõø\¶†‹9}*§T’ãÎOý½Ø·jL±¡†O™ƒ‰ AÊ)¿ŠX º J™ ¥Ü…×7®ò˜ûз L¡á¬ŸGf¢ö -ñ*pTÇu,—óõ ¬ƒ+á/\)<~-÷¥Sl8vµU¨·×ã],à8{Y •£6ÅœâÅïsçù9ï_ }«Á iºGè‘n22ïB-w¤Ø†ˆ¬àh`JI9oJßr'é›/÷­Sn ¿”‡;¯°w[W.àŽû“®‡å.ú;+”TH‘_8*ÿVâW¹oõ˜rC¤ÿ>ý ’‘ ×»\ËÕ˜>éÖõ ì‹;=9áô¹›ÅQ~/÷­Cî}×O>»ï´SW.à®ë“²®‡áhl_Ÿƒë[ËR,«Â`¾‰}«Æ{_d¦žf¡±wÉnå.ž‘\nY €¥“LFõóøÎºîqiœÌî£|j8^ ¦*škìÞÁÃå³+xY8Ë•;r?R…³®„+WÕã Çç|k±+µ~-ka°ƒ¬Y bäÜÇÃÈ%çíUèÈí¦„TÒ[ÙTM+éƒp¿KyÅÜ$²–«©k¨L>y¾}î&ÍÈžJ¦êÔú…«@ørï°M—üjÈÖËdô¥‚Âb-—ÃM\TÕO±xÄ–HžÔì$}ßÅŽìj!ÿèz-]%¯1~)]ºyšReãåëÞné,—ïî…ŠÊZì8úð)å^Fq¤Ëý.väWÉö¬h_<ÙxWéÇ›XË]$;™¬†áJ .’¸Uj]¾ÞîEîä.šr­À‡_>Ù,-’ð&TCퟢøˆZÓj² çÉ“TòuÉ¡åYMfŠÏáé½ÁÈå¸9»¨ ØûøÐ/ÏBȹSr‹Áð„¡p4ͳΤæ 7*xäÐx ÑÅ*;œ9“˹ uøýã/“qÃáàƒåP-GîHó{8 xÝ_òKgŸAÑôí¸¾pçÙœ„tW´&½dØby\yg:n!y¬„åR¢B±ƒ}lŽ=ÈŽFuLG=ªM´vÇ4ÑÃ2Ïrü ¹å`ðp¨ËTÎØ¦ Ô8÷—ìÈ€°Ê$ƒ²…)wtœã¹…©2i–Ö*d®H1ã 9€`ðq¨–+G`cH• žò-?úi›§CÔ—ìòY>Ge‡(~ÊÓú˜{ûpý)¹ápüq¨@.•´•½‚ò%?ªfᔓºÌ7Ž<§Ì)¤—V9Kw3s¦au|™’‡ ‡êa¹‹Ú™»•ü=@~Ç0ëÔ­Ê—üÎx´ \Éyû=.ö¼¸44ó‹—?%·AÖȽ€£ ¸“~/“ÂAriŠÇ­¾Þ¦Úglƒ¡îk7ΔÜp88XÃ¥@íÁÁ³’Ò¦@~¥…(b¡^×—z¤î9-]EFŠþU¹µ"› wNn0@ªàR)­W’þhp”õ>þÊ÷ú’_ ¯ƒ[ù gcÍß ãU€Be¾oæk9gžo8©¬+(ùS¬1ŽPØoq9ê¢Í œ1°+é˭ݪ42žžÈûÐp9È_ˆ·?C6Ž WÂ`'•’íÍA>òš÷,SUÙ_=/²Y¾Lò‘¹o^¤B—̺¢9h¦os|ÃáÂYî&eÚXü ?Ry<ÿ¼¨#Ä/r/ÊFâE}ù±T9Ðä5PêIÞl<ü¹»áp¨q¨@.{¸l!OúËãÿ‚ü*y48+©€Ç"±<¡ËKšõ©n>zDì ¡wc<+·ŒT VÂr÷%’z‘ú,Ñç"Tª-O­Öäý¬Ý)ºHk6së̶-‡ƒ €ƒå3^ÿÂUÒ!ùrÙE®hyŸ SbŸÝËKCÎVE iû&…&îpt¿ºÏ„ÜyªÁð„Ü`…ºmnŽN|t’¥æ:}"‹ã­Þù“ƒö®î‹ûÏ ÉbÄìÎ=-‡çÚ€ƒ•bc7«é:×ÙèCªu)`€ÍÐ@¦¦Žk¦}ô!9<~wöi9<Óªâî¾0ðV¾K[®¶qd¶º¯{ó_æ,º´ÆüÚZζ-†«²£ÞÂΚ°‡ˆ‹ÝáÈWÝv…øÅ+dH¶ÙûX´ÏÔBrg ómËáj€üÆB|¾ëJÜø5JK]Àò…Ö õÒ5ãÉ4¢ØÐ ØZϸ-‡ëò»ï>Ã3#ÀñÌ¥´(âèçåü ݶvµÍy}¡¾Þ£$xj9<ã¶®;"çë‹XRgVS š8”æTé’;±œH[dw4'ð Îr|‘Zh,²÷4¼G_*•ªyмœ¾p¤zx’Â[ó¶i4Ô㎣Óãé§åðtÛr°º@,5ZÛQIv0{’EàèÑI*ð›Ø­.ù3W?϶ŽêÍ?-‡gÛ€Ãõùù¼¬ÈoDg.ú˶ÁÁrµmÔ‰•,×Ó R(-G­qò>4wni98ß6®;&ô¢0?2¤<· ÿÖ'¿DÎZ©WwÚh(_Ú#õ–ÃsÀ‘[ÓvÄ p°d]&g4ò™Ÿ¯½I‰ÅðLÍr°º€#5qµc¾×Ï‹äŽá7ŽG¯|ÅÏZ=3šßvæ$šóæ`†ƒÕ@ri°±“~—e0@v•Õ^ÖN+Èn¤Hojn^Î(ž“XOÁ«aÅŽåØB>î¾l³ësAóEÜHN!9O=4C¹Î”Ärx8X 7ÞmcßA½±Ä÷ü¤û¸±€|ða•ç× •ÛºÝÇrg$Ã0‹ÁJX¡±; ÃI|Ëí ç6keë“דZ¸®É)±ÍýsýxÀÁY‹åð$ p°¶@ÊyÈŒ û¤ì×éR[¤þ mæÎF †…ÚÜÊÑæב¶¥SƒÍŠP):ZøâýSk•þÎ}ø"j,8Â)†åðŒ p°@îUzT•\Ãìc…0îx•TÅR´@lj;/k=6 pѤŸ©jùðçÃÓ)ƒÁ*™gÛÏqÛìc³}oš<öȤCã5±F^шz÷CskNîÔpp&…8X Ãá *²¬PÀ¹®òòÂÑ|ÉÍËÃN­å o1è4Ol ‡« ¸J;kŸ›ûWóqæîŽJ¹Wzö?xt--6ö€£¥oÅÍjgÇb÷[z0Ðõ5†½c‹ÁŠ¡T¿#)wìKnûⳋpx#žw8äË —ˆ«Âܨo©] ;@ì˜ ¯èK-d ,Pîlº+çû€Ã¯Âp]}¡õ¦Û-ÛãÝK‡íñFç’´ãØYú±Ã¥³bÇnFé'€üFÛ4(çnl=cÙwQžMµma2ìÜYû±€ƒõ@rcsx†7âráºZ ó<®}—§•ŽfÌd~Ó_¾HoÝ—ïywÃN/à`uGVœ×ôÅB2àÈ™kQZéBŽwܾe–¨OñÒ¨tæYÌJf0DßÑô+-‡+k¹¶¹ô&+pšÎ4bBa? Y®6\xiöö}(‹!_ÑP `6§ÐCdáÞÚÙ¬Æ aOp)ú¹«Îë8·Åæ"@pØS´®ƒå k¸Â°ªvaHÝáÜvl.b3žß°Ýí°QcÒÛƒGݶ@ÈÔüÆÃzöbWÁbß\§EÁªj šu›ÙËÚ°¾YÐÃ"oçL:·éuR¼}t,爵ùͰ"oèyæ ?²`9•w¹¤Ïbs'vç„Ç÷Ú:)òèšNËaOpÐ)¬/àx›•0ÖyúÜAZ¶åf+ñѨgÒñxTcýÇ3¯ˆCî„å@@^Ã5[ÊܼH¯ÖK¯ŽW’xÕऺ_îó{IÓ?/ΖԵ­€ƒ.‡å`}7~ i ÷ôO¡°Üdðøá^Œ¨å^êñòtËqµÝUkcÑ£ öM>––ÑÏlßõt´í·s‹cœ$ ¶b`Á%j¿_EìþQL»û`ߥóêF¬Á>ŠøÙñmÀ É,ºåxrÊE™\ÀM­&®„Ü‘[Ìé­|œMsåÔÍ@q¬äÎM?ØbYÛf®¯åÈ*·™Ú¾ïÇbzûªG¶y,Ââ+3š¿óìçÁ& pÐBUÃbì'·ñ"¶ó.ßcÒî´ŽÆ0[°øLk_àœÛy°i´‚–Öä‡ëk¹YyŸ–áøÐqë¥bÛŸuncæÙùƒu>à -,ŸåøöÒfÐÅþËñõÄ­_8¾¿ªrŽ€ßïÙÉ VôcrÝž=CØÂY VÂ`ÎSa6SÖ‹b“M¦ó2™ý»ÜŸÕ­Ê<ƒäؘõwßl.æ±Cû‘"Éàp= ÷¨7¹SYŠÛZ7ý9Ñ.ÏÀ}V/±´Væ(?TÀMN^G]²mí ¸’ÇN\ùÎÑÐ Ï…#ßUȃ½hÌÅ!Û€²Cµ¥›šK˜B™t» äG¥æ–¾ßµïæ}®ÊvtˆáÍêr²†{ÜÄ‘âæ—øA°¤îuù–Ÿ¸'&Áxzð¥XŠ1J ü]ƒCîâò[g, «.ƒ‘5km´_ik©tt» î¶Ø£¶ö»€94ÓV_žmñð´VG€ƒ•°bçøÚnºQâ:àgp?Õâñ8¨eËg9~m¤owÚÍæG²íå¾.ö˳Å}À@,Í¡ûU^ûýÂ;ô\hë ;Ëa5c9X]Ë‘Ó2z•¸¨Þ/Ÿ¸˜Þº¤Ö׋âc†³#‡»Òö¤±ÉCüýñ6žW±;+^¨ –{R¶Ç¸žQ;Ÿ¨rƉưòªƒŠ;µÁæ¤D¼d…N #^³¹Í¸™ÀøB¶öyÄ Ž$€ÁÂYîñùÅóT(¿£Ç#ÄÛ^ ¿øQÜ4ãë}*Ø--GÀ°â°®®_<ñHÊoøâ°/ù©wÊÃΘQ¨þËò2[¾ÞÔƒph„¢ìzô÷%7šÂÝÛ+‰}Âö˜"êh€ƒãÅr°xHì¿p«ñ^ªñÜùåNGx{Vv Ëáqe8\Ëñ;n <ƒjó›?ÇK=fùý)ç÷úʇçCu»ƒå¥üŠ1ƒÁ‘ó­,ü/ñ÷§#ÒH%º}ppnš©@î÷™|nšÚp†Í™›–%Nl/Æáßp°ÏZ—É6H¿ä×U#?Ÿx–èç7R.¾·öÒ±ú몣;ãak9¬i‡ëáÊ)où]9lÃpÃÓ9ëµ]Â.ÒhõwX$Í´åƒ)'?’ö½"7}WñíǸ©cäxbêÅŒ½+wá½?Yíè7o‘)þ8·Ö†Ãåù =.ÆÈ.•vªZª _l­|¬ªíógu†¹Å°V¬Ú½Ej@²E‡ŸÝ¬Wá›À‹ÏÈŽEsgÇÓž6Ôj€ƒõðå^¼ñì®.7kvQG^n’Û•½åC‡|¹¶ØÛñÊaíg8\$·ÏÖNúÝhàùùv& ¹ûw–“ݳÔ}’Ø7mœôcæþŠ5Ð6–‚ª`¸žÐƒþ³<|‹M{òi¼ëòÅŽý3oùMçöÔ„ÂÇ_G~Q¶׸Y‹ùÃÜ1{ÃpOÊ ÷®/×î [îÙõ‹ò;øYéc?4?S<î{ù÷ôP‘ß¼öl…Éçdõ8·Ù8à‰X¿'Í/àp5-×_[Žçýù*v¼¢¬¬y7IëÈÆT©ò脞ÙÞ ž¤<$rSß'°´t ÜÜd,–Á¦—+‚6³a±äÉYèXÄA—›W‹k<ÓlÇÈXTÀ¡JXl¨vy´Â/žô‚P~¹oÐþ.6†Ôn«|i}]š¼ë÷uš#‹aË 8X[$–ú]Ö0|Nt‰üŠÎym+\‰|ÛÉO!u°¬9¼[î±æžýtgë`¡#ð½ïBËÉÞ¾Z“Aù‘OÁ ì×fv³=ùÉéÜÌq<Îö Í›¯8\ ËG;&”BÝÏEYîJ¼ºÌ—wîÔr5ðÒ¨öejl[¶Ö9xl•ÝËÍy¤<ßò›‘'qîÿ¦Êë¹ëܺcG-‡ÝËÁònXÈ×ü†{!o \Ÿ±Éæ‹ü6OØÏ­Cw`°t–/ªËõý¯Ò¼Òýz ”M8éG‡þ§Ý[§Ö¿ÛÇûæìö~@~¨ºfYº„(;r“éïb™ e¯¹Cqô£’j‘¿m¼Î¶}~<ÇÆÖbØ·ð8UYË ã}•íu/„V ú>àºUb)ëòs‘ÉîJÏÚ {&ë`¨ùÓM€„'`0ÒÜ܉ÅÞ€„yĦ­¥>xÄm+…g“-ý ‹ÁJX®¤«¹GÒ“\wfÅ|îâ=ò“;í(Ÿ$z|0ß* ; ƒ•0ØQøhäˆr±œ[ÓIïØ`g(mŽ ÞÀÎÐŽ»”3O¥ €ÁÂYî¼8ÿSâöÂξŽþ³ÊwñIN)ì‰3ìæzÃÎ‘Í UÁP•·FòZØ/,Xb™*$j±›×0~J©[|„RÛecé/¬9î“ÁpÙ v“Èñ5·›¿ªç;KWÍòO&M²~ÒøïõÕµ,åR,-ì(÷—J›ð%¾tÿò±|¶kå_Åò/Z½GJWÜôæ8XsüI“Yã~á~ϛņ—(/«»¯£?ð\߆'À!ï`¸t†›ž™¼¾ å×çh´¤/rG˜GÞ’7½³u}›ãY »‰–CÕ@é}¾0M¹§–Kí¢vyûâzœ]Þ¦7ƒ0Ûmpر³.ȯò9uý›?íê´ Bî–#‚Ìâ’<À —í¦Zo6 åövÑv­ví,ýX€¡Ú©•ïyÍm8Šržsakº;ÙØk³öO‡ŠÄÞíí¿J?Ýîfâ±w§æmëN¥ ãÇr´çzæ/×k³vR«a¹#E0Á壊}êqõlAòf7ÿÈ=ÚE ro{<({Þù6¦B®‹g9ìÍ‚ü`}-wòS2?'µâæ«,­™Å=Nˆ#ÀTþÇ™®¿ë º´€CÕ°X aŸ¸ÜuòÎ_µ©åWší–K:¤Fxcãg¾o6ÓS_Ã¥@fœ{½6?ìbZúÒ ;Ø, |p1«_-rèoél®'Wãnfò¼Ž-8røÚÑŠ#íwŽcÑUß b8춺Þ0?TßÄ»;"}]ÆËÄÑXR²—.ßm |zXÏ,·u^¦¿f‡›qÈ]¶vç _|Å›êóØñ“ 3êV%mÎ!àÎÄÝXwðRÕ—_³ÿÆáv±tûϳéªtÄy·Ú•Yg”óÚ4)ÀØR#—°)z”û„‡žDXWÖrxRÂö•ûè:`s›¦È-€ã+ÈëOâç§;0>#}›©šáûz¼J”ë~»šåp³XÏ­FŒ|ÝŠïL,‡çC–›)âÖ~Àny+þœM­Ûé±Go9<\Ÿ‡ÉKûF#²Þxã~]¾L-/ŧæhO ­[ìÏßrx8Ò)‡¾´q}wÒ;÷Ûzôõgy+þ lo·ËØ´º¥p5üú­P«²–sˆWî×rᜠȭ¡5²Ø‡Fsø‹÷`¬½âÄUîùê9Ë|—]zç~+O†@~pîg¹+Ť’꺹oï‹™õƒ¦ôöˆ!àÆìà•ûµ\<2œ3ù³åë ¹3p:Ûk'} ì j3ŸåœÙ•å†Û/oøGù]×Ǽ€òû]=ð,qzïs¿~ó[{˜J^±n9<½²\<›™SoR€üЬqè÷@ÜÉÎy £´}EâŠu¾4éç"u´Í#,‡§W ¿«]%55‰Ëái' Àá]èðçÇÝËvP?µ<.²o›Ÿn0<3gC¿€z½Ä`p^jeŸË`«‰¢er#Þç~µõ}¶Ã9òå€Ñü†|ùcYÎæ,†ç¤€ƒ¿ƒåø@ï‘e-h.vsxôLe¾žX F¥*ÇO-f^7Îûýë†ÃÓ/ġ֚äf¾–œ°u´2ç»ùz•faë¦\‹ñåz'ßÕ¶;Ó,§®€ãËÆjz•ŠÛŽñ“SHgæñôOìfY˜)ËޛËÂòf[—“Sk ÷8šzz“‹[ÏbhB_J Ûý %ÔnåÅÕ â~'`K lHËmþóš•öWûA&ù¨bÆ”wúÑbÏÔN¼Š¸1¥o+îñDbDL°%‚'á2ïm.Þ©µØ™ØèÔßþ£¾×žšoènÆMÄ¿Ït{´á_Ï*ýB#à@ënÎ…ÅÓ­ˆpõò£,/×åT Ár8à ¥x½R§nq"¾Ÿú¸\'’{xa4AkVê·0 j8Ù·xÙ0c¾ÏtæuKÁ—ça*Vb0O‘Ü>¤RWÐJ>' ¸´¯1?ŒQÿ¿žµ_ÕþˆC-g¹1ß| ø}ãzAö5U_®ËÉÅ`$GÊðú’L\œÈÖl[MרÉ'×[ðd ©qZ@ý ‚m¦ ИO×{P¢¤Ø–ä‘…­¹‰.§¢A–!#)ÂíB*u€ˆü\ØlÄ ?—e{âC£Ö&Jõ¶åFD†Š×NW}áz$H>ž­JãÊõ9ù²Ž))n‡R©kÛhä'8¶½ª†aÈÈÏg–µ…sĹփá'¿j`4“åpûYnDŒ^åÎH¿ý³Ö§Ui|¹.§"x†Ã‘>%ÅïW2uEð"_Û\¾p#²ù]ŽåmÌ8Üh…¶ßf‹ê÷l?ËTäg’·=¤–ë‘/eñTi\¹>§"Œ†s"‘RŠÛ¯TêŠ0F¾å{õÀõmäg%×8q½Ù é çǾ3n9Ü~†›²È/mtX®GȤ9S…ñÅzœX6•¿[ÉÔØŒüZéuùÜ Ó0‰«3<9[¥¶£ÀêÕz‹Æ³ÔÞE~&a½çb±“Ëê'­ý'²žDÓOaÇe¥¯3éÔ¾ü€Ãås3Lœ–öŒ6XaTÕ*€»cûõåÏe9ÐĺڈV™©¢¸B׃•‘_`XÏ‹ZnD+#¿DT'¥¸±eËá0ïÞne5;°úÔ—h8¥V"Vhœzè|ÜX‚ Sx}V(X¶åŠ?«Ö\jkbªA,‡U%ÅÍÏr#ÊKCg»÷p#ÊKæøä'j¬¤¸ñvËá¹ªÝ ÌÇ“/©ó±±@ùªý{{»JTέ†åFœ :ýå 7V!"_®¼~%eE¡U¯ÜìŽN]Ñô7.ñ>}cއʧ¥xùYnF¢ãyn *ˆëíÈoÆ­=TU™m¼Rb1´¡«ö„úcMi¹ªëë)‘/Á|f"ªÀkA@ÔÀRél÷©v³l6)ÂÍÍ`#Œù6ìíA<ƒõ¨¼t)µ oéÃbp­BUl­ßD>,T‹ËÍ%’ȑڵf Ê¼Ö4T-,ÇÏ;=AGl<%ÅÍÏps!V¾Ž"}áú‚EäG«îõ®°”â®áX¯¹¨Úùíl¸¾è9,ûŒ±§r#u®…pˆ÷YMlËÍ-™‰ï yÚp°l{I^eŽTïwЩ£¢¯ÐLD|êB*¯VY®{é5oµpó˜îÃÇp°^…úÏÍãf1]çÒˆCj-Å«†L\+]üzôÚ"j¨qÊ1òƒ¢+©BënpýHZä÷Àâís0¬„øM'S×É?é¡ZîÙ"+‹§¢×^ñÖšIO p8ð*…¸§R×ùÀ˜¯ºTàÆ±ÉÈ‹ìk§ž »¥³X?‘ùµºµd0ÔT2ܶS©ÛÒBÉa-yn¶f‰a[Q¡X·|€ëGÒTÊr8h¨¤¸Í§R×AB©Ž7n†Šü.óvæK†:ÝòYnÁ>oác8&§„¸Í§R×IBöܸÆ"òÓékW¢Š$ºå\;jùA­-¤n0óÒBÜÖ‰ëØ_äGISñ1Ø&*LçÎrã`X䧸Öа -i)nÛ‰Äu8õÚ›Ncãn‡ÈþÑÓQt4Ì{®oÜ”b-cZˆßv2u‹‘_ôÓnk†›Qs9)W/4c±±mSŠŽ-H!^ãéÔuD/òuÕõ Wk[àŒ•Ï.>¡qKg°qrŒ¤ß0ÏP2ü¶“©ë@]¼y¶rºn…qËg¹qÆ,²+·Åo ‡æøZˆßz2u?wLJŽ}lGd'+®­•",áÎRý|Yâ+ŽW”Ô`p¾­D¸ §RWÌUIµj=Ÿsfn*Ñ£ªT·®*Õm:•êVÖr㟚§îó5wG¢Ju·ÔÆ›­XlÜRG³{ýƒ“-cŸ^îËþ–[ZìË®úëßsÏž@Y ›ß¸JQùïjJäN~ 7n³#l{cahv¡…¸¿†J]WJpóì(ušÏ6cS"wòc¹¹­Û 2ˆƒó %Åm=‘¸n ”ËB3Xéͪ)‘[8ËÍ‹ËùyÐuqààäBIñO¦nœô,-7./”n´š¹Å³Ü¸¬Ž|̸âdˆƒ“ %Åo>™ºßÎmÎe¹yøóàíßëú9Kp'€³SáKn\SùIÜíŽ[)Åm•ê·³L}ά’˜·}V›Á‚“úE5SôQ9¿†· Ê08âPñ”u£^¼Ž´o;²šÙèiÑßàÆõv‘ïòÏ>gZˆ_ ™Ú&­¥ý•´Ã \nt~LhVÔ¼È-ŸåÆ]x‘#´9áÐCKq›O$n??³.£²X»|1òUKï© €[6Ãá)†þúK›ˆÔuÝ tö÷Ü¿x”µ3N—f]é§œGÃ9“åzºs ƒA_T}ìJU©^-tªÛz–"Êâi·ÍsÐ,7Ÿ‚P夅¬Ç6èÃcY À+¶åRþúopOʾ®¸þ$‰ k/Щ-Àæ:‰ð ,‡]*%Äÿ-dê_óR~u[z2níºàFÊAb]Y8äP)!~ãÉÔÍ—~àfsÊ-…Ê ôŠg±y¨CzÀAJ ym¼‘ºýÇymÍp¸U´èÏrãi‰x…º­zúIJŠß|2u=cEù]àäÍÆóMg,ûJô²\wÏ`ã ¹š 8ì`H!n«¨Ô/­,RÛ#)µ…Ž¥Ÿ¸þHŠÊOyOn5,×NˆðÛrë䇅 ¢$¸M¬R׫!‘ζød¹þ’ŠŠÿ*ßÉ+Àúc)ÜûsËAwE Á-·'mføNZÁm¡|·P–ƒÞ‚þÚo ™ú<ŽòŠC¤Xmkl1hïÔ·ë 2顸Ô~~C}û{l<&ªŠ¦±ù´´ÄªZììÐÏ×RJ\ºÐ`OP@ôÇ¿çæ3¡¯¬¬–²Å.yÔ3a6ØÊº¦Îr¼iYF? ƒÍˆ–à•M§ºuU©›/väsõ'À§]u›H#éšCÀõgÉÈ@„M3Y%µñž²ž%•K—’yf¼ç..Lš<·L–›µ‘†äÇ'$Eø &S·N)×^-7»ŒŒ©"ãÂYh¼!+ÇíîrÍ=× ðKåY¼v¹Kìk*[£ lt¥)sí–Á ù°™u§3ñæ¢í&7)Â-›Jõ+*S·wK?—¾p=bN½zߺ$ªæÖÂ`ÐTê×3¡‰Ï·ßÑç`%ôš˜·úe9p7€ð=&J„·§Vˆð2Ó©Þ-&ƒ×’ê’xw§X mæÖ–ѳø–öWMùQ}Ú#íb‰pãQõ˜Ëµº“þúop¥ªp`òÙw³ŠU/]3n><Á›È>°ZÛ@mAÿ7ݱƒïý‰>í’–âÕC§GNG‹•ëZsQÀ‘oZ9rSòµô˜¶¤^ùGFý>£šŒZn>5O~Î'ëXÝâ¶ŸJå>uõ¥¦=r0rŠ[äF¸LºÐnñ ÷ ª‹Ÿàq±g¬ˆ-d[)çŸe{Ð]sذk·àop3~Çóº}Úv-Å«‡NÝ4ÿRf©¬³¶½Gq{ãBy$®ïa¹+ö^Ïl.ÍAk«…¸Í§R·€2·Øú9,Wx»Kà›íVXJaßg0ÜL‘fÞp7YÖ®ÊÌ+)ž"½6Ö©¬YH§óc¦b1p°ñtݼZèÔÕGÕb†Ï‰üvÛäY!ņh£X\Ê ¨µ.ÿ\ªíyL¹·pP-j)nTê_Nê·ý€Ô±|m„=º r“šÜ-œÁæo ‚Í£˜:•š¼jnÓ©ÔUÕƒþò,î"lTU䦊ì–ÎpSª˜é"¬K•M¢d GKX:À@¦ìßï1'íi,þ}VôMcXïk°e·—³¹øwynkÒHo*ið•}òJd¹§Cñ“gÖß\ù!U¯…xí¥S©ä'¶ Î‡DkbOçZnzô‰WžòƒºTKñZE&zm¬S·FyãF£çA› ·*ÕkºŠ÷ÊâÝg]Q<5sôü ßaj04ÍUœÃÃÊ8ÊÞRå‘ß]Qú™IJH Š·çßÕÈÔØÈ=“xýíï1ã!jæ ¸û,Aø Êœ¸5ÕÔÌLhz73E îo R‰#5•[öã8€Ki̲woE™0·pšÊ¡-ª=íæ¥(!Àm5•J\H]‹Ù%âH«ÇKy*Z';Ú`³}…2÷³zKÉxi’eaóÊÄ¿þðô¼Å„•ØØª·;3Z{å·Øl]¡Æý섞T2ÜÆU©TÅ|À¹ïß#Zµ{…ó097±Øq—Oå%Va:” ·åT*eÇÛåx"/Ì=àR莦XæVeöJ§SÿúSjiÑ!iPw§¶Š'gŠZߺšÕrsX‹¸&à°þRÚï÷oKnþ«ˆáü°:QRÜz¨Ô­‹Š5TÀ‘>kο8n­• [>Ãñöê6ß1<ÀAu¡„xͧS¹—Ö~;È¡X¾Ç,w‚k ç”`slˆ(à¾P2¼¦Ó©<„jß3)³–ã»—ŽPÕR°Öq^é 6G®Œóìf‹8Ÿâ¶Jåu¡£;SÂJŽœ®l¦ÉºÐ^ñ,Ç¡ðA±îj9_-l/ ¼–Âõ lxO¹ˆZë[­­ϱÚTˆÍ*\-Å«‡Nåu¿ÚTº´ô€ûÚÎk†…˸™"ø.Óð;MèPKñÚO§òÄèêón)\¹ú@KëºÔ^ùt*o#mEÖ÷ 'òÓ_¿r+¿;µÛVd@ÚrñˆMÊåi='õ¦Ÿs^ÙÁ—6¤oÑVOÏL.Ô~ØY8lˆ””Í&ì{Í6ü'¹Êª>þ=Ö.»Ø·ÊYäIØ·­)+ìVSc¼µ:q« çÂæ† š’áþ*u³hâöRË=rÅ»6Ã^ù,Ç÷ºµ¹Ó¾½ `Тi!^ëéÔMÓŠím–ãÖhN±¼3KÙa×âŽ=óÖ]ÅN'´¤ZŠ×|2±ÅÆzÈOøp£¡Ù|D1ÝׯË3S€ãû¾Í1ÀA3 ¥¸¢R½FÖ©íÚÑÞÍÄ^7Ë=õÛ嵑sëa8l.—swÄ*-Åmg•Êù]-.9.~ûl]h¯x–ÃVO½¸ÈëïëöYËÕÔ;†ÜZ¦¤ðrmÐÁ,eêÔ7™geª/·¼äÆCË… ¶ÙíÆÈµ;’yÔõ~4Ìc¤J—á÷Üã׊@0àŽÜ»£4ˆJŠ[•Êù]ãÀÛ~ÿàfIÄõºÔ^ù,Çñƒ¾ó\Ô׿7m‰¤k)œ_è3qFËrØ6iËö{.§ÜqZ pÐLh)^=tê&W\‘8¾PŠÈø=·ákÓæZ1Ãñ¥ÍØ‹ÃR ?¬ý•·ùT*_è[‡Ó²…³n¥Â]e­1¬s,v”±“zÏL‰p›D¥zM¬SÛ©èÞwÄzàÈOjþ<” êæT`FÁªWNò Ÿ¡8#ŽO}Yò¶Vˆç`ƒOjÍæê0Ã=£WèDÖMJÊæ_‹+r,÷ÄTÄbýõï¹Gû‰ 7K"®ÜÑÚ«¯å§L„˜‡t“âý:•©o?¯åßW4ŸÒ0®.ÑØ3¼„Áó11 µ O_ËD·…U*Œ¶š®ä±UZ¼a 4ŒW ËA €°á r|æZˆÛÆ*•/N  wIê¢ÀQk{E¬,´W<‹E¦?ܳ÷´ZŽóŒÖî;»†óÞÏ•_ûïçZ\ѯuŒ§MGv´ýXûE̓£Uõßs".MZŠW ™¸¹uâ6lƒ•tôÅHñ‚©Å^á,‡;:àjW2Õ©¤¸§RY‹Å¾ëY<Œ8Ø,z{õ°f€;ÏñsËGB¤¯]tê¦xÄãI;˸N¼u¥ ípF[è/·&á_=g—ƒUпÛC ‡{€þzó)ÄCÁ€{¼–ý{ýõßàæ@Ï!nz}ûÓúr[°P<€ ¸Ø¡Åëå£3ÄÀ€›ÑCQY%d›yˆ·e-ö½~æô(‹µN,;§efŠxCQ ðJ¦S½ŠêÔÍïïûn„ïôCÌáµ :uãä›Â– A1ºK;`#¦-_¥0˜Ó‹Tü‰k'†Ô7šÃ­«¥¸Õ‰ûÀ'7æ‰8XìiºÓÂ+œåðÏ 8rÉxÎIJñO¦î*b¯pOsîœ.µW>À™î©¿ÜÚD¾ym¸§•§ÝÛuÙ/MhŒDŸë7'—ÂëUI½5½`÷I*ƒý2·~s9ù²˜õ» ÞûVR‚——¥`sÈo×}Ð9ð}Q·‹›µ? Ó£É8€›¦6§&—ÃSwë¿ÁMë(^—¶Ü3äyúÙjÉ9õP©›ãÈ|„Óç¦ΰ¹ØªÔnù 7ÍwÛ¶J€MW%Ä}½I ÙLg ¹Kª_84fõˆÿ=×ôÉó¤ì/#k nTêr`Ô¦–+šuß÷^b¯l:µ×ó>*)ùâ3#Erºƒy] ps¨ÂkÍÆp—È Éf®;¾þ=7W{äS½€›ñ²–²f§üjàð°ìëj ü›Ó¼›ïs0^óÂ`'Ñ2ÜJ¨Ô¥ïd'°ÜÔ¨÷Å7hé)ñìÚ^ù,7gŽÒBY öQ-Äk=ºVOî?çzÜÕr#f!_ÝG•W6êTU%®Üjæk^“‡Í&ªäœk©†€×Ù7÷}ñ*§ÏÁß_÷žßs3ž~§,nP1ü!´·*umZ¾ ?ó—}nøª|ªûxåÜ–׳Šè¨æfð¨ò²ÏZŠÛ~*u-³WWª‹2 |’þŸ´µÞf3 íÏpsE¢†¸9€Ц’ü˜³Š M)˾W¾èï>}=¶~ÏñˆW#Ò2#åºxŸ ÖeS‚[•º¸+‡­‹n,]|Cóö4bx-›N}VZÎzmWßj.½LÏÖ+(zÆ`¸qó´Üô:ßNæ÷¡{çÄsÀçxŽ’ve98;²~¡ZÆk8¹#·ÿásãx‹ôuµOAXΩ‡úzMeÈ{qÍᑪ¥¬s•ê÷°Ü8À¢¢Òž\ËœNJhƒìÐhÔ2ÜVQ©Ï ÜëäkÍ/ÝñJ×f×µñJg±qpÐÍ϶ÜÜÏ)‹â4J\sÙ“wÀßÕÅÆÉ•“ox_ iªÄnÙ 7OÌõØçv–“ôƒÖYOu*)KmK-j9¬Fµþ=Ç?ßù“Âå3#%ó;¤‡Þ»;%xuЩkìðÌgéÀW›{êÍËäí%öʦS·3 5ï±,ÃÍÓ*?õõï¹¾¡íØ.¾ÌŒJ NKXÇ{òylNàz¼T^1´Ä©S·“B%ãn¸qÔ4¦skmdàÆ3gÒj)Žr®†üx½Ý%#˜›o”ˆ žÁOÔ6IO`ãe5ÒEq¤Z,†H};©à4âúg2˜¬„¬—»d@Ô`ØèTÏXΫ¾^|©ü ÷4»°gZ ·ÊÉϪX7âÆCh"ˆ­KãÊ5Ü|ºLÖÃçÔÖ\‰l1ÇVP¶Þ„*é^àT&Ïlºr£ÍmhA¹IËàq÷Ýbÿà°eQ…qåªTÖ¡¥Så>.À /÷géÒx p¸¾êëõ$¸ô/,çØ %Å­‡åFŸ¯…/m,ê™Óµ8ëØ4Ã9õP_÷'ÁåÎÀ@û£%¬'ëe_ÜxîRþfZŠgÏgê ¿\/ƒË=M–ƒög°lÜ2&™{ñræ­òv­˜Æœ²«×SêrßâµÓRÖ3õjk©Å®vm¨ôµÏx"UC½^W[w,Í“–²^¬WûdGcô2[²”ÏÜΩ‡üz½I®öúXšE-eÒ8²4z塦]‚oÜ5„J¯>eîæ{qtw¦v÷tw””å)HÏqGå;‘dTN—Æ—k8Ò}Ÿ“Œâý¹×E;Úkò¯Â©¼Lzx;± èí¨TÇÛA˜•)¿äã¡=Ò£óÒXá[Uûu»†"_ôSHû­I½Nž°©E/] W¢å΃'Ïü¼¡8”g¸ãfCñ“Ó¹ÛLeI]›©R×ÌZ^Î8ÇÜÈT×ÞXÊÕ_/k¨äZ®æ~FLa%d >Š»7,7­¼¼+EÆk±> –ŽÀÈWåFòª%£Yˆð)j PÈjjëâÚÀáüä×K¥K÷Êç”êWRœÚªÄæJúVƒ‘wI…›3tI\sc1XUùñÒýWÙžt)e!”zö×ÞåFÖƒ7—ª+2”ßàXUB}ÜtÛ"{òœu³›–ƒvIÈX…S l°Lj’;—Ø£D¸FÎb° êcVíéjÆ[ú‘€ÃöDJa¹giSê³+Z¸‘ŸœÀj)®‰¬‡úº¼æ£šT³¸M'—HÂOæG»Öo¦„°Ø‹OKÐÈÛ‡€;rn ýRUO¬ÅÎÐ.‘;»wž=2¸‡”Æ.^\ø)q{UÖRÐjk›ÿ7¸ÊÛ!yñ-ì÷[YîJ¼IOÝ¢¥xµ‰œ[‰ØÇܘ¦e¬ —¼íÒrTíöê¼NRÆ—k¸±¸"ov…ùå>"Åí¤JJ‹ÈðŽBuÛ!À ƒ)]ÿÒ`P¦ú–s£éý6R&À ?(e¬²ÝÔ~›¥²XÏMΑµ ×½´¬„ú¸Å3ØÕü©ô«í~£å ?(…øµÐXwsåSĪ•Á 3#³ù•]MŠÖµjùi+ï:×} `¨R„ß²Z®7f9,V}Íù‘UâWUÄêâêÙV1H‘l1uÕc‰Q5 €ðº}ÚJV»ê.Çg«©†`ñå§ËéT™Yç§¾æüHEð­ê‰ À…öÈCZŠÛ¼*ÕÏÏrØÛ•¥nÞ)_Ëdêa8,W}Í%ý²M…î«‚ˆK±EäxURüzÈTßk—©®\ËaZÕn¹Æª¾–ÃrÕ×ËG•!AÄ]|†Km\ÓRü‰€Lõg2Õ—k9è“«Úy!PÀa¹êk/Tª¿öÊ÷Ïþ?›Aülendstream endobj 178 0 obj 19784 endobj 176 0 obj << /R7 179 0 R >> endobj 177 0 obj << /R8 180 0 R >> endobj 179 0 obj << /Type /ExtGState /OPM 1 >> endobj 180 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj 173 0 obj << /XObject << /Im6 175 0 R >> /ProcSet [ /PDF ] >> endobj 168 0 obj << /Type /XObject /Subtype /Form /BBox [-1 -1 410.998 450.998] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 181 0 R /Length 182 0 R /Filter /FlateDecode >> stream xÚ+ä2T0B™œË¥ï™k®à’ÏÈJqŒendstream endobj 182 0 obj 29 endobj 183 0 obj << /Type /XObject /Subtype /Form /FormType 1 /Matrix [1 0 0 1 0 0] /BBox [0 0 410 450] /Resources << /ProcSet [ /PDF /Text ] /ExtGState 184 0 R /Font 185 0 R >> /Length 186 0 R /Filter /FlateDecode >> stream xÚl½Ë®,;’ž9?O±‡Ò$ä÷ËP 44êAwç H¥’ Ak *êÇošÑþ‹ÅY(deÆ·¾Í 1Üt:Ýø?ÿ,ŸõÏÿWÿýO?ý»ÿçþó_ÿõ¯åÏÿù¯ýÏ¿ÖþÔýÓÏŸÿãCzþ¬Çg½÷íÏ?þË_󯽟ëÝþûúYö÷Ï?~þú7ÿþ_ÿõŸþÓÿøçÿüçÿúÿë_þÛÿ÷oÿñßÿú?ÿñ×ÿý×òy×óYß?ÿ{üûÿö׳ü¹®Ï»ÏŸý½–ùÿþåŸÿúÿÚ>ï¾\Ûðžýs]Ë(ÙÖÏýþùqr|îíÏÿþ¾¬÷ç=Ì2bÖøëµ6‹DÖºœŸçrKĬuÿŒHÜ"¡õÜŸ}[öÁÖç³îQ{’ñï–+­õ}/³Dšu~ö.M gÛÞmÆIDÖ;~‡çˆ¶?èq ËȨß;¿o¿÷(C–³®÷sÜÍ"‘u£ýÐzAždËç‰j ìŸ{¯ï»kJLzFé›K’öûú<·I&_ìñ¯ ô>Ÿ}ÝÎÁ–û³Qs’ñÏ–{6º?Ÿë1K¤Yç'o³Š¸u\Ÿemˆ¬ýy¶ùSÀiÖûyº4}ß²~Þ;~úeÿÑF®Ï±~×–ˆ[ëg¿ºbÖy7e~ô¿ïŸýè ­ÊAÉ2"ë]Æayº%¢oWk¿ÇeêͳfL2¬ís­^f©^fÅu³•U¤[÷8jÏfMÒ­kœo³&qkD4. ›Y Ý×”ãlÖ$í—÷3.°a¶<³%HÞÏò|× –×TÖ1.‰Ý1küj{“ÜÙâ’Ò$Z#ž÷³zݘµßŸck‰}ãè¨æï3Ϊ7¿‘ä û«^´H̺Ç%ÿi‰¬mYâbg–ˆ•õÞŸíme‘ÐÚßq ^Ü2bÖ9.çM°ï»ÆÅ5þÝó|žmþ†EÞÑ=ž_µ’ÅZ¹5:ø½[EÌÚÆQy­n‘4k\¤În‘5†{\çd‰¸u/ÑQ¹â߸|¶'­ó³^ó÷y¢m¿êEËjJkœŸÛWY[Ö>¾àj‰YÛøAš@gÄs|¯•³Æ_¿,¯Õ'ÅõsÎJŒ ëþU)8øìÊÃ8wL:Ž1Œt‰À¥õ³M ”!Ü«$”²—Ø­Þìëîq4Æ!4F'O×Hžås__•’ÅZ™5.=çÛ,·ÆyyöoiÖ9FáÝ*"+ÇËn–ˆ[1z~šbß8úö1úú“ÓˆÿÇÉq|W ’W”ÒöÙŽ.Hܶ&‘˜´|ΫK F0çìÉ!‘´~ho ¿n‡cöªñ%ÙC‹ŒÇñ])X"f{¦¼žÈ"1k\®Ï£Y$n]Ÿ­Kèìçèþ}FdÝã‡ßš%¢ï‹án^)¢Æ9jy?w5c¬~6KÄ­q~ºbV$ €Î~¼yøJ2¢’Žq¤Å¹4º†5‡›WŒ¾êÉk)ëülk·@dí㢒LZ"fÅmÉÕ,Zû>.L­òFd÷¸\ln‰èqZæ9pæß~Œ\[Œ{½h©^fÅ-ÇÛ,·Æ‘ô´o$iÖG^³Š¸µoßeȧÊ5/è°DÜýì²5 ľq ëÏÅ9‰ðã䉩ƒ¯zÁ1k{?Ù…È"1ëX¢gv‹Ä­{žÅfÐÚŽ1¿Ý2"ë—³½Y"²®qÌÞFT¯q³´]Ùª[ ?Nθ_ùª=,GÖcµf˜u߉Yã7]f‘ÈzÇð¤×^„Ö7Ž·×ÞˆÊ:cr,þåñÄyÿcä\c¥×‹–êeÖháãiˆ[£Û>®f4ëžu5«ˆY縊\_µ/bÖ;ƽ9¶§EbÖ5:•¼vŒqݳƒyb Õ§_h‰˜… 'Y$n!FY fÅ@ài‰¬cŒ ïÍ-³®ç³·²DdüÌ›Ë1ðxæ$‡}†–ˆY˜x’Eâ"’bÖ.ÍC•‰¬ޝn‰˜5näòÑ…,Y1›7_q´ÏÁÈøwëõ5 C‹¤Y5÷dV·‘,‹šVÌ/µz‘˜uŒþ¦}!€;ï2‡9’@dÅÅìÉÛÿq½:cNÇÈøÍ¿æa ‘„©'I$&Ýß%‘HŠ2w“H(ãbvµ’D(ÅôMÏ(‰@Š+õydáñÐ>›€dûÒ>“ˈ[5{cˆY˜Ÿ’Eâ‚–"kuÎ[Б³<9š¥%"ë\k4KK„Vö1âŒ9²½ŠÄ¿[ï>ßAKóÍšóñØz>«$yâ®Û'( ¸3§P\1‹­@‹Ä¬÷È'Çf‘ȺŽ;WÈ1ëÚæý£,Z1Ï’}d,cÈ¡-ÁgQ›O dĬšB1‹Ä-Ä#K1Ã:—3|É‘uñõs»%bÖYžíEhå¤M x´•£€ÑyžWŸ) $b¦Qd‘4«â1 š•?…”ùËèï×ñ?M!‘Ë‡Ž¼§ŽåFy¬‹Ü<^x÷ˈY5ëa‰[WW®¯¿[‡¼C”B"ëãøçtKĬ1öî˜m[óN,žof1Ø'J2`f?(¸„`()^J£~ïã¤ëyæd$J9M˜wE±¶0gHÆMÎyÝóÃiVÍt˜U¤YUU³Py³¢wz›bV®þXÝ"‘S…GÓciöà"WŒ üYFÜš7·&p§æL1 ó!²HÜB;È‘u½5óEK„VL¬®Ù·Œñúžc[‘=æãêŽñÈGP´Œ¸Uw‘fȺã݇×-³ÖšÍ‘EB+—Áå5.†çxTäa|¿%„eÄ,Ü)Ë"q«â6 Ĭg>Œ3‹DÖ=nƒ3"Z"fmk®»1‹„VLjyîÅ«Ï\[rêÈÁM ,#nÍ»a“ ¸ƒx$Ⱥ–%—®È‘uÛܼxÒ1kßæŒŽ,Z±sÍ_6^™«ç@Æ¿Ûί{CX"ͪ›a³Š˜ÅˆhyÔ´Ö5f™bÖ=îusƉ[Ç>g­dÈŠ÷ŒñŒ^çÇÉQô»CXFܪ›b³@ÌbŒ´HÌÚ¶|g‰¬{Üïæœ-³ÎcΓÉ"¡9ާ.ù‚…>ñ“÷›Ãekw†M©ûa(øh Ùz\¦ìói~”r[Üœ"œŠ>šrÕ,[)üH%ŸEÇ~ÇKƒ{Æ]d\cÚÏo“(ñ6©9óæÐ¥º]t«n“ÍÂs³f¼n¡Ì:–|gV·îëŒBỈÕÁ÷“ÒCÏ'cxÐï)1 u’"iÜ"oÍ rÛö˜:’#"iÜñÝíËD Ås¹ãH´Æ@ÿÇÉõvsGˈYuKk‰[¤æÄ¢î·I$²îûÊ™MY"f½KM‹„V>»ËoAçB{’aow¿¹£%âVÝÒšÒ¬ŠÈ,ÄhV¼©ñ4 ĬøëÒ,³â˜¾[½HdųÎ;CÜã.òÇÀC”v‹GɈYuKk‰[ˆPˆYu“e‰Y£wZ{½HdÅɾxˆFhųÎ#n!ï'Îÿ8ÙbH×nhqkÞ ¹bV ­Í"q+ï$]*࢖"+ºþ¥Y"´âÉð7Qqníùâ™ÈS5üZòa'-#nÍá·[ ²bS—²DÌCø˜"4‹„V¼©p_Yþ“C?NΘŠkƒhZFÜš·n˜Å¸i‘˜µŸ§Irb v·Z‰ÐŠÇíG¬g»Ç¸dMr¯1ûІǴDܪ›³@š5«jRÕÝœýür ˜7×{“HÜ·úw“ ¸sœ_N9ñÌ~É+Ôèà÷|9T$WP¶Á3-#fÕMƒY$nUH*`Î1D›D"+¦ —ö}"´bíBvkc(£~>âá0©n$¸„jR0é¼gßA‰@RÌî. ˜t^9©)‰€R¾f“ëè”—ù¶ȵèЬ±0-‘fÍ{·Š4«â1 š5NàxPkˆYñ$%æœe‘¸uÝ9ÿiˆ¬Xz²ÄûQç={q‘qŠ}"!1iÍ)`ÊS DÛ€‰¤Ñ#[“H(ÅcÖ¥UIDÒýä4©I$’ž7çM"+aîYƒ%z—'{Lãõ±(,#nÕÜ,³3-³Æ°þX›E"+˼­^"´rMPhã|Y²yc¢¤2a1 £kY$nU]Í‘·ä‡K挱J¼Ól‰Yï•SÁf‘Њ·Ó–U ­|Ç8‡¬ã^ïžùÓ@ƕ캿ÆJ°Dšuvåüúû;Ÿ9›bVä¡y]³EΚÍk-"+ÖÀî³JGŒA~œÜñ öÑ,#nÕ˜È,·jphˆYlZÖ2 {ë%Ë1ë}çì°,Z±ÎwÉÓp]êHÙuÜa¼ˈ,Õ–ˆ[shaRsF%r–^ ­-ùþ}FhÅzà+劑ä“7®R5ŽØó!*-#nÕØÂ,Z[d Ê[XFhÅäýJ¶ÇXÿÇÉØÞ«Ã2âVŒÌ1‹Ѳ¨—ï¾X‰YãžðÝ›EBk‹,˜9à ˈY£Ê¹Y$´ŽüŸã_Ælä1³2¹³áZßH‰}csæ¨Á¥G¸Uñ˜Å̓üxXiV³¶H°ä@sÆ6æ¤M*bV,î¾âz·÷•­@‡uï(iqkŽÜ1‹Ò"qëÊDZnÐÚ"‡Ôê–³ÆýfÌ\›EâÖ“³ÒnЊeîû™uÝ>q‰0×¹>h€dÀ$ÆÉB¦ô¬ùÄU¥QÏãcߦϦŒû“µ9”rq~Æ;zïyF¼«ŽÐÐiÖ¹UÄ-D#‹ñ™5*Ï]Í‘5":sþ›–ˆ[ÏÓž&+ý¯tŽ˜8ú10Æmè@EÀ”9rDC£Di‹äªWȈ¤1ÒŽÙE“H 9K´Æôá“öÞ’–·fïï-Ž–hq ñÈRÌ´ÆÈck€9ãæìè%‘˜õŸ.ÐÉ·4b>)ž™¿$ojú˜–H³fEMªš›3ŽÀ˜µ7 DÖ‘7[Y«ýsÇ(ÌHÜ–ö~’–³ja‰Yãî8/p²HdeVïÕ-³Æ™”G›,ZñþȾgùKLõÿ8‰É…ÞBpgöû.˜ÅxhYÌ´Ž=Ÿ¥šE"+2üÆô½,³¶91o ­#§Y¢®£cÈlàF^dWˈ[50 Ä,D$‹Ä­;Ÿ»"k—–V9# »ÕJ„V¼kseÐÛL!/p"ƒ¼ztHFÌb=i‘˜u­™ÖÐ,Y™²ûuKĬsÏ™d³HhÅ‹B{,+»Æx)óÑ‹ä¤oïç!4§Æ,&q ñȲ˜iÝó¹³Y fE&¨»U‹DÖ‘ÛáYDzȣ# =6,#nÕØÅ,³X{Z$fÎ1æaÌ"‘•yÆ·D̺ŽÏÑ$:G>èÈ·fž|“é³Ë*É€IèÞ)¸4G7rê³+ˆ—€Ic|\.HŠ|^÷n’€I‘îêu‰€R¾/yGËÌ\û"ùìð«Ç„%Ò¬Ùµ›t MäT4&)`X‘ÏënßGâֳ峳@dñ|4¯÷ãv2S鹑J‹üà÷c–³Ð‡Ê"1ëÝ?w“èÄ›nW^›Æz¦µ7²#­½z4XFÌBÿ/‹Ä-Ä# Ĭ1È9öf‘˜õ.ù¼À,Yc(”3î²DhåÛ|1ózí÷Ll/’K5z‰ 9Õ³›TÄ-Ä#Ëb¦5z¾xöjˆ[ïOÌ1kT#§Ýe‘È:rÑJü²{mù`äÒ±…ž–·ªo7 Ä,ÆH‹Ä¬qAXîf‘ÈŠì2ñLD–ˆYÛþ™¿5-ZG.sŠˆ¶w&¶‰e\çWOK¤YÕCšUÄ-Œd4«â6 -aÖ8|ã)­Y fEf’½Õ‹Ä­xŒ`J~ÔßãíÎ-gº¶k¦¾7ò"õ½:XFÜš]¨IÜAl’-­Q‰ål‰¬Èz±·/1+²•½Í"1ëÜr®Ý,ZG.oÌßo›iòN¤ÉWGS’—ª'•à‚¦`R$l|\"¯Ê_^’€IמÙ-%PÊ—es¾>• Ÿ$ü^_+,‘fUMÍBÝeÅËÌñ A‰[ãö,&ÐÍ‘/ñfšþk=+µ½ÈóY¿ú&HFLš=²9¨D~±¦Hyßœ^7‡„R¼<±µ‚D ¹&=~ÐuÙêÈV¯Î–Yìdi‰¸UÑH*`N¤|šDbV$°ï‰¬Ìöº%B+_bÎÎl4Qf¾‰·/î¯Î–ˆ[ède4«"2 1šµ]߈Yñ†H^|i‘¸ù´ZY$²âEí-/;ãgÉÜ÷Fnä¾W§ˈYède‘¸…e)jZc“S²HdÅëù –ˆY‘4ìn ­3ßLŠsjYfV{#;sß³ó€eÄ­/åoG,R@Ì:Ö|˜l‰¬Xsž“õ´DÌ:k^ ­3_I¿D¼EøœÙ$o â[gIˈ[³®n˜»<Í"‘Kmc¢]–­x-?óåŸï>³Ë¹˜ƒ-#fUÇn‰[¨«,ÅC+v{¼›E"+VT¿.˜sm9Õn ­3^6%úñ¾kæ–ÉWn{IKÄ­êÝÍiVÅc"4ëÎçø&pgîWèˆY±‚4LÈ"qëzsâÞ,Y‘ò º‡xƒ8Þ hŒ(q«â“TÀÜ´±I ´"Öám™ñ^ŸO$¼ßâ%ÑKŠ>»2昉ܗ(e2‡˜‰Š·å3ó¼È³ê·«þ˜–H³æØÅ­"f!JŒÏœ1°ÙºâÖ»æÔ¿Y fÅÚŠ˜—E"ëÌô á13m¹?Oïž)1iŽJ\1 J‘´ÍGò&‘HzŸ|6` ¥xôÝ)Û’³Êæ@ŠôÛ‘-¾ÎõF$¨gOMˈ[sÌâˆ[ˆX–Z…Ö±dg‰¬xF¾^n‰˜µ¯9õl ­L·­‘Í!SÔ‹dBšÞƒÓiÖ³¸UÄ-D$‹1š8ßf˜ÏGc^‰[‘­Õ‹DÖ™Éy²%j÷#’Գ˃$àNõü&˜U£³HÜB;È1+R‘>Í"‘±žÕ-Z‘weVb™9êv¤¨W_ɈYèùe‘¸…šÊR4´îý»,³ž|Æm€œÈ˜ý%³Î|ja3SvEÌç5“Øy‘Ä^=:,#f!Y$nå6ÈÍ1ëYò‘ºY$´ÎL¼ÇÑø™xÞȉÄóö/Ë2âÖlf“ ¸“»37 DVdä[[Q"´2UO,‡?w&‹É$‚_ý*,‘fÕh¬"fe*Õf‘¸uoù¸Á,f½ù¨Ä­"²ÎL•í<οLoäA2xö‘ŒPâ8’ˆIPˆIo>àv DÒõä““H$=W>0‰Ò™Y3n7Z@àˆ.½ ÊÑgSXI8&E"Õ×%“žý³ºƒÏRrÆÍJ™;)‹ý™ ÛE"3ìýÕÑÃq ãY ͪhÌRÀ´"‘êÓ,·Þ;¦"Ý‘}k®’±U¦l7r3e;;lXFÌÂÐE‰[¨½,³Î%ŸØšEbV¤@|›E"+îßÕ-Zg¦DΈj£#Ú¨€Ý,#f¡Ë–EâV pÌ1‹qÓ"qëÎçÒnÈŠy˜Ûc4bÖ¸u½Û7ŠÐ:3ƒv´ôvÏð"™!¼wÑšS55IÑÐB# ĬøëÒÊ"‘uf~óˆgÜgÞv#·gÎÒÇ,#nU·`ˆ¬8çâ‘„,Zgfß´wæ©ÉÌù_×nX"n¡S“Ò¬ŠÈ,ÄhÖ»ä3g³@ÌŠ+ÍÒêEâÖèPãù†Y ²b®eÍ[—õš©Û¼LÝŽ+;$wªË2 Ä,FHËb†•©F·DÌŠ¬ˆÝ"1kŒZ—ö"´b†)sÑÇ+›Aàd w^ôJ2àR]ý%Hb7IÀ%ÄL À¤Ör»D`ÒîM"0iÜ/­N”2_]ö¹Kmf ²j3^í`‰¸…ÞAH³*³¡Yã|?šTÀ1¬Ø¯&¸5.¯{¯;ˆ¬˜—ÏáàøE2Í»Àƒ,8Ã1" õ¦£@¶¯K­9 ’žùxÊ$HWn”…¯3'»‘ƒ9Ùy1eÄ,\Ve‘˜un߉Y9Û&e~Ôߣq÷¦ˆÐÊ‚qvÄù–™ÖIÎÜ«_4hé¢Ñ¬y©t«.žnU,f1:³®|ˆlÒÍWݽ_³®Üû+ë~Ì<ëFn˳>ÏmZF̪‹ Y$nUÝ%1:‘¯ôi‰¬Ìùº%bÖ(žÚ˜EbÖèÀöµY$´âò3ÿå2ó¬Ù•g½.´Œ˜U—B³HÜBܲ@Ìz¶|Êj‰¬Xpn‰ÐºrÀ¨ëS» ±ÝêFˈY¨…,·æeÅ-Y™ï²Y"fmo>•1‹„Vü´k´Ïôè³£G/t¹dD®²DÌ:²ÅÝ"¡ËgžX ƒÐÌl.’;–~×°DÜŠ ž)ù±ý½b1ÑÉâùD‹¤Y÷WY$níW>å2 Ä­#¯VnȺrw×lƒÊóoÄòüã<‡eÄ,Öž‰Y‘sôn‰Y‘“óm‰Yç“O»Ì"¡uåN¾qt¡ 'Ó ó(É€Ku–K0 —;J.!fJjJ£¢»;ølJäälÕ&0éºòY¥$J™™5n$ã6*3©‹ä¦×_WX"nUE%¡ææÜy般+7㎚^ÇÌmäfhÿ°Œ˜…+…,³ÎǸEbÖûf®c³HhÅ!»ù/×™×ÜÈÁ¼æ<²aq«Î^³@Ìb]iY<´®íÛ"1ëÍO·HdÅkãçå–­ÌB›½Õyϼæ"cdƒ¼æ¦¦ŒûÃÇ áG*™B;f)ãYRæúÙWäúÖÉKÄ-TA+e֕˹Ýqë™ÏïÌqëÍ÷øÜ‘¯èß1µÏñ2·‘y¼u.Â2âV]`Ì1‹1Ò"1ëŽ÷.\0çÍW]"‘yg;À¡ 2/ù±­3·‘y¼u2Â2âV]–Ì1 Q0'r–¾M"‘•é.o·DÌÚò}·HÜÊ,Í¡YH2{yÍ‘‰U2Çy,ÈÌáF.d×™ˈY¸ºÈ"‘¹MóòLKĬ1=ZY"nÝùÜÀ-Z1^Ë,çǺ̤ßF6$BÖYˈ[uu1 D–"‚%bÖøßí ̹2Ÿ›K$fÝOnýj ­‘æe}Œï25¸À‹Ìà:§ q«®-f˜UáHp'sK4 Ĭ;“7ºEbÖ3 ˜EB+†Ày€ÄGŸOd×%£&±žLÚ3‡I&=™ÃÕ$I‘\ïö’(å&ñ+ìï;S~“˪£¥®´týhÖ¼"ºU×H·*³¡[O>‹wk’f½™qÙ­"n½ë|$ Ĭ¸;É$æ±@mÏßYäùìýIɈI¨»$Jï’9ÖM‘´æ¦.‘@Š»ŠLëï2 ·‘i¸·Hz¬f1«.†f‘ÈÊ´€¯["´rˆ8&÷ç™i±EÆEþ}ú劖H³æ¥Ü­"n!"YŒÑ¬g‹'¢&0'Ò6Æó I$n¹í[ ²â*Ó|DzÍÌžmäFúl^žhqk^¤Ý1 R0'‡¾M"‘•Ù·DÌ:·¦Ìü{ÜÆ55·fn)¸y£dÄ­·eÄ,FB‹DVæ}Ü1ëÌÛÜ"1뺾-Zqû›IÅ÷»Åyu|â¢ˈ,\Ìe‰¸U™bÖš—·HÌŠ´Žo³H̺sWS·HhŽt&uØ™ªÛÈ…Tݺ"Â2b.ï²HÜBD²@ÌÚ¢¯t Àœ;ç]"1ëy*jZ$f½ùÈ-Z1©pÇÌY¬mÏdÝ"÷†dÝê`‰¸UIB„æ¼ñÐÅröLû÷š$"+&)2]ø~]3—¶‘÷ëR ÅÈûÕߘåÈ»yWH°Ëâ–KY¤©‘Þ±Ï,Þñ*E†"cÝ×5±$.UG À%T‘€IgNf™D@i4x¯ILŠ,x¯K”r§žÏL-r­L£Ík ,‘fm]Ù¾ÿ^‘˜‚ØÌºsZÛ-Y{$ÉÛ¼F"nó Y ²bž*“}ïç9Scy[W?XFܪ~À¬‹mG‹1Ò²¨i=ù¼Ê-Z{¤ÀÛ¼öFÌŠ\sw³HhÅlÖ’ýæY©à0¼®°Œ¸Uý€Y f1"Z$nùèÙ-¥¨Ty›£³ÆÑ^Í"¡3v™<Þ6ˤÝ"çÂÔÞ¼ÆÃiVÕÕ,ÔÞ¬q»Ó*fÈÚ#U^ö°DܽI<0 DVÌ7f‚ñý8f¢m#7Óq£3€$àNõb&¸…e)æ²öH›c$XFÌZsí–[$f=ùÊ™[$nÝùœÂ-Z1ÙéÅã Ë#‡µ"‘DõZò .-#n¡®²@ÌÚÖï²HÌzç³HÜz*"Y ´b~6“‡Ç»¦™DÛÈûaÏŠž–·êW3 Ä,´Ž,·î|zî­˜8ÞóÕ3Qy Y²ÕS–dÀ¥)H0i|u¼À,‰@R$‹{“LÚ3‹I”r°˜Pwó¹ŸÈ΄ðêa‰4«FfiVÅc"4ëÌ×OÜ1+Òá.¸‰âZ­HdŬx޾Æ/’‰²žÏýÕ%Â1bRL‘Äà(‘Hºâí4w¨D¹ùãÁ‘tf;—H ÅtfüÞ·m&¿6r"ûµ:>XFܪ!€Y f!JŠ—Î¯˜ºD"+2Û­­V"fEЏV+Z¹]\N­ÏÌ·-2.’ûww K¤Y50«ˆ[ˆHc4ëÉÂÝ1+2ÜeÜ´Hܺ3­[ ²âÊ»’EJ‰ÌÊmäFVnu|°Œ˜…a‚,/ 1ª,³"QëÝ,Y‘¿nmõ1ëÝç´«,Zñ8&óŒïë:ór9—[Ý#,#fa ‹ÄËBD*KQÃZ—ȶb9Ï5gÓ%‘ЊÝÖ3ƒxäv™G=ɺèD×KÄ,T‚kåN&®iR‘f½ù¤ß­"n½ó‰Y feƸÛ-Yñ°,ï©–}¦å¸•{Ï|µ¯IFÌbÝi‘ÈŠdwySLK„V<ˬßû²Ì\ÚFväÒÞ#kjN‰À2âV Ì‘•Éç^·Dh=ñ*Rœ‘ 'S[ažvôÈ”̩ыI$^ҌNj1ëȤn‘ÈŠÄyñú›,·Þ|<à­xº˜Éº·x;/šAàDòjvÌ ¸4&&¸„p(˜tec“$ef=ÿ:“öÜ÷Ê$J¹7eœrÛóÎôÖ"ãŸ-wï¨i‰4kŽNÜ*ââ‘e!Óº#Ÿ¸KÌÙö#ŸH"qëX?­êržx§õÎ’òÑõ“ÑÕö>š’“æÐÄ%IŽ€”'7p‡„ÒvœÕD$¹¦K$âqnætk™EÛÈ,Úì‰iqkŽIÜ1‹áÐ"1ktgÇÑ,YÛyåY"f]w><0‹Ä¬{>F1‹„VnÚåßÏ̶-2þÝòÕÃÑq«úu³@ZYs|ãeiVµŽYjÁ…}jn—d‰[‘¿înˆ¬'’ \YûJDo„™èÙ;Ò2âÖìÙÝq µ—bÖ»¹»àΛ/ݹB+žðg^ð82E¶‘Y²Õ Á2âÖìÝ1kËÝ"1k\À®^ ­Xz¹ºãXϬÕ"ãß-ïW‡KÄ-ô¡²@ZYUW+KñÐÚsN·@Üý÷ÞË1+F;ñpE‰¬'rÆÄ½l¤°ÌSVàBîjõ %p©:RI.!@J&¹ÿ®I’2ùác’€I«W¨>ñϱåð·4‘å3s_‹ÄV6×W‡K¤Y³5i‚æT&!2³ÎÜ–Û-³â†çjµ"q+ò¾Í‘»*g.ïè 2Q¶‘÷³~õ'Œ˜T½¨I &!@I Ò•ûª»DB)æ:âŽF’ˆ¤ÈØJôŒZfÒï¨nž§Lt%p Õ¤`Òý|•D )&6/—LŠt€·K”rké¼nÏL|-r®H|­ž –H³ªç7«H³*³¡YÕýH*М3_w©ˆYñâjßGâÖù䣳@ÜŠ¤o³@dÅZ«L ƒL¡mäA mõ°Œ¸…e)jXñH: È1ë¾rÒß,ZÏ8&ß<(u&¿6r ùµúXFܪÖ,Y1W±n‰˜õÜù Á,³ÆÍÚv5‹„V¬ÒËDÝÑÇdŠl‘cAŠlõ°DšU}§YEšU™…ÍZŸ| oˆ[‘:ðmˆY™X¯Y$²bÅ_&ýŽ~;“d¹‘$[,#n­]Y¿ÿŽè¤(^ZÛ›òÍ"‘k㉄,³"_«·­g\Ê2áw K2õµ‘éŒÕÀ2âVu¢f¸…ˆd˜5~§}m‰¬xÿ`;Ü1k;*nZ$´bud Û5óm ¼H·­®’·ª#5 Ä,Ä#‹Ä¬qmÝ› 'ÞOÚš$bÖ~æl¼Y$´bùçvf<{fù6p!Ë·:‘’ ¸T=®$“ …+åÈåæHŠ÷øâ%“Žëã± ôŒ&ó•ÇíJæ÷Ù6žè a‰4«jjênÖõ~—bV¼²›cpZ$ÍšÜ*"+Âf.ò¸í|rd+ò|ž¯~’“j`ˆIPˆ¤È³û4‰„R¼†ß "0åÉ)xw@ ÅßL3wÔ™”Ûȉ¤Ü!À2âª)K¡ÀÊÌ|¯["´ž1ŒÈ¤ß1K‘)²EÖ)²sEw7‰„Räà[[DLºsöÜ%Hñ–@f‡4yVœÈ¼ŽŽ>›R#9^"aA&Ýg¾D/‰@R¤Õ[ÍágSž9/‡À¥3g°M 4n°fšñx(–©»EÆ?«ÔÝ"Ðq«Æ7f´²*d+K­+rÄ^/³"wÝလ76 ͨïs¦ä6ò %w¦Æ]Ý2âÖl¸"+vm‹ùgY"´âusÏ6]gêk#R_³ó§eÄ­9Tr Ä,FD‹Ä­Ù»bÖ¸…}š 'òÒÅ„›$³"ÇÝÛ,Zñ~ÍïÅãëL¶-§Çw§ K¤Ys(áV·* I ™Nä{}›bVlpñ²HÜÚ®o Ä­}Ni›"ë}¥¯l­c¦7r#¸ºYXFܪ!ˆY f±%h‘˜¹aŸf‘ÈŠ\w1a-K„V¼Á”éÊc%Æ›c`‘=®'½K…eÄ­J˜bëJ‹Ä¬H{7‹DV¦êk–ˆY#¤ýj ­x+Ó•Çú–Lï-=çûÕ¯Âq C Y ­¬ŠÈÊRÔ´Æù“Í1+6© wY$ngNl›"ë=Ç4hçžù» \ÈßÍþ´}6ƒ :^ÂcA.=ù°Ù$I×ùV”$`ÒuåTµ$JñF[ö·G%¼'8™ï^cH"n¡ž²Xs³Æˆ3;6Y f]÷âÊüØþ~ç ´+EdÅ{v‘ž'–²ezo÷³}à1©†A&Hb`”,TJW>w „Òõ´ ÕGýù]sFÖ “Þœu R¼É—‰Ìc_¦7r"E8GHä( H"VÒ{æ&¤V‰¬HI±»DàÎÉM]¡ï f*óX‡™©’EFWó<_ƒX"ͪ™YEÜ·LñÜÛ,³âÍæœ… E"+Þ\gYçLØmäAÂn `q«Hf¸…ÚËR<´"mîÓ,Yñt¼Ð$KĬHßv7‹„V¼gùd¶¯3­·‘i½5øeÄ-ÔUˆYñ¬­IrâáwwIĬóÈ™K³HhÅ;¢™€<ÖÏ#•d_tt¡Ã‡%â†>²@ZY5´²Š¸UaKB;˜‰lß&˜o’Æü¦,·Æ õmu'q+’¥µj‘ÈŠ7jó~f;fFr É5p€dÄ­B™bÛ–µ ­Hvû4‹DV¼å–3´DÌzjR ­xëö™ÿr™ ÇìH8®,#nÕÊ,³-³ÆI|ÝÍ"‘/8ål-³ÞcγÉ"¡o)9϶^3-¹‘iÉk°íïEI!ñR*+ĬñSijh³HdE.µœk¤%"+^»Èˆi‰ÐŠ×˜×ß­{æ7p!çx 9ÊÀ'û3ÆZ4¼ Âb«¤'ŸŸ› )’¨m^!“Öša¤D@)^ÏÎÌéñ²Kæ6Y7ä6×p –ˆ[¨©,Ö]V¦¾Ý"1+©µ¢šsϹIEdū噅=^XzsÌ+2.¤_ã0HFLªñ¢I ”$“æB—@(e~´×%Ic¸—xI$Öx-;'p–m&>7r"ñ9•Ìa5)Y(*iÏã^ˆ¬X<>X"f[µõn ­5^)1Çëm™«`]V¤*çx˜’FÈÍš5u u—«GO— 4gÜS>íû@šÉÔ›4AwŽì§]šÄ¬5^˜?ÒªDÿF˜èŸcNZFÜš£o·@ÌŠ$M ÒbªU’­5Ò¬ÙVëÌenä@2sŽ&iqkŽ—Ý1 U¥¤`è\ói¶I$²2ÙÜã–ˆ[gN»Bkt1áï˜fšr‘wAšrŽi‰4kŽªÝ*â"’ÅÝ:ó©·[EÌŠUVÑ3Ê"qküîùËÊ‘µFŠ‹º2GòTðQŠ¢Ø{P¦D’Ý[ ?J‰©Ï˜²*EMy2~4å½ò6 ?ž:ô÷+§Ñ#+Ã>OxqØnwöÒiÖã»UÄ-„+‹ `Ö¸WŠÐf˜#ÊV€œ#ú³Ýk%"kÄ*wuÎììFdgÇX˜’€95Ø7‰ÄKB|* ĬýȇËf‘ÐñÌyZḞüu7‹„Ö)Xެë6ó®9w}Ͻ³Œ˜µÍÅœf‘ÈÂØZ–ˆYuƒa‰—…ÖQY fg¾1o ­52ÖÄ~>39;A¬±Àj©wŽ!á¸3:š,[H+éȱµUÄ,ŒÓe‘¸U7"f4ëüª—ZÖÙvòz;F0™¿ÝÈüí9ë3¿±,#n-¹¿‚[ ²"¥ëÕ,Yj/X"²p·@‰Àœº«1‰„Ö͑Ź⼠±] Îù'-#fo/ˈ—uU;«,ZÖ6e‘Å;"Z"»ŽøHDu=î™]$VaC½w£=X"n=ÏðÉ1+ËV‰[ˆ[[‚ïç ÈYãȾSÚ?sDp1{¼µ½’ ¸ôÌ»2I&½s71I’bÂ*ï HRC•$@Iw«% ´Æå?Ç¿Ç2“³áFº‘‚eÄ,ÜPÊ"1+öm€9ï>ï2$‘ÐZ£ ÏqÝ~ÍôìFÞÏþu/ɈIu hˆ¤Èâ}7‰Ä¤+'t\‘„`$‘PÊ,ÊHkŒYr$¸o3¼‘©àu«ˈ,ÞýÑñ²Ž9T¶²@Üš‹oÜ1‹Ñ"1+2$ßÍ"¡µÆp?Û퉯Eö‰¯÷XB›u…%Ò¬wžMfq µÅz¹U÷ fqë8æ…Gˆ¬5îê–üÆsæz7ò Ý»î‰`qkÞšTÀ;WI¸bV¤V~›Eâ"”âVÝŽ›bÖuåSp³Hh­qË;Ù:“Â9^÷R°Œ¸U·f¸õ~¾Š*`ε×/F‰Ä­«×݈Y£k¸·f‘ÐZc~'ž§ç]À<3@¶EG`$Ê?«öeqëÉgÒn˜ÅzÑ"qkÞ€šTÀº7 „Ö‘iX_³ŒÐZcs¶üò©© ’iáxê°_fqëÎôõn˜ÅZÐ"q«î@Íq«îÄÍ1kë_·õïZcv>ۨ퀬 nE9:ƒ"Bw°R@J92û¯+"RÎ|þêJ)oÿûëÄ=¹þRÊdò?aà.æžÍÏóþ«$&ÕÝ*|–’ÛQ¾æ¸T·õ’\ÂO@ €Ò‘cŸ]’Jk<gg&¯¾«Îy¾.SÏÇÃÖqç/ ¤[ó>Õ-ܹš¤»l³ŠtkÞ×»…;ýfí_ߨŸFÖ¹¬‘Îά"½¬1^wq^Ö$n­ñ˜vÏo¬ŒðF,3ÞJ1ò¶{[WH¸oħ¸)"o›bäýþá¨è§Ä]ï3w¦ˆÔ­^<|_òÇØf–y#'óÚÇB€ó1ˈ[¹‚¹Y fÍÛ`·HdÕ­¾Y"n¡õeȊ师›%BkÖ‹}Ú9b‚weîûX¿¿&‰4+¯ÁÍ*bVÝ¿šEâZPÛÔ­œ4hVYkButî9y˜ý>/¯YFÜÚâ¶¥Y ²jJÀ,YñUÿFYjUXÞÎe­qYZ’­3¼‘ùã׸ºš%bÖè\Þ»Y$^ÖwÞ­,³Æ-е5‹„–µaYFdÕŠY"úÆXPvEÆóš-QäY‹~5ýY Z$nñzF$ Ä,¶-µ—Y±¿Q“ ˜K/ó¸ƒèyQ"¸‘h~¨yÑ”àÒÇ¿K&]KŒ’L"0é¼Ý8ïþçëÎÄ 2$ž~yÄBð*#Öe¦—7²#½¼+ Ä-D+ „ækdq+'lš¢oTDøFZ1î\óòˈ׾âŽ{¼»µDlïôÕ&˜TQ›"騢7p‰Ä¤ØÍ K ”øÛS¤ˆ!ù¥NûL2ßj¹ßáѲ€i±¢*KÁÀŠ Çé–ˆ[güµY ²®cvB”ÌaËP²ÖSÝ+ê˜98z;äíeoYl³µ•…v…ªRbÝéèƒd?¡ßƒÌÜ‹*“Ây~w~f„´HÜêߥÜgLô¸BâÖÓ Í‘5Päi1KDVîÚÚ*%bßȈ·™6¾µÊr~·-kY½ ³—‚‰W)FÜzfÏjˆ¾K±àë<^Z¸ÄÉ"±z#⣶I°6à6 ŠXÛÀ­^Ðù] z0) nár* Ä,þê´tÈbÄ´Ô¿Õë˜ êÜHPè¨ÌöwÖ› ‰¬HÐr·‚DdE*”ãpKD¯I´Dd©¥`‰XíÇ•dãìXq“:Zâ Þn˜…óV‰YÏ;Ça²Hܺr fR9ãb²å-1%Yqßœ×SZ"aE“çWo‡ÉðµYh³µ,¶-<Ô%Ò¬wödf±odDüFÅh®²@ZŒh‰ý󴆨/¤Ä·† `ÛKÕ%H0 ×&J’øãC¤6(Ià·:-3~«år‡'K/ß®, Vd7º›%bÖºÏiY$²xšÓ1‹CËÚO1Ʀr’â˜#L’÷ƒñÐ[B4‰Ä¤yþšS€J¤ZÊ»=:"&-ófÏ$JQÇ¥•$¢m™ƒÝ«D"‰án3Õ½‘©î-^Z$nUÄ’ ÐÁÃ;IFÌšïÜ"±ïc8üBY¼Rб²u\}ÎÞÝ+jYÖ2²fØ&±aäTŸ`R·pi’b{Z:d1jZÞ2¯×9Óáy_J*`ëN‰DVäûºO·DÜ:æ1bˆ,žà´DÌbkÑ"±Ú¿ûœ£Z×™XßÈÄúk¤Ë6³@dñ¦%bÖø]rºX‰[g,×iˆ¬qPžWûF«ý•[xíI<ÆŠ;FìWo‰‰õ·YjXŒ›–· RùÏ'Ö’Ü™¬]ñZ!ÕÊb¦…«†,!ÚሇÞK^Á¾ÚAˆ,µ,·ªw0 ľ×)}#‰,þþ´D¬,¶Ë"ù­^Ë̲odG–}‹Hˆ,Õ–ˆ¬H†wn‰¸•«Æš"‹g;-YjX"ã“¿m.RªÎú©_{©\ûkdÒŒ c“Š4ižÅ.ÕymÒIË›T¤IK>Ùpi“ž|ëÓœ^ÎøGÏWl“4 070À}'¬ ¸„   .j9%.åmKöuŒŽ„‹%/©"Ž%„Goƒ éó²,6‚[³Yh·f¿àV³pu’EbJ<2¬$D­’Ø¿Õꚉø[=×ïãÜ,ż®ßu‡åÑÀŠÄw³Dܺ¢óp©€œÛ’DÌB[QRã1¾-6Ò¶ÍTýFN¤ê_#/õÕ¥æà<–DbÖñä³a³HÜ:ò9¦[ ²âçÇ(,¯×8l÷^/°¢Ž…®go‡‰ú¶IÕæ jIlZXD%K¤Y9KÚ¬"í+ûFDh.²@Z„h‡s&ëo-³n_í ‰ C‡í@ÉZFVuf˜…+”,Yüõi‰xYh•¥–ù{½V5 Çßy³@Ìb]i‘ÈŠ|©÷æ–ˆ[÷ì@Ì‘…Áñ÷³G‰G{r «Òçä^¬>âɆY ͪsج"nqqÖUˆ[g$ŠoˆYÑž­^$^Ö=.è½,·ØÇgk qÝHÚo ÉZFÚ’fÝÛzCJ\ÊGÃ.Ø×1<|ÅK W Eà"^fR#Ü¿ÂB¦Eâb–âVuf˜…K”,Y:`‰XYŒ[1‚üR¯xènõŠ­¼¾B4 Dj*‰„R®yY]1éÉi.Pâ9NI„Û…’ˆ*~nñæv.aËŒ\ØH`m®Þµ[ nÕ¹kˆYwdwo‰[G¼tÜ,Yq“»¶²Ddíkî³f–ˆ×¾â>^2l‰\*Ñ[Â,´„[·Yh ZX3+K¤Y¹‚­YEì¿Q1Z½pÍP½@ZíÑçܼÀÈƒÍ ¬%d¸…–búY$fá2%‹DZ"V[‚e‘üV¯mn`Ðjºžß1Ò²¨×ï>X–Å+²h·¢ÜycåA“@dñd§%bÛ†–µë~]ó Ýkуv¬±EÝy5 ¤Yu›UÄ­7Ò{7 ¤Y‘ ¾[EdÅЋƒi‰XYû‘{ZY$þl‰cn``äÆÖ´HÜBKÈ¡……ß²ŒÐÂjtYFôŠß(b®²H¬öŒ{´¶Y¯ï– em# qËRÛȺ¿¿‘Ä,\«d‘вc¢,#*Kq£,o›¿Õ+^Ä¿{½–Ïù¢IQj*‰u§ké¯öu$&½sݯI ’xªS"¡¤vd-¥Š?±UIHûgÉv)XseðÚ$—bƒ‹&˜„³œKãv©9õYJ,[¼Ú”b–9ö› dÀ«x—¹‰Ak’õþnYjYˆX–ee䫲DÌZb;‚f‘вˆÊjA£¬c›k,ŠÀë^Q¯Ž`’WGKmˆI³I Ú‹¤ÞG¡dDR½b ¿Ž¿<¿N„¦C jãHŒgk;6×!X£Ð"1«ŽX+ª€9¸èJ"ñ’ªó´¢@d±3 %BK‡,#þuäÇé]óºa‹E-ËZ†V…mE±aÖçëG†d?²,¼M$‹Ä¾Qó ½eháøÅ#ÆêŽ_#2õÃò`ý²HÜB›Ê‘qçM-Y÷ÞÊ¡¥K=,#fá÷—E¢oä…'V níR´Øa½\³2 Ĭ5vÂh‰,^Uh‰xYuÙ´²@dáL§D@'çWÿ>#áŒ:ój]½Vl‚À¨ÝRËЪ¨Í²–‘õä›vnMÒ¬1`Œ·öÌ*b#¢Õ¢FYG$ÖjeôÑǧ5Ä¥íß A À$¶$J|’J|’}]ýöü6~6…-‡@ÇH ÷î~€ÞïŽ-x8Ê1‹mG‹DVì;tÝn‰˜µÎ•÷f‘ÐâINˈY<`h‘xíëGT{wÿ™—ÏöuKâ‘- ‡±$Ø”b3¤xÐ&‰Ä¤1®‰•C&PR0ZÀx—nTàn‰UœM°ÏýŒ\Ø?ÁÚ€‰YlZ$fɳI^Ò™o¥zI ²xpÓ¡eÍP–‘_¾12Aý3?^Yo :›UÄ­}›QËie­ß[ËËšcEUkÉaÔ”Ô´âÙó¹{Q"­Vh‡kîÃÐZ¦öa°v¥–¡Åv e-Cë\cÊÇ-³Ž%n}Ý"¡e1–Õ¢FY1ËnT–ˆÇˆ¸·¹_ƒ‘û5Xܲ@ÌbÜ´HhñågZFdá%cY"úFøF³7-±ŽË«v)±c—»”ðÀ”„C×´ •„6•/à^­(’fÍ%–n‘¥s–ˆ[8Jdñ¸±Ú㈻ι˂‘»,¬±Eø³u Ä­;ïÜ1 Ç’,³p¾È"‘Å_––­XDz¾^/#^{Ľâx&9tÜ0nY n!nY fúµw¯ÕòùþMB€’POI¬9¥sœñâ—$—®\‘íRJ:ª!Ù‘O ÍB‡í¤j×Ëä±ñÜÁBäâîxÉ]–ˆ,°VˆYç™áÝ"1k¾©jx&ïÜ)QIxUE‰xÝ56bÉ}k¿Ú–ˆ,E­²@ܪk€Y fá´”EBËâ^pF¨,^X–È/õн«ŸV¯ëåîŒÈ,³PWY$²®1ž‹W™d‰¸uç³O·@hñ‡$`ÚF‰Õ½^¨ŽÊçþ"'wwÀ‹Þ²Ddáൢ ˜s­ùÒ®I$fÕ+šf‘ÐÊÈÿB#*«ÞäTQ^óŠùľ.jíŒÂ˜i©d!h+ªZÁ\ $¸…sSˆ,Å ËZAeñjÀ²H~­×Y;\ˆ<ÜÿR0‡u§D"ëZ|I–ˆ[O¾âã-ݰŒ˜ÅÖ¢Ebµ¯‰¯s­.Dîœe‰Èâ‘ke˜5®M³´H̪÷Í"¡ï1¬—[FT^cTY"^ûŠ{4ÓÌãomóÕ T¬a¾ÚÀJa«|]¤€œß×*)s:‰¤Øk%Þì•DBI‡4$;ì)¡QèX³}”ÛQ[@ˆÜÜÜa…Tê£þÎCG¥˜õ¾Ÿ^ˆ[¹JÔ¥tX9t¸”’û¶ZÒi6æÖ";7uÀúAY"²°¢Ï˱²jAŽ•EbeÕ"+‹„Väþ?v·ŒÐâRZF¼ö÷zצÞ6ØÔqÓò¶Å¸­,µÍöõª…•âeÕϯ¢p<ÐQÔZË`s ,¦¤%âµÂ¯±bS‘ëïÇ -³ð›É"Ñ+XäDËÈ¥cž1î8èI¼^ÕÎË[›:è·Ø´õÚ™–~ Yhh…ŸÂ:ƒM*â®)V«"²,‹–ÎbX"¿ÖëªÍ¼¦Ø†JbÈÛ÷R’E³}_Ùi‰ÈŠMç–V+Z¼˜A0‡mEÉZµªå-‘¬qn ¢íI°ØD–ˆ,,‚ñ²@ÌÚbºKîÌï.Њý]îËënD›¹àñ<-#^÷u$Ü›[0¨VmÔPQËR;ÈBÔ^ÚÁ¬q×KKÍ*Ò­ý»^EÌbÜ´¬%hq-’ßëuÎ-¼¢ØˆA!B²˜)±î,IÁ@Š=o—\º2߉I”b7Œ%ºH$©¥Jò¦SÅñZ[5ˆÜ„A!Ó"1‹1«,ZVÕ²ŒÐ²°,#þsmK¬Û'Äjú¾G‰$œtVˆI{®7§€+sÁ€;E(Å;&Ǹ“$B‰« (‰Ø×±ŽÚ6Á›„›+°`y›ÀR°,kYǧ!€9¸ÂH"¡e­PVk—íè×4ZF~©6!ÐN"ŠFˆY¬)-Y±“ôÞ¾PÄ,œß²Hhé´„eÄ,¶ -q.j‰Dõs‘—'`¥,Y³PSY¬»¬çØrú\I³2ù„KÈÑñ IÄ,¶ -µ•G8—¶ÄÛ>s“‘‡Û/`É,YJáÁŠRðÑ”q*EM©'âPø‘Jî]—=õ\7¢Rðļ}ôê"ʵö„9´q…%"K±ª,·êœ7 Ä,œƒ²HhYÐe¡¥³–‘_êuÜØ‚õZ´u"2 1š…ºÊbíe=gn»`I³r“Šf‘ÅÃ’xsÐ6’ØZV÷Z®°GLäÿ8¹b~°­)%"«–5xQÌcµck‰Yõ(Ô,Zñ/÷c–Yx`*KÄ뎨—Ú`Bd禊–ˆ,†­¢ XIµ4ÇJ"ñ’êJ`Eв¨Ë2" Jd‰ü½îû…!^nÁšR‘ÅšZQ fár(‹Ä,\¥d‘ÐRÔ°ŒÈâu‘–ÈoõÂf)"Ú,EÑ"1‹u¥E"ë¹òø4KÄ­Ü|©Y ´t¦Ã2"K­KÄj_‹b–bî.A2ÆÈØ¢ÖTH0‡ç°•TÄ­÷ÈDèf4kù. DV\ðïë%bË"iµG;œµ1öJa3”Ã϶é [嘄‹"%“p…¢Dðè¤`LÉ€$^! üV§ùïAmÁhh‘˜ÅšÒ"‘õ<9”7KÄ­Ü+²Y ´thÃ2b‡‰Õ¾Ö,ÄSÖýöU 19¿÷Å’H$ñ UI<°)=ËYÐå¸2Ÿ »S„Rîð—ã H"’ðàX‰U› pÔ¦"77…P À‘¥&`Y$nÕ5À,³pJÊ"¡eíP–Y¼Ðù­^Ü'…d×ÖŒHˆY¬+-YÏ“÷uf‰¸U'ŠY ´tpÃ2b[‡‰Ç8ŸpŰbn0A;Э}‰…,³xðÒÒneÕ3<+ ¤•5Ÿ©yYEdÅÍòr¹%bV=z“`ß§vØk_‘‹C¨`‰ÈR;Àqk^L* ‡ç§jEBËZ¡,#²xA %òK­ì °ióF# D–j KÄÊzs6ÔË"‘õ.±å¸ItttC2"K-KD߇#2&aööä9nK÷¯çŲDdḕ%B‹O~i‘…ºÊ±o¬Ùú˜X½Û»-¶Œ»ú#4Y"²ðÏË1«ž"˜Ebß8nØЉéÐýõZ‘…' ²D¼îõ“íÝÚa«joZjYŒÚÊB;˜µåQåH³rS¦f‘¥¸aYKÈÂCHY$¿Öëü­Z±cÜþ"$“Xw– éÝæbJ.åÚ—(ÅÜg\Wàè³)l'8^mÄ»Öî"wwPÀ´HÌbÄ* „–jZ’€ýxDüûêTº¹E ȳö3‹ø*ƒ'”=Ç ®€H‰Ýõš1^ždÓðcíG¤ü½&Gíì rs7VFRsØt”Hd½G®©3KÄ,òHhY ”eDÖ=nÝO/ˈGˆ¨—ÚAdçn [Rs5%³Ž¼“v‹Ä­óëûèX4%‘¥C–ˆÇ79l×]9çIbK·­?‘EbžLXY n]9׿ˆ[5Ãkˆ¬Üy}õz‰˜UÁ’üûØ{íê rq'µ,Yj–EbeÍG®V€—4|+¨kƒ’ŒÈÂ!Y"¿Ôü|kGÕ|ã> ¨(%Ö\*jUÍÝ©ãߤ"nÕ '©€E ÉÚ@Z$¿ÖêâQ¬zêX¯ø$1`SÇ—£P¸çÃq|Ú—¸3ÓS¹òê\À5–‘÷ïgŒ,k;}ó)L¼]K+¿±BØïŠx=«ªCrðq%Gl+9ˆåˆÑ–rK—X"´tRÆò‰k+qËB&bù2`ËäÏ~©Ú {š9£m!êœ=ê½-Ä㾿è…Bëýùs³DÎÿÎxY °œ/[È {ÿNËõSåêãêŠ ž“PD`yfÙ2‰u_ãWþ è¼;!4IÄ") Ö3–¥Y&Œp„ü=ª°C}¼]‰ÁñB¥xc™ÀºgMX&°êm,[‰EH,_l…ðˆsÁýILUuI}½ˆKËòlKV-eÂ2‰uÞ¯ÆÂ ±5¾P¾ÎQ+ $–––H³jïxXEºõ« ´ÿûóþœ­I“ÐÒþò±Dºµ½Ë=´&¡•<¬ªí`r¸Cò +–ó`Ë$Ö´q+m}¿?ý ‰¥ýøÙ{‘XÉ„¬¿büTmF­z EKt4Š‘Dbee…Øz®Ñë÷ÂàˆêéuT5†ÛÕÔÕHtª§Dl½oŒÆR½-X÷÷ýA),“•$j,|Ä[‰ZHÚòLz®´UoÂdÿOõ‡X!°4ßb™Øú.Ÿ·ZY,Zou·f‰äˆÏƒâ·1dG½ eçëz"ìý|åòÜŠjŠ\©.¢w{±L`é}#Û*B«^ÁáëÅ Ž(kü¾y}ÇCVH,¿0²Òz¯Lì³ÐCÀåò IDI‘’·$i]ç·d@é|}! XB¦`I/Kåäó_=ZªÄCÈæ² ‰Å– ,÷3m‰Øzþò¾!Çõ]Þm–`™Ø¿e>îˆ-¤¦,ö¾â>®*ÁÜ¨ÄƒãŽ…ÜØRÜh+¹)+}•Õâ‘¥A³äQÄñt2[•x9]–Á'“­X>Ò– ¬ýÝKˆ– ¬zÁ~‰ØÊhȱ巶@xÄ÷µÊ(K4k<¬.Ë ÷<‘Bb¥§iJÖñn2FËV-YÃ2±56°ø´#‚Øò¶-ö~†½ŸUã‰Y¾?y°ÄÌ,?o¥ØT2cK£ËómÕ¬D[š§¶µ¬–™åç=˜-̇¿úµV‰‡Ã…£-Zê},[ÏuêýÚ»¥:oq„&‰ØÊY –³eË}¯W+ËvW‰“ýë² zåË–ç.Ú*Bë8ÞÍéa‰Ð:?¿m‰Ä¹cÜVH,/mÛ i½W&Žß–ˆ-K’ˆ’˜™Ì-åÁ-%1–t9°d©NN;ú|ç¤p ¦Ór²ü¼õ•ðWÞ [—veH,¶L`©£–ì<÷áÇûå^K ´ÞJ:ͱ•©- –ScË}×t\¯*ñ)»¨4ƒgc$ÏØHšA‘<§$}?û¨Ç€Êõ~=–NK E‚³´¬ÏlýR2A·€½Ê;0%Ëö›[Èɲý¦À’bëZÞßÒÂ2áç‹,QÄB,«½ü¼³Â#Îl˪š'!›K2èÅ_¬XékÚõ<ì¾K±L`Õ -X&¶ÞªY -[~íe „½¯¸¿g•wH&>.Éà¸m%±7ÚR&`iÄòœ`[5çЖf¡­Ä- ™°• sâ¯~m¿sõ{þw®ÆBÔÿ9‡`%•Hùo¹ÌX ´î÷{Õ´DÎÿž²@`9_¶Áœµï»×åû©ú«K2¼ïBcÔÇü»ç-±õý|ÞB ±@hÍ7´Dl 6`Ço9,°ï3Ü娺·K1Ì€mÔÇü»£E#"°t ˆeKgd,[WR€\$üÕ«µÊ9°Ÿ*Áxl!f[î©-D£¢Ÿë3ædÐZÿ]]*`'óYH,§F’çž×K•åsW1“åë zAK„V½za[Eb}?Ë[ (VH³¶÷ñÒqÆÆ¯ëÆ–BbùUˆ­Öwåaÿw·4ŒŠoëo$@rÜ’@$½Fµ`)çI–„)Xò‹,Iuü[%Êrþö\cYÎß®—Õ‚‰U—AX"9¢®Ké–€]RËËòóBØÈ{õ¹¯*Å^-ª× p()@Iê¨ô<íœoyt¶S„R]& éÂaI'·ŸíP*'pœ¥¬ÎÆÏ½U †Ó%tzر¥“–M°óVü\@lùœµÂã©§Ë,›Ð¢QÙ„ô´¬Írýô=M9;Ï?Ž=Å ™ÐzpC©€Ä\RË‹- -ö|®<®·Ö¢?£8ÛÒW†m…Äòú4Ú¡µ¾õAi‰´¶æjÛ*kì]~¼YV,­Å2ትŠ&„.šL”b ™p[&¶Ðû²@lyEÜø.±sý{`ÍmüWËÝW-ØBæÓ”¬í-LËV-`À2±5J¬+;K˱BØûö© )â¨%¤˜ˆ£FS"°4wc™ÀÒLŠeb+Qˉå¹k+ä¯~}«âAÈȖ ,÷Õ–I¬qÏ4öGˆë¹ÁDa™ØÊy –³c˽¯¥¶ñŒø=¹ø6þ»ŸAK!–2wÑRHÛùn±IÒþ–€§$biè¸Ç7 ,…DÒÊW$v\)ØkSùËÛÅ'eØBÒ–,] b™Àªs3’€d¡$X¾Ø ù«WK?Ù\"!ñØ2¥®Zˆ3Úá èÌßÏP±•‰- –3cË=×|ܯ*}9»¸@‚'d,OZXšG±<³b¥Ç±AD,“f]ïOrh‰•ˆdµ¨emß÷Û¢‘ØwçaóIéäÁ– ,çaû=Ãh=G‹l°LxĹâÍ#ŠØJ„%Äñ¥ÀR÷®Â°f ƒÕ%´,n Äú™¦D`sCiX&°jI–‰­Qékýn°@biá/V{?Ã~&Á÷nyø¸ˆ‚£–Ô2óýþäM%3¶4ö±<ØVÍ6´¥ùg+QËj™ùþþ±°•ùðW¿Ö*£r¸ØBb´eBK½%k¼›{Ïs[!°ž±Ú–f™Øòi )޳eÉ}¯¥çqõŸELž6UDAKâ¶Bbe"´ž”±ôK¤Yï¥ ⌂w÷›eI!°´ˤõ]y8þ­- £¨Úú›†)µ¼|×ß,¸¥¤Å’.– Õ©iGŸ­ Ói9‘ä뀤€¿zô_ƒl]ÚÇ:áOp¶L`©£–âŒw×ïÓ¼¥ZuŠÀ±•‰- –ScË}×úÓóŒp·õ§Ï¨«ö³"I’©"‰@zžsÇ6ºD(Íå8XE0ÖíH^±d‚ƒ9{c`JT²!°…œØr l!)ß­¿x°¶æM­ÿúñ…’Z^diaÐ’Á_=Wm’Ô&I?U %$uNÜÑ4U€N]!‰ÀÒE)–‰-Ä\H,_m…üѯå¬B é×Ç夊ŽzÉ}5¾Ô5¾öˤYÛø‰ ¥ âää–Ë™±•\¡ïZÄ\¶*ÃrºXƒÖC# À©3 mJ]9£âñº°!X^µÂ㩟ŸY:dUé„tÔ’u4  S×.H"°t=‰eb 1—Ë0[!ôësTá„Ûå¤pÔÓH&±Æ—vß9k+„Öþî—EKÄVæ£,XÊM,[þõÂx5³¶ß3Œÿîûó{[ ´æ¯h‰Ä}›Bkþr„–ˆ-ÿÆ!½¡õy¿ÜJK$VÅý¾Ñ;Žž —Qܱ ZoÜÍR&RžäÝv€–HkkxïmimÕoBЖ~%B«â†•L°÷ïærßÖ3Ÿ—j*hUUJ>F©N·âPž{ŒmâP檴2²ql>>F©U#)ùˆ9ÊoUPÙ]g!Ê ‰•XÝ– ­c|k»Y"°žz.^´Ll!è²@bÕj2¬?úõœpÇÕûµ¨†B"‚¥a©¯±Ü{X÷gü–H³Ög—&ˆ³=w÷I)„–rËÙb„ÊÃ>k(€œª¡€<Äå<Ø2±…Þ—Ëcf+„Gk®ïóè[ø `SÝ-C ‰åsM‰Àz·o³L`Í¥MZ&¶¶ãú·~Ø/Xµ +„½ŸaŸ§'`åÁõ@µ¥äჹ\Q£)å–.b±DhéÚK$V¢–…<ÄòÕÌ–ÉŸýÚfÝCu£-Xî½-X÷9¶¢ekü ûÓúb+ç§,XΗ-ôk.¿ßÄ\,Ë¿ßHûÞm™VH,Ï^´%ë¹óú´¶Bh½Ëzͱµ=w÷Á#‚Äš« Ø÷Šú8Þú. ’ %DrÌiI’.– ÕÉiGŸ­$Ür"ùJ )௭cµ.íª{€Xl™ÀRG- ÄÛG¼w_–B`-ß1yi™ØÊÄ–+©‘‚¾Ïe¶÷w뉅·÷Mh_ „d©–âZKE ==ýM¡4ß›3•íy2:¾7œHõ„É„ÝVöYõäRÕd@VH¬¤ m‰ ­ùjm™ -ÿiËÄòPH¬Zÿ„òWï«Ȧª諬Xé«Û2¡UWBX"°tiŠeb q—K—BKôj»fÑôjQÕƒÄKÂROc¹ï±ÆFKëNË„Öwý÷iG4‰•“\V-å&–³…ÞÏŶ÷÷]5MÎÌç¹+$–Îa4UÎyŸØS2¡õ.‹4KäÌ™q?ìØwXµx+„}WÔˬ|²ªò¢–Ëa§©têšI–®S±Ll!ê²@bùÂh+ä~­ç¬¡€~}TCÁAªᨧ‘Ü÷Xcc¾µ5eÒ¬¥ÿ{f¶Ì~XÊJ,ç ýž wï7 ÏKy9T=Aˉ°BbyÖ¢-X×wÌLZ&´Žq7KÄÖöü‡÷~‰UK…°BØ{Åý™Õ@¾ªž€¸e…ÄJÜiK„V] `‰ÀÒ™ËÄâ. $–¯¶Bþè×÷ø·µnòjëOˆ‘ ©§– "]k.Òóî} ´d`)¼$€H΋¤t\Sòûý¤ßý¿S&–Éþß©Œ¶DöLåg&¾"²@öÿNe[!ûO±çîçì½ÿ=ï£$˜Ÿ~£G¢Q¹Çß(&Vž»õµõÅD_iq R˜ŒŸA‹âQûþ¬»-û¬£r©ŽBV½b™ÀªÅ84U ÎØj­9têé’ˆ­í鿍w $–×l…°çŠy™u@6ÕQ@̶L`)è4UÀzZH,¯üÙ áñjEåyü\meÔ-û]û‰%Ëy¶•ÌÃzrù®5ÆiV=²Â*k{rs¿«F²B`ùÁÖ– ct&¶YÿäTýd–I¬dBV­9y!Àñ4“Ð+[ÈCY ±ÕQuV@9\'Aofb…ÄòÄE["°¶Ï»n ËV­3Ã2±µ?ß½‰¥ÕèX!ì}Å}ÞU!™øªX‚ö”DXrÔhIy€T×HE éÄŒ$b)!KB$åB )ä¯>µË;{©½à^¬lË]·…`d]–ƒV¬çöújm…ØÊô–ËÙ²…ü¹÷õ2d”–ë€ìª[à×3±Bbyâ¢-Xû6¶ÿ¡eBk¾t %bk:qØ/Xz5+„½¯¸kÖ-@&Õ-Hܶ’‰XŽm)°t9ˆ%BK'g,ŸÀ¶·,d"–/¶Lþì×®žfæ(F[ˆ:çzo ñdÞ_c7#X!°Öåý%,“ë¿ó^,çË2¸ôEñóy´š¥ 6×KЪ|¤XZ)gS"°žÞ\­­Zsq‘–ˆ­}{þñàAbi 2V{?ÃÞÏYÈ yø¨ŽA¢¶”<ÄrÔhJy@[õm‰°-]Ò–H¬D- yˆ¥—±LþìýVEÏrüö^ã‘•Þ»-Ä«®°D`éJËÄ2QVË,_m…üÕ¯OFY]=!Åå¾Ú2‰5~Av5+„Öñþˆ–ˆ­œë²@b%;²Bã|!p>ǹù†à…Ò~^µZ ˆä³Ø-Pš«Ÿ ëOK–ömŸ#QN>GѧÌñ®ž¢I‰O ,‹9ñ´rÄn I‰UEX"°êIàÈ)¡˜WIÊòóR7RÈ}Zïª>}UÓÀÁ@Rx‘ª›qÔo+ÛúÞÁÁ1¤Ó#’ˆ¥ÌhI!*)q”%DV³pÝ«ÄBÈ庞±L`i²Æ2‰¥—±BØÖ| À¶DlíÛóoö $–'¿­Ñq«Ìs£Ú‰ÛrcËqÛBnl]Ÿñ¸GË„ÖØ[¬Iì ê’Zfli:XÈÑ<Ï}ܬ±ÑY\Á™±•\ÁÒˆÅòÂzžþ¯£Y"ͪÌÀR®lùµ­XÉ,dë¯#nU¯!ätk,X5dhªå!’§œæx"¶öý9¿ß Y ±’Y!ì—¢^ª^3£ ‰Ú2cKa§)'FÎø áEÇÎs×»´†Bl!æ²Z^dé$°dÀ~×H<Ïþ³VCÆæãú ‰XXÊÚR>m¥§²Ðw[™Ý²pàˆµ..kÕW9\A+ç‘àÔÚ=[‰5öÙïV­Z6„%bkßÇ"È $–Wm…°÷ŠúS˜™ïOì$/ßß,¤äåûÛñ’Z(ßþöÀŽVK°O ¶&;ê‘­?ëÄ– "9½’(ÝÿÞùIÒØ+’Ž>[yfêsµÆˆäå/IˆÍñ~«BÈî Ø–I¬D,+„VÍVX"8¢æú%b a—˳ÕVÈûuÜwC`OUÂ@ÑJÔ²Ô×XŒÇm×»sÚ*Ò¬ó}K«,O[9!hUv`!ƒ‰qNÊãV•”ö¨i I ŽæR¤´4ª µ–èï^`”Dl!¾²@bO?7¶‚#:æ¥Ê!„l.aà - ÄIÌ’BÐÒóq»[S&´æÊ7-[ˆ§,XºÄ a„sEþ¸®*‡`r§´‡ÞÄ2徦-Äcë¹c»ÀiÖ\å¤U$Ö~œÏÿ]`…ÀÒZh,љتBÈé"É„¬XÉ„Û2¡U3–¬šrèV;ÈCI ±<þ¶BþêÕ§ê!„¬.bxb‰ÀRW- À¹Ïñ3J&±Æ¢ýCY!¶rÈåÜØ2a„s5~|álåòüøÏTÊ@/ ,@òÌuKžÜöÏøb<$Jµ®I Ò~>ãp¢ã´ögÉ€‡s Ö*‰r¸ŒAr +$V’à¶LhÕ¥–,˜±Ll!eÄò¥ÀVÈýzÕï³÷ë«r’BŒ¤žFrß#Ýï×f)‰PªÓRK™Ù’B"9/–’)D7Wێ㨪!·‹h0VH,-Ê¡-Xóá’óÝñ‡’ˆ­ýÜž[âH¬zxd€ã9æo•EÙ]Ê 1Ë ‰•˜Ý– Úªw hË„mÕ…m‰ØBÔeÄÒjh¬?z¿_U!½_\ÎÀ}µ•ÞÇr_Ñ–zKWÄX"´t‰Š%+qËB&bù¢hËäÏ~íUi=ýî¿1ÚBÔ¶Ü{[ˆGÖxQw6+Ö¨±½4ËÄVNuY °œ/[È {_'辌_•àŒEy®Ÿ3(’ ,ÅhJ$V-E2@Kµº…–Ll=wAÿ–û†KKìù y;«Ò‚sðq9GÉ9€¥ˆÑ”rkü`a|›!– ­ïùþ”–H¬Ä, Y€¥‘å¹#j(¶­ê,œ.Æà\ÉAòìh´"™Øò Ÿ-X‰O#VÁ•O8¶O/Ÿðõ?¥l¬ÿ)²+$–~®+„ÖöîêFKÄÖØVõ}‡ŸÞ‡¬ÿ)Ø+„½¯5Œ¹Un>Þ.oà…•RüŠÖ8JñG(÷çÝ,IŠ?BÑŠ@)þhe¿ž¿N_+øÅ+SÉGÈQ®U!äp1ƒjË–cµeBk7ü¢%Bë~7ö§%b A—Ë J¶Bþè×óˆ{\½__oïˆ`)FZÕWXê}¬}½ÞŸ4Ç2¡µ½ûkЉµ_Ͻ÷ø­ZÊN,狽W&Ž*³r¹4B2K„–2KÄz_H,š­±Vܾߪ`°»œ—¿"™ÀÒY‡¦DbíÏ…ðsÑ ¡Uð°Dlí×ówñfçAbù1ßV{?Ã^TèÃyHqGÉy€¥¨Ñ”òK—±X"´tu‰%+QËBbùzfËäÏ~íU!ät9ƒÄhË–{oË$Ö¸Q¿ËŽBëÝK©Y"¶r~Êå|Ù2AïõX½,U!dsA?ëÇ2¥§o´%k_Žw¯§X!´êF–ˆ­ý~ž·Þ²@bùvÞV{_qÎ}Åa”;ûþ$Â’óIQ§%¥’Ö- @òõ@’A¤„\rÉ‹’ þìøVB5HÏm™ÄJ×e…ЪË",±®R9 €d¡$X¾(Ú ù«WŸª‘²ª´A‰$bÉ•cvž?XëÙÚ1‰t|ÞߟB2‘”ó[ˆ¥dERb›Óû}hÞ Üc‘°=õ[ ˆ¤³6-PšÏk }×±Ïy}¶2þi ‰r"éQÍRæxתв»–A–+»-Zó"HKG¬kŽhb a—KÁX!ôë™K³.Búõu-GK1Ær_m¥÷hë¹4ç0´%Bë\Þ­#a‰ÄòܶBKÙ‰å|1Æš”—j†„¤Î‡çI,X5y# ÄÑZG¤¶4W1Ø”ˆ­q²'3KvrHÁñó·ê"„l®e˜m™ÀRЖàœ×¿µ·d뚿ބeb+A—`s¡$Ï#1úr÷±Y\ÏÀ™±•\ÁÒxÅòÚò:­XHR"Ìñ´þ2†÷\¹"³Ÿ§·m×úK¬Zsý…–H,mY+$–vˆbË«4¶@`Ä›$ã%ê¥j„¬®?¨e…ÐRÔ±Db½ï[¿´Bh½k©Í±å5-[ ±¶$ö}.0Œ«ìƇñ÷`]ûó¿%HZ„HK”öï$ÐZš=h©@¤q¿rm"ùÑHR笞Æ")Ê‘È ‰•$¸-[è{Y ¶¼âa „GœO’ï-áÉgËýøY^ŒòŸ”§ß…¾[îÃø¹M¥!¢A;ÿíväç>Ö Èúòs«·vêq5íìÎmI#oÛDÊä/ çç¬U!äpƒdÀ– ,§À–I¬1VïÓ‰­Z55`‰ØBÊ¥É˽¯±æçûu ç&’³K#˃jËä’ à8K‰Ç«¿‹j{„¤$‡ïc™ÀzoÏ¢Ìùwÿ5³‚VêlÚ°3ÞF^_ö$–ÿâÙ Áñï·Š„ì.,X:ÛÐ/[»¬–™ÏÏCJ¬?ú5¾wõ~}]ÀÁRŒ°Ô×Xî=¬ýý®-‘f½ß¬kV‘X¹ È åìØJ¾c–ç^å B.Wð¹ËV¾‘쌻škùB‰åó×VŽçž~ÇÏþ×£ù\¿}·…hl©«–Œãýþ*%Xçû%gZ&¶uY-3¶<†¶LØ÷y«ø~;®Ý<Žzª4 [·X&°tC‰¶Dhíï7þh‰´¶ê=Ú*k4¿oþÙ å{[&<¢3±U݂ӵ’ Y!±’ ·eb ½/ $VÝËF2àñêþéPÍŒTºðýK,XÎ|Úu|km™ÀÒ(–‰­ÑÕec[ ±|²ÂÞWÜû9« $×pØ–œHŠ:-) 4u-yvCÒ<²ä‰e)!—„Dò¼•”©ýWŸÖªZr¸Ò@³eË]·eë~GË„Öû{Åf‰ØÊ) –³eËGÔŸÉñý¯³ýáõ¾~þžG2‰¤i‹–D"éŠÉÒû“Ž&‰H#q½·Ž’@,ùrn)¯€·£Š„Ü.4àˆc™ÀRÈhK–®±L`é´Œeb+Qˉå뀭¿úõ­²!»‹ $"[&°ÜW[&±Þ­_(ÐyÍÝ$[™Ü²@`97¶LÐwÍÉUÅ[!8¢£þz&3ž7ŽÚ2cKa[Jb4OÓÓ’Z4žÍº±ÂãUGU‘»çtñŽþÎ`,ç–¢Žå<Àšh‰ÐºßjZ´Db%nYȬ§ùñ K„Gt&¶ªrzOÿd– ,g– ¬ã­þAË„G¬»4QÄb, $–g¯­±îG ®³ÝOŽZ_?7w‘L"¹§i)ÑH—”æDÑ_¤8&’ÆjÊy®@,ù¯–¥t»Â}þŒ÷ûéýã:ג㇤pӒ⇤Q·äiÀ–jš¥%Í;K ¸$d ’‡\RæÀ_}Z«Ú@Èá  Ï– -u=–¬û­#HË„Ö[u±Y"¶2÷eÄJ¶d…àˆºg4_í.j[½ºïåb™ÀÒ¬E["°®·j-XúëËÄÖXÞV$–ÿºÛ aï+îõ¨Š!·«8îX&°7ÚUW‚HptnF2±•¨eÄòµÀVȽúVÁƒÝ5%Xî©-“X×ç­> +„ÖÜ •–ˆ­ÌpY °œ[&è½îBÇnþw»/]S;Ãw´±Dhi"±ÆRøg¼|°Ëw´¶LÚÕû½Š„\ÞÙ?½·e˽O["°tÇ2¥s*–‰-d¢,X>‹m…üÕ¯¥ê„lÞÛ?Ù2å¾Ú2‰u}ßšó°Bhï¦x´DlefÊåìØ2Aïu'º\³V€Áwñÿ¾-´$@Iw«– ]Ÿ·˜r$ƒÖRý}KK"·?çÃ@òß@I<œS°U€Ó{û'¶L`9 ¶Ll¡ïeÄò½­±nFiõ³ÝDŒR]?÷6‘L"9íiIÄÒ5ÞåÐ1ˆ¢‹pIci{û@,ùBm)Ý®p?§fK2òý½¹³„ŒügÞ¥¥dä?3XR¦ôç¿SÊ-yF}2ƒpI-'ÿ™Á’2¥ÿêÓZÛú‡ÞŠ?áÉ å®Û2‰u/8~ÛMhmï† ´DleîËålÙ2Áë6á{ßµ­¿o>_oÅ_w/‘t;Gs–-Õ,¦5^òÍ*Ò¬ñRüÛ¬"°Æ»Ë1°–èèBÉ—þÖweá¨-ý™—ïþ“IH‹œd!-%/¶æ5’ŽVg%gb+9(‰I‘£k@¤?úô­ýü voŸX,™ÄJ?e… ­ñ-þ³µeBëyòìG4±å™m –RcIÇÓü|þöÏ ý3coÂïùË3–æP,Ï*Xã·9ýˆ"Íš[¼Ñ*ËIJ„vÆ{±ñ5-;<š³°WqæE%’[È‹-gÁòbk|%li– 8oîxD[‰°$†\N® ’@x¼yËùn7¡ßñ•ª»ßÇ ‰•ž¦-Xã»W³Lh]ïÎæ´DlwæÛB Ä–orm°÷÷yõ4|¼Á¿ƒ>¯žƒ(ŽX­(P4ì¥x°•šeçÕ'•ú*ˆÛJÆû¼úðÿÕ—­J„œÞÎ?AÙ2¡¥NÇ5~¶ÚÛ2‰uŸù¶~…Øò¬—Çy²d‚^i žŸÇÙ&å(ïõ;C,™DÒ4EK"’Æ;O;ˆ¤LRI 8\uó8«&@Èí}üÝÏX&°ÔQ´%ë?ÆoV¬¹Ñ-[‰ZH,˜­QßmükU9¼“¿¾Ü+$–¾nˆ¶Ll­ãþ–Rí½S¦$bËß,¶«¾FË„îï^ûß]5.LŽÔ¥Ð×i¡µ¯³ýX"°ô•ÙX&´Æ6:ßf‰ÄZž™w“0[!´êk—°DZŒÊÄQUB.ïäŸLÄåLØ2‰¥/ Æ a[ó ¨lKÄb, $ÖgßzïA£âþVU€Ý;ù'îX"°·-[ëøȱÀ‰5¶ Ý›b s¢,X‰[VHzïñØ®¹zhñ~þIHÊ%'ËÒ:þà R¥ºlØ©ÏQr¢—Ф­õ @·ë¡üûL€Y äôNþz(§%«–`™°­s^ÊЖ¬ñCßÞ–‰-/ر5¾´½²@Ø/ŽTm€M;ú'ìH"‘µ%“Hãwù͈¢¿8&’JI ’òp( ±Õ0¬U%#ãòñŽþKHJ\ZR&-e¤JÂÐY¯O¶Ð§Žoµ›ÈáøÓs[&°Üõ´%ë^Ÿ;®›V­óÝÝŒ–ˆ-„X, j,ÆX ÏŸÒ¹›ÈêøµÎIŽfZu¯ï/v`™ÀÒƒ{,[ã«`Ÿã€bËÏ÷’Ø÷Šù¹í˜{ù‡ÜÞ_AG€£˜Ñ’¬:s# ÀÑe"’‰­D, ÄVÎ]Y ôj­­ü v￟h,™ÀrOm™ÄºÇ.¡ ­Zs{Z"¶2·eÄJnd… ÷Z\Zîª `26xù]Š%BKómu}¹.Z&ͪ'XXEb/º¶ÀÑc®Öseá¹Ñû¶,Œmöß,Ø2å,¤-XºÄ2¥33–‰­d¡¤;¾È ø«Oߪ ²y'ÿDcË–ûiË$Ö=¾Ò¥>òß÷w# *"¶2¯eÀÚz·Ðk­®<é}¹eìcô» dI’g«¤LhHc‹Å“’@“–Ÿ–"ïˬ7:É ’ S !)k‘Ø2‰•$È ¡U§?,Q'dŽhb y( $–®– þêÕRUÐÏßð¢8àß^KAÕÊó>¶ÎC+&Væž»el¿™±‘\õŪåð­/V]*¾byá –&)Úò<¦u¿{¡Óš¤Yc?Ú&Mg|¡þ3~˜oÉ„–Ìby ÇsÖÚA=äð®çɃ¬XɃÛ2¡5Ï{Z"8bˆ8¢‰-d¢,X:õc…üÕ¯OÕ`OU ÅJÔŸå·÷²Û5c®Ö– ­óݬ–ˆ-Op[ ±’YÌ`b¬™úœ¾³º@È튞'±L`Õ|Ž$`g|eìüòx ±<Ÿm…àxîé׳K$õ-ÒÓïﬧ¥®Z€3ê™5G€Îþî»DIdÏ\vÌ_Íe“ý¿3>–‰-oh°œ÷ÜÁ?dìlùí»%Ø ¥%ÛX&°´lË„mÕÂ.Ú‰µ<ÿá½¶Þ›ÀÒ¢g,“?{¿W5€Ë;ø§÷²Bb¥÷nËÄÖûe›‹G±µ¾?äAÒV2¡¶BbiÑ3V{?×%–s©Š!Û¿Ÿ… J"–´Z)D’—.,XZG7WJ!èSuó¸æNþŒDûï»›‘ÉçgÉÊ#qK£êÉÆ–š4h!ˆ”XJjá~~Ví,üy¸­vñ9½ó¾žŸi‰Äª‡ÿHhÉÙtK&<ž2•ã‰ØB€eÄÚÆ©{Ò áµªZ„¸E‚Ž$bÉAË1H;£(ÔÚÚ1ôíÆ—ÿŒ ʱ¤'¸H!ëÎÌý¬Z’7ð÷ÄòЪ¤ÁJbËZ?£Îù +¤Y×û#dZEbeæËÂÉ˹±Åü¹÷oŽ÷µêÔÇÃøë±™ŠH,=îÇ A[š9iË„G¬y#ŠØÊ Ê‰µ•¼…V8‚ÞîªP9H) G E9ˆåˆm%hkÔõ뇡UOi°Db%Yˆ.V=ÏEàñ4O³¼@Èí¢‡X&´¾]ù¶_?ÏÍÓ{‹%„Öñ~«€–ˆ­ÌhY °œ'[Èœû]ÏËö­â!» èY– ,_Ú5Êž.Í2¥”X&¶Æ¯ÜÖ±a $–cl…°÷÷óXzõD,ÞÝa[r )ê´¤4@Ò `Éç$q–|RZJÈ%!‘4ýåøüø«G{•`U ÁÙB¸¶Üq[¥¬õ³ÍímÐ:߯Çб•É- $Vr%‹Ùsïõ ½.U_ dû·ý<ìG2‰¤I‹–D""ƽ%H×oK&’ÆoÛ>ïµWˆ%?íY AÇ+àïù¯¯+¬)’á€-9pZR é`I€’NHK>e?9pIÈ@$Ÿÿ’ þìÓVÅØKHx¶°-wÝ‚)kß©ØOX ´®w×1Z"¶2¯eÀr¶l!ã÷SÅBVð|„%ËË–‰­õsìïŽU¶@hÝïþ´Dl!¢²@`=ƒvwË„1VÜËQ• Bn—pܰD`)îX&°îûÝ:– ­Z ‚%b+ɉ嫭q.R=äK[µµV¿âÀq?ÓPb)ký|Öw7V[ ´ŽwsZ"¶ÆO±Öƒ]‰å•3[!ìý úsWgáëÒ :޲G1£!eV<,ÍXšk±<ûl%fYÈB,¼­Ì…¿úµÿÎÑÏõß9 Käúï¹ËÄÖú9w7&[ °®Ï¿ï·Y&×Ï Y ±’/Y!8¢fåç;Ë€ì.SàYSR€Ì\´$bküäýß0´Ë3×V8{ú¹¯ýÅÂÖÖu9é¹÷í¨ã–ùÍHº´½›mCš’–„ @ª±ŠäÁû«OÛ,+rª¬Â³eË]O["´ÎwwyZ"°¾Ëo¿Ll_ÆÊŠ-XΖ-öKq/³¸@ËÍò›KHÍò›‡´”ÌHºÎwÿ H&‘î¹½$I¹¤––åw2X2AÇk FO–>4•HZ`)Q°4\±<€¶®õy>ol…ÄÊpɲ_êý:‹€*€ÞÇåÞÛ2uÏ=H`™Äz¯ž­[ÈDY ¶2²²@Øû¹à8®üËÅ%Èñß-K_‚¤%bË ¡¶@lyYÒH¬ó¹nŽ¿W±Bدêëøëöm½ŹöŸÞñ•¾ÊA[OgÇžÙhË„Ö\¼¢%b+ɉ¥Å«X!ñ; €ì*àå2Z"¶¼€g m9‡nË„GTvrD[ˆ¨,XO> {Â#VÜϳÎr÷L|U qÃJnT?ÀqËj¹q[Ï£ã{…I["´jí–H¬D$«E-Kk7±LxDÇx6\Ûb_ÇÏÅ2¡¥¬Æ‰õ.l´B`­Ëø‘$;9$Àr¶l™ ïÎü2ë€lÿ®¾ŒFIdsÍ‚Zñ³’–<µÜ’I$ÏK&’0Ì%X:ßßaÁ1@lî>Ke´Œ,ëO"%#ËÏ"¨¤–·ôüÿv´úL¥nâDr å0Òågq׎¦ôclm@žG™íü‘X&°œJ[&±Þ¥ôf…Кû=ѱ•- –reI€*éŸYdÍÄœ‹e”DR»£Vú,¬ÿ9£Ò’I$Í;R0Æå€Xzn ÖÝAlîèÇÒðQYÄ +9Y¶ŸÈjIq[ãOÕÝÚ¡U‹w°Db% Y-èåg;– ¨‘“wocóLÁígp" ÀqN-™Äzßµ^´Bhï~´DlyfK ˆ“\I a|•åçÞu·¼*aß¾ŒJ«H,/tÚ a[šIi˳ –æH,Ï#[WYûXÏsÐgü|$–I‹Q™8ÆÐÿzn–ý7±’›eÿÍDY-7nk<–\­-XµlËÄb,«E½ü,dÅ Á=BßYZdWiŒ-XΡ-“XïrNZ!´æîP´Dle–ËåìØ2aŒ•éqÓØS¿¨Ä€W # Dòr§¤¶¤©ä–<·x¸š#9œ&¥ kIçH÷ØÙ} àᜂª·Ñ’²¿9°…¬¨A’ 2 L‹Û OgkË„G¬õQÄB,«-Ë‹;¶BpDÎ2K €lÿ~ÏéH&‘œAK&–Þ/Z”B Ýï'”D$efK±”¼H At•â±T´ô¤T\ «n±Dhi•/–-M#Q‹G¬ ‚#jÊØÊ ÊÂ0ÇzþÃuåCZ¿”‰m\ÿ×s³œ¿™°…Ü,¿+Á±›´uýÑ$ÖXÀÿR2°ƒKj1/¿«Å¶BÐ+Ïg–)YU¦ãcË–3˜¶Db½?°¸h…À_àß›eb+S\,gÇ– c¬ÑKÜß6>£Ùþ3#`‰ÄÒ Y2@KZbMK&l©OÑ”ˆ­ó~¦úM $–ÇßV#TÔU£ef¹~ó+™Y®Ÿ{˨â±õ,Ðr^lUБ’–´t.ÿúá&hÎ\0§T–£±ÅˆeiÁ<–I;bÄøEܶpl¶Sõ<D )Ÿ‘D"=ض֒ ¥mü&¡IE,yb[ ¤LEat•ôÏ,~°ªöÞQÐ)§ÞœÄ1@;šNnGNM+õÙF†¶”;×s¥¹ODÀ¨f ãçÁËÑBn1ü5— •–³aKÁÆB>ÒÖØŒ¢Y"Íškä´ŠÀr@¶³,­’Ç2iG¬aûÌ/º™ÿv½]¬‘€T€ŽrIÖØT³N 9ïÖ`M*ËÚV-å*–H‹ofù{¿Z÷Q¿Ì«póåD³&¡UoL`‰´¶j&¡-Í6Z5G`iÅò¸ÚÊØÇ›–KA,“ceâxo>ÿ×róÝ·ŸLÀrnl9¶›´56_ÚZ["ÍzWÉ›U$Vb”Ũei•EÐöü)¨¹0n¦àO샂?º\ïc4–­ 7R8ï®{+%“fÍ•]ZEb%8Y!±¼þk+¤EXc±¼§ÆcÔMû|²K–‡Í– ÛªKÚ¡Uö«H,ŸÈ¶Bb%;²BþèרöêÓ.÷£~Úzõ~ÁR¿š5sH«² kT«+y±Dºµ!7kX>‘m™4«â†¥Lðˆõbì0‡j2Ê€œý @,Xš¿l«H¬ë¹7~žäa…ÀªÿHíxÕÓgÌ™¬ïš`ï»-Xî)Ú*Ò¬yÓ*Â#ÖuG‰•¨e…Äòyl+ä¿ýz·Ùû¢[×(~¦ï U@” @ªžF2`KsR¢%J×ò¯9õ9Š&¤H••H<Ø\œ{7p™ßN49Þ…E.×5«¬Z4„eKKx±B`=ÏxÇ—ý iýš}½î÷çPìý÷] l½§U½‡¥¾ÆrïÙÖØ2{oméG|—vÚ'åˆl%FXµ´KäÏ#>·=k;â¨Zv,my‰–¬Zä‚e¶”U±H;bå G,+1Ê õ Ç÷^i™´~UÜ£lÇÙ2±¿ë=±D`9n[&lkÔØZ["Íz×6šU$V"’«V7`™ðˆ5cGöÏÚFhy—ÛÁÒѪ²­Ê*­1%ïféÖ1v kÖ$°|.ØÊùB«²Kùâ+Ócíw‡óó]äRS³ŠÀªÕ.X&l«fÚiGœó„G,Ëck+Ö¶¼Ëþ°LÚ+îåýµ3±½Bz&`å¸m™°­Q=fmm‰4k,y4i‚8‰GR¬Zñ€eÂãÕhŒ:sÛÏsðí}|`i|š53H«r k}îD>ÍéÖ:–°›5 ,Ïq[9`);±œ/ö~&zd˜¿S8TAKMÍ)i.Á@;5‰ÐŽ6gVÄ’‡ÔRH¤mÿ>B2ááf´£ÈÉð×w‰°Ç©,ÅkI€-í÷(.À–Dšõ.q4«H¬#+V-qÀ2ákF]ªùÝk“û]$lCK¤Yo)Mg}6`Ìíß·Q£°)Eby:Û ¡UY%Â^W†Ç×qæ7éLö÷V„ MÍ*«–»`™°­šChK¤qαH,©­XϽËw\žc™´#θ·Q äj™å@~2A«2KqÇr&ØÖ˜ŠWk«H·Î±™g³&åˆl%FXõÜK¤±Æclê¼n¡gÚÇÖG–H³*«°ŠÀZÇê[³Lšõî«×¬"±<Ëm…ÐR¾b‰´Þ×hge„€ýg-ì?£¡€þò%w¶``á{Q(°ÿ„Rb›Â“ð{C{sT)ø-Îå] l±ÂR°ÍšñѪˆiׯU¤[ï’W³&å)l+Ó–bŽå,üuÄíÝ}G|n€Æa[Ï UV-þÁ2a[ÊWÚiG¼~-‘XÉ„¬XÏÐãŽ/–I;bŽüû\=Ï_Èå7°œ[ŽÛr“¶æ‚š*@§Ö© ‰ÄJ<²³--Å2ák4F¥æ¥]~G)µíêãKãÓ¬™AZ•SXëx;}ÒéÖ»õb³&å9n+ç­Ê,å«õ~Žì(y<ânr¼‹EHèÔ˜Ai-íc;þÖT‘fÝc¯YEb%BY!°´RËä?³"þ|zšĩ^Æq rÖñÍ­Ž}lDE§€ÄZÓ!ç¹Q_ŽcÀ>¿‘ŽÒfõkƒ÷»ZÙb§T¤Y3XZEb9û¶B`©£±LxÄZ‘Yžû°ùs“çöàÞû ­"´j¥–H,¯ÛØ õü /W`™´~;~îK-'ž¾Ø¯¾Òr<±ª¯°­õsŽ “`‰tk>ËÓš–#²Å¨méY>–ÈŸGÕ;.ñs½«‚m=VXZÕˆeBKY%ÒŽXù‹ÄJŒ²B`=`ö›½iG¬¸G5µeb{W{&`å¸m™°­å&±-‘fõN-½G‰EJ,=ÒÆ2a¿çHœ÷õÌ™»Íò®rl`ylšõf¯YÎp¬ë_ 5I·ÆïmîfMBKgA¬œ)´fvh%ƒ9â2º>ÊÜÊúxõ·žw[ZhJXµ°Ë„mÍĶDÚ߹юX$–F5V¬sù÷=¾´LÚGÐÏÕü•Áü¸¾«€=PŠÀrĶLØÖ÷›%±-‘f½±Í*+±È U±°LxĉgR.ó'›Ï»ØÆ–ƦYKW–þïÛçÝ6 ŠH·ŽñëÒfM˳ÜVæ=,å%r—~WޝQädÖ¯ã]ärB³ŠÀªE X&l«æÚiGœ3„G,Ë£j+Ösë=~§ ˤqÆ}ŽÚ kËÄ÷]l™ U™€¥¸c9lkûŒ“ØV‘fÍEZE`9"[‰V-wÀiG¬ñ8ËÊ¥Õñß}ô³,‘fUVa9϶¶ñ›úvD“fcW‚f‰åYn+„–ò+Lï•ûQ"äfîÏý]ä²S³ŠÀª X&lKó+m‰ÐÒ̉%+£-+Öóð=.C‘Z„3êãúwÍ8Ë»(Øò@«òKQÇrØÖ¾ü[[S4g>ëS*KáXr|pêI’H;^ÄóԸ̘\®Ã €$IùŒ” KÚ¾ï†bL(]c;š&±ä©m)Rå)Ž—Ø*á£DÈɄשׂ2K-®4«¬Zôe¶4¥Ò–­š,‘ ÄÉK õ\ÇW™a™´gÔûùïš?8pžŽí'´*°u,çmíÛØŸméÖ5vVjÖ$°‘­Ä«Ö=`‰´#Öhó@•óçzt­mÖë]¯lÃK¤Y•@XE`=3ï)Ë„Öó·¬P Ž'°¥ZÊS,‘Ö÷Ùï¿eþäÀdW+ûÈÅiV ¬"°¶çeÿÒ2¡5¶¿›%+ÉbÔ¶î§«ÂÞWÜÏ Ù>ràL,ïjeË,e¢Y3nZ•‰Xž–¶2qa©¯±ÜûXÚvfÔ¼ªž¯Èù®3r#šX!°jX&°ÆãÉNI€ÎsIºÖ&‰Äz÷ƒÞh…4ëÝÜ¥YE`U‘íQSuy&òÜx‡ðY°;VH,mj+Vm¬ËVm}Ë$ÖØg ÐNm ɤõ}®æ>ÜuV`”FÛ~s#hR­1G*Ð[ÚÇ^åli‚.]c›J@òÒ±$HãG ãÉJŽ>·ƒ)ë»Ë2°ï2cÏ@,ZJA,XÛ3 ÷BˤYߟ#šÄr€’ âxÑRH‹°Fæó\=ÍØ”L?7ðÐÀ*BKŒ•,ËÊÊ u?×ÃûÒú5ûúeENö~3ÓüÕWZEhU_a‰ÀÚ?û¸U‚eÒ¬kül YEb9"[!±4´– p<Í‘Ï÷Ýã ³flŒuŸ}AšVXZeB«ÎX"íˆs†óˆEby^Ú ‰5~âöe· ÚñÞ¨û~wøú_ËÌ¢ŸTÔÍrflUÔ°™´õ\Tú_йüI©DaU8‘°-~Fòrhëù‰ãEøw]cˤYߟ¶L`Õì†eBk¹ÇÏh‰ÄªéÉ€Nå*Nö\Y5Evdý?ÀÕjѹYE`Õb8,¶¥y•¶DhÕŒ‰T NÆYRH¬ñÏëæñBZ„3êëú÷]––‡å]ly åÌØRÔ±™´5v¿[[Eš5×?iåˆl1jYZeÒŽX£ñÜ¥í;_ÈÏ…^ßöªÑ€SŠ2G$Ò>JÊ6ɄһÑH“ŠXÒܶcEYŠ#ÂÈ*áŸw{0$|lI¡ŸÔŠs³ŠÀªepX&lK“*m‰ÐÒt‰%+C,+$Öø9û¾³­ãŒû|:ó][&>ïÒ`Ë-çÆ–âŽ…Ü¤­Q§âjmiÖ\þ¤U–#²Å¨eÕúg$v¼s}ÿ{ŒÏy¼ ƒm|`‰ÐRNc‰ÀÚGùñƒ–I³®ñ[êf‰å)n+–³eˤÅ8ó|Üo ÈüØÈ軵¥èfMBk®‡C*ÐZª™„–4ÛhÕ¥yKkÉCglxñmÇ3éñUŽw“°ÿµ¼,Ço`9/¶”KIKZeÎÖ’­¹NK$V"”Řei1v ‰båÝpƒJ)žÐR¢(VÑLê~½Ï Lóò.ò-­"´ê ,‘ÖVM´¥‰ÔŽ8§X“$–‡ÑV6ÖØååjm™´#*û»ö¿–›E?p&b%7¶œ [ÈMÚuîšeÒŽxþöK$Vb”ŨeiI8V¨ZÞeSŒÐ¨õ¹~F(–-å0–¬}?Æ$`™Ð:>cÿZ"±<Çm…ÐRvb‰´g¦·óÝ(Œ¹5E..ÏSš€N½"€$ÒZª¹ÄãÕìjÇ›³„¬yË#k+ckl€µÛS[&½_•‡í=»þ×2³è§ÊC$'ÆŽó` ™IKç>KÙ”H;ÞûŠ °H¬D(‹1ËÒ+‚X!<¢ÆçS… VWOðèØ€£ì¥qöãËÝq à<ˆìŽ>Ûð¬–ÇùcÀ¨ff×CµLîTL¨×1´D`ÕËX&lkNp‚v¼9+x¼"±<’¶BbMñÆSd¬Ö«Šz}ŸÌÿ×2³ÜËOb%3¶µ-dFVz!‹=•¥×?±Bد™Âçé]Å*§_Vh˜„¤œÒª¨ÙTåÖþ\rÎÖ–H·î±‘B³&åIiˤY•XÊÖ÷?µ*ŽïžÚ E®ÿÔK€e«^ÙÀ2‰µ|¯ë½Q´¶îs¼c["hk¾ÿASëF¼µ ™ðx£"ùèÃ7•Šìÿ©ÏЬ"´îçòѤpöÏ2ö̆dk¼Åú6Ëdg=ˆïøÑn¬ý?U#šåÌ Âõr½_–`–w±±åVåÖ RåNÕÊ€$Ò[zke´¦&åxl%BX£Hj“ ôø* Ûû­:da9ߵƞXEhU"€3¾éÝ[25ÞqûƒX&±<ö¶B`) –p<Í’ú ›òâš [&´”™XÉž­ñR¾·eBk×WX"±ôú;V­ ;’cgü´èiüsVÁQMÍ?v¨«“%Z:Çc‰Àòõ,ÒŽX×V±ÛZÇ4ßÙ–-'±|.±_•‡µ .©·à·šUyñ¸Z‚úJËñξÂJ<¶ŽÏ»Û,‘nãçwÍš–#²Å¨midcy¬[ïç¼|nÍ«ú‚Éåš špD"i¾E2AKëçßÕ*e¾4£#b)ÁI ‰4ßšÁøã`Ë»™¶½“‹/íšUÖ|mI€-)oiI„V%%R8ŽEŽœõ|os!™´èfÄçõn°ö¿–•ñÙr@ËY±U!GJRÒÒ¶Œ ¢ØR‘fÍ·D´ŠÀr<¶³­zKK¤±FâÜTÁäLÕ„ Hè(£‘D`[°1cc™4k·²Í*˳ßV-e+–H‹°2ÿQý“55êý\³ŠÀª÷†°LØ–æVÚ¡¥yK$VÆZV¬m|t¥eÒbœq§ê/ 7®™ ¸i97¶w,ä&míß±A:Û*Ò¬ùΈVXŽÈ£¶UoŽ`‰´#Öx£&)è8þù– F#ŽeÔŽ@œc}wŠcçù‹÷ܤ°ã¹-' Žs$Ç€qÍÜî÷»½8²= ±}öÖ®Y“Ъw†°DZ[5Жæ­š°4{by4meÄamÛû]CX"=ÆÊġ ȋ)8°œ[΄-ä&m=sž­-Zó…-‘X‰Q£¶U/Œ`™ðˆ¡¯ 3˜ì)¦àŠ%BK9Œ%K<– ­ç²¿žÍ‰åIn+„–²K¤Å83ý qfpî—S¨—u´ŠÐª—ˆ°DZ[5›Ð–æW;âœ'×m…ÐRb‰´ç|;–ªÂ`°¹zB-­Ò)§V{ã :›ÒŽœ:KâØñ¼–çZÆwv¢è3£š> ®Jý“ê •VKÁÆrølëyè8®ÖV‘fÍÕ=ZE`)KN­íAiÇ«AØŸíú?ö›»—>.°Dh)§±D`Ým÷vD“fã—ÌÍ*ËsÚV,eË’@‹°òþQE“5UjUµYE`Õj/,¶¥¹•¶DhiÖĉ•±–ëÚÞß Ã2i1θŸ³ªar§Šƒâ¦U–âŽe¶ž ØóÿÙ–­¹ÞKK$–#²«V}a™ðˆ5ÛWE!LöÔrÐxÀ¡¥Æ5¶EgB,“fãÛaÍ*K“Ü’å&’H‹pæy½U™ÿ¦’ÃXl§2>òßkíŠHk¥fÒ¼jǚ󃇫Ëcj+£ ëºÞ}`‰´#*û¿mþxÁäz—‘ƒ(ïGü»s`Å„­<ƒp­!‘v¬w¥³®H¬D'+Ö\ð„$ÀãidÕ„0ÙRÇÁ#K„–rKÖ(›ñŽŸ-“f]ã'ÍÍ*ËóÚV-å&–H‹qæù{©2„3¿¤šÃXf¦2>òßkÕŠHkeL!èó{”93x š+±4œ–<¾pîﻳ$‘ÞŸŠ}S-“3õfìQÞøwÇnŤµr͉ZCEhÝËXÄ¥%+ÑÉ 5½! ðxïˆ|Tb~\S±Á#E„–²††ŠÀ¥”Æ|eÒ¬{üv¹YEby&Û å¬Ø2i1ÎqXF=“»Ìç]”l#K#CkL6´ôÒž'("Íz>´€ãH,1ÚXû¿kéV‘ÞëÊÀªª&Gj58±Dh½@CKÿ÷±;Ü}R1iÇzßê´c‰•èd…ÀªiI ï}×4~PDFM8ÿ$a¾Ö%BK=e[ÕwXcÅ£µ%Ò¬åy¼iÒpî§ñQR ’ ­zKK¤÷½òp¨ê2ó9Ò` ‰ùœ?Y@K΋$ }$¶4g[*b)IÄ´|ú1ŽÀ=úªäƒÉž: Å–I³ª›°ŠÀ?ÇiË„Öówk¹›%ËÓßV-e&–Hëý;ðã‡_×ü™ƒ§Âò.PrÃòĦõÎZJ5¯áÔïF!éÖsû ­Ih)žX‰0Öòù¬ã›â±DÚ‡]5Wjpl!3±*‘œ8ëØ“§IEšuþ;~š*K§x¬XɃ,fæ?}_TòA`K•÷R‘fUOa5÷è†$@gþ"™’H¬D#+¤YÇ¿«K´ž¿!?¨UìA9ø¤>ƒ"¦T9hÖŒ˜Vå –GËVÆ/–:jÉ=Çñê7½cC‰Y¥Áàtu…úEoƒ8õ{Þ8v¶Ï:¾¡'ÀÎ2Š.ïGœ€8õ«à8qê÷ôq Øçm¼±ûÇowuºÈú.'òýÍ*Bký޽Ph‰Äz®¬ã[ȰBh)-±Db=ñ×x++–öeÒbœqŸ‡j6˜Ü)´ ¸i¡UqÃ57X€$§öW€dËñØ õÙÖñ-lX&-ŠzUÉdÆe5,g&–¢Ž•ÌÈzFvüVVÚÕ‰¯Ö/“X[!´w¬ä½ßæí®ªüƒÈ¨Û¦ÔÛüfMB«¾eK–ÞùÇ2µ|ž ëvÀ2éýªÞï*Ú`r¥´ƒ{«,÷Þ– ÛÚ?ÿŽÖT:ó{”D.‰P„»‹DˆÄÒ7b…üuÄ÷Vè­ ‹/ƒóÛ ” @ª/D2`KJŸ[J†#Ubì8sRJ9ŒVÒ“•çÒŽn´Øf¼ûUõœ€%u/¤J$ÅkÉ `KÇ»‡9Z*ФùVRHFR¢‹¤w¢– Úáj öMÕLÎÔX¨Q€T€Ž’IÖØÿ¹7„eBë÷S͉å™o+¤Y•+XEZ„•öE•L¶Tk¨—ÑÍ*k¾#‡$À–4«Ò’-͘X"±2вBb=QŸã« ±BZ„3êíTÝçá“j ŠšÖÿÛ:·,×u\ þ÷`ö²d[aÜÜùÿ¶H"3îú:ëÄŽ"R•mZ¨:Àª´#©é¹÷o©H·®ñä…f-ËùØJ†±ôñh,“6c­Æ³…Ç‘¬ÏóŸñ¶`[X"´TÓX"°®s¼¢eÒ¬ñ²³[Eby‡Û iVÕ V‘}­õK½LÞéØàuŒ%Ò¬ZGXE`]÷¹bµek<ÅeÆjË$V2’Ŭc=/GÆ}–£¯¼Ÿ?·«ûƒÉ® Ê–H³VÞ´ŠÐzþü¼›T 9óè@“ŠÄò·ËYÛ ùkÆ] L¾éÚP‡šUV¢€e±T›Œ%Òf\ÅÁ„ ÄIÖ’Bbmãu×¶Ã ió­¬÷[ýP÷lPÖ´\[Ê:*“±ž—AW³Dšµ>0§U–3²Å¬Ý½b}bI ÍWkñüøøêVçyá3Þ?ãê@*Мª(¤"°ÆÉŽO›Ï„Öûù³°Iâxw[ iVU VÆ®ªojaòIã†:¦Ð¬"°êø,Ž¥•±DhiÏĉåu–dçÉúÇ<#…´ WÖÛ¥¨Œ7(kZ®Œ-e •±u½F@´DÚŒëƒsÎX–3²Å¬ÝÀ¢>8eÒf¬ÕØ>jar¦qƒV–-U5–¬Ú⑚3u©H,ïp[!ͪjÁ*Ò2¬Ê¿ÔÂäÖ ud¡YE`ÕQ X&K»+c‰Àò¾±e+k-+$Ö6Þ—ù0Ç–ãÊû5ƒùÿVš\¯+k8.Œï•³”Eε_^pè¬Òáˆã<ä0Uß=ÖÇèv ˜W­Àë]m 5pPù­Xq=Š€•û»ÿ{q(ã´|S HñF–E•±"€Œf=÷ûVë—|O»†:«Ð¬IšUg(`iVíXÞPœqíΨíK«+ ko?oŒ^ä'ǪġÖ¨Û5¸°\[®„-Ô&cíãuMK„Ö:IAK$Vr”Ŭݸ¢ÎRÄ ÁŒ^¡]­L¾i×à²eBK5Œ%ë~z}h™4ëþwvi8Úá‘BšUµU¤e¸ê|]³•+¿Í·-qª…ÒtêÜ $‘6Rí$ ¥½Õæ[{„Ö®‰åuµ••Žõd}3ð±LÚŒªÃW­P·kP"¹0v\K¨LFZp(‘6ßnÝàÕ±#GÕ³#`ç3ÞyãЙ'é°ã}-'€NU$Næµj{žjþàj¿Ò°¡oÐ*B«ŽžÀic­íà ×~jó­}Áùj§ÄòZÚÊêÆÒÇH±LzTU‡ÚH 2nýà:ÄJel¹¶P™Œµ>4äX"ÍšŸ#4«H¬ä(‹Y» F*‰Âk}^³lÖgtÛÏŸõ‰$BKÄPEbéƒÅX!«>¤ÄX&±¼Ám…ÐRmb‰´çÇûq¨„Éæul– ,­Æ¹Ù¸b>ü– ÇZGF8–H¬z}$:ëX %Χ¬ßj$ʤ݄²¶…ÊØrÖ+•µ®ZEhՕǸŠÄrÚ’P9¾ ,…üÕ÷V# Gµ§ýƒò¡UÒªHa)öý· ¤tê#~H"°¼¿m™tk–†ÒªUËïž1}Ómb Í&Ö"H&°´k1”¬qBäØh™´±Æù‰>V‘ +V‡X!´æi$J8_%=î@«ðïVö*XB]l9ç •ºØÒ} – Ǫëc‰ÄJβX—Xu'€%ÂWÚŸK}$T‡-Í&´^‘¼‚°´^J+klDjˤu¼~¢ZŽÕŽW™Î÷3ž G©ÈŸ‘ÔDÂätã‡D.+$–#ÏP8Ò¸Ÿlm$‘6ÒX U¤E¥ØÇ…‡öçÕÀx;°ÇK–b·$À‘î÷Š=#‰´ùæÇÇm¾"±’¡¬ZëãcZ"ÍøR»Äà õu³ŠÀªÒa™´±ª‚ËUŽ¥êÄJe%#YÌ:ÖóGÙëj–H‹kå½jú`r»YƒÒ¦T$’²Ždi<û¼(™`ºõ!:§±äd,…@Z¡SÁt×ø¢Àƒvu}0ùºYö½¿ó5µ­XÏOó—Ç*Ò¬{Ü{(-@§’¢rÎŽÊ$Ö=»/|a…´¨VÖۭƨŒš58k[¬Œ[:(kŽåÊØ­3Æ[r±DšU;–ö âRÞ‰ µ‰5r¼›U¤G?—cýK.¬ÏvÍ· {µ ¡UkK$–od¶BbyÍl…´¸V¨›z5|Ò^Á‘B*BK‘Æ¡U·1X"ÍZ7ZEb%kY!ͪ•†U¤E¿n¯K­DF6}o NâÀ¡Uçb`‰ÐÒ=3i3ÖÞÅŒÚß±|›²eÒ¬sÑ*ÒâR%>Õ²Áàt«×AŽAWAŽÆÙ÷ùöIÆ sÌ?Šá°“ÌÊ €³N@À`^ë~òdS­LÞn¯°mÏK¨÷VH¬ç'g£6VXºÏÅ2áXÚKq9iÇeB«î`°DZô3ïíß\n÷ÚÑwíØ[%b±6²”w˵‰µ}g\¤[kƒÐÒ–A\•7âBmb=wÆ÷Ù¬EÚŒµÛýV«“#í\/[&´ÖªÑU÷Î(Bk]–´Dbé^+„–êK¤E_+ôR«“Ýí¶íy‰pß°Bb=?y—fm¬"´´sb‰ÐÒžˆ%‚¸^ç1~7 .ZÚ±DZô+ïëP«“Û휷­XΛc¡õÏzj–­Ïx&X³D—òN\&´F?ºn‰pÆZk¯v ß4Ypq, Pª5‹$@iýžátÚHóG*É\R@“ª.‘ üÓù\WÛÑ‚Úæ›|-=XʯY+RZ;­ZTXZæfÍÃÍZ–~ Æ2iVå K•àŒóTÖv~Õ´AàJŸ…:”Õ¤"°ê¨,Ž¥ 3–Çšç19T8:)„Öõ_§%Ò2\IojØ ðIç ©,çlË„cãÙ°m,Zë°-‘XÉGV­udˆ–HËqÝ ŽKMDF77½æž×Ö– ¬g]çóþ8V‘fÕV‘>ÖºV8V]OˆKy'.W‚VÝai3ªã‘yoVâù}°ëk ®„¬X©DÆ¡õ½ÿ}šT€NíH"ˆÊupT&Œ}ŸïŸ1vΨõýGn®Ïèë¶ß?ÕŠ%BK«K„VÝ=a‰´±Ö]ƒc‰å;ž­ZªN,‘?füžjß`r§ëBÝ8 €S7³8§rÆ@"´ª~Œ©H,ÿv°B«r†%Âë4^3¬o6˜é½Pg›UV©„e±ê.‹±DhÕuK$–ïy¶Bh]ï>VHËqåý¹ÕÉÁ•ØÓAyÓªJÀRÞ±\ ŽuŽgí·±Š4ë½ šU–3²•i­u´Šôçê3Îñ¸s=—Ç­/.ŒWlÏ•)$Ö³fó¹cJ„VÝ=a‰´±Öús¬"ˆËup\&Œ¾îŒˆ^„3VÚãë¶¼ƒŽnÛþSI!±’u†¡uŽgí7K¤Yµk`A\ÎÚq™0úÕ·œÑ‹pÆZ÷¥6^Ÿ-­!ª8ªZtjÅ i iÕýV‘>ߺ:9a]Á±|ϳeÒ­w+Õ⌵ãÝóúzƒÈéÖÛ|—ó +$Ö󓣿D«­Ú%°DÚXký9VÄõºÎ},­,“6c彩фÉÇÍ!’·¬XÉc¡u}-Z÷è Ô,Äå¼— £=¯'šeÂk=öÙõ‚ ôú§‡{¨6qT,:kÅàÔ©ß4q Ð©ß q ÄñÞ–“íOçl1§DÄó,W½/,rÌ76{f±Dh)îX"´j5a‰4kž@oV‘XþÍg+„–êK¤E¿öâ³Cªÿ„ÉÛ=#¶ù¡&$ƒ8ïñ5ˆsë#¡UW,ZªM,DõºŸ{y Ë„±×ÞGð"-ú•õv¨û„ÉíŽJÛ’AgÍ‘ŠÄúŒKoBk/š%‚¨”uÂ2aìïçönÁ‹0úZí­Þ&GúE¸6±R¿Xµf°DÚXëjáXEÚXë:àXEby‡Û ¡¥êÄJÿgÆ×hRöi3îóMM|?¤IЩï¨@i#UÖJuhó­ rªi,ßl™4«²†¥:´«³ÍÊðºÆûš­ QÖÿÇp ¤ØñÞ–@g~%N;É«œ8ë+ p0W]‘¯}µ‹øª_Ä6p}ãØy~l¼mã°ã{„œŒ£rxœ,´úÌßPŽÇ1×uŸ˜óLõO!ÿ^-ùÍ]"”l¬¤Ké¶±ª´öÙj™Ö"?ÖÝ•»GTé""€qŸÿŽílq/BKK0~~ü[åytŒï.µJÙ2iÖZ*ZE`Õuà è#Í ßFZ–¶|,“n­jÑZä¯Ç+§³Í8ú¦Ô‡9ú"P³¥¯&Å2¡UiGra8ߪçS_ù j]Ö±LšUYÃre8ãÌúݘßëðo\ö:4kÕ–²Žå:´±žíÍÆæoÿ¾¾BeZÊ%–³kÖú6 ­E~"š×äø³{µ”39Fcˆz·fžPß`™ÀÒƒÛX‹4kÝ+hécÝ} »GTõCD"-îu`ÜEú\+ãÑ.ån5íRîŸØBUl9cŽ¥ªÀZ³¤U–¼Ë„q)ïÄ•ÚÄz^;޳õ°DZ\k%Æ;ÙŸïksÞn¡âP*Ò¤»wÿçu Ñ(Bií}JE"iëG2iÒ¬H“ùcºÑæmãs(G×9<ào~,– ­úŠ,XÎ3iÖ¨”ñ¿øw]ÖQLšU Ã*ÒæZÛð¸ÇÃÒ6lÌÑoÎ_}®ÒÆ¡¥Ç߯¡¥Ëƒ3.ò3ÖÜøm¬IZ\õÔSÄU¤Yµña¡õÿù/¬endstream endobj 186 0 obj 52980 endobj 184 0 obj << /R7 187 0 R >> endobj 185 0 obj << /R8 188 0 R >> endobj 187 0 obj << /Type /ExtGState /OPM 1 >> endobj 188 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj 181 0 obj << /XObject << /Im7 183 0 R >> /ProcSet [ /PDF ] >> endobj 169 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F35 18 0 R /F29 47 0 R /F20 24 0 R /F27 18 0 R /F36 18 0 R /F7 70 0 R /F8 10 0 R >> /XObject << /Fm6 167 0 R /Fm7 168 0 R >> /ProcSet [ /PDF /Text ] >> endobj 191 0 obj << /Length 192 0 R /Filter /FlateDecode >> stream xÚµWÛrÛ6}×W𑚩Þ/ysÛãÖnS‰yjú@‘„IȘDýúîbAÇJIžqÇ3"ˆöröà€þ'O½¨(œ,(¼¢Èœº›¼+'onÂÜ ¯H§\›•eó—»ü0Í÷j±üí®œþ]þ:¹.'¾3 ¼¤ˆ8޽4üåŽdÎzØq¦"‚ñè>Hޏ3túæ&JŸgqè{!lžE‘—ବE+¤·¦å¾ŠÈK­»²a’÷›é,ŽrwU)ÖÀ0ö]ÑãTA~`Á/ðš¦.ïëvhì†Â­è±‘Œ5{;Õn`ƒÞvär-$æà ±Ç© ÜMÃÌZÍûé, wLÅ;V¢Iz¦ž†T_Ý¿¤º$Ê\)Í{¦èÍÖš@ŽX+>•–¢ß´{ZP‹¾gµÕ¢ÛMg¶èY? sW+ïHesp‹´ä«ÁìóÐ]áÔžÆ÷Õ +Î=|FîûAkASŸüÄŸ_/pýüЬUo½€ë*âv÷Ǟώ$ð÷2©¸Æ$÷HG‹h˜9Aæ…!ø¹!LX ÅtІrË YâÞ•Ë?îq˜~CîÇÎø¦+a'w÷ËÓM)·\‘ÓO~·6VmQ«xo¬12 ;ÉÀÖpÍö†æn×K>#núC2¬ÅpŒwî¤z{ŒjYá…–jmÚtr¬ýge}ø>O¨fÌÚ DûÛÁ¤G§ÄÂp`¢÷®¢¾+`˜èePä9ë„QÕ¶GÊ4ÕÅšžšºš=!`ê'ÛÊКµ“¡ê†9ÌÍÑ<©)ð¾ð w͈ïî4À„rmdXêî*©9Bƒ½ãF^„¶ ÿIÐÜË- ¨:¦âÝ®µ ‡ø(€>ü6àaO‡´wËù˜ßJ_ˆj»+¯ËKÔ;:ª²:. ^kù³­ ³nØX˜{ ˆk†\ôæ$4Õ‚,W–zj¯4ë,;ŸTE!ϳ³`……@cpe—^‡n†ž×Bcä+ÆKÂ*T%ÙÛ‹Žw½9 Ünÿ 8RÔø[Y5Ü‚DÉ=0½F’š‹ÚSozùz!gTîš¾VR÷w!»ñT,˜â$haƒê"²‚öFÁYlÞñƒTÓo©’Cb/Eg ¬tµ:|~K!piËÿeÍE•éõcwÿ?NdÕ+¼ià®RìÆÌ0[åŸpÿ÷œ>;š=D»{aÝÜå·¬Çãg*%l_+{;_ÃM˾òUkxú¦Võ͵Ž<øßR%´šÇ r}ÏA;õ™ªÃTM3_%küŸê?¯g(endstream endobj 192 0 obj 1136 endobj 190 0 obj << /Type /Page /Contents 191 0 R /Resources 189 0 R /MediaBox [0 0 611.998 791.997] /Parent 150 0 R >> endobj 189 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F27 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 195 0 obj << /Length 196 0 R /Filter /FlateDecode >> stream xÚ¥]oÛ6pϰŸ0}™ŒÕªø!QÂЇtMºlic$.0`݃"Ë1Y2DÙIþýîx”#'l’¢0`’ÇãñîxŸb£~l”&¡È²‘bY˜ejT¬ÞÍÞótÄX˜Åñh¶°˜³ù?ÁÅtœ²àðüâ¯“ÙøßÙŸG³ƒh4aaœÉ‘”2L9Š€^:jËÑ‹;¤€­LÀ¼'Ïbyž"Ñ7Ç"lN$B‡'B„1Âs~9žWt`Z&ÂÄ|÷ûÀã*¸ÑÝ’fë¼ít^á"Öz;æiÐtºv”¸1rFW³(…kA1BXz,Oã2˜-K  ’àó§‹ÏÓ)ÎE0×mYtM{ça ´Ä“§ÄþI 'Däó¹îtƒ+`£kp̂·ÉentA˜¸Ç“ © ­ç¥)Z Z‘Ê9Át=<€u[nu³16ÀÜe^ÓæÞ[Z]Õ;ÞP ä›ÉPʄԾ“pÂ3P^Ux9Î{EÀK ñŒ¦Yt¨å›1ðš·%A»eÞá ØvxuÓ©º,JcòVWw´³¶b6m—_V%á4-=ÌR†ñðmIËH_"&ݵ%#€ ¸×®VDn¾©JŽ'I¢‚ãqÊíŸ_Þæ«5rƒ Q DDè¢ÇÝêò-Œç]«oÝ•yוmm¯Òõëd*¦Y•´m-·ØT¹¥ÑeM{mºœl«¡w¸`3:¾h6õœ¦Ë²-­Lðþ X| ³Ï‚À¶Ù€{”† mYå¼ùc[ëM²|"I >8X]Öhèy¨Í8‘ÁǼv¬â©fA#0c¬kE¤G„Y‘¶ã8r]‘ xÑ6+š}:šž¼ÃS ó¦sQ.Óó„·ßÝ^+E(ËðT¬WAŒ¸ì¹÷k¹¼-âˆÃÌ>3îÍ ÞHògˆ.›ÖY®A¢ÐAA†/´AcÂ\p ™ /"˜VMg¾ExÈeP²TUc]ÌZò¢»råø#=Ì*ᵦqzz6»=5œ&aäô4½øpþþéÈÛ«2×µ!òfséL‰´ójm®Z=E»7KMj¥åÚ*ÀqMÇïV«^¦ åU›¯—>f'– 0º0uÜÎŽþžžŽ3Úì›xNø>ω^u`ÑU‡<ƒïä½Ö-¶„»ÅóekÓ ·®PØ€šPÀÁ‘Â3LL¾*=¿ÖE·±oÆÔ½õÁÃ-=0Kâ„6ö/ÆM½²·²4ÈÑ醸îvþk.é´Ã€X§W, ZbÜK,õ¢3Oéþ¡pºCžþp~òþ•Ÿ=P~f•ÕZƒÐB“XƒÍ«²ñ;+5ø8 |r:0ºêcÑØœ^beí †¡½Å)Ù›C0†rC¡sŠqÚ0sçá–é@úáĘˆ·>=»çƒêýÂДœSö5ALFcA÷v‹û(%v‚­Òp.Ø n:;ºhž†FXd4è•Öh`2×?îÙ‡z`Ãxçê©(ŒïCw!ïcŸ6” Ž0mNiF›6ž‡”F›>Œ ¢ z" vKmzÉúbÒþ‹â"šé92|ö´­ÂRí¸L\" L$§t™¸·øº¥*p¾):‚Ø´)Éhs—{eâr¯r¹WY%úÒvoª´¶$¶’¿vª K'>†eaœô"Ýx$fÚí¿õ€}Éc‡€ìzH(˜ ‡ò%Š# ]w(.DúH%aÅ÷¤˜‡TÊX:”­‡,T;g»ôPÀ´Ú#ûD[øÍ:`J–Ì}|x¯ µ(š:Æ'?5P“Óƒ~ ë¼ÀW¹ÇÐ_Y´a/a«ë œêÚžPÁõäH›~NÇò5$'¢·$t*wSס#Žvc®WŽv¿g}ÑVÏ) b¿ýS¡ïË ìÛm;6í—ØÅ#(eØ–ï°yÓjh¸kÚÕnt-jÿuA@Ï{Œ$ÏÎÇ©f營B:}¡WP1´øUÏAÃû¸x·ÚâI<Ô,¿8ÙÓv+¬I®Jü@ÕêIA¯Ó`½Æ¡Ã°ŸJB_ƒbÈ÷×ίì +Û+aìLq~™·‰n‡ãÆ”‹MÕÓûyw+‚endstream endobj 196 0 obj 1859 endobj 194 0 obj << /Type /Page /Contents 195 0 R /Resources 193 0 R /MediaBox [0 0 611.998 791.997] /Parent 150 0 R >> endobj 193 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F27 18 0 R /F35 18 0 R /F20 24 0 R /F23 7 0 R /F33 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 199 0 obj << /Length 200 0 R /Filter /FlateDecode >> stream xÚuX]“Ûº }Ïéoð£<ûZ–ä·&»›&½7mfwïô¡íW¢m6²äŠR’í¯/€j½¶3;³&ðT<[Ñ_<+óeºÙÌŠx³ÜlŠYuxóþñͯ’rÇËÍz={ÜŠäcýÏèá˼Œ£w÷¿}zœÿûñ¯oî߬f‹x¹Þd³,Ë–yžÍV¤¯œõv¶}ëYJ¬MJã >^_QŸlXélÄiº\³ñªn¾HЍ¶~¾Hã,Úv=’ÈðOù#ñËÈVî_«8«@4½Uv·ÅoÕŽã`×µo¡Èµà {çUÆx ž?šã4j\kM¯z›}êÍr¾È’Mô¸Wñ£©ædÃ×ù:‹ÌÎÊaØ=Ù2Ër9…lAÇM“œ6µǧÆU`ÖÝÁ@`™¶†Àw×4`?‰#,&S«SUÖ{÷Ô(gØ÷ݸÛCÍ´éeží[;,Å@¶Nm„§,É&Y}p»±—qÅ ‰×ynZü’U£zq(Sñ4‹Ê–,Òõ;Óºÿ]ˆ¤¯Òi‰U÷ÖÔ`NëïïÞÝ~¾Cfœ ‡r°Ã‰/œܘGµëm5tý3¦H–èúÉ1D<ˆ‘~ÁVæ%™Þ_ˆÃÃU×VäU×îÂŽä÷4¾’ß›j8³ÓŒÃŠ)àÊôÆÔ®ür<´K[bÝÊbË$–k£ÞHé⦩˜'óE'YtCÖP`°w‘hk:Ä&ÆAâšYô¥1­‡î³+¹HòeR"%>‘QI’Hú&Ií;¾mydk̇½‰ø5BÈ$.žpC1½ÝŽ –s”˜v ¬"‰g]ÈÞ2BÐm‡›ôÖÓU¬˜¿·½WÛZÕîÛ[¸F•”y——ÒWNåv$ëR‘‚âÉ·œpæS :p‚Gßx í¼^Èkbœ:ámXeå*ÑÐ`PD[û› f˜{ì;ºÂHø® ›¼½føpÆÄ‘lYi®ƒF ¦ \EKy&«=£_òyY·ƒ¾Í×”„Íh'ß8dû!Í¢‡î`±F0•~él^ÅM¼º\c”VѶ﯂ü:‹YYÒ¾c_1Ö'eìeª¤„Åxk›lÍ>¹áDÎèê¶S®9’s½3ƒ¨È‘OÄ ²ÝÕV%ëÚ±ÛLÁ®µr|J/ûËHt½Û9Oã5¡Êàpvõ=Ñ´^åg7„)¨;á,¬ÙÂD0s”¹<Ú™#l;ÿ 6ª¨UÞ^Ó…rDZ™ÌÈÄ•—æ?/Ň֞Hc¾»au/展ୂ[Ò$ú;¡_Ø<˜<Ù[4˜ôÖ!¥xÚØo !¥>_J'SD? ãævl+Ì) "(YœTNQ`ëŸ@ý?êY.O£§ÞY2|ýŒé!@å$ò0 nEz½kc¥þ'–ʤÑQlé¸b;1V樎,Að-Å„Hg9“ ™SÛÅEeÄp4‚Ôë›~§€Œ«ÍŒä¼yÔ[E¿›~'«)âÖÅtuÉ#é|¶=À/Ÿ¼=¥Ÿ¹ 6»æùZRNÑ*³—L§A³§ÔFƒÕØ ˆ” "Lð£6…=²Z`”êe‰‘U†FµÐ9èÌùª¤\V…‰Ój÷§jlgý{Õ¢b\Î#™¿W=Ï ñ|Áž_KÛi_ðKKÂø4Á¶´àtg¦Jî \· ùÞ6NQ˜øÔRa³º‰ä¤Å•s¡  .Ë„ÿUi¡r›¥È¦{5H"¾@Èú5„Ä¡&8¡O5 gúá´mÏ¥@±y—EejØs*'Ï~°6+W׿½·¥@+M|†—ŠJÍÀb¦jÜ0j‹¸Xçqô±ã5Œê·ðe'94iõfˆW^¢¤Dµ‡cƒÓ1dëµ(p»©x>g¼<èrœîL^(çNë¥U ަ,+:©"9?±Z¯N"´¦väW‡µPc2ß^êyMÌͨÕ<»³dÊ#i2ä$Øf0˜†ta’óUØyÐÄŸ,ظ¯À»g0™>H Ò½ì0 (¿K]Éô¥tyœ°7Wšð†Ó€km‘ÿI9yoåzvÒÆ?Ã`jÓ}·¦ŒBŸHT<ºhÝÔ'Ò8d7 ès”[M*’z,ˆ%¾^Y§0M,<®NLÙéîz- /Óóî¾Ä5dŽÁx¡Çøü5LD®Wâ¶Npœ¥Ðƒ¥Ó=– ½¤T£œkf{l úG ZÝžt’L¼ åÝq…Ñç§…¸y>{$¿Ä‡Xd½¾ÂÒüõK)^•Ë•ªWÍ©úÚvüóšå–&ƒ_^yhÅI²Ìóµ~r'[Ë— î=·ø­¨V)—r?ÒÐÁ’Lƒée%)Ãc·<ÁÞ²8)æÌ¡˜\h$Ô SŸµ¨» i︌ðIDƒð~MÅ_Zof g’76¸s¤6 F p?½» ïþä­§J[5åÖjlºcèÊ®””ÐyÑàÖM/·©ïŠ“IðSCw«CÏšPϺ^Å›2_п‚&1‘W}PÇÜ6¡"Å'…µâ‹®ÿz23Ê §eX·õda/}Wº¢×¦»V8§âr½ÃYþâþ,_Qé÷ *ðµÜ»f=¦ÊûKF{Û4!Ÿ´sò炟ä"ò†·ã/ ±OЉóŒqe8/Á0÷æáþV}–Åê³l%ÉKs Ù(R? ô`ˆ'é·êèµ`vRdÝ:«]bøÞ‰?xø0XÅÍAű_! 4ðÃXk¦(%¨üÛÍÃW@5¢FÅ‘‚DqãNŠ ±é¥Ðį?°*ØyÏžéŠUUc¼ZéLþGî"ÓÖ`áðJâQ(šÒÑ]¢Yä, ºîw}ëx1aë†=h¡ "yÓõ­mÄ)ËÂÞ$ú»{ÁÛq’Jl^óYÛîŸ_†/\òÝK—¥0ûòZ¢ÔS©“çõ È?a 9qoöMã;Ô‘Ëôf>²–ëÀ”Þ<©¯FïÑÿ¼–Óº%§áTœ>¯ö¯ MÇ—óª¯Cоåpí¨š±Fë³*¢ÏÚ—`öÑRëýC%ÿâ(»ŽÇðQ,[åѽ©]e¨sR‘w{^ú@Þ^ɩðâÁô¥Ìßâÿâkpmendstream endobj 200 0 obj 2394 endobj 198 0 obj << /Type /Page /Contents 199 0 R /Resources 197 0 R /MediaBox [0 0 611.998 791.997] /Parent 150 0 R >> endobj 197 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F27 18 0 R /F36 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 203 0 obj << /Length 204 0 R /Filter /FlateDecode >> stream xÚmPMO„0½ãŸ˜c›H¥´@{ôcº—4îÁx@`³ nü÷N[¸lL3óæÍ›×ááã R&´†Œk¦uå)¸3ÁÍc¬€s¦“ÌÁ1MõNòUœÜ¾æÛgC?ÌK°1A!g‰– ¥di*!B=C ‡€/;¤À–˜¯ò<ùG^DV• ÁKÁÞ®¡qFæ¾û¢kòFULæk,¤ EWyô©†_›*²o¿Ç¦¿b4”YBòi®êŽÆŠL£‰È¹éýLÙ{|h?ç©^„¦¥ùc·ÖÃØ"ɱýÁÇË‹€=‡dR¦ÎuÛ•G\Œ\”ÙÖcS;ÿqJövÎùÇbSz÷ÌïÑ’ÏK«Xñüú±õy>³õüYgoCendstream endobj 204 0 obj 286 endobj 202 0 obj << /Type /Page /Contents 203 0 R /Resources 201 0 R /MediaBox [0 0 611.998 791.997] /Parent 150 0 R >> endobj 201 0 obj << /Font << /F28 17 0 R /F15 6 0 R >> /ProcSet [ /PDF /Text ] >> endobj 207 0 obj << /Length 208 0 R /Filter /FlateDecode >> stream xÚXQsÛ¸~wÿ„ÞJÍX, ˜7Uöål'vFR›¹ÜÜMÁ2'"©¤Oþ|w± %:RÚñŒì.@àÛÅ· ³Il¢dgÙ$eY˜e館.þ¹¾øÇo\M 3!&ë'g¹Þü¬>M æËÕÝÍzú×úöâz}Mf,Y2I’$”2™D°žš=yº`þI ª,†~¿<'–. ßN', 9sÊY?yÇ¡À `¹ÔOÚèºÐ–fŒ–¡`ÎeÈ™ÿÉþšÎ•×át«4X¸Vóz£mj’æõ;2øÃ›­ò|]ÉD°jv/e½%½ÝçÆj²iM™×Ûn—‹À¾ÚVW–”ýÊ`ŸïvzGÓ‹¦šá¾'LÁ)¿$LÚé¾kaCðM8u°F´u1åið\—EŽÓ¹„Ãï§35¦EÒ,¹$Õ¿êòeÊUk”-Î{%yóDíÍnWÖMi9À°Z^õ3Íc^ç—´àÍ/e™R¡ÛêÌï•Ã^£ŒPåÕÜ/¸\«‚«îoÐK£$˜“Âv†¶õJcÜŽ“{±_å€äwìËÀh«sC÷+ÝÔ>6’#Os•…’g>|>™©ˆ‚ üÑÃÏ ضϚ7×××—Ø'¢‰%)„µð߸$0¸-‘J¼ë$¹.ßjK°‰(ú!bá@Œƒ{ýàþýÙ˜¯e–¥iHÝOÌxÚ¶,4-ñ;ÄË ä!gù‘wgáÁÜK>z‹kSÚ*¯–Q¤£úÖ«ï¼ùR—›ðÒ‚‡JöH_•fÀ¶€ L`ëuûì°ßX<5†:«=н§Ñ=M:u}™‚ƒòðð<à ¸sºÞ¸;ˆ†¶ì‡ïðõÍ€3pÜY(“#(y9(¹Ì<”<¶ô’÷Þâ½)+m½Ò!‰ÚÛ7Vô·/rœp@€Nú>ιTA«mKÖ{Ó<î€6Na«(”QÈ| GZ|„i’ƒ¶¶þ|±äÀ¾bÀ—(ÃUóÔ†§3 ÓH!NW_¼c?K‚fþ©3&Ç âÚ}H¿ <쑪d iøyªx#¼Öš,o›îѱ™vlba‘W~±¥oïʺÈ1`|ð(šG_— Àç¡4øâK‡/€‹~9uv&“0:Ÿ ¥W£ r7äx{œ`\ý¯ ÄB¥C‚Û)à 8]Úï¿Ýe2»|ë+€&̤¹ò8ñó!ñ»ª*>˔͡Y4¡< ϚгÏú…´yQècª51©ôòŸÎ$°–C;öPÆfA 1óZl†›«Ë-"@a DI§Ïܤÿ;J1ûhÀ»,|xº{ íÂÝÕáüTu)¨7Ä8ôþNÈô‡PÊWVdâ䜅©HÆPfGP&r€RAtg^w ÒÇ ©l÷—¿Ð4:fg’ º‰;J;Ú ds2gÃ6Ò¸O©«›9$ì$åTo¥q°*J]·ý`è¯Q$CÁÇaDHÊÛIÊømÞŽÞ1õ'ã1w"~œ¼%³ðÚ•ñ,ò0½?cÌEPO¶ºpúÜ´. A²\›”Q0#›œšßć%Føz9¿'! išòЦ)mC-$µ©¯»ö›¦*ë¼Æ¥ZR•}ºLJÏ%Ž ÞK‡9<|hiH‰/s#£é¥| †à'Ñ!ëÊ£G–zûÈRp8(;¨RgrmÿIQáävy‚à ¼·¾ÌÿD(÷Ìðñj ˆ´OÄý©›õZL±\¤®ÌçBù'FWo/©®\‡ §É¥˜Óp?“’3®à“³Óöe-¨?xõ­7ÿ='úÆ+àÊ[¸†5Ù8w¢Qg}ñÀö8Qãxx\*žÀHþ Äo‰¡Cƒá%ý>a;{JØX+ÂvOù&Œ} ‚Åý|Ʋ } “`áßdÚœð"í ¼§¬Ú?Îçu¾{µþ…-ßÊOòQQ–ú¢LŒ‹²£ôÿ€ ‡\"~(ýý‹»ÇÒ'X,$w¯>®(cä]…~zìÌÖP)— ç~l?ãçs[—ú›ýZbZ‚+4'¾fÈG0°´¤®4}‚ðBÅ@ ö\œ PôÎæ‡âû¿J@LˆóC™tˆ¨¨]¸\Z•¶5¯§²Oœ„ì˜XÅ» DQtx±°ÿ'Øâç£endstream endobj 208 0 obj 1990 endobj 206 0 obj << /Type /Page /Contents 207 0 R /Resources 205 0 R /MediaBox [0 0 611.998 791.997] /Parent 209 0 R >> endobj 205 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F27 18 0 R /F24 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 212 0 obj << /Length 213 0 R /Filter /FlateDecode >> stream xÚÅXKs£F¾ë’¿À`fð͹Jñ3’R•ªlXÂjy¨í®ÿ}º§4ØÈ&’”«ÌÐÓÓó}Ý==\Ã?ס͢ÈàndG7¶ùìb3ûtí Ãuí(ŒÍ³ÔÜì~7×sášç«õÍr3ÿcóól±™9†åÚAä¾ïÛaèØF•Ï3Wíá3˜ŠŒ[ón0`žyhôÓ5 µI‹2ö-Æìe yþø¸¸¿Zþv6·gæ/¿./op蛫Åõbµ¸¿\©Þ>–ë8¶² mÇ¥©ë¹ð̲š[æ¶,æ7¿Í=a&EšÛ'"ó;ŠRÊÒº!iZ¤ù3­iï÷0Õb—þh'Õº¼¤uÂLsÒ*«&.p/%¯OUyhÒ"QæŽ(ßæA`ÆUZj$”|Û§ÿŠO^JÓ»C†FwÌòžaÔ‹žMSwe•Ðä.iâ4Kv$O‹ç²Êã&À48&.Hï‰è‘Úsy(ÔŠ$Œé j”IÔ8 E Ø )*$à(ðWZá…æ>V~¬è½TOiä⎬ny"C×´ ½€ˆƒŽfu‹:_¥¿$ö@º¹a`{Nð*E˜k>¬îÎç‘onÖÈ)×ÁÓ•~&3륚ÏmÎ Ë l&|iæ§”„‘`*ý/׫«û5!=£G/«¦&ò1MV%Š¿[uQÜÑT½«Z±…øU˜„芔œS¾rÈ.)H››p{‹ ùgGN0Š ð6ã©h8tÔ-^¥¥“CÒBÒ‰=†‡…= 윰ãá“IØ‘‘:Ä»´ˆ…‹ ¡oëJ÷ï4î½|XöÝË!ÀÖ>‹·É³ku"Bu"øô7Ãi!^Øœ;ʳù¾Jêz(«UÖ«2Pž E0mFþõ¨Œîcד–ëØÃ{ý’ç äüö]ý‰(rÓ*‹xÒ›pôŽŠÆHL¡Åíí‰ýƒì ÌE–u7Çä0Ÿ.•:ìS(úgw,·©]‡¼Hl|¼=^Ô‡‡ï-<\ÑÁÉ–›7.rCÙÙÀ]‘~v\ÿ”N&>ýwªzIN$Å IÑu`N¡á:S¡1åŠ)å¦Ouñµ$/!E„Ù(øP™¢ŸhâÇÇDG~L¨’÷îbÜ.;äÅ@o¨§ûg'pš*.jÕG×)v} u§ËèÛû›Þ ;ÑU•¥ÅWéJµ€¾&þF5LDßf쇥å#LýÖæ4å×å=—Mçt!¹ZžI×ÝŽª±LéƒìM§œÆ_Ê"Îþ…ÖYÕ»€ÞíõÿŸ«áB«œL8TTܡȔ°‚ÖS¦>ëäugiÅÕŠ…«Gœh¿=åNz­é/oíêÅ&ÔŠÍt™{!ùs*ª|èæ@©ú`Žú ¹V ¹8ÞrøÒ9€s=îœm‘/CÝ—Ýre÷?à5·|ø^>£Ç[þ(•˜}æõøãDËÇ]2 bËßgŽÆß”-×|Š‹]kçØ¸½â‹ÊmZÈK´ A0ø’%ÝÅ‚?xýêï{endstream endobj 213 0 obj 1161 endobj 211 0 obj << /Type /Page /Contents 212 0 R /Resources 210 0 R /MediaBox [0 0 611.998 791.997] /Parent 209 0 R >> endobj 210 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F23 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 216 0 obj << /Length 217 0 R /Filter /FlateDecode >> stream xÚÅX[s›F~×Kÿ0·åÒ>ɶÒq"9;Óiú°Bk‡‹Pÿûž½ -’qM§ã-ìÙÃ÷ûÚRLø³”À3œ0T|+4ÂÐW’|rOÞ°ŲŒ!%~`’ñú/5ú¢–:]FŸncíïøãdOLE· ºŠëº†ç¹Š ú¥"ÊÃÄßpØ X·ê-Ô£Þq¨Rø¶#mê®å6 Ýq Dßä/\°£V#4]ÝÝ\GKM·}Oý•ÿ$e¡Ù¾ú]³•TMÍß6„.|u…‹5YÓ5RÊ*Ç _5‘9O‹-NèéoüeÝЇçŒÀ®Å¥L{Sr½Ú¤Ì·©k®ÚSë-®jBÑ+Ôp®áºC\•ØMw@MݔޣϜ¦nÃQ3d °D}Òt×t¨1è3F@á cз 5ß> ¦Ï5[ïÒ‡ÖR®i3îì·ÕR?ç9iª4ßž³´èã.´ŒB˜FÔóŽÍ RÔ[·N›ÒRÄû®5žßEj"ª?ÎjQØ|ÀÏu«YfP³;Ê(,~ŸÅ³ùB _­H³«ŠZè7僦c˜HœÄ=ši~µû”Y.|¶IÓtËóÕ§>®á#ç Ë:ò.f‘üÜFzï·À5ßò±ãü·èô"ÇËØÅ,¶ÍÀ0ôÊbþE*6Róݦ¤>›¨Ý΂‹¿â[²µ‘HžæQ$‰ Ì”øHɱàó5:j±-ÿ ¶u”°½4Ïþ¯ÒýB¢p@Ծ黧“PE§¡Ú{C½¾Æ›Ûi‡†ÜËСWA¨@uMRÚEÚ¶}t{ëoã|~¡çfbÐbÚ¸§ÁpVlv®8>h·ÜûôZÿwCÔ…endstream endobj 217 0 obj 1157 endobj 215 0 obj << /Type /Page /Contents 216 0 R /Resources 214 0 R /MediaBox [0 0 611.998 791.997] /Parent 209 0 R >> endobj 214 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F23 7 0 R /F36 18 0 R /F20 24 0 R >> /ProcSet [ /PDF /Text ] >> endobj 220 0 obj << /Length 221 0 R /Filter /FlateDecode >> stream xÚ½XQsâ6~è[^úüV˜%K–}3÷»KrôfÚ>£OÁÎØærw¿¾+Ë ‰ÛÉCli½Úýv÷Ûزá[ž‹ß·8ö‘ïs+\]ô¦oÞÏÂùŒYÓ‡Br:ÿ³5µ=ÜêŽ'×WÓößÓß/Ó Ûê`Ä|jQJ‘ëRË}ž• ëá—gP¶|ž+õ˜Ô;T*…³Úf‡bŽó¬Žã &×@òg%¨i'Ï)5}LïÚ‡ðÖ[ùÏm‰oy„y¦ÞÖOOílŠT åiÄ‹õ2(Þië)Hsd²EÑ!QÛ;É’›Áýàf¢Ž}«N[ˆÊŽüQ¨‡¥øÚ–ö,•DÊ·G1_/£x¡D²<]‡ù:-¿xHÒòÓ¤M¼Ösûˆ;«VB‘½è’’KÝawrmFWé·kú>bÔ/¿¼4i&ET•À;ƒ ¤è\€'êRà/S“õ¤d†F˜8uÏ îx4µØVyµ’ñXçb7Ði"7žËåäA}¨×"Nßä3?˜mðƒ`¹¤Â³gÆÓÃüTåX6¡F¸ƒ\ê…Úe…Ú&Œ¨ñ-ja²\¯bh¬š{4‡#Ûv­ûÙ¤ÂCöËpùaBÎ*·þ©I¶—EÁÌ+¢õZ@Ü,2áB€½±†KaÙ"ú*yKÄe¨‹²+É6%<å£>y”T Mˆ´~Sß}6¢L´›ó’²@™l`¦žŽE,Kú]Ïêåi2ïMIƒð¨x7MÖy‹†h·?Ü«›ìûj%$·ÆL™[ÕLZ6 •/ñ¼^^ÛŒé½S}~ôË6^Q¹?œŒ•ª‡"ûšj“}©ìþÌLW=3Ì«V(mâÎÓ2…´¼!Û®îO%¬ Þ€%± Õ‘Ùë-=-Eƃéð‹fh*`dˆw»Ð*(ù!˜eû\Tx2Ö –kQ9بqdÛÁÊâe^iše4•WÝÑ'}v2û£Â‘dQ%vLã­y,’XÕ3…QK¬€|¤@¦gx·!ë_¦½þ‡Z4¸6…²­e« :[·q³t¬€ÿŸc3CCùcsï¾f²ðpÇs4Ï+è`]Õù&6´¤†píÝ\¿¿íkY.‡¾x¾;5èðu²è‡Ð³ö¿€¬“Ç]~Ô'är eÂU‘|~`kªÙR´E^¶Å="…l'«u'˶P÷t¿u;ÄF˜b}¢ÖòçÕ°cÄÅ¡öÙÃòÕí{(h •d–CêgÆ$¢›$Ú«àlÓÔ ³ŒñÄu_ãá>ò8>˹îðn·ØÃdõd¸]cV»„n +Nâ"-Ç Š¦xIS|CSÇYÙuÃèÉO½GýdPW‡}D}÷²Ô†ËöÏ»mŽntd] Yn@Ö+õþ7d™‹|›I9 Ù_Í×Sîâ×A gó˜t|;ÖÛëad¡0ÍmuƒOv â0äÚä…š<ꌉ}æ=sǽÃ%¹ëÞ‘«§‰qäóW2EÌÃçÍzöO“Ëîæb˽øíÅÈ|_dP7°ÿ}O”Öj¨}_³¹Fö†;ó&ŸHAý¾lëu“ƒù<;hRoÃ'2‰&§úµ«õë*éšš> endobj 218 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F23 7 0 R /F20 24 0 R >> /ProcSet [ /PDF /Text ] >> endobj 224 0 obj << /Length 225 0 R /Filter /FlateDecode >> stream xÚ­—ß“›6ÇßýÒ·ÀLàø¥äÍ—ØIšøâ1x’iÓÎÈW¦< _®ýë+±ÂF.¹³;ŒglŒVâóÝ]­ÏpÅÇ3(v‚(2ˆ9QDŒÍnr›Lnæ>5<ω2’mk™d¿›ñÒ¢ž9]ÅŸ>&Öɯ“Y2q ÛsPa:‡†+Ö£FÍŒíÄSÏ1âº[ÞCËH.*žôíÐ#ލaƒä=aù j«ˆ+¨•¾%+Ë'æ˧æ×ز›oä1Ù¯Ó oä?d>äÒ•`SWrÆL·uµƒû)üìR^çO03/Áèm¼‚ÁmU‹qÈÜ' ± )Ô I øñîË:ó2•øuÍìP°!ù¢òÅd;GÉ_ͦï‰&»fiÖôTl˜ú—+éüO–÷–-¾«ö›ååÃ͇´þaù‘ÉŠBù¥¯ôŒ¶¥°ýÐñ ¹ˆu¹²¨o&€K:Ü}-¸D(¸ ų̸e¦-3î3Ó«™ñEÌïÖ‹e+\¢pÏó¨ÚdÑk=Ô˜ Sz_0×ÑŸ‡ ^ËÊ»G”Wû|ó î|w½°`Ç4Wš‹Šsák@U“š}Z7¬³§‘\¾Œ%¿'øµ´~ÏJV§¼K E±‡th¸Ýlê|ÏOÀpÕä˜?eUÚÿ0éŠÖ0åœÕ¥n;) ñbk¹óUʪsÎΘ†ŠMÚ/50thXƒÝ®8=aŸndVþe! 6R(du‰õ0¬^ª.¨'Uåeʵôƒï.rÓ³IgB¨J!ÂØ)­˜O׉9+ù'M¾Û¹Ü-l~¸¹í›^F~YÚCx0‘áy¥mØÒ¯ûłҤ;•€]8ÒîD_mQ·ô¯ïæWè~þI ¤sáÿ¡„;œe#&½Åh/Qz„YÊSphW@^”Az2Ûä;È ô6bnžèsD'B'áý¼“À¡t—EH®/û¨ùúNS^WQú;-Ç#¡á)Ïžoºƒ¯¼ìpÐeÔ¡>™ªáYL­(4“÷3‰Að‹J‘ë`q}…R±4"K½gzÐdïa#¨ÖDíŽREœØêØÑ†»¨´eZÌÛÏÏaÞp¢«ÒßC§Ï£+eäjt|)ú|6Õšµ5©T¡è= ¶cC<ýb,ŽÄ¦a;i%º¦ìT Æó÷|¶úPþ_ìË|=ãÅ­wĤù©kôÊ®x©Az¤!ZûÑ?œ¡a$mØuo bæß0,¼³e‡h±õeÛ·šûÀÒʵ·WЩ©àÛÒÿ”œc(î¥/ôo…ˆç#\³nsc½,¼½ë΋áªy³r4yŽY¾–ÿ ªòíendstream endobj 225 0 obj 1027 endobj 223 0 obj << /Type /Page /Contents 224 0 R /Resources 222 0 R /MediaBox [0 0 611.998 791.997] /Parent 209 0 R >> endobj 222 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F23 7 0 R /F36 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 228 0 obj << /Length 229 0 R /Filter /FlateDecode >> stream xÚÍXKoã6>è!—þeæò)’zð«E²vØJ°h·ÅQ\#²Èòn÷ßw(JŽ”re 1ÚE€x$ ‡ó}3œ!I< ÄSbZ{’h¤µô–›‹axñîgªiriž‡y£07«|ìs"Êë3†„yš?XÅš+,MF¿^öúŒJ¾;dëm¼7Oÿ¸K üU¼Ó¾¬ì‡ýs”îc+o¢,]/Ë!÷=°òÅÊ¿'Q²rœÙß(A.¯­7}ÊǪ•ϳÁü½™ë—IéûþpŸZ÷íTÙÎ:ÿœ‚ßËØjFVa¥O=ªüùWø¹46ÿŠÖÛ ¸¿klåð4Ú>ì6vŽÏfX”<àXPõš` ¡Q3Ýp:X,f0Vrfü$à^;© qé„T‘­ÈÌn‡êek·y>d$;®ŒÓI‹#—a ‰T*üä° œåÔ qF …ï X9ÃÐåËW‰Up'P R©N)4¸™¶gI ®É¹YzíÚ K?º,$òFšRšv¥iÑš'‚AÔ'ÓIœ"Jœ¨½“)0i$JJ„͉͢Ò-‰š à QÒ5E0Týß­»ïÝDéc, žñ$2u’r>ð8bÌ:¼ …€ÚvTrÓ }Séìwa-ñùdH~Cësï A!"I·2茆új4 ©DÞjŽZÎpP£GH§ì_AW´$ÆÛÊ8oáëhå€C¡¦IÞ’×Û•@ʦr@1ËWk§üÝgÿaoîﯹÂ0"DŸ°›i'Â(t»o©%¿•1p—°Žgºu`Œ#(ÄÍ ëRáÒI™¨,•3TÉ+wsG®>bV8„–ÖKmÍKCo-Ë(‰R°G\»ô¾ˆæLå';{Æèiî‡w“‘Ù©‹Ó;u‚(é:îÔ?”ñs „ŽUÛÊ•­7öv<á|2'›x™íRÔës&òìHãý>~°z‹ÊAnžŸƒ>ÛCûh17lO?prf®'À«N‰ÛSÔ±C<„z•i•n¨”âÄÞ¤Ú µ“"a(’uŠó“ˆa7èÎÝàäm€°¤§"­ÚGz’$ÏQ~š}zw•å¢öŸìÜÉtZW4BUg¤ã¤°±æçÌé1TÜÝ6JÌgžcƒ.Ò*qÉ"À]7€ƒ KÉÃx­Vv±ÖŠèõ`Ü*ˆ;í–¯wÃùì®1_)“gŒâ©QºŽî“¢ {oc“ø_5ʦ1¸Ù.ÔIÎ;10]ü6ßlk5?·Ûuf$å'…¦t¤öU®oWè0æºÍ—}oìÀý.9dëÝ J¦jEØ -‹°‘ÍCµƒ¯ž¹<ÿyû×€¶zÖ.¯§ã­É£âì:­cÌoÔ*f‰1ï®/M8gÅÛú#&Ü&pðµnc#9kÙmº_Ú@R­ 4ªuH#™@ÊæU$Õò$Æ5´ÞMÍП‘G ºÙZÙÆqt:Žæ†øÆ;K†endstream endobj 229 0 obj 1226 endobj 227 0 obj << /Type /Page /Contents 228 0 R /Resources 226 0 R /MediaBox [0 0 611.998 791.997] /Parent 209 0 R >> endobj 226 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F23 7 0 R /F36 18 0 R /F20 24 0 R /F31 41 0 R >> /ProcSet [ /PDF /Text ] >> endobj 232 0 obj << /Length 233 0 R /Filter /FlateDecode >> stream xÚ­VKÛ6¾ûÒ¿ # Ôª(>D݅[»»´@€¤Uæz‰èaHrƒüû Þ•²â†¦4Ãá|3ß|"øá@ðH$X†R&AYÏþÈg¿ý‹ãP2äÏÖ3ßDÙã\`ô{šý½ÉçÿæÍÖù, 8d’”ÒsDO žgØŸA ˜$õ9Nݬ®LÕTJï})¯ÌÓ|.­ ë endstream endobj 233 0 obj 924 endobj 231 0 obj << /Type /Page /Contents 232 0 R /Resources 230 0 R /MediaBox [0 0 611.998 791.997] /Parent 234 0 R >> endobj 230 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F23 7 0 R /F36 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 237 0 obj << /Length 238 0 R /Filter /FlateDecode >> stream xÚ­•MOÛ@†{ö¥ÿ ÚãZ­‡ýÞJ\5¨P¡FàC¥¶—‚‡DAØ@òï;Žmb¤äPåà‚BÑEô`R¤ÄÕ2ûReG': DHΉêfY]ÿ’—ó<¢,/.¿ŸVùŸê,›U™‚KVXkÁ{+ñ¢¸¯ÅM†ÃÖЫdè<âÑ1x;èщñ“—…ö‚A:B¥·‘çež¬¬f?çya‚“ç+z¢¼~XÔ=B›)IÔÄ…-â}øB¢Ä{~‘ë |&¶öòjµ¼{hëf¸@M§‡_>qd q8æ¬vC@½¾ãN£¼ßÊ)cÁ9=„´½î’Cy²ÒîPÈ "X7 zdTSÖõ”ÈuO®[°äÎ!®Ï¿N\·{\' V¿íºEû¶ëQ§!à›dÒq¿å£ü²ÝòÕÃg±¯Zîhù'ºÊ¡|º­ïkNu¼rÿ/³5‹ðîEF4ƒH>o™¶ U`Fè;¾$ˆaÿ èÃáí¯T$>»x¼æ[lç3ä…MN–‹fÕ7B³Z<æ:Jê_úd{»­•(Œ¡ú˜HCB³a}ßûÝr…¯0ƒ~p›MÓÖKFT •Æ;7ÃÎ4‚\ }jh‚èlîgN±é#Òdî‚öî¤rÃWÂùq~>r„àÇ–þË,‰Ó-Òý§ü*â‚Pendstream endobj 238 0 obj 529 endobj 236 0 obj << /Type /Page /Contents 237 0 R /Resources 235 0 R /MediaBox [0 0 611.998 791.997] /Parent 234 0 R >> endobj 235 0 obj << /Font << /F28 17 0 R /F15 6 0 R /F36 18 0 R /F23 7 0 R /F20 24 0 R /F33 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 106 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 239 0 R /BaseFont 245 0 R /FontDescriptor 246 0 R >> endobj 239 0 obj [ 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 515 ] endobj 240 0 obj << /Length 241 0 R /Length1 242 0 R /Length2 243 0 R /Length3 244 0 R >> stream %!PS-AdobeFont-1.1: CMTT12 1.0 %%CreationDate: 1991 Aug 20 16:45:46 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTT12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def end readonly def /FontName /SYGMNB+CMTT12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 37 /percent put dup 40 /parenleft put dup 41 /parenright put dup 42 /asterisk put dup 43 /plus put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 60 /less put dup 61 /equal put dup 62 /greater put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 72 /H put dup 73 /I put dup 74 /J put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 87 /W put dup 88 /X put dup 89 /Y put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put readonly def /FontBBox{-1 -234 524 695}readonly def /UniqueID 5000833 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ_dÍV`þÿ¼ œH ÍÈ[üfðI“Ýsð¾ ±?S±ºyþ_aŠOg+Àkã%;ËY›ú`AûÕXGSpÖ“©Y%š&™ºn—Ï@C[ŽŠKBcCáEßå(Ôà”µ7ã@$æÍàêšøŠ2` 5Õ±ÛSX/ «zÞ)Ϻ ’Õ©Frßùsó›ýWáaå-¡´3È"aäy™}ö“]*z•÷¢]³Â¶ª2k˜,2ƲXg‡׳Ž1£ÞVŒ71§yê¯ ¬\æÅ¡)Ä~Vˆ+€hß7É|v”ñ1jù>3ÿ~ /%'5Î Ÿ{Îkî–z¾ òMË¿™‡Gí%+g@|³–xÌ…Ýü/EÅRº–~AX^ÑoìÄã*ÄÓ³ë€FÜÝ7É/ßñóq ¸ï\£X«¬£<~ZÊÖ¿]Å‹ßÃÏ º*8)E¤Á_ñ‘oâìGýÈ ëœaõÓU¾ßÉÛX…Gv:Åð±ÌÒÿ³.Ó~2ÚœãlT3eU&¬û:0Vú°ð{]‹GhsHÞ¹o?œSÎVÝÓ¹=9Í’¯Sû”a†M¸8‘ pÅHsÄ,Þoˆm±ΠK>»CàРkç%t¹Ûh‡1¦Ëehù‰@DŸ¹/·ø!0eÑΨ‡È4¼êtþÞÎ`Ý] ËP´´¾(þóhËúk¾Ðñ«Åê4øâ>r\«÷>+áŽÂr¯þå¸Y]Q:ØüN"F5H«Fxñš&Ù¾÷Öë’u©õ¹b9‚ž¤Tc_RHb㤕 ùïÕR»ÿˬãÿ§¹ì ™œz¿4¬‘&ô‚ÛäÐ)o¨H•fÜ ¬]C¿cuFÚÕ,P=Âp9Qgòùt• ýõ}Ì$¢™$Dëž0CÙÌ•ªâ>öm¢ºpÇ®8àA<ÀÂhU–OÍ#ˆbˆšW'=Îøzòvœh0Ê"cX!éRŸÛ"zŽv¼Iðç7$Ñμ‡1ÃS¡=QqQm¸T(f5*~c‚t¬ª J;îE‰E¦óªö3‚%•BBfäÚàò!Aû‘ëÉ4o¢·Bv Ãïl„¢{§à%ÃØÑV©ŽóòšÏ#´’Ä~ˆ:I,|ü˜Ú P†úüÕ áM_\^93K›;ÛiµyçŽÁê·ö` ¶[Î s¬¬ÖŒÐÜ©´¼gÜêtx1îôì^Zsõátçá0vÔ;p,ÿØÐs*hâøð5võ]D½yøÐl/úX@Ôu!h­šhjß±%9J'T‘É.>σ•Xo®™‡¨ƒGÑ®|6³;ü\ߎ+Ïñ³¦Ô¶iÇ–$R1DÀè}ŠIÛéâDy¦m•4"/>X›@öäò(C/W–#©z(2C†œÃÁÎØÕ‘?àeÎRÄHó´çŸÇÉH–Á0RO^¦qK=_,°5бËD}8¢žÜ]C6ó$ eœ‰À)6»3ïИqú_„ôϰ1àe ø¬mìH¤ö=d”éÝ%ßÌys>¡>X,†ˆ¹_;»Œe…b=’±‚ÞÊN{Ø×u;¦¥6òƒw+fíç¸H;Óú-BüV÷WªAjP nS~ùr¦¬µˆ€ÑJ~\g8Ïä"&!«|v¬û­¢ DÁRa¶†PuŸ=~ª-·<+ a ”ÁZM´þ'^¾åZ¨Ìü@ÍØÆÍZ™¼Ô~¦¯™ôÐø'•áß']p¯ÀÜ.,×Hý-ÕF1³¨L¼WÛ{ïI3µ¼¢vÊ b–äú¨µþ'¬¨ÛëEJ»—<âðÖŽú {$_:>&pP¸¥ˆN³–ÿç9»&ÌkZæHH±vÒ&º³¹F㺈þ¬ñK©‘zoáFj ¤êUæˆuº[a9l¬Û1u·Ã_íêÒwô|£¹"ì9ºÕEÖ•eÞE(³ûzµ¿Ôá ƒ¡¹ìÌöxéK §Ê|ù{ƒÕMWÄÜ®é/ …ù…(ÎOU¯ Œ©ñf”+2&­ýOYD|™¼Ê@gg焃Dž0t ¹v¯"L«1¨ ú<ß>&¤sù˜>ËIcÑŠ#žúE:£»]eÔè„ùùRO0   A…ô¢Ej‡}òn8&˜%ß¶Jõ„DéËÑ´$pMõXnº5 à ËW×ö¦ ±cäv“¡Ï•X D0DKß r€ZF²]43ßq‹4¢cšÀóÖKSuœF¡lUŒÕ›lÝHj\X1—þAâ--wF¦ÿ`r©;ÒFi{;Â6Ä ÀÛ7›h™:¢cAª/ý_þ¬Û?$¶ÚQÿ²ïjÆ_Rš& A¦:¤×?TQáº30n |v~ˆÚ#i.Ý‘žì«ëÁTähÞÖa(ô"vÀ:ƒ¹¿ªŒYXN‰¢÷¨vÀ–ÚþF›ü&‹Þ·´vð> Ì@oo§´T4 çË:k‘&{?Él8Pâ¶3Lk§·)9uç·’wé¹¼ÙˆÅ"…¥}Íönßež/‡Ÿæ/Ñe/¦FÛÌ °ˆ¡‡·¤–û­SÉBìSeör5eþ%» µz'€F«¿^Û:lÂr†g€ßA„×ù#0rwŸÝ$R¶¾†4pôο YíâOCE`Óóa êùD6¶\v !ެóÖ>{N¤j‡g[ìÁÕ‘OMQm!¾`kÒhðü9%üIã ŽGöãtÌ¿âæJÜ­2 ^¬ÕöS¤¨[á ÏÖͽ,v„ÑÙÔÞæTAËŠ$ÙÅ“çÌô'ÞuŒf–ŒÉ`Àˆ¡>Æ ñòÖ¡¾¶–ÁªesT¹Ò†S¼£†%6›«ðá8vï.f #ÔÞbtÇ@ŽV› šÍ9´‡E|k˜kîZÞ‰ øå݋ΰ,â·„½º¡&vÕ×#­Å„ Ÿ1TË4V·èDP²ÛÒs,lޏ³ÃìNGH÷ùr~&¾™ƒÌðãR¯E­Ì·Öy¬ë»cÝz »¥¡ hÐ{£wú܈ëuê¥7†µ¾xÔ±|3óáó3®zUÓ8ìW(µ˜.Eè‚vL{!ᮑ°euç*#¡€UL ÃëPÙ˜©Ãq¶|žžµŸŸ]gT Ž9çmèm0Ø [y¬¨M9ƳπlvÖ®a0Êm4èßð«í™%II±W|;ò¶PÚÕ½T‡›ÕÕO}‹„˜Û¥–>Nb¦ñ!4¿›¨­m9é|T|H ÿÖ¹4AiùOo—?#Twi{×ÂÐ"ÚbÊiP•.Ôæ‰Ë‰üŸÄ‰¥º:Ú:ûÚ%ÿyî7@X­¶qôt#Íõ+#‹C³âhö&×ãÓ]uî÷Ê%C¾Gú?ÃOŸÆh¶p§=G‚…ÂöÀzÿT]ןœ‡[@ 3Yº¦%ôŒ’ÚΠYý¸l}ÆiÇ2Œbt _Êba§çì¥Æ ¬;V›cKhl‚¤Ø8ón,ê;¹³Ùw*rÏ»~IД®šÚ‘pmnÌq®#Š ÃfdÚL—d=Ÿ ÀY…~|6 AöCŒj´×²â­§°Wêá8u¦ýWÛÕ¨•iÎ1íÊä?Reg!Üך¾íáŠì¢ÉPº@,ÊMòã¨öÉ^ͲcŒÊE0N9I’'\€Uæ’\³Û»æ’_1Ë *t|$P•Æÿ sóL&¶. `•Ú7ÃJ[ŽÒ~%Ÿ¼ÈÞ9À7/+,Ÿ­´D·Îq%¼-ËËÇXOÝóö‰—¬kÉ‘´« 4gÍ5ëÄvE^ɘˆä4º²–ÊD_VÿDMä=®7êà7‰ Z·søÒŽvÎCaP>/­:R5C”¿;­}Ç£À8k®o (“°ðhüú°‘Òú³ÌÄpEøuíùº3Mgë²Z›±q>~hwØ)êÿØÀLÎ^4¯p´«9T¡’ ŽZ æiç‹ß^ùÖY–~¥dÙE°Ü‹£ßöÊLÜuÙc+þ9šá$•¤¼T—aWTOšºº@|w—ÒMÇ­hOeËTªDNŒPŸ,¿RÿU}ç¶ g[ýä§ñ¡RBK·k±EÜìQДÂf‘±âØÔKaŒ<ò_ïq1¥3v¡k^½¥9ÉM•àÊì¯Y©¢ÏD‹·|:VØ_hÕ\"²ìé왈j‹=|¦#†¡”OsÕÙÐ] ©uÖz±¼% œÈ~¹š\’Â?™):ד·þêà°ûøµºÖ­«ç7Ÿæ»¢®)}º”æ%.¢ùíXØ“{ÙATÌ#xMšmqD'Vn̕ݥå™ïŠÚmar>|>®¡`)ÜJH<ß”ôœ»Þ–"vÓ,3¤ cQƒd\¥¬}ëÈ©aÞYõ!"éÞ”l‚·‹Êø…4n\ö³#BSn]Fû»9ߊÂx›¹—¥$ð6!dž›";?M{•HòâþDÙb@Úa뮃„$×/>óOA|šii“ïÍAþ’˜¯ m¦ ´!cØâÙç,OPzz)Å(2µÊ„Cà:ðj½ó:úU*; €ÊUÇaP¤sBHî.í'R]ðJX®¬¡ÝåX Sù³ëeýOk—²áíc•åd’Í$ÜŸžøô]1§Ek&©w]Z>rGËIÚÈh¶C$ËëM ªþËZ¡€¤8®°Öó¹Íy½ØÃg !¾õÚ€ô¥õ Ò¢Ž¨>µÃ“Õ|ª}n8‡Û.Ç„v«§@ZÄ£¿ØÄŸÞSÐŒ‰…la>¼YÚÍNü›a{žÖ¤*dWÅ"'6•"Iü{b󎺜S¾Ñ$ ˜T^êzŽ1o:sŠòR/a ×NÝ{ú9í!‚®¨¾ùO©Ž3R+¸4_SµüBɇ~¾}¼b´Tˆ}ÿ\.úɉ9ãÛ¡[G[0ý+·Á¿¼Õ–½_m†}³¤¨ó-æè›U˜Æè<„YIÿ·+Q|è6¡Õ³ø b.÷Ñà åEþâd„M8}m˜à>ÁøàR¶Wà4$=°±–ϦðnÛfGT;þ–jÁM̃´B®’_VÆ7z{»¤Ë÷sžNíôÚn€ÀŽ…9èÑî™ý@À½IçD(s46Ãòüc>øƒ…B c"]frB=¾hU„Ö+hï4épáˆRf§lM±YCEKÒÑN' åx'G^§a¯ƒW¿ÕvT;¾h ý¬îœQ—ƒûBú¬oJúý£Ç®´xÓ²‹-Œ4ƒáUb4Í1øß„) 2 áAÒ”„ÊS·k_ÃmYñÖq*ÉlC¸ÜÒÑ+øë_xl)A_v|>šR5»ûsnzkinôïžÏè§Îy&L89Ϊv#6À…µÈA!±.wÓƒ£@.™=¶àÆVNóÌNe@ŽR–,Éëº<]´-(ÉúÒÜÃá—ØüÉGÞ…NŽŸÿÓtãÆâïüHޏ”.Ï9]`61ÜŒWzÁ¤6ŸqZ„m–õE‰—}¢—‘NXø0·¢uÄ׌pjÓ¸˜†©¥a:Î}Äl Þ/\˜â—R3¾LW"ô»ëÞ˜72“LwW&A@Zžr}…÷¦oüvWF &‹1ƒ¶òº+"ð¬_º«ÇÙ¹kÛá£/Gþ^½ÜC kv%Ÿ6iÃR’,“>†ÿ|™ä¥ ´…¯2å˜'¥ó Ðùù 0€>6*ÁœyÅP·Ž: Ý7Xê}Pœ‹ŽÍ6 ¿¤¥Ô6#'ÀÁјÖiû¯uuË€¦Í9Äæe¯!ü®JºDº}4xä!Ôº»x¼$S ”œjLM Ü› „ WQ*—¾1‘Ú1Ä!Ïω\= ‹ßâ×…gw­®ºÝ=¼MíŽRà]“öá÷—æüŠÙ=¿åÊ(Ë„íÖµSPg†r(É7+n;5÷\ÉLψt”K‰»0äûv)j»[–u-¿ ’ÏÈìôôj½7’¼"T]2EÅ!#9‹F3S:ÕÏa”óZ´äõú5B¡Ùj»§Ñ,”F6/xþõÇüz^1õ~Ð¥–|¤²t# 8e;¢ 9 Ò«Ð8YÓœº›{ôq|:ê>#s†e<“8JBöˆk}>ÿVäígÌ9\£.k•ÄÏEˆ8EŽUyçQ-eKâ\:ð€Dçt®3åKEÏãHæ{…ÊÿÊK,·w›k¿³Šðþ5ögãˆý)æœ$„7è€f›´É2àôÑí{ :ü̆ÕÍ(ú*ÅÀœrN_­ê¦àoAçÕ]5ã0•·ý}¯}§;fÓ¸‡9­Sîre¼Rlk~+v¨Ì±ÌA$w›ÅA×aNêQ¹ÞÍÝœcFÿ1sà(,fÂÀ4¢Ò¡1$W_à‰´Q4R0pªYn >»è¶%oìçH"H&S7ÁÄÝÙo(Æ¢ÕCÕ@Üš¨–„µ+ºÒÉð¼^§ÞîKp#Lo8«®Q·ÜG¸¼–Òý©0]hˆ^U?þëŽéSÙ#ßÈ7~d~} «]‰®¬ã¥éB*¿P¶¡{èéúÅI.W¥{u.À³ˆ,p:OŸš…gð(Hý¦*ÆønÒÐÕX)°Õ.•b|û¼i>öÙZ®Zèp®‚±Ý˜;(—?ãèYìC5r[ñ„˜Ú7¢f,·œ0º 0!œUuª$ÌS‘ð?éa#óÏ/uü2ÇЖã˜ÏåŠã¾ûp\ˆ=ëãá¡é@—æpú€`pÚ%iÇ­ \ø±¾ò¿¡‹Ù”ÕE–4ÖÏk'cÜ‘ØñIzK®fqû‡ÝéïKBõ[Äû°ÐTýR‘CÀ)ûZ+fHA 4ÆíAó!œ"X>9j2ƒR(Š2k`ãh¿Üµdú6QòYÃ,ØŸƒ}›¹~â©s`†•4n> cxÉ%âiwÄ–ÚcºÌGQþã o¶Ê¦v¨êD_ST’x Vb}…·í™*‡Í!–èyÑ-õd.¯nS^­'ÿóÛEµ‘N5UXŒ<¡0<Û’¨Ð¡:—žøpAm¯e”yCó™6ˆ .sx/ÀÕg­:‰ï)žÎ9Eý0µìžiÁdPèñ²âý«ïêÈÝûû–8ë<’Î4~Åïvá »þhoìV=Ì_Á1×…•\ „¢±†íw‰·)·O œk'Ã+l%˜83 Þ S-)Rã9{òÁ¨KI¥†7Öû :Oé_JJ£Úz m±ZÃlÊ”î¦pïÒ––ï“|Ã]ÇÞGùÀ7DT„|8V×Ù×ýîmwýf6+›Ô«çLû‡÷®VëÉ"ÁÞÎcÇŸÃk(IDØXÀ;ïk´†¡n ¡-…²ädJíŽà¼*œi' É…='ÖÛ¥£†SŽ‘à>¶zÓòÆSŽ2¦ ¶ÒÝR:ôÚ–É>? .4 `…\—ÌÌx=šaÜþ¼MvQ(J²_ƒî1׿ÒÄNgÍe¯½Ç-ÒD9áKŒ)å•t½dT„’ˆò+‡‹¨¼ö–!¥b×þ“7&‚6üˆÔXDòe°Òjá 6ä­l…Ðê,¸c… ©»˜dÅ‹µO „®}K/~#v_²rs-£'. ¡™ö¡?žx)U]1&ûéô¡˜ºpœ´Â«Ïâk¢X-ü“ƒHðöAKÃÀÆÔP2M–){®&ù¦&!.=ªWê¾à˜¦»“„àÝÁZ÷­K£¡R¢“ïhº,IŽíR‹¢Ä:”×Åä+ÙÂ'õYAÈíRŠ÷YÆõª]’¡†eÍÖ³bö±±¬ib2 Äu%S(]+¶Ÿ0ïxX÷•`*iq£Ö$äñâd¹VÛ€gü)LŽHäž’Œ·µÉviÙþ¼NsŒ¨G»,‰®¤Ëè²7FVӹ܇é×Á $OËÂU{H"Ñ”‡“²I4:Á}Ùš—Ôë_ýÍ“Éf—ŽË¢—SÞqù6|¿ CÛQt∽*ì¬ Ááú ŽÇ冚tß9ûî¾øxQ›³Í~2\u]Í þ§ú¥½FÆD5HðÜãË6Lu}û$m5 õ¡}éÀ¦ˆÔ®©ê£]]òWo6sID[5ìCì•å-Ey™ϲª#¡—Ľ&\’ÇËŒûdVTåäSvô{&)•‰?¼Á˜l¾Êòdg’\²úçhÕ•DÿÁdRÃ,­@ ]çGm)–3äî sBVh|bn,Ÿ8²_Õœ=ÀUÿˆÛŒß#.ÁæðIø·–wÄgyVsÞ(…Ž]æ‹W?IsÓ]P÷¶EoVòK½jß_ÕÔ "ÔÇýJ3ÛàÃ}TÃö—=ö¯§?÷îÓ¸Ž_¬ë£ßnðìþïsC£Ìu´]ˆ‡:ë=¬Íjqȇü€Â¡é@ÿu}-VÔŒvÈJûÅÒu6÷Q‚ÔPìÎýMÅhNc _‰u¹›Ì4´ D,©ÉÀý‰vó°|\úYmêj¨¼†û‘äÉòE_ï´ˆ?û¾˜ÎâC°ýCà%DeÌ_$qt÷–„À+ut&’‚V5¸á?áyèI«o¨nìO]b‚Ì•ã†{õ(“5ºƒP¹[ö÷”ÛóÀŸyAuA Л9&ò‚Bn(çèMé"j+R_D˃K¶.¤ü–µmü²d J°`Nòm?øv¹ø™–9àp¤$žˆÓ|¶¦Ip#}±¹â4D-íQ»]ì«DÁÌ÷Ä–R«¹—mû/’VkÒìĦúK2&÷€J2<©Oy<—XâÎG™²šÁ<­Š:3ɼû§c³¡Òd܇Î~Qÿ5ÛëïÉÊJý4›ØÛ¤x—4¬èi¢Í>Di^ë©hpÅ®ºAß™çT¯‡ªe}èÿ~B†å¤¦Hòdié;©ÑZø·œ³MUèAx̤â€VB‘J ››ƒ\JLÍ+›*•lêá´1£ô0Õ‘°¯àƒ€¼![¸èÕúÃB^åk:H²b÷—ÎÂ%åˆôKAX‚Ætºº-qÙiÀíÜþ¬ƒå¼Lo‚JGû£àmõ?BÞi§§›Qÿ÷†Á„j‹†üå©}-ºœ‘×îH΢ÜçƒÖ„B{ W %V¦$š ùäp®Ž9Î×~QÄ5dS­dÿ) 5«%è“mÒÁ2‰¯Qä..9vw·êùDÙoÃêð2©[í4v Gq”£'#@©î¯)LEx4k½¦¹}Þа9u^pÀu`S–¶‰®¾$^ø´Œ³¼8:íR<ö(Ûó9l@Å^¼‰Â¡—Çù<…öØF[µ"5½”ÂôÚýƒï÷\áþûVÔàáH•ÓŪeÑ»ò'>wÄ,³ˆó}é™òkV­ÓààÜ÷¯ïH<#øå# yëåõÐÇ• ‘¶& Ãd<Ô»¦r 6-&WäBº-_jú®ç‚±Sììørç.\Ø6ßhx[X·V½¨}¦*™ÃÃh(¸N^ÎY–°eŠE$ºß*²É\w¶#ÆB°5EóB :)‡ à—­p\ìßž?|@KÆš4ÅŠbèº •@ï`ÿ‘,â{â—R‚&æƒö¹*ñÎhÎ^`µ»èÁpoõ·ÍYðuš:s€3·Ê¨]XÓF9 ÿƒl› y+Aâ‚Ý5à wð# ÚDëãæLµå!{ñ¿J ¯-ï€sDÅãS» ^/°E+-îIz\oØPíwi)™Ešçm@âBó¼o©´¿™ŽUûT=¦l뀻ȫ§ÿ†vèž#ÌBæávy7º«’4 Tñ±‡ó ŽÊu^™ßŸÀðÖØ¹°k#“…ñ϶{Ú¡üp#%>Ë4Oþj MŽö¦µÇ$(ìñßp²‡)çB"ØP ðѬBJë©*Úíèn–ˆN b®t\êc¨(³þuÖœÐÍÈ5ëCsïRu˜#K#gÒs°Í:®‰ÕW–×ÂüK:âe SÝHõÛvŒÞÈ‘9±ËÏtá8Ý•‹ç\åÃ"®Ä••ßìë©#„ˆßƒl¨" UÔÜWUZ¶6ÎEš+ÿCä·Ô¤ßG;¶˜zêHQÚ.$¾;”°ÑjW[·ãÅÇè’°‹™uDE6¿Î^ v¹ ~½Š˜O³w{0„~lu -©†¢ü_áN<>LTøè¼/¡üõ!þÑ×iZØ}r…êÓV Ü "ÔóusÅ ÅÅßþ1ðAã}>atwù”õ;'.¿–|’k ÅÚº÷î: ?‹¡dzgAL?€†/ß•ÓaŒ;{?–³­¿”íÝvÞ%s(K¤í2­r¤}4ÌÉsåÔ8& W¨ÓId‰2Y†A\ +ÿ8â„o«ª£¿KGÒ;ˆp|£>ç# Š©I) ¦tUsµ2†—Û7c"qÃÐæîŽ* dÛ÷ý–P((£‘e¬û8 µ 0€¥jÍ–vŠd·à럗;k ]›5Ô 2Å7\»&T{þ¹Na€G Uµs÷Øæ&uÒ#ËÝÞÙZŠÊ„/ÈÆháô¿9YÐ"‰9ÑqR›Nd¼ Ï } ¡ä å?póë8˨4G­)¼é\ÇA^-]¾¸>Ý%k}>Éäš ²1e—³h"„–kjSoí‚æ;0œ²8[›ˆš™5õlµÔ$&î%ÿyj8¤ÝÙ¡ßžñʬ—,ÔlÉ?Çná¯$J{³¾R­Èk4ÏßAÀ¡írz¬˜0„®YÛë:j0nI=•¸‚<¥Íã„’»‘N=©Ðy\™O ŽOMq7ÉúTà³WG'áò¨<‚k ‰Jız¯¿é|7ÉÅØ¨äïY}â6:8c×ÀE©xÒŠ4°UYÓ–z•Rû6óI ò¯G)ˆ/£}X8ÊÁTàÕ·Š£•ªH6ôÛÜC‡¤Y+Ï5ý ðú®ˆ` S”xÐqbzi’™Ƴ[sÇð Jë ñàŸOS Ó…üÙê~˜ÚªƒÁ×-»æMÝTš°¯×m}^ó+»ýpV »WífB0êi¶¹%Yá ]ŒÏ‹lÒ·_¯c”(õxX¾k6ìÆ¨Ò ÙÒ~(Õ®8RsÚØ‰O÷ú>k‚ˆž€ß»ZJžïHÑPµ‚ ɤ= „¨ÃIÕ¹«*bT7³NLµ ;?Š~£[Ž ÀÐ'ýø>½–CllO,Góf?ìG/“Ìid‚ÓÓ-‚))€›¤áöP™‡S„R²q«=‘ŸŒV½•E7"Ò€ufßÚXÒd¸®Dì.ód˰úIÎpÇŽ qHøº)eŠ˜ô»¢ßíÝà•œ NqÉ3‘ïAÄ“öÇ` ÿK_”¤?¶×4Š8°Gÿ¡E|=còAú÷ƒZ 2…å\3Àkñ°Ù>ÅÇ‘Õç=hôé{YXQQ“²‰žø¨q:ö5y3Byµ„z÷’ˆú{RÞ™àoK‡ ¨É‹4²+€cŸÑÞòhüLmyµ¸°®dÛãžæ‹wiýf& \+w7‡IÑÍ£™Íj ÉÝûXÜ# P9ÁyzUb9¥Ié \ ³L¸$CÖë-âaJ”“­ø¬H¸v¤TíwÙ&í%qüOQˬÕS)ó™ÀJ÷ƒIè5GÔ,²±ap”ß«wgÖþßÒ)RãÍ2ÉGÝaN)°žä`ßÅ’…\ëuEìúÆÞ·»ûNí5¡7‘Ôa2vå6{xÈ2iw³C(ÕÚ+¾O– x•S€+4w—óC-Ê:‹æÚ@s”°t¡ø€œPw(i¿Ï@èÕÙ¡=4ƒG«ž %†¡ÎâßÍÜ›zY®”eÖ ŒÃRÔ väD{oÝ+Úš²J“óÿüãуÆ™cs?üI¨ãʤ£³“2²FBßD„äèÉB„©h4NTjÊN¼C(˜ç•R}ïHUäÄ1P‡5ºžÀÍÚy 22æ¦ØeQ²íu®ó|ÚÜò" ìX|ánq: ðôÞ¬ÍL‚Š˜Ôü¼iЛøÊ·Éh±o5Ðìrg”à… !L ]Žþ{¶*­õ©Páý‹ š´)w #.oaKà¨Y>¢Ð7ê> æÓà7$EnIX‰§ëó…ŽW@ef *™›,,ý agth;MF\èÖE©ª2¥k×o›ÙX3i3ÑÄdj›Ù-)ìB~d¿ê!Zå~ô©Ú2lî?ÃÞ:Û&þzýÇ%3W¤’×à7;™£q\”ÝH8õ‰«Œâ\Ü™”ï+0uA™¼œÔŸbíûC­|»Z/Ž@Nð`îï§©J§`ˆ_#Uu!Hi¥s˜oµêÉw°|ÝŒÿ‰ ECNïOiß+伃¥ú™§yIŸ‰ŒÆ(ê0ê=õÈâÖí7¾úzÏf]·,&I}t|Œ=é8ñH±Ûy:4Ct­ÀÑ÷ f9[ÖHo.Ù—_Åðê4˜S7P2Á§úËg~ÇËXY0­JÊ„ lâé0ö×aŠæôˆË/ê\Íä Ú¨c)ê7ÆG&³” ¿XÜyŠDæ!zÚ—!G1ÛDZ’’O-u0R@R"®Øžø%É‹:äªÙ)6f ›}:‹}V1‘ÿâ3h=S|Þ¸‚#„º<µ^·Š9 mERXYý× âì¨<ñ’Å‚Jº¾$€îgÜp_@äs^µ`1dÒh`ap¤HÈÂx9D9(í?|Ã¥Njº.8“J(×ZÎ<‰Ytš|½.@ðd‹’ÈÀ³”¦¦qÿy¦wmXÏüD{3³úóï '£üDæÐÞp'›(6ôk‡ú|ÃoŸK–Àº¡|MF·¢‰Yx¹ïë¾ïµóŒ[#¥m¾Ï S!›|f1 ¦OÓþF#GÀÚmF*ÆyY­e[Ü".r”nwwÕ·pûh4ÖH«¨¶†ŠKÅvѰ|’RM5X~­WYÚU‹SÍ{V0¾\ó c°S{å.÷e¾È‰m•hò¸ Ò¿I¨ù%:Ñ`ì«]Wx\峡d¹ΣmqG'Ýk»TÔøµþýÂtp¿–Æje…úY1™¨óªóöæj$®/÷ß¡%ß(à;8Ú+†)0°Ý^àÒöP”aÉíòºò½Á 0e·æ¦åŒ‚‘ A¼ä9»Àb+*”÷o¢é³ãÈE¨’4«ªqEZ02”›[¢·}D!¾–¡ßä-“ /-ék ‘*–qe¶=Žÿ°¬¾¬³¿.~ûôQ$°¥õQ{_©óÙ¾zcqàA˜Ïp¿.;‹i°+œ´Í·–9¯‡l™_sŸh‘l [èâ]ECT± áÜJ—RT¼—Å?.q ¸yá´47ÆSQPÅX¯‚;l#ÓéfÓ¶­“5aU"¬OÁÇæÓL3ã΀°šEAàL¸0'A?ª#@6HOÇr)Œ:°vÜgÌÚ8¦N`ú©£¸ “iI™Ã4©Uëö,àDÄväÅÃð6M¬Íb•Ïæýû…œjõæ©Mlör~&`U”µ[½[Þo¢)kh22—ÊX´¦ññØI!½ÈÖCÔäâl_\X´ÅðP@½H¢¹i×Ñ\v©5~ಫ;ìÐ$,A¹ù±I;KÄDk¬*\§ThúKÜ"ŠF똧Q¹…wƒ€;hîL Wø@•’äϵ¤p²žÝÍ»9-º-ëûEI¿ëig­‚y†K6Ôš@.êŒe ‚¥jœ Â=11.T>š´Ãë¦%M ŸOˆÆ%ÜŠ‚Ìu}·4øXB{f‹jt‚$%Stùñ7T¤-þêø«öá†·0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 241 0 obj 13675 endobj 242 0 obj 1844 endobj 243 0 obj 11299 endobj 244 0 obj 532 endobj 245 0 obj /SYGMNB+CMTT12 endobj 246 0 obj << /Ascent 611 /CapHeight 611 /Descent -222 /FontName 245 0 R /ItalicAngle 0 /StemV 65 /XHeight 431 /FontBBox [ -1 -234 524 695 ] /Flags 4 /CharSet (/percent/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/less/equal/greater/A/B/C/D/E/F/H/I/J/K/L/M/N/O/P/R/S/T/U/W/X/Y/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/x/y/z) /FontFile 240 0 R >> endobj 96 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 247 0 R /BaseFont 253 0 R /FontDescriptor 254 0 R >> endobj 247 0 obj [ 826 295 826 531 826 531 826 826 826 826 826 826 826 1063 531 531 826 826 826 826 826 826 826 826 826 826 826 826 1063 1063 826 826 1063 1063 531 531 1063 1063 1063 826 1063 1063 649 649 1063 1063 1063 826 288 1063 708 708 944 944 0 0 590 590 708 531 767 767 826 826 649 849 695 563 822 561 758 631 904 585 720 807 731 1265 869 842 743 868 907 643 586 663 656 1055 756 706 764 708 708 708 708 708 649 649 472 472 472 472 531 531 413 413 295 531 531 649 531 295 885 796 885 444 708 708 826 826 472 472 472 649 826 826 826 826 ] endobj 248 0 obj << /Length 249 0 R /Length1 250 0 R /Length2 251 0 R /Length3 252 0 R >> stream %!PS-AdobeFont-1.1: CMSY8 1.0 %%CreationDate: 1991 Aug 15 07:22:10 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /UFAAAA+CMSY8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 48 /prime put dup 49 /infinity put readonly def /FontBBox{-30 -955 1185 779}readonly def /UniqueID 5000818 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª/ ùÈ­éÙÀX¸~›id}S5žQ!gt¤ê¡âµŽÃkÑJc;•r´NŒ^ô¢¬µŠ ¦X€5¿.ØSyƒŠ– þ+'êIÃqV˜œ…â:¿r㚉#,Ùô#È ždèBZ£¾÷ÞÖ *R’*"7Ù¨ÝyÝçÕü! ƒž[Rß»*|]Ž~Š [êCÖ¨ía¯[#Ô™ Ø÷«jY!4ØJÀ‡¦Í€õÝÙÒ"¬±Â3&§ejc\J$Í2Ëýø62¸ª6áwõIaàUÇI¯òränÌFB/€Ð“(Hp%#ûÚÌO.,ÊÕñsü¾nݸt­%\ÕåÀøb9?Ë_\ œ<+µˆn6ü<Ì!H<:Á“HZFéÒ+× ”äÔZÝ›ñÌ\ö¥ VT¬ àÚ=µc±8@º0÷.Qã¼€~>f¯ö Sý¦fñ«/Ý@Í ­’6›úŠMß+ŠE^o¨!ÔG‰Ç,V¾ÉWŠòdœ ©Uò•Î%'CM«—,|@§¦°JÉ›¢ w•³.þd¤Ï„J§Cc,@­Î°˜X£>Âî™cªk×þÆÊcjÞÓ øF/@G° r¯Ô„)þ+±-þ6/(Q#ô}Î-ÁñŠ#‘ª’G·a)%[¬ËGP|›¬2üðu½kÀ|êxVv„®€y&±‹PŸÝ™ŽA&ß8<Ùå]Ü×@$«Kø—c’À7Ý©kŒ«gAÇ·–«iaÎÛó.²±£Ùs¨™J¿ß¯¹;í+½2_¦UÊ@ùCåÏ…†mÇ}-Þ°E°† 2¤Ý[Aož\þðÌ¡¤&ªs˜‡©È‹­ Gÿð¢ε¨3}Î…‘°u± RõlÏký#hB™’}Å‚2©Ä•oomˆN#ÿO“W[bBY4¶ãsû‘“Ž[9©¹$æ¾ÿº%ë­qÔŠÊÐðÂ.w´(W­éGõŽogº\b¡âÈ“ÈàW?§º·òWbüIé&oóµ À²cŽ×¨}v[½³Ûdéüïy½›#¹Ó€À0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 249 0 obj 2134 endobj 250 0 obj 789 endobj 251 0 obj 813 endobj 252 0 obj 532 endobj 253 0 obj /UFAAAA+CMSY8 endobj 254 0 obj << /Ascent 750 /CapHeight 683 /Descent 0 /FontName 253 0 R /ItalicAngle -14 /StemV 89 /XHeight 431 /FontBBox [ -30 -955 1185 779 ] /Flags 4 /CharSet (/prime/infinity) /FontFile 248 0 R >> endobj 70 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 255 0 R /BaseFont 261 0 R /FontDescriptor 262 0 R >> endobj 255 0 obj [ 706 938 877 782 754 843 815 877 815 877 815 678 647 647 970 970 323 354 569 569 569 569 569 843 508 569 815 877 569 1014 1137 877 323 323 569 938 569 938 877 323 446 446 569 877 323 385 323 569 569 569 569 569 569 569 569 569 569 569 323 323 323 877 539 539 877 843 799 815 860 768 737 884 843 413 583 874 706 1028 843 877 768 877 829 631 815 843 843 1151 843 843 692 323 569 323 569 323 323 569 631 508 631 508 354 569 631 323 354 600 323 938 631 569 631 600 446 453 446 631 600 815 600 600 508 569 1139 569 569 569 ] endobj 256 0 obj << /Length 257 0 R /Length1 258 0 R /Length2 259 0 R /Length3 260 0 R >> stream %!PS-AdobeFont-1.1: CMR7 1.0 %%CreationDate: 1991 Aug 20 16:39:21 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /XFAAAA+CMR7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 49 /one put dup 50 /two put readonly def /FontBBox{-27 -250 1122 750}readonly def /UniqueID 5000790 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ\õ¸Ê»ŸülÃñé®2ò4ë`þ}ãI•±¬ÿRBŽ¢ ŽÔýsã“\ëÔ­pÀˆzEÈG®ÞA‘ÌÛ‹a4_Ðpý0ÄóuØAÝEG)¢Q³ö®|ˆ‚8B‚ýÖ*èîþÞdGWjú'¤‚©Ê×0Viäx²†ò#(ò®„ï=äœ@'q¢IªÁúT5i (Ñ´t†`È ?á¿E<øG¢KO„d¦<ê섪"ý^t„~Bkh•}Ñõ _2…áùXñÇðâoî|c™Ž¡2‹É„WÈ FÒÂü4bI¦dìû¢ÎP6Χ5ŸÊÀö†Ã»'îúEÕH÷½LæbjOƒÆŸé:S$:x6/0ŽÌ€Ý Iá7Íɬºã’‚âjzMŒ›•ò'½¢¢¯©ÚëóPC€²¢ÏŸë.š?³½>€ŸÆ)4‡§E^³¸yÒ´½F”+±$8–&G"ËYl?e½Y¹jt±+²šT¯I2! nþXKÀt`‰Ë±~h„]{> Qîäaãiσ\¾mFÇU#GŽvh2uöÙnÃ8½­WÕ;Rõ4¬ŸàEjÑ1‚B4²b¬ «¤;bëÚ9y[®lþ—V:Pªáñ•ˆ‡9òg`†©\šJ~ óM¡…¸h;«"_(WÕ«Ô¾¡•¬Å{ûŽ3® Ñç›j؈ւž° GËyfX´*$ê£ú§`óŠq'2™o•räHðà'êƒ~úÛ/ýpj ŽˆM1_VUØ5>¸§h¶N8͈¤{W·uÒ½ËóÉ35.¦©SÏ "éÙ}ÚÑ%k’#>^ß-b¢š|˜3j³’äšR_>ÝÍÀSIàt›0ººrÞ8r·¬7œ”ï$ŠšÌT ´:§Òë,MÒÂô¼À}ÇœÚWßÌ)\ûeÚ$‚N¸-˜è# ü,`cÆ ›F^Tv˜¬y{m….L·I’é[r‘ÇöJß[¹zG~677Ù¡Ûܶʄ¦® Þsß·gá°Ã)<ýP‘ÚI"gâ\eEµ8: ÝKN:˜<t·¯Ý!r@öHõÏbœÂ:ŽAU¹]1‘t¨à`º0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 257 0 obj 2586 endobj 258 0 obj 773 endobj 259 0 obj 1281 endobj 260 0 obj 532 endobj 261 0 obj /XFAAAA+CMR7 endobj 262 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName 261 0 R /ItalicAngle 0 /StemV 79 /XHeight 431 /FontBBox [ -27 -250 1122 750 ] /Flags 4 /CharSet (/one/two) /FontFile 256 0 R >> endobj 47 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 263 0 R /BaseFont 269 0 R /FontDescriptor 270 0 R >> endobj 263 0 obj [ 664 885 826 737 708 796 767 826 767 826 767 620 590 590 885 885 295 325 531 531 531 531 531 796 472 531 767 826 531 959 1077 826 295 295 531 885 531 885 826 295 413 413 531 826 295 354 295 531 531 531 531 531 531 531 531 531 531 531 295 295 295 826 502 502 826 796 752 767 811 723 693 834 796 383 545 825 664 973 796 826 723 826 782 590 767 796 796 1091 796 796 649 295 531 295 531 295 295 531 590 472 590 472 325 531 590 295 325 561 295 885 590 531 590 561 414 419 413 590 561 767 561 561 472 531 1063 531 531 531 ] endobj 264 0 obj << /Length 265 0 R /Length1 266 0 R /Length2 267 0 R /Length3 268 0 R >> stream %!PS-AdobeFont-1.1: CMR8 1.0 %%CreationDate: 1991 Aug 20 16:39:40 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /NBCAAA+CMR8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 40 /parenleft put dup 41 /parenright put dup 43 /plus put dup 49 /one put dup 50 /two put readonly def /FontBBox{-36 -250 1070 750}readonly def /UniqueID 5000791 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ\ôéÒ@[œÕ6]nÎÕ×hÖmlha‹ŒH+4Œ£Ž›¹ºüú­œ/?Ð3¶&˜nÔ=œ“a6E¸#’ÕÊá|´~.‚ÜÔ…Ë¡w,ä"»rƒ­g[eH§êi¨ƒìª>žÎu†ÖÏ ŒÕWÇåת>©~ºÓ–Ñ¿ÏJmdv‡Aíê [û¿4|ܾ.×V–z¶ÛÄ_¢£1. F¥ýf« |Xÿîĸ9^Rw] ü×ÛŠ³31S\D¤ËKZÍW`– äP”Š^êÝ3ê ’eÛŽÈ Í8`2?Òl;ˆÈŠ!eXxh Dfú@=$»—*I¸BÁ€äÒXÉÔ!ÐWx-b1ƒ £™³ÅòòÝC; p™À}½âhÐÿíQi¼Ð=H²ðX­bØgŒbmÇ£óR,™º–>ù_ŠÑ¸°ÓQ! äÂÅZØž¶Ar“]< £˜óîîÃQ–jt8ï?îB,mN3v լǵ+í˜Kú­6ï t‹Ð{äAJc—Q%ÒrúØ?væÿø60¾RmXsŤ+pú‘Ǹiñ:þUësõ‚ƒ‡“¸Ì)káÜÏPýWË\~Ú;’í” 7 T“.ÅN ¹„ü¤«}.¡‚¼ñ&:¢D°~Àê’ù¯4³LD¸V­Áð5bæŒgä¨AN”ÓªÚÑ&×é¶ûš+‹Â“§Ä»•É‚¶£¤á?ÌéÀ êì\SeÐké¬öáÏdäŒVóPzjmSƒȬߤj;-è0@€3q!Ì,ayÈ ,Ê–`yÛªi¨k·9kmosrAû~}wâ‡Ú‡$Ĥtºó¯Îâ¦t—®â&px: ÌßJ,‹ìM†e°òî'–×EA"NóL’Ëþ?ˆdFµ¯GÛ©½S§íúCý;Xön•Vê»öÔêy&½†ƒåãñòŒ„\ À‡4µ„ï˜í2ZŒJë@ÖågQ€'·Ö–m! ‡`6ˆO×¹ä®ÿ*?ÅÉ„æ‘âz'rŽ|8d]^›þºPÂ/2祶zå'ü«À/+¯ˆੲg€¥6©AAž´ ¡qŽ9r58ÏÉÛ|Eoè¥ÓzWe/×^ìr÷À#Žp‹¼žõMübåþ²7oûO“ÁíQË©ªtò÷©°6í€\) DöD¿!©!4ÙŠ®Å ptˆ èB eÔ‡b¤µ``¢£ºr³ß_"ƒ\ Š¿nŒ3BÎæÆq;/&¶–"Ý]1}&ôÁ¬ñ‡ÀAã°gæ³Ä®Ö±ÉQc1õÃ. :²Ÿ#‘_ñ—®@+À¬<¤#ÙáYEK&?ÀÌ)Á&.L©³“æiµëß½¹x9K;Ùf€S’ØŸ÷Ï£ÅO gCAÓ i»B¿Ý&›Š·{¬Ình¾ûfË´£A~M²^ç>× ooáBeN ‚åDŠ|.•2Tús&¼š’Ñï*֛砄XB¸isèµ#lþÃpâ4àÇ–”2vo›¿E€Îºã4íë— û0Û+f& ‚ߟBòŽêxYd|rp ÜZú Àâ-,(ÒbB°}¨û£³ºç,ÊcKþ™ø ³e¹:©gÍ'ŒŒ äU’r`Œϲ'Y7jhK"°„i¦”‚Ì¡ŠžàžŠy±»‰Ž°o’ZPSÅO˜:F£[“µÉ™zw²+o$ûGËègu sà@ÕµxùA+vU—Û–©Êƒ¤_§“c¼»Ù)SDÃg§ ͬæ\«¹UWYÙñ¦Zg’<Ì[SÏë½3­ õçaiÌîåfcýXè)§mÚØxÍ…7hé±ß6”_©£ªð„Êt€š*ãgLÆ üå„Ѳ3uÝ™Á÷—JËJô{æšÁçÖp%‰L¦&Å“¦C%5žøBEŒSrŽ7+üƒrdÈ‚eR0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 265 0 obj 3030 endobj 266 0 obj 835 endobj 267 0 obj 1663 endobj 268 0 obj 532 endobj 269 0 obj /NBCAAA+CMR8 endobj 270 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName 269 0 R /ItalicAngle 0 /StemV 76 /XHeight 431 /FontBBox [ -36 -250 1070 750 ] /Flags 4 /CharSet (/parenleft/parenright/plus/one/two) /FontFile 264 0 R >> endobj 46 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 271 0 R /BaseFont 277 0 R /FontDescriptor 278 0 R >> endobj 271 0 obj [ 754 1000 935 831 805 896 870 935 870 935 870 736 704 704 1055 1055 352 384 611 611 611 611 611 896 546 611 870 935 611 1078 1207 935 352 352 611 1000 611 1000 935 352 481 481 611 935 352 417 352 611 611 611 611 611 611 611 611 611 611 611 352 352 352 935 579 579 935 896 851 870 916 818 786 942 896 443 624 929 754 1091 896 935 818 935 883 676 870 896 896 1220 896 896 741 352 611 352 611 352 352 611 676 546 676 546 384 611 676 352 384 643 352 1000 676 611 676 643 481 488 481 676 643 870 643 643 546 611 1222 611 611 611 ] endobj 272 0 obj << /Length 273 0 R /Length1 274 0 R /Length2 275 0 R /Length3 276 0 R >> stream %!PS-AdobeFont-1.1: CMR6 1.0 %%CreationDate: 1991 Aug 20 16:39:02 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR6) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /XFAAAA+CMR6 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 49 /one put dup 50 /two put readonly def /FontBBox{-20 -250 1193 750}readonly def /UniqueID 5000789 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ\ôéÒ@[œÕ6]nÎÕ×hÖmlha‹ŒH+4Œ£Ž›¹ºüú­œ/?Ð3¶&˜nÔ=œ“a6E¸#’ÕÊá|´~.‚ÜÔ…Ë¡}ÿù_B$Ï~Îä\¿·ÈÇ|" 4PxÒ>ËøÍÂþP%ú ÌÅïÀÄø~ËíÝß4äôqÆÝ.C3s蛼q翈Ÿb“y?ïZÉÝ7’ð2ãz6Lp‘HC÷ª1DÐ"®28s B ~ õÐâOPQùÍìá ÷áOñ\Oóü¤}ÙÍÔlë4x<ŸƒÿKUûžh§ÉX@øµK˜îyðÖ°öQJ@lRJ›>áæ… Î^Ã;åëCý÷’ÿT—Që§Ìò”Ê[I/¨=ØG6n»õ0æX9ƒqŸåç(Cïîkéím_À^œNã®ô0ç'x¨Vb*žVÆGGá¬þá:r„”Ê|˜o]eá ‡ßÀahÆsmo•‘ƒºÇÚ/Œìaû{xǹBù–è¥THŽy€o÷$Zx…è*1K;‘-¼Âªô˜ jö¸ +YU¼cο’®€ŽJW$I<ßÁŽ`×x8Àõ{I¬µWÈ%d³{¹o-¢ôlSñYæQ5oíìý·?P¿Ë¡¶S™çðå5±®ÑûÁoÆÚù *CÕÕCäc‰ŠP#àptKÙ]´[ªâž ÍãrçÄÚÃĵrÅ\Ëi“bàÌ\Á›¸·-aÙóÙY‘¼R{ˆè…`†Y‚‹?¸º =³yàLùb:UJºü—®0[‚˜ŽT7Ì\ÐlŠ2x|ÀßpDÝtß´­¦/N²ÖÃÄÏþ Щé¡fÅçiÃ[¡ Å7°ˆt³¸‚ÉhjáK²±"»ž²A|9†$¯µ8ž$L0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 273 0 obj 2595 endobj 274 0 obj 773 endobj 275 0 obj 1290 endobj 276 0 obj 532 endobj 277 0 obj /XFAAAA+CMR6 endobj 278 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName 277 0 R /ItalicAngle 0 /StemV 83 /XHeight 431 /FontBBox [ -20 -250 1193 750 ] /Flags 4 /CharSet (/one/two) /FontFile 272 0 R >> endobj 41 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 279 0 R /BaseFont 285 0 R /FontDescriptor 286 0 R >> endobj 279 0 obj [ 643 885 806 737 783 873 823 620 708 655 817 682 596 547 470 430 467 533 496 376 612 620 639 522 467 610 544 607 472 576 632 660 694 661 491 632 882 544 389 692 1063 1063 1063 1063 295 295 531 531 531 531 531 531 531 531 531 531 531 531 295 295 826 531 826 531 560 796 801 757 872 779 672 828 873 461 580 896 723 1020 843 806 674 836 800 646 619 719 619 1002 874 616 720 413 413 413 1063 1063 434 564 455 460 547 493 510 506 612 362 430 553 317 940 645 514 535 474 479 491 384 615 517 762 598 525 494 350 400 673 531 295 ] endobj 280 0 obj << /Length 281 0 R /Length1 282 0 R /Length2 283 0 R /Length3 284 0 R >> stream %!PS-AdobeFont-1.1: CMMI8 1.100 %%CreationDate: 1996 Jul 23 07:53:54 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /EEGBAA+CMMI8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 59 /comma put dup 84 /T put dup 102 /f put dup 105 /i put dup 106 /j put dup 107 /k put dup 110 /n put dup 111 /o put readonly def /FontBBox{-24 -250 1110 750}readonly def /UniqueID 5087383 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª)s™§„̾…´™;.ëÞ;Ôr·ÏTeò…ji«–íK­/df5à¶A|Ç{S/…ØÇ )¡šSïcë\^ÈŸÆÂm‰çÙäp·+ïÚ#õßv¾¯Lé17¢íŠ©×Öýó~kÍàÙ ˜d#å– ]Ÿ»L•eVèßËúìGo£oÙ¥È\šõþÙÂÝÒkÜ ™9‹ŸMÖ¨ð[G¯•ï(©ÅaÛܘÄ|õRPé6n¶ý=: ªbãÕÙ9s2m4{~ÜC‘ÉßD…¸ü˜Ô%Åx’Ý÷Sd,Õ&©jÎÚA x"±ÐŸ—”æmѬ,+;ÆþÅboB|Õ®œTÇ÷bÃoI³Âåæ*ûVÜî‡DZ©BÁJæÑþ©ÏŸª2a{YŒå‡ï0Qâ(÷/e@­™§AòGÆ€挄éÑп™ª]w}ˆ§ÓÎÒêgô®a輕çÚ8.‚ݲ° ÝcS,tã¾^ÅU ¼»j³‚†×q.’o†–ƒr¸!N›]@Ájß ýGÄ“75uÆÊ‘ämˆÞ$æ‚ÞÄKWêŠøNWÔVF2PØ,KPË» 6™2aƒóÔbw;S³ÉæÛBÖ³ö{‚ Õu&D“C½ùúÏhN¾ã›e^±½L2Ib^ÇžY6þ2Ùò"CSò¤l5Xï!ok²£º÷R¾ì6ÄD UjïìôTº|»§S{ËëÂG3:‰‰6A…|Ùõžº °£ÙºJ 3•3kLÚK¦EnMpúÙ½«·òq¼lHÙßZo®xV Þ‹ÚNäéÚR•R9ÊÂSsÈ~3¸ÜšÖ4ÚÑ0'¿iÔcÅy’éMäÒiÿ«_nV†_ôCT~Óq´2Ÿ"— ùR+\I»õK¹Ge®H$¶êºâeÍ}ÙüªÙü$Ir „[ëöä܆TC02ÙãÁÛ"µR³5!Ù:Äêí w‡~_.Ƶl€o’ß—½Ûc-#nSÄ{v.…E`H®«!†hqdêšjo²ÊªëäªÒNnoõð'À(ÆøØ}‡£PÆ @i©=\‹RjYEÎ.MAM#&rA•æRwÀ‹uï°‰h.PF-dµ+ ò3>‡¶‚2hŸ"E$E€i±,ÀJ¼ú€ÿ)MÒía >Âòù‹a—Zäï« ¶†–£pðS|ÒÓsÂ庸y†"KТޟ€ðÞëqƲì^#Ås5]NVm—]Ú+`®ôQ Ðö Ùr%G—QmFÚâ% ·NÎ[dI˺7aå=£¿_ lZã¯rå®BM½â)>~›¹,jÁ¯H¹òSëò³z”ѵ·_¡tÚ‡Kx³8ñd—¸¢ lŒ&©Ì,¯ 0&¸ÙrÓ%i ~Ã9PÅàÕo«ññùVùƒ«ÖÁ¡¸$>RJš¿Ò›_ #hã˜ÃðrD(<ž~œ:«mÛ«t^1®{Æ)Œ^M@ÅÕCš î¼æ™~ƒTºp JüñÚ¤Ì)p«Pù¶cÄA$iœ#¸FÛm1ìE‘$?Z‹mCÁÃ30JˆHY?µÀVÔ3šj—’Ñ%žË[²²¶–ç>Cþöüoë‘þ5Ø—¡7Qž¹v! ÖðZªr­!ެúg±àâ÷Ö‘+ÅB{M£™»ð`ßp K‰p"sñmâ§‹c5~L¶¼0½ë?Ð W¤¢섵ü'µ§þ^‰(ú`µT?™}"¶¿nÉØ *f¤š­ôÞÓ÷j¯ó3læüÀÀ©Mxa’i¬,¸râÖÝ‚–Íj^'yî%ºˆ;ÿœÊýsžôUÌÇ‹é¬E¼Xõ5æ¸ÇÌ:ü]pb'ƒ‡óÞîilU“Úï n"ê{rG­¥”†ÏuRJ\ŽéGסÁç/º ø øªÔ SBÓÿy6à[ñkÅO}î%âjjú)Ž#ù"Ûwp̦ešyÏ{¤¨b€fH°QIço»N/ ÔO•y5Ë]´Qâ ýwœºZ{|w5Çð{›—Ø7sÛû~E3¶ÔPeYƒþFzö÷H’rz¡??: G‡¦hb ¿aÉ÷Ò89¡gUÁMÌ'fb¨îìôºÃ¤{kͱÃãS„?p—l|D%ÉÏÏs'?´~ˆ?ø ¸€´h<íç½[Í,OyDÃÞž¹•°í9°‘-ÛšíH÷%æ§8—ïø+y/EäÕ Í›°2‚?Aª¿ÃOÃò#»n*iMÏÖ\–*,hæoâT„Õ_`ÌÂÍ¥P–âmÔGG¤+»}ðÆCIÈ ho Ö¦­v8;d:_îfˆkY;Ó¿‰BBic´úvѽn¬ìETÝ> endobj 24 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 287 0 R /BaseFont 293 0 R /FontDescriptor 294 0 R >> endobj 287 0 obj [ 607 816 748 680 729 811 766 571 653 598 758 623 553 508 434 395 428 483 456 346 564 571 589 484 428 555 505 557 425 528 580 613 637 610 458 577 809 505 354 641 979 979 979 979 272 272 490 490 490 490 490 490 490 490 490 490 490 490 272 272 762 490 762 490 517 734 744 701 813 725 634 772 811 432 541 833 666 947 784 748 631 776 745 602 574 665 571 924 813 568 670 381 381 381 979 979 411 514 416 421 509 454 483 469 564 334 405 509 292 856 584 471 491 434 441 461 354 557 473 700 556 477 455 312 378 623 490 272 ] endobj 288 0 obj << /Length 289 0 R /Length1 290 0 R /Length2 291 0 R /Length3 292 0 R >> stream %!PS-AdobeFont-1.1: CMMI12 1.100 %%CreationDate: 1996 Jul 27 08:57:55 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /UPNQAM+CMMI12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /alpha put dup 12 /beta put dup 13 /gamma put dup 27 /sigma put dup 30 /phi put dup 58 /period put dup 59 /comma put dup 60 /less put dup 61 /slash put dup 64 /partialdiff put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 73 /I put dup 74 /J put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 90 /Z put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 106 /j put dup 107 /k put dup 109 /m put dup 110 /n put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put readonly def /FontBBox{-30 -250 1026 750}readonly def /UniqueID 5087386 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª)s™§„̾…´™;.ëÞ;Ôr·ÏTeò…ji«–íK­/df5à¶A|Ç{S/…ØÇ )¡šSïcë\^ÈŸÆÂm‰çÙäp·+ïÚ#õßv¾¯Lé17¢íŠ©×Öýó~kÍàÙ ˜d#å– ]Ÿ»L•eVèßËúìGo£oÙ¥È\šõþÙÂÝÒkÜ ™9‹ŸMÖ¨ð[G¯•ï(©ÅaÛܘÄ|õRPé6n¶ý=: ªbãÕÙ9s2m4{~ÜC‘ÉßD…¸ü˜Ô%Åx’ÜÅyDž‘O¾žg<Â<µAölçîwÕ×| á¬U©v̬«i“îÑ@o»ó¬ž¹ *ôì|'<£/¥ÁBoöA´¢û/Nhc\“ÛƒW7V¯„qËÀPxÜÔä%¢ôå¯FÂ4ÏY*è󞡲¥”5V7ät~­M—Õ𨙴C‡áý“:2:ý¦ºt4¥´p\ dzûóå:‚¿2 ÙgSc›äœ/y¡˜ˆcï—{€ µ´ 9Â>¸iSq?sê"ÿ{²ÁÙ}3ýw±½Ì*`±,÷€\üŹÀó g=ùX“ä|êY2Ý0V O —T{Í€]m…DU±:Ms‚¢/V-|UÒ”½ª4‚‰Be¦gåÉ}•ÿ%1ï—%V7E†]¡çÀÅû|o·ÓÄ?ë41 ZYûööìmmî ôë× w*‹ I„Æ“ö¹G”Kâ2Yöëd0=bsS;eüŠ`hz9h¶Ë´ž ¦‘%^{´xü¾›Ÿ±øØÊ 'i{]&åá 9c< ØéUô6c¬´ëÞ¶(ñÓ>OÁƒ1™sbÉ>HÊAÒžò#A×͇Øi;¼yZY´ë‘I³G ¢ ù2åoÏg#!´å\SáR8©?SÒî¨TGñA'íð”Üø ¥;%Žañ ÌÜ%Ù9À8²Ù®¦úŸ( ØÃà5Eœ¥÷=æø ÇW"2ëbÞ'Ú+Š}ë»*ˆ¢?)bÐU‡ÂE5J½h ‰ EŒ¾.Í¥¢æqÁ ¬¿XéñZ¯õUgŠîóöT^ºœ.áи`ß}Üo>,ÈÛeœ‚,yh[g •2ZzÁn˜[£or Ž<ýŽiDáVëv‚É*íÞ÷ñâ6_.ÅÕ*Í–Ê“¤˜ÏKã) v+é²íê6lF©kÝÚO§"ŸÐÆ#ûI»jÆãi€ §aÅʨ]·B›ÂB¢}¸þºxž” ÕlsK,C"¶r—FJf³®p'dÇÚ¾¼ƒ?º„(ç¿P2ÆÓ8~h¸þ‹íE±FÒè÷”ÁTocs¾„v}¯—Yª¹ÑsUCEj/ë{Ñ™¦È!v¹d'N7´UûŠ°ÇƒÕÛ\秤ú¤¥<þ“Œ¼6 >_!¶]‡(lˆ²ô︟ŭŽ=Þ}:8@|üÔ\mÃÛôlÊ›Üï´o<Ï’M fYÀí~CN ‘í°€Yø¨Z´tH鋘õÿvÄMLió„·,Ÿ9½…µõú‘†!<ÈŠ. ý:¥PËÞÝa•UHQ*xa@Ì=ÃÌQÚwh\}¥\^ ŸnŽððÏ›$ñEi¶º’j˜ü\ŸiŽ4 æ#ÇUÝÄd—upd­qÖÌoðTi¹Ú而MÔne2.ì¤Ü˜^·PþÕ-„Vv´ÐëãIÅóÈóˬàùŸh)È&ÅÜ€X-OŠþøiUpm¨õˆî¦Ç&cBK¦?…Bm”C„ÑÀ½W'N̪Ýõ *ž•ñÇF VK(ÆÚO\à&ÿî™òÉ÷YéÃqܬ;Û+¨îʵÞêèTÀz¾”Djw¾ãµnÕ‚+ž2Â(n¹Ê|~ ”rÍkŒ•`Þ;¸G³/‚zè%™OÿÁ ÎŽël¾­ã)[„­í#, >$°R`äqˆ4ÌoÑo[gÅoÖ#®Ë.r‡¦€ƒžï;o°š«m—»âЧÎ-¤)f¶±c,®ltî,M¼•Œÿ½¼lý®½öá=0‹ûa ]WÙD½ET‚Çóí„ ‰ )Üó4Ov‘å‘¥Õ>úÞwhì0àE%›“ëE&6CÁë‘&;ùvø²ðÓÂîbuC›4¼ÚEnA¶Âîú=]´ 0*°ì^ sÜ~d`)ðÇMBôjÝJӸǢq§îk”ÿ<"u‘‰”ø9?ªM›úôh3f¤&‚¢¢šÅλÔÐßLF“Jð¦ÔdâTâZÁ:òŽÏ-¿™ôâZg¨_ǃ¿%TäpX&ÇÅW~€kZÛш/c}gŒ{¢7Y^@è‹@s߆©«;œ!¯¬><–“|+}C{j¨Ko#P r«)eÛ_[´!K¥‚5 ²¹œŸ$ÂY„_Nkǽa2s[q Y›ŽY‹<ß9ÖI{®Bõ&#û.oîÙ&æì—vÀ,º{? A|Dn&æ)—æ‡&ò«U8h×/_ôæ›nùh_=j̽ƒ6ô—¢t?ixµ¸ˆÁÓèwcj$µ´mw‰msÇ&ó,u\W A†VÓГ…„óç‘wÓÏ)V¾g¯ÆÒéŒqBti 0eŸé¸C5aiGÔƒ‘Eˆ0 áø£L^Á2èù—Ö½²—LãZt”rFçÍw¼™8ñ¡áâb½”=”¾Oé¬Á7‚]ÖÈEÛ–˜4‚݃ÒÊû%{ä×Ü‚k¸j•Þ|YÁRëuÌ:zÇÕÚ캼4o'9PSR5Ø»ÒKã¥áÙÉOÍl®söwç—û)€f—è ºó}KäÑsa”q4‡0»{4YAÆÑ¸Eùó­§ҵÊ$ãé‡4Á…çºMˆ*ç#CIa;0À™_¬’vè±Qn¥ =ôÔ'éø}+Ðk¯ œæjÜÖþ0_æ8íÚ¬.Ò¦«=å~î‘ I$uK ½9!ùCr¯™›%ñÈ±Š¬€ãB‹Ë™O¤Ñ«[¿ï‰{D6ºE°VíÄ—s.Lx4º>oÙù赺n!–ŠÖÖ{ÌÚ?‰ƒ;`!•~ùÜù-Á[Ëu\Š|P „_ù£ÓCˆ¯tPãƒ^µËáˆåoS‚¾ó«*+pe«³ u Ò ®pæ;¹(çgÆEÕp¼¢3̵4Œ.Ç«, :z 曓VèÖöÙ‚ñ­ûëãƒü§6áêþë¡r ñ~RÝ]ê©[CãC–´¬tÍ–»ó3sx?|EZ {%ˆxv ÏíKݸ߿®C~åù3D)<$úGl~¼Ý̓ñ%E(FAö`N?ˆêR†®‘mÍ!¯×wœa62߉ç.àü—*̳fD÷u÷t…7Û ¾‚JÖŒÌOô*G"§«Óº(evþ\HY¿ƒ´°ÛÒÎxh5¸ )£ V0lqôW[¦#µåÈëúh…US¤¸è "kx]­©¬ǽ©}S­6ÙžyÄžÙ{ý{m‚ðI–÷)J¢òÏ]¸¼ï*ý¡FïºQŠ<~Z•"7–F‹C¸5­íÙ¢S­tÝG'orÖÀcÂDÉq+ï㕜•Ôe&%)‹kEèµW¶¸Q·Ó‹¾¶â~ýz”|€«Pôü&@­ô‚€ÑBúÄw‹Àq²‹6Ør `v¡_DY,ÆoIôE'Y5dœqLrf[k~Ý^e>uð,1!bN™ 1¤XhûÄ/õøU^¯Q1Cmº=kÐKNØ„IXeô©lkîÆÿý²öœ…Œ"躦sM8]÷ÆÏÏÂi°<Åà(;t”gÈXäÓ"±ÒÕ‹tÌÑ„r«‹²GâQÇS©_­ßSÁ',%‰½Mí¡ÚO@¨“Õj] Ãhø´5ðˆ¾¨€>q¨3†>Jê§µ˜§Ao»ZÉ£|ÉÝf3ˆbS¯µ¾ãõšá´¹CiEܤ¢L4'Ñg‡´c°CôàÂ¥ÆQu/rÄÙøÞ ·÷‘)ÏâO~Ð 'bÓkàUmíÿ®–XÏ@[^f‰·óMyÖ3šõ®Ò¤š¾\këŒR?S‡ƒÚ="`òQ’‘—}ŠŸƒñØ]pÐîß—&x,ýp…ü’ö¼?÷•θ þŠœR.ˆ0LçnîÑøÝCˆ‰ñ…†æèYÝݹ{ªÄÝœÐÝõ U2šÇz‡"…añíÊ[àcŒ?¦É—dÏfó×»o þf{h¯r,ÕbÁRš 71¶=Oú ÀÚ:¨/¹>Ïë_KœŠÊØ!gf·&¬KQ¿Xà]·ÂÓe‹M¹mWŠB f9ÖΘ»ÅW„%ê]ƒtEB>€Í|÷ÑØ2›–ðÇ”WiÚ¾í. TN,dœYø‚ön¯pøÑ¸Æ¨`Ž®Šl¡Ù¸9‚é.¦Ôÿü ç²Á¬zÛ+ˆQÃyé~Ðô¦×Ɇ»–;}3ª™‹:[w ›™h ]àFîN¹7Ÿ¦<ºY䇽’*-«…c®²ª‹¦…Vw=>“?M{¥W´s!ÇøkÈâ?´ÐðÂæ Õò‘<ÁFšˆvŽY^0 øEœ;mìñÖI­»(½kÃ{¢õ€f¡¹à‚»†&#Ç”°M?ã‡Æ(W; .ÒÉ’äâ±'YÐ8¸©ôÝÍãÞ™2ePmê_øæƒp¡¾’(‚ÔZŸ”Eùƶ A9µŒÌõ($‰xy’.Â? ŸŽF§…r½ýnæ5âúˆB8þ•Í3ÑY±ÏAÐ,æ7 ,á‘ñøG;õ°9!Ê—ÏÐtõì t¼Ÿ'›4V‚nO…So·»çSHéñ…ä`7Ђþ$ŒÝ{YêFÛ9¸ržìT Yî$Þ͙ѷF‰Æ¬OÿtxGŽÆëÒ—˜;÷ÊÚ_`çðÔùÍýÂAT~ùÉ}'˜F`<'f‡Cjƒ^Áx—Ï&GsÄ3ÕÜ…’b Róøƒß¿Œ‰¹p?g 'bÛêsÐ_ãcjl5í‹ôº¡ë[>Å<ÿÞâÜ›`–à¯Ïº´è(˜`Öc$Í-•à£R0Qêq q#¶˜j…té×»M´ú3a¨D”h÷e¿ø¡ª-”‰ÏoÏ÷¤E©hD­ÔxŸß“›3˜Uze·Ã‘sƒË¬°{Éô\X°prb&ДBè†3º ýdË-xR, ³nàúåþÉ`#‘ ™ÿ5x¹ÌÞrÔfä™G©ÿ­Ð`a=ç^'uLrÌՕ⟔hï“ClщvÓÝoZ4ôs„ÚÁýL ñæ¯Ú_¨éžZ*,š ¦'ÖJ&“³àÁÓ•ˆÜÌüÒÁ{Dïés°ä(Ö®¦›˜MA«f®ˆ±^5ìã`vËuPÄ"¬½ ¿|ˆˆFHý }'ü§‚zï)ë×57³WòÑ•¾1VY[<#öÙ†ìбg“b!x1ìg´ÔLDî¯èúU’iü®ÒF3Õ‰oq}Ó‰QÌœ-¦Èô ÝcwR±lÕK€€À´= býÑk?âçQY͆aAàÔK]"H–Ͻï§ùZ+äã-ýˆÙûŽðœ‹âÓ~»"8×ëñ¨0V/‡÷—+šg¾žÝhÔ³—p¬,CiýÝ÷ý&)Xpœð4¾ˆvŸàæÜ ìl#PBhäåGYYÌHÞ2US´åçvYs§9RS¶ñì ÞõBŠæ'Bß0j¶wü_”ð6e_WÌÒÖï£3YÓÖ)5¾¥êÂÊ^õ0¢DLsêåÈÔp\üpå„׌€¹&i¶R6†aO­B™›;öŽÍ4&ž Üù]òÞ¼ÜÆYî Èn$`ø*ÉÈ‚ÉñP釾ÄÂÉ(šœû ‡l´[`»;Q÷éån*ÄR`àJ˜HsÍi˜•ô/¡—ûìˆ>·˜<°6aŠ8¥¦WôÓ[wU)‘"ºÑ´RÚLÍâ¦ð€«ÆÐÒ‹zHaRÈÏ';à-w_µ dzÑûÚû|õÌ‰Ë‰ÙØ»4yY¸Šv]w8gm#v{ylu€!5 `Ò·.ç8ïéÛŽb8^h˜œg» Ø”·ÿètšÊø{†U†ÙXÐQJWÖv꾸g.ŠÃìkd»Ý™£es4Ä™¿´ž³~ ÃUÞ†9MwN ?Ž>³m5„+µ÷Q¿Àyµ…²ëéùa…Œ† ”A­H³„ëàÄ‘ï=Òa;l‡ä²–×.)=ü€\ÌmÇžÖbÅÏÿÚWÉQXÿRÔÈÉÁCãx§BMŸýœ|$ªB)5<¨MP…/ö&6 XÙËþý€QFÜûl¤9>¥ÄZúòEåþ$çaCÙ+¥®±=1#аcïœñ^àJ}€ƒëíâÉeœ+!Hñ'Ù[.«@fã=r£H¶.A œªX¿}û Pa•$.ئ­u$Y1 ÁºÃš xqËëÓà „¦;¶2ðá© H² Ý©JlÁ%bsFþ žÉÆ‹ÉÔUβL‹ ùæ—èÅJ¶’ù–Ü^ð–`Zj·óXfˆÆ¥LY“ŒáÞ+Ì6i ô£eíÉ{”»IW2Ù³]åû¤¿Y¼›æþYÀ¶H--]YÂè F" eB~XnnµB{í®úÙ¿iƒY6pFÌÊG¦;š+)]LÝÊþQÁ(BLvLôU­n…¤(t…`¢'AOURŒŒÝq•ÿž¤/×]šiEž§Ã€e‡æR±­TË~œv#ÒppÓÐU­ÛŽ×––ïþhê1Æ×¦O…˜.íâĚؒ“k=K¯ŠM·®l#æXSßòðáíC‚4¸";[k-ú”™‰œl¸Ðwp@öøZÕG¨y¯å‚7ÝæRÅè±¹„»4"ì›ß´ôJÝg’²æ’Z¦©¬®E ©Æ ªØáì±|R½D³ö3ÑYGr¼tŠ~êèþ/*»‚Ý!Ó,Mð°™.zWL·ðá7ìYØíëâ¬Éø|ÿ/2ŸKOßXš¥RŒiO Œ*ƉI¶edãºG<ÜïàEÖWÛþÎwÐIC³lyÓ©Nw÷R7Ћy™Ÿß]}©ÔQ“;7Þêî¼´ËíB±i3¶äÃ×:è•^1Ūé#ðÓ +ð‹.›±bŠÔŒ` £p NÏ+D·ô>-˜ OÖ©ð’Û^%å^)œ¶h aÕƒc¸;uU5…ý^Æ]¬>Uû°8³—â1Õ½â„PKѵg».OzxºX$í^„ïæÀ:‚K3¤Ÿ˜ì?Ý,v²Çx“ÖX{ó6_W›·_NZZ›dÈ„µ¢ê/Ÿše½ax(‰SêéÈÑãÑÊójVˆ#}ÿ¡}#ñt¿$ñ³”c³›DÁ\ü(qãÚÜ>ŠÌ·J%b²aË#ƒmï_Zp&~H —#¹TÈÿ'§ëû4ÄMGx\ŽŽÝFÛN¢l6eÑw:_ŸóUaTÓàûûQè"µð.| +E°{ΉšsGšìTWd‹r-‚Ðo¸ômp_ÚK–O”ó«iR˜É%W¯óß8•K;¬J¸’8ZÄÑ!èqNïáWjžj鎘?õ~Ÿ®28 d”â °ÔE5†CÊIøÄO9,­àq¡|oȯ›|Lë„Ék¹Fg" qʺ<vÃIÜd²¸a™¿lY´„PÏ-¯ýåÿx’ªúžá‡:ñ*C|¹ !¾„ãà_åQi6Jy^2E°Ú¤•²œð2¨þC±‘7cà! ÕÀíƒ¼Š¤–‘Uf«ùLè ¬_ÈØ_F×½!ª|Ö|ßkt›] Íà¾UmcÁõH©=ð¹ßÊ´BÊwW¹þtc ò€TZB‡S>¤ëÄÒpnYÁeýuIqqÒ ‹ ³ÝY p5þü½(€„Ÿë̈ú³eÍÚe^·Ä•Aµîã¤üýÖQsEí¡v²º³‰Ô¼Ï “´k‚‡ÛNkɧÐtv hÕs‚±ƒedx1©¹åŒ]ʪº»êXê÷<•iYÖñú Q'ÅfkEÁ†üºÖgݽԢl“•õW‡v±'Eh¹š7Ø«ˆDÔ-pÔsQáP[t$Tò¾ –OÅÉ Öboå³t4#g%ºóã4h®î™ìFÓ¡Îé=dËql|uêµØÊ{–?Éb?æ z£ Ðj&¡ ÌË¢ïhëk¿æÅQO›Cµ`æŽTy#´H<”¬Vkº{Î!i¾I î’ºEJØÀÂvLÆ]œQLå3e˜ˆf % ùJ§£fÂ{%;ÎE»½ÄŽ]ž,ä~ÆŒ nnßÉBéFWà¨Ðôç*ÊNL ñ]èpì^¤Âðg9÷#+˜÷â[o„k7K¹?\•þ‰œ¿C¥y ÎÆ\=¯c S=[Ê-òiæ«ÿ¾üCÔ£†XaÃÂ4`3Ý_ÿ&‚ŒS• *ˆGØ’ŸÍÛ¡TâM ÐY@¶¾¸ÄúKݾÎ耒 ñ3ìuϳÈÕ™rä¤ P·¸‚§,ºL&”¥’¤IéiÄ=R<{«·\Zräd)SŒà,#‚[›’ßå ~¸Œ¿»Ü=]é8 À IéqKÙ)¯+ü‹Câ´¯UIæ—–1Öt%æ/±Rï …"ߥ/; ¸áš^Ї†h²üÖÅc]²Há=Í\ÆäxÔˆ8#…A51=.Óâ+žüì{’mŠªúù2ü-|Õø£PýFáeù¯k’W{;ƒyZ‹KŒ)Ð=Q*MÁC©0n‹$q-ýSžpL¿Ò kBR2Xã*틎 qh¹hAÞ¥ƒ o1UZ€_š_;¦†2a ¨|³J…ŒÛà»4"ŸéÌ¿¹Å¡ó4ã…åh¥¢…Ïr” Õöæ0YÙB„hç®dœ2Ð`YšüA8É4§ïØ–3Ñ™—£çú+¨ï—k™àä§|Tÿòdå—RyX ’a“8‹YG ª´àõÂÃÂÓ[ ]"9YÍÝ"K& O«ÊÙ$İxqÔ¶hÍ„KÕMüÔIÖ7ý¢\¾ßÝût! ×§/;`†½¡m¡´Òùöt¤¸²7Ÿ~z§›quÕĵ 8Ž~oó€Nƒ eg¢F7ðþoÐp6¼¢~6ܶ•ãOí”e‡‚š‚%OAäð‰[ÕLáâ5ˆpsß§ðRQGùù+>/6Ëïia è®nR!!Ö•¥ ¦, Q»³üLè,“R¨øù#0­èR¯5Šr\ç‹Ä?~æT¥qÃy@°5Á3œŒ¤æåÚ äæ2ßÞnÔßÐkÍÅùL÷a1éÖ +…¢·`ò€æ,ôXppËÛ °íÂGêð_Uô¢èÛ8Æ`>&±Š›% ¢Féä¼Í:0-ǾES _ µ3f̉üán-¡É ŠÌ¿ûStôJÔaâÓNÿ}ø¸N‚AR›.`°ðZ~z•or•ÚrYÕëÑW7̬ٓ”TtŽf=3Ì- KˆÙ÷Ðöþ&JõýB”¿$C~hçL $Øžh¤#§–Ê‘–èe('¾Ç&ÎÇúÎHžiZ£uÝ6ÈuF¨Ä¹`%ÉIÛ GŒËW{÷âltÑ@Ñf0HÜ«'[A1dòðˆÎÇânÚ·½€‰«¡zþx¿vn•C42„ƒ Ê£9¢lP}sˆŒ‚¬üüª*$‚¾1ah-æˆakczEÌ«ÉØÖ2Ì5ï$Ý~Yàó"b.(2KtgÖÂÓð55÷ÄS*¸M àxòmŽrŸŽQù5¥Ï®78ûp·F‚H9-Þ@€B‡´œ¹“¿ Óƒ®ŽõõSÜPIãÕòÖWR¢&‰$¶Òö¨¨Têw›Vœ G—_u/VGMÇÈšJÎ¥³O^eÈÙàå‹~Ë ?Hªà2æÎ!%‡×(=0‚püVyc¥Wc.l™ž¹e—/­?kŽÍm8ç^Sñ¨‚H\ëAìðõßX1qhte3 %¶O-–—QD÷!þjéÌ¢j+RîÈ}°RŽuå¶>úux!;=/P²c|P©v õeî?÷ó¬Åm‘³ì>B3Žr¼ê¿?Ú¿Dwú€öFæ_E8Jî/ýÈdÄvIÅœß8ï¦\$#šNâZ"F!ÙÖ;wjp\ E‚,ŽÝÚ³‡ÈBèÓFXKüé “Í¸î©fÌ ôg Ñ#$æ L'Å15‹ñ)-à‰é*HùÃwT$ÈB/³ì߃ÁðntP ›Äòm¸œ§uoËÁÛÙŒ¶ÎURï1µrKí¯`Kâ½êJüÂ"ËNÙ6öj©À>‹=Œwð4g\‚ëÆj-ëP}#)ß×ÌÒÍ! •1ºŽìm?K6¯ÎD,Žp÷Í1®œ§T¯%#½‹ím5€•P¯Í?X I-Z¥ðç—Úxó”ŸfG*â% Hã0âqs·sRRÀzÆÚŠ“׸có 4 ÕÿRB`ò¾! :ü}Ç+ôr&kÞ«Ýè~rá°È»DCÔ«ˆ²c眹A%¼;б¤ÿ3Ft‡—ÌÕ½§Ý·Ô—àT:Ï(šFùlþÖ8bÃ!°ˆ+|ÔÕ[غD‚aµYº¢¯{A'ŸäÅ%eh|LtúŠM  pyi~ɽ>©.݈ú¤(IRÞ¼ÍJ§lº0%ŸlLVW4våîçë†w¿”À®_¾>È0( 7¡wº¦¥‰N6Š`Cæk+Ï„2lðî›i%‘ 7˜âÕ0K#*¦Ç‘D¿n¥ Ñlñ—`Ò`<ïÅÿ¿jþÓ/¿ ,U”â€oý­` ±õÌ)…±£J‹«žæ%‹3' ©ûfÿº—b_6àÎÐF¹À©ÁY>›{¢ØàeˆwÝÆ‚4׋l–Åï Ggx@rÖ³…¶âb±‰÷(¿É—ÈRâvi¸æYÖ{½*ú¼rŸg˜ƒM+t´¤ î]K¯æëÎ*|ýÑÖÌç*m£?ظ ñ0P„Lº¼óÂ4NÉóŒŠÒÝÍ ãXºÕáú o`E£ºguñ:ÎR«Hà¦æ¸Ã­PmßÍAï‡[ü~XêünUwæõ˜ãÆOºu½àʈêÙÉÍ \y#À\{Ô‡6Ä®[µåyf¾¥šfóÞ†±4ý…ÿ¬­åÀˆi ]ÄÇrö <ÎZ}<$=˜Šã dQEÞàÞŸ}ŽÌFe–´ô4– ¤äU“$½ßî˜C² Œ(”¤VJiñ‚R €Ó+-ЧwIæô—­\Ãpr×'-ª‘wN¯7>/ ,Ðkkõ%¿ýŠ!C—_I0 @5kWößx™J7Ì>ËY™Ê!i¡Ò$sQÿ\ò?~2×AŒjËà&"« #{ƒ`Z<¿ôÑÒ‡ÏË.M“ˆ+N-×èõ[@f8ü[MªÒ8Ð^04sUMHùÔ“./#AÖîô …7éì>®ƒ¨G½|@FEîcSÖÀ¾QÇtŒôPˆƒ‘eÐȘʦрnvÊxî0¬ïήÿ‹'‘“퀡³<«”Ä„š6xu4ÃCÿ¬çiýœÛíé4©“L,sõ|ë€xÄZi AA:F½×,”b.ß›’AÄÓÅ,ÌfÕÔ]š´ßRQÀ¯0„6rÄ~u]5׿îs¡æö+55+¶#uðä†"+4Ha,&ñ’Îäø¤àìze©E÷‹oôYé4†vQÕÙ"*ø‡µŒ;§à N4Äè0&7}h¾¯vµõÅÔÛ £n~UÕ,¡½±g«¿j ƒ6;t“møüžEÓàˆÌÁ9D ÒÀ|‹×äË›]“äÄn ,m*4¹4¡–xþ7âtÿî‡õÉ Wào ÓІ!’íÌ€ôse £õ$Ý~YU âô"ëfËQŒêæ=Ì (ŠåÊK5·¢úÌ«‰lÞ›>^õ‰ð`¾3*4x‡Q` Ÿ²¥ÆÓÁ¼ÎO˛Թ¿œ™ØQJ€.¯Ù•‚gY• Ð¸¨Æ;¤ 2Tn6ÆÖ˜ÔY¦/í­ÏŠ7,ˆ¤CT‡ÓÊŒmxꟖ,‰Y>Zá”…û°Âè2\Æ.ÿ/çš™V¡†"[s€žàÙìHLàÕEîpÐN™7:u‰°êqq2]_êMµ§–ßÚ=uªÔ妉 ?*GéOÐâ|rk=zŽetLœc_§ß¾ƒÒ:è±¢žÍá.>i;L®…i:åO~J´ASÓ„Ÿ7eﻬVÛV´eرåPûœ¶g׺Äh,½J£÷Œ%Ÿ˜‡kÇ?{^‡†“|Ë@‹J¾5ô »}ÈU”VqQƒÚFí,µäz{rgÚ|çœý8¡øÀÒ”›<¿gFˆ™–kÓø‚„›²Íg/Â:Š`‰Ú­_g¬iˆç—!NëߎdrßåBFêè«W+LKwû4I×9„ô!™¯p×Ä>·+¼3Þ¯=§ß¸D°lkVbô‹ý5 ]Ó ³ƒd…d÷ñgè*§Ö¨VhQÚæi0;iÎW ½( 8´Ôr™ÀÀãQháÕí9ÿëÀÆz&Ð(âjÐÏ­´]‹Jóå߃<±d?øŽbØ­}AÍRXCÝ€SZCõa ºè@€¤â_•¢¡r€8Ñã‎Ö€MÁÄWŽ «4;SéävÏ¿±˜·ß’UñjÑ»õocú„ÒR¬©Ç_ Ì@álY)Ø?óä½%¾5^¶q?5¶yuÔá\[[!›¿Â5µŸéí4¡±Xc3¶¹ké]‘}ûÒñuŸýOô Þ3uk$žˆïbt—\> endobj 18 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 295 0 R /BaseFont 301 0 R /FontDescriptor 302 0 R >> endobj 295 0 obj [ 676 938 875 787 750 880 813 875 813 875 813 656 625 625 938 938 313 344 563 563 563 563 563 850 500 574 813 875 563 1019 1144 875 313 343 581 938 563 938 875 313 438 438 563 875 313 375 313 563 563 563 563 563 563 563 563 563 563 563 313 313 343 875 531 531 875 850 800 813 862 738 707 884 880 419 581 881 676 1067 880 845 769 845 839 625 782 865 850 1162 850 850 688 313 581 313 563 313 313 547 625 500 625 513 344 563 625 313 344 594 313 938 625 563 625 594 460 444 438 625 594 813 594 594 500 563 1125 563 563 563 ] endobj 296 0 obj << /Length 297 0 R /Length1 298 0 R /Length2 299 0 R /Length3 300 0 R >> stream %!PS-AdobeFont-1.1: CMBX12 1.0 %%CreationDate: 1991 Aug 20 16:34:54 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMBX12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /QMNTHK+CMBX12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put dup 40 /parenleft put dup 41 /parenright put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 74 /J put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 88 /X put dup 89 /Y put dup 90 /Z put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put readonly def /FontBBox{-53 -251 1139 750}readonly def /UniqueID 5000769 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ_dÍV`÷Kî–y ãZúÌ÷±€]¨Šãu M™YŽ­üb[Üœ1[lòŒ›Ô'ó,t\™®¾pÚ®Ôž¤ZùO4ªG‰J7 iŠº½¤!U±¯&Ï·Ý¢¼h`ZNöÌ£ÖhKGÿµˆz;íà´ÓŽº¿ ˜ #1&ë¯(›)$ÿJ3K…ÙÖ…Eý­´™s±èjF¥¯ˆfÀ"P$Õå†-IÞµØìË•ÙBƒÅ 6=h¤qDVð<ã` EŠkÀ³ªE“NrraÆŒJGø ×~Lò{6ö¶ó¬IŽE6ùà¯U'õãÌy 0„gK>&)o>2\U]$XWЉç-1f£Å×@³«±'ÏB 1mùW‡= LðÛ%§5t¤Þ.O-]NŽ CTÏ4Û>&wÁ”vN­XÅ…ôžñCþŸßÙf å ›×¢¨r™¼1žf×¹VãC¡›“È–~äqŸ0 þXfðÖÚ^Å^$Ó·ï£%ÔG7dé›È±\ò¬­úlFcè0…]g<銷_‚Ÿ¢&«Wð{>}N|ãÓ·ë 05ŨÙú4H4ý¨ãÜžlGž>îš TÉ_¤cÑœé6àYŽ1— §»nUÏÕïr®Á-š–u$y£f³ÍÒOσ¹»4nŽAy’غINz+:Ó΃«µÎƒÐþê}=Ì|z`ÇvÙ+™D{.ô;FW‘LEc6ÎÅåoè,Ïý e&ØöŽÛºHêà–ÐíÎת¥¾%&e‡µ+Ú o=—çͺ'¨aç9°Ü®;-Ïsg}¶l3´K?ËS€ŽEhAr;²û¡}5Ù ¼Øõë•·Ž7_Kß”Z´Á‰n+€½µŸç KÎw©$ZˆdëòvÔ¬|ÍdÉ-ª‡½N“+~vŽâ^áR®Úë[å7’È–Ÿ¿Š”YõüÒB+ä'6n± t/,§–“?úÂŒ[Z­±^ ZÓ–½gÿ]æ(…¾Rýn§Þ)ñabüD-jM•K¸‡†p<=ÎðlZ‹Þ‘;èźáÿâʤê½ÙdkvÕW÷Éqáø "Æ]w4éß–™|?ÈcU{Ú߇7»I¯\xâc»!ËD—S®$¬Îqc;jÈÞÛ!$Ì¡v¤ \–wŽÞ°’/[Q4D÷Ö@â)ôŽKñ°ø„a$jܯáásÁ\ûVÒb± þX1¨{´ÈÛÒŠ¤z3r€ ô.5‘6œ¯”[jªÁ¦½m&J†Ðt{þrÏ=«}eÆ¢o’=âÇt êiVÙûïA†Ç«ô‰Æ_é|}˜Wʲ,¥„süÚ›3s`zóÕÃð÷^5ºÓÃ[‘Æ7TFÀš91bQâW{™rt¶Ù¯§8(÷§\YËwó¸}2{jKÜ”vjÉDƒˆ~Ò¬‚‚òô_ó%€ŽR˜ÅrƒðÌânŒ,ÊgzÌÙqx£)=øƒœJØšä.t]­èüwª$47-£Xhþ¦;ƒ)jŒ„¼×>©7ïk®ÁÏŠa°OR{æ0bízj*{ìZ¾adöÿY„íg³‰Þø5Ñåm¬ªÌPïÀjNã';WÓå-[hP|µÛ5@ ©Ø®3ùŠK¡ÿØoÁ‰pÁI‹—òÙ…[VüØcœÜ¼UärÖZ+À¬Ìkð?mÚ†²ÒÇAõâÿ«¤Øö»5s<[·,O‡RdÀ*쩲rÍÖx{»Ì;¿ û^+ºJ+XÙ@')úáé²úƒ+,œæCîF‡ÀóÍzEÙâXÃrÇ0K^½)±‹e›0Åz}…½ªü'ã‚õ#áfW匠8 8t>î©ö Õ"&íö?4‚ÊW„½u+±0óÒYxÚ!¹FÙÈ`˜B(FÍÔs2ćʹÁ²ZD%¯˜·áýé䀶º¢ÌJØy «éÛÎyó+5¼RçrÄOyê©>ÕH!ÈD¾°\vݬ$[kæ¸B‹¸m».±—΢Z‚¬pe“µê J?Œ1F#vd6YýQ{çký½ŠR/GÞ1}Æ“g\Ý‚ó‰S?(5ýÔ^tsl5z7¯8âAKm7žACáïV7;@ ¨X|µ7ô Â{}n$Ù¶Ñ̺åä%Š®HÀbHà¤U¨?¶?ÃgÔÿ kËSÁ+ê²F7FA! HD ;üKù™v¬C¤_g£ëC‰è.ÿ"e¡ÿaE6I€ëÍ¥­vá}’†ö&ïOñ9 VHÑÜû'-©àM΄(U ’’ûˆr5³Lë q;ɈùÙ66^Ó;\Q啘¯Þrû¤cÒ!?ù8g/Äd)þ¤u{é û*Bõ‘lPùw„ŽOÏþÔ2±6–DÏîâ~”„Ol‹½TÔiíh!nîÞ8!_Cçv]”'у€ ëêDå?Ò=õ}k3 ù5Å'ˆR{N¹À¼‡Ñ˜>Æè¼‚~þõK»²[,¸ª†$]B‹Æè" k##ê ­¯{~,÷#P8ØE”÷ÏüÇÈ©b¢ˆµÃaýœÙ'{dº³‡u¹«ÝhYŸIžGb×8ü2hŒá1ÌZC œ?No)õÄþì"³Þ‰†Ñ+ó€ÿ×þ0õôr­².¬a >S©-É6­¢‚ ÿůbJ¥B1–䘓ÖúܘP­Cï9ÞÀ™úÁ]+ò>Ï ùÐø»E¯æÑrLÃï‘6bX©ˆóðÀ©Fse-÷x^ûH+áÍC]Ç5ô.h T!¸‹>£ë Ü”y§6ªŠS#ùT|ª©¤xY™É•ó ]]Hu ÂëÖÂ$ôì³:t±goH•Hâ‚›€ªw܃KíîÑF¿“rBᮊFºŠo­º„·ê½'Q¶@ 1–%c8€,޹ä/`è_è€Tè„Óg} ›ÐGBD¢Ð<òç=¥\pm¹Ñ+y®9ð’|ض!å!BD—éñ)XŽóR3Qä XÝOE6ÜKy}Š5¿˜>ž$íWTªô@}l†”0'À•ž6¡† œ–ž‚‡@©•,µLcDpjbÜ9槪 –XNòÛÇ„e’eVüèVH|û¹%uw ÆBè•HI†1`¥@6Ð<®Ä§-e6y—‰V ÷€‘Šï¼‰þ® Îg±tëÍ‹fÑV11DÙÞàÄ͹ ž´€—Ùi¶Î“6P%ƒH¸iî×{ÙÙ5ëp¦È„2Ù‰OÐÜ'âØßD¡ {Ïðc‰?Zȸ÷°TÕÓõ¥Œõ * ~ßÐE€ñ åËÁi¶×Ñ,+ÙïòÂWª«»ù×ñgïîåBi¾w´Möä×Óöpv^ÈyòÒR“L±©d¢¬’‡®øè8-_©…`#*v­û®¼äAÁk£ÍSQ“ìŠ7¿ï‡ÜÎA|ïI8‰óU'ù¿Þ—|–k>vJíuÖß?÷GæQ3ðË­èüÂÂ÷ö+;P£Ðpš#š4G£ÛΆ•€n,Ö ”qƒ…Uë£Oi]™” õ­O–$]-óžcô=ÿ¡`)µ›ü=&¦RH5@ ,AS3- äY¾ªe±c )€ ¼Œ™ºÐêÀ$`þ¦°CZ ÚMä¸/më…d`Q£Pj ࣽ‚Â/_'@˜ÑäÅœ:X—:¯ÎPÅÃôg#†qÁ¾vc‚P!xà^’TÁ·¦ü÷ñµ ¬i* s46¦^:&bžlvƒõâ’T*;¯kP `/˜¶Üô±ÅõEkAfc ÔêÄ@2CÒÊJws&ÙÆ9¦šÒ¯vøÖ«U{|u2 Yž·(3@é&-tõåŠÁ‚R:ÂÑ¥ .¾‚'Ï’5î_órN—£—<ÄòÅ4·R3 å#Íèâó¤º%‹”†oüš$¹ô#H¢±V6TŽªKÄ×ß4}¢^S=r–@-/}ûÆÈS:oéý`cmF¥cÍ—Vl0Ô]œÖ1 Y!ý 쌔֊vÎñ_þÓ§ºn¨,k¨R™x~r7õ²¼q*–-ƒ!*Îo;Ĭ—‚šÖ "Ç/ïz¹á6­[Í>Púú Ÿ`g|.û òa«/iì,uš²Ù« ØÃ‡5ƒ¡1cQ§¬ûk äi屌W´ 暃â²Âæ/žû‡‡íjL½[Ê­âTù'žØ¨[^7+ç•â]&QCžL1DNàX©V„½ÂЈŹŽÞÀbrÕÃðO—;ãsSÆè,Ð Õ°Ú3 » çv’™óTù.‡ÌGœºòK8YÝ|ÝÚéôì€oç ЂQ‡öñ'ÇKÕªó}KÐøÃŸÝ_ÕOÔ_KSƒ Bøq6VÊpÑÞz:if§F?âå^òùOÙ±ƒÈ̢͠H7ë¥^{À&­²³­?;L1Íxz-ÿ,"3ü]½ Ÿ‹.n4ëN¥¨7Âú>C§—çÖaBíò°=l~~²ÝY}úX,ñ}e[ùÊ’€ÚÚ/ ¥±ýsÌ@²_Jëãçž’‰ß¥ ¶òä ¬Aœ-3ÂE{[¿ø=pj¨XG´š0cß<¥ÿU¾.‚éð; b^ºÝ }Ï «ý†b½÷Vp Ž”:eáâù­-úó渚•‹‚‹Ë9Ã’·Î¤)úÇ8([¦ ¼Aà¿‹ŸfÙßz#ž®Qu[‹ØÔê ˆ¥ìbÿ;zevâ×D¤=Gœ A¤€ ª#ý}s(d“<Ší£Ï$áÍôºXØ´¿±Íðô!ÂGŽ|äéÿ,¶9ìx¨/§£YðQç’½Öš)n 8Ù0ü)N¢ª»Ç`À¬Å¡}¯ã!"C.†eýÞ¤Îi_Ñ>+ÁæÊ:s=™°|d•’v³·E–!lro.ë:$RëP“Sz£¨´NÒû…ÓÙpOR¿½§§þ.0Æ^ªðÆ Üð]þ‹-{æÖÚ©'‹‹÷3SVé¸É‘ÐRˆùC9Sp«ˆèP-Ï´ºÎ\&‰îÕ®¡‰a¾ìXùö>…ˆ>7å¿)f@5–ö±r ý•/ñÚ1 o´ åz’å#>)b0GKßȘ:æ B,Ð?¦id¬)¥de0Rä”Kð¡¡P-üòͰHÔÿÄ2´oÙÿטí(Äkhý—~…Ié´ª¼"J)l_‡hÂoÒÿj(ô_¨#¿–|3ÞAsøØÚF¨q®þzMý//«\XÍÓ;˜’êb³È…bc’³ Úë|MncσšK‚nÄk¿!xÌs ‡ÆC;¨ßyU5×<6DaƲõØáÚ´T|2·ƒ’Çç…RE¦ð7äinÝ÷ó T©°4W·MËûȈÔü´ã¶ü”–þºÈ/l%“~«Ãã×eíüÿ%ëÞè,ŠgÃþ˜Ñ–/Nz@˜±Dz¿ÓÎ_±M‰YÞ×C­Eªì0²Y¦…¾ˆŠIĺö)Ü$u"Ê É²¶§ùºŠc´P,À‘|ç³,§oùÉO¸ùâG+ž M‡5Ý5=— ½÷dò®.4ý]ºt^ª¹’ _4}}<-‹ÙukzH ©h”³Ž5ï©?¬ë÷JI´ù¾ôú5€Ï…T)j>ì‹iÓ0‹‚ÞN6ôÑ-õæq¢j'°°®_&€ìÔùþ¤•cØ ®q³õhæ»Ì÷u"Û 1ÅZ¹Êcl|­Õ®Ä|îýŸGÿ·£7¢§“-èk.‹¾ñX¬}ú,/IB^oK§ždûá5t*Hvb†á êÍÔ>=— h‚èFŠ´džlV`sÉC¾§ŠÎ-½*áoõÄ+¨±¦ÄÞb¸ˆ&K s÷6´p™ÚïuÏ¡÷n¸•Î, x :b¯ +‰–äMã]›.ŽÊJYÇ«›lqgímè£Ì²ûÃ5vg^oˆþ¢åHX¹Ó<ÃéÊ¿òU<1n/’êµ68¨“ UКÆÛ…«g¦ˆëaÊ zJðÑ}J ɱ#ß…ªú]Ä‘Ú(Û‰Sm-m>is¾hãìM(¿aŒ8Aç=-(W˜ $™¸ÜUÙ%Ð_ØM«Áëéü"ßâ@Uñ•°ã÷puØL¨-;.ã€ä|} Œðе¨çÕuÅòFÛÔ3«•Èx·!nºzþ±4ë6ñm¼9!˜¿Bo[ä“ymðÏòÍÁkt’„¼ÓWÍ5Nˆi}Yàc‹ëm=b˜> ³†¼ 4xl\1ï~gÁÜ×ð¥ÙV…ÃìICëcÁî_íÙ´²wý{^ïPaÚdœaß¾ªêj¤bþ{Z‘[×wU3Hé7¯‚{SGHžx¯-IŽàì eöqÎñ#qN®(ã´ÛËU›où¶}ʨAÒƒÝ7šéŽ­DHòm}ZÀ=Šeäβ®éõÙJ%*åãˆ6  Æ;…¨ø™y2R :zž¸  KÊW¶–®\ø¨5NMå0²åò~Iÿ¶ ü1#=±7¢]½W/÷‘™Ìã>¦Œv#Ä0V‡Ô rïÉ·Ä-ì!©lúÁYd¡u`ô D9X†ß pЬÖ‘l>ŽÈѪߑ^ª=PÛ,"óœ½Yõ¾—‘§vÙ’ÝÕ•òf˜¥Fâ=iœî§8AŒ½×n ¸Ù‹v~ÿ,ËEœR"BYͱî/A‰ þûc9C›Áݤj”`nê®Çª·G>t‡HÎg9qßu@ðQÄòÃ/ïÁ[ãÍW6£KÁuòÏSÖn],PˆQ2-èã­¦*— ±L0ìþ9rmd2§ùïíîÐŽ†ª[¿Éý³D„=831: ¦Ü„?¯Òd ÉcÉ~ª‰ÈoÞôn¨\†œ{÷Y>ó Úh”>Åÿ³ñÚ1ðï¢K&ÏfùX´š¹ oÄî¿vƒ*òÕ–Ì7DèQ•Ä 6Û*_ͺ*ð4@\ö`Á+©6{#Ú»YÜ[oÿ¢;ä±`‰%hÎ…BÙ}©=U-À" Ã:+YU i€MÍn‚ö³DÔpÊá‹Åa¼æ:íÞ…tsJ•#L‚'k4«ܦvŠ^×U€ ¨†Ï|Ûm30Sµ.ãgøq1Ö–ï’±¸. ÔÇ ߅Z;ÌUêÈðÎ ! _Ä=¯v¸7z°“œ`…&L!”6Å)!5„³M7/@VŒe뢤SI±Ý˜î³‡y%Æù0CTîäÕo@5O4§ƒÄ°‘¶—qa*Ý~œdU£½…‚SÞ)ê‚bÆ·™8åÉÚ„#â@f(Û«©û^Ò`¼x,É¡Ï!P Ƶ¢û›¨ÓÚÒ\—4o©¼’"ó— edë“(Te"Ö±m n³Tô%æLð¢AÒùÅÖÓNŸ6È.¶õ%ðo©,-m8N¬‚_ !VòSÂä,×xmµâ[”‘yL S"ø­fˆÙo–¬‚;39}–6 n¿«7fÅä]—j9‰û‡ÌëP¥ÀÎwQ§ÏtsoEç:dø¦ÐŠÛìU—àŸ*ø eÏ»’÷‹ò¯¦ó‚.Q®›¸²#ö͸Ú\éŒ×}*LC8Oð§KM°½ c¸.â)ÄÖ“(ÑUí¨|œ±Ï0˜¸¬ùÔ\½š zÄDùw;âO„$°”°š î!R¦…㮈¥{L2¶£ÓÕ±éEãTˆO;íètyü¤.bM! MD§Yóö‰¦sš}­Öµ!‘·ŠègŽ˜otºàØ#ĆñŃ¡™G<˜;†È߂ѿdF^h[FúçeÛô‡bÝ 7m[z‚1D;žl¸z?J§&„Íu8ä‘\kS2‡ ºÆëž@}mN®·f s¹–ŒŠ'q’n0²Lê奾 Ÿúv~hN0>Y`tØ#˜ÕÎT‹§È±^;ºŸqÉè^ULaý—N´ ÍýÕ±«UzÏçZ ¸å™vŠžMÝ—¹¨Övƒ<ƒò‡•“ò ”xY1*çË,O¹uØ0§³ÐκoææŽÞ€bk ‡Ä <äw=wß –2,D¿¼Ïôf=£ ј»T Œ~¯ŒX¡7Ä}¨N„E6hú}|˜UUj‡N¡GžøFÏK5)Ç4ñ‹rc‘ŠÓx+*~(;¶ ®ÞV¸jûÒl6ªv+xj5fÌឃÎÌ Òëþ{ȘN=·@MZŒèHqA­+'mt§d}í¯ têÚ*.º> s`Ó.@¬CÛ›QC >‰¿ñÉMÝêÃ$ÁD-Íã SÉÅ…H÷nˆ¥9QŸ¡èF™n¤Š•@¡ò•pËÑÿ°õ'ÒH/NëGûƒ©ˆœ¾AÚƒÆ{?5M9«î(Ë\q•”ª/J»Æ±«¡çæóìáœ[C&›ðÑrPüv§ËçÏZ]6‡iôã#Ra ü[ëçÄ-‰ôŽNô!½±ž¶Ô ?íüe©,ªëq£Ø{ÔÏ/5'€ ä9‹”5Ô¤ÊÌè£ ¤††õ«õ7Ó9õ2†´QäcçwéÞRC`¢²tÞ¥L7¼p|’C^}ë¡sšNŒã€mÉ>ãµL¸™6.õÜ%(xF#b¹" SBg“)Lf#LEõ6Ø\’†[ß·Ô§‰hn¶O®{ª3›±¶£s/çe±t‚/éêVL^˜½žšçŸˆuEðv0„)ìƒmühÉÒ.cAF{&¦ŸE^sII5Ĉ“ð{£¡¤‡…öL¸´uÓÊ{H»½UÆ€B¥`­ÂG'ÞÚ}U~y#1:0ùÆžGN¾–ùgTN[·Oõ!òüyÕ½¾/Ä IlÃ@^»˜˜TÄ©H ++c’+þ ’¦ÀêܦÞjÏž‹¬p(I·‡ÒñJ/Rûúpü3UA'Òò8EíÎBÆ»J(ÁÞµ ‹‘kµÊ¥ ÃÄð 'Y1È ô„ÞÒušÏî.:È ó†ÑKÿB³¼Ø»Ÿ¾-ÁLFeÚWbêmòMeŒ½£ö¤®OÙæ›Ÿí¤æøC#¢šêQö3;^÷hý4GJ“³®øN’’e1ƼBþ³Ð¨·´!¤ç†Täóû% ulVSMÓ-NùÇÂ¬Ë ¦’]E Ç{8Ùê%ÁüäǨ³î]Š6·$™nŽZÕövÁ4ò’‡Y6#änð Ñ%“šr\”*S‰ÜTd\†ßŽ:î7–œÉ)~|Žeí8ê©rùÅPºÔÊ ¸nՎЭ»-fœ(=…l?Ä­:€p•^qiù«>Ý}ÃÕÓÑXöIÚ®þx8(l#€w.. :&LŠ¢uEý2KÔ&@>ŒG®¹ñö=Ó£o~h/)‹ZwÖÆmÖM”•«ê캹$ ¾ð•RaKY9&¨vrTÈ—ÍR®B’9%´aÿkwUþþS~¼}Ž6¾Ú-Çô{5ùŒÏ´ƒYmhj=¢vð²ôž1…üb/:xû–+¨DŸÄÖ÷5S@ê¨_"hÇÚÄ/ÅTýàÙÄéÅã˨>¸Õ°[´1¹Nºô\¼ÄC5dì®WJ?ÐØ^5Ê;³"¥LL^ÜÄîK <ÙàG-ó°è™ãcß¿ªtþX+Ǻš6ˆ›­K籜8ý9®3û ä†!«ÝÏï1á[à⃵[6ö(SÐÙ䔪>N‰PøGOæ]I6(Ó.%ÒkFÞ)²e¨½lµ›a¢š”ÕAglÆ:Üü1‘*<Ó[ìܨÏE£§R ãsÛõZy¯ùžêÏþÔþéÚüi›IÛ¿Ùs„yÙ(]wºÏ#a ˆÖÚKø‡2 f0;”Nä!"×ÎéçEþWÓ»ç]4ÊQYS¯MÉ” ª·ÈÛ¸39Ä ý¢}¢¥„6ÌqÔuxS û‡7wçBqu®ïP¦vxóY Êc¥ÿî®®Òƒ×Ç"îêë{ŽgçÞÄ‚cN¡¡­ÔÃ`ľMã“RˆP¸*À¤IjHh/•1ÂãÚàÒJš{«?Qݸ3zcùð<×ì»–V8 e‹«òÚ—¥mº*cö`Q^ ^TŠ{þ%ÿqÎ=F3_áýŒ@cRëÌõvÜBsƒñJW~6“á§¢aE̓dÖ2G·hÄØrk†¨¾S³ó÷.V BàÂfƒu‚a ;wi.ñ";Q·×ÉØYk{Ì[u¤Wãs¢ „ÌxÐÙï:#ê“·Ê`R Ÿ3ÝÒiŒEöXêj®­çˆ »Ðåáø]p°ïßè”Ü&ˆ“S]CV ŒƦXM›ðß?wíÊU\åSpκ@†!É?ÀøÙ)¾;¸BTVÙ‘¸¨÷øæ¿,{ìÐã§/åZJyjôÿbÂVB|¿Î§èx0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 297 0 obj 13541 endobj 298 0 obj 1788 endobj 299 0 obj 11221 endobj 300 0 obj 532 endobj 301 0 obj /QMNTHK+CMBX12 endobj 302 0 obj << /Ascent 694 /CapHeight 686 /Descent -194 /FontName 301 0 R /ItalicAngle 0 /StemV 109 /XHeight 444 /FontBBox [ -53 -251 1139 750 ] /Flags 4 /CharSet (/ff/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y) /FontFile 296 0 R >> endobj 17 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 303 0 R /BaseFont 309 0 R /FontDescriptor 310 0 R >> endobj 303 0 obj [ 612 816 762 680 653 734 707 762 707 762 707 571 544 544 816 816 272 299 490 490 490 490 490 793 435 490 707 762 490 884 993 762 272 272 490 816 490 816 762 272 381 381 490 762 272 326 272 490 490 490 490 490 490 490 490 490 490 490 272 272 272 762 462 462 762 734 693 707 748 666 639 768 734 353 503 761 612 897 734 762 666 762 721 544 707 734 734 1006 734 734 598 272 490 272 490 272 272 490 544 435 544 435 299 490 544 272 299 517 272 816 544 490 544 517 381 386 381 544 517 707 517 517 435 490 979 490 490 490 ] endobj 304 0 obj << /Length 305 0 R /Length1 306 0 R /Length2 307 0 R /Length3 308 0 R >> stream %!PS-AdobeFont-1.1: CMSL12 1.0 %%CreationDate: 1991 Aug 20 16:40:41 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSL12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -9.46 def /isFixedPitch false def end readonly def /FontName /OGOAAA+CMSL12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 65 /A put dup 73 /I put dup 75 /K put dup 80 /P put dup 82 /R put dup 83 /S put dup 84 /T put readonly def /FontBBox{-56 -251 1102 750}readonly def /UniqueID 5000799 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª)s™§„̾…´™;.ëÞ;Ôr·ÏTeò…ji«–íK­/df5à¶A|Ç{S/…ØÇ )¡šSïcë\^ÈŸÆÂm‰çÙäp·+ïÚ#õßv¾¯Lé17¢íŠ©×Öýó~kÍàÙ ˜d#å– ]Ÿ»L•eVèßËúìGo£oÙ¥È\šõþÙÂÝÒkÜ ™9‹ŸMÖ¨ð[G¯•ï(©ÅaÛܘÄ|õUûÑÎ÷8ï¸ékKaÙÁ¢O_Ⲟøž¤2 Ëã"«’nºÚ¬ýÅxG@˜*Ü–¿ß5†øÁ.onX‹D"mˇÞü3ÍÇ9ÎBóÍ9X¡Úg#£¿àüjÎ8•i`à¢ø!›Ê0µfšnôŽOÃ+¼ÃÊ|ÂÇa]¬ÇqåŸÜº0óI²¾ôìkE]#½îÆi³¿RX…{”+÷$`Œº¨7Ë’¤r¸”!ÔºbHÔô÷ªÚNî´³ÕzL/A·æiš§MŸGC¬h ¡‹V{½Š+ÌêÁy\ËQˆÇ|['ßñXYAÍ&—1”xžÙµ'‘6¨¹ÐÙ—ž^€ùZ"8Q¼àë¹OÚèó/è‰wMrúáyõ¯98Tû©ssKÊåMÓ=ê0±¼ª’ÙkÛÆ®•ã`:Ú ²¥*Ýù5þê§YQ]ó&ˆÐé[7Î#éôZErv‹«tdØ¡¿{ïíþÄärogŒ^/na¯žZ]m¸Vå8SX‰öÃa¤šl6œ&€ËvšU@Õ¦$)ÚîN*õ—Á-¯7³Úëfº”)˜­Ýcß:ë/ÄÃC:êüÕÒá»#ÄDÔg•J“×1uB=¢uH¾‡¨Í¦Gæk]‡êmÊhˆÇö¡óƒÒpÁ1(µãõrÊsÄTòíùÕþåèÈâ_F ÁÑÅn‚ܸr–û>Ý|×3 ™©ûwÝCÌfE¾$Ð*Î+úK½¶†1â÷Ù`¿[W¾/EöFqn³=xŒˆßw!ôÓôí°=<&h·ã„ ¥«[;{0+¯‘£Ž?±nIG;Ъ}üo…ÞóÇ8Ë÷Ø`búg–ÁÌX¨O4j+ElýŸ¹Z]ÿ¼ÃÈ«gôxŠô€ò`Xñ™(_E3ømon1]šæMÑÂ/œµÓEDð»#MÚIOA *D·É‚›í:ìKÚ;¢y;蔳H …?d7±¯´QY ¬ü£Žðå8¼+1#ü­7¿ʼnâØ)¥$¢æg[™Ü$’p;”¥êÆë‚ÊòöàL§æsgI„ó9-zû *6 ƒÉvžiü*РkìØ™}¯¸¾ržÔÖn®‰OTw”‚渺@©‡¹Œ kËüÉf:€-=æÅ¿ç4{„aÈäý}§‰kI³H© ÌÛ„ï=F”«ŠùEˆ>|W¤“««È~Ï´Í£¾x7Y}ÜAÆDÆØ÷S½aÐÕñL9ØÏ)¸Ú¡-¢6 R,K—é§ôA7±M…RFR'æ(D( ÞÎÄ®>•™&Æ·•UðÃï®ðí} ÑÝÌ­%êHHÉUnЬf¬» r:ŽyEéÑÍt4f0©S÷¶¬FpéˆÜOåy{=5êAJÉZÏFã{ Pß¹Z:‹¦¹nÁDëIëÛŽ²vÍbêÁ‚—s’r\×âgù8J·ÖßBzñǨn¹ÆW '„:%™íÖ•PuÇûÕþ G¶÷Í]ކ`ÔÚOÝzä,x˜ì֢ƻø³ C¯#I3@áåF±;—A_¬3YÂE|/©½týÖeoø,»*µáØîçà™MΛñíÌ2Gøuí(×ÃЛSÜ 5>3¸œA‹¿¦ß&2ß[ˆßUŸdwÙ–¾OFÒlm8>?ó|6ôÎÓŽ26Vìi'”+\õÆÛ<;M6E‹…zQIjEM%b©ÉÏâsW¸Ö}î[A—‰²¾ÖÒ™Q¡?{±’(°V[3Þ`Îr’•B`¤aã”Ré/4Mí$KK3Žú$©wúzŸúÊëMc“ŸÊ'býDÁ‹£GE£wëäÁøC¢Kh%a}NŽìØŽ]+cžè#åÍVÌL?—®î —µdm¬R¶å å²ymã’t +€rÃÑÑ?(,²Ìµ3ë æ1mø«e§'@Ì «ËÓASYçLÊ üž™}D{äÎ’jSÜDæk]\û¸Èb5–Ö(|¶¥nWÔåî¸é”¨FüØ÷ rw·ÏÁÄ+k¥k×d­[Ó‚Á2(êÁ£ëQ5zœ 1åîdOhÔ8}¨AGm <ã ð³ÚvºR¼13n„t1Øc'SÜôŽñŠx÷ï ­ÌÇ2ÔŽzýöùi“}ÓRê Éõf;Nˆ Žþ¢­94O¶9¤ËÈGQÍÉ{COÈtµ)‰‘ÊK Ù˜ñQcW×u»màZêK†¥\NÐÃWªo˜òÈ·—ŽÉ5út)RÇ|™i"'F$MÁ·e1DÙìÑ/m¬_˜¨Œz\ÂçÉÈÅ BíÈ*ʪޓ4äLŸÈƒ•”'ü[¨g%­q N¡®£Ñ\(ÀYä·¹^8µóá'¬T!@9R´¬w^觰μ9—اÈÀ‚ñ…ÐFá®_K )Átªu;4Jçi(råà9T?’*´€WWýEnØ#Û,°Ž4B”‰Æ)ÃG7¦ú˜ø«ÇäáÃó]L¶Ä7=œBû<ê•?}õ£bŒ4E­ÿÐÖ%ç³Û_yk¶âÑ0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 305 0 obj 3758 endobj 306 0 obj 849 endobj 307 0 obj 2377 endobj 308 0 obj 532 endobj 309 0 obj /OGOAAA+CMSL12 endobj 310 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName 309 0 R /ItalicAngle -9 /StemV 72 /XHeight 431 /FontBBox [ -56 -251 1102 750 ] /Flags 4 /CharSet (/A/I/K/P/R/S/T) /FontFile 304 0 R >> endobj 11 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 311 0 R /BaseFont 317 0 R /FontDescriptor 318 0 R >> endobj 311 0 obj [ 893 339 893 585 893 585 893 893 893 893 893 893 893 1139 585 585 893 893 893 893 893 893 893 893 893 893 893 893 1139 1139 893 893 1139 1139 585 585 1139 1139 1139 893 1139 1139 708 708 1139 1139 1139 893 329 1139 770 770 1016 1016 0 0 647 647 770 585 831 831 893 893 708 918 753 620 889 616 818 688 979 646 782 872 792 1343 936 906 809 936 981 702 648 718 720 1135 819 764 823 770 770 770 770 770 708 708 524 524 524 524 585 585 462 462 339 585 585 708 585 339 938 859 954 494 770 770 893 893 524 524 524 708 893 893 893 893 ] endobj 312 0 obj << /Length 313 0 R /Length1 314 0 R /Length2 315 0 R /Length3 316 0 R >> stream %!PS-AdobeFont-1.1: CMSY7 1.0 %%CreationDate: 1991 Aug 15 07:21:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /DAAAAA+CMSY7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 3 /asteriskmath put readonly def /FontBBox{-15 -951 1252 782}readonly def /UniqueID 5000817 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª/ ùÈ­éÙÀX¸~›id}S5žQ!gt¤ê¡âµŽÃkÑJc;•r´NŒ^ô¢¬µŠ ¦X€5¿.ØSyƒŠ– þ+'êIÃqV˜œ…â:¿r㚉#,Ùô#È ždèBZ£¾÷ÞÖ *R’*"7Ù¨ÝyÝçÒQI¿e©ŒŸâ±ÏrZp(IJÿæ8»¦±#†Çó+£PÖ.¢Õ²NæÂÂCÍ;ý ð+[i-{'¾Ç)ïÜù/•ÝëPphÞ Qãì¸äCæ¾ A¡øÈœ;Ák5,4C«of^¬^ Ä"ìüXáWeBL‘œ'>¢@¾{.•·‰Ñ'b[¼·>PPë.±Èåó­D§W­,Å=‘{ý #VX†î6ÐÃÝnz¢ïœÄÇñTž`šqÃÂæN&=`¥~Ÿ+GãH ——XÏø£`žƒ —ý1ÿ`ý/›ˆH§­MÅÇçsN,/‡ ˘·»åk‘ÉÏ®—KÐ7y;‡ïÈõº;÷}v@áòЊÛúÐÝ)¢ŒQù ¡Z–”ûM‹Ñx²½5ð|”¯r¤Ìf%– ’8*Û¾´½_ìHT®.®MO¶&´…-ÑXwö÷î_·‰ãze08ê«0ì¬DS–­ ò*t}^´—§—Yö½»“㈱¯Åd1UÀi°Õƒ!î¥Ðûxeo>š¾ÆÕ•÷c>&Ãæ{1@Û&/ô!+xÂÃÄZçlÆU¨¸içBý+ä/ÓÞGPS S"a§ŠÓˆ» ò3Tp0GvÿÇâÉE¸s阮+’“ûN²1×â­Ÿ$dö3EE¤Ï¦-Šñ/¿°#täqyÿ­/4ÞMÑ3œæ6ŒYd)¾µ¯±ùñ·gøz¯-ÿ¯†‹k|ß*µˆ#ÊûÛºÌ@ÏÁRì†9ƒn•#ó"å0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 313 0 obj 2045 endobj 314 0 obj 774 endobj 315 0 obj 739 endobj 316 0 obj 532 endobj 317 0 obj /DAAAAA+CMSY7 endobj 318 0 obj << /Ascent 750 /CapHeight 683 /Descent 0 /FontName 317 0 R /ItalicAngle -14 /StemV 93 /XHeight 431 /FontBBox [ -15 -951 1252 782 ] /Flags 4 /CharSet (/asteriskmath) /FontFile 312 0 R >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 319 0 R /BaseFont 325 0 R /FontDescriptor 326 0 R >> endobj 319 0 obj [ 625 833 778 694 667 750 722 778 722 778 722 583 556 556 833 833 278 306 500 500 500 500 500 750 444 500 722 778 500 903 1014 778 278 278 500 833 500 833 778 278 389 389 500 778 278 333 278 500 500 500 500 500 500 500 500 500 500 500 278 278 278 778 472 472 778 750 708 722 764 681 653 785 750 361 514 778 625 917 750 778 681 778 736 556 722 750 750 1028 750 750 611 278 500 278 500 278 278 500 556 444 556 444 306 500 556 278 306 528 278 833 556 500 556 528 392 394 389 556 528 722 528 528 444 500 1000 500 500 500 ] endobj 320 0 obj << /Length 321 0 R /Length1 322 0 R /Length2 323 0 R /Length3 324 0 R >> stream %!PS-AdobeFont-1.1: CMR10 1.00B %%CreationDate: 1992 Feb 19 19:54:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /FLOWLF+CMR10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 40 /parenleft put dup 41 /parenright put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 55 /seven put dup 56 /eight put dup 58 /colon put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 77 /M put dup 78 /N put dup 79 /O put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 87 /W put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueID 5000793 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ\÷c¼3Râ*Rç?쨤‡±ÿÄȯ@› gSr æÚRÊIƒž†¯zE_ÑðÎEˆMvï,¹¼X!ý%6]Þ¦ä_3+_h¤JØ¥0ð’£o¬'ùzþê –ø9¢¼K“$à€ï|“t¡V\)Z! ¹j#ZÅš›Ðz1ôœUA~ "p?”ÿ{u@š]A}¦s iãújB)ü~Ob ÄÆ°Ê{z;þ¨Oí9ÌûmT[²¼Äž^—d«”UlÔð$ïW›h¶Ü:¯„ ?Æ‚(r6Ž;BtÝÊ6¯cFÁCÇrÌ$/;!,K×q¡§Lš”í“¥ûeWôàuG¯× ˜ì£¸®h˜7–åñIQß[u2¢0ý£µuZ8µç—*«Á# ™üøq¸Ûô•Pºêœñ¹|¿ÇÌ–IŽÌ“‹¶pe}é#¦YÛ‡W{ Hs(çãùÃ}ˆ²„CE à¼îêäŒÍcˆóü;ïØÙÄ[e/SmV&±ÿ i×2Ç¡ƒmc\0ÀkíC'sp)åºX0¹èŠ@$Ã2jÒóOGµG9´ˆ%­f™÷ÑêLJìD@¿mª™Þý2b5–\cdy!‚‹òiìÈz+Œ­lx¶åa°—¾+ÇÊ2´S@uöIéYÑö5F>qgžROEowK*øþóØÆ;/‹™þsºD³Ï¦G£Ç¡Íx=>´JÎå u›jLDfâØ÷džk­åß4ÒÆü‚ÉëÔØ.ä vî¬Ë|Î1wªm·à% Q–iw½Œý½ôÐXDN}}‘xê™|¾E.gK{£Í ôTü¦ š >kµ&ÒÒ½mxâ“o.<nô¢&lõQ>¿IÔÙ, “‚ 7 L‰³ÒUí/ÇGGS©ƒL@PŸÌEdáõ·Ô‘ÏŸ5ß: :""lØ5ùȸéM-‹á/Êê5p¼ªÿ7þÌZÕ˜òB×8]4ÁÁt/Ä«É+Iüªëιc/xäêeŸ\Ý%ÚË SqÂúP=¬]ÅóåIŠ C!­å¬#áÊÔ½¼EÁ~í!™|kZµ `f<ÇÒæ§·$TtPx´Cí÷·á·Àçkõ¤n¹ñàó÷ƒKA˜ŽAYÑsrƨíF0¥Š,tùšu|¡¤žbk"]ØÞfL`ú­*ðyd­NÅä)ìQÉ÷Éùl¡œ1$¦?ŠÓá»èXN¥ˆÐ €EÐ>Äc‹ÃfÕèŸV=Íÿ[miGU>L’áfqcÏD t—˜.¯2'§-ì;p[ÌMŸôRÓÓ+¹êS"Ñ÷#bpôøë¯`1Ôi0ò³…ÕzàžéÀ‚C€±D] ~+KX>`·Ÿ¼ìÆoþÝì÷™ø9ûN(V%úåU™¿Ø0H¼?ìÓª~¾'XèPŠl¡ þ+MŽkг‚p(ã¹éIŠ-«Žþhqœ®—.í¹=fKræ¶„.¯¸¬y<,=l2ž“Ï0êùÃÀ‰¼F¼nd°¶¯ì¿ÛQ6£_ª@ësPNœÑ†¨&Ðÿù- ±ß&D¤r!Û€ÌOp]ìñŠÜ!&|šÊhŽî]–×ëÍDD•_GJÒIK¤¸'íÁ‘.ŽzËH*‰$Q]„"©A eì€ÀÀ…tƒ`Ã[°ªvv3&›ù­g}`5¹–ê dzˆ+“ÿuÅÎ éYžŸŠæcÛåÂvã¥päo‡<˜‘h,Ë0EAâ¡0ܲ‹2õîL?ænø(”wK}¸Û½y!•Lÿ¼°pÕ"iôÂÑNÓgÙ”ù°5xïåíÃ|HÙE´Î5é!t-÷¥ÂoÁЙt)ÏÀϲ£.zÙˆ·8†ª,"Sg,v›và¯ön²Ìýÿ »…†}ËŠ-°!,¶"Â[¸­·"ã&˜W¿Úý¢_«GcrÒNÖ¤¤B$Öý·™²Ìpv¬’sÇ6mù‰úó{‹,W6W'ô ŽìõØ|Lêòî&Áâæµ—Õ=ÀðqÙØcÅ®Ñ<§åY5_þ[(#. `þ9ºÕ™é —%7Òœ’¥~mÚs„9q¶ŸYx¤ƒ a’ó ÆìðüŒî°ò?û§õÐÉ™ k ›ïäi^%ƒ+ÍA%­,å&0íD`g­«cWH] Ââ½p—VR*Iö)»L%RïyŽC(—&Âe7}¨`Ô¯úmù 7Ið™ÈÔ“Vô1püø¢:o%±¥¡.?³2KÛM‹-‚n¹¢·ÎB‘<òÁ,­,–.µ@Ì™EŒƒS< eÿWLûs$†hr µ’Ò˜ó6ýXÿlØC´:ç•z¡L:;s2‘§?= øH½F®Ô½}d,¬¥ÔÓÝX®;èÆl@±Ù „Dê°@R4—ºSͳ¬žÿc©ùM[1Ç/¼ÃUÉߺœU3¸Ê‹_È9kðÎÇÊ¢èj¡VÏ;©&Û¸ýwxÎ=¹5Ø^ÜŽµ)ÐmÅWo€F C÷óCh(QÀ9ìÐOfûú^)½V>Em¼9‰—'µ«oo7&àUV PÕP™Îw|j»·]³ !)z¼Y9(™¯ä±Í.Æz‘ í(T?úFxžúæxJ RJÚ6W£°ÙZ–· D3Sãй§f~ I ïI4ò>å.C–‹H¯ÉLo`£õ‚~ô»ŽŠ£ç±áб.èd‡Ðˆ&Ûˆç?”\»¿Eb“”Y·iðÿË€…ñ!àðYÑ®à?Òæü½…7fH\/“÷þº•\ ÓàÌ…ä1Á ’ÆW  ÀIñýš»¬ÛtÄ7,Âb³(`Ö_V"µô.]F¼ãBçnœ¹õÒš'h5c]Ä2?ÇÑãÀr_8¯4kô'&j]à8ÙÙ—ôÖÑpG— ÎÂÂ)¤âÙÄPUóÄ\Ü3¾3ì ‰%RE¿:mlÖõ }GuX¯ÖcÅlRÃ7—“É^åÂÅk*WÜðĹ® ª$*†‡lHôÅŒ;Íf¹Çែ¾A0ÞEBî–¦ †ÈæØÕ°¢ÄýEÌ[ì§»Ÿf‹?iÄÿt+u- =öœ4‹lÜl2"ñf£±-Ô,¥¸s«xï%VúyYÜ$s¾ôBOH`©iQ8XÜ:n*² FÏqg¢#W#:)µO, yŒ«­×PÒê}.J¬¥”jS®¢tàÊ‹g…ˆ,T=Çh9I„)™sDv£È”\ßõŒÑP›H»¤f’àW™¶ã*•1ºÕO ,Ry°+fÆK’»ÓÝû>æ˜ÛôùÏRÓOéÌã'8*m¿ûê ¶£ê†3ØòGe‚!‚ÌžB)|»FeGpN-þrh·Š·¢…;ü¤ Çf\d!†þGpCRîŒùkhÄ”]РRTÿ Ñ0^g^ýý²S¼¢3 z7M“?ãö€sè•0zQRx9ãlÀàuˆ8åo;ðï«*43U6‘[¬•cüû%刽9€Ågñû–é_AõœËš®QNÌßã4'kWû#•àKöX%þ;½Ý)5ñ÷–øÙóI¬ƒÁ¦Ö7h+ç]xÒÔö!~æ¼£0Ɇóé¬sèa×:UùˆÒN†¤xrÜ4»Î-ÚKa$Ô€0X¼(…õzïcÛIˆÉª½¿$DÃúž›À—‚ÉüI£±ÛòX –x¶ãrGKÒ7æwËO·Z’¼Ó÷äÓ¸\ô~¢ =)µ0Þì[õªq>):/ÐðZÙ»Â9z”Ðw:™ÇG†qLw+±è„‚å‡V%\Yœ» ãVi<G†¦Ð"C®®fývÿnHŒÈâ­µ¤€YOLòWU0vU¾j%Õ—co´æ,~êJFsP‡Òdh‚ M‹ "þ­X;DùíZ1cH-ŽAÅû·•\‹Ýreþ™Ìé&Ô¤¨ý/ yYÍÂ&¿ºz§øe:°””û`ŽñEWÛÄÔ”û‰È~©Gè®û`#Ã#oìFäÑ„øãs szIœÏ³%‘¨÷lD¸3{zï ´dTÁ Îu8:Æšg´Ùyµ!IÊ(‚]–(B“Mß70A©‰¯]`yÅe-§©¼¶Ôí:øÿ ²t@:’¦ô2è†é·ÏÜL1Nÿ´6_~<á\Éß\„GÔ½é)ˆ`Ãq8Åsõ7í†×õ—1£gÎÆô1?gtû0GRªXBµy}YWÚª¥KR8àÐoŒ ¡cqƾƒM?¹/zËàè*ëí‰ô°6¾ö¿9¿ñ2gÆI¡äµ³Éø [âýß«rš±ân×jоã<÷Y)Mÿkcñ2tº¸h)SʆÙ6c.‰Ï눇¿« Š|-êGUšïÞ;D?ܘ8ذ—Výø¯ŒÊ6&%êŒ2ëܹSíTH¨OdÛ# mfÆnZoðËÅœÁy‘TG8é‡cŒ*]Ø o¥BãJø¢ÌÆ'%E?Q,öv¢(HDfåWu¼ˆ®d–9ˆ&¨Éx&89¿0i‡/j~þDžhfÙIÕó$Y²'…¯V­±Ëh/x\!Õh”{Ù}ëϺpús²Èˆ͉6´³wƽ Ì1ð7Y¼qëš ÚpÖ†[Ū[ A†4[D8m GSétÅa…ÕŽåä ¥ay©Œ?)PÌgPs3P½Þ 1àySýë+sê5]çæZ;y÷/_ÀÜØã0˜/õïXýÆ-)«Oº£g/…`Ü·t¨SCÊ)üõ)ÂoEuD’:T w³p‚ÏîkTpË6Mn¿cäk÷ ƒA#Ïíóm4FÆþ¦î™IK_RwÁV–$£gçÓÍr”íKóé M5éîld[<ÚÈjP¬³O!ôè€ÞMj»ÿ9ƒŒÞÇŽ~ümÇ¢å>xµîT§Éê öGª’¯¢ ñNìÑÓÇíƒÈk#–¯*¯ùT½=§:û9Ú5c¹Ím‡Üúý߃Ik™ŸQMɉ¢q æê ôÑæéÊÝO궬è4z)Ľ³A„™ƒ­]Eä…¬ÍT¢…zO¤vQIȺMkÆJ‰þhNÕ†ªÌ·Ž’þ_:ÿBHË㿱>MR9 ^øÌ17Í#ãvg…œ6†¤Ïöµui©*g3¢mL'Á­¯pÅÔœF—©c[’tF£ÙÆÁ9eé|ÐÁ‚N¯“þ‡îCLu_èT²öF¹T~Ó¦'= &|2 HÆBIÒàEØ«ãÉÊ×Ïž7µáš®™DÓ€¥æÈw†mÕ¸tÁÄ™PR8WmĉÔgè!€Þƹ‚ä8ðDs~ÿaد”úåm§¨_w­ŽjȘ¶ªÙQt—ôûI~ü¤j>š™Sm„r%IXmC÷µËèw£¯z”r¬vš.Kµ~oŸ3oùöÁ Ú;僣³Uíǯ—¢Ð²a%`ú‹¾[$v™}dcÈåVÆ•pW*ÄŸŠÎ›…1‰­2vN°0¦ž¯ ŸvMÏÌ"ƒ*’Vt#Xb6ࣸ !UbRÁrTÆûdgRë”zÈ×ëBU»=Ô«[^LwSÖR¥Ä—ˆ0¿2µª+|Àz{Üfss7ôÎ%TœÑX3LGÛ U-pp-ðŠÉß2¸u×=a£0Wo׆ª®=} ò‹Í& ¡L`š Ýø= ÿxK7e´=Ûv‹Z5¼Ê“‹º-Q°¯P':¢S* ÈÞʆVPŠÕl}ü*8.Úͳ¹Áb‚Ûv$FãòkÍèïƒxŒt´ÞÖ$ûX ‰Q N…ik¿ZPƒ/è,´Ì3LJëœÑa˜n¶5·s/iAB-<¢Tëö~ÁÂF8×-l÷„Ì1ƒü¿ïT$'6Qm¦}³Þò¯„õQüÏE/^“¿àH/2°|°X2![™¤I.]|?®º9á{Œ˜E ÒÄ;¶ØÍtr5]¬æ7ÿ4ê19ƒ^\lmó¤7ÓŒA᛺ۭqìMN·‚ã÷R—xÎŒ‡¨”â±ýL½•<3ÝÚ•éþës¹Â¹ŸÀe(Ä€Ëö„ÕÒ=ÝË?åÆ} t…œåa“pa7oyÜ !YÖ·E‘¡/Õ*úlh|ã뺯§ý™0²¤#¦SD&4­ìÊ|u'(œSÎÜ}þÔ¥øZ"w?°?âð¤/ÓmÏPÈÅV¨Ø½M£O'<ò ä-~;WäÆpÈȶeØÐà•H›ë‘ÒT¼yYñj§Ã£É…f;ÁÞá$ëäê´vÚR»Ó]ÜXI- è-\äÌî7ž¥f×f̪RѶÎTÇ1/7ãùÌ]W?b®¼á˜ÃÖíSZŽ}8æQù>àV€‡‘¸©Òdb=A»ú­|æ± B ü©PDL=´ÜT,·•>ÁÕÙx Dõ¤ÎMb¡€QwAâ®'½ZÇŸdõàÌie°Ò"cÞOº&^ÛoBJÃ_ÞKä*LÍ=`sÇ$/󣫬‡]ÅêÖšVo#«†ê~|¿ÐÏ'ôñ'«KÞLp`×SâÌàüÀÕAµj®9uºYÿ°MÃíÖbÕu ¹6'oÌ3aBøn²|œ¿…ú\z&Øœ¼|Ræijõ·p’å°¶‚!/É©æ>vÞ‘6FTS¯0ÔÓµÝÔ!€VlA²$"šlE¤Â$ìK4Ã#–~JPŽáºbÊA—ñ ›KÓêß<ÞCõÇšÃ^ ‰H¹#Ç9Føµ£jù³`„Tø½ U£ËÖ —ÎŒoïÙíÄÇ­qÞ\ü΢,ƒô>žÁ×¢~e¡Šã(Å ’¡ñ99q½ÄšD(râ¿qíù´ä) ›òbr{u‡äATÆ »£w‚ #ËÒ$dDÊF¢c-ªR§ÛÌöƒ<P”Ub¾Có GpXŸqÆ@/ü 9²z†Fª2oxͨh3I®Ç<ZW]HN3[{ýRT„a`í7üVÎñ³‚gXQŽÝ„‡Èê(Nkz7ÁÊdo yÎçv€r‹›ã …IîÎÅ.€¼‰Upê)Œ%¡mê¶0ç †€bâè¡@Ô‰°TrÀ¤è?1›PXv±À ½÷-²-̪,º—½;úÏ=ÙâŒvÁl®_½ºÛs ì.O\é{ÁLÅozÂÁü”‰ÉsBÂËïˆh•¿S‚ø2R- "1i;¯“¹õ M„Ïx;7„~Þ-GÒ#ŠµÛ™6ÂI£è\¢FêJRD0)¤ÿÝQ-/Ã'|ðS-±YöE󪄊>z@IB ´i!µdùXu¯q:{B¥’c›Ãª.‹ed–|–På@’(‘±Ó:œ#=HÄzaÛ—LD‡€æ*Ÿ~5ÃU›·pém~¹ }& á¶p$5¶tû›/`W‰~•X²cº} ã&Ú»1+WëÉtúª§w(a:RàÞ}Ò8¨…4ÇXøœù ² (Àe3­¦€iRû4ÇX|J2ÿ¨Ì— âg´^ø~È™V \Å:èIUZ’oe™ewòÊó'n/3PÆ0ˆYi±¼*MV}/Þ>Yb5yñ½Å&«zkîHm øÍ]ùë5ý%ƒÄ–g©™,4Íà¢èö3®$Û\Ä;.Ûs˜´©¦WÎP«€*×äù+ð€}ðb¸p1nIÌÝ C…lP­Ý®¿y”âi‘¶_S!¼¥ïŽfêAunLâƒ@O¦‰JLƒ¶~ɺdé­U½2ƒH=3 Ü€Å§ZäÂóaDü°c¯þCƃU9H2Œ1^·?†§Á/Æå Äv%lnQ°½ÙêK«,è‘øa•ú<ã¾³^ÎmˆºÄ•çwÀQÔÆ úÄ£_È%½w¹=[ѳŸK‹…f €´×!۱ϹBQ ‹(!‹3Õ„ùƒÙ|ðW¾–Wÿvo¼Ž€P6N×®”žÎ7¯ÅITÊázÁ13ÝdNú£½L[à [wmüŒáî¶8«ËO6\f¹5¥žà€Nð¼=M.vàïéoõÇä°:_ÚŽÙ7+8@Ö¤¡o+Ä.øœÔøFgÃN.È„žùøÖ¦ÄȆ ™Û½3ùïŽb‘ƒ[Þßó8[⪌Q¤ó\])²[lÔÂXŠÈܸ2>ʇ¶‰ë„*˜ÛZF (‘áäèõ%Í•Ží+ÆìàÎ[ ÐU ›…~?€SX­"JLœ–ÿ‚«r Þ_³®À×-n.àï{A¬¨‚ v«õ’Jˆ@s—©¹·JŠLfåEƒ—·¤ñ+] ÍŒ Ðð >ö%ÃÿñëfâÁ^ÁjÃçE™ã€J‘ö6O\‚G~_8€=XW‘%Ól4¹'‚%«!€›`K›öÆ€â|œ8-ŒÍz¸_kXùPwüégÿÜÑØ÷¥h41ÖRotã`U-gµòôûy›{…ì2<£à9øÏ¢ ú®ó})<·4)í₟´}|Hx“ýÞÃdtFb^‰«ÉBÉx–PÇ™_æXk-u¢/Ä誹Ìu¶¼h5óoºMî³ó+G<æh9ô _]²*FY¨NOì%3¥èÊómÒo­Y­˜Ÿ—zVÇ‚ˆ©m¡,#³G:H¨›“drÒuDû{O¸ØÒôú²;YSÓû9ëvxoQqš¶ ±;å4G÷t_  ¸‚ ¯•ï1J}¿¤5–Qä1%@;@\ùÃéVœ5b‡É;šf¶lIîYn‹E{Ñlä†ð­€·8 üCßx{É}k”a+ƒ†ÕïÍž=FÛlã8LÓûÙ q‚'4CýzÅ&SÔ{eh24vK+Ž×n²íLW\[ƒ§“`¥cá7)á|o| Ô‹%¹.““]RKzcóÙC½‘ŸFçv¨ÄüËBV·ä2Q•Ïà·ø¦ÊåZ|(‰~á–¤&Ðg…¾ã³GºÉUhî„W‰Ì×¼›-^œ§­Úò¼§Ïm¿µêþh˜w.p’qbVãMq¢æ¹êWš‚e@]+šô›¯|¹ö7¦õÿ>™»>ÃËY/МüÆ>û”õ=ÐS¼jøá¶gˆÕ `*z–¿*‰Ma¢JSÞ’[y¿/N C”¥Î:£nó,¾iô–á†ÑCÂ@RÕÙÌŒ­pß(ÇOYîV¡¹t/¿½õ{AóK¼»UC‹,UMú²UšÔ,ÕX­BI]s÷)ÂI|ƒƒàj‰è ÿB|ÕÀϼÖ~S„ïsØÈ[ã Sø´N–ÍüŸ¡–÷£ô¡é¤«¬DS{hò0—“ÌBË÷ãx5•ŒÏÍÿ²G–ua.(9ÔôŠïÖTÝeÍAx7vkŒqœfÙì&p{ÿ‡ÃBå×>ûNð«" jQ9z°ÔN£lï­mõïO50Œæ²z‘É‘HëÒ%ý@jLèê>îÕ2ìy²m±ÿV”+oÒåKýA ©RÃËPÜ,,`«KÏSd… 6ÈÓé©™,¾9±|·“ô¥ÝbƒèAZ’YA¹‘w·¢ì“ +|.–p±,ÔAt”ÖL_œêúÓY°¯ú^#/;Ұ|‘ 0? H¶ÔAÆÁ’g­-Z¤üÕdúnÅ»KÓ°kY[(R­­c#ôgúÈ5ôdF˜)‰u4צ+2ªFzêÐçðÿiǾ™OŒw_¶÷ãK™1£C¾ykacõjjæ9¬wykÁB”èÓZe•–Txt ¼x–@s[˪whéBÊ1'C­¶‚^>¦³ "ËI-i”†B†4GoðËô’àé‚ÊñH’Ú·QxéêQ[T¾Ã‰2b®8q©•êNÌŽÎ-{É?¨©_á~‹ò­Sú tñ€J$–žfUÆ1ϰ Ÿ¾Fì¾þ¼C&,mA€[Ïðit¥€ð¸l£`ßéÕø9ɲé)_»Ll0¦‰Ä Ñ ¡Õ\J2ˆH¥—Ž’îuMÈÍè>„}€ƒûÄ&èAYJ˨~ªiÉVÛ«°µ²Q]¨ÞáV&•O>‹n2”ûw¹ˆÓ‚€aѨÜþnk?bT?i³’÷á+“„IÐ/Ÿìü' tÊ , xVHμ8eøNkAtûÓV˜‰õ{Ô-í›}dG³íx–Ʊow-­€á@Q\‹ ÇCÙ ¬¼ÏñêÚ =ú)#š¥0¥°ÄóX¼ži”¿gÌI³š–«8ÓiþŒa rs³Õ‹'r õ‘~ 3à}ö%p JAô#ì:‹*„ìʼn‘“9‰ŽÉO¿ *9Ì¡#wny´w/Ü“¥g)}¥¤òß<ãÀ 'ö'W?oü% fÚ”öBt»ÓŽPÒÖIõB¼O¦]A)­<…Š11ä„EžÃðúþlx“µ€ÔÀK@y UÙ‡4JU9Ó´¶MðLÌa5rš™·'žçq MA>j<ŽÅ~›{«À*Šo­Y0òJjé¬þùÄ=¶ã ™"Së°O’½ƒ0³¦+œ€áË8¡\rk²¿ù¡œy®¤²âãš°zõÊú¤ FzSvùct¸û™uÚw)ÙpæÄòí²ê6%²y!?75‡h=Á§˜ØXÿa!^)ÜZ0PqܤQ"¢0†RÿéõcˆŸ1Léäž=áM–¿÷IÒÒ#J? ù7áñŽcÛŠhZg©CùL‹§I®¡!ÚÒu¬Œ'­jÝuÖÇmJ{„YÐ)ªÂá4[u¬ïʈÄ´«/ô"{ÓUúï2{’`_îôÅÅj$}ã(•£„ܰiÙ×ÔÛyÅä5µôðRœ~<µ«nX¢º[šI¥Gz/™¿ ‘ÊvLêŸaxmÎÏo©ÚAˆ×@ÇqYpzé^:Žʬöb±<â¡9b&IWʾËŸ¥ñ NàWGÑ«³ÍÉ×hrBò‡Lzc{ü0ºeÈ[ÖîP8­õ’ÓcZü“l J³i2mÔ¿ò΃ÃÖanT4'³±gƽíáÃßO‡ô,ÏNbO<©ïÀøîî¼W]{Öhl]ïHË8•àÙœãÃÕ´(Zã È¢~»¾)ª€ó/ ZÀd…õ&~¶ñ#¦2_õH¾–›ßq¬ \Æu¾˜è'›6""ï»ìªZ'7¹lwâÒdé;;1" W&îæ¸AçU” æ íbåì—ñÝ­¹è×q²yëw»lˆÛ/‚e¸LäÕöõpe»#›ÿ0Q)ÜÁ6ʲ­¨µ7”¥|ËB³/Uê)É‚c4c>]ðʾVesuLF•®yÈ&^ütâñ€äó …ÝUteCVæç'XBùºD§ÿè ‹m¤h¿¸9:&3 9ôVâh™?)³ºÃ²«´ æ¦ïy4±/se}ˆÆð†PÄ ó”ßîé§~£k &ѧø—@Åã>ÿ6_rl“"Úú…aŒfyfáqñFŸ& \â@Ï’Œç*¯?ÆBšýùÄ (Äþ{È®¢·Bn[Êûþr Žö³¤åù6©Íâí§Ö…DÍzcVöoÉçEH6ÆÉa Ð …û>Sovq@0…WªiqŽåK²Ç)ŸÓ5˜¼3h—ã Ú‰¶ò‡¦ Ýã·Þ(Éàj±„ùax7°c–츋“,Ì´žÄzð§û×Zµõ¨ºA:F<–Uóº[>u¡O†ÎQüÉe ˜P¦?ÈT.å<Õ PCµ¸çB¤m€ÚÏý 3ÂÛKÉ;FÈÿ„,A¢ÇP%I¾eçk²Ý®•¾UB‚e¯«r7ÎÞYÜo>,ÇXgd[0§6â!Ö$'µN~oÂ5t¸ÓÍz~Ô`]Ì*'å3a£þhø˜W­‘IüÛò5Ôuäƒk=²óñ0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 321 0 obj 13434 endobj 322 0 obj 1618 endobj 323 0 obj 11284 endobj 324 0 obj 532 endobj 325 0 obj /FLOWLF+CMR10 endobj 326 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName 325 0 R /ItalicAngle 0 /StemV 69 /XHeight 431 /FontBBox [ -251 -250 1009 969 ] /Flags 4 /CharSet (/fi/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/seven/eight/colon/A/B/C/D/E/F/G/H/I/M/N/O/R/S/T/U/W/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/r/s/t/u/v/w/x/y) /FontFile 320 0 R >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 327 0 R /BaseFont 333 0 R /FontDescriptor 334 0 R >> endobj 327 0 obj [ 692 958 894 806 767 900 831 894 831 894 831 671 639 639 958 958 319 351 575 575 575 575 575 869 511 597 831 894 575 1042 1169 894 319 350 603 958 575 958 894 319 447 447 575 894 319 383 319 575 575 575 575 575 575 575 575 575 575 575 319 319 350 894 543 543 894 869 818 831 882 756 724 904 900 436 594 901 692 1092 900 864 786 864 862 639 800 885 869 1189 869 869 703 319 603 319 575 319 319 559 639 511 639 527 351 575 639 319 351 607 319 958 639 575 639 607 474 454 447 639 607 831 607 607 511 575 1150 575 575 575 ] endobj 328 0 obj << /Length 329 0 R /Length1 330 0 R /Length2 331 0 R /Length3 332 0 R >> stream %!PS-AdobeFont-1.1: CMBX10 1.00B %%CreationDate: 1992 Feb 19 19:54:06 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMBX10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /OCBBAA+CMBX10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 46 /period put dup 65 /A put dup 97 /a put dup 98 /b put dup 99 /c put dup 114 /r put dup 115 /s put dup 116 /t put readonly def /FontBBox{-301 -250 1164 946}readonly def /UniqueID 5000768 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ_ùc‹‹sˆ×t Úí?‚}¹ß´7-95†ãžç¬Ÿ¶©µÎM/®ÀåZà+üFCxw¹ö\#㺴úãDÝÉ«<ËÀa‚Ø=ÇVùÕ¾þË-°ã™—òdÔ½oe¥~”ÉÈ„š²é Ï£¬Í‘ÿRJ­rb±QźдÍUÒãiöè6È,YáåÇ?Þ?£ÊÒrÆ|l¿C¶oä¸g}¯î¡’ˆBþ±ôªhz­mÛä2qNyœúIØ¡¡(ó.‹($¼€AñæNÎ@SÄŸ ìišu¸'.Ÿ•‚m³öC3…€Ž3Љ –!vÏf¦.:ïm‘ÈŒ‡Þ°<æÌßO¶Q™†Ñt ñ!w=hwß…ß²i£Àz¦f½óÅ=¢1‹¡† ³N(ºÆè-ÛCå :Éß’w .BÀ÷½ÆÙ béw0$[ŽŽ‰¹"P˜œU£~NY®*ž6¶4Ÿ¢À›±õôC>NïÇ^?˜0ë^~o¾&f¬Z9Œ-ò(*ÏŸÊVV9 ƒ|J™ì7@ØsÏï.$‹DÊF“§‚YMÐi+M¿ÄÍ즒ÄDý¾÷¼SW[ò'1ç÷qy4­qZÃ;]6y·„É@FæÍ< ØÑöV&±N3ÏÚn²‚]ÄDúb a[Àsÿ½üÊKõ kÔƒý†9ùèÐ$[F=e ñ,&Ȩî)uv–Ãñ1DØêVIj­a©Iç#«µ…™“ò 5Ík~ ­…QÎäa’MÃjFJ¡±L3úû†.0ÆlÅVemÙ;Œ Ynžâ±ª´y÷ú£Ry­´h¦$¾&Õ'¿õíàgYŽ‹x¤¼û Qi-°¾»“ o —´7âŇka¥c¢g92ÂX3ú£]²*Þ#5ÓkîÉÕ°àÌQa?a°¸»éYÇtVSQj)ng„Èùàk‰(Fº3㊮FÕÝH~Q¸G Zxš8=÷9IB“rü•Ó{ÄÝ_áëYEMnŸ*ܧ}“ëÀKyWÀü3ÎK)U£Nº—ûÞ©ã>“[½GR"øõ‹¥÷õaç¬1®bÚ;:ÔjŒ®Ì3g¢©Šß²¥g¢Ò€¨7†s•áêÒ…÷RМÇhU§©ËS‰©h7ù~£ä¨d¬šú¶—UQ[ã²#ÛOMâýü/»Ü‚U%ÄáóL«qbË ±µëÊ”°†Ÿ´”GG>ÖÊhmÁï¢ÜC–19ãÛ ‰Y­LcªìwI+FŸ‹²† î)sí#‡¡æ2¤òTPˆ– Ž"L#ý¨á$²æ‹ôÓÿWbÒá8¶´y¦$; 7í*XÊL,q¦—è±]8 "Q¸SIJö†œb •û“yþÔ¶Åÿ!Õ k8 PÔáD—Œ³Ýµ%ÕC¢;è8_nPÃzŠ|èä%¨úüéb³7µŒK#–ál2†GAj:¢‚c"¢Q©êÓ9ÝØacI{¼¾kû¯‘~º®ï]ÖTÚà@«˜s»d~ØæåkI½Eÿu´Aˆ‰œŽy™)ä[:ß6tÞ]Æ?’„öXõÛ3«T û‡)*üÆš¤Ù¥÷dõ8e,'$ÙeT7OŒTl+‡º'#ß3ÕY4ö„•ž_45ÿï§…ߤQƒ6)AÍÕXÛLM²›3”´*1A°xOIEØb&e9¸ýÐ|ÅÌå ×Csãùíç§÷@ÀÂJ;¬s„.m¨PñüQDbÃ-6x~[`VãV`*Ú*²¯–¬ âõJ’ýI¤®¦ÝS"ïŸ%Ê<ùu“ž%vϼ¢Ç˜O<ºÀÅ8½’a·(µO–¼àH`ó˜K¹}ÀSW÷U±âuTTàÄ‘Àid³‘YCm™Œ€úÙ¢eøL¥ÓFÆ ³›Ñù€Wk&#¨,“¾µ]z‚°ôÀ#tÙ=«‘÷q¤>{.sL·F[[”é¥hQ8Á …kíÁnñ«‘b·ã±åˆT*pŒ ùKGQlÓ‹w±ÑÓ &Š[Äœ‹$•kçwjÜÖßÍðÝ‹TÊXT1’½¿1¿€(ŒuÜ¡uõ\yøöþ¨“å¿áÚ[¹^_Š#W•€ ¨ïô–HûuÍðrF(÷!p%Þ³‹9%{ þus©†?ŒD¯ë~HØi$sJ2UË[Ø^‡\´óÁÔ¬¸g]€)ÐÝê~-Ç ¿ª¿ãHBh5>¶¬Ù‡P®y@SB­Ìðì€a®ó{2gW)’X1º“ŠAcР¢0Ñ ?ϸöðAÞ&Ã,9GZïšG(z™Ô‘1{ *&«šôoÚOFàþkØÿ?*oÊnJ?TŠ»3³{œêt«nq)TÔbÑb¶zŽnàÛ Ê·6ší*Š`áï8Þ»}4_Þ…¾4­‹»8êÂmðHïÐëF-¡+J¶ Œ«¬Ë'bßÀ]¬øŽ@J¡à!à´™ëLsy­°Œp’s: E!f#…(#‚ûw²…N¹iÔºBWÌü1¢û9º3ª à(gAcü½ pjqåÂÅcÝ&Ët(U¥ÝË‚ÿ&³ªI0ǽGU{/ŠÂäÎó?hx>M` (æ¬/ ·|#³ä}S¼í˜©íÖå`ÕUpÍÆ (E0,e eŠù|Xî`f•YÔ¢|;= þŽcµ `û f.Ô…žFÏ¥„O8'ï3§áüU <ŠD Ÿ¿Uràp¹ÇÜ”LÐHùÐd}¡²÷Òò¿{¿®{g¡mÀëùÁ*j{¥Iû矄°Âç­Ø‘î*Ë×SŠ °êoš’P[`TfEŒìÇ%å»åB4—NR©¶e¬š‰´æ›¸3Œùœ¹«¹„šå³´ÙDrz[t’doÀq7ï<êÈÚMÝô¬ã#8hWK\ Ú¯ T„ xº{˜÷ÿIû™3ó~àmˆ”¯Tv–ºZ,òAV:‚]1\˜.CÛÜɦî‹ÝèÍzyx=éb“¤ÙYPû¨x¼Oû4¶MÌÈè/ŒÝ`Ïu`ë¾?‹(8™jŸš„ØÊ®’V‘èÒúºÐöIÙɀɟ[(ß‚ædýèôŠQEY»È„ßê´}šFÿxk\‚ª|}ž÷ù1êêa*9Çp,+–-]ê&›»ÿ˜ØUá‹„É}ýC3áÈŒYN°BÚ°4ÇÄŽyÐ|×@9ežÀ¿uV?ódÞŠìî ÉWÞ¢§ZK¦$ˆ˜>µ±¸8½aXpóªó2Ïbàµ]¿ÄU(ÜΊš%’¬iÔ8«ï!ƒ‚‹l"³2¾ukµªõó‘t×Ä·ºöÛÑÒZ“R¼A"ÔoYwÉ’S&Ãz-úþÁCÊv†."S­+Æå I}jņPëd3É:•FªuðBåQ”Ï™ÅÇñàW" ™Êéó”I#ýßxŒÈ,“-Ž´ˆÔl"À"΋V"­OÆ-⟃ kÒ‹ìûgÈm¶!Si¡n3*Å·µ-¾ D¨k¹KLNYÚfÚڛ̆QåG½4☘†-ÒO.J5–c¹¤Ûæ:ÆÆåZR÷¢Ÿ[ÐjÄ5Ÿ5þ”LÈêvÓXñÅÉü𓃠Ýi?ô^.†D¶Ó®ûŠx”…›Þ@[4TÅß,×ÔQˆü÷˜¸:ÿfÉ]Hža £þÏŠ,o^e+ˆäWQƒ©ÂvH?†LŒ5þ Íe3 jÁ?€SU <>°þn!<ÅÍØr^¥eY)饬ƒ}¿5˜€Òç–Jbã‚ Šq/°=¬$ï4ždÌm^dvð£æ©Vtg¥¬BÒ´½k‚:Ú{“³›fæ;tu@²+ÿ¢k-õP•Ãı·H­Ž¨í" ù#*Pqu3S8:&•*”öù’8f‡úÙb^'sΣg!ä]Ý`™%oé\AÑÉd Y¶E«#äe"½°Dò°/gìžV,8#'HuúÙ—u´(ÂÚc p{ÇôÙ˜Âu€­È#£ßïѼüãhp´†à[œÕÅþM« ¸Ú#¨Ãô€À9WÈÈ"ñ„dz á~©<‹áVy—»úXŽ›zDÇÆºòÆóÅ!]çDkf–˜=!S|§a9h~{1äbÙ¾…ï {B+ [8^04H{- éð&Õ’/pµ«Ý8¯§áG¶-šHà#õtáÒ…xÙ99qÚo¶‰ïÀ/qëSÙKld×ÕSrÔæD0j¤ŽYBEÐÅs}ëþãCÈ\ mº…Îm)—jmëXêz–9bª²™ú¦ù°wz9ƒŒv%Ž8l2s&£ò4ÍV¦Úw_Ry»á«¹ VY¿ÎCpFÀ‰î8 ÕKRK~ÃG¤éþ¥ëô”ƒÌ&ò),ÿT%“]„]˜RÞ|d“âb0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 329 0 obj 4967 endobj 330 0 obj 870 endobj 331 0 obj 3565 endobj 332 0 obj 532 endobj 333 0 obj /OCBBAA+CMBX10 endobj 334 0 obj << /Ascent 694 /CapHeight 686 /Descent -194 /FontName 333 0 R /ItalicAngle 0 /StemV 114 /XHeight 444 /FontBBox [ -301 -250 1164 946 ] /Flags 4 /CharSet (/period/A/a/b/c/r/s/t) /FontFile 328 0 R >> endobj 8 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 335 0 R /BaseFont 341 0 R /FontDescriptor 342 0 R >> endobj 335 0 obj [ 613 800 750 677 650 727 700 750 700 750 700 600 550 575 863 875 300 325 500 500 500 500 500 815 450 525 700 700 500 863 963 750 250 300 500 800 755 800 750 300 400 400 500 750 300 350 300 500 500 500 500 500 500 500 500 500 500 500 300 300 300 750 500 500 750 727 688 700 738 663 638 757 727 377 513 752 613 877 727 750 663 750 713 550 700 727 727 977 727 727 600 300 500 300 500 300 300 500 450 450 500 450 300 450 500 300 300 450 250 800 550 500 500 450 413 400 325 525 450 650 450 475 400 500 1000 500 500 500 ] endobj 336 0 obj << /Length 337 0 R /Length1 338 0 R /Length2 339 0 R /Length3 340 0 R >> stream %!PS-AdobeFont-1.1: CMTI12 1.0 %%CreationDate: 1991 Aug 18 21:06:53 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTI12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /PUWXMO+CMTI12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 44 /comma put dup 46 /period put dup 49 /one put dup 52 /four put dup 53 /five put dup 54 /six put dup 57 /nine put dup 65 /A put dup 67 /C put dup 68 /D put dup 69 /E put dup 73 /I put dup 74 /J put dup 75 /K put dup 77 /M put dup 80 /P put dup 82 /R put dup 83 /S put dup 84 /T put dup 86 /V put dup 97 /a put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 121 /y put readonly def /FontBBox{-36 -251 1103 750}readonly def /UniqueID 5000829 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª)s™§„̾…´™;.ëÞ;Ôr·ÏTeò…ji«–íK­/df5à¶A|Ç{S/…ØÇ )¡šSïcë\^ÈŸÆÂm‰çÙäp·+ïÚ#õßv¾¯Lé17¢íŠ©×Öýó~kÍàÙ ˜d#å– ]Ÿ»L•eVèßËúìGo£oÙ¥È\šõþÙÂÝÒkÜ ™9‹ŸMÖ¨ð[G¯•ï(©ÅaÛܘÄ|õRPóÛ忲è>f·ù}Ý|àî·Zx½’'¿5+jÛŠÅz3þÔïp…±â¹3Þ`/÷gìÕtJã8¯) &÷Óh¬o%̸‚Û{sCVa’½h~I"Y‚‚0'Ó¶g; ·§æ€¦‚¹€#Óœ®¥Õ¸g ¦lŠ ÛÈ;–¨O6¬jy·g½Ìà H@nÎ… l‰²þÜ2qÂŽwÞ—Me]õÿ}Aíþq}’Šˆ_o¦ÏäÒÀ€Ž“yà–íÑ£ºg€+JIua; 5m˺ÔڳŞp¤pXõ!cÑsäÑø|:Jç#¢<ýy†üO½9“Géõ”cTàØ`üDjÿ DõÚ'Ìw|–­³ˆÑè5ÝËá#ûQvy¹·îZ=ÝÍ9$¯XÎ"êU·ôp1Œo'y‹@÷áÝ1Y¾™ó:ÞÝSŠŠ>]åŠöŠTs*æŸ?~XØH VHËè ‡­Â9E ð;»—Û‰?jK†&Ó\æ·…$Ëèx! ã/‚_lP®‹Kãª1ƒºMgމlÇæÉÐ"oËœ® 9Ñ‘IÙ‡—›–¨n¶šX«Bf9)/õûïðÏÕå,ÚœceYj[†˜;ªf°×‹#âz$H^Õ‡ž‡ñÊÚÔxÉÕF*uÿ<ß %ý3À6ü…WÕ‹`½¡ˆ¥è©ùoùžÃ žJ%$âBK†¿cxIGr–ò8¤!µÍ ›Ón:rø9®\f[ݬUaÏü@ÚëXÇÇãñSãL€Þ_Fd›,zg),K0µ5Ñ“Üï{ Œ¸èŠÐ”hØvn<’V…wšˆkOЃ*“Ù®ýÙ{³‘~+oÜ0)à^¦ÇN é„Ë2·qyC9¨à£ARž¦°nñ¯Ö±”=Ú ø<1ïÁöœzJwɵ;Û˜ž®™2÷š‘“jV¸¨¤ª{—G‘A‹¬£ÜêÌ6wµì{ƒÝlÆ'€h°uþb¯ "Т–‚šºJskF‰ºN îªòæétÀƒBj —NJ< €^º:5_ÈÛ-ÌÒ:¤ù1Va-xÍ8ŽšóÏ}­‰@´¢è3æ‹M­×ÜU`¬þÕk ƒ¢¦Æ{ÒàTXfò-”ÂtSaª¹–d+jÿU™u>1 ËØI²Ë ¡jJ'Þù[9Ã|)`ãólØv¥å­sÚD^ÏèºWNxد{}éÅd2p³ÞukòK3|y¥ŠŒ÷gWögæ-Å0u±O,2©Fm/q_šß…˜:žA³ ^ýP–ç‚ð÷Ä·~ÇD¿ÑzÜ}|æ|ƒ 4̦g‚.-vP]cÐBóa€tæmj;NÌ{±Di$nuXmU‹íˆÉɸáOÊ|ZºÈçcɪ†¶mV1’õÚ— ƒ¬ÆeýåÙ=]¼ egÖ€–Œºaüi+ ΉƒÖë^£I0Ū.™á0ö¦€Œ)ý+aœÞó2cQaÕTq'<ßï¿’µp‰<^%‹a1û^TÐðü„2®+élˆØH wÑùû”z…i;ÚöóÅhé ãl´~“›zÎ\EôÀÑ™K”ºyþÄ´Ê“Qæ{èD^2–Øûgs[Aä'ÿEýI;Õke øL¥Û @è.F¾°öZ3}'ÿN˜09Ø¿ÄK:°@d÷§Ù§Ö–4vKœ,= '!l7 ºøe•‹ŸÍ÷¼raõp7¥Dƒ˜— jØDÇ\m7çe(30@’¬¯5ÀKŠ>]-ùˆ8ÄUp\‹nd4yN§ŠóŠø²€Ú­ƒ©ÿZ×8kÓ®”èöUy°Û)ä_çCw†ÐÝw|;ÁuÃÌ<ñ+¦.ß*.uÈ¡x¶†) €áŒ<®Šš(5kÀ ·nP©pš¦eà?€…ÔWÞ«Ì1:Ò!Œ¢ Þ¨'o˜ãTÃN]¿ Ž-ö0@~¡Ndž dSÙh¶7pu-n܉q 'àZìd–žvÒS1ˆêôr<¼T/U7&‘Φ‘#ï3ûÂÛ\–ÂÙ–'³8Ì4çÕÈrdÕ‰?šk$¾P|dPÕ÷Mo4Ü“jN16î>Ä6¡v&Œ›}ðwi$û ï‘óiñTXgÌ,¢å8ÛýÖòÄE£å­³½û.µPÒu5s]ôMbWjpâ×vÄòl±À(\Nަp¶ÁYœh{øIÎF0¢ "2ö6’w£H´×u‡ã”¡Vc,äJ½ M] *žD™ãß>Ÿ± hªägkÐÐF"áãýíÊ|>Ù"Ð0Oo²jË™D–.e»š’q(¢1äÖ°c9Uh›r&“« ®$H!§å|ä˜ø–ÙŠ9c·åH xÔ®îú'ËüŠU6s,qÒécæFí…h{Ï_ùnQ§«Uw"6HGw$ûŒxCÞÕßZ;€å<~­Í1t7ÐG/tXþ|ñºÂêÜg)hIôôR H$#qÅêcrá]·KQ *bu_‹þÔ}Ñ´ wd ¸ˆúËxp¦?Û“ïä40üˆqzˆÒkF²æÐs$Á‰2‚- FY(€}¬ NW 6°8É,ï {·0÷4•^÷E}ùì³cÝïly'Ö:¢õTâãƒ$>Wé–Уê(°")ÿ*šÕÝ9½4fh3¦Gn+¢Öd£¡W‡}ÄÓ!o+¢8qx¡üýéDÞ% V ÛÃ#Q§;ä™åd¸s›Lo²½œÁ Pº-Aá\ß~ì¼ÐÅn¶ñ:4K­——qaS]ˆ vf³~’Ïá¤!_ìO|v˜‘–¸’@7½ˆjã-+ ü TA˜¯)Áš†v¹ÿƒC»ANÐr«ˆrø^œ”ÐÖúÓ­ ü}r;ÂNdˆŽí¤¾VÞ÷µ·Q$޾ÆUŒS•@ØóCWõ©ë“˜:‹ð%Én !Û+ñèåÕúƒ=†’0äB³Ý¡¸´u÷’ÙΧõsf1­Ziüßñ¼ƒºAàÃr°j›äO S½ ×DÀĆ•ÏÛŸqCzWxß6†T_ßǺ±+.Ün9Çr3«¯TŸw½1&úÞg/‹ßHÂ¥+V3? `ílìAø@6´i"€TCð¬%4¯Ý<…ù‚‰iä7î ®ŸS‹^¹¬ÂÌaPDH‚ͯcOö Gߦ{cž»ËÿÊ'´}麙ýQfB5âÜFΗ¿‡„?¨#zàÏ/´ÉÇAy V›t÷Âi)?#ð†±v9ò×"š×p`/†DŒ¨²&…Z€–Ÿðkñ'¡NªwÿˆøAüðy¸œötüWÐæðyK„€ú1È>·´õñ° ¼:5ïá1á¬< Òà‡²1EŒ7¤Òè•V9C›Í©ò¿{’ñ)[‘Àp‚ÝD˜yšŸ€}˜M )"RpÁ‚·áÑÑÈ@œaE€/p®•ª€õêëžulØ+Ê>:— íi1vJº<²ÇT æè¥:V\h?;ÔJ1¨Z¤ÊHéJ.¢¾‘ìÒò¼ß”¬¡œS¦q vöV1œk÷e³Ø¼Ð2½¬˜¥©5q|˜_s€Å;Ì–œ´võ5íÌV-òtûήô@Öý]¬`¥ pþzæyÎA=—P2´$Þçu$‡ †{çš\å¯s%R[ïdnï,Äo!Œ¦¢1ûÃs à„-ußûrÚ3 F_QxÊ]t%ÇôÿÞlàOo‹úèÿo”ÞØ0\0'É2± çòÍPðõ?,þ¬±”i²ûÓ^tG„Qo!.$Õ/'õk ¨Cꈗh[â:¡KÏŽªÆÀ5ÅÞC˜N.—ôÝhJœúd“ÂO˜keI|gª ñ£§%¶3éß<ÙÆ~Ê[ˆbKÑú-ܬö^ ¢_¤ÄÇ÷cåa)ÎÿØÙ/-ow 7—F¥i7ÒAðœ 3Òñ6î3©f"­Û¿NK¸ã5ó|óA×V”ÄûOgùŠ“è%å%/0wOÛV—>A¥¡è‚Þ” r(ëÞõÆ]⌷ᶦ$§¦tª®T‹×\^Õýf]i Œ9òìïÅ*>OûUV’ç×:UÀ¢KBU…?Éļ!ü«:è»,Óн«7ì­žx˜¼:ÄRÙµÙ:(#«Š›¾‹j\óóÅ8¥N=Ö‚¹«<Ë(æ‹fœ»meP j"M !§ÅùšÔqôöE lEB7ó"^'°NŠ1ìþ·ùã1¡­Q>>#ítͧ!ÃàË[^-MŽx¡™`Õšl±±»¤ÐPñáó…±8‹W¼™ À!ÏiN=…!ŠÍhi`6äå‹;e•zm×t*ĵT·§E;MN´’‚% 1Ò.¯Vøm+G™?% c19r˜\åœå´9ð{›½tÓ‹ÎÑdaf§ž!ÐŽ¡¾R—ÎøOãÈçàÕÎ1­Äþ4®òrÁ)¸¤ù;oºô=ÓB_ pÂÀs‡ |fÑûjl† åÄ€&ø#CdDêÕ›ž?¸cG:7UY* œv{?¾¨¤ÁRφ6’‹YÄÄBžãЃìG;Ñ7û/NVƒ¾¨¥²Õφ€þÉœ¯ŽjüÏ.ص° àÿàZ^ïQw \’¬:OÓyÖs4…2ÉoO–ikr`·ýw›Ü­=X¤^Ó$³#y Ì©>¶öÐæ·Åà9§õž×îðγÚnnûÿ_G0å´¤;å¹ wëIõqÓA¸4‘óEß1 Ð.‚Ý^õ®«Ñ„Œé^¯ÍÇN@6°½¸­Ã}ª~Q nÚšá商OË`žEY ›²–Et¤äüjdh;|Û0£U=̋˽bØ! )ÜõôäéÞM§Ì©?°à·þÎÀOóÀ-WÞØ,F;d]<Ÿ;#Ó°;À·Æ 8šyªµû£uG“ÍĽ‹Šïa²£V‚è½-Ÿ.Ê„.§À[ÔÀpÌã•·à J.Ïcy”%öðZ¸òìU\ØíÓr·Sb ®£ª,ú!‡G¹Æÿpd° oo1Œ–7QöåÚéú´x¿ò¾I_)N“q­ =/$6ýÞgǺHOúÌû!¦°Á6 I7aw`æ‡|?ü/ yDŸo~¥Û`€Î²¸b»üɨ‰SŠtw|¼Í‚ʆ¿©°¬‘x?ƒ;vz ‚怘‘a[žE³Ø(öͽW]Œ‹W+¤â0>YG”µ_vq¾yeößË•œÙ91°o6dnc¬Ã%¹¹üwjÏ1éò„M7œ3àï³!­Jyxóª¿ý¬:A—8"áU°ì¹<ÿñM¼åt7 >ßB–]á„ýÓÔú @UÎÒkqÚNƒõŒ#†´ÉÅiþ,»Ýæu~w™žv!Ì*ãñÿ©ýÚ=Ì,v=/ Àñ›~é2ºÊi¶ƒ(H:¹i_ñ¢ÓÏšizÝÀÕÉP‘q¯j­Ûï–+eÍú£Jð•ŸX×–{ÊT„á^ çª#½'–:æÅ¢Žl)CMœ¡ŒÒüvùäeï]ŒŸqÉ“ÏÛÐÞáz~ƒ—ýœnÔLÚôµvŒoŽ›6€3ƒÜôÖ ÆÖËåùÕ¡¢×Mï‹’<†ìºUV09÷êÏa«9úï²]½HŽ/§7ƒ‚1¢Y_:ÍÃ:ÆMÔú`ºjZá¬2þ{„Á7KâzÓl„œsA¬uvŠK×9ˆÃeºÃ~ÆÇ?ÐŽ†¦NÇ"Eòî w<ë»öâ‘*¦8&fáÎ á/T8¡Ø{Œ˜­v^ma®·téRSàL¡WD‘pƒc0ÉÃ%TÀ¢do˜Ð’_ ¤’›á0ì®rî^'œ‰ÅM¦oÈ‚¦þô¤ вlð”t¥9QŸ£E ÖHPo›nœ(ÀA²ëϾ‹“›LKÄã!ïž­âðí¹ÎEX§T»`]XSçÕtÍÆ v}Œ¶¬)°Ñ׺R®7™›¾mZŠâÄAH'wѯ¬ø¢¾¸^(TNÓninD8 ýž=œ!¹$¯v>Ý­TMyèÒ˜*‚«ÄÉÚAJ2T¿R§‚@o0ÇþFHÒX¸‚Ãgµe*Øï³äb¬–…f‹Ò%Á¹¼’I–/FŠI§†…ôÕ¤d…a‡Cg;Æy>ŠÚF#ùÒÚƒäÍæ„ÐýfDýÏYû™è Â\=+>*B+ñeúôqsÃá—{3ôîBzagMvÞº³p~h!2vkáìÓàBd:±¨ADŒÇe^kÃ¥í/]¹huM—:Õ\>[h|HïË`(Þ°˜G¡cãĦô†­g¡iHžÈÉbXç”… xŽý%1 Þ Zs>ÜxO?Ô ;;Ö2×ñ}ÿêÜf% ~-Œ¶)’K…SеµLs¶öÇYô‡7> eŒbⱡ ünÉç//­:÷nÀaÕur¨Ãïá`T‚YÍ⎼_eä? V8WÝá°"Oîý„5a²Ëw©ùÉM¢&-Ù„Ov¼1<(‡JZE…Õßß|›ÛÄ‹"5t(ðñwÝQ=Õ{øñéÙ Ç8YPX9óìJÓ!ý•Í2kö;Ç¡ºû×YE*­¯Q tÉ5ãa‰æP¶ºª§ï õJ3C‡ò9V°(þ¦œa^Ö(ÅÈ„O>l$Ì£­7»¡eÛ[$=C Ë/LЊ¦d>zÛª™·ŠÇÿx»Q ¦æ qÝa,Ö<¾b±J'"³S,r;ò“êØ@hØqgô±Ù%\`’ÐPšË*b³ª7€-n¡Oج Z*¢úŸüŸGˆóô{6¡í0Œ-ls ÞÞ)?1ž~Jé»é6~'XM¹ ÷ÒK ”þØbxƒX«#•:DHõ²ãªHÖ¶”|+‡£v³Jy|§K¢ïR[8aÊßÈ¡§ö€L(Y˜€ò&UL[E§IšaáÜ9d ý€Ÿö k2W‡.µ3ßS¶ ×T÷6^ ø´ŽdæÌûDº8V|ß2¦¿°fÞg÷M³Ç2רtRÿLJ%êúÖàØÆy«ý%Ü™%¸ÈênÁV^‘'®FuòytÇÞL<¹“\PigÕX§G¶Áû÷Æi#$û èpnoAKðtL{¶Yw€Òu—@8.‰3ÑIÉ)Í¥´xèö2\Ã;.¶ä+©©MEVÞÜ´£6¥¦­;üVC®Ç ÿ†Èõ«#¼ØÖ+“Ê*Ã3ýf‡ýÒBìÖÀ‘»¤´h2oÃÍú9 SÐZ‡ƒþk¢ìXÙÄ4Ÿ–KÇ¿Ÿ$£æ=/r¢»ƒ×ßÝÉMgæíÓ-œ ìqÈ™> endobj 7 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 343 0 R /BaseFont 349 0 R /FontDescriptor 350 0 R >> endobj 343 0 obj [ 778 278 778 500 778 500 778 778 778 778 778 778 778 1000 500 500 778 778 778 778 778 778 778 778 778 778 778 778 1000 1000 778 778 1000 1000 500 500 1000 1000 1000 778 1000 1000 611 611 1000 1000 1000 778 275 1000 667 667 889 889 0 0 556 556 667 500 722 722 778 778 611 798 657 527 771 528 719 595 844 544 678 762 690 1201 820 796 696 817 847 606 545 626 613 988 713 668 725 667 667 667 667 667 611 611 444 444 444 444 500 500 389 389 278 500 500 611 500 278 833 750 833 417 667 667 778 778 444 444 444 611 778 778 778 778 ] endobj 344 0 obj << /Length 345 0 R /Length1 346 0 R /Length2 347 0 R /Length3 348 0 R >> stream %!PS-AdobeFont-1.1: CMSY10 1.0 %%CreationDate: 1991 Aug 15 07:20:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /VJCAAA+CMSY10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 0 /minus put dup 2 /multiply put dup 3 /asteriskmath put dup 6 /plusminus put dup 12 /circledot put dup 15 /bullet put dup 54 /negationslash put dup 107 /bardbl put dup 114 /nabla put readonly def /FontBBox{-29 -960 1116 775}readonly def /UniqueID 5000820 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª/ ùÈ­éÙÀX¸~›id}S5žQ!gt¤ê¡âµŽÃkÑJc;•r´NŒ^ô¢¬µŠ ¦X€5¿.ØSyƒŠ– þ+'êIÃqV˜œ…â:¿r㚉#,Ùô#È ždèBZ£¾÷ÞÖ *R’*"7Ù¨ÝyÝçÓò¸—Ç=cîÍÚLIPsFŠ'Ñf> bôaöä ]fvÑÑ+QæAÁÔèâwdüOŒ¿[xìˆ"‡%ñÄS¦xõŠ~{×ÊpÒˆë¡õ|O ¿BÅÝÐÄÇâ/€G¾LÈã3hûÈ+N–g0Þ3²æ¸ËjäU±¯1‡ÿè¥~ø¦akœ·”Dìzq§»=÷U}.K¶˜Y碌à ֻ1?ÔÙCùŸ NÌŠ2Muµö–¸hŽë/åí4ÌÖÐG¤ã€m&v¨ˆ•ü.žðd¯ËÄ)%\‰éо óÀ.¯ušáÿ 7HüÃwߪþõkOdG{PÕakî÷õ<ŒaóGî/»X †§äø*­#ONo‡íí=ÛògR™–†¾}Ž6AoÛÀñŒY=ûPl¿+DPö¹!m‹¯ºo$ê¿Éûó‰ÿsTçjNÙ ª÷‘ ÿ \9/^Zb´Œö±/=EY»áäy-~䲚¨ŽÙkW´cÛÎEG–®7lŠŽá‚0³p‡Ç£gç‚ÇÝ¢L Ù˜/*é*怞͙¼iaÍŠ‚lB{øIxZ½»p'$.NЂUåÏ×jÂwYvý‚,šfÈ’IXÔònnüÍ»ux@Λ »@QðÇrþ•¸v/_ÓŠ)9muïO«Œ¦„žÏS5w/ïS¼òDE9±i C>ùâ w–OÇ`20 ¸ìeÕ& VÀ¾ÌÑÓ:•f9Õ áÂ+7픽1¾¦Ü8ÜÇJ3¥ªîã캜Ôd ÝÕbe¾ŠZ W€‰Äð'âfJ"ß¶7tð"a¼»—£ÇÑÜ“\äàÂÊä0ï 1LI&<–ñŸ1 8Ïá GK¾óé©++{ GúzñÍLûL¢ëeŽ0{ÍÐ÷®AT­- ¹›`4cÛ»R1 ¡I³M…ïÖZ–ާi:ßãñæÃ?ÅXawÎF»IÌníQÅ Û\y㊯«ß€‰tZU^¤òøäå2®ùÞzL«õ0ftΨ‘^±“Qçg‡݈õ›0¢a \3+àžÇ*º:…°+¸µ$ÄFö™\O9o-2ѼqļM$ Ð’Ÿ~µ±5–µ}¹S¦´º„:d`×T­(]>sßLÁ3G0c:èÄTfìÎ5>»ùk¬êÌB¬,ÙL^½£¬‚®ÎÄô(¯ qw[)ò8ÔYœNMøæ†~_eèfá­Á bâŽV;Bª;2؇·^ŒþF tªéî)¶–?õ…—£‘¹-þŽìþì)­îCK¿Rß¹eî{hÒ;Dˆ(Û Ûce'Ø<Ë·a•GâS@8Ôp¥ ¥M? ƒ<0¯R³np¢R «Â(d§Š òš^ëªÉK=xÉIž 5ß-ëÂijfÈg•J1Dc°ëû‹4~ðPîwË´ƒõ÷Yèš"‰™çÂ`Ý2 ”Œ›64ÐÆ¼!]&{“eî·_©xŠÿGÒ%fSâgy5G&]žÏ0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 345 0 obj 3116 endobj 346 0 obj 941 endobj 347 0 obj 1643 endobj 348 0 obj 532 endobj 349 0 obj /VJCAAA+CMSY10 endobj 350 0 obj << /Ascent 750 /CapHeight 683 /Descent 0 /FontName 349 0 R /ItalicAngle -14 /StemV 85 /XHeight 431 /FontBBox [ -29 -960 1116 775 ] /Flags 4 /CharSet (/minus/multiply/asteriskmath/plusminus/circledot/bullet/negationslash/bardbl/nabla) /FontFile 344 0 R >> endobj 6 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 351 0 R /BaseFont 357 0 R /FontDescriptor 358 0 R >> endobj 351 0 obj [ 612 816 762 680 653 734 707 762 707 762 707 571 544 544 816 816 272 299 490 490 490 490 490 734 435 490 707 762 490 884 993 762 272 272 490 816 490 816 762 272 381 381 490 762 272 326 272 490 490 490 490 490 490 490 490 490 490 490 272 272 272 762 462 462 762 734 693 707 748 666 639 768 734 353 503 761 612 897 734 762 666 762 721 544 707 734 734 1006 734 734 598 272 490 272 490 272 272 490 544 435 544 435 299 490 544 272 299 517 272 816 544 490 544 517 381 386 381 544 517 707 517 517 435 490 979 490 490 490 ] endobj 352 0 obj << /Length 353 0 R /Length1 354 0 R /Length2 355 0 R /Length3 356 0 R >> stream %!PS-AdobeFont-1.1: CMR12 1.0 %%CreationDate: 1991 Aug 20 16:38:05 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /MGSJYE+CMR12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put dup 12 /fi put dup 13 /fl put dup 14 /ffi put dup 34 /quotedblright put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 43 /plus put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 59 /semicolon put dup 61 /equal put dup 63 /question put dup 64 /at put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 74 /J put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 88 /X put dup 89 /Y put dup 90 /Z put dup 91 /bracketleft put dup 92 /quotedblleft put dup 93 /bracketright put dup 96 /quoteleft put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put dup 123 /endash put readonly def /FontBBox{-34 -251 988 750}readonly def /UniqueID 5000794 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ\ôéÒ@[œÕ6]nÎÕ×hÖmlha‹ŒH+4Œ£Ž›¹ºüú­œ/?Ð3¶&˜nÔ=œ“a6E¸#’ÕÊá|´~.‚ÜÔ…Ë Lw2.²æ§sÜNYÁ ¢Ú»›÷.,òVÝnµNìºX«Ù3µ|裠Ñk(Q×IOs mõ;Üf»ø–µ‡ß–C1}_a Ù˜Io#Ýà0÷²wÝ™\‹œ®œ™ŠÄáPÍü,fí’ë´Ì *ªŒábG¡3ZÓ2Ú©PÒ•§8L3ÿrê£[‰vnc_EÄÀh­~èg9°|¹M)ÿ }Yÿ™aÑ•©HãØ|1‚’•¥m!‡[A˜z¡XpPÃÇNCU»7òUÖ²7ΖòTg÷¡ž…x_ôh”œÌyòø®WÕ÷›¹ÅÏ^í]˜W¹–}›–ÍÏsÕÖ_÷Zú»fs@ºâdYr ÈŸÑsy&vJ“Ðx´ë)Œ‡Öî¢Ý±®ˆÅ~ÏïKqä 4•Ü5h¨LÉ#q§‰:4pPý¦ì÷?gÒ |GJS†nœˆæ^i2º‡§6†ê°“‰øM˜ Ęz0í”.²° ¿õ¼Ç ôâvÃ3›1¶ê»°xCj »7}0a¢ ¹‡–¸`~ì¼i”Eê¨fÃŽB wS:Ûü;9l[ v¯qo·ý Â(Ï>áDlqY°?¼kÚ‘ºòŠÓâoˆ^â8‡KþèLG¯7èq«Z…°Cè`¶D8ŒÚ}1.×5œ'6ö¼÷õ° kŠ ùLÿè}T1È®¦Ä4 U`c¦‡±Â§Â¢±#ÿ¢Ô©1&=5×Ó¤-’z‡ñÏü´^øUo+R/Ä o¼á˜‡âœ¤á]PR tRζޒþʃ©-ÿ´DJ¤5…Ë®J ÁUM¾Zˆ‡žggÑ bQ<~ ¯ ×0ö§ ›–¥ý±‚¡yªŽúbñëNB®ý’0|¡HرE ó•×Þ¬×|]«…&Æ×øÇ3Â"Ñ( r‘Kp8´‰GÌèú^xŒ…·¨‰Xaz„«u¢+»`PxìµΚdÞ†CžUÜŠœ:9óà{Fz®Ñþò# —8û£Ä6Ë.šPÑF[î+ÁâRR§©dæ"ý/Êå±R ^I İ1Îì(-’Ù_V¥/Ý[…S¸Ý‘ÌÝs o2¥r.DrªmV¤‚𬄌3å*ò)”“¡Š–‰™ÌÁûp€1Rݧud(Y-åÜÉ_ðäbÐî<”?¥`Ø,?ËhÌXø¢ro·»˜¨èÀN ÞÒ•Ï[»bÂÓ¼®¬•Óa.¼‘ Sæ#œÏZâêûØxa3ôhÆûuLWžLÁÚXï3©PW/ÙË]*ÐÔõõTËÉñ̓ˆWÔ%°°Ê¯ÄÌ,P7B Ltöz¥¾Êøâ©*slâÇ5{lTbåkˆxDù ×|Ì,¦_Þpfn©Ú ÿøcRL°îàþ ‡h^ÙÞÙU2ÿX=…Àfè±G{UUŸu˜<8ìáúû¹€µ«ùDrU©¼Š{Œ±¿iÌð…Ÿ>0çÖDœ¤lŽÊ(ƒ$,>tx !ž—l3ò—ùÈþ•šÌŽKþ<2õŒƳi³[@¥)"1_²ÁhÝJ¾Êom* ‡…ô˜1½n,¼&wwUÝåG¨—ñû5Vü¨+ôž“WÂ?OmÕýÒꛟ/aQÉIÑ£Ú v¬C¤Zso…X®uk!2Çöï N2Ìåô8D€G ˆ©çÄ*ðƒL/µÅP|R6f ®ûǪ̂þÝ œµ´ÔG‘MŽ»eº¤‰©9¬ Çò—É O™”žã2Â~v8+'®Öç±â̶ìVßkŒ4Ù=¹Á?Áx¸ç_@øU1D¡W†5\¢‰‚5ê/´ùé@0°f$õy JÆÅ ’ áþ ùޝç¬8—•1x:W€kÉžh±íÉF³[¡-+’—ÁØ‚ü€ü1“a¨ÚŠ¥†ØÚ7Ýr9³jÃQ:ôC&—¸Ï’«i]rˆ ˜ô8"¹£WY4¸.z½7dw©Z•$>Ç ­«•ãÜã*ÝÁ¸O®Óãß)HM²Û…(PÉ·!·•Ò>×8I9Ì %¤ÚŠI>ö£ýþ¤Ú½Ø›Ü Ëó•œ^¸·×Ð ÕÇ…ìH‚ Û5¶?ÕÞø¤[…d§ÍáR‹Æ7âK0xvT²?iåø³p5žC€¯€°ïÑß‘VIG „‹?ÞŽRÙ**$¢"rÂq#ˆfrt’’@ ߯·Yc<% Ã;>úº}“˜ºHš~LšGµ›#¢‰è&SÅ r|-ˆË$)¼È›¸Á•»ˆrÝ):é ¢9'Üñ ã"òï5}#œý4°=R!9^óé©è|`ôù´(âÕ3¤êÃÏÜrpôRKu”õÅ Ó¡°ñ¾#³4g ÿ`x^TØkô˜ÜkEœ­ªšÛøŸß<mFX½ïSv]°ÀO‘ÙG׫ySxhILªú!%¸¸Kå˜R}è³ E £(‚6ºh#DÂâTÕ¦u½›å̉¢ªÝV?Ç‘€Ärƒˆ}+âdÃ+Üòø]^ªâ )ÏÄãqì‡FæÜP8~fûM6!6¦«¶ ³£FOíÚX·…Pª¯"¤ÜŒÖ5’”ÌO![‚¾Âs£T¯_ëùrCÕ&Cþã&Œ†£¾½èlب‰-æTßgab 6Œo!o•”•rØ>„'P ƒ!ÃŒë’zYùÀvAŒÖ~ѺþoAàŸvu7Gͨ úú*à¥tœK9V_ð)åµKШÆ+ « hÉ'LWâœOqZæ]ÿ_hú{Ẉ˜JaH(®mK/‰ÈÁ1uM#3ø0Q…·ô׊Å(œ%èFúX(Z rxè¡Ï×Û±åNò%T&L؆_ð( çÞrµ_˜°N½'ì´pë$@×C,`ùCY#Ý{Ý ë—Ü'ešD¬Þt8@¨œc,ÅçȪ磠³-ÛTWli&:fÞI2@𳘹¾ ©Í§â'ØzäyQP0¼±Eë t¬x øžµm êol'ŒVX ý|D€@Sîzú˜m²¸iþŒ&?‚ëF12™øL ôøòï•*øúË“„¡/øSãŽÂˆy0Z™qY‡¦Šï¯)nB4ض@ ÿ}êª rYŸñÕìzæ¦yiò•,žwIñïj½tQhL>ùåÑÍÏ{ñ$òÛàL_“f3ï!ëAX7Ûg^ÑhOâ³=­l‰‡¿X}¯B×Àcšk7M `f`{NPç‡Ô¾‰Î1ß§«ÝFÎ嶯è51uJƒO»’Ø[ܳ1ùÌC½‘Šàçj8‚ì®æj+6áÓVåHÒFè–c'1ÿg¿C¡{"¦D·˜ÿ64o.¶ÏD6œƒšï'õŽäõ"ìøØÂrs[ª…t'–aš~–ø¯ú cˆÆÐë3 Óf ù½–iíëpÝSž¦¢ªæöä®#J޳jç›Ê¬À xĘwêÊ•C_AÖ™ ‰SàêòådÌÅb~LvÁ""˜‡Œ·ÀòŲ‡ƒ’_•6ˆ¾hv"Ï|CYV)kC˜Rýš gK¼HDK3o+âuY‰ÝÁÈÇ+?p±F'òÜøÝÚ3“špLî‡ÆÀä<¹âù!<ÿþ_„„¢w—Ò×Â=6†FåÿRóÜÊ@¥ÝÅ̵#ýÄ~”|Q‹,œ%¨»²œ;J®¤ø¬â}z(ùç¯9bYkí#]»j|r¥W†ŒÕ”;N Áp×q²ˆ+=KÀMŒZøh PûAö"†ÞöbÛ)†ÊŸ¬#ñWw×ë’NÒ~Õ¹!þòˆ%–”*hHlˈLcD ¤ú“Þä·ãeÎD‘I¡ÆšîúzÈê·:eÍ/ó/XcAQ5G W¤.ØëÐn"Ëõ˜ùŠ»qÅ??ßeoô¢ª\öKW£;øóTÕ½HǨ#¤D1& .‚’7ù»±^¨JËÓàêÈízé˜Spî)—u™äV°Õç‰5nÿ!2µ¨o{Ô0eÔBJ£kÜñr{]0Ú–j ¯Ìþ¨<åCÄGQqîÖoÊcˆ6^f,¢XŃ7Szu.Bù*ãa×ú㜳.÷lZ¼qΪnr'œ/š_z djál•8ðIªÙìjƒÝâ±&Þvürí6ÜÚ!ÂR14dX³Îûì°ÕYÒ…UW8}6×j­Wà! §ÿ„îÀº§Š«Šá úveײaçj^8¦!&8\H…ÂW57Šû­ZôŽ¥èå•÷ü„dó¨®ÛsYÕ½jôgçÙ21$3 äñÐG®=›„TµÈ¬ñËÇÅäÞ4ñ¬Ç„ivjÞ‰çkís˜¬j”stf7DZ™Sj…-8éÁ'nî©ùƨ,ì¢%ºeoªïÒ ð»Jm¤ÁÀYS>ù¹Ö] é nýy@Ô³'œ”Ö/~TÆc E¿Ž:?Þ·yængM…/š¢”ïõ{@æí‹()~ÔsÇ‹Î—Ž¼W“-ª9]çÃa¸u¨vh¾;ùË•š½Îîëù#ìNÄW®.l.Þ1G£'&0¸Sš¸…í 3™ðäFaYj µÏÉŒ3A¼=œJ Û5zÓ$_»CÓx??}SÁýN^Ô_¹€j°áJ|¾:('B I» '‘«¬˜š¤놡Qëv_‡€ºÀY÷N{ÎYÐY•ögë4åîûêO$0ÏnKg™éëî`k Ö)Eð?Fà -8†ý—r»­é °ÂCµ}®Ö‘Õí^Ny¨ÎÐ!/²€aÕÀjè\áp«ý©}›5ô™äX…UÎIw+"Ó·¿˜ äÕûZ†Ù½yQš¾tf¶` ÊÚ.BÙ£¾š 7VyÙói®½*¡°ÅÝTbßó-Vˆþ]‹°IBÒß>æøˆ&‡ßŸ‰¦š<6ˆtöÛðp •½zÉGꪴaÄD×:¥÷«=Ei¼rÑŽv…¶9v¤¶”èí»„é *è¤û.T¤¯q¹{êr^Ÿ®°%a;(ÜzÊÌzá-¸ÊÚÒ‹-,ÇÄA1fo1œþSÄLûäeK²%¿dØ=ÆÂŸI_wN€(.&úP|$šÞþxRYæG*wB–QxÕhÓ#Oo”Öhzâ ÈWýüf)€\.¡ün}lŽXEÌeçÖH˜O4‡õz1'5¿æœ™ U²¡±p†{x†ÕXL;`Ðåëcå6< o²ç\UY/tÖ%Ü301m<„rAA PVVÒ„ÀKá5ÇÙnâ#½Üþ3a†\ãÄ™Æw}.èoR§Ë{\F0RY¢ø„,ÜÍ>¸Feècñ×zØ×}jˆû" ,hç#¾þÊp§Hõ_°µ2¥€ß–¤¶f" Ã:YU‹žªV×áIÜìo+Q&Ë ßÖ—{8þ-Ç£Œ~׿À³“é˲xj>žEØWxj»úšFóÿìëëˆÒî}ŵò'ËéÊí“v ÅÕ}kJÆŠÏk•cÞöâ³5(ÄB”uð†«..·Ì÷ø…9MFú<Ã+[¢OŒöûvñ,æu¬(O”ÿyD‘¶/a?òªg ØØ«oƒÃn AãŒá•KæeuTýtØTwdû,#¥K.J`†TÊ _àOèòÏé2¤ýk=eƨ-¦Ê$F„~ï&¬z 4r\aò¨4r“ã— Š ÚpNôÅ–¡´ÊD?‰V þp|‹YtÁéiÖÞdœ"¡ìuà ÷B£øî,—KZ±}*¿r#ÿZú¬þ™—¥7îFì>Ň^Ëà?~³¥jÐwè1^t­óÂä@ÐvíÁ¯’~¿ <ò—I1Ý„üäÛýÿ“Ù ™ÕNs¥SN<—èÒ’RA„þ™úãþgý¯Ö4ƒjÁ4Šà¯Ò•­œ«Ðˆßz²ÅPYÖû,d*t°[@æ·ô··vÏ›pƒm5©o½¦È¾ŸÙS6Io“•?Û°?øÞŠv´M/ ^å§™Y²ýï8th»_ÈÆ¢éé°-Šé>}’‚’¾—†¾nꨟü™ÿ‰ÓWüF"äȨÕÂ13Ħf ‚ý"M0½Yø]Í÷-/r·Ð]á4¾=„´}¬j S™ãü±q\¬á›õÄ&Ý\îÉk|kij£ U•yg¼ckÕT*´Õ<¤(ð £ËÓây“zºl’H<^ŒGÕm R¾‘$ÖN݆× O$U0N¼ª0è…Žz念ÃÚ³< $PF£QÞYnšœpõ”arü¶±Ì¿ÏD øt­Ùâ7ñ}ôÎáZM™4Ü+ÖÑñ™‚üú;U:È%/îÄÐö„ŽóÊ™4hKsuuQaÆ\¶¼¢:v=—ÓwE£UC9y'à´Ì$A@n¾AÆ4S¿ði¶cÃQ•ob³t­ÍGwõꑺ#Œ£›ùµõìE„vÝ—KÉêÿ –|Lø3Rnð!ëÂŽ\Ùd¨ÓæÏ{X*Ùu“žÑl®èŒ#\WõÀZG˜làA4Ç(¬0 «eÏŽ®\ËJØ9\¾]€ ÛòURmý¾%*܇h‰/Ðò,” §Ûd‰Ð „Vï,_ÇÎÐ}ŠÈXô iòBЇNÁWzùB\ײ¦f›µØJÛ™EŽÃüí*™a/¦„o»STÏqƒJãmÆùʱ- 2Û-!X2_ìØv1GÞ‘ ¤g×{>³{Tµª]¿I]Öð?«Pªà™TXZ¼a¾AïQoëÌ¢˜.2¬_ÖLʵ8×£[d×¾\¶#íó»”l(q<zê6&àæ½I‹í3öÒ SKô÷·ž¿šh±ˆ=¼Á6ŒÊ6Í]tí6íLrNJ°¿«Ÿã‘bA¨˜-Ÿ^~«|è–C´EvK†jšö–\övÑÎã¹ShD(›©b©:xgL8ïÿ1fµKy^ž„b‡9ôÖq`໌ܳãÄH¦¾¤rÉŸ$ý„¹¯•ϾNôi-ôßÚ£WGíɪÜÍ&®ZT`aÔ.×4ïZ7ƒÂâzf¿›)-´àBìWrÚ6âŸÐxéÂuÝ–²WéYG`êY5“·œ£!ahæp Ü!òI÷d`•Y ¶ìÔßPÏ ’:—kƒãX7ÏdÇèô Ë8‚> 4³™\n'çMØqí¬GJË<Ò*/Œ²7ÅqÓ”l¶J„r™¿¥ ÃVÏLŽöB´»?G°]˜b§¢6_ó qÍÇæ³ô³:±bMS±2Ûm™æ€½’S“ÔÍì1=s»oJ¡(+€IçJµrõ¿™eUú³ÅâØÄc=΂±SÚpVã[ÿÖBÜ_êõQ,1ߎa“ÊB‚HÍ^}Ô¥L ™[Îòyb­ŸYÅþóýNSÑ·ÓÝh¼¨½½< <æòÿê6¦–Q“ÑS$Öéÿ‹ Qw¨m—ݬ‚ݰj1;v“g½Þ·©›Rè†-ÁA¼np/З‹ÛT´çßñ.I× %lŽ™nèÞ„×£¨Ê÷9Hám\Äa=Ìü6ñ!ËQX{*e`ºòðÓì"[9"È‘‹ïaûØëi Á*ų¸ÓÉÙ]"“íV*¯TÙõçŸYWÊLP¥¶]ŽÌQù¶N˜bWĬ¤öžÊM.̨µÙµQË jÙ ˆMæ²@ô×y’mdŽby j—ä7íã¤B0%´±çQH`×™ò[›-oäßïh˜æ«ß -³¾_ª…HÙÚ³xÆ–27(§2k¨éÃŽÃilÛ5‘j>eiàñs¼(–R¡TÉ<£p=šiDÒ©ï!ƒËŒ¹™ë´È Ûr(Qú6%üª¬À3sv®óI)”âɈ°â± Näzw1õ…A[«(5ri½‚÷5Sž¬±«32ínóC.šÄz 8ñKÇå¦$ï{ûw0ÈJJ·nþ¡©¬šôu'÷,ú\ôv…QƒNÔbÒ®HI'‹ûj¾Î@vð“ §_wh!ÏЗ*U‰ÓÇÖîþ¯ØXH>Ø}Š©å=`Šè¨‹©,bÈùœÛ.Ü™H˜0j$³ÃÏÙÍŒ~Õ§¥ diºïЮ¹3·öôRIµÉ¾-Ç Ôž5‘å°…*<Í ¬ŒŽ;¦—Ê€ìD”?åº~ì/Ú#¡«R 1ιƒ2š4Ý`çÍw÷<²B8V"Zá)¹a£õw¥ßÓi¶˜$+qXw¨f î5&š97Ù˜­ÉøabKÔ.ÎÑê#É´ô3m-‘ŠÈ8ÕIñ<…`pAÅ$ãX ±ŒZ7Ž¿xÇq!çW;¢? 볂‰A3HhÐ;pOê=&l#©õ]^Íòò”Ò$µÆïÅnZÆqÖ„þpè@ŠÌ{ªÝçþ S—²š!§¸¬Õ­Biªòoº3Ü?ö>ìsÌd‡úå ÇV(p"XâŸï ð„J\l ñ@JÓ»¦†¨T-_ø|ZsÐY‘½®3{-Ðà-Q ¢t.÷ÈŒYDÀù-ÂZž îPiò¦ÂŽË‡ì¸â**¼¶¹¦º|Œð¿óŽ™’vjL³Û×&jáxÑÀ¥N9TS|ÏÉó\äɹ<8z§6uXvGw"wnÅ~Üœš lSð~b¯WчñÕ]ž[Ö1«–žŽ"_E“ØP‡aVçiË0¡ é9\\€pÓ¡TQ$•SÿËÚ—"(™ÝäàáËÅÜÚiK{qkÈ“{‘ž^HòÚÓ…DðÖë;‹ªÕ'‡¡î[­d±"½\<°»‰BË_o@Ùø¸ê}ãÓËK±§Ò0[ò &eæÇoÂ}»p3nÞPÒv Áƒ…>þoNn‘%nÕSCr ÁF`|€Èê*ÐÄŠRª0à²;¦ÔÚÁ1ÁÚè@Ø6Õ4O¸X6-–÷€l‰liÍZâ|Ë$Ï’ÝÖ­,зy›è÷!ýÜyÔ3Ñ•Ø;³ÀؽQi_ÌÕÅeV˜Wùù(Lû¹Ðî»é†h=ùÀC£Mwº±È@Ñ;Båöêo_¬“ûÓtŸbÜÆK°agñE4&ƒ´ÙN|o%^Þ²pO|Ó#¨ÈÔÆ¬Ï`ȼ÷"ýÆy—$[}›Ý¸š] C íxç„ [‰ød6{žàw áÑÈš›°ïÔõÌïØCJ0.VHâ1«UnËœÜÛ/’C̺¶¹ Ü}®\±lðY»¨V9sÁÉx2R—Âé´“Ô]ùo'ùñƒýýèP?)%Ï]Ä$ᎋÑê-Ï&+•{ÉÂ<ޏi Ux@X¸+¨;Ëë¹øò³"7:“ˆSòOj õ*OÁ®:Þ #mÆôQ@;éÓ<Û» @>$Qó÷¯”×X$ã€¬Ü DŠë4E¨˜&<{l 1›F;ŠÜ/·ñË$°Aí/sèå¿3As†¯çbвJºµvüVesúdׂ´mÍõù'þqœ™®`Òéõ„ ±Øû 5¨Ÿ>Ä87ÒT»âŽ{"nǦþï*OX¾gs&î¥A2bG ¥*;·‚=êP-WMCæ öiòÒ©£äFQö;7j•°ôã¡Óßbs*ûæt]–4g벺öídzÂÝ9ZáÝ#BŘQ Á˜±KU5¡½z«˜s"ÿˆí®—Óç³0ÕdŽˆ59*Ioe¼Vf²ª&P¾êËd‹’™'çf*?]â‚.;Æ~2‰g5z pQ4‘ß$¥ {Væ ñ#ýô íOpåeŽc·Z:uá*º7ì¬F»^‡†_Rõ‘ÔX5öÐm¨^¾fÛi]£"U›™,G,h©ÓÌ¡Ø*4Ra}|/`÷º8•óW 2ÍÛMÓìþwqJ5†Ú2ùå‰FhRÚ›?QjÙ²‡p †Ûê_~ ßhqB”ð¨õä}‰rIec9&Ðl‡ÿωӔV¨É.:ÿꌖr8P]Ob¯Ð×)ú(;c3&cÐu)‘ã.£à³‡SÈ·CÓI\ó•Çèá-880lò9ª§,èŠ ž§b#þBKà€ýýOmd‡5MǸÙ¸#Ö"=HtHòŒÍÀdJ9\ØîÓ6® e»4¡{\U93G|Fò©åû;ZÕ–O§¥ƒËq÷ZŒý 7‰Ñ£Ë#vâ¥J“!B¼¿,£pܤΈ¥Áý?€XÞ ïJûøX1 'Ò3úh÷$MÈ ‹¶÷+´öêU.K–{¹ z(¢AÕÏò¦j­䑨²ífîóý‰2/9ptw÷ ݼ‚'-G׊} ÜZðÞ–\ß,Ö óƒy¥>6`Yê¥ejS•…g"×-#8y Z©=[sCט/Uq× TÞÚ/.çÕ[`×à‰MmØ…$Û F‚½4•íÓˉ‹ÖÑå“SâÐ}«hœM{—º.1Ž>¸Ü=‹ÈÓiÒŠFH9>·`¨ùqH-Úzˆhö±ûBàÏø ‡J’°8Šsußš€o8$ŠA§ÎS<ŸÖ)Ä·;p£"éUGà µ½`¦é `OÃ,ÐkZßÃÔ´fÙC‘¸}«Ô ¸T‹8Ì£¤ò‰¯I=Ä„=·ÝtöWv(ë{j—‹Åû©54•4åvá§(üméŸâ~›ñl™‘³uø¯@ŸÖùç_}oô¬ØÊæÈ×{*lF/;.tl&Zç+í]öü òëÀ—>> ¡ó i‰ nê<½óöµ‘²7SÇs|üd˹˜áŠü–÷º's–㉿©à(½“n±Øðcì&áM)Hü²©g‰‹ØÊ²BbÞ¡.`ŠãýO= …©W>Ú¡îõAµ ?H9„èõÊàˆ&—Mõ6$ø­³Ï?–AuÒš®Í—p x”…‘ïœV ÷Iê`·þqÍÞ:‡ü\Ýw˜RŹä&íQ§Ëbœ™.?UöM²O¢I<œñ…o@ëÉ¡Û ŠgTUÒ4YEóMÚÌX¦ Aœ·ÌjpJœ àéŠÞØ~ôœÈŒµ»ŠRÍTªølΔ(BüÄ`üûén¨‰ Òò[;pÎÄýà7&Ä•ï:ëÏ©]ÖEÑ)'"=¬>ÓC«_zp9¹-søa©„†q¼w´3R¯þ0s´œ ×ë×É;¢ü­óy\ð´lÜ íÊeˆmYñ÷ïE%0‘smþ!ÄDÝÃÀ׿èh'¨‰ÛGÒi<¯ªBt&k½Îæ¹´`¼-S¾«'\MvÜ~¹äFOºOÉQxÂ1¯‰Iq\ŒNq‰^m}3KYzs—ª…Èw‘E¬úbßÎ_‡Ÿ¶ù.†B‘ÓÜ€G wÎ"çxŸŒŸJP›¸ òSUÿ§4‘ŸaÕû¨¬Ì8 vþñ%¾†Ÿ4PqØò©IÌ!·íË™D¨r¤B*+°&1“þ¿Ýº»ÜT¾ƒK'Ò>‹éü y+4Ñøšâ௤,îp}\ú}Óªãö·Zì½Ñ–™Wåk5BTèïÞ!}Z¡*:¯å=a®vtÑáPôUÝIpé–nOtõ¤RÊî5¥£”ž<ë²8㈎ˆtIS4¡“Mf`–Ö¿Âôõ×ïkM1!õ塆 fÑD¬Öï‚€©˜g݉H¯?Åbè0©{ÏeÅ{UåugˆKî@uëp÷‰¶âäüù"Z˜XÞ¶~¢ û°Q¼ªä­½5’Û³Èk+x€j+ÿ Ååé5 rneÒˆ–Z[9µ$§©`Èæ:Á%7¤Ò&@<Ñ7¥¿®y7 €¿YºÌIUûs#TÊ¢yøÏ0$O¯¢›Prª²@h·jÄÆ4¯Ëæîòôõ#b7Ò5|®ÖÃ& üLc›1Üí‘h\ãCIY§ÊYPvkwjb(ÑŒÎ5 _ü~² Œº%wÖSÄ+ðsôâdñ‹à |Wèi ìÁ¨ŒÅ/l¹™edPGm5¬u¦àÐüø5JõMQíKÍtÔhÀ¼‡¤n ˆÔTEá|Mý¨ìè} 13´Ñ“‘i'þmMüÓI¢WzHÌ<è‚…!“+Ça~•@ ‡úÿ¢keUÛÁ°õl¸ót·M°‡0}0ª…Ö,›Ý|5%Lœ5a‡Á(:ŸèíÅÊmpHGƒðT¼ò Xt]úXÈzèX¼Dõ|@sÙ$ —,¬.Ù/ø ë×Ù¢Rñ’±Vn€”r’$s!ó³ÿmç¦Ç¯ÿEõL¾GÆ}FÚ5ï¦/¦ž ú=“ËH”=Qó+.jÓÀÂè‚.B„OŠÐ&)¨Y_—|V§u"Ͻ¹À ²’Ã5¥e÷œ7ý™†¬–‰ËyËŽ¨Z5ndäUÍëÉ–}.«P¢ùµ°köíJ&¡ØÂúœ»Hœg Ök]ÊéÿN3GÁŽB‰ÌbÛ.O¡û„¸güeq[÷]¿û"¬z¬=óëLNíÏ ™NbiÕ[wµ¿:ÇßèbnÅÒ:U-Ø2ĺ˜ï,Ñ=ùœ<Ö´›ª²þ69¹j\bçx«pPb‰”+kþf¿£¯â}lX.>ú¼Õõj'$óñbhê•<˜Ö$†¯^^Ø»Ú#¹­’?EbþÕÚ±‡tÞrJ,„ÅIƒ±gs[Ø~ÁÃÇ_ïˆd uëƒ;¯=ƒ•y—CÝXµd•%èßdÄÜ#n[ ¢LºÙ»üÚÌ&J¾~dZþ=¹›F£½ñ½Y¾Ûì×S¸O è7”«î<5䛦ŬIËŠöv"…¬."­þ³WÃF+ÛÌÏJêî~tkLKÀŠ³Õ›Ñœ•3Í)fxÅçc'/Z¨w/’t¹ƒ³/„µpéi$ß#ÈæÀ‹eE>#âˆ6DZOð@Œã“¬ÄíÔj]¢Ù€Áýª¼ÝeM½wrù{âÏ@K¾1&d¡cò!÷€»j†a5Íd)“ ¸C¶d¡0ÌÝO‡ šlî»å’&"î“&(½5Øo÷ÐR‹Ä¼«ãZož)¥Ïò5É*?vÞ;*Ô–}8+E ¤/Hsyn>ÚWÔº÷àˆNP‘àc³HGÊeßîêá ‚0^i3SÆ•~7‡?‡pÉsYh9ÛÁÄaNÎpX\XÐy4f¨µí¿÷{ÔüüˆŒ÷F·ÌUA¯oßn0¢ÊÓ¼'pÐdm~ZsÔ=(¿‘ÒÕŒzBh¿;}cé¸t;HHáA·ÑM0ˆ¸Ì½+z¹‚úßó§Ã[),éØKJ‡ïÐ ½SWÏ•Ò\‹ Wõáü,=@œŒáÚO„®…Vj½Åþ0}OEGʽ0LŒ\Ó•'=¢îŠý±Ü`11ý¶–fsŠ‹¦ÍÄ×õžw“ʘ܆óÑ\jÛÄ%݇¹êiªcëùgxž]¦E7œu¯Æñm$µt ´ÍÅ0Š\ü~)tE8g¦¦‘{mÞHëo:‘sÔ³!hÇÆl¬[àÌ˵HÒ°t.tD=.qS~Vð+“Ý"R¼Í¿aˆâ:}X#(· ¹Û±±u2kæ±b[–Jk—‘6âÖnì_ÍÀßÀNKh³¡‘pØmùNóì3 zô.hà’=ýGŽûÁ¢t!äæ™æ±‰½|m;åßšÏ×ï´òµ¯^Î|ÖWá—ˆðiÓ.š¶øb!éDÝ7  ¶¢ÁGËDÍ.pOÔ§£œ .ãÛ˜ÜH \Éîïíðsb(FòE–$ršw%«/ù%uŒ Æ©yþ™âÚñ3Ù³ÜXçÂ=³Ú‡ Jcâ?qV›“½ìÂ?EX)Ë-ÛAp¤ÏD Ñ2]r ¬ze&v‰vbW‚Ú!(­çžsF‡BãSÕ7Š òñð¦å p©&RíõWŠp2Æ¢¼¼·½©Aà–µ¼ò6˜ÈoÏ€aÍîmûæïº®^0ÿcnFágð°ê°‚}ßç òX#ØŒ^+‡hu,™YÔã] sm“ùrZ&híf7jÙ²pêžôRŸ™•Œ›“Xž££î×ϵ‚aºq4Ê  Ð9þ²ô·›Ü4+ÿ>U~"–»µ-ŸàPNÕ€ûÚ€wµZnõ²îÕÞÖýÌa1Ã’CõØÑLøRÌ-|¸—땺<Êšô}ÆOËm¸ÕŒöhR!¤Ûg#ꌫ׊’RɤÉOŠë BUìj€ßŸ–ãà–"«¸Ï¥#žR·Ÿü‹‚Ü<=Š£Ô"¼+¾»ô3‰ñFsµÁN„¬•1Kç²MÂGju; EfÕuj¤éBûeÿÆ¿°ÞÍ õÈI/QS{O%dzr',(Ô‚tJûcÜGêËCÃ>]åôKtÌ h«W«ò=QÑ}®$?V‘[þôç/Ë%×®’VNÃpÇÈÿùpÍaQ {P.¼ÿ«!\º¢ÈŒ¥ŒN=,¶ÜSfóôZÍ=Ã"÷ö'GÀîË!· ¡1¹Š‡wÕCÎ=V "ª±² ãû0‡c)!£*ö£ñT5ŠA&ž×°ûf’¦3 [—yÆ)zÔ Þêq:üpFìgÎ$ņsü !aȲ¾éæõôªp´0²‡¤„³LÕ'çÛWRiTN¾=Ÿ"†ã¸¨6_Ês©•­Q›ôX^Òö»îÌQ·T5è {áøËþ¤o³žH´jùLvSª€åaµ™³@0™§&›lQÕ£èñÎEÏPž|V®ß7ÖhyÈ9 ;ûŽ2Ø^ò9™²@{ãV[9BxC¢dJ»Þ £ò=ä-½ñŽ‚ŒPWüÛŸy¾( “Mïå‰ò¢àpŸoÃ7 'Ü`tzËü]j?¨• g<¼Ü £—øUz—#ä çjÅ¿¥NÏ(7ñÄÍa€ÂàIµ²þrÏm1“… ªœ žÈþ>Æñ›MŽx$pâZ‚ÍÕÍî˜ÖDÁCV­\k^ägÌV&§¸»AŸ<˜)r수ó!œL‰çñ6fsl¦<ËV£E¦è†éÂåí1¸=‹ —mÕÛD"fQi¿¸ýö¸JMìod;ðT½ S—åÇֹܺV:gAý±R~è¬2=ä‡OGîtht s H‹ …“ý®—)Öñ*õ0´Äm!~ò©w•ÔæϨø0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 353 0 obj 17064 endobj 354 0 obj 2120 endobj 355 0 obj 14412 endobj 356 0 obj 532 endobj 357 0 obj /MGSJYE+CMR12 endobj 358 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName 357 0 R /ItalicAngle 0 /StemV 65 /XHeight 431 /FontBBox [ -34 -251 988 750 ] /Flags 4 /CharSet (/ff/fi/fl/ffi/quotedblright/quoteright/parenleft/parenright/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/equal/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/quotedblleft/bracketright/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/endash) /FontFile 352 0 R >> endobj 5 0 obj << /Type /Font /Subtype /Type1 /FirstChar 0 /LastChar 127 /Widths 359 0 R /BaseFont 365 0 R /FontDescriptor 366 0 R >> endobj 359 0 obj [ 576 772 720 641 615 693 668 720 668 720 668 525 499 499 749 749 250 276 459 459 459 459 459 693 406 459 668 720 459 837 942 720 250 250 459 772 459 772 720 250 354 354 459 720 250 302 250 459 459 459 459 459 459 459 459 459 459 459 250 250 250 720 433 433 720 693 654 668 707 628 602 726 693 328 471 719 576 850 693 720 628 720 680 511 668 693 693 955 693 693 563 250 459 250 459 250 250 459 511 406 511 406 276 459 511 250 276 485 250 772 511 459 511 485 354 359 354 511 485 668 485 485 406 459 917 459 459 459 ] endobj 360 0 obj << /Length 361 0 R /Length1 362 0 R /Length2 363 0 R /Length3 364 0 R >> stream %!PS-AdobeFont-1.1: CMR17 1.0 %%CreationDate: 1991 Aug 20 16:38:24 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR17) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /PEBBFT+CMR17 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 58 /colon put dup 65 /A put dup 73 /I put dup 75 /K put dup 80 /P put dup 82 /R put dup 83 /S put dup 84 /T put dup 97 /a put dup 98 /b put dup 99 /c put dup 101 /e put dup 102 /f put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 120 /x put readonly def /FontBBox{-33 -250 945 749}readonly def /UniqueID 5000795 def currentdict end currentfile eexec ÙÖoc;„j—¶†©~E£Ðª*Bg·N³ÀÓ½ ƒØ‘l¦ÊKq*Þ²Xú«šææwüsм|QÍFïq˜Õþæv`æšz¹XòšMyåp"÷ƒë»¶Ôôì5OÒÞË©”Y¤ÅðÆë¡P(DTçÜ!Á[v´Á›„67XFšlU‡…²&3!R˜q©ˆ4‡Ýw”’Ýσ~j‡¸+Ûño¼uú£ “þ_^ ¡ °íÕ¤2±n•£Î—%¤)³[­yiü2Ž:(ùoÊÚ ¥˜âGu^~ø½°››kÛæíÏ„>¯Æõ(Oí/ß„ÂÛ¤°­XNéßµ(Ó¸ó…„aXœšÃIl¹i-Ñi{.ÔÔ%ÕØÄ` vàEÅa!nð]8rCÇzi¡Â.;ìa.墛|&Löу»×Š@a, |/àŸú˜"ÿUZÕ%F—ƒîÒÓ«±ó ¼¥7›»?@^7¥>©Öatí%¢åTcìq©{äÀK9æ•aÈ%-¶û«dSKKÍV‹$m¸3˜+8Íç&‹¿t¶°Á€‘á±ø}2ÖoMÐ#Ññ *w6©`÷*Às:82Íhûbˆ¥—wCõ$oá&I$¤}&‰¾¡3‘ÉϽ3i× Ö Íb‰3? úK¶À{û\7j—î}8†fnÆd½ë ó¹çZ„ëôtûõ‚ÒÞ4Û~d. (‘wÅ;ZáíÄd¼LBa­rεÝ÷Rê['ñ`aÉ_ÑB«ÿtƒüèlÙ2™7[¥rLPYþçm Žå力«H¥IÔ~«„ŸœxܧsbU5ñ¸f„x_r$&¥÷Î#FOÔãÇÝ)+Ãb³ö*B¾æ½¯…Z}M"[bʼ,¾îØŠê¥õó5£¬¤6Á±¶„:äw©õÀeVÚÐY(ËIJÍ Õ5%Æ4Àn“ÅÄn‰º[¿s8}iN 7ªö3Œ8îš,LЏ¯Ï¢,·±õºõ ñµÅÖ ›c¬qEÌ~Z;ÅÖ²Êó©§:*Ìà¤ÆÁf¤"‡ Á§é¾~ø\,ÊðÜò´«.œfC Ö6{7£{kœJ±®›ž8/ZŸåƒ¬'döŒ^ä”lS¢Ì¯\Ï+Q·(+Ùßoh¸m×éÀËÜx,R5"TVq+8eÄ’Ä Ç&n,Ñ ²Øí@")Ú@M]Ñ»òï—éG˜ï9‹â¦Ü_$4¤óÑèöÏiˆ-¦_¾áÌÊŽ¢fàf’Uýs×'øSÉɳPUWD¥‚>£Nó¶_RnˆÝ¸(oßr7Òbx8¿•%hè£wOÌÔßV|!̺óÉÀõ?+©Nj5­ˆCfì×’s—Ø2åO¦Ç/²é$zEÞ˜ ÷û}`'ÎÊÔ2/~^b. }ýÜ­Ão¨ªÊå<ŠÎ±ÿ»ÖQ•Œ×Y$ª§[£äu/G^WvÈÚ“bW{~æÓÚ(NÐãnÊhØô8ùm°§† Ö醀Y¾J»p¸® /›ÎÝ·g–ˆgV¸öŸö™Nl6$527œÐ¿ß`¸xæ}¶CÈŒò¸Ñ>éÛpˆÅüOì*1ózâO'öæß¯Ç*j³ã&ÿ÷.ql¼Ï*ôy<ͪ6XC+ dz˜ BHNø…b¬b%‰ÇihÖ#†u@6_ÿ‹%ÏÙxt »ë¹áqÎoVE䬸OkÐr Ëˆý‚eü5/Û·5ãaVµohD¦2XI÷~¹5rö“TþkÓÑ«Zý~ýzm!lHNǪ­ÓTM 9­å€Añî88ÃçÒ|¦ÅªlqM'º­SrWé ¯™“zP-æ+#z I‚]LŸòtåK2,}™Ø·Ë¡âîùôú¿´ñ-'í+\”K7·ÊcB6ôŽÿý ÓÞPKU,Ф‹ÊÂ5R³+(mhú'‡ýHv/f q£/ãñ:š°¨ùÅXè>cT“t«Á˜‰^gÍ«ÊÛ`¿mš!–toL[iø»N`¨ -B°E) ÈÃD8«ä’íéòÙé½q¾zgöà+ õtäÆ4›HÛ/ÅÏ¿¨ï;íN~mÊô¿ÜÎÃ\*Ÿx`Q»1¨þ£7ío§re^¾_ZeglZÍc¬;5“ Ð2Ñ@§ÐÉŒc‰%ߢ;¯«ÉœxâàxÎwo“Îʃ¢WŸ‹úV°ÂU½(ÂHÄÿI&Œ\³Gc¢¹»¶ I«DS½3x›ýbÃÆUÇxhnPÖ´gÌþUú‡ÑÚÇ΀ò8C€P²–á ª ž×öá±5só Ì#é’¹¨IžNï-æ~í}‡ˆko ~þï³~;\¾Í…€ã“¶¾0Iµ£¹Ïý+Õ¤EŽ4®pÊ}Î!5HÿŸX NÌ9꺼졨®Q&{¹fƒAxÍ7V”P½Î¸†»(_ñãâgnÙ6+Þ‹ß•ácÅ*Ô³ª÷.¯•·¢q +ù£\rZ*ÄpçtJÕà´!úŒ“Ý|®Œ¦Å ÚEƒîYâ€KwÓ¶½½ $TqC>ÿEÚÐ8ë¸þN¨Ç5ŒÛ‘ö 5[âK|FòתQ9}ò0áD*ŸOú èxmý>ð]ú†B–ß’ÖÀ‘ž–A!Ÿ³Äf^Ç”ÂÏ|GÕ0¨\D}XÌt¢SýžðŒ‚ØŽoëá|¶éèïÉÓc(*s=½}¢%ŽVš"©úÔçÀ8 Ô¥àú¤Øj@Ïøpè{M8Ÿ}ÎÓjÉû•ý ÃR¿©ÿ!ÁÑzÅnlìßµž.Qtý:NÅÍkÜñˆ>9¢p’tF[¢œ#ª áV þE£ª8C}˜¨B<õ³w¯’ýøÔ£ ýô:F‰ïN,Êä: ß>hË3ªòò#ÁOB’ˆõf¼uÑ–¼‹¡À+™66ÒË6ýÙSÞZ˜$—ãa™N½ø¸—÷‡ëæ-Eû}‹"6*[5Œñ\ÁI5aÈžÃ%3ØìÄ¥[J­kËä“Ëæ_á mSNþŽ'í rªwe8—Ž'†¦ˆ#rÊN¢¡ïk,³\‚]êö¢-¦˜7ž»P&G‡HÑäŸVŽ*Ç\UaËñ]'²-ƒ¿Ñ¿2æû&±T ¨õk¤²†óÑ,õ+XEúÇxaã¯w ëÒŒÒ gÑ=É8˜¾U Å7m•Ð-ĸɬº|=‚ÂË„TÝw“Oé\H£ ú~ícá•4fuj‹Á?9¹¯dçvÜ{Ö );…Us"Gü4º© j3ÈeÕe `SéIu¯óög¡í¦: ®Jâ÷†ˆ[µQ5=Â"Ë Ü>zGŽŠ‚Ã8‡ÂI­}#Ö`<ÉÊûr”SÔH&úfðŠûºìøüöF ñtð•v¿ûVÕƒ*»;_憾bøÁ­Ï »OŽ«î¸µÎrÔùXï “Vn_­uÔPm2zÅ: …vVÙåÒž-T\Í‚¥g|¤Sî:ÁC·Ä’Å zÈ2âÚ^j!ÄÙ(÷ù$ÂÃGšKÕ*|ĆYã<ÝNÕïóÎ'3¦hê>©{õzšó»e.-¸0¬Qtyªúi´íŒÜ>ÊÖññŠÈxj혗7.*˜ŸI²Óó-á*}®ãßW3ËLu&ødïóõ€ä60z|màÁEFÎð¦š"T›Kö鬮“߉!âàšy .p„EÈÊ«¢¢K„d#„êm»“Ë ý+{úT2 k¨²ÔªÒõM pL*´ìôŒ@‘Y„Ñ¥µR Nø™ÍØð­ÎqŒ8sçaÊ6{ÊŒZ^#¼½ãy!çìöµçû)[NGðÿëÿ]ÆæBµ‰Í{1tw«j”iéí}‡ƒ´à¿¤[|{‰Å'öÔ±xŽKø.^Å9 w‘›•Ë6Ç=¯<ØËšLìž‹Ø;åÖDBëœDÕó‰N3Ú˜Bä=ÓåjF]X ÁÏT’°axý¸Dub× ÖΛÉ|€I´˜X@Nrž]Å:YöK®ÏÂhŠ ¨œ&ÜCR Óð’^-Ý”GFK/²;È¿@DÕb!½Ë/—”¹–®·¦¯\âýâOÊ•‡Ú?´·33騮”–Øq úéÖ+V|êÑñº#œ‘¶.­©Œ§°}Y¶KÔ¡Vëz4Ãöü6ÁÆ/,²†Ý•;ð{Eô~/Ð* ª@¿W›±–£Âª K?êñøM C»˜4ð×c4zÂìiYÙªãÝ{ýÊEÏ[y±zx—†(!‚@g¢â ëÁräÂö DkÊüÓ”R0ßí~ß¶û·3»³?Yõà%tóX‘›=ý¾^Ľ›y¼+ºk%¯Ðd:£iîûú·ÍÁ?ç~9`gÿÁü:½Ä$ÊŠH)ÅrlMäú«uÍ]ž€'ìsšÞz«š–¦«ðÞ€}ÄX=e1þ:¢è_‡¢î&ö¯é³¬.àG/Í cÑÃpQT€:ådŒƒF-çèî(0“Ön¾úC‹p†¤mEk¯úhÁé¤/Ò²F ªß¬o¿];d¡ íˆ[Këþš¢›.µŽÄ|ØÈí×Ôï ¦N0LQ 8T‡y£ŽP³6[D¦aù‹²ÕYàtrµj÷P=–ãbÊlA.¼›ÅA»Ì¥¨uÁ9óWÆýôdÌìd7y•LS§[ƒ¾ I'Ô%ä-8 r—ÃÏ©gÊ ´#KYDËýfÛèùXAwÚa¾¡=içeþ|(Dÿ¤Á.Žä9PöÅåfZ°d¸Ü»ß&D·¯À„0@ö/˜ŸâU·Í«§ò¤(ÔQ–×–n&—;l@'…ל7xÛD£¼‰ëà2O°õ£üÞgwh.¸R ŒÝïOµq¸fZ¬ 'àSLg»Òú®¿Lmž¿ª4;/г{,á ~RÈ$ØcIJ­“M£Ùퟴ$õ½‚ìÔ_ô ŒÑIŸˆá-‚ µ¸¶P)ž«It•±lÑJÛ]¹¾/±}e/"¿ ð8è¢IƒSêINø_jY~Ô‹íûÄá ËVŒPØ5ƒÔiëYVnšîQ†§«ƒæ§+v®Ì˜m¯–"3Q~>FÁ© oÂ;Ù )< «„žfj 6Qé3=…˜æšÀ‰‹´™Ð~¨cA/.¿œn*{jZ2":í)†$?Á@@FÛëAÅÌo°õH+šÉÞí ÌÒåõ}D‹B¢ô¿$yª(éNMm¼0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark endstream endobj 361 0 obj 6615 endobj 362 0 obj 1111 endobj 363 0 obj 4972 endobj 364 0 obj 532 endobj 365 0 obj /PEBBFT+CMR17 endobj 366 0 obj << /Ascent 694 /CapHeight 683 /Descent -195 /FontName 365 0 R /ItalicAngle 0 /StemV 53 /XHeight 431 /FontBBox [ -33 -250 945 749 ] /Flags 4 /CharSet (/colon/A/I/K/P/R/S/T/a/b/c/e/f/i/k/l/m/n/o/p/r/s/t/u/x) /FontFile 360 0 R >> endobj 12 0 obj << /Type /Pages /Count 6 /Parent 367 0 R /Kids [2 0 R 14 0 R 21 0 R 34 0 R 38 0 R 43 0 R] >> endobj 52 0 obj << /Type /Pages /Count 6 /Parent 367 0 R /Kids [49 0 R 54 0 R 58 0 R 63 0 R 67 0 R 80 0 R] >> endobj 87 0 obj << /Type /Pages /Count 6 /Parent 367 0 R /Kids [84 0 R 89 0 R 93 0 R 98 0 R 103 0 R 108 0 R] >> endobj 123 0 obj << /Type /Pages /Count 6 /Parent 367 0 R /Kids [120 0 R 125 0 R 129 0 R 133 0 R 137 0 R 141 0 R] >> endobj 150 0 obj << /Type /Pages /Count 6 /Parent 367 0 R /Kids [147 0 R 170 0 R 190 0 R 194 0 R 198 0 R 202 0 R] >> endobj 209 0 obj << /Type /Pages /Count 6 /Parent 367 0 R /Kids [206 0 R 211 0 R 215 0 R 219 0 R 223 0 R 227 0 R] >> endobj 234 0 obj << /Type /Pages /Count 2 /Parent 368 0 R /Kids [231 0 R 236 0 R] >> endobj 367 0 obj << /Type /Pages /Count 36 /Parent 369 0 R /Kids [12 0 R 52 0 R 87 0 R 123 0 R 150 0 R 209 0 R] >> endobj 368 0 obj << /Type /Pages /Count 2 /Parent 369 0 R /Kids [234 0 R] >> endobj 369 0 obj << /Type /Pages /Count 38 /Kids [367 0 R 368 0 R] >> endobj 370 0 obj << /Type /Catalog /Pages 369 0 R >> endobj 371 0 obj << /Creator (TeX) /Producer (pdfTeX-0.13d) /CreationDate (D:20050308103500) >> endobj xref 0 372 0000000000 65535 f 0000001478 00000 n 0000001365 00000 n 0000000009 00000 n 0000001345 00000 n 0000416474 00000 n 0000397992 00000 n 0000393701 00000 n 0000382521 00000 n 0000376443 00000 n 0000361742 00000 n 0000358589 00000 n 0000424225 00000 n 0000004768 00000 n 0000004652 00000 n 0000001613 00000 n 0000004631 00000 n 0000353731 00000 n 0000338891 00000 n 0000006914 00000 n 0000008029 00000 n 0000006798 00000 n 0000004861 00000 n 0000006777 00000 n 0000322408 00000 n 0000007962 00000 n 0000007130 00000 n 0000007149 00000 n 0000007777 00000 n 0000007810 00000 n 0000007757 00000 n 0000007843 00000 n 0000007889 00000 n 0000010110 00000 n 0000009994 00000 n 0000008161 00000 n 0000009973 00000 n 0000013636 00000 n 0000013520 00000 n 0000010227 00000 n 0000013499 00000 n 0000317361 00000 n 0000017110 00000 n 0000016994 00000 n 0000013764 00000 n 0000016973 00000 n 0000313665 00000 n 0000309516 00000 n 0000020566 00000 n 0000020450 00000 n 0000017262 00000 n 0000020429 00000 n 0000424334 00000 n 0000024104 00000 n 0000023988 00000 n 0000020695 00000 n 0000023967 00000 n 0000027507 00000 n 0000027391 00000 n 0000024221 00000 n 0000027370 00000 n 0000032268 00000 n 0000030722 00000 n 0000030606 00000 n 0000027612 00000 n 0000030585 00000 n 0000034358 00000 n 0000032152 00000 n 0000030838 00000 n 0000032131 00000 n 0000305835 00000 n 0000034291 00000 n 0000032484 00000 n 0000032503 00000 n 0000034106 00000 n 0000034139 00000 n 0000034085 00000 n 0000034172 00000 n 0000034218 00000 n 0000037436 00000 n 0000037320 00000 n 0000034511 00000 n 0000037299 00000 n 0000039578 00000 n 0000039462 00000 n 0000037564 00000 n 0000039441 00000 n 0000424444 00000 n 0000041906 00000 n 0000041790 00000 n 0000039707 00000 n 0000041769 00000 n 0000044076 00000 n 0000043960 00000 n 0000042034 00000 n 0000043939 00000 n 0000302593 00000 n 0000046125 00000 n 0000046009 00000 n 0000044228 00000 n 0000045987 00000 n 0000050995 00000 n 0000049301 00000 n 0000049182 00000 n 0000046230 00000 n 0000049160 00000 n 0000287594 00000 n 0000093666 00000 n 0000050876 00000 n 0000049420 00000 n 0000050854 00000 n 0000093597 00000 n 0000051214 00000 n 0000051234 00000 n 0000093408 00000 n 0000093443 00000 n 0000093385 00000 n 0000093478 00000 n 0000093525 00000 n 0000096198 00000 n 0000096078 00000 n 0000093824 00000 n 0000096056 00000 n 0000424556 00000 n 0000097579 00000 n 0000097459 00000 n 0000096339 00000 n 0000097437 00000 n 0000100224 00000 n 0000100104 00000 n 0000097685 00000 n 0000100082 00000 n 0000102523 00000 n 0000102403 00000 n 0000100343 00000 n 0000102381 00000 n 0000104165 00000 n 0000104045 00000 n 0000102653 00000 n 0000104023 00000 n 0000105648 00000 n 0000105528 00000 n 0000104260 00000 n 0000105506 00000 n 0000107928 00000 n 0000129380 00000 n 0000192071 00000 n 0000107808 00000 n 0000105743 00000 n 0000107786 00000 n 0000424673 00000 n 0000129311 00000 n 0000108147 00000 n 0000108167 00000 n 0000129122 00000 n 0000129157 00000 n 0000129099 00000 n 0000129192 00000 n 0000129239 00000 n 0000192002 00000 n 0000129599 00000 n 0000129619 00000 n 0000191813 00000 n 0000191848 00000 n 0000191790 00000 n 0000191883 00000 n 0000191930 00000 n 0000194136 00000 n 0000214675 00000 n 0000268410 00000 n 0000194016 00000 n 0000192229 00000 n 0000193994 00000 n 0000214606 00000 n 0000194355 00000 n 0000194375 00000 n 0000214417 00000 n 0000214452 00000 n 0000214394 00000 n 0000214487 00000 n 0000214534 00000 n 0000268341 00000 n 0000214894 00000 n 0000214914 00000 n 0000268152 00000 n 0000268187 00000 n 0000268129 00000 n 0000268222 00000 n 0000268269 00000 n 0000269970 00000 n 0000269850 00000 n 0000268615 00000 n 0000269828 00000 n 0000272154 00000 n 0000272034 00000 n 0000270076 00000 n 0000272012 00000 n 0000274920 00000 n 0000274800 00000 n 0000272307 00000 n 0000274778 00000 n 0000275530 00000 n 0000275410 00000 n 0000275026 00000 n 0000275389 00000 n 0000277821 00000 n 0000277701 00000 n 0000275612 00000 n 0000277679 00000 n 0000424790 00000 n 0000279306 00000 n 0000279186 00000 n 0000277926 00000 n 0000279164 00000 n 0000280787 00000 n 0000280667 00000 n 0000279411 00000 n 0000280645 00000 n 0000282441 00000 n 0000282321 00000 n 0000280904 00000 n 0000282299 00000 n 0000283792 00000 n 0000283672 00000 n 0000282546 00000 n 0000283650 00000 n 0000285342 00000 n 0000285222 00000 n 0000283897 00000 n 0000285200 00000 n 0000286613 00000 n 0000286493 00000 n 0000285471 00000 n 0000286472 00000 n 0000424907 00000 n 0000287465 00000 n 0000287345 00000 n 0000286718 00000 n 0000287324 00000 n 0000287730 00000 n 0000288263 00000 n 0000302045 00000 n 0000302068 00000 n 0000302090 00000 n 0000302113 00000 n 0000302134 00000 n 0000302166 00000 n 0000302728 00000 n 0000303273 00000 n 0000305514 00000 n 0000305536 00000 n 0000305557 00000 n 0000305578 00000 n 0000305599 00000 n 0000305630 00000 n 0000305970 00000 n 0000306508 00000 n 0000309201 00000 n 0000309223 00000 n 0000309244 00000 n 0000309266 00000 n 0000309287 00000 n 0000309317 00000 n 0000309651 00000 n 0000310187 00000 n 0000313324 00000 n 0000313346 00000 n 0000313367 00000 n 0000313389 00000 n 0000313410 00000 n 0000313440 00000 n 0000313800 00000 n 0000314344 00000 n 0000317046 00000 n 0000317068 00000 n 0000317089 00000 n 0000317111 00000 n 0000317132 00000 n 0000317162 00000 n 0000317496 00000 n 0000318037 00000 n 0000322078 00000 n 0000322100 00000 n 0000322121 00000 n 0000322143 00000 n 0000322164 00000 n 0000322195 00000 n 0000322543 00000 n 0000323076 00000 n 0000338426 00000 n 0000338449 00000 n 0000338471 00000 n 0000338494 00000 n 0000338515 00000 n 0000338547 00000 n 0000339026 00000 n 0000339564 00000 n 0000353212 00000 n 0000353235 00000 n 0000353257 00000 n 0000353280 00000 n 0000353301 00000 n 0000353333 00000 n 0000353866 00000 n 0000354400 00000 n 0000358265 00000 n 0000358287 00000 n 0000358308 00000 n 0000358330 00000 n 0000358351 00000 n 0000358383 00000 n 0000358724 00000 n 0000359271 00000 n 0000361423 00000 n 0000361445 00000 n 0000361466 00000 n 0000361487 00000 n 0000361508 00000 n 0000361539 00000 n 0000361877 00000 n 0000362413 00000 n 0000375954 00000 n 0000375977 00000 n 0000375999 00000 n 0000376022 00000 n 0000376043 00000 n 0000376074 00000 n 0000376577 00000 n 0000377115 00000 n 0000382189 00000 n 0000382211 00000 n 0000382232 00000 n 0000382254 00000 n 0000382275 00000 n 0000382307 00000 n 0000382655 00000 n 0000383189 00000 n 0000393291 00000 n 0000393313 00000 n 0000393335 00000 n 0000393357 00000 n 0000393378 00000 n 0000393410 00000 n 0000393835 00000 n 0000394379 00000 n 0000397602 00000 n 0000397624 00000 n 0000397645 00000 n 0000397667 00000 n 0000397688 00000 n 0000397720 00000 n 0000398126 00000 n 0000398660 00000 n 0000415831 00000 n 0000415854 00000 n 0000415876 00000 n 0000415899 00000 n 0000415920 00000 n 0000415951 00000 n 0000416608 00000 n 0000417141 00000 n 0000423863 00000 n 0000423885 00000 n 0000423907 00000 n 0000423929 00000 n 0000423950 00000 n 0000423981 00000 n 0000424992 00000 n 0000425107 00000 n 0000425184 00000 n 0000425254 00000 n 0000425307 00000 n trailer << /Size 372 /Root 370 0 R /Info 371 0 R >> startxref 425403 %%EOF sparskit-2.0.0/DOC/paper.ps0000640000265600020320000416347706203735222014600 0ustar tilleaadmin%!PS-Adobe-2.0 %%Creator: dvips 5.495 Copyright 1986, 1992 Radical Eye Software %%Pages: 36 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSCommandLine: dvips %DVIPSSource: TeX output 1994.06.05:2110 %%BeginProcSet: tex.pro %! /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N} B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 -1 1 0 0 0] concat}if 72 Resolution div 72 VResolution div neg scale isls{Resolution hsize -72 div mul 0 TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{ CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N} B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook} if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255 {IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{ pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{ gsave transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{ p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: special.pro %! TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X /rwiSeen true N}B /@rhi {10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{ }N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{ SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{ rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B /li{lineto}B /rl{ rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 40258431 52099146 1000 300 300 () @start /Fa 70 123 df<1800C03C01E07E01E07E03E0E703C0E703C0E707C0E70780E70F80E70F00E70F007E 1F007E1E003C1E00183E00003C00007C0000780000780000F80000F00000F00001F00001E00003 E00003C00003C0C007C3F00783F00787380F87380F07381F07381E07381E07383E07383C03F03C 03F01800C015277EA21A>37 D<0038007800F001E003C007800F000E001C001C00380038007000 70007000E000E000E000E000E000E000E000E000E000E000700070007000380038001C001C000E 000F00078003C001E000F8007800380D2878A21A>40 D<6000F00078003C001E000F0007800380 01C001C000E000E000700070007000380038003800380038003800380038003800380070007000 7000E000E001C001C0038007800F001E003C007800F00060000D287CA21A>I<00E00000E00000 E00000E00040E040F0E1E0F8E3E07EEFC01FFF0007FC0003F80007FC001FFF007EEFC0F8E3E0F0 E1E040E04000E00000E00000E00000E00013157D991A>I<003000007800007800007800007800 0078000078000078000078007FFFF0FFFFF8FFFFF87FFFF0007800007800007800007800007800 00780000780000780000300015167E991A>I<183E7E7F3F1F070E0E1CFCF8E0080D77851A>I<7F FFC0FFFFE0FFFFE07FFFC013047D901A>I<3078FCFC7830060676851A>I<0000C00001E00001E0 0003E00003C00007C0000780000F80000F00000F00001F00001E00003E00003C00007C00007800 00780000F80000F00001F00001E00003E00003C00003C00007C0000780000F80000F00001F0000 1E00001E00003E00003C00007C0000780000F80000F00000F0000060000013277DA21A>I<01F0 0007FC000FFE001F1F001C07003803803803807001C07001C07001C0E000E0E000E0E000E0E000 E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C07803C03803803C07801C07001F1F 000FFE0007FC0001F000131E7D9D1A>I<00C001C001C003C007C00FC07FC0FDC071C001C001C0 01C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C07FFF7FFF7FFF10 1E7B9D1A>I<03F0000FFC001FFF003C0F807803C07001C0E000E0F000E0F000E06000E00000E0 0000E00001C00001C0000380000780000F00000E00003C00007C0000F00001E00003C000078000 0F00001E00E03C00E07FFFE0FFFFE07FFFE0131E7D9D1A>I<01FC0007FF001FFF801E03C03C01 C03C00E03C00E00000E00000E00001C00003C000078001FF0001FF0001FFC00003E00000F00000 70000078000038000038600038F00038F00078E000707000F07E03E03FFFC00FFF0001FC00151E 7E9D1A>I<000F80001F80003B80003B8000738000F38000E38001C38003C3800383800783800F 03800E03801E03803C0380380380780380F00380FFFFFEFFFFFEFFFFFE00038000038000038000 0380000380000380003FF8007FFC003FF8171E7F9D1A>I<3FFFC07FFFC07FFFC0700000700000 70000070000070000070000070000070000071F8007FFE007FFF007E07807803C03001C00001C0 0000E00000E00000E06000E0F000E0F001C0E001C07003807C0F803FFF000FFC0003F000131E7D 9D1A>I<007E0001FF8003FFC00781E00F01E01E01E03C00C0380000700000700000700000E1F8 00E7FE00FFFF00FE0780F803C0F001C0F000E0F000E0E000E0F000E07000E07000E07001C03801 C03C03801E0F800FFF0007FC0001F000131E7D9D1A>II<01FC0007FF001FFFC01F07C03C01E07800F07000707000707000707800F03800E0 1E03C00FFF8003FE0007FF001F8FC03C01E07800F0700070E00038E00038E00038E00038F00078 7000707800F03E03E01FFFC007FF0001FC00151E7E9D1A>I<01F00007FC001FFE003E0F003807 807003807001C0E001C0E001C0E001E0E000E0E000E0E001E07001E07803E03C0FE01FFFE00FFC E003F0E00001C00001C00001C0000380600380F00700F00F00F03E007FFC003FF0000FC000131E 7D9D1A>I<3078FCFC78300000000000000000003078FCFC7830061576941A>I<0000C00003E000 07E0000FC0003F80007E0000FC0003F80007E0000FC0003F80007E0000FC0000FC00007E00003F 80000FC00007E00003F80000FC00007E00003F80000FC00007E00003E00000C0131A7D9B1A>60 D<7FFFF0FFFFF8FFFFF87FFFF00000000000000000000000007FFFF0FFFFF8FFFFF87FFFF0150C 7E941A>I<600000F80000FC00007E00003F80000FC00007E00003F80000FC00007E00003F8000 0FC00007E00007E0000FC0003F80007E0000FC0003F80007E0000FC0003F80007E0000FC0000F8 0000600000131A7D9B1A>I<003800007C00007C00006C0000EE0000EE0000EE0000C60000C600 01C70001C70001C70001C7000383800383800383800383800701C00701C007FFC007FFC00FFFE0 0E00E00E00E00E00E00E00E01C00707F01FCFF83FE7F01FC171E7F9D1A>65 DI<007C3801FF3807FFF80F83F81E00F81C007838 0078380038700038700038700000E00000E00000E00000E00000E00000E00000E00000E0000070 00007000387000383800383800381C00701E00F00F83E007FFC001FF80007C00151E7E9D1A>I< 7FFE00FFFF007FFF801C07C01C01E01C00F01C00701C00781C00381C00381C003C1C001C1C001C 1C001C1C001C1C001C1C001C1C001C1C001C1C003C1C00381C00381C00781C00701C00F01C01E0 1C07C07FFFC0FFFF007FFE00161E7F9D1A>II<7F FFFCFFFFFC7FFFFC0E001C0E001C0E001C0E001C0E00000E00000E00000E03800E03800E03800F FF800FFF800FFF800E03800E03800E03800E00000E00000E00000E00000E00000E00000E00000E 00007FE000FFE0007FE000161E7F9D1A>I72 DI<01FFC003FFC001FFC0000E00000E00000E0000 0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0000 0E00000E00000E00000E00600E00F00E00F01E00F03C007FF8003FF0000FC000121E7C9D1A>I< 7F03F8FF87FC7F03F81C01E01C03C01C03801C07001C0F001C1E001C1C001C38001C78001CF000 1CF8001DF8001FDC001F9C001F0E001E0F001E07001C07801C03801C01C01C01C01C00E01C00E0 1C00707F00FCFF81FE7F00FC171E7F9D1A>I<7FE000FFF0007FE0000E00000E00000E00000E00 000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00 000E00000E00000E001C0E001C0E001C0E001C0E001C7FFFFCFFFFFC7FFFFC161E7F9D1A>I<7E 003F00FF007F807F007F001D80DC001D80DC001D80DC001DC1DC001DC1DC001CC19C001CC19C00 1CE39C001CE39C001C631C001C771C001C771C001C361C001C361C001C3E1C001C1C1C001C1C1C 001C001C001C001C001C001C001C001C001C001C001C001C001C001C007F007F00FF80FF807F00 7F00191E809D1A>II<0FFE003FFF807FFFC07C07 C07001C0F001E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000 E0E000E0E000E0E000E0E000E0E000E0E000E0F001E0F001E07001C07C07C07FFFC03FFF800FFE 00131E7D9D1A>II82 D<03F1C00FFDC03FFFC07C0FC07003C0E003C0E001C0E001C0E001C0E0000070 00007800003F00001FF00007FE0000FF00000F800003C00001C00000E00000E06000E0E000E0E0 00E0E001C0F001C0FC0780FFFF80EFFE00E3F800131E7D9D1A>I<7FFFFEFFFFFEFFFFFEE0380E E0380EE0380EE0380E003800003800003800003800003800003800003800003800003800003800 00380000380000380000380000380000380000380000380000380000380003FF8003FF8003FF80 171E7F9D1A>II87 D<7F87F87F87F87F87F80F01C007038007838003870003C70001CE0001EE0000FC 0000FC00007800007800007800007C00007C0000FE0000EE0001CF0001C7000387800383800703 C00701C00E00E00E00E07F01FCFF83FE7F01FC171E7F9D1A>II<1FF0003FFC007FFE00780F00300700000380000380007F8007FF801FFF803F8380 780380700380E00380E00380E00380700780780F803FFFFC1FFDFC07F0FC16157D941A>97 DI<00FF8003FFC00FFFE01F01E03C00C078000070 0000700000E00000E00000E00000E00000E000007000007000007800703C00701F01F00FFFE003 FFC000FE0014157D941A>I<001FC0001FC0001FC00001C00001C00001C00001C00001C00001C0 01F1C007FDC00FFFC01E0FC03C07C07803C07001C0E001C0E001C0E001C0E001C0E001C0E001C0 E001C07003C07003C03807C03E0FC01FFFFC07FDFC01F1FC161E7E9D1A>I<01F80007FF000FFF 801E07C03C01C07800E07000E0E00070E00070FFFFF0FFFFF0FFFFF0E000007000007000007800 703C00701F01F00FFFE003FFC000FE0014157D941A>I<0007E0001FF0003FF800787800F03000 E00000E00000E00000E0007FFFF0FFFFF0FFFFF000E00000E00000E00000E00000E00000E00000 E00000E00000E00000E00000E00000E00000E00000E00000E0003FFF807FFFC03FFF80151E7F9D 1A>I<01F87C07FFFE0FFFFE1E078C1C03803801C03801C03801C03801C03801C01C03801E0780 1FFF001FFE0039F8003800003800001C00001FFF801FFFE03FFFF878007C70001CE0000EE0000E E0000EE0000E70001C78003C3E00F81FFFF007FFC001FF0017217F941A>II<00C00001E00001E00000C00000000000000000000000000000000000 00007FE0007FE0007FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000 E00000E00000E00000E00000E00000E0007FFF80FFFFC07FFF80121F7C9E1A>I<000C001E001E 000C0000000000000000000000000FFE0FFE0FFE000E000E000E000E000E000E000E000E000E00 0E000E000E000E000E000E000E000E000E000E000E000E000E000E001C601CF038FFF87FF01FC0 0F2A7E9E1A>III<7CE0E000FFFBF8007FFFF8001F1F1C001E1E1C001E1E1C001C1C1C001C1C1C001C 1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C00 7F1F1F00FF9F9F807F1F1F00191580941A>II<01F00007FC001FFF003E0F803C07807803C07001C0E000E0E000E0E0 00E0E000E0E000E0E000E0F001E07001C07803C03C07803E0F801FFF0007FC0001F00013157D94 1A>II<7F83F0FF8FF87FBFFC03FC 3C03F01803E00003C00003C0000380000380000380000380000380000380000380000380000380 000380007FFF00FFFF007FFF0016157E941A>114 D<07FB801FFF807FFF80780780E00380E003 80E003807800007FC0003FFC0007FE00003F800007806001C0E001C0E001C0F003C0FC0780FFFF 00EFFE00E3F80012157C941A>I<00C00001C00001C00001C00001C00001C00001C0007FFFE0FF FFE0FFFFE001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C07001 C07001C07001C07000E0E000FFE0007FC0001F00141C7F9B1A>II<7F83FCFFC7FE7F83FC0E00E00E00E00E00E00701 C00701C00701C003838003838003838001C70001C70001C70000EE0000EE0000EE00007C00007C 0000380017157F941A>II<7FC7F87FCFFC7FC7F80703C003838003C70001EF0000FE00007C00007800003800007C00 00EE0001EE0001C7000383800783C00F01C07FC7FCFFC7FE7FC7FC17157F941A>I<7FC3FCFFC7 FE7FC3FC0E00E00E00E00700E00701C00781C00381C003838003C38001C38001C70000E70000E7 0000E600006600006E00003C00003C00003C0000380000380000380000700000700030700078E0 0071E0007FC0003F80001E000017207F941A>I<7FFFF0FFFFF0FFFFF0E001E0E003C0E0078000 0F00001E00003C0000780000F00001E00003C0000780000F00381E00383C0038780038FFFFF8FF FFF8FFFFF815157E941A>I E /Fb 2 50 df<060F0F0E1E1E1C3C383830707060E0C04008117F 910A>48 D<0F8007C019E01C202070301040184008C00C80048007800480070004800380048007 80048004C00C400860082030381010E01E600F8007C01E0E7E8D23>I E /Fc 2 51 df<0C001C00EC000C000C000C000C000C000C000C000C000C000C000C000C000C000C 000C00FFC00A137D9211>49 D<1F0060C06060F070F030603000700070006000C001C001800200 04000810101020207FE0FFE00C137E9211>I E /Fd 5 51 df<0102040C1818303070606060E0 E0E0E0E0E0E0E0E0E060606070303018180C04020108227D980E>40 D<8040203018180C0C0E06 0606070707070707070707070606060E0C0C18183020408008227E980E>I<0030000030000030 00003000003000003000003000003000003000003000003000FFFFFCFFFFFC0030000030000030 0000300000300000300000300000300000300000300000300016187E931B>43 D<03000700FF000700070007000700070007000700070007000700070007000700070007000700 07007FF00C157E9412>49 D<0F8030E040708030C038E0384038003800700070006000C0018003 0006000C08080810183FF07FF0FFF00D157E9412>I E /Fe 2 51 df<0C003C00CC000C000C00 0C000C000C000C000C000C000C000C000C000C00FF8009107E8F0F>49 D<1F00618040C08060C0 600060006000C00180030006000C00102020207FC0FFC00B107F8F0F>I E /Ff 8 112 df<60F0F070101020204040040A7D830A>59 D<1FFFFE381C0E201C04601C0440 1C0440380480380400380000380000700000700000700000700000E00000E00000E00000E00001 C00001C00001C00001C00003C0007FFC0017177F9615>84 D<000E001300370036006000600060 0060006007FC00C000C000C000C000C001800180018001800180018003000300030003006600E6 00CC007800101D7E9611>102 D<0300038003000000000000000000000000001C002400460046 008C000C0018001800180031003100320032001C0009177F960C>105 D<001800380010000000 00000000000000000001C0022004300430086000600060006000C000C000C000C0018001800180 01806300E300C60078000D1D80960E>I<1F0006000600060006000C000C000C000C00181C1866 188E190C32003C003F00318060C060C460C460C8C0C8C0700F177E9612>I<383C0044C6004702 004602008E06000C06000C06000C0C00180C00180C40181840181880300880300F00120E7F8D15 >110 D<07C00C20101020186018C018C018C01880308030C060C0C061803E000D0E7E8D11>I E /Fg 9 115 df0 D<800002C0000660000C3000181800300C 00600600C003018001830000C600006C00003800003800006C0000C6000183000301800600C00C 006018003030001860000CC000068000021718789727>2 D<00C00000C00000C00000C00000C0 00C0C0C0F0C3C038C7000EDC0003F00000C00003F0000EDC0038C700F0C3C0C0C0C000C00000C0 0000C00000C00000C00012157D9619>I<00008000000180000001800000018000000180000001 800000018000000180000001800000018000000180000001800000018000000180000001800000 018000FFFFFFFFFFFFFFFF00018000000180000001800000018000000180000001800000018000 00018000000180000001800000018000000180000001800000018000FFFFFFFFFFFFFFFF20227D A027>6 D<000FF00000700E000180018002000040040000200800001010000008100000082000 000420000004400000024000000240000002800000018003C0018007E0018007E0018007E00180 07E0018003C0018000000140000002400000024000000220000004200000041000000810000008 0800001004000020020000400180018000700E00000FF00020227D9C27>12 D<03F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFF C0FFFFC07FFF807FFF803FFF001FFE000FFC0003F00012147D9519>15 D<000003000003000006 00000600000C00000C0000180000180000300000300000600000600000C00000C00000C0000180 000180000300000300000600000600000C00000C00001800001800003000003000006000006000 00C00000C0000180000180000300000300000300000600000600000C00000C0000180000180000 300000300000600000600000C00000400000183079A300>54 D<8010C030C030C030C030C030C0 30C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030 C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C030C0 30C030C030C03080100C327AA419>107 D114 D E /Fh 65 122 df<00180030006000C001C00380070007000E001E001C003C00 3C003C007800780078007800F800F000F000F000F000F000F000F000F000F000F000F000F80078 007800780078003C003C003C001C001E000E0007000700038001C000C00060003000180D317BA4 16>40 DI<387CFEFFFF7F3B03 030706060C1C18702008117C8610>44 DI<387CFEFEFE7C38 07077C8610>I<00FE0007FFC00F83E01F01F03E00F83E00F87C007C7C007C7C007CFC007CFC00 7EFC007EFC007EFC007EFC007EFC007EFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C00 7C7C007C7C007C3E00F83E00F81F01F00F83E007FFC000FE0017207E9F1C>48 D<00180000780001F800FFF800FFF80001F80001F80001F80001F80001F80001F80001F80001F8 0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8 0001F80001F80001F80001F8007FFFE07FFFE013207C9F1C>I<03FC000FFF003C1FC07007E07C 07F0FE03F0FE03F8FE03F8FE01F87C01F83803F80003F80003F00003F00007E00007C0000F8000 1F00003E0000380000700000E01801C0180380180700180E00380FFFF01FFFF03FFFF07FFFF0FF FFF0FFFFF015207D9F1C>I<00FE0007FFC00F07E01E03F03F03F03F81F83F81F83F81F81F03F8 1F03F00003F00003E00007C0001F8001FE0001FF000007C00001F00001F80000FC0000FC3C00FE 7E00FEFF00FEFF00FEFF00FEFF00FC7E01FC7801F81E07F00FFFC001FE0017207E9F1C>I<0000 E00001E00003E00003E00007E0000FE0001FE0001FE00037E00077E000E7E001C7E00187E00307 E00707E00E07E00C07E01807E03807E07007E0E007E0FFFFFEFFFFFE0007E00007E00007E00007 E00007E00007E00007E000FFFE00FFFE17207E9F1C>I<1000201E01E01FFFC01FFF801FFF001F FE001FF8001BC00018000018000018000018000019FC001FFF001E0FC01807E01803E00003F000 03F00003F80003F83803F87C03F8FE03F8FE03F8FC03F0FC03F07007E03007C01C1F800FFF0003 F80015207D9F1C>I<001F8000FFE003F07007C0F00F01F81F01F83E01F83E01F87E00F07C0000 7C0000FC0800FC7FC0FCFFE0FD80F0FF00F8FE007CFE007CFC007EFC007EFC007EFC007E7C007E 7C007E7C007E3C007C3E007C1E00F80F00F00783E003FFC000FF0017207E9F1C>I<6000007800 007FFFFE7FFFFE7FFFFC7FFFF87FFFF87FFFF0E00060E000C0C00180C00300C00300000600000C 00001C0000180000380000780000780000F00000F00000F00001F00001F00001F00003F00003F0 0003F00003F00003F00003F00003F00001E00017227DA11C>I<00FE0003FFC00703E00E00F01C 00F01C00783C00783E00783F00783F80783FE0F01FF9E01FFFC00FFF8007FFC003FFE007FFF01E 7FF83C1FFC7807FC7801FEF000FEF0003EF0001EF0001EF0001CF8001C7800383C00381F01F00F FFC001FF0017207E9F1C>I<01FE0007FF800F83E01E01F03E00F07C00F87C0078FC007CFC007C FC007CFC007EFC007EFC007EFC007E7C00FE7C00FE3E01FE1E037E0FFE7E07FC7E00207E00007C 00007C1E007C3F00F83F00F83F00F03F01E01E03C01C0F800FFE0003F80017207E9F1C>I<387C FEFEFE7C380000000000000000387CFEFEFE7C3807167C9510>I<000070000000007000000000 F800000000F800000000F800000001FC00000001FC00000003FE00000003FE00000003FE000000 06FF000000067F0000000E7F8000000C3F8000000C3F800000183FC00000181FC00000381FE000 00300FE00000300FE00000600FF000006007F00000E007F80000FFFFF80000FFFFF800018001FC 00018001FC00038001FE00030000FE00030000FE000600007F000600007F00FFE00FFFF8FFE00F FFF825227EA12A>65 DI<0003FE0080001FFF 818000FF01E38001F8003F8003E0001F8007C0000F800F800007801F800007803F000003803F00 0003807F000001807E000001807E00000180FE00000000FE00000000FE00000000FE00000000FE 00000000FE00000000FE00000000FE000000007E000000007E000001807F000001803F00000180 3F000003801F800003000F8000030007C000060003F0000C0001F800380000FF00F000001FFFC0 000003FE000021227DA128>IIII<0003FE0040001FFFC0C0007F00F1C001F8003FC003F0000FC007C00007C00F C00003C01F800003C03F000001C03F000001C07F000000C07E000000C07E000000C0FE00000000 FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000FFFFC7E000FFF FC7F00001FC07F00001FC03F00001FC03F00001FC01F80001FC00FC0001FC007E0001FC003F000 1FC001FC003FC0007F80E7C0001FFFC3C00003FF00C026227DA12C>III<03FFFF03FFFF0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0 0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F01807F0 7E07F0FF07F0FF07F0FF07F0FF07E07E0FE07C1FC01FFF0007F80018227FA11D>IIII I<0007FC0000003FFF800000FC07E00003F001F80007E000FC000FC0007E001F80003F001F8000 3F003F00001F803F00001F807F00001FC07E00000FC07E00000FC0FE00000FE0FE00000FE0FE00 000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE07E00000FC07F 00001FC07F00001FC03F00001F803F80003F801F80003F000FC0007E0007E000FC0003F001F800 00FC07E000003FFF80000007FC000023227DA12A>II<0007FC0000003FFF800000FC07E00003F001F80007E000FC000FC0007E00 1F80003F001F80003F003F00001F803F00001F807F00001FC07E00000FC07E00000FC0FE00000F E0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE0000 0FE07E00000FC07F00001FC07F00001FC03F00001F803F81F03F801F83F83F000FC70C7E0007E6 06FC0003F607F80000FF07E000003FFF80000007FF80200000038020000001C020000001E0E000 0001FFE0000001FFC0000000FFC0000000FFC00000007F800000007F000000001E00232C7DA12A >II<01FC0407FF8C1F03FC3C007C7C003C78 001C78001CF8000CF8000CFC000CFC0000FF0000FFE0007FFF007FFFC03FFFF01FFFF80FFFFC03 FFFE003FFE0003FF00007F00003F00003FC0001FC0001FC0001FE0001EE0001EF0003CFC003CFF 00F8C7FFE080FF8018227DA11F>I<7FFFFFFF807FFFFFFF807E03F80F807803F807807003F803 806003F80180E003F801C0E003F801C0C003F800C0C003F800C0C003F800C0C003F800C00003F8 00000003F800000003F800000003F800000003F800000003F800000003F800000003F800000003 F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8000000 03F800000003F800000003F800000003F8000003FFFFF80003FFFFF80022227EA127>III< FFFF0FFFF01FFEFFFF0FFFF01FFE0FF000FF0000E007F0007F0000C007F0007F0000C003F8007F 80018003F8003F80018003FC003F80038001FC003FC0030001FC003FC0030000FE007FE0060000 FE006FE0060000FF006FE00600007F00C7F00C00007F00C7F00C00007F80C7F81C00003F8183F8 1800003F8183F81800001FC383FC3000001FC301FC3000001FE301FC3000000FE600FE6000000F E600FE6000000FF600FFE0000007FC007FC0000007FC007FC0000003FC007F80000003F8003F80 000003F8003F80000001F0001F00000001F0001F00000000F0001E00000000E0000E00000000E0 000E000037227FA13A>I<7FFFC1FFF07FFFC1FFF003FC000C0001FE00180000FE00380000FF00 7000007F806000003F80C000003FC1C000001FE38000000FE30000000FF700000007FE00000003 FC00000003FC00000001FE00000000FE00000000FF00000000FF80000001FFC0000001BFC00000 031FE00000070FF000000E0FF000000C07F800001803FC00003803FC00003001FE00006000FF00 00E000FF0001C0007F800180003FC0FFFC03FFFEFFFC03FFFE27227FA12A>II<3FFFFFE03FFFFFE03F801FC03E003FC03C003F8038007F0070 00FF007000FE007001FE006003FC006003F8006007F8000007F000000FE000001FE000001FC000 003FC000007F8000007F000000FF000000FE006001FC006003FC006003F8006007F800E00FF000 E00FE000E01FE001C01FC001C03F8003C07F8007C07F003FC0FFFFFFC0FFFFFFC01B227DA122> I<07FC001FFF803F07C03F03E03F01E03F01F01E01F00001F00001F0003FF003FDF01FC1F03F01 F07E01F0FC01F0FC01F0FC01F0FC01F07E02F07E0CF81FF87F07E03F18167E951B>97 DI<00FF8007FFE00F83 F01F03F03E03F07E03F07C01E07C0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00 007E00003E00301F00600FC0E007FF8000FE0014167E9519>I<0001FE000001FE0000003E0000 003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00 01FC3E0007FFBE000F81FE001F007E003E003E007E003E007C003E00FC003E00FC003E00FC003E 00FC003E00FC003E00FC003E00FC003E00FC003E007C003E007C003E003E007E001E00FE000F83 BE0007FF3FC001FC3FC01A237EA21F>I<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC 00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00007E00003E00181F00300FC07003 FFC000FF0015167E951A>I<003F8000FFC001E3E003C7E007C7E00F87E00F83C00F80000F8000 0F80000F80000F80000F8000FFFC00FFFC000F80000F80000F80000F80000F80000F80000F8000 0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80007FF8007FF800 13237FA211>I<03FC1E0FFF7F1F0F8F3E07CF3C03C07C03E07C03E07C03E07C03E07C03E03C03 C03E07C01F0F801FFF0013FC003000003000003800003FFF801FFFF00FFFF81FFFFC3800FC7000 3EF0001EF0001EF0001EF0001E78003C7C007C3F01F80FFFE001FF0018217E951C>II<1C003F007F007F007F003F001C 000000000000000000000000000000FF00FF001F001F001F001F001F001F001F001F001F001F00 1F001F001F001F001F001F001F001F00FFE0FFE00B247EA310>I107 DIII<00FE0007FFC00F83E01E00F03E00F87C007C7C00 7C7C007CFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83 E007FFC000FE0017167E951C>II<00FE030007FF87 000FC1C7001F006F003F003F007E003F007E001F007C001F00FC001F00FC001F00FC001F00FC00 1F00FC001F00FC001F00FC001F007E001F007E001F003E003F001F007F000FC1DF0007FF9F0001 FC1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000FFE0 0000FFE01B207E951E>II<0FF3003FFF00781F00600700E00300E00300F00300FC00007FE0007FF8003FFE00 0FFF0001FF00000F80C00780C00380E00380E00380F00700FC0E00EFFC00C7F00011167E9516> I<0180000180000180000180000380000380000780000780000F80003F8000FFFF00FFFF000F80 000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F81800F81800F81 800F81800F81800F830007C30003FE0000F80011207F9F16>IIII 121 D E /Fi 49 121 df<0001FF81FE00001FFFEFFF80007F80FF87C000FC00FE0FE001F801FE 0FE003F801FC0FE007F001FC0FE007F001FC07C007F001FC000007F001FC000007F001FC000007 F001FC000007F001FC000007F001FC000007F001FC0000FFFFFFFFF800FFFFFFFFF800FFFFFFFF F80007F001FC000007F001FC000007F001FC000007F001FC000007F001FC000007F001FC000007 F001FC000007F001FC000007F001FC000007F001FC000007F001FC000007F001FC000007F001FC 000007F001FC000007F001FC000007F001FC000007F001FC000007F001FC000007F001FC000007 F001FC000007F001FC00007FFF1FFFE0007FFF1FFFE0007FFF1FFFE0002B2A7FA928>11 D<1C003E007F00FF80FF80FF807F003E001C0009097B8813>46 D<003F800001FFF00007E0FC00 0FC07E001F803F001F803F003F001F803F001F807F001FC07F001FC07F001FC07F001FC0FF001F E0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF00 1FE0FF001FE0FF001FE0FF001FE0FF001FE07F001FC07F001FC07F001FC07F001FC03F001F803F 001F801F803F001F803F000FC07E0007E0FC0001FFF000003F80001B277DA622>48 D<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE0000FE 0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE 0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE007FFFFE7FFFFE7FFF FE17277BA622>I<00FF800003FFF0000FFFFC001F03FE003800FF007C007F80FE003FC0FF003F C0FF003FE0FF001FE0FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F800000 7F000000FE000000FC000001F8000003F0000003E00000078000000F0000001E0000003C00E000 7000E000E000E001C001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80 FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007FFFC000F81FE001F00FF003F80FF00 3F807F803F807F803F807F801F807F800F007F800000FF000000FF000000FE000001FC000001F8 000007F00000FFC00000FFF0000001FC0000007E0000007F0000007F8000003FC000003FC00000 3FE000003FE03C003FE07E003FE0FF003FE0FF003FE0FF003FC0FF007FC07E007F807C007F003F 01FE001FFFFC0007FFF00000FF80001B277DA622>I<00000E0000001E0000003E0000007E0000 00FE000000FE000001FE000003FE0000077E00000E7E00000E7E00001C7E0000387E0000707E00 00E07E0000E07E0001C07E0003807E0007007E000E007E000E007E001C007E0038007E0070007E 00E0007E00FFFFFFF8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000FE000000FE000000 FE000000FE000000FE00007FFFF8007FFFF8007FFFF81D277EA622>I<0C0003000F803F000FFF FE000FFFFC000FFFF8000FFFF0000FFFE0000FFFC0000FFE00000E0000000E0000000E0000000E 0000000E0000000E0000000E7FC0000FFFF8000F80FC000E003E000C003F0000001F8000001FC0 00001FC000001FE000001FE018001FE07C001FE0FE001FE0FE001FE0FE001FE0FE001FC0FC001F C078003F8078003F803C007F001F01FE000FFFF80003FFF00000FF80001B277DA622>I<380000 003E0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07FFFFFC07FFFFF807FFFFF0070000E007000 0E0070001C00E0003800E0007000E000E0000000E0000001C00000038000000780000007800000 0F0000000F0000001F0000001F0000003F0000003E0000003E0000007E0000007E0000007E0000 007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000007C00 00003800001C297CA822>55 D<000003800000000007C00000000007C0000000000FE000000000 0FE0000000000FE0000000001FF0000000001FF0000000003FF8000000003FF8000000003FF800 00000073FC0000000073FC00000000F3FE00000000E1FE00000000E1FE00000001C0FF00000001 C0FF00000003C0FF80000003807F80000007807FC0000007003FC0000007003FC000000E003FE0 00000E001FE000001E001FF000001C000FF000001FFFFFF000003FFFFFF800003FFFFFF8000078 0007FC0000700003FC0000700003FC0000E00001FE0000E00001FE0001E00001FF0001C00000FF 0001C00000FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE2F297EA834>65 DI<00003FF001800003FFFE0380000FFFFF878000 3FF007DF8000FF8001FF8001FE00007F8003FC00003F8007F000001F800FF000000F801FE00000 07801FE0000007803FC0000007803FC0000003807FC0000003807F80000003807F8000000000FF 8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF800000 0000FF8000000000FF80000000007F80000000007F80000000007FC0000003803FC0000003803F C0000003801FE0000003801FE0000007000FF00000070007F000000E0003FC00001E0001FE0000 3C0000FF8000F800003FF007E000000FFFFFC0000003FFFF000000003FF8000029297CA832>I< FFFFFFF80000FFFFFFFF8000FFFFFFFFE00003FC001FF80003FC0007FC0003FC0001FE0003FC00 00FF0003FC00007F8003FC00003FC003FC00001FC003FC00001FE003FC00001FE003FC00000FF0 03FC00000FF003FC00000FF003FC00000FF003FC00000FF803FC00000FF803FC00000FF803FC00 000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF8 03FC00000FF003FC00000FF003FC00000FF003FC00001FE003FC00001FE003FC00001FC003FC00 003FC003FC00007F8003FC00007F0003FC0001FE0003FC0003FC0003FC001FF800FFFFFFFFE000 FFFFFFFF8000FFFFFFFC00002D297DA835>III73 D75 DIII<0000FFE000000007FFFC 0000003FC07F8000007F001FC00001FC0007F00003F80003F80007F00001FC000FF00001FE001F E00000FF001FE00000FF003FC000007F803FC000007F807FC000007FC07F8000003FC07F800000 3FC07F8000003FC0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF 8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE07F8000003FC07FC00000 7FC07FC000007FC03FC000007F803FC000007F801FE00000FF001FE00000FF000FF00001FE0007 F00001FC0003F80003F80001FC0007F00000FF001FE000003FC07F8000000FFFFE00000000FFE0 00002B297CA834>II82 D<007F806003FFF0E007FFF9E00F807FE01F001FE03E0007E07C0003E07C0001E0 FC0001E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE0003FFFFC 001FFFFE000FFFFF8007FFFFC003FFFFE000FFFFE00007FFF000007FF000000FF8000007F80000 03F8600001F8E00001F8E00001F8E00001F8F00001F0F00001F0F80003F0FC0003E0FF0007C0FF E01F80F3FFFF00E0FFFE00C01FF0001D297CA826>I<7FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFF C07F803FC03FC07E003FC007C078003FC003C078003FC003C070003FC001C0F0003FC001E0F000 3FC001E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E0E0003FC000E000003FC000 0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000 3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000 0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000 3FC0000000003FC00000007FFFFFE000007FFFFFE000007FFFFFE0002B287EA730>III89 D<01FF800007FFF0000F81F8001FC07E001FC07E00 1FC03F000F803F8007003F8000003F8000003F8000003F80000FFF8000FFFF8007FC3F800FE03F 803F803F803F003F807F003F80FE003F80FE003F80FE003F80FE003F807E007F807F00DF803F83 9FFC0FFF0FFC01FC03FC1E1B7E9A21>97 D<001FF80000FFFE0003F01F0007E03F800FC03F801F 803F803F801F007F800E007F0000007F000000FF000000FF000000FF000000FF000000FF000000 FF000000FF0000007F0000007F0000007F8000003F8001C01F8001C00FC0038007E0070003F01E 0000FFFC00001FE0001A1B7E9A1F>99 D<00003FF80000003FF80000003FF800000003F8000000 03F800000003F800000003F800000003F800000003F800000003F800000003F800000003F80000 0003F800000003F800000003F800001FE3F80000FFFBF80003F03FF80007E00FF8000FC007F800 1F8003F8003F8003F8007F0003F8007F0003F8007F0003F800FF0003F800FF0003F800FF0003F8 00FF0003F800FF0003F800FF0003F800FF0003F8007F0003F8007F0003F8007F0003F8003F8003 F8001F8003F8000F8007F80007C00FF80003F03BFF8000FFF3FF80003FC3FF80212A7EA926>I< 003FE00001FFF80003F07E0007C01F000F801F801F800F803F800FC07F000FC07F0007C07F0007 E0FF0007E0FF0007E0FFFFFFE0FFFFFFE0FF000000FF000000FF0000007F0000007F0000007F00 00003F8000E01F8000E00FC001C007E0038003F81F0000FFFE00001FF0001B1B7E9A20>I<0007 F0003FFC00FE3E01F87F03F87F03F07F07F07F07F03E07F00007F00007F00007F00007F00007F0 0007F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F00007F00007F0 0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0007FFF 807FFF807FFF80182A7EA915>I<00FF81F003FFE7F80FC1FE7C1F80FC7C1F007C383F007E107F 007F007F007F007F007F007F007F007F007F007F007F003F007E001F007C001F80FC000FC1F800 1FFFE00018FF800038000000380000003C0000003E0000003FFFF8001FFFFF001FFFFF800FFFFF C007FFFFE01FFFFFF03E0007F07C0001F8F80000F8F80000F8F80000F8F80000F87C0001F03C00 01E01F0007C00FC01F8003FFFE00007FF0001E287E9A22>II<07000FC01FE03FE03FE03FE01FE00FC0070000000000000000000000000000 00FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0 0FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7DAA14>I107 DIII<003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007E07F0007F07F00 07F07F0007F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F87F 0007F07F0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001FFFC00003FE0001D1B7E9A 22>II114 D<03FE300FFFF01E03F03800F0700070F000 70F00070F80070FC0000FFE0007FFE007FFF803FFFE01FFFF007FFF800FFF80003FC0000FC6000 7CE0003CF0003CF00038F80038FC0070FF01E0F7FFC0C1FF00161B7E9A1B>I<00700000700000 700000700000F00000F00000F00001F00003F00003F00007F0001FFFF0FFFFF0FFFFF007F00007 F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F03807 F03807F03807F03807F03807F03803F03803F87001F86000FFC0001F8015267FA51B>IIIII E /Fj 54 123 df<003F000000E180000380C020070060400E0070401C007040 3C0070803C003880780039007800390078003A00F0003A00F0003C00F0003800F0003800700038 00700078003000B800380338401C1C188007E00F001B157E941F>11 D<00007C00000183000002 018000040180000801C0001001C0002001C0002001C0004001C000400380008003800080030000 80070001000E000107FC0001083800010FDC0002000E0002000E0002000F0002000F0004000F00 04000F0004000F0004000F0008001E0008001E0008001C0008003C0014003800140070001400E0 001201C00021838000207C00002000000020000000400000004000000040000000400000008000 00008000000080000000800000001A2D7EA21C>I<01F00107F8010FFC021FFC02380E04600204 4003088001088001080000900000900000A00000A00000A00000C00000C00000C0000080000080 000080000180000180000180000300000300000300000300000600000600000600000400000400 18207F9419>I<007FFF8001FFFF8003FFFF800783C0000E01C0001C00E0003800E0003800E000 7000E0007000E0007000E000E001C000E001C000E001C000E0038000E003000060070000600E00 00301800001870000007C0000019157E941C>27 D<000020000040000040000040000040000080 000080000080000080000100000100000100000100000200001FC000F27001821807040C0E0406 1C0406180407380807700807700807700807E0100EE0100EE0100C60101C6020387020303020E0 1821C00E470003F800004000004000008000008000008000008000010000010000010000010000 182D7DA21D>30 D<70F8F8F87005057C840E>58 D<70F8FCFC7404040404080810102040060F7C 840E>I<0000001800000078000001E00000078000001E00000078000003E000000F8000003C00 0000F0000003C000000F0000003C000000F0000000F00000003C0000000F00000003C0000000F0 0000003C0000000F80000003E0000000780000001E0000000780000001E000000078000000181D 1C7C9926>I<000080000180000180000300000300000300000600000600000600000C00000C00 000C0000180000180000180000300000300000300000600000600000600000C00000C00000C000 0180000180000180000180000300000300000300000600000600000600000C00000C00000C0000 180000180000180000300000300000300000600000600000600000C00000C00000C0000011317D A418>I<000FC000003030000040180000800C000100060001C0070003C0070003C00300018003 8000000380000003800000038000000380001F87800070478001C0278003801780070017800E00 1F001E001F001C001F003C001F0038001E0078001E0078001E0078003C00F0003C00F0003800F0 007800F00070007000E0007000E0007001C00038038000180700000C1C000003F0000019257EA3 1A>64 D<00000080000000018000000001C000000003C000000003C000000007C00000000BC000 00000BC000000013C000000033C000000023C000000043C000000043E000000081E000000181E0 00000101E000000201E000000201E000000401E000000C01E000000801E000001001E000001FFF F000002000F000006000F000004000F000008000F000008000F000010000F000030000F0000200 00F000040000F8000C0000F8001E0000F800FF800FFF8021237EA225>I<007FFFF8000007800F 00000780078000078003C0000F0001C0000F0001C0000F0001E0000F0001E0001E0001C0001E00 03C0001E0003C0001E000780003C000F00003C001E00003C003C00003C01F000007FFFE0000078 0078000078003C000078001E0000F0001E0000F0000E0000F0000F0000F0000F0001E0001E0001 E0001E0001E0001E0001E0003C0003C0003C0003C000780003C000F00003C001C00007C00F8000 FFFFFC000023227EA125>I<00007F00800003808100000E00630000380027000070001F0000E0 000E0001C0000E000380000E000700000E000F000004000E000004001E000004003C000004003C 00000800780000000078000000007800000000F000000000F000000000F000000000F000000000 F000000000E000000000E000002000E000002000E000004000E000004000F00000800070000080 007000010000380002000018000400001C0008000006003000000381C0000000FE00000021247D A223>I<007FFFF8000007801E0000078007000007800380000F0001C0000F0001C0000F0000E0 000F0000E0001E0000E0001E0000F0001E0000F0001E0000F0003C0000F0003C0000F0003C0000 F0003C0000F000780001E000780001E000780001E000780001E000F00003C000F00003C000F000 038000F000078001E000070001E0000E0001E0001E0001E0001C0003C000380003C000700003C0 00E00003C003800007C00E0000FFFFF8000024227EA128>I<007FFFFFC000078003C000078000 C000078000C0000F0000C0000F0000C0000F000080000F000080001E000080001E000080001E00 8080001E008000003C010000003C010000003C030000003C070000007FFE000000780600000078 060000007806000000F004000000F004000000F004010000F000020001E000020001E000020001 E000040001E0000C0003C000080003C000180003C000300003C000700007C003F000FFFFFFE000 22227EA124>I<007FFFFFC000078003C000078000C000078000C0000F0000C0000F0000C0000F 000080000F000080001E000080001E000080001E008080001E008000003C010000003C01000000 3C030000003C070000007FFE000000780600000078060000007806000000F004000000F0040000 00F004000000F000000001E000000001E000000001E000000001E000000003C000000003C00000 0003C000000003C000000007C0000000FFFE00000022227EA120>I<00007F00400003C0C08000 0E002180001C0013800070000F8000E000070001C0000700038000070007000007000F00000200 0E000002001E000002003C000002003C00000400780000000078000000007800000000F0000000 00F000000000F000000000F000000000F0003FFF00E00000F000E00000F000E00000F000E00001 E000F00001E000F00001E000700001E000700003C000380003C000180007C0000C0009C0000600 1180000380E08000007F00000022247DA226>I<00FFFC0007C0000780000780000F00000F0000 0F00000F00001E00001E00001E00001E00003C00003C00003C00003C0000780000780000780000 780000F00000F00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C00007 C000FFFC0016227EA116>73 D<0007FFE000001E0000001E0000001E0000003C0000003C000000 3C0000003C00000078000000780000007800000078000000F0000000F0000000F0000000F00000 01E0000001E0000001E0000001E0000003C0000003C0000003C0000003C0000007800000078000 3807800078078000F80F0000F80F0000F01E0000401C00004038000030E000000F8000001B237D A11B>I<007FFC01FF0007800078000780006000078000C0000F000180000F000200000F000400 000F000800001E001000001E004000001E008000001E010000003C020000003C040000003C1E00 00003C3E000000785F000000788F0000007A0F0000007C07800000F807800000F007C00000F003 C00000F003C00001E001E00001E001E00001E001E00001E000F00003C000F00003C000F80003C0 00780003C000780007C000FC00FFFC07FF8028227EA129>I<007FFE000007C000000780000007 8000000F0000000F0000000F0000000F0000001E0000001E0000001E0000001E0000003C000000 3C0000003C0000003C00000078000000780000007800000078000000F0000000F0000000F00010 00F0001001E0002001E0002001E0004001E0004003C000C003C0008003C0018003C0078007C01F 00FFFFFF001C227EA121>I<007FC00001FF0007C00003E00007C00005E00007C00005E00009E0 000BC00009E0000BC00009E00013C00009E00023C00011E00027800011E00047800011E0004780 0011E00087800021E0010F000020F0010F000020F0020F000020F0040F000040F0041E000040F0 081E000040F0081E000040F0101E000080F0203C00008078203C00008078403C00008078803C00 01007880780001007900780001007900780001007A00780002007C00F00002007C00F000020038 00F00006003800F0000F003001F000FFE0203FFF0030227EA12F>I<007FC003FF0007C0007800 07C000600005E000200009E000400009E000400008F000400008F000400010F800800010780080 001078008000103C008000203C010000203E010000201E010000201E010000400F020000400F02 0000400F020000400782000080078400008007C400008003C400008003C400010001E800010001 E800010001F800010000F800020000F0000200007000020000700006000070000F00002000FFE0 00200028227EA127>I<00007F00000381C0000E0060003800380070003800E0001C01C0001E03 80000E0700000E0F00000F0E00000F1C00000F3C00000F3C00000F7800000F7800000F7800000F F000001EF000001EF000001EF000003CF000003CF000003CE0000078E0000078E00000F0F00000 E0F00001E0F00003C0700007807800070038000E001C0038000E0070000783C00000FE00002024 7DA225>I<007FFFF0000007801C000007800F000007800700000F000380000F000380000F0003 80000F000380001E000780001E000780001E000780001E000F00003C000F00003C001E00003C00 3C00003C007000007801E000007FFF00000078000000007800000000F000000000F000000000F0 00000000F000000001E000000001E000000001E000000001E000000003C000000003C000000003 C000000003C000000007C0000000FFFC00000021227EA11F>I<00007F00000381C0000E006000 3800380070003800E0001C01C0001E0380000E0700000E0F00000F0E00000F1E00000F3C00000F 3C00000F7800000F7800000F7800000FF000001EF000001EF000001EF000001CF000003CE00000 3CE0000078E0000078E00000F0E00000E0F00001E0F01E03C0702103807840870038408E001C40 B8000E40F00007C1C02000FE80200000802000018040000180C00001C0800001C3800001FF0000 00FF000000FE0000007800202D7DA227>I<007FFFE0000007803C000007800E00000780070000 0F000780000F000380000F0003C0000F0003C0001E000780001E000780001E000780001E000F00 003C001E00003C003C00003C007000003C01C000007FFE00000078078000007801C000007801E0 0000F000F00000F000F00000F000F00000F000F00001E001E00001E001E00001E001E00001E001 E00003C003C00003C003C04003C003C04003C001C08007C001C080FFFC00E3000000003C002223 7EA125>I<0003F010000E0C2000180260002001E0004000E000C000C0008000C0018000C00180 00C00380008003800080038000000380000003C0000001F0000001FE000000FFE000007FF00000 1FF8000001FC0000003C0000001C0000000E0000000E0000000E0020000C0020000C0020000C00 2000080060001800600010007000200070004000C8008000C603000081FC00001C247DA21E>I< 1FFFFFFE1E01E00E1801E0063001E0062003C0062003C0064003C0044003C00440078004800780 048007800400078000000F0000000F0000000F0000000F0000001E0000001E0000001E0000001E 0000003C0000003C0000003C0000003C00000078000000780000007800000078000000F0000000 F0000000F0000000F0000001F00000FFFFC0001F227EA11D>I<3FFE01FF8003C0003C0003C000 300003C000100007800020000780002000078000200007800020000F000040000F000040000F00 0040000F000040001E000080001E000080001E000080001E000080003C000100003C000100003C 000100003C0001000078000200007800020000780002000078000200007000040000F000040000 F000080000700008000070001000007000200000380040000038008000001C0100000006060000 0001F800000021237DA121>I<007FFFFE007E001E0070003C00E0007800C000F0008001E00180 03E0010003C00100078002000F0002001E0000003C0000007C00000078000000F0000001E00000 03C00000078000000F8000000F0000001E0000003C00200078002000F0004001F0004001E00040 03C00080078000800F0001801E0003001E0007003C000F0078007E00FFFFFE001F227DA121>90 D<00786001C4E00302E00601C00E01C01C01C03C01C0380380780380780380780380F00700F007 00F00700F00708F00E10700E10701E1030262018C6200F01C015157E941A>97 D<03C0003F80000380000380000380000700000700000700000700000E00000E00000E00000E00 001C00001C78001D8E001E07003C0700380380380380380780700780700780700780700780E00F 00E00F00E00F00E01E00E01C00601C0060380030700030C0000F000011237DA215>I<003F0000 E0800380C00701C00E03C01C03C03C00003C0000780000780000780000F00000F00000F00000F0 00007000407000403001803802001C1C0007E00012157E9415>I<00001E0001FC00001C00001C 00001C0000380000380000380000380000700000700000700000700000E00078E001C4E00302E0 0601C00E01C01C01C03C01C0380380780380780380780380F00700F00700F00700F00708F00E10 700E10701E1030262018C6200F01C017237EA219>I<007C000382000701000E01001C01003801 00780200700400FFF800F00000F00000E00000E00000E00000E00000E00080E000807003003004 001838000FC00011157D9417>I<00001E00000063800000C7800001C7800001C3000001800000 0380000003800000038000000380000007000000070000000700000007000000FFF800000E0000 000E0000000E0000000E0000000E0000000E0000001C0000001C0000001C0000001C0000001C00 000038000000380000003800000038000000380000007000000070000000700000007000000060 000000E0000000E0000000E0000000C0000070C00000F1800000F1000000620000003C00000019 2D7EA218>I<000F0C00389C00605C00C03801C0380380380780380700700F00700F00700F0070 1E00E01E00E01E00E01E00E01E01C00E01C00E03C00605C0031B8001E380000380000380000700 000700000700700E00F00C00F018006070003FC000161F809417>I<00F0000FE00000E00000E0 0000E00001C00001C00001C00001C000038000038000038000038000070000071F0007218007C0 C00F00E00F00E00E00E00E00E01C01C01C01C01C01C01C01C03803803803803807003807047007 08700E08700E08700610E006206003C016237DA21C>I<00E000E001E000C00000000000000000 000000000000000000001E0023004380438083808380870007000E000E000E001C001C00380038 20384070407040308031001E000B227EA111>I<0000E00001E00001E00000C000000000000000 0000000000000000000000000000000000000000001E0000230000438000838001038001038001 0380000700000700000700000700000E00000E00000E00000E00001C00001C00001C00001C0000 380000380000380000380000700000700000700070E000F0C000F180006300003E0000132C81A1 14>I<00F0000FE00000E00000E00000E00001C00001C00001C00001C000038000038000038000 0380000700000700F00703080704380E08780E10780E20300E40001C80001F00001FC0001C7000 383800383800381C00381C10703820703820703820701840E00C8060070015237DA219>I<3C07 E01F00461830618047201880C087401D00E087801E00E087801C00E087001C00E00E003801C00E 003801C00E003801C00E003801C01C007003801C007003801C007007001C007007043800E00708 3800E00E083800E00E083800E006107001C006203000C003C026157E942B>109 D<3C07C04618604720308740388780388700388700380E00700E00700E00700E00701C00E01C00 E01C01C01C01C13801C23803823803823801847001883000F018157E941D>I<03C0F004631C04 740E08780E08700708700708700F00E00F00E00F00E00F00E00F01C01E01C01E01C01E01C03C03 803803803803C07003C0E0072180071E000700000700000E00000E00000E00000E00001C00001C 00001C0000FFC000181F819418>112 D<3C0F004630C04741C08783C08783C08701808700000E 00000E00000E00000E00001C00001C00001C00001C000038000038000038000038000070000030 000012157E9416>114 D<007E0000810003008002018006038006030006000007000007F80003 FE0001FF00003F00000780000380700380F00300F00300E002004004003018000FE00011157E94 17>I<006000E000E000E000E001C001C001C001C00380FFFC0380038007000700070007000E00 0E000E000E001C001C001C001C08381038103820182018C007000E1F7F9E12>I<1E0018230038 4380384380708380708380708700700700E00E00E00E00E00E00E01C01C01C01C01C01C01C01C2 1C03841C03841C07840C09880E118803E07017157E941C>I<1E00C02301E04381F04380F08380 708380308700300700200E00200E00200E00201C00401C00401C00801C00801C01001C01001C02 000C040006080003F00014157E9418>I<1E0018182300383C4380383E4380701E8380700E8380 7006870070060700E0040E00E0040E00E0040E00E0041C01C0081C01C0081C01C0081C01C0101C 01C0101C01C0201C03C0400C04C0C00708E10001F03E001F157E9423>I<01E0F006310C081A1C 101A3C201C3C201C18201C0000380000380000380000380000700000700000700000700860E010 F0E010F0E020E170404230803C1F0016157E941C>I<1E00302300704380704380E08380E08380 E08700E00701C00E01C00E01C00E01C01C03801C03801C03801C03801C07001C07001C07001C0F 000C3E0003CE00000E00000E00001C00601C00F03800F03000E0600080C0004180003E0000141F 7E9418>I<00E01003F02007F860060FC008008008010000020000040000080000100000200000 C0000100000200000400400800801001803F830061FE0040FC0080780014157E9417>I E /Fk 49 122 df45 D<000000380000007C0000007C000000FC000000F8000000F8000001F8000001F0000001F00000 03F0000003E0000007E0000007C0000007C000000FC000000F8000000F8000001F8000001F0000 003F0000003E0000003E0000007E0000007C0000007C000000FC000000F8000001F8000001F000 0001F0000003F0000003E0000003E0000007E0000007C000000FC000000F8000000F8000001F80 00001F0000001F0000003F0000003E0000003E0000007E0000007C000000FC000000F8000000F8 000001F8000001F0000001F0000003F0000003E0000007E0000007C0000007C000000FC000000F 8000000F8000001F8000001F0000003F0000003E0000003E0000007E0000007C0000007C000000 FC000000F8000000F8000000700000001E487BB529>47 D<000FFC0000007FFF800001FFFFE000 03FC0FF00007F003F8000FE001FC000FE001FC001FC000FE003FC000FF003FC000FF003F80007F 007F80007F807F80007F807F80007F807F80007F80FF80007FC0FF80007FC0FF80007FC0FF8000 7FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80 007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC07F80007F807F80007F807F80007F807F 80007F803F80007F003FC000FF003FC000FF001FC000FE001FE001FE000FE001FC0007F807F800 03FC0FF00001FFFFE000007FFF8000000FFC0000222E7DAD29>I<0001E0000003E000000FE000 007FE0001FFFE000FFFFE000FFBFE000E03FE000003FE000003FE000003FE000003FE000003FE0 00003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00000 3FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000 003FE0007FFFFFF07FFFFFF07FFFFFF01C2E7AAD29>I<003FF00001FFFE0007FFFF800FC07FE0 1E001FF03C000FF87F0007FC7F8007FEFFC007FEFFC003FEFFC003FFFFC003FF7F8003FF7F8003 FF3F0003FF000003FF000003FE000003FE000007FC000007FC00000FF800000FF000001FE00000 1FC000003F8000007F000000FE000001F8000001F0000003E00000078007000F0007001E000700 3C000F0078000E00F0000E01C0001E03FFFFFE07FFFFFE0FFFFFFE1FFFFFFE3FFFFFFE7FFFFFFC FFFFFFFCFFFFFFFCFFFFFFFC202E7CAD29>I<000FFC0000007FFF800001F01FE00003C00FF000 070007F8000FE007FC000FF007FC001FF007FE001FF807FE001FF807FE001FF807FE001FF807FE 000FF007FC0007E007FC00018007FC0000000FF80000000FF00000001FE00000001FC00000007F 8000001FFE0000001FFC0000001FFF800000001FF000000007F800000003FC00000003FE000000 03FF00000001FF80000001FF800E0001FFC03F8001FFC07FC001FFC07FC001FFC0FFE001FFC0FF E001FFC0FFE001FF80FFE001FF80FFC003FF007F8003FF003F0003FE001F0007FC000FE01FF800 07FFFFE00001FFFF8000001FFC0000222E7DAD29>I<0000007800000000F800000001F8000000 03F800000007F800000007F80000000FF80000001FF80000003FF80000007FF800000077F80000 00F7F8000001E7F8000003C7F800000787F800000707F800000F07F800001E07F800003C07F800 007807F800007007F80000F007F80001E007F80003C007F800078007F8000F0007F8000F0007F8 001E0007F8003C0007F800780007F800F00007F800FFFFFFFFF0FFFFFFFFF0FFFFFFFFF000000F F80000000FF80000000FF80000000FF80000000FF80000000FF80000000FF80000000FF8000000 0FF800000FFFFFF0000FFFFFF0000FFFFFF0242E7EAD29>I<0C0000380FC003F80FFFFFF80FFF FFF00FFFFFE00FFFFFC00FFFFF800FFFFE000FFFFC000FFFF0000FFF00000F0000000F0000000F 0000000F0000000F0000000F0000000F0000000F0FF8000F7FFF000FFFFFC00FF01FE00F800FF0 0F0007F80E0007FC000003FC000003FE000003FE000003FF000003FF1E0003FF3F0003FF7F8003 FFFF8003FFFFC003FFFFC003FEFF8003FEFF8003FE7F0007FC7C0007F83C000FF01E001FE00FC0 7FC007FFFF8001FFFE00003FE000202E7CAD29>I<00007F80000007FFF000001FC07800007F00 1C0000FC001E0001F8007E0003F800FF0007F001FF000FF001FF000FE001FF001FE001FF003FE0 00FE003FE0007C003FC00000007FC00000007FC00000007FC0000000FFC3FF8000FFC7FFE000FF CFBFF000FFDC03F800FFF801FC00FFF001FE00FFF000FF00FFE000FF80FFE000FF80FFE000FF80 FFC000FFC0FFC000FFC0FFC000FFC07FC000FFC07FC000FFC07FC000FFC07FC000FFC03FC000FF C03FC000FF803FC000FF801FE000FF801FE000FF000FE001FE0007F001FC0003F803F80001FC0F F00000FFFFE000003FFF80000007FC0000222E7DAD29>I<38000000003E000000003FFFFFFFC0 3FFFFFFFC03FFFFFFFC03FFFFFFF807FFFFFFF007FFFFFFE007FFFFFFC007FFFFFF8007FFFFFF0 00780001F000700003E000700007C000F0000F8000E0000F0000E0001E0000E0003E000000007C 00000000F800000000F800000001F000000001F000000003F000000003E000000007E000000007 E00000000FE00000000FE00000001FC00000001FC00000001FC00000003FC00000003FC0000000 3FC00000003FC00000003FC00000007FC00000007FC00000007FC00000007FC00000007FC00000 007FC00000007FC00000007FC00000003F800000003F800000000E00000022307BAF29>I<0007 FC0000003FFF800000F80FE00001E003F00003C001F800078000FC000F8000FC000F80007E000F 80007E001F80007E001FC0007E001FC0007E001FE0007E001FF800FC001FFE00FC000FFF81F800 0FFFE1F0000FFFF7E00007FFFFC00003FFFF800001FFFFC00000FFFFE000007FFFF80001FFFFFC 0003F7FFFE000FE1FFFF001F807FFF003F003FFF803F000FFF807E0003FFC07E0000FFC0FC0000 7FC0FC00001FC0FC00001FC0FC00000FC0FC00000FC0FC00000F807E00000F807E00000F007F00 001F003F00001E001FC0007C000FF803F80003FFFFE00000FFFF8000001FFC0000222E7DAD29> I<000FFC0000007FFF000001FC0FC00003F003E00007E003F0000FE001F8001FE001FC003FC001 FE007FC000FE007FC000FF00FFC000FF00FFC000FF80FFC000FF80FFC000FF80FFC000FF80FFC0 00FFC0FFC000FFC0FFC000FFC0FFC000FFC07FC001FFC07FC001FFC03FC001FFC03FC003FFC01F E003FFC00FE007FFC007F00EFFC003FF7CFFC001FFF8FFC0007FF0FF80000000FF80000000FF80 000000FF80000000FF000F8001FF001FC001FF003FE001FE003FE001FC003FE003FC003FE003F8 003FC007F0001F800FE0001E001FC0000F807F800007FFFE000001FFF80000007FC00000222E7D AD29>I66 D<000003FF80018000003FFFF003800001FFFFFC0F800007FF007F1F80001FF8000FBF80 003FE00003FF8000FF800000FF8001FF0000007F8003FE0000003F8007FC0000003F8007FC0000 001F800FF80000001F801FF80000000F801FF00000000F803FF000000007803FF000000007807F F000000007807FE000000007807FE000000000007FE00000000000FFE00000000000FFE0000000 0000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0 0000000000FFE000000000007FE000000000007FE000000000007FE000000000007FF000000003 803FF000000003803FF000000003801FF000000003801FF800000007800FF8000000070007FC00 0000070007FC0000000E0003FE0000001E0001FF0000003C0000FF8000007800003FE00000F000 001FF80003E0000007FF003F80000001FFFFFE000000003FFFF80000000003FF80000031317BB0 3C>II II<000003FF80018000003F FFF003800001FFFFFC0F800007FF007F1F80001FF8000FBF80003FE00003FF8000FF800000FF80 01FF0000007F8003FE0000003F8007FC0000003F8007FC0000001F800FF80000001F801FF80000 000F801FF00000000F803FF000000007803FF000000007807FF000000007807FE000000007807F E000000000007FE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000000 0000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00007FFFFFE7FE0 0007FFFFFE7FE00007FFFFFE7FE0000001FF807FF0000001FF803FF0000001FF803FF0000001FF 801FF0000001FF801FF8000001FF800FF8000001FF8007FC000001FF8007FC000001FF8003FE00 0001FF8001FF000001FF8000FF800001FF80003FE00003FF80001FF80007FF800007FF803F3F80 0001FFFFFE1F8000003FFFF80780000003FFC0018037317BB041>I73 D76 DII<00000FFE0000000000FF FFE000000007FFFFFC0000001FFC07FF0000003FE000FF800000FF80003FE00001FF00001FF000 03FE00000FF80007FC000007FC0007FC000007FC000FF8000003FE001FF8000003FF001FF00000 01FF003FF0000001FF803FF0000001FF803FF0000001FF807FE0000000FFC07FE0000000FFC07F E0000000FFC0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000 FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0 000000FFE07FE0000000FFC07FE0000000FFC07FF0000001FFC07FF0000001FFC03FF0000001FF 803FF0000001FF801FF8000003FF001FF8000003FF000FFC000007FE000FFC000007FE0007FE00 000FFC0003FF00001FF80001FF80003FF00000FFC0007FE000003FE000FF8000001FFC07FF0000 0007FFFFFC00000000FFFFE0000000000FFE00000033317BB03E>II82 D<001FF0018000FFFF038003FF FFC78007F00FFF800F8001FF801F00007F803F00001F803E00000F807E00000F807E00000780FE 00000780FE00000780FE00000380FF00000380FF00000380FF80000000FFE00000007FFC000000 7FFFE000007FFFFE00003FFFFFC0001FFFFFF0001FFFFFF8000FFFFFFC0003FFFFFE0001FFFFFF 00007FFFFF80001FFFFF800000FFFFC0000007FFC0000000FFE00000003FE00000003FE0000000 1FE06000001FE0E000000FE0E000000FE0E000000FE0E000000FC0F000000FC0F000000FC0F800 001F80FC00001F80FF00003F00FFC0007E00FFFC01FC00F1FFFFF800E03FFFE000C007FF000023 317BB02E>I<3FFFFFFFFFFF003FFFFFFFFFFF003FFFFFFFFFFF003FE00FFC01FF007F000FFC00 3F807E000FFC001F807C000FFC000F8078000FFC00078078000FFC00078070000FFC0003807000 0FFC00038070000FFC00038070000FFC000380E0000FFC0001C0E0000FFC0001C0E0000FFC0001 C0E0000FFC0001C000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000F FC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000000 00000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC 00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000 000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00 000000000FFC000000007FFFFFFF8000007FFFFFFF8000007FFFFFFF800032307DAF39>II<007FF8000003FFFF000007FFFFC0000FE01FE0001FF007F0001FF003F8001FF0 03FC001FF001FE000FE001FE0007C001FE00010001FE00000001FE00000001FE000001FFFE0000 3FFFFE0001FFF1FE0007FE01FE000FF001FE001FC001FE003F8001FE007F8001FE00FF0001FE00 FF0001FE00FF0001FE00FF0001FE00FF0003FE007F8003FE007FC00EFE003FF03CFF000FFFF87F F807FFF03FF800FF800FF825207E9F28>97 D<01F8000000FFF8000000FFF8000000FFF8000000 0FF800000007F800000007F800000007F800000007F800000007F800000007F800000007F80000 0007F800000007F800000007F800000007F800000007F800000007F800000007F80FF00007F87F FE0007F9FFFF8007FFE03FC007FF000FE007FE0007F007F80003F807F80003FC07F80003FC07F8 0001FE07F80001FE07F80001FE07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07 F80001FF07F80001FF07F80001FF07F80001FE07F80001FE07F80001FE07F80003FC07F80003FC 07FC0007F807FE0007F007F7001FE007E3E07FC007C1FFFF0007807FFE0007001FE00028327EB1 2E>I<0007FF00007FFFE000FFFFF003FC03F807F007FC0FE007FC1FE007FC3FC007FC3FC003F8 7FC001F07F8000407F800000FF800000FF800000FF800000FF800000FF800000FF800000FF8000 00FF8000007F8000007FC000007FC000003FC0000E3FE0000E1FE0001C0FF0001C07F8007803FF 01F000FFFFE0007FFF800007FC001F207D9F25>I<00000007E0000003FFE0000003FFE0000003 FFE00000003FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000 001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE0000FF81FE000 7FFF1FE001FFFFDFE003FE03FFE007F800FFE00FE0003FE01FE0001FE03FC0001FE03FC0001FE0 7F80001FE07F80001FE07F80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001F E0FF80001FE0FF80001FE0FF80001FE07F80001FE07F80001FE07F80001FE03FC0001FE03FC000 1FE01FC0003FE00FE0007FE007F001FFE003FC07DFF001FFFF9FFF007FFE1FFF000FF01FFF2832 7DB12E>I<0007FC0000003FFF800000FFFFE00003FC07F00007F801F8000FE000FC001FE0007E 003FC0007E003FC0003F007FC0003F007F80003F007F80003F80FF80003F80FF80003F80FFFFFF FF80FFFFFFFF80FFFFFFFF80FF80000000FF80000000FF800000007F800000007F800000003FC0 0000003FC00003801FC00003801FE00007800FF0000F0007F8001E0003FE00FC0000FFFFF80000 3FFFE0000003FF000021207E9F26>I<0000FF000007FFC0001FFFE0003FC7F0007F0FF800FE0F F801FE0FF801FC0FF803FC07F003FC03E003FC01C003FC000003FC000003FC000003FC000003FC 000003FC000003FC0000FFFFF800FFFFF800FFFFF80003FC000003FC000003FC000003FC000003 FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0000 03FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00 0003FC000003FC00007FFFF0007FFFF0007FFFF0001D327EB119>I<001FF007E000FFFE3FF001 FFFF7FF807F83FF1F80FE00FE1F80FE00FE0F01FC007F0601FC007F0003FC007F8003FC007F800 3FC007F8003FC007F8003FC007F8001FC007F0001FC007F0000FE00FE0000FE00FE00007F83FC0 0007FFFF000006FFFE00000E1FF000000E000000001E000000001E000000001F000000001F8000 00001FFFFFC0000FFFFFF8000FFFFFFE0007FFFFFF0003FFFFFF8007FFFFFFC01FFFFFFFE03F00 007FE07E00000FF0FC000007F0FC000003F0FC000003F0FC000003F0FC000003F07E000007E03F 00000FC01FC0003F800FF801FF0007FFFFFE0000FFFFF000001FFF8000252F7E9F29>I<01F800 000000FFF800000000FFF800000000FFF8000000000FF80000000007F80000000007F800000000 07F80000000007F80000000007F80000000007F80000000007F80000000007F80000000007F800 00000007F80000000007F80000000007F80000000007F80000000007F807F8000007F83FFF0000 07F87FFF800007F8F03FC00007F9C01FE00007FB000FE00007FE000FF00007FE000FF00007FC00 0FF00007FC000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800 0FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000 07F8000FF000FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF8029327DB12E>I<03C0000FF0000FF0 001FF8001FF8001FFC001FF8001FF8000FF0000FF00003C0000000000000000000000000000000 0000000000000000000001F800FFF800FFF800FFF8000FF80007F80007F80007F80007F80007F8 0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8 0007F80007F80007F80007F80007F80007F800FFFF80FFFF80FFFF8011337DB217>I<01F800FF F800FFF800FFF8000FF80007F80007F80007F80007F80007F80007F80007F80007F80007F80007 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007 F80007F80007F80007F80007F80007F80007F800FFFFC0FFFFC0FFFFC012327DB117>108 D<03F007F8000FF000FFF03FFF007FFE00FFF07FFF80FFFF00FFF0F03FC1E07F800FF1C01FE380 3FC007F3000FE6001FC007F6000FFC001FE007FE000FFC001FE007FC000FF8001FE007FC000FF8 001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000F F0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F800 0FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8 000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE0FF FFC1FFFF83FFFFFFFFC1FFFF83FFFFFFFFC1FFFF83FFFF40207D9F45>I<03F007F80000FFF03F FF0000FFF07FFF8000FFF0F03FC0000FF1C01FE00007F3000FE00007F6000FF00007FE000FF000 07FC000FF00007FC000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800 0FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800 0FF00007F8000FF000FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF8029207D9F2E>I<0007FE0000 003FFFC00000FFFFF00003FC03FC0007F000FE000FE0007F001FC0003F803FC0003FC03FC0003F C07F80001FE07F80001FE07F80001FE0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF8000 1FF0FF80001FF0FF80001FF0FF80001FF07F80001FE07F80001FE07F80001FE03FC0003FC03FC0 003FC01FE0007F800FE0007F0007F801FE0003FE07FC0001FFFFF800003FFFC0000007FE000024 207E9F29>I<01F80FF000FFF87FFE00FFF9FFFF80FFFFE07FC00FFF001FE007FE000FF007F800 07F807F80007FC07F80003FC07F80003FE07F80003FE07F80001FE07F80001FF07F80001FF07F8 0001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FE07F80003FE07 F80003FE07F80003FC07F80007FC07FC0007F807FE000FF007FF001FE007FBE07FC007F9FFFF00 07F87FFE0007F81FE00007F800000007F800000007F800000007F800000007F800000007F80000 0007F800000007F800000007F800000007F800000007F8000000FFFFC00000FFFFC00000FFFFC0 0000282E7E9F2E>I<03F03F00FFF07FC0FFF1FFE0FFF3C7F00FF38FF807F70FF807F60FF807FE 0FF807FC07F007FC03E007FC008007F8000007F8000007F8000007F8000007F8000007F8000007 F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80000 07F8000007F80000FFFFE000FFFFE000FFFFE0001D207E9F22>114 D<00FF870007FFEF001FFF FF003F007F003C001F0078000F00F8000700F8000700F8000700FC000700FF000000FFF800007F FFC0003FFFF0003FFFFC000FFFFE0007FFFF0001FFFF80001FFF800000FFC000001FC060000FC0 E00007C0E00007C0F00007C0F8000780F8000F80FE000F00FF803E00FFFFFC00F3FFF800C07FC0 001A207D9F21>I<00380000380000380000380000380000780000780000780000F80000F80001 F80003F80007F8001FF800FFFFFEFFFFFEFFFFFE07F80007F80007F80007F80007F80007F80007 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80707F80707F80707 F80707F80707F80707F80703F80E03FC0E01FE1C00FFF8007FF0000FE0182E7EAD20>I<01F800 03F000FFF801FFF000FFF801FFF000FFF801FFF0000FF8001FF00007F8000FF00007F8000FF000 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800 0FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8001FF00007F8001FF00003F800 3FF00003F8006FF00001FE03CFF80000FFFF8FFF80007FFF0FFF80000FFC0FFF8029207D9F2E> II120 DI E /Fl 85 124 df<001F83E000706E3000C07C780180F8780380F0780700700007007000070070000700 70000700700007007000070070000700700007007000FFFFFFC007007000070070000700700007 007000070070000700700007007000070070000700700007007000070070000700700007007000 0700700007007000070070000700700007007000070078007FE3FF801D2380A21C>11 D<001FC0000070200000C010000180380003807800070078000700300007000000070000000700 000007000000070000000700000007000000FFFFF8000700780007003800070038000700380007 003800070038000700380007003800070038000700380007003800070038000700380007003800 07003800070038000700380007003800070038007FE1FF80192380A21B>I<001FD80000703800 00C078000180780003807800070038000700380007003800070038000700380007003800070038 000700380007003800FFFFF8000700380007003800070038000700380007003800070038000700 380007003800070038000700380007003800070038000700380007003800070038000700380007 00380007003800070038007FF3FF80192380A21B>I<000FC07F00007031C08000E00B00400180 1E00E003803E01E007003C01E007001C00C007001C000007001C000007001C000007001C000007 001C000007001C000007001C0000FFFFFFFFE007001C01E007001C00E007001C00E007001C00E0 07001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00 E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E07FF1FF CFFE272380A229>I<7038F87CFC7EFC7E743A0402040204020402080408041008100820104020 0F0F7EA218>34 D<70F8FCFC7404040404080810102040060F7CA20E>39 D<00200040008001000300060004000C000C00180018003000300030007000600060006000E000 E000E000E000E000E000E000E000E000E000E000E000E000E00060006000600070003000300030 00180018000C000C0004000600030001000080004000200B327CA413>I<800040002000100018 000C000400060006000300030001800180018001C000C000C000C000E000E000E000E000E000E0 00E000E000E000E000E000E000E000E000C000C000C001C0018001800180030003000600060004 000C00180010002000400080000B327DA413>I<00018000000180000001800000018000000180 000001800000018000000180000001800000018000000180000001800000018000000180000001 800000018000FFFFFFFEFFFFFFFE00018000000180000001800000018000000180000001800000 018000000180000001800000018000000180000001800000018000000180000001800000018000 1F227D9C26>43 D<70F8FCFC7404040404080810102040060F7C840E>I I<70F8F8F87005057C840E>I<0000800001800001800003000003000003000006000006000006 00000C00000C00000C0000180000180000180000300000300000300000600000600000600000C0 0000C00000C0000180000180000180000180000300000300000300000600000600000600000C00 000C00000C0000180000180000180000300000300000300000600000600000600000C00000C000 00C0000011317DA418>I<01F000071C000C06001803003803803803807001C07001C07001C070 01C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F0 01E0F001E07001C07001C07001C07803C03803803803801C07000C0600071C0001F00013227EA0 18>I<008003800F80F38003800380038003800380038003800380038003800380038003800380 038003800380038003800380038003800380038003800380038007C0FFFE0F217CA018>I<03F0 000C1C001007002007804003C04003C08003E0F003E0F801E0F801E0F801E02003E00003E00003 C00003C0000780000700000E00001C0000180000300000600000C0000180000100000200200400 200800201800603000403FFFC07FFFC0FFFFC013217EA018>I<03F8000C1E0010070020078040 07C07807C07803C07807C03807C0000780000780000700000F00000E0000380003F000001C0000 0F000007800007800003C00003C00003E02003E07003E0F803E0F803E0F003C04003C040078020 0780100F000C1C0003F00013227EA018>I<000200000600000E00000E00001E00001E00002E00 004E00004E00008E00008E00010E00020E00020E00040E00040E00080E00100E00100E00200E00 200E00400E00800E00FFFFF8000E00000E00000E00000E00000E00000E00000E00001F0001FFF0 15217FA018>I<1000801E07001FFF001FFE001FF80013E0001000001000001000001000001000 0010000010F800130E001407001803801003800001C00001C00001E00001E00001E00001E07001 E0F001E0F001E0E001C08001C04003C04003802007001006000C1C0003F00013227EA018>I<00 7E0001C1000300800601C00E03C01C03C0180180380000380000780000700000700000F0F800F3 0C00F40600F40300F80380F801C0F001C0F001E0F001E0F001E0F001E0F001E07001E07001E070 01E03801C03801C01803801C03000C0600070C0001F00013227EA018>I<4000006000007FFFE0 7FFFC07FFFC0400080C00100800100800200800200000400000800000800001000003000002000 00600000600000600000E00000C00000C00001C00001C00001C00001C00003C00003C00003C000 03C00003C00003C00003C00003C00001800013237DA118>I<01F800060E000803001001802001 802000C06000C06000C06000C07000C07801803E01003F02001FC4000FF80003F80003FC00067F 00083F80100F803007C06001C06000E0C000E0C00060C00060C00060C000606000406000C03000 801803000E0E0003F00013227EA018>I<01F000060C000C0600180700380380700380700380F0 01C0F001C0F001C0F001E0F001E0F001E0F001E0F001E07001E07003E03803E01805E00C05E006 19E003E1E00001C00001C00001C0000380000380300300780700780600700C002018001030000F C00013227EA018>I<70F8F8F870000000000000000000000070F8F8F87005157C940E>I<70F8F8 F870000000000000000000000070F8F8F87808080808101010204040051F7C940E>I61 D<07E01838201C400E800FF00FF00FF00F000F000E001C00380030 006000C000C000800080018001000100010001000100010000000000000000000000038007C007 C007C0038010237DA217>63 D<000FE00000701C00008002000300018004000040080000200800 00201007C01020183008203008084060040440C0078441C0038481C00382838003828380038283 8003828380038283800382838003828380038281C0038241C0038240C007824060078420300B84 201831881007C0F00800000008000000040000000300000E00800078007007C0000FFC001F237D A226>I<0001800000018000000180000003C0000003C0000003C0000005E0000005E000000DF0 000008F0000008F0000010F800001078000010780000203C0000203C0000203C0000401E000040 1E0000401E0000800F0000800F0000FFFF000100078001000780030007C0020003C0020003C004 0003E0040001E0040001E00C0000F00C0000F03E0001F8FF800FFF20237EA225>II<0007E0100038183000E0063001C001700380 00F0070000F00E0000701E0000701C0000303C0000303C0000307C0000107800001078000010F8 000000F8000000F8000000F8000000F8000000F8000000F8000000F80000007800000078000010 7C0000103C0000103C0000101C0000201E0000200E000040070000400380008001C0010000E002 0000381C000007E0001C247DA223>IIII<0007F008003C0C1800E0021801C001B8038000F8070000 780F0000381E0000381E0000183C0000183C0000187C0000087800000878000008F8000000F800 0000F8000000F8000000F8000000F8000000F8000000F8001FFF780000F8780000787C0000783C 0000783C0000781E0000781E0000780F00007807000078038000B801C000B800E00318003C0C08 0007F00020247DA226>III<03FFF0001F 00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F 00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00700F00F80F 00F80F00F80E00F01E00401C0020380018700007C00014237EA119>IIIII<000FE00000783C0000E00E0003C00780078003C00F0001E00E0000E01E0000F03C 0000783C0000787C00007C7C00007C7800003C7800003CF800003EF800003EF800003EF800003E F800003EF800003EF800003EF800003EF800003E7800003C7C00007C7C00007C3C0000783E0000 F81E0000F00F0001E00F0001E0078003C003C0078000E00E0000783C00000FE0001F247DA226> II<000FE00000783C0000E00E00 03C00780078003C00F0001E00E0000E01E0000F03E0000F83C0000787C00007C7C00007C780000 3C7800003CF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800 003E7800003C7C00007C7C00007C3C0000783C0000781E0380F00E0420E00F0801E0078813C003 C8178000E80E00007C3C02000FEC0200000C0200000C0200000E0600000F0E000007FC000007FC 000007F8000003F8000001E01F2D7DA226>II<03F0200C0C601802603001E07000E0600060E00060E00060E00020E00020E00020 F00000F000007800007F00003FF0001FFE000FFF0003FF80003FC00007E00001E00000F00000F0 000070800070800070800070800070C00060C00060E000C0F000C0C80180C6070081FC0014247D A21B>I<7FFFFFF87807807860078018400780084007800840078008C007800C80078004800780 048007800480078004000780000007800000078000000780000007800000078000000780000007 800000078000000780000007800000078000000780000007800000078000000780000007800000 078000000780000007800000078000000FC00003FFFF001E227EA123>IIII<7FF807FF0007E001F8 0003C000E00003E000C00001E000800000F001000000F80300000078020000007C040000003E0C 0000001E080000001F100000000FB000000007A000000007C000000003E000000001E000000001 F000000003F80000000278000000047C0000000C3E000000081E000000101F000000300F800000 20078000004007C00000C003E000008001E000010001F000030000F000070000F8001F8001FC00 FFE007FFC022227FA125>II<7FFFFE7E003E 78003C7000786000784000F0C000F0C001E08003C08003C0800780000780000F00001F00001E00 003C00003C0000780000780000F00001F00001E00103C00103C0010780010780030F00031E0002 1E00023C00063C000E78001EF8007EFFFFFE18227DA11E>II<0804100820102010402040208040804080408040B85CFC7EFC7E7C3E381C0F0F7AA218>I< FEFE06060606060606060606060606060606060606060606060606060606060606060606060606 0606060606060606FEFE07317FA40E>I<08102020404080808080B8FCFC7C38060F7DA20E>96 D<0FE0001838003C0C003C0E0018070000070000070000070000FF0007C7001E07003C07007807 00700700F00708F00708F00708F00F087817083C23900FC1E015157E9418>I<0E0000FE00001E 00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F000E 61C00E80600F00300E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E 001C0E003C0E00380F00700C80600C41C0083F0017237FA21B>I<01FE000703000C07801C0780 380300780000700000F00000F00000F00000F00000F00000F00000F00000700000780040380040 1C00800C010007060001F80012157E9416>I<0000E0000FE00001E00000E00000E00000E00000 E00000E00000E00000E00000E00000E00000E00000E001F8E00704E00C02E01C01E03800E07800 E07000E0F000E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E03800E01801E00C02 E0070CF001F0FE17237EA21B>I<01FC000707000C03801C01C03801C07801E07000E0F000E0FF FFE0F00000F00000F00000F00000F000007000007800203800201C00400E008007030000FC0013 157F9416>I<003C00C6018F038F030F070007000700070007000700070007000700FFF8070007 00070007000700070007000700070007000700070007000700070007000700070007807FF81023 80A20F>I<00007001F198071E180E0E181C07001C07003C07803C07803C07803C07801C07001C 07000E0E000F1C0019F0001000001000001800001800001FFE000FFFC00FFFE03800F060003040 0018C00018C00018C000186000306000303800E00E038003FE0015217F9518>I<0E0000FE0000 1E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F80 0E60C00E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E0070 0E00700E00700E00700E00700E00700E0070FFE7FF18237FA21B>I<1C001E003E001E001C0000 0000000000000000000000000000000E00FE001E000E000E000E000E000E000E000E000E000E00 0E000E000E000E000E000E000E000E00FFC00A227FA10E>I<01C003E003E003E001C000000000 00000000000000000000000001E00FE001E000E000E000E000E000E000E000E000E000E000E000 E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0C0F18061803E000B2C82A1 0F>I<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E00000E00000E0000 0E00000E00000E03FC0E01F00E01C00E01800E02000E04000E08000E10000E38000EF8000F1C00 0E1E000E0E000E07000E07800E03C00E01C00E01E00E00F00E00F8FFE3FE17237FA21A>I<0E00 FE001E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E 000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B237FA20E>I<0E1FC0 7F00FE60E183801E807201C00F003C00E00F003C00E00E003800E00E003800E00E003800E00E00 3800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E 003800E00E003800E00E003800E00E003800E0FFE3FF8FFE27157F942A>I<0E1F80FE60C01E80 E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00 700E00700E00700E00700E0070FFE7FF18157F941B>I<01FC000707000C01801800C03800E070 0070700070F00078F00078F00078F00078F00078F00078F000787000707800F03800E01C01C00E 038007070001FC0015157F9418>I<0E1F00FE61C00E80600F00700E00380E003C0E001C0E001E 0E001E0E001E0E001E0E001E0E001E0E001E0E003C0E003C0E00380F00700E80E00E41C00E3F00 0E00000E00000E00000E00000E00000E00000E00000E00000E0000FFE000171F7F941B>I<01F8 200704600E02601C01603801E07800E07800E0F000E0F000E0F000E0F000E0F000E0F000E0F000 E07000E07800E03801E01C01E00C02E0070CE001F0E00000E00000E00000E00000E00000E00000 E00000E00000E00000E0000FFE171F7E941A>I<0E3CFE461E8F0F0F0F060F000E000E000E000E 000E000E000E000E000E000E000E000E000E000F00FFF010157F9413>I<0F8830786018C018C0 08C008E008F0007F803FE00FF001F8003C801C800C800CC00CC008E018D0308FC00E157E9413> I<02000200020002000600060006000E001E003E00FFF80E000E000E000E000E000E000E000E00 0E000E000E000E040E040E040E040E040E040708030801F00E1F7F9E13>I<0E0070FE07F01E00 F00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00 700E00F00E00F006017003827800FC7F18157F941B>IIIII<3FFFC0380380300780200700600E00401C00403C0040380000700000E00001E00001C000 0380400700400F00400E00C01C0080380080780180700780FFFF8012157F9416>II E /Fm 7 85 df<0000040000000006000000000E000000001E000000001E00000000 3E000000003F000000004F000000004F000000008F000000008F000000010F0000000107800000 02078000000207800000040780000004078000000807C000000803C000001003C000001003C000 002003C000003FFFE000004001E000004001E000008001E000008001E000010001E000010000F0 00020000F000060000F000040000F0000C0000F0003E0001F800FF800FFF8021237EA225>65 D<03FFF0003E00003C00003C00003C00003C00003C000078000078000078000078000078000078 0000F00000F00000F00000F00000F00000F00001E00001E00001E00001E00001E00001E00003C0 0003C00003C00003C00003C00003C00007800007C000FFFC0014227EA112>73 D<03FFE00FF8003E0007E0003C000380003C000200003C000400003C000800003C001000007800 20000078008000007801000000780200000078040000007808000000F018000000F038000000F0 7C000000F13C000000F23E000000F41E000001E81F000001F00F000001E00F000001E007800001 E007800001E003C00003C003C00003C001E00003C001E00003C000F00003C000F00003C000F800 078000F80007C000FC00FFFC07FF8025227EA126>75 D<03FFFFC0003E00F0003C0078003C003C 003C003E003C001E003C003E0078003E0078003E0078003E0078003E0078003C0078007C00F000 7800F000F000F001E000F0078000FFFE0000F0000001E0000001E0000001E0000001E0000001E0 000001E0000003C0000003C0000003C0000003C0000003C0000003C000000780000007C00000FF FC00001F227EA121>80 D<03FFFF0000003E01E000003C007800003C003C00003C003C00003C00 3E00003C003E000078003E000078003E000078003E000078003E000078007C00007800780000F0 00F00000F001E00000F007800000FFFC000000F00C000000F007000001E007000001E003800001 E003800001E003C00001E003C00001E003C00003C007C00003C007C00003C007C00003C007C000 03C007C04003C007C080078007C08007C003E100FFFC01E3000000007C0022237EA124>82 D<000FC0800030318000C00B0001800700038007000300030007000300070003000E0002000E00 02000F0002000F0000000F0000000F80000007E0000007FE000003FFC00001FFE000007FF00000 0FF8000000F8000000780000003C0000003C0000003C0020003C00400038004000380040003800 600030006000700060006000F000C000E8018000C607000081FC000019247DA21B>I<1FFFFFFE 3C03E03E3803C00C3003C0042003C0046003C0044003C00440078004C007800480078004800780 040007800000078000000F0000000F0000000F0000000F0000000F0000000F0000001E0000001E 0000001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C0000003C000000 3C0000007C000000FC00003FFFF0001F227AA123>I E /Fn 1 4 df<040004000400C460E4E03F 800E003F80E4E0C4600400040004000B0D7E8D11>3 D E /Fo 56 122 df<007E0001C1800301 800703C00E03C00E01800E00000E00000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01 C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07F87 F8151D809C17>12 D<004000800100020006000C000C0018001800300030007000600060006000 E000E000E000E000E000E000E000E000E000E000E000E000600060006000700030003000180018 000C000C00060002000100008000400A2A7D9E10>40 D<800040002000100018000C000C000600 060003000300038001800180018001C001C001C001C001C001C001C001C001C001C001C001C001 8001800180038003000300060006000C000C00180010002000400080000A2A7E9E10>I<60F0F0 701010101020204080040C7C830C>44 DI<60F0F06004047C830C>I<00 010003000600060006000C000C000C0018001800180030003000300060006000C000C000C00180 01800180030003000300060006000C000C000C00180018001800300030003000600060006000C0 00C00010297E9E15>I<03C00C301818300C300C700E60066006E007E007E007E007E007E007E0 07E007E007E007E007E007E00760066006700E300C300C18180C3007E0101D7E9B15>I<030007 003F00C70007000700070007000700070007000700070007000700070007000700070007000700 070007000700070007000F80FFF80D1C7C9B15>I<07C01830201C400C400EF00FF80FF807F807 7007000F000E000E001C001C00380070006000C00180030006010C01180110023FFE7FFEFFFE10 1C7E9B15>I<07E01830201C201C781E780E781E381E001C001C00180030006007E00030001C00 1C000E000F000F700FF80FF80FF80FF00E401C201C183007E0101D7E9B15>I<000C00000C0000 1C00003C00003C00005C0000DC00009C00011C00031C00021C00041C000C1C00081C00101C0030 1C00201C00401C00C01C00FFFFC0001C00001C00001C00001C00001C00001C00001C0001FFC012 1C7F9B15>I<300C3FF83FF03FC020002000200020002000200023E024302818301C200E000E00 0F000F000F600FF00FF00FF00F800E401E401C2038187007C0101D7E9B15>I<4000007FFF807F FF007FFF0040020080040080040080080000100000100000200000600000400000C00000C00001 C00001800001800003800003800003800003800007800007800007800007800007800007800003 0000111D7E9B15>55 D<03E00C301008200C20066006600660067006780C3E083FB01FE007F007 F818FC307E601E600FC007C003C003C003C00360026004300C1C1007E0101D7E9B15>I<60F0F0 600000000000000000000060F0F06004127C910C>58 D<000600000006000000060000000F0000 000F0000000F00000017800000178000001780000023C0000023C0000023C0000041E0000041E0 000041E0000080F0000080F0000180F8000100780001FFF80003007C0002003C0002003C000600 3E0004001E0004001E000C001F001E001F00FF80FFF01C1D7F9C1F>65 DI<001F808000E0618001801980070007800E0003801C0003801C00018038000180780000 807800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000 0000700000807800008078000080380000801C0001001C0001000E000200070004000180080000 E03000001FC000191E7E9C1E>IIII<001F808000E0618001801980070007800E0003801C0003801C0001803800018078000080 7800008070000080F0000000F0000000F0000000F0000000F0000000F0000000F000FFF0F0000F 80700007807800078078000780380007801C0007801C0007800E00078007000B800180118000E0 6080001F80001C1E7E9C21>III< FF8000FF800F8000F8000F8000F8000BC00178000BC00178000BC001780009E002780009E00278 0008F004780008F004780008F0047800087808780008780878000878087800083C107800083C10 7800083C107800081E207800081E207800081E207800080F407800080F40780008078078000807 807800080780780008030078001C03007800FF8307FF80211C7E9B26>77 DI<003F800000E0E0000380380007001C000E000E001C0007003C00078038000380780003C0 780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001 E0700001C0780003C0780003C0380003803C0007801C0007000E000E0007001C000380380000E0 E000003F80001B1E7E9C20>I82 D<07E0801C1980300580700380600180E00180E0 0080E00080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007C000 03C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E9C17>I< 7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F0020000F00 00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F 0000000F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B1E >II87 D<1FC000307000783800781C00301C00001C00001C0001FC000F1C00381C00701C0060 1C00E01C40E01C40E01C40603C40304E801F870012127E9115>97 DI<07E00C301878307870306000E000E000E000E000E000E00060007004300418080C30 07C00E127E9112>I<003F00000700000700000700000700000700000700000700000700000700 00070003E7000C1700180F00300700700700600700E00700E00700E00700E00700E00700E00700 600700700700300700180F000C370007C7E0131D7E9C17>I<03E00C301818300C700E6006E006 FFFEE000E000E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E0C 0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E000E 000E000E000E007FE00F1D809C0D>I<00038003C4C00C38C01C3880181800381C00381C00381C 00381C001818001C38000C300013C0001000003000001800001FF8001FFF001FFF803003806001 C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215>II<18003C003C0018000000000000000000000000000000FC001C001C001C001C001C 001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I107 DIII< 03F0000E1C00180600300300700380600180E001C0E001C0E001C0E001C0E001C0E001C0600180 7003803003001806000E1C0003F00012127F9115>II114 D<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D0608FC00D12 7F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C001C001C001C00 1C001C101C101C101C101C100C100E2003C00C1A7F9910>IIII<7F8FF00F03800F03 0007020003840001C80001D80000F00000700000780000F800009C00010E00020E000607000403 801E07C0FF0FF81512809116>II E /Fp 8 117 df<78FCFCFCFC7806067D850D >46 D<00038000000380000007C0000007C0000007C000000FE000000FE000001FF000001BF000 001BF0000031F8000031F8000061FC000060FC0000E0FE0000C07E0000C07E0001803F0001FFFF 0003FFFF8003001F8003001F8006000FC006000FC00E000FE00C0007E0FFC07FFEFFC07FFE1F1C 7E9B24>65 D<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F07C03C07C0 7C07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>97 DI<03FC000E0E001C1F003C1F00781F00780E00F80000F80000F80000F80000F80000 F800007800007801803C01801C03000E0E0003F80011127E9115>I114 D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01C C01CE01CE018F830CFC00E127E9113>I<0300030003000300070007000F000F003FFCFFFC1F00 1F001F001F001F001F001F001F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>I E /Fq 38 122 df<0E1E1E1E1E02020404080810204080070F7D840F>44 D<70F8F8F0E005057A840F>46 D<0001000300030006001E002E03CE001C001C001C001C003800 3800380038007000700070007000E000E000E000E001C001C001C001C003800380038003800780 FFFC10217AA019>49 D<0000180000380000380000700000700000700000E00000E00000E00000 C00001C0000180000380000300000300000600000600000C00000C000018000010000031800061 C00043800083800183800303800207000407000807003FC700403E00800FF0000E00000E00001C 00001C00001C00001C00003800003800003800003000152B7EA019>52 D<00400400703800FFF0 00FFE000BF80008000010000010000010000010000020000020000023E0002C3000501800601C0 0401C00001E00001E00001E00001E00001E00001E07003C0F003C0F003C0E00780800700800F00 800E00401C0040380030E0000F800016227BA019>I<0003E0000C1000380800603800C07801C0 780380300700000700000E00001E00001E00001C7C003C86003D03007A03807C03807801C07803 C0F803C0F003C0F003C0F003C0E00780E00780E00780E00700E00F00E00E00E01C006018006030 0030E0000F800015227AA019>I<000FC000386000703000E03001C0380380380780380700380F 00380F00380F00381E00781E00781E00781E00F81E00F01C00F00E01F00E02F00605E00309E001 F1E00003C00003C0000380000700000700600E00F00C00F01800E0300080600041C0003F000015 227BA019>57 D<0000030000000300000007000000070000000F0000000F0000001F0000002F00 00002F0000004F0000004F80000087800000878000010780000207800002078000040780000407 800008078000080780001007800030078000200780007FFF80004007C0008007C0008003C00100 03C0030003C0020003C0040003C0040003C00C0003C03C0007C0FF003FFC1E237DA224>65 D<00007F00800003808100000E00630000380027000070001F0000E0000E0001C0000E00038000 0E000700000E000F000004000E000004001E000004003C000004003C0000080078000000007800 0000007800000000F000000000F000000000F000000000F000000000F000000000E000000000E0 00002000E000002000E000004000E000004000F000008000700000800070000100003800020000 18000400001C0008000006003000000381C0000000FE000000212479A223>67 D<00FFFFF000000F003C00000F000E00000F000700001E000380001E000380001E0001C0001E00 01C0003C0001C0003C0001E0003C0001E0003C0001E000780001E000780001E000780001E00078 0001E000F00003C000F00003C000F00003C000F00003C001E000078001E000078001E000070001 E0000F0003C0000E0003C0001C0003C0003C0003C00038000780007000078000E000078001C000 07800700000F801C0000FFFFF0000023227DA125>I<00FFFFFF80000F000780000F000180000F 000180001E000180001E000180001E000100001E000100003C000100003C000100003C01010000 3C01000000780200000078020000007806000000780E000000FFFC000000F00C000000F00C0000 00F00C000001E008000001E008000001E008040001E000080003C000080003C000080003C00010 0003C000100007800020000780006000078000C000078001C0000F8007C000FFFFFF800021227D A121>I<00FFF8000F00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C 0000780000780000780000780000F00000F00000F00000F00001E00001E00001E00001E00003C0 0003C00003C00003C0000780000780000780000780000F8000FFF80015227DA113>73 D<0007FFC000003C0000003C0000003C00000078000000780000007800000078000000F0000000 F0000000F0000000F0000001E0000001E0000001E0000001E0000003C0000003C0000003C00000 03C00000078000000780000007800000078000000F0000000F0000380F0000780F0000F81E0000 F81E0000F03C0000403800004070000021E000001F8000001A237CA11A>I<00FFF807FC000F00 01E0000F0001C0000F000100001E000200001E000400001E001000001E002000003C004000003C 008000003C010000003C04000000780800000078180000007838000000787C000000F0BC000000 F23C000000F41E000000F81E000001F01F000001E00F000001E00F000001E00F800003C0078000 03C007800003C003C00003C003C000078003C000078001E000078001E000078001E0000F8001F0 00FFF80FFE0026227DA125>I<00FF800007FC000F80000F80000F80001780000F800017800017 80002F000013C0002F000013C0004F000013C0008F000023C0009E000023C0011E000023C0011E 000023C0021E000043C0043C000043C0043C000043C0083C000041E0083C000081E01078000081 E02078000081E02078000081E04078000101E040F0000101E080F0000101E100F0000101E100F0 000200F201E0000200F201E0000200F401E0000200F801E0000400F803C0000400F003C0000400 F003C0000C00E003C0001E00C007C000FFC0C07FFC002E227DA12C>77 D<00FFFFE0000F003800 0F001E000F000E001E0007001E0007001E0007001E0007003C000F003C000F003C000F003C001E 0078001E0078003C00780078007800E000F003C000FFFE0000F0000000F0000001E0000001E000 0001E0000001E0000003C0000003C0000003C0000003C000000780000007800000078000000780 00000F800000FFF8000020227DA121>80 D<00FFFFC0000F0070000F003C000F001C001E000E00 1E000E001E000F001E000F003C001E003C001E003C001E003C003C0078003800780070007801E0 0078078000FFFC0000F00E0000F0070000F0038001E003C001E003C001E003C001E003C003C007 8003C0078003C0078003C0078007800F0007800F0107800F01078007020F800702FFF8038C0000 00F020237DA124>82 D<0001F020000E0C40001802C0003001C0006001C000E0018000C0018001 C0018001C0018003C0010003C0010003C0000003C0000003E0000001F8000001FF000000FFE000 007FF000001FF8000003FC0000007C0000003C0000001E0000001E0000001E0020001C0020001C 0020001C00200018006000380060003000700060007000C000C8018000C607000081FC00001B24 7DA21B>I<1FFFFFF81E03C0381803C0183003C01820078018200780184007801040078010400F 0010800F0010800F0010000F0000001E0000001E0000001E0000001E0000003C0000003C000000 3C0000003C00000078000000780000007800000078000000F0000000F0000000F0000000F00000 01E0000001E0000001E0000001E0000003E00000FFFF00001D2277A123>I86 D<00F8C00185C00705C00E03800E03801C 03803C0380380700780700780700780700F00E00F00E00F00E00F00E10F01C20701C20703C2030 5C40308C400F078014157B9419>97 D<007E0001C1000301800703800E07801C07803C00003800 00780000780000780000F00000F00000F00000F00000F00100700100700200300C001830000FC0 0011157B9416>99 D<00003C0003F80000380000380000380000700000700000700000700000E0 0000E00000E00000E00001C000F9C00185C00705C00E03800E03801C03803C0380380700780700 780700780700F00E00F00E00F00E00F00E10F01C20701C20703C20305C40308C400F078016237B A219>I<00F803840E021C023C0238027804F018FFE0F000F000E000E000E000E000E002E00260 04701830600F800F157A9416>I<00003E0000470000CF00018F00018600038000038000038000 0700000700000700000700000700000E0000FFF0000E00000E00000E00001C00001C00001C0000 1C00001C0000380000380000380000380000380000700000700000700000700000700000E00000 E00000E00000E00000C00001C00001C000718000F18000F300006200003C0000182D82A20F>I< 001F180030B800E0B801C07001C0700380700780700700E00F00E00F00E00F00E01E01C01E01C0 1E01C01E01C01E03800E03800E0780060B8006170001E700000700000700000E00000E00000E00 701C00F01800F0300060E0003F8000151F7E9416>I<00F0000FE00000E00000E00000E00001C0 0001C00001C00001C000038000038000038000038000070000071F0007218007C0C00F00E00F00 E00E00E00E00E01C01C01C01C01C01C01C01C0380380380380380380380704700708700E08700E 10700610E006206003C016237DA219>I<00C001E001C001C00000000000000000000000000000 00001C002300430043008700870087000E000E001C001C001C0038003800384070807080708071 0032001C000B217BA00F>I<01E01FC001C001C001C0038003800380038007000700070007000E 000E000E000E001C001C001C001C0038003800380038007000700070007100E200E200E200E200 640038000B237CA20C>108 D<1C0F80F8002610C10C0047606606008780780700878078070087 0070070087007007000E00E00E000E00E00E000E00E00E000E00E00E001C01C01C001C01C01C00 1C01C01C001C01C03820380380384038038070403803807080380380308070070031003003001E 0023157B9428>I<1C0F002631C04740C08780E08780E08700E08700E00E01C00E01C00E01C00E 01C01C03801C03801C03801C0704380708380E08380E103806107006203003C016157B941B>I< 007E0001C3000381800701C00E01C01C01E03C01E03801E07801E07801E07801E0F003C0F003C0 F00380F00780700700700E00700C0030180018700007C00013157B9419>I<01C1F00262180474 1C08780C08700E08700E08701E00E01E00E01E00E01E00E01E01C03C01C03C01C03C01C0780380 7003807003C0E003C1C0072380071E000700000700000E00000E00000E00000E00001C00001C00 001C0000FFC000171F7F9419>I<1C1F002620804741C08783C08703C08701808700000E00000E 00000E00000E00001C00001C00001C00001C000038000038000038000038000070000030000012 157B9415>114 D<00FC000183000200800401800C03800C03000C00000F00000FF00007FC0003 FE00003E00000F00000700700700F00600F00600E004004008002030001FC00011157D9414>I< 00C001C001C001C001C003800380038003800700FFF8070007000E000E000E000E001C001C001C 001C003800380038003810702070207040708031001E000D1F7C9E10>I<1E00602300E04380E0 4381C08381C08701C08701C00703800E03800E03800E03801C07001C07001C07001C07081C0E10 180E101C0E101C1E200C262007C3C015157B941A>I<1E00302300704380704380E08380E08700 E08700E00701C00E01C00E01C00E01C01C03801C03801C03801C03801C07001C07001C07001C0F 000C3E0003CE00000E00000E00001C00601C00F03800F03000E0600080C0004380003E0000141F 7B9418>121 D E /Fr 1 4 df<01800180018001804182F18F399C0FF003C003C00FF0399CF18F 4182018001800180018010127E9215>3 D E /Fs 16 118 df<00FE0007FF800E07E01803F020 01F82000F840007C40007CF8007EFC007EFC003EFC003EFC003E78007E00007E00007C00007C00 00F80000F80001F00001E00003C0000780000700000E00001C0000380000700000600000C00001 80020300020600040C000418000410000C3FFFFC7FFFF8FFFFF8FFFFF817287DA71E>50 D69 D73 D78 D<0001FF0000000F01E000003C0078000078003C00 00E0000E0001E0000F0003C000078007800003C00F800003E01F000001F01F000001F03E000000 F83E000000F87E000000FC7E000000FC7C0000007C7C0000007CFC0000007EFC0000007EFC0000 007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007EFC0000007E7C0000007C7E00 0000FC7E000000FC7E000000FC3E000000F83F000001F81F000001F01F000001F00F800003E007 800003C007C00007C003E0000F8000F0001E000078003C00003C007800000F01E0000001FF0000 272B7DA92E>I82 D<00FE010003FF83000F81E3001E0037003C001F0038000F007800070070000700F0000300F000 0300F0000300F0000100F8000100F8000100FC0000007C0000007F0000003FE000001FFF00000F FFE00007FFF80003FFFC00007FFE000007FF0000007F0000001F8000000F80000007C0000007C0 800003C0800003C0800003C0800003C0C00003C0C0000380C0000380E0000780F0000700F8000E 00EE001C00C3C07800C1FFF000803FC0001A2B7DA921>I86 D89 D<01FC00000E0780001001C0003C00E0003E00F0003E0078001C00780008007800000078000000 780000007800007FF80003E078000F8078001F0078003E0078007C00780078007820F8007820F8 007820F8007820F800F8207C00F8203C013C401F063FC007F80F001B1A7E991E>97 D<007F8001C0700780080F003C1E007C3C007C3C00387C0010780000F80000F80000F80000F800 00F80000F80000F80000F800007800007C00003C00043C00041E00080F001007802001C0C0007F 00161A7E991B>99 D<00000F000001FF000001FF0000001F0000000F0000000F0000000F000000 0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00003F0F0001 C0CF0003802F000F001F001E001F001C000F003C000F007C000F0078000F0078000F00F8000F00 F8000F00F8000F00F8000F00F8000F00F8000F00F8000F0078000F0078000F003C000F003C000F 001E001F000E002F0007004F8001C18FF8007E0FF81D2A7EA921>I<007E0003C3800700E00E00 F01C00703C00783C003878003C78003CF8003CF8003CFFFFFCF80000F80000F80000F80000F800 007800007C00003C00043C00041E00080E001007002001C0C0007F00161A7E991B>I<001F0000 70C000E1E001C3E003C3E00381C007808007800007800007800007800007800007800007800007 8000078000FFFE00FFFE0007800007800007800007800007800007800007800007800007800007 800007800007800007800007800007800007800007800007800007800007800007800007C000FF FE00FFFE00132A7FA912>I<007F000001C1C000070070000E0038001C001C003C001E003C001E 0078000F0078000F00F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F800 0F8078000F0078000F003C001E003C001E001E003C000E0038000700700001C1C000007F000019 1A7E991E>111 D<07800780FF80FF80FF80FF800F800F80078007800780078007800780078007 800780078007800780078007800780078007800780078007800780078007800780078007800780 0780078007800780078007800F8007800F800380178001C027C000E047FC003F87FC1E1A7F9921 >117 D E /Ft 25 121 df<1C003E007F00FF80FF80FF807F003E001C00000000000000000000 00000000000000000000000000000000000000000000000000000000001C003E007F00FF80FF80 FF807F003E001C00092579A418>58 D<0000000C000000000000001E000000000000001E000000 000000001E000000000000003F000000000000003F000000000000003F000000000000007F8000 00000000007F800000000000007F80000000000000FFC0000000000000FFC0000000000000FFC0 0000000000019FE00000000000019FE00000000000039FF00000000000030FF00000000000030F F00000000000070FF800000000000607F800000000000607F800000000000C07FC00000000000C 03FC00000000000C03FC00000000001803FE00000000001801FE00000000001801FE0000000000 3000FF00000000003000FF00000000003000FF000000000060007F800000000060007F80000000 00E0007F8000000000C0003FC000000000C0003FC000000001C0003FE00000000180001FE00000 000180001FE00000000380001FF000000003FFFFFFF000000003FFFFFFF000000007FFFFFFF800 000006000007F800000006000007F80000000C000007FC0000000C000003FC0000000C000003FC 00000018000001FE00000018000001FE00000018000001FE00000030000000FF00000030000000 FF00000070000000FF800000600000007F800000600000007F800000F00000007FC00003F80000 007FC0000FFC000001FFE000FFFFC0003FFFFFC0FFFFC0003FFFFFC0FFFFC0003FFFFFC03A3D7D BC41>65 D73 D75 D80 D82 D<000FF80060003FFF006000FFFFC0E001F807E1E007E000F1E00F80003BE00F00001FE01F0000 0FE03E000007E03E000003E07C000001E07C000001E0FC000001E0FC000000E0FC000000E0FC00 0000E0FC00000060FE00000060FE00000060FF000000607F000000007F800000007FE00000003F F80000003FFF8000001FFFF800000FFFFF800007FFFFE00003FFFFF80001FFFFFC0000FFFFFE00 003FFFFF000007FFFF8000007FFFC0000007FFE00000007FE00000001FF00000000FF000000007 F000000007F800000003F840000003F8C0000003F8C0000001F8C0000001F8C0000001F8E00000 01F8E0000001F8E0000001F0F0000001F0F0000003F0F8000003E0F8000003E0FC000007C0FF00 000F80FB80000F00F1F0003E00F0FE00FC00E03FFFF800C00FFFE000C001FF8000253D7BBB30> I<3FFFFFFFFFFFF83FFFFFFFFFFFF83FFFFFFFFFFFF83FE001FF8007F83F0000FF0001F87C0000 FF00007C780000FF00003C780000FF00003C700000FF00001C700000FF00001C600000FF00000C 600000FF00000C600000FF00000C600000FF00000C600000FF00000CE00000FF00000EC00000FF 000006C00000FF000006C00000FF000006C00000FF000006000000FF000000000000FF00000000 0000FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00 0000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000000000 00FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000 00000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000 FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000 000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000000003FF C00000001FFFFFFFF800001FFFFFFFF800001FFFFFFFF800373B7DBA3E>I<003FC0000001FFF8 000007C07E00000E001F00001E000F80001F8007C0003FC003E0003FC003F0003FC003F0003FC0 01F0001F8001F8000F0001F800000001F800000001F800000001F800000001F80000001FF80000 07FFF800003FF9F80000FF01F80003F801F80007F001F8000FC001F8001F8001F8003F8001F800 7F0001F8007F0001F8007E0001F80CFE0001F80CFE0001F80CFE0001F80CFE0003F80CFE0003F8 0C7E0006F80C7F0006F80C3F000C7C181F80187E380FE0703FF003FFE01FE0007F800F8026287C A62B>97 D<01F800000000FFF800000000FFF800000000FFF80000000007F80000000001F80000 000001F80000000001F80000000001F80000000001F80000000001F80000000001F80000000001 F80000000001F80000000001F80000000001F80000000001F80000000001F80000000001F80000 000001F80000000001F80000000001F80000000001F80FF0000001F83FFE000001F8F01F000001 F9C007C00001FB0003E00001FE0001F00001FC0000F80001FC00007C0001F800007E0001F80000 3E0001F800003F0001F800003F0001F800003F8001F800001F8001F800001F8001F800001FC001 F800001FC001F800001FC001F800001FC001F800001FC001F800001FC001F800001FC001F80000 1FC001F800001FC001F800001F8001F800001F8001F800003F8001F800003F0001F800003F0001 F800007E0001F800007C0001FC0000FC0001FC0000F80001F60001F00001E30003E00001E1C00F C00001C0F03F000001803FFC000000000FE000002A3D7EBB30>I<0003FE00001FFFC0003E01F0 00F8003801F0003C03E000FC07C001FE0FC001FE0F8001FE1F8001FE3F0000FC3F0000787F0000 007F0000007E0000007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE00 0000FE000000FE0000007E0000007F0000007F0000003F0000033F0000031F8000031F8000060F C0000607C0000C03E0001801F0003000F800E0007E03C0001FFF000003FC0020287DA626>I<00 03FC0000001FFF0000007E07C00000F801E00001E000F00003E000780007C0007C000F80003E00 1F80003E001F00003F003F00001F003F00001F007F00001F007E00001F807E00001F80FE00001F 80FE00001F80FFFFFFFF80FFFFFFFF80FE00000000FE00000000FE00000000FE00000000FE0000 00007E000000007E000000007F000000007F000000003F000001803F000001801F800001800F80 0003000FC000030007C000060003E0000C0001F00018000078007000003F01E000000FFF800000 01FE000021287EA626>101 D<00003F000001FFC00003E0E0000781F0000F83F8001F07F8003E 07F8007E07F8007E03F0007C01E000FC000000FC000000FC000000FC000000FC000000FC000000 FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000FFFFFC00FFFFFC00 FFFFFC0000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00 0000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC 000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000 FC000000FC000001FE00007FFFFC007FFFFC007FFFFC001D3D7FBC1A>I<01C00003F00007F800 0FF8000FF8000FF80007F80003F00001C000000000000000000000000000000000000000000000 00000000000000000000000001F8007FF8007FF8007FF80007F80001F80001F80001F80001F800 01F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F800 01F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80003FC00 FFFFE0FFFFE0FFFFE0133A7FB917>105 D<01F800000000FFF800000000FFF800000000FFF800 00000007F80000000001F80000000001F80000000001F80000000001F80000000001F800000000 01F80000000001F80000000001F80000000001F80000000001F80000000001F80000000001F800 00000001F80000000001F80000000001F80000000001F80000000001F80000000001F800000000 01F800FFFE0001F800FFFE0001F800FFFE0001F8007FE00001F8003F800001F8003E000001F800 38000001F80030000001F800E0000001F801C0000001F80300000001F80600000001F80C000000 01F81800000001F83C00000001F87E00000001F8FF00000001FB9F00000001FF1F80000001FC0F C0000001F807C0000001F807E0000001F803F0000001F801F0000001F801F8000001F800FC0000 01F8007C000001F8007E000001F8003F000001F8001F800001F8001F800001F8000FC00001F800 0FE00003FC001FF800FFFFF07FFF80FFFFF07FFF80FFFFF07FFF80293C7EBB2D>107 D<01F800FFF800FFF800FFF80007F80001F80001F80001F80001F80001F80001F80001F80001F8 0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8 0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8 0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8 0001F80001F80001F80001F80003FC00FFFFF0FFFFF0FFFFF0143C7FBB17>I<01F803F80003F8 0000FFF81FFF001FFF0000FFF83C0F803C0F8000FFF8E007C0E007C00007F9C003E1C003E00001 FB0003F30003F00001FB0001F30001F00001FE0001FE0001F80001FE0001FE0001F80001FC0001 FC0001F80001FC0001FC0001F80001F80001F80001F80001F80001F80001F80001F80001F80001 F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001 F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001 F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001 F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001 F80001F80001F80001F80001F80001F80001F80001F80001F80003FC0003FC0003FC00FFFFF0FF FFF0FFFFF0FFFFF0FFFFF0FFFFF0FFFFF0FFFFF0FFFFF044267EA549>I<01F807F80000FFF81F FE0000FFF8781F0000FFF8E00F800007F98007C00001FB0007E00001FB0003E00001FE0003F000 01FC0003F00001FC0003F00001FC0003F00001F80003F00001F80003F00001F80003F00001F800 03F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000 01F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F800 03F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000 03FC0007F800FFFFF1FFFFE0FFFFF1FFFFE0FFFFF1FFFFE02B267EA530>I<0001FE0000000FFF C000003F03F00000F8007C0001F0003E0003E0001F0007C0000F800F800007C00F800007C01F00 0003E03F000003F03F000003F03F000003F07E000001F87E000001F87E000001F8FE000001FCFE 000001FCFE000001FCFE000001FCFE000001FCFE000001FCFE000001FCFE000001FCFE000001FC 7E000001F87E000001F87F000003F83F000003F03F000003F01F000003E01F800007E00F800007 C007C0000F8003E0001F0001F0003E0000F8007C00003F03F000000FFFC0000001FE000026287E A62B>I<01F80FF00000FFF83FFE0000FFF8F01F0000FFF9C007C00003FB0003E00001FE0001F0 0001FC0000F80001FC0000FC0001F800007E0001F800007E0001F800007F0001F800003F0001F8 00003F8001F800003F8001F800001F8001F800001FC001F800001FC001F800001FC001F800001F C001F800001FC001F800001FC001F800001FC001F800001FC001F800001FC001F800001F8001F8 00003F8001F800003F8001F800003F0001F800007F0001F800007E0001F80000FC0001FC0000FC 0001FC0001F80001FE0003F00001FB0007E00001F9C00FC00001F8F03F000001F83FFC000001F8 0FE0000001F80000000001F80000000001F80000000001F80000000001F80000000001F8000000 0001F80000000001F80000000001F80000000001F80000000001F80000000001F80000000003FC 00000000FFFFF0000000FFFFF0000000FFFFF00000002A377EA530>I<03F00F80FFF03FE0FFF0 70F0FFF0C1F807F183F801F303F801F603F801F601F001F6004001FC000001FC000001FC000001 FC000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80000 01F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800 0001F8000001F8000003FC0000FFFFF800FFFFF800FFFFF8001D267EA522>114 D<007F818003FFE3800F807F801E001F8038000780380007807000038070000380F0000180F000 0180F0000180F8000180F8000180FE0000007F8000007FFC00003FFFC0001FFFF0000FFFFC0003 FFFE0001FFFF00001FFF800000FF8000001FC040000FC0C00007E0C00003E0E00001E0E00001E0 E00001E0E00001E0F00001E0F00001C0F80003C0FC000380FC000700F7000E00E3C03C00C0FFF8 00C03FC0001B287DA622>I<001800000018000000180000001800000018000000380000003800 000038000000380000007800000078000000F8000000F8000001F8000003F8000007F800001FFF FF00FFFFFF00FFFFFF0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001 F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80000 01F8000001F8018001F8018001F8018001F8018001F8018001F8018001F8018001F8018001F801 8000F8018000F8030000FC0300007C0300003E0600001F0C00000FF8000003F00019367EB421> I<01F80003F000FFF801FFF000FFF801FFF000FFF801FFF00007F8000FF00001F80003F00001F8 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0 0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8 0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0 0001F80003F00001F80003F00001F80007F00001F80007F00001F80007F00000F8000FF00000F8 000FF00000FC001BF000007C001BFC00003E0073FFE0001F81E3FFE0000FFF83FFE00001FE03F0 002B277EA530>I120 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%EndSetup %%Page: 1 1 1 0 bop 390 293 a Ft(SP)-7 b(ARSKIT:)31 b(a)h(basic)h(to)r(ol)g(kit)h(for)390 397 y(sparse)28 b(matrix)i(computations)390 557 y Fs(VERSION)20 b(2)390 632 y(Y)-5 b(oucef)19 b(Saad)710 610 y Fr(\003)844 1247 y Fq(June)f(6,)f(1994)120 1447 y Fp(Abstract.)24 b Fo(This)15 b(pap)q(er)g(presen)o(ts)i(the)f(main)d(features)j(of)e(a)h(to)q(ol)f(pac)o (k)n(age)h(for)f(manipulating)e(and)j(w)o(orking)60 1497 y(with)h(sparse)h (matrices.)25 b(One)16 b(of)g(the)h(goals)e(of)h(the)g(pac)o(k)n(age)g(is)g (to)g(pro)o(vide)g(basic)g(to)q(ols)g(to)g(facilitate)f(exc)o(hange)60 1547 y(of)j(soft)o(w)o(are)g(and)g(data)g(b)q(et)o(w)o(een)i(researc)o(hers)h (in)d(sparse)i(matrix)c(computations.)30 b(Our)19 b(starting)f(p)q(oin)o(t)g (is)g(the)60 1597 y(Harw)o(ell/Bo)q(eing)f(collection)g(of)g(matrices)g(for)g (whic)o(h)h(w)o(e)g(pro)o(vide)f(a)g(n)o(um)o(b)q(er)g(of)g(to)q(ols.)29 b(Among)16 b(other)i(things)60 1647 y(the)f(pac)o(k)n(age)f(pro)o(vides)h (programs)e(for)i(con)o(v)o(erting)f(data)g(structures,)k(prin)o(ting)15 b(simple)g(statistics)j(on)e(a)g(matrix,)60 1696 y(plotting)d(a)g(matrix)f (pro\014le,)i(p)q(erforming)e(basic)i(linear)g(algebra)f(op)q(erations)h (with)g(sparse)h(matrices)e(and)h(so)g(on.)p 60 2455 744 2 v 116 2486 a Fn(\003)135 2501 y Fo(W)m(ork)j(done)i(partly)f(at)h(CSRD,)e (univ)o(ersit)o(y)i(of)f(Illinois)e(and)j(partly)f(at)g(RIA)o(CS)h(\(NASA)g (Ames)f(Researc)o(h)60 2550 y(Cen)o(ter\).)i(Curren)o(t)15 b(address:)k(Computer)13 b(Science)j(Dept.,)d(Univ)o(ersit)o(y)h(of)f (Minnesota,)h(Minneap)q(olis,)f(MN)h(55455.)60 2600 y(This)e(w)o(ork)g(w)o (as)g(supp)q(orted)h(in)f(part)h(b)o(y)e(the)i(NAS)g(Systems)f(Division,)e (via)h(Co)q(op)q(erativ)o(e)i(Agreemen)o(t)f(NCC)g(2-387)60 2650 y(b)q(et)o(w)o(een)h(NASA)g(and)f(the)h(Univ)o(ersit)o(y)f(Space)h (Researc)o(h)g(Asso)q(ciation)f(\(USRA\))g(and)g(in)g(part)g(b)o(y)g(the)h (Departmen)o(t)60 2700 y(of)g(Energy)i(under)g(gran)o(t)e(DE-F)o (G02-85ER25001.)p eop %%Page: 2 2 2 1 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1589 w Fl(2)60 140 y Fk(1)83 b(In)n(tro)r(duction)60 249 y Fl(Researc)o(h)12 b(on)h(sparse)g(matrix)e(tec)o(hniques)g(has)i(b)q(ecome)e(increasingly)h (complex,)e(and)j(this)g(trend)f(is)60 310 y(lik)o(ely)g(to)k(accen)o(tuate)e (if)h(only)f(b)q(ecause)i(of)f(the)g(gro)o(wing)g(need)g(to)g(design)g (e\016cien)o(t)e(sparse)j(matrix)60 370 y(algorithms)e(for)g(mo)q(dern)g(sup) q(ercomputers.)19 b(While)14 b(there)f(are)i(a)g(n)o(um)o(b)q(er)d(of)j(pac)o (k)m(ages)g(and)f(`user)60 430 y(friendly')k(to)q(ols,)j(for)f(p)q(erforming) f(computations)g(with)h(small)e(dense)h(matrices)f(there)h(is)h(a)g(lac)o(k) 60 490 y(of)g(an)o(y)g(similar)e(to)q(ol)j(or)g(in)e(fact)h(of)h(an)o(y)f (general-purp)q(ose)h(libraries)e(for)h(w)o(orking)g(with)g(sparse)60 550 y(matrices.)36 b(Y)l(et)21 b(a)h(collection)f(of)h(a)g(few)g(basic)g (programs)g(to)g(p)q(erform)f(some)g(elemen)n(tary)e(and)60 610 y(common)e(tasks)j(ma)o(y)d(b)q(e)i(v)o(ery)f(useful)h(in)f(reducing)h (the)g(t)o(ypical)f(time)e(to)k(implem)o(en)n(t)c(and)k(test)60 671 y(sparse)14 b(matrix)d(algorithms.)19 b(That)14 b(a)f(common)e(set)i(of)h (routines)f(shared)g(among)g(researc)o(hers)f(do)q(es)60 731 y(not)g(y)o(et)f(exist)g(for)g(sparse)i(matrix)d(computation)g(is)i(rather)g (surprising.)19 b(Consider)12 b(the)g(con)o(trasting)60 791 y(situation)18 b(in)f(dense)g(matrix)f(computations.)24 b(The)18 b(Linpac)o(k)f(and)h(Eispac)o(k)f(pac)o(k)m(ages)h(dev)o(elop)q(ed)60 851 y(in)f(the)g(70's)h(ha)o(v)o(e)f(b)q(een)g(of)h(tremendous)e(help)h(in)g (v)m(arious)h(areas)g(of)g(scien)o(ti\014c)e(computing.)23 b(One)60 911 y(migh)o(t)13 b(sp)q(eculate)h(on)h(the)f(n)o(um)o(b)q(er)f(of)i (hours)g(of)g(programming)e(e\013orts)j(sa)o(v)o(ed)d(w)o(orldwide)h(thanks) 60 972 y(to)20 b(the)f(widespread)h(a)o(v)m(ailabilit)o(y)d(of)j(these)f(pac) o(k)m(ages.)32 b(In)19 b(con)o(trast,)i(it)e(is)g(often)h(the)f(case)h(that) 60 1032 y(researc)o(hers)d(in)g(sparse)i(matrix)d(computation)h(co)q(de)h (their)f(o)o(wn)h(subroutine)g(for)g(suc)o(h)f(things)h(as)60 1092 y(con)o(v)o(erting)12 b(the)h(storage)h(mo)q(de)e(of)h(a)h(matrix)d(or)j (for)f(reordering)g(a)g(matrix)f(according)h(to)g(a)h(certain)60 1152 y(p)q(erm)o(utation.)19 b(One)14 b(of)h(the)e(reasons)i(for)g(this)f (situation)g(migh)o(t)e(b)q(e)j(the)e(absence)h(of)h(an)o(y)f(standard)60 1212 y(for)19 b(sparse)h(matrix)d(computations.)28 b(F)l(or)19 b(instance,)g(the)f(n)o(um)o(b)q(er)f(of)i(di\013eren)o(t)f(data)i (structures)60 1273 y(used)e(to)h(store)g(sparse)g(matrices)d(in)i(v)m (arious)h(applications)g(is)f(staggering.)28 b(F)l(or)19 b(the)f(same)f (basic)60 1333 y(data)j(structure)e(there)g(often)h(exist)e(a)i(large)g(n)o (um)o(b)q(er)e(of)i(v)m(ariations)g(in)g(use.)28 b(As)18 b(sparse)i(matrix)60 1393 y(computation)14 b(tec)o(hnology)h(is)f(maturing)g(there)h(is)f(a)i (desp)q(erate)f(need)f(for)h(some)f(standard)i(for)f(the)60 1453 y(basic)21 b(storage)h(sc)o(hemes)d(and)i(p)q(ossibly)l(,)h(although)g (this)f(is)g(more)f(con)o(tro)o(v)o(ersial,)g(for)h(the)g(basic)60 1513 y(linear)15 b(algebra)i(op)q(erations.)120 1574 y(An)22 b(imp)q(ortan)o(t)f(example)f(where)i(a)h(pac)o(k)m(age)g(suc)o(h)f(as)h(SP)l (ARSKIT)e(can)i(b)q(e)f(helpful)g(is)g(for)60 1634 y(exc)o(hanging)e (matrices)d(for)k(researc)o(h)e(or)h(other)g(purp)q(oses.)33 b(In)19 b(this)h(situation,)h(one)f(m)o(ust)e(often)60 1694 y(translate)j(the)f(matrix)f(from)h(some)f(initial)h(data)h(structure)f(in)h (whic)o(h)f(it)g(is)g(generated,)h(in)o(to)g(a)60 1754 y(di\013eren)o(t)13 b(desired)h(data)h(structure.)20 b(One)14 b(w)o(a)o(y)g(around)h(this)g (di\016cult)o(y)d(is)i(to)g(restrict)g(the)g(n)o(um)o(b)q(er)60 1814 y(of)24 b(sc)o(hemes)d(that)j(can)g(b)q(e)f(used)h(and)g(set)g(some)e (standards.)45 b(Ho)o(w)o(ev)o(er,)23 b(this)g(is)g(not)h(enough)60 1874 y(b)q(ecause)16 b(often)f(the)h(data)g(structures)g(are)g(c)o(hosen)f (for)h(their)f(e\016ciency)e(and)j(con)o(v)o(enience,)d(and)j(it)60 1935 y(is)h(not)g(reasonable)h(to)f(ask)h(practitioners)e(to)i(abandon)g (their)f(fa)o(v)o(orite)f(storage)i(sc)o(hemes.)j(What)60 1995 y(is)16 b(needed)f(is)h(a)g(large)g(set)g(of)g(programs)g(to)h(translate)f (one)g(data)h(structure)e(in)o(to)h(another.)22 b(In)15 b(the)60 2055 y(same)k(v)o(ein,)g(subroutines)h(that)h(generate)f(test)f(matrices)f(w) o(ould)i(b)q(e)g(extremely)d(v)m(aluable)j(since)60 2115 y(they)14 b(w)o(ould)h(allo)o(w)g(users)g(to)h(ha)o(v)o(e)e(access)h(to)g(a)g(large)g (n)o(um)o(b)q(er)f(of)h(matrices)e(without)i(the)g(burden)60 2175 y(of)i(actually)e(passing)i(large)g(sets)f(of)h(data.)120 2236 y(A)e(useful)g(collection)f(of)h(sparse)h(matrices)e(kno)o(wn)i(as)g (the)f(Harw)o(ell/Bo)q(eing)f(collection,)g(whic)o(h)60 2296 y(is)e(publically)e(a)o(v)m(ailable)h([4],)h(has)h(b)q(een)f(widely)f(used)h (in)f(recen)o(t)g(y)o(ears)h(for)g(testing)g(and)h(comparison)60 2356 y(purp)q(oses.)22 b(Because)15 b(of)i(the)e(imp)q(ortance)g(of)h(this)g (collection)e(man)o(y)g(of)j(the)e(to)q(ols)i(in)e(SP)l(ARSKIT)60 2416 y(can)k(b)q(e)g(considered)g(as)g(companion)f(to)q(ols)i(to)g(it.)28 b(F)l(or)19 b(example,)e(SP)l(ARSKIT)i(supplies)f(simple)60 2476 y(routines)h(to)g(create)g(a)g(Harw)o(ell/Bo)q(eing)f(\(H/B\))g(\014le)h (from)e(a)j(matrix)d(in)i(an)o(y)f(format,)h(to)q(ols)h(for)60 2537 y(creating)14 b(pic)g(\014les)g(in)g(order)g(to)h(plot)f(a)h(H/B)e (matrix,)g(a)i(few)f(routines)g(that)h(will)e(deliv)o(er)f(statistics)60 2597 y(for)20 b(an)o(y)f(H/B)h(matrix,)e(etc..)30 b(Ho)o(w)o(ev)o(er,)18 b(SP)l(ARSKIT)i(is)f(not)h(limited)d(to)j(b)q(eing)g(a)g(set)f(of)h(to)q(ols) 60 2657 y(to)e(w)o(ork)f(with)g(H/B)g(matrices.)22 b(Since)17 b(one)g(of)h(our)g(main)e(motiv)m(ations)g(is)h(researc)o(h)g(on)h(iterativ)o (e)p eop %%Page: 3 3 3 2 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1589 w Fl(3)60 132 y(metho)q(ds,)21 b(w)o(e)f(pro)o(vide)g(n)o(umerous)g(subroutines)h(that) h(ma)o(y)d(help)h(researc)o(hers)g(in)h(this)g(sp)q(eci\014c)60 192 y(area.)g(SP)l(ARSKIT)16 b(will)e(hop)q(efully)h(b)q(e)h(an)g(ev)o (olving)f(pac)o(k)m(age)g(that)i(will)d(b)q(ene\014t)i(from)e(con)o(tribu-)60 252 y(tions)i(from)e(other)h(researc)o(hers.)20 b(This)c(rep)q(ort)g(is)f(a)h (succinct)e(description)h(of)g(the)g(pac)o(k)m(age)h(in)f(this)60 312 y(release.)60 1045 y @beginspecial 75 @vscale 75 @hscale 0 @hoffset -30 @voffset @setspecial %%BeginDocument: dir.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: /tmp/xfig-fig024490 %%Creator: fig2dev %%CreationDate: Thu Aug 19 20:24:55 1993 %%For: dsu@unity (Dongli Su,2-209 EECS,626-7512,378-3764) %%BoundingBox: 0 0 567 259 %%Pages: 0 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0 setlinecap 0 setlinejoin -18.0 328.0 translate 0.900 -0.900 scale 0.500 setlinewidth % Polyline n 49 244 m 319 99 l gs col-1 s gr % Polyline n 319 99 m 134 244 l gs col-1 s gr % Polyline n 319 99 m 204 244 l gs col-1 s gr % Polyline n 319 99 m 264 244 l gs col-1 s gr % Polyline n 319 99 m 324 244 l gs col-1 s gr % Polyline n 319 99 m 394 244 l gs col-1 s gr % Polyline n 319 99 m 484 244 l gs col-1 s gr % Polyline n 319 99 m 569 244 l gs col-1 s gr % Polyline n 544 304 m 564 264 l gs col-1 s gr % Polyline n 564 264 m 614 304 l gs col-1 s gr % Polyline n 344 304 m 389 264 l gs col-1 s gr % Polyline n 389 264 m 399 304 l gs col-1 s gr % Polyline n 389 264 m 454 304 l gs col-1 s gr % Polyline n 319 99 m 319 99 l 634 244 l 634 244 l gs col-1 s gr /Times-Roman findfont 14.00 scalefont setfont 19 259 m gs 1 -1 scale (BLASSM) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 99 259 m gs 1 -1 scale (FORMATS) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 189 259 m gs 1 -1 scale (INFO) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 239 259 m gs 1 -1 scale (INOUT) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 304 259 m gs 1 -1 scale (ITSOL) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 359 259 m gs 1 -1 scale (MATGEN) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 439 259 m gs 1 -1 scale (ORDERINGS) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 539 259 m gs 1 -1 scale (UNSUPP) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 519 319 m gs 1 -1 scale (MATEXP) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 329 319 m gs 1 -1 scale (FDIF) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 384 319 m gs 1 -1 scale (FEM) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 439 319 m gs 1 -1 scale (MISC) col-1 show gr /Times-Roman findfont 18.00 scalefont setfont 279 89 m gs 1 -1 scale (SPARSKIT) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 599 319 m gs 1 -1 scale (PLOTS) col-1 show gr %%/Times-Roman findfont 20.00 scalefont setfont %%199 364 m %%gs 1 -1 scale (General organization of SPARSKIT) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 619 259 m gs 1 -1 scale (DOC) col-1 show gr $F2psEnd %%EndDocument @endspecial 495 1121 a(Figure)h(1:)21 b(General)16 b(organization)h(of)g(SP) l(ARSKIT.)60 1399 y Fk(2)83 b(Data)25 b(structures)d(for)j(sparse)e(matrices) h(and)g(the)g(con-)184 1490 y(v)n(ersion)i(routines)60 1599 y Fl(One)16 b(of)h(the)g(di\016culties)d(in)i(sparse)i(matrix)c(computations) j(is)f(the)g(v)m(ariet)o(y)g(of)h(t)o(yp)q(es)f(of)h(matrices)60 1660 y(that)g(are)g(encoun)o(tered)e(in)i(practical)e(applications.)23 b(The)16 b(purp)q(ose)i(of)f(eac)o(h)f(of)g(these)h(sc)o(hemes)d(is)60 1720 y(to)k(gain)g(e\016ciency)d(b)q(oth)j(in)f(terms)f(of)h(memory)e (utilization)h(and)i(arithmetic)d(op)q(erations.)25 b(As)18 b(a)60 1780 y(result)11 b(man)o(y)f(di\013eren)o(t)h(w)o(a)o(ys)h(of)g (storing)g(sparse)h(matrices)c(ha)o(v)o(e)i(b)q(een)h(devised)f(to)h(tak)o(e) f(adv)m(an)o(tage)60 1840 y(of)17 b(the)f(structure)g(of)g(the)g(matrices)f (or)i(the)f(sp)q(eci\014cit)o(y)e(of)j(the)f(problem)f(from)g(whic)o(h)h (they)g(arise.)60 1900 y(F)l(or)21 b(example)d(if)i(it)g(is)g(kno)o(wn)g (that)h(a)g(matrix)e(consists)i(of)f(a)h(few)f(diagonals)i(one)e(ma)o(y)f (simply)60 1961 y(store)j(these)g(diagonals)i(as)e(v)o(ectors)g(and)h(the)f (o\013sets)h(of)f(eac)o(h)g(diagonal)h(with)f(resp)q(ect)g(to)g(the)60 2021 y(main)15 b(diagonal.)23 b(If)16 b(the)g(matrix)f(is)h(not)h(regularly)f (structured,)g(then)h(one)f(of)h(the)f(most)g(common)60 2081 y(storage)d(sc)o(hemes)d(in)i(use)g(to)q(da)o(y)h(is)f(what)h(w)o(e)f(refer)f (to)i(in)f(SP)l(ARSKIT)f(as)i(the)f(Compressed)g(Sparse)60 2141 y(Ro)o(w)18 b(\(CSR\))h(sc)o(heme.)24 b(In)18 b(this)g(sc)o(heme)e(all)i (the)g(nonzero)g(en)o(tries)f(are)i(stored)f(ro)o(w)h(b)o(y)e(ro)o(w)i(in)f (a)60 2201 y(one-dimensional)13 b(real)h(arra)o(y)g Fj(A)g Fl(together)g(with)g(an)h(arra)o(y)f Fj(J)5 b(A)14 b Fl(con)o(taining)g (their)f(column)g(indices)60 2261 y(and)k(a)f(p)q(oin)o(ter)g(arra)o(y)g (whic)o(h)g(con)o(tains)g(the)g(addresses)h(in)f Fj(A)f Fl(and)i Fj(J)5 b(A)15 b Fl(of)i(the)f(b)q(eginning)g(of)h(eac)o(h)60 2322 y(ro)o(w.)29 b(The)19 b(order)g(of)g(the)f(elemen)o(ts)e(within)i(eac)o (h)h(ro)o(w)g(do)q(es)g(not)g(matter.)28 b(Also)18 b(of)h(imp)q(ortance)60 2382 y(b)q(ecause)f(of)h(its)e(simplicit)o(y)e(is)j(the)f(co)q(ordinate)i (storage)g(sc)o(heme)d(in)i(whic)o(h)f(the)h(nonzero)g(en)o(tries)60 2442 y(of)g Fj(A)g Fl(are)g(stored)g(in)f(an)o(y)h(order)g(together)g(with)g (their)f(ro)o(w)h(and)g(column)f(indices.)25 b(Man)o(y)17 b(of)h(the)60 2502 y(other)c(existing)f(sc)o(hemes)e(are)j(sp)q(ecialized)e(to)i(some)f (exten)o(t.)19 b(The)14 b(reader)f(is)h(referred)e(to)i(the)g(b)q(o)q(ok)60 2562 y(b)o(y)i(Du\013)h(et)f(al.)21 b([3])16 b(for)g(more)f(details.)p eop %%Page: 4 4 4 3 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1589 w Fl(4)60 132 y Fi(2.1)70 b(Storage)23 b(F)-6 b(ormats)60 224 y Fl(Curren)o(tly)l(,)18 b(the)g(con)o(v)o(ersion)g(routines)h(of)g(SP)l(ARSKIT)g(can)g(handle)f (thirteen)g(di\013eren)o(t)g(storage)60 284 y(formats.)28 b(These)19 b(include)f(some)g(of)h(the)f(most)g(commonly)e(used)j(sc)o(hemes)e(but)i (they)f(are)h(b)o(y)g(no)60 344 y(means)14 b(exhaustiv)o(e.)20 b(W)l(e)14 b(found)i(it)e(particularly)g(useful)g(to)i(ha)o(v)o(e)e(all)g (these)h(storage)h(mo)q(des)e(when)60 404 y(trying)k(to)h(extract)f(a)h (matrix)d(from)i(someone)f(else's)g(application)i(co)q(de)f(in)g(order,)h (for)g(example,)60 465 y(to)e(analyze)g(it)f(with)h(the)g(to)q(ols)h(describ) q(ed)e(in)h(the)g(next)f(sections)h(or,)g(more)f(commonly)l(,)e(to)j(try)g(a) 60 525 y(giv)o(en)f(solution)h(metho)q(d)f(whic)o(h)h(requires)f(a)h (di\013eren)o(t)f(data)i(structure)e(than)i(the)f(one)g(originally)60 585 y(used)h(in)g(the)g(application.)27 b(Often)18 b(the)g(matrix)e(is)i (stored)h(in)e(one)i(of)f(these)g(mo)q(des)g(or)g(a)h(v)m(arian)o(t)60 645 y(that)e(is)g(v)o(ery)f(close)g(to)i(it.)23 b(W)l(e)16 b(hop)q(e)i(to)f(add)h(man)o(y)d(more)h(con)o(v)o(ersion)g(routines)h(as)g (SP)l(ARSKIT)60 705 y(ev)o(olv)o(es.)120 766 y(In)23 b(this)f(section)h(w)o (e)g(describ)q(e)f(in)g(detail)h(the)f(storage)i(sc)o(hemes)d(that)j(are)f (handled)g(in)f(the)60 826 y(F)o(ORMA)l(TS)12 b(mo)q(dule.)18 b(F)l(or)13 b(con)o(v)o(enience)e(w)o(e)h(ha)o(v)o(e)g(decided)g(to)h(lab)q (el)f(b)o(y)h(a)g(three)f(c)o(haracter)g(name)60 886 y(eac)o(h)18 b(format)f(used.)27 b(W)l(e)18 b(start)h(b)o(y)e(listing)h(the)g(formats)f (and)i(then)f(describ)q(e)g(them)e(in)i(detail)f(in)60 946 y(separate)g(subsections)f(\(except)f(for)h(the)g(dense)g(format)g(whic)o(h)f (needs)h(no)h(detailed)e(description\).)84 1050 y Fh(DNS)i Fl(Dense)f(format)84 1149 y Fh(BND)g Fl(Linpac)o(k)g(Banded)g(format)84 1248 y Fh(CSR)h Fl(Compressed)f(Sparse)g(Ro)o(w)h(format)84 1347 y Fh(CSC)h Fl(Compressed)d(Sparse)i(Column)e(format)84 1446 y Fh(COO)i Fl(Co)q(ordinate)h(format)84 1545 y Fh(ELL)e Fl(Ellpac)o(k-Itpac)o(k)e(generalized)h(diagonal)i(format)84 1644 y Fh(DIA)g Fl(Diagonal)g(format)84 1743 y Fh(BSR)f Fl(Blo)q(c)o(k)g (Sparse)g(Ro)o(w)h(format)84 1843 y Fh(MSR)g Fl(Mo)q(di\014ed)f(Compressed)f (Sparse)i(Ro)o(w)g(format)84 1942 y Fh(SSK)g Fl(Symmetri)o(c)c(Skyline)i (format)84 2041 y Fh(NSK)h Fl(Nonsymmetric)d(Skyline)i(format)84 2140 y Fh(LNK)h Fl(Link)o(ed)g(list)f(storage)i(format)84 2239 y Fh(JAD)g Fl(The)f(Jagged)h(Diagonal)h(format)84 2338 y Fh(SSS)f Fl(The)f(Symmetric)d(Sparse)j(Skyline)f(format)84 2437 y Fh(USS)i Fl(The)f(Unsymmetri)o(c)d(Sparse)k(Skyline)e(format)84 2536 y Fh(VBR)i Fl(V)l(ariable)e(Blo)q(c)o(k)g(Ro)o(w)i(format)120 2640 y(In)h(the)g(follo)o(wing)h(sections)f(w)o(e)g(denote)g(b)o(y)g Fj(A)h Fl(the)f(matrix)f(under)h(consideration)h(and)g(b)o(y)f Fj(N)60 2700 y Fl(its)e(ro)o(w)g(dimension)f(and)i Fj(N)5 b(N)g(Z)21 b Fl(the)16 b(n)o(um)o(b)q(er)e(of)j(its)f(nonzero)g(elemen)o(ts.)p eop %%Page: 5 5 5 4 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1589 w Fl(5)60 132 y Fh(2.1.1)55 b(Compressed)18 b(Sparse)g(Ro)n(w)i(and)f(related)e (formats)h(\(CSR,)g(CSC)i(and)f(MSR\))60 224 y Fl(The)g(Compressed)g(Sparse)h (Ro)o(w)f(format)g(is)g(the)g(basic)g(format)f(used)i(in)f(SP)l(ARSKIT.)f (Its)h(data)60 284 y(structure)d(consists)h(of)f(three)g(arra)o(ys.)133 398 y Fg(\017)24 b Fl(A)15 b(real)h(arra)o(y)g Fj(A)g Fl(con)o(taining)f(the) h(real)g(v)m(alues)g Fj(a)1095 405 y Ff(ij)1141 398 y Fl(stored)g(ro)o(w)g(b) o(y)g(ro)o(w,)f(from)g(ro)o(w)h(1)h(to)f Fj(N)5 b Fl(.)182 458 y(The)16 b(length)g(of)h Fj(A)f Fl(is)g(NNZ.)133 560 y Fg(\017)24 b Fl(An)18 b(in)o(teger)g(arra)o(y)h Fj(J)5 b(A)18 b Fl(con)o(taining)g(the)h(column)e(indices)g(of)i(the)g(elemen)o(ts)d Fj(a)1679 567 y Ff(ij)1727 560 y Fl(as)k(stored)182 620 y(in)c(the)g(arra)o (y)g Fj(A)p Fl(.)21 b(The)16 b(length)g(of)h Fj(J)5 b(A)15 b Fl(is)h(NNZ.)133 722 y Fg(\017)24 b Fl(An)18 b(in)o(teger)g(arra)o(y)g Fj(I)t(A)g Fl(con)o(taining)g(the)h(p)q(oin)o(ters)f(to)h(the)f(b)q(eginning) h(of)g(eac)o(h)f(ro)o(w)h(in)f(the)182 782 y(arra)o(ys)g Fj(A)g Fl(and)h Fj(J)5 b(A)p Fl(.)26 b(Th)o(us)18 b(the)g(con)o(ten)o(t)f(of)h Fj(I)t(A)p Fl(\()p Fj(i)p Fl(\))f(is)h(the)g(p)q(osition)g(in)g(arra)o(ys)h Fj(A)e Fl(and)i Fj(J)5 b(A)182 842 y Fl(where)17 b(the)g Fj(i)p Fl(-th)g(ro)o(w)g(starts.)25 b(The)17 b(length)g(of)g Fj(I)t(A)f Fl(is)h Fj(N)g Fl(+)12 b(1)17 b(with)g Fj(I)t(A)p Fl(\()p Fj(N)f Fl(+)c(1\))17 b(con)o(taining)182 903 y(the)i(n)o(um)o(b)q(er)f Fj(I)t(A)p Fl(\(1\))13 b(+)g Fj(N)5 b(N)g(Z)t Fl(,)21 b(i.e.,)d(the)i (address)g(in)g Fj(A)f Fl(and)h Fj(J)5 b(A)19 b Fl(of)h(the)g(b)q(eginning)g (of)g(a)182 963 y(\014ctitious)c(ro)o(w)g Fj(N)h Fl(+)11 b(1.)60 1077 y(The)16 b(order)h(of)g(the)f(nonzero)g(elemen)o(ts)e(within)i(the)g (same)f(ro)o(w)i(are)f(not)h(imp)q(ortan)o(t.)k(A)16 b(v)m(ariation)60 1137 y(to)23 b(this)f(sc)o(heme)e(is)i(to)h(sort)g(the)f(elemen)o(ts)e(in)i (eac)o(h)g(ro)o(w)h(in)f(suc)o(h)g(a)h(w)o(a)o(y)f(that)h(their)f(column)60 1197 y(p)q(ositions)d(are)f(in)g(increasing)g(order.)27 b(When)18 b(this)g(sorting)g(in)g(enforced,)g(it)f(is)h(often)g(p)q(ossible)h(to)60 1257 y(mak)o(e)e(substan)o(tial)j(sa)o(vings)g(in)f(the)g(n)o(um)o(b)q(er)f (of)h(op)q(erations)i(of)e(some)g(w)o(ell-kno)o(wn)f(algorithms.)60 1318 y(The)h(Compressed)f(Sparse)i(Column)e(format)g(is)h(iden)o(tical)e (with)h(the)h(Compressed)f(Sparse)i(Ro)o(w)60 1378 y(format)15 b(except)g(that)i(the)f(columns)e(of)j Fj(A)e Fl(are)h(stored)h(instead)f(of) g(the)g(ro)o(ws.)22 b(In)15 b(other)i(w)o(ords)f(the)60 1438 y(Compressed)d(Sparse)g(Column)g(format)f(is)h(simply)e(the)i(Compressed)g (Sparse)h(Ro)o(w)f(format)g(for)g(the)60 1498 y(matrix)i Fj(A)256 1480 y Ff(T)283 1498 y Fl(.)120 1558 y(The)j(Mo)q(di\014ed)f(Sparse)i(Ro)o(w) f(\(MSR\))f(format)g(is)g(a)i(rather)e(common)f(v)m(ariation)i(of)g(the)f (Com-)60 1619 y(pressed)e(Sparse)g(Ro)o(w)g(format)f(whic)o(h)g(consists)h (of)g(k)o(eeping)e(the)i(main)e(diagonal)j(of)f Fj(A)f Fl(separately)l(.)60 1679 y(The)19 b(corresp)q(onding)i(data)f(structure)f(consists)g(of)h(a)g (real)f(arra)o(y)g Fj(A)g Fl(and)h(an)g(in)o(teger)e(arra)o(y)h Fj(J)5 b(A)p Fl(.)60 1739 y(The)18 b(\014rst)h Fj(N)k Fl(p)q(ositions)c(in)f Fj(A)g Fl(con)o(tain)g(the)g(diagonal)h(elemen)o(ts)d(of)i(the)g(matrix,)f (in)h(order.)27 b(The)60 1799 y(p)q(osition)19 b Fj(N)f Fl(+)13 b(1)19 b(of)g(the)f(arra)o(y)h Fj(A)f Fl(is)g(not)h(used.)29 b(Starting)19 b(from)e(p)q(osition)j Fj(N)e Fl(+)12 b(2,)19 b(the)g(nonzero)60 1859 y(elemen)o(ts)d(of)i Fj(A)p Fl(,)g(excluding)f(its)h (diagonal)i(elemen)o(t)o(s,)c(are)i(stored)h(ro)o(w-wise.)28 b(Corresp)q(onding)20 b(to)60 1920 y(eac)o(h)g(elemen)o(t)d Fj(A)p Fl(\()p Fj(k)r Fl(\))j(the)g(in)o(teger)f Fj(J)5 b(A)p Fl(\()p Fj(k)r Fl(\))19 b(is)i(the)f(column)e(index)i(of)g(the)g(elemen)o(t)e Fj(A)p Fl(\()p Fj(k)r Fl(\))h(in)h(the)60 1980 y(matrix)14 b Fj(A)p Fl(.)21 b(The)16 b Fj(N)h Fl(+)10 b(1)17 b(\014rst)f(p)q(ositions)h (of)g Fj(J)5 b(A)15 b Fl(con)o(tain)h(the)g(p)q(oin)o(ter)g(to)h(the)f(b)q (eginning)g(of)h(eac)o(h)60 2040 y(ro)o(w)j(in)f Fj(A)g Fl(and)h Fj(J)5 b(A)p Fl(.)30 b(The)19 b(adv)m(an)o(tage)i(of)f(this)f(storage)i(mo)q (de)d(is)h(that)h(man)o(y)e(matrices)g(ha)o(v)o(e)h(a)60 2100 y(full)f(main)g(diagonal,)i(i.e.,)d Fj(a)606 2107 y Ff(ii)650 2100 y Fg(6)p Fl(=)h(0)p Fj(;)8 b(i)19 b Fl(=)f(1)p Fj(;)8 b(:)g(:)g(:)g(;)g(N)d Fl(,)19 b(and)g(this)g(diagonal)h(is)f(b)q(est)g (represen)o(ted)f(b)o(y)60 2160 y(an)h(arra)o(y)g(of)g(length)f Fj(N)5 b Fl(.)29 b(This)18 b(storage)i(mo)q(de)e(is)g(particularly)g(useful)g (for)h(triangular)g(matrices)60 2221 y(with)f(non-unit)h(diagonals.)27 b(Often)18 b(the)g(diagonal)h(is)f(then)g(stored)g(in)g(in)o(v)o(erted)e (form)h(\(i.e.)26 b(1)p Fj(=a)1894 2228 y Ff(ii)60 2281 y Fl(is)15 b(stored)g(in)g(place)f(of)i Fj(a)513 2288 y Ff(ii)538 2281 y Fl(\))f(b)q(ecause)h(triangular)f(systems)f(are)h(often)g(solv)o(ed)f(rep)q (eatedly)g(with)h(the)60 2341 y(same)i(matrix)f(man)o(y)g(times,)g(as)j(is)e (the)h(case)g(for)g(example)d(in)j(preconditioned)f(Conjugate)i(Gra-)60 2401 y(dien)o(t)d(metho)q(ds.)22 b(The)16 b(column)f(orien)o(ted)h(analogue)i (of)f(the)f(MSR)g(format,)g(called)g(MSC)g(format,)60 2461 y(is)f(also)h(used)g(in)f(some)g(of)h(the)f(other)h(mo)q(dules,)e(but)i(no)g (transformation)f(to/from)g(it)g(to)h(the)f(CSC)60 2522 y(format)h(is)h (necessary:)23 b(for)18 b(example)d(to)i(pass)h(from)e(CSC)i(to)g(MSC)f(one)g (can)h(use)f(the)g(routine)g(to)60 2582 y(pass)k(from)d(the)i(CSR)g(to)g(the) g(MSR)f(formats,)h(since)f(the)h(data)g(structures)g(are)g(iden)o(tical.)30 b(The)60 2642 y(ab)q(o)o(v)o(e)16 b(three)g(storage)h(mo)q(des)f(are)g(used)g (in)g(man)o(y)f(w)o(ell-kno)o(wn)g(pac)o(k)m(ages.)p eop %%Page: 6 6 6 5 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1589 w Fl(6)60 132 y Fh(2.1.2)55 b(The)19 b(banded)g(Linpac)n(k)f(format)f(\(BND\))60 224 y Fl(Banded)h(matrices)d(represen)o(t)i(the)h(simplest)d(form)i(of)h (sparse)g(matrices)e(and)i(they)g(often)f(con)o(v)o(ey)60 284 y(the)e(easiest)g(w)o(a)o(y)f(of)i(exploiting)e(sparsit)o(y)l(.)21 b(There)14 b(are)h(man)o(y)f(w)o(a)o(ys)h(of)g(storing)h(a)g(banded)f (matrix.)60 344 y(The)f(one)g(w)o(e)f(adopted)i(here)e(follo)o(ws)g(the)h (data)h(structure)e(used)h(in)f(the)h(Linpac)o(k)f(banded)i(solution)60 404 y(routines.)24 b(Our)18 b(motiv)m(ation)e(is)h(that)h(one)g(can)f(easily) g(tak)o(e)f(adv)m(an)o(tage)j(of)e(this)h(widely)e(a)o(v)m(ailable)60 465 y(pac)o(k)m(age)h(if)f(the)h(matrices)e(are)i(banded.)23 b(F)l(or)17 b(fairly)f(small)f(matrices)g(\(sa)o(y)l(,)h Fj(N)k(<)15 b Fl(2000)j(on)f(sup)q(er-)60 529 y(computers,)f Fj(N)22 b(<)16 b Fl(200)j(on)f(fast)h(w)o(orkstations,)f(and)g(with)g(a)g(bandwidth)g(of)g Fj(O)q Fl(\()p Fj(N)1642 497 y Fe(1)p 1642 503 16 2 v 1642 524 a(2)1664 529 y Fl(\)\),)g(this)g(ma)o(y)60 589 y(represen)o(t)g(a)g (viable)g(and)h(simple)d(w)o(a)o(y)j(of)f(solving)h(linear)f(systems.)26 b(One)19 b(m)o(ust)e(\014rst)h(transform)60 650 y(the)d(initial)g(data)h (structure)f(in)o(to)h(the)f(banded)h(Linpac)o(k)g(format)e(and)j(then)e (call)g(the)g(appropriate)60 710 y(band)k(solv)o(er.)27 b(F)l(or)18 b(large)h(problems)e(it)h(is)g(clear)g(that)h(a)f(b)q(etter)g(alternativ)o(e) f(w)o(ould)i(b)q(e)f(to)h(use)g(a)60 770 y(sparse)i(solv)o(er)f(suc)o(h)g(as) h(MA28,)g(whic)o(h)f(requires)f(the)h(input)g(matrix)f(to)i(b)q(e)f(in)g(the) g(co)q(ordinate)60 830 y(format.)120 890 y(In)14 b(the)g(BND)g(format)f(the)h (nonzero)h(elemen)o(ts)c(of)k Fj(A)f Fl(are)g(stored)h(in)f(a)g(rectangular)h (arra)o(y)f Fj(AB)s(D)60 951 y Fl(with)22 b(the)h(nonzero)g(elemen)o(ts)c(of) k(the)g Fj(j)s Fl(-th)g(column)e(b)q(eing)h(stored)h(in)g(the)f Fj(j)c Fg(\000)d Fj(th)23 b Fl(column)e(of)60 1011 y Fj(AB)s(D)q Fl(.)30 b(W)l(e)19 b(also)h(need)f(to)h(kno)o(w)f(the)g(n)o(um)o(b)q(er)f Fj(M)5 b(L)20 b Fl(of)f(diagonals)i(b)q(elo)o(w)e(the)g(main)f(diagonals)60 1071 y(and)f(the)g(n)o(um)o(b)q(er)d Fj(M)5 b(U)23 b Fl(of)17 b(diagonals)g(ab)q(o)o(v)o(e)g(the)f(main)g(diagonals.)23 b(Th)o(us)17 b(the)f(bandwidth)i(of)e Fj(A)60 1131 y Fl(is)j Fj(M)5 b(L)14 b Fl(+)f Fj(M)5 b(U)18 b Fl(+)c(1)19 b(whic)o(h)g(is)g(the)g(minim)n(um)c(n)o (um)o(b)q(er)i(of)j(ro)o(ws)f(required)f(in)h(the)g(arra)o(y)g Fj(AB)s(D)q Fl(.)60 1191 y(An)e(additional)h(in)o(teger)f(parameter)f(is)i (needed)e(to)j(indicate)d(whic)o(h)h(ro)o(w)h(of)g Fj(AB)s(D)h Fl(con)o(tains)e(the)60 1252 y(lo)o(w)o(est)f(diagonal.)60 1381 y Fh(2.1.3)55 b(The)19 b(co)r(ordinate)e(format)h(\(COO\))60 1474 y Fl(The)g(co)q(ordinate)h(format)f(is)g(certainly)f(the)h(simplest)e (storage)j(sc)o(heme)d(for)j(sparse)g(matrices.)25 b(It)60 1534 y(consists)17 b(of)f(three)g(arra)o(ys:)21 b(a)c(real)f(arra)o(y)g(of)h (size)e Fj(N)5 b(N)g(Z)21 b Fl(con)o(taining)16 b(the)g(real)g(v)m(alues)g (of)h(nonzero)60 1594 y(elemen)o(ts)e(of)j Fj(A)f Fl(in)g(an)o(y)h(order,)g (an)g(in)o(teger)f(arra)o(y)g(con)o(taining)h(their)f(ro)o(w)h(indices)e(and) j(a)f(second)60 1654 y(in)o(teger)c(arra)o(y)g(con)o(taining)h(their)f (column)f(indices.)19 b(Note)14 b(that)h(this)g(sc)o(heme)d(is)i(as)i (general)e(as)h(the)60 1715 y(CSR)20 b(format,)f(but)h(from)f(the)g(p)q(oin)o (t)h(of)g(view)f(of)h(memory)d(requiremen)o(t)f(it)j(is)h(not)g(as)h (e\016cien)o(t.)60 1775 y(On)d(the)g(other)g(hand)h(it)e(is)h(attractiv)o(e)f (b)q(ecause)h(of)g(its)g(simplicit)o(y)c(and)19 b(the)f(fact)g(that)g(it)f (is)h(v)o(ery)60 1835 y(commonly)i(used.)43 b(Inciden)o(tally)l(,)22 b(w)o(e)h(should)h(men)o(tion)d(a)j(v)m(ariation)f(to)h(this)f(mo)q(de)g (whic)o(h)f(is)60 1895 y(p)q(erhaps)17 b(the)g(most)e(economical)g(in)h (terms)f(of)i(memory)d(usage.)22 b(The)17 b(mo)q(di\014ed)e(v)o(ersion)h (requires)60 1955 y(only)f(a)h(real)f(arra)o(y)h Fj(A)f Fl(con)o(taining)g (the)h(real)f(v)m(alues)g Fj(a)1063 1962 y Ff(ij)1109 1955 y Fl(along)h(with)f(only)h(one)f(in)o(teger)g(arra)o(y)h(that)60 2016 y(con)o(tains)e(the)g(in)o(teger)f(v)m(alues)h(\()p Fj(i)7 b Fg(\000)g Fl(1\))p Fj(N)12 b Fl(+)7 b Fj(j)16 b Fl(for)f(eac)o(h)e(corresp) q(onding)j(nonzero)e(elemen)o(t)d Fj(a)1772 2023 y Ff(ij)1802 2016 y Fl(.)20 b(It)14 b(is)60 2076 y(clear)f(that)i(this)f(is)f(an)i(unam)o (biguous)f(represen)o(tation)f(of)h(all)g(the)g(nonzero)g(elemen)o(ts)d(of)j Fj(A)p Fl(.)20 b(There)60 2136 y(are)d(t)o(w)o(o)g(dra)o(wbac)o(ks)h(to)f (this)g(sc)o(heme.)22 b(First,)17 b(it)g(requires)f(some)g(in)o(teger)g (arithmetic)f(to)j(extract)60 2196 y(the)h(column)f(and)j(ro)o(w)f(indices)e (of)i(eac)o(h)f(elemen)o(t)e(when)j(they)f(are)g(needed.)31 b(Second,)20 b(for)g(large)60 2256 y(matrices)13 b(it)i(ma)o(y)f(lead)h(to)h (in)o(teger)e(o)o(v)o(er\015o)o(w)h(b)q(ecause)g(of)h(the)f(need)f(to)i(deal) f(with)g(in)o(tegers)g(whic)o(h)60 2316 y(ma)o(y)e(b)q(e)i(v)o(ery)e(large)h (\(of)h(the)f(order)h(of)g Fj(N)830 2298 y Fd(2)850 2316 y Fl(\).)20 b(Because)14 b(of)h(these)f(t)o(w)o(o)g(dra)o(wbac)o(ks)h(this)f (sc)o(heme)e(has)60 2377 y(seldom)j(b)q(een)h(used)g(in)g(practice.)60 2507 y Fh(2.1.4)55 b(The)19 b(diagonal)f(format)g(\(DIA\))60 2599 y Fl(The)k(matrices)e(that)j(arise)f(in)f(man)o(y)g(applications)h (often)g(consist)g(of)h(a)f(few)g(diagonals.)40 b(This)60 2659 y(structure)18 b(has)g(probably)g(b)q(een)g(the)g(\014rst)g(one)g(to)g(b)q(e) g(exploited)f(for)h(the)g(purp)q(ose)h(of)f(impro)o(ving)p eop %%Page: 7 7 7 6 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1589 w Fl(7)60 132 y(p)q(erformance)16 b(of)i(matrix)e(b)o(y)g(v)o(ector)h(pro)q(ducts)h(on) g(sup)q(ercomputers,)e(see)h(references)f(in)h([9].)24 b(T)l(o)60 192 y(store)17 b(these)e(matrices)g(w)o(e)h(ma)o(y)e(store)j(the)f(diagonals) h(in)f(a)h(rectangular)f(arra)o(y)h Fj(D)q(I)t(AG)p Fl(\(1)d(:)g Fj(N)r(;)8 b Fl(1)14 b(:)60 252 y Fj(N)5 b(D)q(I)t(AG)p Fl(\))17 b(where)e Fj(N)5 b(D)q(I)t(AG)17 b Fl(is)f(the)f(n)o(um)o(b)q(er)g(of)h (diagonals.)22 b(W)l(e)16 b(also)g(need)g(to)g(kno)o(w)g(the)g(o\013sets)60 312 y(of)i(eac)o(h)f(of)i(the)e(diagonals)i(with)f(resp)q(ect)f(to)h(the)g (main)f(diagonal.)26 b(These)18 b(will)f(b)q(e)h(stored)g(in)g(an)60 372 y(arra)o(y)h Fj(I)t(O)q(F)7 b(F)g Fl(\(1)19 b(:)f Fj(N)5 b(D)q(I)t(AG)p Fl(\).)32 b(Th)o(us,)20 b(in)f(p)q(osition)h(\()p Fj(i;)8 b(k)r Fl(\))19 b(of)g(the)g(arra)o(y)h Fj(D)q(I)t(AG)g Fl(is)f(lo)q(cated)g(the)60 432 y(elemen)o(t)11 b Fj(a)264 440 y Ff(i;i)p Fd(+)p Ff(iof)t(f)t Fd(\()p Ff(k)q Fd(\))458 432 y Fl(of)k(the)f(original)g(matrix.)19 b(The)14 b(order)h(in)f(whic)o(h)f (the)h(diagonals)h(are)g(stored)f(in)60 493 y(the)h(columns)f(of)i Fj(D)q(I)t(AG)g Fl(is)f(unimp)q(ortan)o(t.)20 b(Note)15 b(also)h(that)g(all)f (the)g(diagonals)i(except)d(the)h(main)60 553 y(diagonal)j(ha)o(v)o(e)f(few)o (er)f(than)i Fj(N)23 b Fl(elemen)o(ts,)14 b(so)k(there)f(are)g(p)q(ositions)h (in)f Fj(D)q(I)t(AG)h Fl(that)g(will)e(not)i(b)q(e)60 613 y(used.)120 673 y(In)13 b(man)o(y)f(applications)h(there)g(is)g(a)g(small)f(n)o(um)o(b)q (er)g(of)h(non-empt)o(y)f(diagonals)i(and)g(this)f(sc)o(heme)60 733 y(is)19 b(enough.)29 b(In)19 b(general)f(ho)o(w)o(ev)o(er,)g(it)g(ma)o(y) g(b)q(e)h(desirable)f(to)h(supplemen)o(t)d(this)j(data)h(structure,)60 794 y(e.g.,)e(b)o(y)g(a)h(compressed)f(sparse)h(ro)o(w)g(format.)28 b(A)18 b(general)g(matrix)f(is)i(therefore)f(represen)o(ted)f(as)60 854 y(the)i(sum)f(of)h(a)g(diagonal-structured)h(matrix)d(and)j(a)f(general)g (sparse)g(matrix.)28 b(The)19 b(con)o(v)o(ersion)60 914 y(routine)14 b(CSRDIA)g(whic)o(h)g(con)o(v)o(erts)f(from)g(the)h(compressed)f(sparse)i(ro) o(w)g(format)e(to)i(the)f(diagonal)60 974 y(format)h(has)h(an)g(option)g(to)g (this)f(e\013ect.)21 b(If)15 b(the)g(user)h(w)o(an)o(ts)f(to)h(con)o(v)o(ert) e(a)i(general)g(sparse)g(matrix)60 1034 y(to)e(one)g(with,)f(sa)o(y)l(,)h(5)g (diagonals,)h(and)f(if)f(the)h(input)f(matrix)f(has)i(more)f(than)h(5)g (diagonals,)h(the)e(rest)60 1095 y(of)k(the)g(matrix)e(\(after)h(extraction)g (of)i(the)e(5)h(desired)f(diagonals\))i(will)e(b)q(e)h(put,)f(if)g(desired,)g (in)o(to)h(a)60 1155 y(matrix)c(in)i(the)g(CSR)h(format.)k(In)15 b(addition,)g(the)g(co)q(de)g(ma)o(y)f(also)i(compute)e(the)g(most)h(imp)q (ortan)o(t)60 1215 y(5)f(diagonals)g(if)f(w)o(an)o(ted,)h(or)f(it)g(can)h (get)g(those)f(indicated)g(b)o(y)g(the)g(user)g(through)i(the)e(arra)o(y)h Fj(I)t(O)q(F)7 b(F)g Fl(.)60 1345 y Fh(2.1.5)55 b(The)19 b(Ellpac)n(k-Itpac)n (k)e(format)h(\(ELL\))60 1437 y Fl(The)g(Ellpac)o(k-Itpac)o(k)e(format)h([6,) h(11,)g(5])g(is)f(a)i(generalization)e(of)h(the)g(diagonal)g(storage)h(sc)o (heme)60 1497 y(whic)o(h)13 b(is)h(in)o(tended)f(for)i(general)e(sparse)i (matrices)d(with)i(a)h(limited)c(maxim)n(um)f(n)o(um)o(b)q(er)i(of)j(nonze-) 60 1558 y(ros)21 b(p)q(er)g(ro)o(w.)35 b(Tw)o(o)21 b(rectangular)g(arra)o(ys) g(of)g(the)g(same)e(size)h(are)h(required,)f(one)h(real)g(and)g(one)60 1618 y(in)o(teger.)32 b(The)21 b(\014rst,)g Fj(C)t(O)q(E)s(F)7 b Fl(,)20 b(is)h(similar)d(to)i Fj(D)q(I)t(AG)h Fl(and)g(con)o(tains)f(the)h (nonzero)f(elemen)o(ts)e(of)60 1678 y Fj(A)p Fl(.)44 b(Assuming)23 b(that)h(there)g(are)g(at)g(most)f Fj(N)5 b(D)q(I)t(AG)25 b Fl(nonzero)f(elemen)o(ts)d(in)j(eac)o(h)f(ro)o(w)i(of)f Fj(A)p Fl(,)60 1738 y(w)o(e)f(can)g(store)g(the)g(nonzero)g(elemen)o(ts)e(of)i(eac)o (h)f(ro)o(w)i(of)f(the)g(matrix)e(in)i(a)g(ro)o(w)h(of)f(the)g(arra)o(y)60 1798 y Fj(C)t(O)q(E)s(F)7 b Fl(\(1)21 b(:)g Fj(N)r(;)8 b Fl(1)22 b(:)f Fj(N)5 b(D)q(I)t(AG)p Fl(\))21 b(completing)e(the)h(ro)o(w)h(b)o(y)f (zeros)h(if)f(necessary)l(.)34 b(T)l(ogether)21 b(with)60 1859 y Fj(C)t(O)q(E)s(F)k Fl(w)o(e)17 b(need)h(to)h(store)f(an)h(in)o(teger)e (arra)o(y)h Fj(J)5 b(C)t(O)q(E)s(F)i Fl(\(1)17 b(:)f Fj(N)r(;)8 b Fl(1)18 b(:)f Fj(N)5 b(D)q(I)t(AG)p Fl(\))18 b(whic)o(h)g(con)o(tains)60 1919 y(the)e(column)f(p)q(ositions)i(of)f(eac)o(h)g(en)o(try)f(in)h Fj(C)t(O)q(E)s(F)7 b Fl(.)60 2049 y Fh(2.1.6)55 b(The)19 b(Blo)r(c)n(k)e (Sparse)i(Ro)n(w)g(format)f(\(BSR\))60 2141 y Fl(Blo)q(c)o(k)12 b(matrices)e(are)j(common)d(in)j(all)f(areas)h(of)g(scien)o(ti\014c)e (computing.)19 b(The)12 b(b)q(est)h(w)o(a)o(y)g(to)g(describ)q(e)60 2201 y(blo)q(c)o(k)k(matrices)e(is)j(b)o(y)e(viewing)h(them)f(as)i(sparse)g (matrices)d(whose)k(nonzero)e(en)o(tries)f(are)i(square)60 2261 y(dense)12 b(blo)q(c)o(ks.)19 b(Blo)q(c)o(k)11 b(matrices)f(arise)i (from)f(the)g(discretization)g(of)h(partial)g(di\013eren)o(tial)f(equations) 60 2322 y(when)17 b(there)f(are)h(sev)o(eral)f(degrees)g(of)h(freedom)f(p)q (er)h(grid)f(p)q(oin)o(t.)23 b(There)17 b(are)g(restrictions)f(to)h(this)60 2382 y(sc)o(heme.)h(Eac)o(h)d(of)g(the)f(blo)q(c)o(ks)g(is)g(treated)h(as)g (a)g(dense)f(blo)q(c)o(k.)20 b(If)14 b(there)g(are)h(zero)f(elemen)o(ts)e (within)60 2442 y(eac)o(h)k(blo)q(c)o(k)f(they)h(m)o(ust)f(b)q(e)h(treated)g (as)h(nonzero)g(elemen)o(ts)c(with)j(the)g(v)m(alue)g(zero.)120 2502 y(There)23 b(are)h(sev)o(eral)e(v)m(ariations)i(to)g(the)f(metho)q(d)g (used)h(for)f(storing)h(sparse)h(matrices)c(with)60 2562 y(blo)q(c)o(k)f (structure.)35 b(The)21 b(one)h(considered)e(here,)h(the)g(Blo)q(c)o(k)f (Sparse)h(Ro)o(w)g(format,)g(is)g(a)g(simple)60 2623 y(generalization)16 b(of)g(the)g(Compressed)g(Sparse)g(Ro)o(w)h(format.)p eop %%Page: 8 8 8 7 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1589 w Fl(8)120 132 y(W)l(e)19 b(denote)f(here)h(b)o(y)f Fj(N)5 b(B)s(LK)23 b Fl(the)c(dimension)e(of)i(eac)o(h)f(blo)q(c)o(k,)h(b)o(y)f Fj(N)5 b(N)g(Z)t(R)20 b Fl(the)f(n)o(um)o(b)q(er)e(of)60 192 y(nonzero)f(blo)q(c)o(ks)f(in)g Fj(A)g Fl(\(i.e.,)e Fj(N)5 b(N)g(Z)t(R)15 b Fl(=)f Fj(N)5 b(N)g(Z)q(=)p Fl(\()p Fj(N)g(B)s(LK)1162 174 y Fd(2)1183 192 y Fl(\)\))15 b(and)h(b)o(y)f Fj(N)5 b(R)17 b Fl(the)e(blo)q(c)o(k)g(dimension)60 252 y(of)h Fj(A)p Fl(,)f(\(i.e.,)e Fj(N)5 b(R)15 b Fl(=)f Fj(N)q(=)m(N)5 b(B)s(LK)t Fl(\),)16 b(the)f(letter)g Fj(R)h Fl(standing)g(for)g(`reduced'.)k(Lik)o(e)14 b(the)i(Compressed)60 312 y(Sparse)21 b(Ro)o(w)f(format)f(w)o(e)h(need)g (three)f(arra)o(ys.)33 b(A)20 b(rectangular)g(real)g(arra)o(y)g Fj(A)p Fl(\(1)h(:)f Fj(N)5 b(N)g(Z)t(R;)j Fl(1)21 b(:)60 372 y Fj(N)5 b(B)s(LK)q(;)j Fl(1)24 b(:)e Fj(N)5 b(B)s(LK)t Fl(\))22 b(con)o(tains)g(the)f(nonzero)h(blo)q(c)o(ks)g(listed)e(\(blo)q(c)o(k\)-ro)o (w-wise.)38 b(Asso)q(ciated)60 432 y(with)18 b(this)f(real)g(arra)o(y)h(is)g (an)g(in)o(teger)e(arra)o(y)i Fj(J)5 b(A)p Fl(\(1)16 b(:)g Fj(N)5 b(N)g(Z)t(R)p Fl(\))18 b(whic)o(h)f(holds)h(the)g(actual)g(column)60 493 y(p)q(ositions)e(in)f(the)f(original)h(matrix)f(of)h(the)g(\(1)p Fj(;)8 b Fl(1\))15 b(elemen)o(ts)e(of)i(the)g(nonzero)g(blo)q(c)o(ks.)21 b(Finally)l(,)13 b(the)60 553 y(p)q(oin)o(ter)j(arra)o(y)g Fj(I)t(A)p Fl(\(1)e(:)f Fj(N)5 b(R)12 b Fl(+)f(1\))16 b(p)q(oin)o(ts)h(to)g (the)f(b)q(eginning)g(of)h(eac)o(h)e(blo)q(c)o(k)h(ro)o(w)h(in)f Fj(A)f Fl(and)i Fj(J)5 b(A)p Fl(.)120 613 y(The)18 b(sa)o(vings)h(in)f (memory)e(and)j(in)f(the)g(use)h(of)g(indirect)e(addressing)i(with)f(this)h (sc)o(heme)d(o)o(v)o(er)60 673 y(Compressed)g(Sparse)g(Ro)o(w)h(can)f(b)q(e)g (substan)o(tial)h(for)f(large)h(v)m(alues)f(of)g Fj(N)5 b(B)s(LK)t Fl(.)60 803 y Fh(2.1.7)55 b(The)19 b(Symme)o(tric)c(Skyline)i(format)g (\(SSK\))60 895 y Fl(A)h(skyline)f(matrix)g(is)h(often)h(referred)f(to)g(as)i (a)f(v)m(ariable)f(band)h(matrix)e(or)i(a)g(pro\014le)f(matrix)f([3].)60 956 y(The)f(main)e(attraction)j(of)f(skyline)e(matrices)g(is)i(that)g(when)g (piv)o(oting)f(is)h(not)g(necessary)g(then)f(the)60 1016 y(skyline)h (structure)g(of)i(the)f(matrix)e(is)i(preserv)o(ed)f(during)h(Gaussian)h (elimination.)j(If)c(the)g(matrix)60 1076 y(is)22 b(symmetri)o(c)d(w)o(e)i (only)h(need)g(to)g(store)g(its)g(lo)o(w)o(er)f(triangular)h(part.)39 b(This)22 b(is)g(a)g(collection)f(of)60 1136 y(ro)o(ws)d(whose)h(length)f(v)m (aries.)26 b(A)18 b(simple)e(metho)q(d)h(used)h(to)h(store)f(a)g(Symmetric)c (Skyline)j(matrix)60 1196 y(is)24 b(to)h(place)e(all)h(the)g(ro)o(ws)h(in)f (order)g(from)g(1)g(to)h Fj(N)30 b Fl(in)23 b(a)i(real)f(arra)o(y)g Fj(A)g Fl(and)h(then)f(k)o(eep)g(an)60 1257 y(in)o(teger)13 b(arra)o(y)i(whic)o(h)e(holds)i(the)f(p)q(oin)o(ters)h(to)f(the)g(b)q (eginning)h(of)g(eac)o(h)f(ro)o(w,)g(see)g([2].)20 b(The)15 b(column)60 1317 y(p)q(ositions)21 b(of)f(the)g(nonzero)g(elemen)o(ts)d (stored)k(in)e Fj(A)h Fl(can)g(easily)f(b)q(e)i(deriv)o(ed)d(and)j(are)f (therefore)60 1377 y(not)h(needed.)35 b(Ho)o(w)o(ev)o(er,)19 b(there)h(are)h(sev)o(eral)f(v)m(ariations)h(to)h(this)e(sc)o(heme)f(that)i (are)g(commonly)60 1437 y(used)e(is)g(commercial)d(soft)o(w)o(are)j(pac)o(k)m (ages.)31 b(F)l(or)19 b(example,)e(w)o(e)i(found)h(that)f(in)g(man)o(y)f (instances)60 1497 y(the)h(p)q(oin)o(ter)g(is)h(to)f(the)h(diagonal)g(elemen) o(t)c(rather)k(than)g(to)g(the)f(\014rst)h(elemen)o(t)c(in)j(the)g(ro)o(w.)31 b(In)60 1558 y(some)17 b(cases)i(\(e.g.,)e(IBM's)g(ISSL)h(library\))g(b)q (oth)h(are)f(supp)q(orted.)28 b(Giv)o(en)17 b(that)i(these)e(v)m(ariations)60 1618 y(are)f(commonly)e(used)i(it)g(is)g(a)h(go)q(o)q(d)h(idea)e(to)g(pro)o (vide)g(at)g(least)g(a)h(few)f(of)h(them.)60 1748 y Fh(2.1.8)55 b(The)19 b(Non)f(Symmetri)o(c)e(Skyline)h(format)g(\(NSK\))60 1840 y Fl(Conceptually)l(,)e(the)h(data)h(structure)f(of)g(a)h(nonsymmetric)c (skyline)i(matrix)f(consists)j(of)f(t)o(w)o(o)g(sub-)60 1900 y(structures.)32 b(The)20 b(\014rst)h(consists)f(of)g(the)g(lo)o(w)o(er)f (part)i(of)f Fj(A)g Fl(stored)g(in)g(skyline)e(format)i(and)g(the)60 1960 y(second)d(of)f(its)h(upp)q(er)f(triangular)h(part)g(stored)g(in)f(a)h (column)e(orien)o(ted)g(skyline)g(format)h(\(i.e.,)e(the)60 2021 y(transp)q(ose)20 b(is)e(stored)g(in)g(standard)i(ro)o(w)e(skyline)f(mo) q(de\).)26 b(Sev)o(eral)17 b(w)o(a)o(ys)h(of)h(putting)f(these)g(sub-)60 2081 y(structures)e(together)h(ma)o(y)d(b)q(e)j(used)f(and)h(there)e(are)i (no)f(comp)q(elling)f(reasons)i(for)f(preferring)g(one)60 2141 y(strategy)g(o)o(v)o(er)f(another)h(one.)21 b(One)15 b(p)q(ossibilit)o(y)g (is)g(to)h(use)g(t)o(w)o(o)f(separate)h(arra)o(ys)g Fj(AL)f Fl(and)h Fj(AU)21 b Fl(for)60 2201 y(the)14 b(lo)o(w)o(er)g(part)g(and)h(upp) q(er)g(part)g(resp)q(ectiv)o(ely)l(,)c(with)k(the)f(diagonal)h(elemen)o(t)c (in)j(the)g(upp)q(er)h(part.)60 2261 y(The)h(data)h(structures)g(for)f(eac)o (h)g(of)g(t)o(w)o(o)g(parts)h(is)f(similar)f(to)h(that)h(used)f(for)h(the)f (SSK)g(storage.)60 2391 y Fh(2.1.9)55 b(The)19 b(link)n(ed)e(list)h(storage)g (format)g(\(LNK\))60 2484 y Fl(This)13 b(is)g(one)h(of)f(the)g(oldest)h(data) g(structures)f(used)g(for)h(sparse)g(matrix)d(computations.)20 b(It)13 b(consists)60 2544 y(of)k(four)g(arra)o(ys:)k Fj(A)p Fl(,)16 b Fj(J)5 b(C)t(O)q(L)p Fl(,)16 b Fj(LI)t(N)5 b(K)20 b Fl(and)d Fj(J)5 b(S)s(T)i(ART)g Fl(.)20 b(The)d(arra)o(ys)g Fj(A)f Fl(and)h Fj(J)5 b(C)t(O)q(L)16 b Fl(con)o(tain)g(the)60 2604 y(nonzero)d(elemen)o(ts)e(and)i(their)g(corresp)q(onding)h(column)d (indices)h(resp)q(ectiv)o(ely)l(.)18 b(The)13 b(in)o(teger)f(arra)o(y)60 2664 y Fj(LI)t(N)5 b(K)19 b Fl(is)c(the)g(usual)g(link)f(p)q(oin)o(ter)h (arra)o(y)g(in)g(link)o(ed)e(list)i(data)h(structures:)k Fj(LI)t(N)5 b(K)t Fl(\()p Fj(k)r Fl(\))15 b(p)q(oin)o(ts)h(to)p eop %%Page: 9 9 9 8 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1589 w Fl(9)60 132 y(the)15 b(p)q(osition)h(of)g(the)f(nonzero)h(elemen)o(t)d(next)i(to)h Fj(A)p Fl(\()p Fj(k)r Fl(\))p Fj(;)8 b(J)d(C)t(O)q(L)p Fl(\()p Fj(k)r Fl(\))14 b(in)i(the)f(same)f(ro)o(w.)21 b(Note)16 b(that)60 192 y(the)d(order)h(of)g(the)g(elemen)o(ts)c(within)k(eac)o(h)f(ro)o(w)h(is)f (unimp)q(ortan)o(t.)20 b(If)13 b Fj(LI)t(N)5 b(K)t Fl(\()p Fj(k)r Fl(\))14 b(=)g(0)g(then)f(there)g(is)60 252 y(no)18 b(next)e(elemen)o(t,)e(i.e.,)h Fj(A)p Fl(\()p Fj(k)r Fl(\))p Fj(;)8 b(J)d(C)t(O)q(L)p Fl(\()p Fj(k)r Fl(\))17 b(is)g(the)g(last)g(elemen)o (t)d(of)j(the)g(ro)o(w.)24 b(Finally)l(,)16 b Fj(I)t(S)s(T)7 b(ART)60 312 y Fl(p)q(oin)o(ts)15 b(to)g(the)f(\014rst)h(elemen)o(t)c(of)k (eac)o(h)f(ro)o(w)h(in)f(in)h(the)f(previous)g(arra)o(ys.)21 b(Th)o(us,)15 b Fj(k)h Fl(=)e Fj(I)t(S)s(T)7 b(ART)g Fl(\(1\))60 372 y(p)q(oin)o(ts)23 b(to)g(the)g(\014rst)g(elemen)o(t)d(of)j(the)f(\014rst) h(ro)o(w,)h(in)f Fj(A;)8 b(I)t(C)t(O)q(L)p Fl(,)23 b Fj(I)t(S)s(T)7 b(ART)g Fl(\(2\))21 b(to)i(the)g(second)60 432 y(elemen)o(t,)13 b(etc..)20 b(As)c(a)h(con)o(v)o(en)o(tion)d Fj(I)t(S)s(T)7 b(ART)g Fl(\()p Fj(i)p Fl(\))12 b(=)i(0,)i(means)f(that)i(the)f Fj(i)p Fl(-th)g(ro)o(w)h(is)f(empt)o(y)l(.)60 562 y Fh(2.1.10)55 b(The)19 b(Jagged)f(Diagonal)h(format)e(\(JAD\))60 655 y Fl(This)j(storage)g (mo)q(de)e(is)i(v)o(ery)e(useful)h(for)g(the)h(e\016cien)o(t)d(implem)o(en)o (tati)o(on)g(of)j(iterativ)o(e)e(metho)q(ds)60 715 y(on)f(parallel)f(and)h(v) o(ector)e(pro)q(cessors)j([9].)j(Starting)c(from)e(the)h(CSR)h(format,)e(the) i(idea)f(is)g(to)h(\014rst)60 775 y(reorder)11 b(the)h(ro)o(ws)g(of)g(the)f (matrix)f(decreasingly)g(according)i(to)g(their)f(n)o(um)o(b)q(er)f(of)i (nonzeros)g(en)o(tries.)60 835 y(Then,)k(a)g(new)g(data)h(structure)e(is)h (built)f(b)o(y)h(constructing)g(what)h(w)o(e)e(call)g(\\jagged)i(diagonals")h (\(j-)60 895 y(diagonals\).)24 b(W)l(e)16 b(store)h(as)g(a)g(dense)g(v)o (ector,)e(the)h(v)o(ector)g(consisting)h(of)g(all)f(the)h(\014rst)g(elemen)n (ts)d(in)60 956 y Fj(A;)8 b(J)d(A)12 b Fl(from)h(eac)o(h)h(ro)o(w,)g (together)g(with)g(an)g(in)o(teger)f(v)o(ector)g(con)o(taining)h(the)g (column)e(p)q(ositions)j(of)60 1016 y(the)f(corresp)q(onding)h(elemen)o(ts.)i (This)d(is)g(follo)o(w)o(ed)f(b)o(y)g(the)h(second)g(jagged)h(diagonal)g (consisting)f(of)60 1076 y(the)i(elemen)o(ts)d(in)j(the)g(second)g(p)q (ositions)h(from)e(the)h(left.)k(As)c(w)o(e)g(build)g(more)e(and)j(more)e(of) h(these)60 1136 y(diagonals,)i(their)f(length)g(decreases.)25 b(The)17 b(n)o(um)o(b)q(er)f(of)i(j-diagonals)h(is)e(equal)g(to)h(the)f(n)o (um)o(b)q(er)f(of)60 1196 y(nonzero)d(elemen)o(ts)d(of)j(the)f(\014rst)h(ro)o (w,)h(i.e.,)d(to)i(the)g(largest)f(n)o(um)o(b)q(er)f(of)i(nonzero)g(elemen)o (ts)d(p)q(er)j(ro)o(w.)60 1257 y(The)j(data)h(structure)e(to)h(represen)o(t)f (a)i(general)e(matrix)f(in)i(this)g(form)f(consists,)h(b)q(efore)f(an)o (ything,)60 1317 y(of)g(the)g(p)q(erm)o(utation)e(arra)o(y)i(whic)o(h)f (reorders)h(the)f(ro)o(ws.)22 b(Then)15 b(the)f(real)g(arra)o(y)h Fj(A)g Fl(con)o(taining)f(the)60 1377 y(jagged)j(diagonals)h(in)e(succession) g(and)h(the)f(arra)o(y)h Fj(J)5 b(A)15 b Fl(of)i(the)f(corresp)q(onding)h (column)e(p)q(ositions)60 1437 y(are)e(stored,)g(together)f(with)h(a)g(p)q (oin)o(ter)f(arra)o(y)h Fj(I)t(A)e Fl(whic)o(h)h(p)q(oin)o(ts)h(to)g(the)f(b) q(eginning)h(of)g(eac)o(h)f(jagged)60 1497 y(diagonal)18 b(in)g(the)f(arra)o (ys)h Fj(A;)8 b(J)d(A)p Fl(.)24 b(The)17 b(adv)m(an)o(tage)i(of)f(this)f(sc)o (heme)e(for)j(matrix)e(m)o(ultiplic)o(ations)60 1558 y(has)h(b)q(een)f (illustrated)f(in)h([9])g(and)h(in)f([1])g(in)f(the)h(con)o(text)g(of)g (triangular)h(system)e(solutions.)60 1687 y Fh(2.1.11)55 b(The)15 b(Symmetr)o(ic)d(and)k(Unsymme)o(tric)c(Sparse)j(Skyline)e(format)h(\(SSS,)h (USS\))60 1780 y Fl(This)f(is)g(an)h(extension)f(of)h(the)f(CSR-t)o(yp)q(e)g (format)f(describ)q(ed)h(ab)q(o)o(v)o(e.)21 b(In)14 b(the)g(symmetri)o(c)d(v) o(ersion,)60 1840 y(the)i(follo)o(wing)f(arra)o(ys)h(are)g(used:)20 b Fj(D)q(I)t(AG)13 b Fl(stores)g(the)g(diagonal,)h Fj(AL;)8 b(J)d(AL;)j(I)t(AL)j Fl(stores)i(the)g(strict)60 1900 y(lo)o(w)o(er)19 b(part)i(in)f(CSR)g(format,)g(and)g Fj(AU)25 b Fl(stores)c(the)f(v)m(alues)g (of)g(the)g(strict)g(upp)q(er)g(part)h(in)e(CSC)60 1960 y(format.)h(In)14 b(the)g(unsymmetric)c(v)o(ersion,)k(instead)g(of)h Fj(AU)k Fl(alone,)c(the)f(strict)f(upp)q(er)i(part)g(is)f(stored)60 2021 y(in)i Fj(AU;)8 b(J)d(AU;)j(I)t(AU)19 b Fl(in)d(CSC)g(format.)60 2151 y Fh(2.1.12)55 b(The)19 b(V)-5 b(ariable)18 b(Blo)r(c)n(k)g(Ro)n(w)h (format)f(\(VBR\))60 2243 y Fl(In)i(man)o(y)f(applications,)i(matrices)e(are) i(blo)q(c)o(k)o(ed,)f(but)g(the)h(blo)q(c)o(ks)f(are)h(not)g(all)f(the)g (same)f(size.)60 2303 y(These)13 b(so-called)h(v)m(ariable)f(blo)q(c)o(k)g (matrices)e(arise)j(from)e(the)h(discretization)f(of)i(systems)e(of)i (partial)60 2363 y(di\013eren)o(tial)j(equations)h(where)g(there)f(is)h(a)g (v)m(arying)h(n)o(um)o(b)q(er)d(of)i(equations)g(at)h(eac)o(h)e(grid)h(p)q (oin)o(t.)60 2423 y(Lik)o(e)d(in)g(the)g(Blo)q(c)o(k)f(Sparse)i(Ro)o(w)g (\(BSR\))e(format,)h(all)g(en)o(tries)f(of)i(nonzero)f(blo)q(c)o(ks)h(\(blo)q (c)o(ks)f(whic)o(h)60 2484 y(con)o(tain)i(an)o(y)g(nonzeros\))g(are)g (stored,)g(ev)o(en)f(if)g(their)h(v)m(alue)f(is)h(zero.)23 b(Also)17 b(lik)o(e)e(the)i(BSR)f(format,)60 2544 y(there)g(is)g (signi\014can)o(t)g(sa)o(vings)g(in)g(in)o(teger)f(p)q(oin)o(ter)h(o)o(v)o (erhead)g(in)g(the)g(data)h(structure.)120 2604 y(V)l(ariable)j(blo)q(c)o(k)h (generalizations)f(can)i(b)q(e)f(made)f(to)h(man)o(y)f(matrix)f(storage)j (formats.)35 b(The)60 2664 y(V)l(ariable)19 b(Blo)q(c)o(k)f(Ro)o(w)i(\(VBR\)) e(format)h(is)h(a)g(generalization)f(of)h(the)f(Compressed)g(Sparse)h(Ro)o(w) p eop %%Page: 10 10 10 9 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(10)60 132 y(\(CSR\))23 b(format,)f(and)i(is)e(similar)e(to)j(the)f(v)m(ariable)g (blo)q(c)o(k)g(format)g(used)h(at)g(the)f(Univ)o(ersit)o(y)e(of)60 192 y(W)l(aterlo)q(o,)d(and)f(one)h(curren)o(tly)d(prop)q(osed)k(in)e(the)g (Sparse)h(BLAS)f(to)q(olkit.)120 252 y(In)22 b(the)g(VBR)f(format,)h(the)g Fj(I)t(A)f Fl(and)i Fj(J)5 b(A)21 b Fl(arra)o(ys)i(of)f(the)g(CSR)g(format)g (store)g(the)g(sparsit)o(y)60 312 y(structure)14 b(of)h(the)f(blo)q(c)o(ks.) 20 b(The)15 b(en)o(tries)e(in)h(eac)o(h)g(blo)q(c)o(k)g(are)h(stored)f(in)h Fj(A)f Fl(in)g(column-ma)s(jor)e(order)60 372 y(so)i(that)g(eac)o(h)g(blo)q (c)o(k)f(ma)o(y)f(b)q(e)i(passed)g(as)g(a)h(small)d(dense)h(matrix)f(to)i(a)g (F)l(ortran)g(subprogram.)21 b(The)60 432 y(blo)q(c)o(k)12 b(ro)o(w)h(and)h(blo)q(c)o(k)e(column)f(partitionings)i(are)g(stored)g(in)f (the)h(v)o(ectors)f Fq(KVSTR)h Fl(and)h Fq(KVSTC)p Fl(,)60 493 y(b)o(y)i(storing)h(the)f(\014rst)g(ro)o(w)h(or)f(column)f(n)o(um)o(b)q (er)g(of)h(eac)o(h)g(blo)q(c)o(k)g(ro)o(w)g(or)h(column)e(resp)q(ectiv)o(ely) l(.)j(In)60 553 y(most)g(applications,)i(the)f(blo)q(c)o(k)f(ro)o(w)h(and)h (column)e(partitionings)h(will)f(b)q(e)h(conformal,)g(and)g(the)60 613 y(same)e(arra)o(y)g(ma)o(y)f(b)q(e)i(used)g(in)f(the)h(programs.)25 b(Finally)l(,)16 b(in)o(teger)h(p)q(oin)o(ters)g(to)h(the)g(b)q(eginning)g (of)60 673 y(eac)o(h)e(blo)q(c)o(k)f(in)h Fj(A)g Fl(are)g(stored)h(in)f(the)g (arra)o(y)g Fj(K)t(A)p Fl(.)120 733 y Fj(I)t(A)i Fl(con)o(tains)h(p)q(oin)o (ters)h(to)f(the)g(b)q(eginning)h(of)f(eac)o(h)g(blo)q(c)o(k)f(ro)o(w)i(in)f Fj(J)5 b(A)18 b Fl(and)i Fj(K)t(A)p Fl(.)30 b(Th)o(us)19 b Fj(I)t(A)60 794 y Fl(has)d(length)g(equal)f(to)h(the)f(n)o(um)o(b)q(er)f(of)i (blo)q(c)o(k)f(ro)o(ws)h(\(plus)g(one)g(to)g(mark)e(the)h(end)h(of)g(the)f (matrix\),)60 854 y(and)i Fj(J)5 b(A)16 b Fl(has)h(length)g(equal)f(to)h(the) f(n)o(um)o(b)q(er)f(of)i(nonzero)g(blo)q(c)o(ks.)22 b Fj(K)t(A)17 b Fl(has)g(the)f(same)g(length)g(as)60 914 y Fj(J)5 b(A)19 b Fl(plus)h(one)g(to)g(mark)e(the)i(end)g(of)g(the)f(matrix.)31 b Fq(KVSTR)20 b Fl(and)g Fq(KVSTC)h Fl(ha)o(v)o(e)e(length)h(equal)60 974 y(to)f(the)g(n)o(um)o(b)q(er)e(of)j(blo)q(c)o(k)e(ro)o(ws)i(and)f (columns)f(resp)q(ectiv)o(ely)l(,)f(and)i Fj(A)g Fl(has)h(length)e(equal)h (to)g(the)60 1034 y(n)o(um)o(b)q(er)c(of)i(nonzeros)g(in)f(the)h(matrix.)j (The)d(follo)o(wing)f(\014gure)h(sho)o(ws)h(the)e(VBR)g(format)g(applied)60 1095 y(to)h(a)f(small)f(matrix.)120 1155 y(This)e(v)o(ersion)f(of)h(Sparskit) g(has)g(a)g(n)o(um)o(b)q(er)e(of)i(routines)g(to)g(supp)q(ort)h(the)e(v)m (ariable)h(blo)q(c)o(k)f(matrix)60 1215 y(format.)19 b(CSR)-5 b(VBR)10 b(and)j(VBR)o(CSR)d(con)o(v)o(ert)g(b)q(et)o(w)o(een)h(the)h(VBR)e (and)i(CSR)g(formats;)g(VBRINF)o(O)60 1275 y(prin)o(ts)f(some)f(elemen)o (tary)e(information)i(ab)q(out)i(the)f(blo)q(c)o(k)f(structure)h(of)h(a)f (matrix)e(in)i(VBR)f(format;)60 1335 y(AMUXV)j(p)q(erforms)h(a)i(matrix-v)o (ector)d(pro)q(duct)i(with)g(a)h(matrix)d(in)i(VBR)f(format;)g(CSRKVSTR)60 1396 y(and)i(CSRKVSTC)f(are)g(used)g(to)h(determine)c(ro)o(w)k(and)f(column)f (blo)q(c)o(k)g(partitionings)i(of)f(a)h(matrix)60 1456 y(in)f(CSR)g(format,)f (and)h(KVSTMER)o(GE)g(is)g(used)g(to)g(com)o(bine)e(ro)o(w)i(and)h(column)d (partitionings)j(to)60 1516 y(ac)o(hiev)o(e)e(a)j(conformal)e(partitioning.) 60 1660 y Fi(2.2)70 b(The)22 b(F)n(ORMA)-6 b(TS)23 b(con)n(v)n(ersion)g(mo)r (dule)60 1753 y Fl(It)16 b(is)h(imp)q(ortan)o(t)f(to)h(note)g(that)g(there)f (is)h(no)g(need)g(to)g(ha)o(v)o(e)f(a)h(subroutine)g(for)g(eac)o(h)f(pair)h (of)g(data)60 1813 y(structures,)i(since)f(all)h(w)o(e)f(need)h(is)g(to)g(b)q (e)g(able)g(to)g(con)o(v)o(ert)f(an)o(y)h(format)f(to)i(the)e(standard)j(ro)o (w-)60 1873 y(compressed)15 b(format)g(and)h(then)g(bac)o(k)f(to)h(an)o(y)g (other)g(format.)21 b(There)15 b(are)h(curren)o(tly)e(32)j(di\013eren)o(t)60 1933 y(con)o(v)o(ersion)e(routines)g(in)g(this)h(mo)q(dule)e(all)h(of)h(whic) o(h)f(are)g(dev)o(oted)g(to)h(con)o(v)o(erting)e(from)g(one)i(data)60 1993 y(structure)g(in)o(to)g(another.)120 2054 y(The)k(naming)g(mec)o(hanism) d(adopted)k(is)f(to)h(use)f(a)h(6-c)o(haracter)g(name)e(for)i(eac)o(h)e(of)i (the)f(sub-)60 2114 y(routines,)h(the)f(\014rst)g(3)h(for)f(the)g(input)g (format)g(and)g(the)g(last)h(3)f(for)h(the)f(output)g(format.)33 b(Th)o(us)60 2174 y(COOCSR)13 b(p)q(erforms)f(the)g(con)o(v)o(ersion)f(from)h (the)g(co)q(ordinate)h(format)f(to)h(the)f(Compressed)g(Sparse)60 2234 y(Ro)o(w)17 b(format.)24 b(Ho)o(w)o(ev)o(er)15 b(it)i(w)o(as)h (necessary)f(to)g(break)g(the)g(naming)g(rule)f(in)h(one)g(exception.)23 b(W)l(e)60 2294 y(needed)13 b(a)i(v)o(ersion)e(of)i(COOCSR)f(that)h(is)e (in-place,)h(i.e.,)e(whic)o(h)i(can)g(tak)o(e)f(the)h(input)g(matrix,)e(and) 60 2355 y(con)o(v)o(ert)17 b(it)h(directly)f(in)o(to)h(a)h(CSR)g(format)f(b)o (y)g(using)h(v)o(ery)e(little)g(additional)h(w)o(ork)h(space.)28 b(This)60 2415 y(routine)16 b(is)g(called)f(COICSR.)h(Eac)o(h)g(of)g(the)g (formats)g(has)g(a)h(routine)f(to)g(translate)h(it)e(to)i(the)f(CSR)60 2475 y(format)i(and)i(a)f(routine)f(to)i(con)o(v)o(ert)d(bac)o(k)i(to)g(it)f (from)g(the)g(CSR)h(format.)29 b(The)19 b(only)f(exception)60 2535 y(is)i(that)h(a)g(CSCCSR)g(routine)f(is)g(not)h(necessary)f(since)g(the) g(con)o(v)o(ersion)g(from)f(Column)h(Sparse)60 2595 y(format)d(to)i(Sparse)g (Ro)o(w)f(format)f(can)i(b)q(e)f(p)q(erformed)f(with)h(the)g(same)f(routine)h (CSR)o(CSC.)g(This)60 2656 y(is)e(essen)o(tially)f(a)h(transp)q(osition)i(op) q(eration.)p eop %%Page: 11 11 11 10 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(11)60 90 y 29364963 25841160 0 0 26510049 23352524 startTexFig 60 90 a %%BeginDocument: vbrpic.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: /tmp/xfig-fig009549 %%Creator: fig2dev %%CreationDate: Sun May 1 19:21:40 1994 %%For: chow@mega (Edmond Chow,EE/CS 6-210,626-0071,625-3031) %%BoundingBox: 0 0 403 355 %%Pages: 0 %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /l {lineto} bind def /m {moveto} bind def /s {stroke} bind def /n {newpath} bind def /gs {gsave} bind def /gr {grestore} bind def /clp {closepath} bind def /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul setrgbcolor} bind def /col-1 {} def /col0 {0 0 0 setrgbcolor} bind def /col1 {0 0 1 setrgbcolor} bind def /col2 {0 1 0 setrgbcolor} bind def /col3 {0 1 1 setrgbcolor} bind def /col4 {1 0 0 setrgbcolor} bind def /col5 {1 0 1 setrgbcolor} bind def /col6 {1 1 0 setrgbcolor} bind def /col7 {1 1 1 setrgbcolor} bind def end /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 0 setlinecap 0 setlinejoin -58.0 414.0 translate 0.900 -0.900 scale 0.500 setlinewidth % Polyline n 99 439 m 479 439 l 479 459 l 99 459 l 99 439 l clp gs col-1 s gr % Polyline n 119 439 m 119 459 l gs col-1 s gr % Polyline n 139 439 m 139 459 l gs col-1 s gr % Polyline n 159 439 m 159 459 l gs col-1 s gr % Polyline n 179 439 m 179 459 l gs col-1 s gr % Polyline n 199 439 m 199 459 l gs col-1 s gr % Polyline n 219 439 m 219 459 l gs col-1 s gr % Polyline n 239 439 m 239 459 l gs col-1 s gr % Polyline n 259 439 m 259 459 l gs col-1 s gr n 279 439 m 279 439 l gs col-1 s gr % Polyline n 279 439 m 279 459 l gs col-1 s gr % Polyline n 299 439 m 299 459 l gs col-1 s gr % Polyline n 319 439 m 319 459 l gs col-1 s gr % Polyline n 339 439 m 339 459 l gs col-1 s gr % Polyline n 359 439 m 359 459 l gs col-1 s gr % Polyline n 379 439 m 379 459 l gs col-1 s gr % Polyline n 399 439 m 399 459 l gs col-1 s gr % Polyline n 419 439 m 419 459 l gs col-1 s gr % Polyline n 459 439 m 459 459 l gs col-1 s gr /Times-Roman findfont 12.00 scalefont setfont 104 434 m gs 1 -1 scale ( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 69 454 m gs 1 -1 scale (A) col-1 show gr % Polyline n 399 79 m 499 79 l 499 99 l 399 99 l 399 79 l clp gs col-1 s gr % Polyline n 419 79 m 419 99 l gs col-1 s gr % Polyline n 439 79 m 439 99 l gs col-1 s gr % Polyline n 459 79 m 459 99 l gs col-1 s gr % Polyline n 479 79 m 479 99 l gs col-1 s gr /Times-Roman findfont 12.00 scalefont setfont 404 74 m gs 1 -1 scale ( 1 2 3 4 5) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 339 94 m gs 1 -1 scale (KVSTC) col-1 show gr % Polyline n 199 79 m 279 79 l 279 99 l 199 99 l 199 79 l clp gs col-1 s gr % Polyline n 219 79 m 219 99 l gs col-1 s gr % Polyline n 239 79 m 239 99 l gs col-1 s gr % Polyline n 259 79 m 259 99 l gs col-1 s gr /Times-Roman findfont 12.00 scalefont setfont 209 94 m gs 1 -1 scale (1 3 4 7) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 204 74 m gs 1 -1 scale ( 1 2 3 4) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 139 94 m gs 1 -1 scale (KVSTR) col-1 show gr % Polyline n 99 219 m 179 219 l 179 239 l 99 239 l 99 219 l clp gs col-1 s gr % Polyline n 99 279 m 219 279 l 219 299 l 99 299 l 99 279 l clp gs col-1 s gr % Polyline n 99 339 m 239 339 l 239 359 l 99 359 l 99 339 l clp gs col-1 s gr % Polyline n 119 219 m 119 239 l gs col-1 s gr % Polyline n 139 219 m 139 239 l gs col-1 s gr % Polyline n 159 219 m 159 239 l gs col-1 s gr % Polyline n 119 279 m 119 299 l gs col-1 s gr % Polyline n 139 279 m 139 299 l gs col-1 s gr % Polyline n 159 279 m 159 299 l gs col-1 s gr % Polyline n 179 279 m 179 299 l gs col-1 s gr % Polyline n 199 279 m 199 299 l gs col-1 s gr % Polyline n 119 339 m 119 359 l gs col-1 s gr % Polyline n 139 339 m 139 359 l gs col-1 s gr % Polyline n 159 339 m 159 359 l gs col-1 s gr % Polyline n 179 339 m 179 359 l gs col-1 s gr % Polyline n 199 339 m 199 359 l gs col-1 s gr % Polyline n 219 339 m 219 359 l gs col-1 s gr % Polyline n 109 239 m 109 259 l gs col-1 s gr n 111.000 251.000 m 109.000 259.000 l 107.000 251.000 l gs 2 setlinejoin col-1 s gr % Polyline n 124 239 m 144 259 l gs col-1 s gr n 139.757 251.929 m 144.000 259.000 l 136.929 254.757 l gs 2 setlinejoin col-1 s gr % Polyline n 149 239 m 184 259 l gs col-1 s gr n 178.046 253.294 m 184.000 259.000 l 176.062 256.767 l gs 2 setlinejoin col-1 s gr % Polyline n 169 239 m 224 259 l gs col-1 s gr n 217.165 254.386 m 224.000 259.000 l 215.798 258.146 l gs 2 setlinejoin col-1 s gr % Polyline n 439 439 m 439 459 l gs col-1 s gr % Polyline n 109 359 m 109 419 l gs col-1 s gr n 111.000 411.000 m 109.000 419.000 l 107.000 411.000 l gs 2 setlinejoin col-1 s gr % Polyline n 129 359 m 184 419 l gs col-1 s gr n 180.069 411.751 m 184.000 419.000 l 177.120 414.454 l gs 2 setlinejoin col-1 s gr % Polyline n 144 359 m 224 419 l gs col-1 s gr n 218.800 412.600 m 224.000 419.000 l 216.400 415.800 l gs 2 setlinejoin col-1 s gr % Polyline n 169 359 m 279 419 l gs col-1 s gr n 272.935 413.413 m 279.000 419.000 l 271.019 416.925 l gs 2 setlinejoin col-1 s gr % Polyline n 189 359 m 299 419 l gs col-1 s gr n 292.935 413.413 m 299.000 419.000 l 291.019 416.925 l gs 2 setlinejoin col-1 s gr % Polyline n 209 359 m 364 419 l gs col-1 s gr n 357.261 414.247 m 364.000 419.000 l 355.817 417.977 l gs 2 setlinejoin col-1 s gr % Polyline n 229 359 m 484 419 l gs col-1 s gr n 476.671 415.221 m 484.000 419.000 l 475.755 419.115 l gs 2 setlinejoin col-1 s gr % Polyline n 379 159 m 379 279 l gs col-1 s gr % Polyline n 439 159 m 439 279 l gs col-1 s gr % Polyline n 499 279 m 499 159 l 339 159 l 339 279 l clp gs col-1 s gr % Polyline n 459 159 m 459 279 l gs col-1 s gr % Polyline n 339 199 m 499 199 l gs col-1 s gr % Polyline n 339 219 m 499 219 l gs col-1 s gr % Polyline n 409 99 m 354 139 l gs col-1 s gr n 361.646 135.912 m 354.000 139.000 l 359.294 132.677 l gs 2 setlinejoin col-1 s gr % Polyline n 429 99 m 389 139 l gs col-1 s gr n 396.071 134.757 m 389.000 139.000 l 393.243 131.929 l gs 2 setlinejoin col-1 s gr % Polyline n 449 99 m 449 139 l gs col-1 s gr n 451.000 131.000 m 449.000 139.000 l 447.000 131.000 l gs 2 setlinejoin col-1 s gr % Polyline n 469 99 m 469 139 l gs col-1 s gr n 471.000 131.000 m 469.000 139.000 l 467.000 131.000 l gs 2 setlinejoin col-1 s gr % Polyline n 489 99 m 504 139 l gs col-1 s gr n 503.064 130.807 m 504.000 139.000 l 499.318 132.212 l gs 2 setlinejoin col-1 s gr % Polyline n 269 99 m 319 284 l gs col-1 s gr n 318.843 275.755 m 319.000 284.000 l 314.982 276.799 l gs 2 setlinejoin col-1 s gr % Polyline n 249 99 m 319 224 l gs col-1 s gr n 316.836 216.043 m 319.000 224.000 l 313.346 217.997 l gs 2 setlinejoin col-1 s gr % Polyline n 224 99 m 319 204 l gs col-1 s gr n 315.116 196.726 m 319.000 204.000 l 312.150 199.410 l gs 2 setlinejoin col-1 s gr % Polyline n 209 99 m 319 169 l gs col-1 s gr n 313.324 163.018 m 319.000 169.000 l 311.177 166.392 l gs 2 setlinejoin col-1 s gr /Times-Roman findfont 12.00 scalefont setfont 104 294 m gs 1 -1 scale ( 1 3 2 3 3 4) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 354 m gs 1 -1 scale ( 1 5 7 10 11 14 20) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 334 m gs 1 -1 scale ( 1 2 3 4 5 6 7) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 69 234 m gs 1 -1 scale (IA) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 69 294 m gs 1 -1 scale (JA) col-1 show gr /Times-Roman findfont 14.00 scalefont setfont 64 354 m gs 1 -1 scale (KA) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 234 m gs 1 -1 scale ( 1 3 5 7) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 214 m gs 1 -1 scale ( 1 2 3 4) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 274 m gs 1 -1 scale ( 1 2 3 4 5 6) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 224 274 m gs 1 -1 scale ( 7) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 104 454 m gs 1 -1 scale ( 1 4 2 5 3 6 7 8 9 10 11 14 17 12 15 18 13 16 19) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 404 94 m gs 1 -1 scale ( 1 3 6 7 9 ) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 344 174 m gs 1 -1 scale ( 1 2 3) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 344 194 m gs 1 -1 scale ( 4 5 6) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 384 214 m gs 1 -1 scale ( 7 8 9 10) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 444 234 m gs 1 -1 scale (11 12 13) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 444 254 m gs 1 -1 scale (14 15 16) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 444 274 m gs 1 -1 scale (17 18 19) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 174 m gs 1 -1 scale (1) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 194 m gs 1 -1 scale (2) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 214 m gs 1 -1 scale (3) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 234 m gs 1 -1 scale (4) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 254 m gs 1 -1 scale (5) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 274 m gs 1 -1 scale (6) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 344 154 m gs 1 -1 scale ( 1 2 3 4 5 6 7 8) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 324 294 m gs 1 -1 scale (7) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 494 154 m gs 1 -1 scale ( 9) col-1 show gr /Times-Roman findfont 12.00 scalefont setfont 259 344 m gs 1 -1 scale (IA also indexes into KA) col-1 show gr $F2psEnd %%EndDocument endTexFig 394 1829 a Fl(Figure)16 b(2:)22 b(A)15 b(6)d Fg(\002)f Fl(8)16 b(sparse)h(matrix)e(and)i(its)f(storage)h(v)o(ectors.)120 1963 y(Considerable)h(e\013ort)h(has)g(b)q(een)g(put)f(at)h(attempting)e(to)i(mak) o(e)d(the)i(con)o(v)o(ersion)g(routines)g(in-)60 2023 y(place,)12 b(i.e.,)g(in)g(allo)o(wing)g(some)g(or)h(all)f(of)h(the)f(output)h(arra)o(ys) g(to)g(b)q(e)g(the)f(same)g(as)h(the)g(input)f(arra)o(ys.)60 2083 y(The)17 b(purp)q(ose)g(is)g(to)g(sa)o(v)o(e)f(storage)i(whenev)o(er)d (p)q(ossible)i(without)g(sacri\014cing)g(p)q(erformance.)k(The)60 2143 y(added)15 b(\015exibilit)o(y)d(can)i(b)q(e)h(v)o(ery)e(con)o(v)o(enien) o(t)f(in)j(some)e(situations.)21 b(When)15 b(the)f(additional)g(co)q(ding)60 2203 y(complexit)o(y)f(to)k(p)q(ermit)d(the)i(routine)h(to)f(b)q(e)h (in-place)e(w)o(as)i(not)g(to)q(o)g(high)g(this)f(w)o(as)h(alw)o(a)o(ys)f (done.)60 2264 y(If)c(the)h(subroutine)g(is)g(in-place)f(this)g(is)h(clearly) e(indicated)h(in)h(the)f(do)q(cumen)o(tation.)20 b(As)12 b(men)o(tioned)60 2324 y(ab)q(o)o(v)o(e,)i(w)o(e)h(found)g(it)f(necessary)h(in)f(one)h (instance)f(to)h(pro)o(vide)f(b)q(oth)i(the)e(in-place)g(v)o(ersion)g(as)h(w) o(ell)60 2384 y(as)22 b(the)f(regular)g(v)o(ersion:)30 b(COICSR)21 b(is)g(an)g(in-place)g(v)o(ersion)f(of)i(the)e(COOCSR)i(routine.)35 b(W)l(e)60 2444 y(w)o(ould)19 b(also)h(lik)o(e)d(to)i(add)h(that)f(other)g (routines)g(that)h(a)o(v)o(oid)e(the)h(CSR)g(format)g(for)g(some)f(of)h(the) 60 2504 y(more)14 b(imp)q(ortan)o(t)h(data)i(structures)e(ma)o(y)f(ev)o(en)o (tually)g(b)q(e)i(included.)j(F)l(or)d(no)o(w,)g(there)f(is)g(only)h(one)60 2565 y(suc)o(h)g(routine)338 2547 y Fd(1)374 2565 y Fl(namely)l(,)e(COOELL.)p 60 2608 744 2 v 116 2639 a Fc(1)135 2654 y Fo(Con)o(tributed)g(b)o(y)g(E.)f (Rothman)f(from)g(Cornell)h(Univ)o(ersit)o(y)m(.)p eop %%Page: 12 12 12 11 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(12)60 132 y Fi(2.3)70 b(In)n(ternal)22 b(format)h(used)g(in)f(SP)-6 b(ARSKIT)60 224 y Fl(Most)17 b(of)h(the)f(routines)g(in)f(SP)l(ARSKIT)h(use)g (in)o(ternally)e(the)i(Compressed)f(Sparse)i(Ro)o(w)f(format.)60 284 y(The)d(selection)e(of)i(the)g(CSR)g(mo)q(de)f(has)h(b)q(een)g(motiv)m (ated)e(b)o(y)i(sev)o(eral)e(factors.)21 b(Simplicit)n(y)l(,)11 b(gener-)60 344 y(alit)o(y)l(,)k(and)j(widespread)f(use)g(are)g(certainly)e (the)i(most)f(imp)q(ortan)o(t)g(ones.)24 b(Ho)o(w)o(ev)o(er,)15 b(it)h(has)i(often)60 404 y(b)q(een)f(argued)h(that)f(the)g(column)f(sc)o (heme)e(ma)o(y)i(ha)o(v)o(e)g(b)q(een)h(a)g(b)q(etter)g(c)o(hoice.)23 b(One)16 b(argumen)o(t)g(in)60 465 y(this)g(fa)o(v)o(or)f(is)h(that)g(v)o (ector)f(mac)o(hines)f(usually)h(giv)o(e)g(a)h(b)q(etter)g(p)q(erformance)e (for)i(suc)o(h)g(op)q(erations)60 525 y(as)f(matrix)e(v)o(ector)g(b)o(y)h(m)o (ultipli)o(cations)e(for)j(matrices)d(stored)j(in)f(CSC)h(format.)k(In)14 b(fact)h(for)f(paral-)60 585 y(lel)h(mac)o(hines)f(whic)o(h)h(ha)o(v)o(e)h(a) g(lo)o(w)g(o)o(v)o(erhead)f(in)h(lo)q(op)h(sync)o(hronization)e(\(e.g.,)g (the)h(Allian)o(ts\),)e(the)60 645 y(situation)h(is)g(rev)o(ersed,)e(see)h ([9])h(for)g(details.)20 b(F)l(or)15 b(almost)f(an)o(y)h(argumen)o(t)e(in)i (fa)o(v)o(or)f(of)h(one)g(sc)o(heme)60 705 y(there)e(seems)e(to)j(b)q(e)f(an) h(argumen)o(t)e(in)g(fa)o(v)o(or)h(of)h(the)f(other.)20 b(F)l(ortunately)l(,) 13 b(the)g(di\013erence)f(pro)o(vided)60 766 y(in)i(functionalit)o(y)g(is)g (rather)h(minor.)k(F)l(or)c(example)e(the)h(subroutine)h(APLB)g(to)g(add)g(t) o(w)o(o)g(matrices)60 826 y(in)h(CSR)h(format,)e(describ)q(ed)h(in)h(Section) f(5.1,)g(can)h(actually)f(b)q(e)h(also)g(used)f(to)h(add)g(t)o(w)o(o)g (matrices)60 886 y(in)f(CSC)h(format,)e(since)g(the)h(data)h(structures)f (are)h(iden)o(tical.)i(Sev)o(eral)c(suc)o(h)h(subroutines)g(can)h(b)q(e)60 946 y(used)h(for)f(b)q(oth)i(sc)o(hemes,)c(b)o(y)i(pretending)g(that)h(the)g (input)f(matrices)e(are)j(stored)g(in)f(CSR)h(mo)q(de)60 1006 y(whereas)f(in)e(fact)i(they)e(are)i(stored)f(in)g(CSC)h(mo)q(de.)60 1173 y Fk(3)83 b(Manipulation)27 b(routines)60 1282 y Fl(The)16 b(mo)q(dule)f(UNAR)l(Y)f(of)i(SP)l(ARSKIT)g(consists)g(of)g(a)h(n)o(um)o(b)q (er)d(of)i(utilities)f(to)h(manipulate)e(and)60 1342 y(p)q(erform)i(basic)g (op)q(erations)i(with)e(sparse)h(matrices.)j(The)d(follo)o(wing)f(sections)g (giv)o(e)g(an)h(o)o(v)o(erview)60 1403 y(of)g(this)f(part)g(of)h(the)f(pac)o (k)m(age.)60 1547 y Fi(3.1)70 b(Miscell)o(aneous)21 b(op)r(erations)i(with)f (sparse)h(matrices)60 1639 y Fl(There)e(are)h(a)g(large)f(n)o(um)o(b)q(er)f (of)i(non-algebraic)g(op)q(erations)g(that)g(are)g(commonly)c(used)k(when)60 1700 y(w)o(orking)g(with)f(sparse)i(matrices.)36 b(A)21 b(t)o(ypical)g (example)e(is)j(to)g(transform)g Fj(A)f Fl(in)o(to)g Fj(B)26 b Fl(=)e Fj(P)7 b(AQ)60 1760 y Fl(where)16 b Fj(P)23 b Fl(and)16 b Fj(Q)g Fl(are)g(t)o(w)o(o)g(p)q(erm)o(utation)e(matrices.)20 b(Another)15 b(example)f(is)i(to)g(extract)f(the)h(lo)o(w)o(er)60 1820 y(triangular)h(part)h(of)f Fj(A)f Fl(or)i(a)f(giv)o(en)f(diagonal)i (from)d Fj(A)p Fl(.)23 b(Sev)o(eral)16 b(other)h(suc)o(h)f(`extraction')g(op) q(era-)60 1880 y(tions)f(are)g(supplied)f(in)h(SP)l(ARSKIT.)f(Also)g(pro)o (vided)h(is)f(the)h(transp)q(osition)h(function.)21 b(This)15 b(ma)o(y)60 1940 y(seem)h(as)j(an)g(unnecessary)f(addition)g(since)g(the)g (routine)f(CSR)o(CSC)i(already)f(do)q(es)h(p)q(erform)e(this)60 2001 y(function)i(economically)l(.)26 b(Ho)o(w)o(ev)o(er,)18 b(the)h(new)g(transp)q(osition)h(pro)o(vided)e(is)h(in-place,)f(in)h(that)g (it)60 2061 y(ma)o(y)e(transp)q(ose)i(the)f(matrix)f(and)h(o)o(v)o(erwrite)f (the)h(result)g(on)g(the)g(original)g(matrix,)f(th)o(us)h(sa)o(ving)60 2121 y(memory)e(usage.)29 b(Since)18 b(man)o(y)g(of)h(these)f(manipulation)g (routines)g(in)o(v)o(olv)o(e)f(one)i(matrix)e(\(as)i(op-)60 2181 y(p)q(osed)g(to)f(t)o(w)o(o)g(in)g(the)f(basic)h(linear)g(algebra)g (routines\))g(w)o(e)f(created)h(a)g(mo)q(dule)f(called)g(UNAR)l(Y)60 2241 y(to)g(include)e(these)h(subroutines.)120 2302 y(Another)k(set)g(of)g (subroutines)g(that)h(are)f(sometime)o(s)e(useful)h(are)h(those)h(in)o(v)o (olving)d(a)i(`mask'.)60 2362 y(A)c(mask)f(de\014nes)h(a)h(giv)o(en)e (nonzero)i(pattern)f(and)h(for)f(all)g(practical)f(purp)q(oses)j(a)e(mask)g (matrix)e(is)60 2422 y(a)19 b(sparse)g(matrix)e(whose)i(nonzero)g(en)o(tries) e(are)h(all)g(ones)h(\(therefore)f(there)g(is)g(no)h(need)f(to)h(store)60 2482 y(its)g(real)f(v)m(alues\).)29 b(Sometime)o(s)16 b(it)j(is)f(useful)h (to)g(extract)f(from)g(a)h(giv)o(en)f(matrix)f Fj(A)h Fl(the)g(`mask)o(ed')60 2542 y(matrix)e(according)i(to)h(a)f(mask)f Fj(M)5 b Fl(,)18 b(i.e.,)f(to)h(compute)f(the)g(matrix)f Fj(A)c Fg(\014)g Fj(M)24 b Fl(,)18 b(where)f Fg(\014)h Fl(denotes)60 2602 y(the)e(elemen)o(t-wise)d (matrix)i(pro)q(duct,)h(and)h Fj(M)22 b Fl(is)16 b(some)f(mask)g(matrix.)p eop %%Page: 13 13 13 12 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(13)60 132 y Fi(3.2)70 b(The)22 b(mo)r(dule)f(UNAR)-6 b(Y)60 224 y Fl(This)23 b(mo)q(dule)f(of)i(SP)l(ARSKIT)e(consists)i(of)g(a)f(n)o(um)o(b)q (er)f(of)h(routines)g(to)h(p)q(erform)e(some)g(basic)60 284 y(non-algebraic)d(op)q(erations)h(on)g(a)f(matrix.)27 b(The)19 b(follo)o(wing)g(is)f(a)i(list)e(of)h(the)g(routines)g(curren)o(tly)60 344 y(supp)q(orted)e(with)f(a)h(brief)e(explanation.)120 554 y Fh(SUBMA)-5 b(T)147 b Fl(Extracts)15 b(a)g(square)g(or)g(rectangular)g (submatrix)f(from)g(a)h(sparse)g(matrix.)510 615 y(Both)23 b(the)h(input)f(and)h(output)g(matrices)e(are)h(in)g(CSR)h(format.)42 b(The)510 675 y(routine)16 b(is)g(in-place.)120 783 y Fh(FIL)-5 b(TER)187 b Fl(Filters)15 b(out)h(elemen)o(ts)d(from)i(a)i(matrix)d (according)i(to)g(their)g(magnitude.)510 843 y(Both)g(the)h(input)f(and)h (the)f(output)h(matrices)e(are)h(in)g(CSR)h(format.)k(The)510 904 y(output)i(matrix,)e(is)h(obtained)g(from)f(the)h(input)g(matrix)e(b)o(y) i(remo)o(ving)510 964 y(all)e(the)f(elemen)o(ts)e(that)k(are)f(smaller)e (than)j(a)f(certain)f(threshold.)33 b(The)510 1024 y(threshold)15 b(is)g(computed)e(for)i(eac)o(h)g(ro)o(w)g(according)g(to)g(one)g(of)g(three) f(pro-)510 1084 y(vided)h(options.)22 b(The)17 b(algorithm)e(is)h(in-place.) 120 1193 y Fh(FIL)-5 b(TERM)134 b Fl(Same)15 b(as)i(ab)q(o)o(v)o(e,)f(but)g (for)h(the)f(MSR)g(format.)120 1313 y Fh(CSOR)-5 b(T)201 b Fl(Sorts)15 b(the)f(elemen)o(ts)d(of)k(a)g(matrix)d(stored)j(in)e(CSR)i (format)e(in)h(increasing)510 1373 y(order)i(of)h(the)f(column)f(n)o(um)o(b)q (ers.)120 1472 y Fh(TRANSP)154 b Fl(This)16 b(is)g(an)h(in-place)f(transp)q (osition)h(routine,)f(i.e.,)e(it)i(can)g(b)q(e)g(view)o(ed)f(as)510 1532 y(an)21 b(in-place)e(v)o(ersion)h(of)g(the)g(CSR)o(CSC)h(routine)f(in)g (F)o(ORMA)l(TS.)e(One)510 1592 y(notable)e(disadv)m(an)o(tage)g(of)g(TRANSP)g (is)f(that)h(unlik)o(e)e(CSR)o(CSC)i(it)f(do)q(es)510 1652 y(not)g(sort)g(the)f(nonzero)g(elemen)o(ts)e(in)i(increasing)f(n)o(um)o(b)q (er)g(of)i(the)f(column)510 1713 y(p)q(ositions.)120 1824 y Fh(COPMA)-5 b(T)141 b Fl(Cop)o(y)16 b(of)h(a)g(matrix)d(in)o(to)i(another)h (matrix)d(\(b)q(oth)j(stored)g(CSR\).)120 1944 y Fh(MSR)n(COP)146 b Fl(Copies)16 b(a)h(matrix)e(in)h(MSR)f(format)h(in)o(to)g(a)h(matrix)d(in)i (MSR)g(format.)120 2064 y Fh(GETELM)146 b Fl(F)l(unction)13 b(returning)g(the)f(v)m(alue)h(of)g Fj(a)1203 2071 y Ff(ij)1246 2064 y Fl(for)h(an)o(y)f(pair)g(\()p Fj(i;)8 b(j)s Fl(\).)19 b(Also)13 b(returns)510 2124 y(address)k(of)g(the)f(elemen)n(t)e(in)i(arra)o (ys)g Fj(A;)8 b(J)d(A)p Fl(.)120 2233 y Fh(GETDIA)164 b Fl(Extracts)12 b(a)g(sp)q(eci\014ed)f(diagonal)i(from)d(a)j(matrix.)18 b(An)11 b(option)h(is)g(pro)o(vided)510 2293 y(to)20 b(transform)g(the)g(input)f (matrix)g(so)h(that)h(the)e(extracted)g(diagonal)i(is)510 2353 y(zero)q(ed)d(out)h(in)f(input)g(matrix.)26 b(Otherwise)18 b(the)g(diagonal)i(is)e(extracted)510 2413 y(and)f(the)f(input)g(matrix)e (remains)h(un)o(touc)o(hed.)120 2522 y Fh(GETL)236 b Fl(This)22 b(subroutine)g(extracts)g(the)f(lo)o(w)o(er)g(triangular)h(part)h(of)f(a)g (matrix,)510 2582 y(including)15 b(the)h(main)f(diagonal.)22 b(The)17 b(algorithm)e(is)h(in-place.)120 2690 y Fh(GETU)227 b Fl(Extracts)14 b(the)g(upp)q(er)g(triangular)h(part)f(of)h(a)f(matrix.)19 b(Similar)12 b(to)i(GETL.)p eop %%Page: 14 14 14 13 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(14)120 132 y Fh(LEVELS)175 b Fl(Computes)14 b(the)h(lev)o(el)e(sc)o(heduling)h(data) i(structure)e(for)i(lo)o(w)o(er)e(triangular)510 192 y(matrices,)g(see)i ([1].)120 303 y Fh(AMASK)178 b Fl(Extracts)21 b Fj(C)k Fl(=)d Fj(A)14 b Fg(\014)g Fj(M)5 b Fl(,)22 b(i.e.,)e(p)q(erforms)g(the)h(mask)f(op) q(eration.)36 b(This)510 363 y(routine)16 b(computes)f(a)h(sparse)h(matrix)e (from)g(an)h(input)g(matrix)f Fj(A)h Fl(b)o(y)f(ex-)510 423 y(tracting)d(only)h(the)f(elemen)o(ts)e(in)i Fj(A)p Fl(,)g(where)g(the)g (corresp)q(onding)i(elemen)o(ts)510 483 y(of)f Fj(M)19 b Fl(are)13 b(nonzero.)21 b(The)13 b(mask)f(matrix)g Fj(M)5 b Fl(,)13 b(is)g(a)h(sparse)g (matrix)d(in)i(CSR)510 544 y(format)i(without)h(the)f(real)h(v)m(alues,)f (i.e.,)f(only)h(the)h(in)o(teger)e(arra)o(ys)i(of)g(the)510 604 y(CSR)g(format)g(are)g(passed.)120 712 y Fh(CPERM)180 b Fl(P)o(erm)o(utes)13 b(the)h(columns)g(of)h(a)g(matrix,)e(i.e.,)g(computes)g (the)i(matrix)e Fj(B)j Fl(=)510 772 y Fj(AQ)f Fl(where)h Fj(Q)g Fl(is)g(a)h(p)q(erm)o(utation)e(matrix.)120 881 y Fh(RPERM)178 b Fl(P)o(erm)o(utes)11 b(the)j(ro)o(ws)g(of)g(a)g(matrix,)d(i.e.,)h(computes) h(the)g(matrix)f Fj(B)k Fl(=)e Fj(P)7 b(A)510 941 y Fl(where)16 b Fj(P)23 b Fl(is)16 b(a)h(p)q(erm)o(utation)e(matrix.)120 1050 y Fh(DPERM)177 b Fl(P)o(erm)o(utes)16 b(the)h(ro)o(ws)i(and)f(columns)f (of)h(a)h(matrix,)d(i.e.,)g(computes)h Fj(B)i Fl(=)510 1110 y Fj(P)7 b(AQ)23 b Fl(giv)o(en)f(t)o(w)o(o)h(p)q(erm)o(utation)f(matrices)f Fj(P)31 b Fl(and)23 b Fj(Q)p Fl(.)42 b(This)23 b(routine)510 1170 y(giv)o(es)15 b(a)i(sp)q(ecial)f(treatmen)o(t)e(to)j(the)f(common)e (case)i(where)g Fj(Q)e Fl(=)f Fj(P)1780 1152 y Ff(T)1808 1170 y Fl(.)120 1281 y Fh(DPERM2)149 b Fl(General)16 b(submatrix)f(p)q(erm)o (utation/extraction)g(routine.)120 1401 y Fh(DMPERM)124 b Fl(Symmetri)o(c)19 b(p)q(erm)o(utation)h(of)i(ro)o(w)g(and)g(column)e(\(B=P)l(AP'\))h(in)g(MSR) 510 1461 y(format)120 1560 y Fh(D)n(VPERM)137 b Fl(P)o(erforms)17 b(an)i(in-place)f(p)q(erm)o(utation)f(of)i(a)f(real)g(v)o(ector,)g(i.e.,)f(p) q(erforms)510 1620 y Fj(x)d Fl(:=)f Fj(P)7 b(x)p Fl(,)16 b(where)g Fj(P)23 b Fl(is)16 b(a)h(p)q(erm)o(utation)e(matrix.)120 1729 y Fh(IVPERM)157 b Fl(P)o(erforms)15 b(an)i(in-place)e(p)q(erm)o(utation)g(of) i(an)g(in)o(teger)e(v)o(ector.)120 1849 y Fh(RETMX)177 b Fl(Returns)24 b(the)f(maxim)n(um)d(absolute)k(v)m(alue)f(in)g(eac)o(h)g(ro)o(w)h(of)g(an)g (input)510 1909 y(matrix.)120 2008 y Fh(DIAPOS)173 b Fl(Returns)23 b(the)g(p)q(ositions)g(in)g(the)g(arra)o(ys)g Fj(A)g Fl(and)g Fj(J)5 b(A)22 b Fl(of)h(the)g(diagonal)510 2068 y(elemen)o(ts,)13 b(for)k(a)f(matrix)f(stored)h(in)g(CSR)h(format.)120 2177 y Fh(EXTBDG)145 b Fl(Extracts)22 b(the)h(main)e(diagonal)i(blo)q(c)o(ks)f(of)g (a)h(matrix.)38 b(The)22 b(output)h(is)510 2237 y(a)e(rectangular)h(matrix)d (of)i(dimension)f Fj(N)f Fg(\002)14 b Fj(N)5 b(B)s(LK)t Fl(,)22 b(con)o(taining)f(the)510 2297 y Fj(N)q(=)m(N)5 b(B)s(LK)21 b Fl(blo)q(c)o(ks,)16 b(in)g(whic)o(h)f Fj(N)5 b(B)s(LK)21 b Fl(is)16 b(the)g(blo)q(c)o(k-size)f(\(input\).)120 2408 y Fh(GETBWD)129 b Fl(Returns)24 b(bandwidth)h(information)e(on)h(a)h(matrix.)43 b(This)24 b(subroutine)510 2468 y(returns)17 b(the)g(bandwidth)h(of)g(the)f (lo)o(w)o(er)g(part)g(and)h(the)g(upp)q(er)f(part)h(of)g(a)510 2529 y(giv)o(en)13 b(matrix.)19 b(Ma)o(y)13 b(b)q(e)h(used)h(to)f(determine)d (these)j(t)o(w)o(o)g(parameters)f(for)510 2589 y(con)o(v)o(erting)i(a)i (matrix)d(in)o(to)i(the)g(BND)g(format.)p eop %%Page: 15 15 15 14 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(15)120 132 y Fh(BLKFND)150 b Fl(A)o(ttempts)12 b(to)j(\014nd)f(the)g(blo)q(c)o (k-size)f(of)i(a)g(matrix)d(stored)j(in)f(CSR)g(format.)510 192 y(One)21 b(restriction)g(is)h(that)g(the)f(zero)h(elemen)o(ts)d(in)i(eac) o(h)g(blo)q(c)o(k)g(if)h(there)510 252 y(are)15 b(an)o(y)g(are)g(assumed)f (to)h(b)q(e)g(represen)o(ted)f(as)h(nonzero)h(elemen)o(ts)c(in)i(the)510 312 y(data)j(structure)f(for)h(the)f Fj(A)f Fl(matrix,)f(with)j(zero)e(v)m (alues.)120 421 y Fh(BLK)n(CHK)146 b Fl(Chec)o(ks)13 b(whether)g(a)g(giv)o (en)g(in)o(teger)f(is)h(the)g(blo)q(c)o(k)g(size)g(of)g(A.)g(This)g(routine) 510 481 y(is)j(called)f(b)o(y)h(BLKFND.)f(Same)g(restriction)h(as)h(ab)q(o)o (v)o(e.)120 589 y Fh(INFDIA)184 b Fl(Computes)17 b(the)g(n)o(um)o(b)q(er)f (of)h(nonzero)h(elemen)o(ts)d(of)j(eac)o(h)f(of)g(the)h(2)p Fj(n)12 b Fg(\000)g Fl(1)510 649 y(diagonals)k(of)f(a)g(matrix.)k(Note)14 b(that)h(the)f(\014rst)h(diagonal)g(is)g(the)f(diagonal)510 710 y(with)h(o\013set)h Fg(\000)p Fj(n)g Fl(whic)o(h)f(consists)g(of)h(the)f (en)o(try)g Fj(a)1440 717 y Ff(n;)p Fd(1)1506 710 y Fl(and)h(the)f(last)h (one)f(is)510 770 y(the)h(diagonal)h(with)f(o\013set)h Fj(n)g Fl(whic)o(h)e(consists)i(of)f(the)g(elemen)o(t)e Fj(a)1740 777 y Fd(1)p Ff(;n)1790 770 y Fl(.)120 882 y Fh(AMUBDG)125 b Fl(Computes)23 b(the)g(n)o(um)o(b)q(er)f(of)i(nonzero)g(elemen)o(ts)d(in)i (eac)o(h)g(ro)o(w)h(of)g(the)510 943 y(pro)q(duct)19 b(of)g(t)o(w)o(o)f (sparse)h(matrices)e Fj(A)h Fl(and)h Fj(B)s Fl(.)27 b(Also)18 b(returns)h(the)f(total)510 1003 y(n)o(um)o(b)q(er)c(of)j(nonzero)g(elemen)o (ts.)120 1102 y Fh(APLBDG)149 b Fl(Computes)13 b(the)g(n)o(um)o(b)q(er)f(of)i (nonzero)g(elemen)o(ts)d(in)i(eac)o(h)g(ro)o(w)h(of)g(the)f(sum)510 1162 y(of)19 b(t)o(w)o(o)g(sparse)g(matrices)e Fj(A)i Fl(and)g Fj(B)s Fl(.)29 b(Also)18 b(returns)h(the)g(total)g(n)o(um)o(b)q(er)510 1222 y(of)e(nonzero)f(elemen)o(ts.)120 1321 y Fh(RNRMS)178 b Fl(Computes)20 b(the)h(norms)g(of)g(the)g(ro)o(ws)g(of)h(a)f(matrix.)34 b(The)21 b(usual)h(three)510 1381 y(norms)16 b Fg(k)p Fj(:)p Fg(k)721 1388 y Fd(1)740 1381 y Fj(;)8 b Fg(k)p Fj(:)p Fg(k)826 1388 y Fd(2)845 1381 y Fj(;)15 b Fl(and)i Fg(k)p Fj(:)p Fg(k)1033 1388 y Fb(1)1086 1381 y Fl(are)g(supp)q(orted.)120 1492 y Fh(CNRMS)180 b Fl(Computes)16 b(the)g(norms)g(of)h(the)g(columns)e(of)i(a)g(matrix.)k (Similar)14 b(to)j(RN-)510 1552 y(RMS.)120 1651 y Fh(R)n(OSCAL)161 b Fl(Scales)13 b(the)f(ro)o(ws)i(of)f(a)h(matrix)d(b)o(y)h(their)h(norms.)19 b(The)13 b(same)f(three)h(norms)510 1711 y(as)k(in)f(RNRMS)f(are)h(a)o(v)m (ailable.)120 1810 y Fh(COSCAL)161 b Fl(Scales)18 b(the)h(columns)e(of)i(a)h (matrix)d(b)o(y)h(their)g(norms.)28 b(The)19 b(same)f(three)510 1870 y(norms)e(as)g(in)g(RNRMS)g(are)g(a)o(v)m(ailable.)120 1969 y Fh(ADDBLK)144 b Fl(Adds)16 b(a)h(matrix)d(B)i(in)o(to)g(a)h(blo)q(c)o (k)e(of)i(A.)120 2089 y Fh(GET1UP)161 b Fl(Collects)22 b(the)h(\014rst)h (elemen)o(t)o(s)d(of)i(eac)o(h)g(ro)o(w)g(of)g(the)g(upp)q(er)h(triangular) 510 2149 y(p)q(ortion)17 b(of)g(the)f(matrix.)120 2258 y Fh(XTR)n(O)n(WS)140 b Fl(Extracts)16 b(giv)o(en)g(ro)o(ws)g(from)g(a)g(matrix)f(in)h(CSR)g (format.)120 2378 y Fh(CSRKVSTR)79 b Fl(Finds)16 b(blo)q(c)o(k)g (partitioning)g(of)h(matrix)d(in)i(CSR)g(format.)120 2498 y Fh(CSRKVSTC)81 b Fl(Finds)16 b(blo)q(c)o(k)g(column)e(partitioning)j(of)f (matrix)f(in)h(CSR)g(format.)120 2618 y Fh(KVSTMER)n(GE)23 b Fl(Merges)16 b(blo)q(c)o(k)g(partitionings)g(for)h(conformal)e(ro)o (w/column)g(pattern.)p eop %%Page: 16 16 16 15 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(16)60 144 y Fk(4)83 b(Input/Output)27 b(routines)60 253 y Fl(The)19 b(INOUT)e(mo)q(dule)g(of)i(SP)l(ARSKIT)f(comprises)f(a)i(few)g(routines)f (for)h(reading,)g(writing,)f(and)60 314 y(for)d(plotting)h(and)f(visualizing) g(the)f(structure)h(of)h(sparse)g(matrices.)j(Man)o(y)14 b(of)i(these)f (routines)g(are)60 374 y(essen)o(tially)h(geared)j(to)o(w)o(ards)f(the)g (utilization)f(of)h(the)g(Harw)o(ell/Bo)q(eing)f(collection)g(of)h(matrices.) 60 434 y(There)e(are)g(curren)o(tly)f(elev)o(en)f(subroutines)j(in)f(this)g (mo)q(dule.)120 644 y Fh(READMT)134 b Fl(Reads)17 b(a)f(matrix)f(in)h(the)g (Harw)o(ell/Bo)q(eing)f(format.)120 764 y Fh(PR)-5 b(TMT)184 b Fl(Creates)15 b(a)g(Harw)o(ell)f(Bo)q(eing)h(\014le)f(from)g(an)h (arbitrary)g(matrix)e(in)i(CSR)g(or)510 824 y(CSC)i(format.)120 923 y Fh(DUMP)213 b Fl(DUMP)21 b(prin)o(ts)f(the)g(ro)o(ws)i(of)f(a)g(matrix) e(in)i(a)g(\014le,)g(in)f(a)h(nice)f(readable)510 983 y(format.)39 b(The)22 b(b)q(est)h(format)e(is)h(in)o(ternally)f(calculated)g(dep)q(ending) i(on)510 1044 y(the)18 b(n)o(um)o(b)q(er)f(of)h(nonzero)h(elemen)o(ts.)24 b(This)19 b(is)f(a)h(simple)d(routine)i(whic)o(h)510 1104 y(migh)o(t)d(b)q(e) h(helpful)f(for)i(debugging)g(purp)q(oses.)120 1212 y Fh(PSPL)-5 b(TM)162 b Fl(Generates)16 b(a)h(p)q(ost-script)g(plot)f(of)h(the)f(non-zero) h(pattern)f(of)h(A.)120 1332 y Fh(PL)-5 b(TMT)192 b Fl(Creates)16 b(a)h(pic)f(\014le)f(for)i(plotting)f(the)g(pattern)g(of)h(a)g(matrix.)120 1453 y Fh(SMMS)222 b Fl(W)l(rite)15 b(the)h(matrx)f(in)h(a)h(format)f(used)g (in)g(SMMS)g(pac)o(k)m(age.)120 1573 y Fh(READSM)142 b Fl(Reads)17 b(matrices)d(in)i(co)q(ordinate)h(format)e(\(as)i(in)f(SMMS)g(pac)o(k)m (age\).)120 1693 y Fh(READSK)151 b Fl(Reads)17 b(matrices)d(in)i(CSR)g (format)g(\(simpli\014ed)e(H/B)h(format\).)120 1813 y Fh(SKIT)255 b Fl(W)l(rites)16 b(matrices)e(to)j(a)f(\014le,)f(format)h(same)f(as)i(ab)q (o)o(v)o(e.)120 1933 y Fh(PR)-5 b(TUNF)154 b Fl(W)l(rites)16 b(matrices)e(\(in)i(CSR)g(format\))g(in)g(unformatted)f(\014les.)120 2054 y Fh(READUNF)104 b Fl(Reads)17 b(unformatted)e(\014le)h(con)o(taining)g (matrices)e(in)i(CSR)g(format.)120 2264 y(The)22 b(routines)f(readm)o(t)f (and)j(prtm)o(t)d(allo)o(w)h(to)h(read)g(and)g(create)f(\014les)g(con)o (taining)h(matrices)60 2324 y(stored)d(in)f(the)h(H/B)f(format.)27 b(F)l(or)19 b(details)f(concerning)g(this)h(format)f(the)g(reader)h(is)f (referred)g(to)60 2384 y([4])d(or)h(the)f(summary)e(giv)o(en)i(in)g(the)g(do) q(cumen)o(tation)g(of)h(the)f(subroutine)h(READMT.)f(While)f(the)60 2444 y(purp)q(ose)g(of)f(readm)o(t)e(is)i(clear,)f(it)g(is)h(not)g(ob)o (vious)g(that)g(one)g(single)f(subroutine)h(can)g(write)g(a)g(matrix)60 2504 y(in)19 b(H/B)g(format)g(and)h(still)e(satisfy)i(the)f(needs)g(of)h(all) f(users.)31 b(F)l(or)19 b(example)f(for)h(some)g(matrices)60 2565 y(all)c(nonzero)h(en)o(tries)e(are)i(actually)f(in)o(tegers)g(and)h(a)g (format)f(using)h(sa)o(y)f(a)h(10)h(digit)e(man)o(tissa)g(ma)o(y)60 2625 y(en)o(tail)21 b(an)h(enormous)f(w)o(aste)h(of)g(storage)h(if)e(the)g (matrix)f(is)i(large.)37 b(The)22 b(solution)g(pro)o(vided)f(is)60 2685 y(to)e(compute)e(in)o(ternally)g(the)h(b)q(est)h(formats)f(for)h(the)f (in)o(teger)g(arra)o(ys)h(IA)f(and)h(JA.)f(A)g(little)f(help)p eop %%Page: 17 17 17 16 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(17)60 132 y(is)17 b(required)g(from)f(the)i(user)f(for)h(the)g(real)f(v)m(alues)h (in)f(the)g(arra)o(ys)h(A)f(and)i(RHS.)d(Sp)q(eci\014cally)l(,)g(the)60 192 y(desired)11 b(format)g(is)g(obtained)h(from)f(a)h(parameter)f(of)h(the)f (subroutine)h(b)o(y)f(using)h(a)g(simple)e(notation,)60 252 y(whic)o(h)16 b(is)g(explained)f(in)h(detail)f(in)h(the)g(do)q(cumen)o (tation)f(of)i(the)f(routine.)120 312 y(Besides)i(the)h(pair)g(of)g(routines) h(that)f(can)g(read/write)g(matrices)f(in)g(H/B)h(format,)f(there)h(are)60 372 y(three)e(other)h(pairs)f(whic)o(h)g(can)h(b)q(e)f(used)h(to)g(input)f (and)h(output)h(matrices)c(in)i(di\013eren)o(t)g(formats.)60 432 y(The)12 b(SMMS)f(and)i(READSM)e(pair)h(write)f(and)i(read)f(matrices)e (in)h(the)h(format)f(used)h(in)f(the)h(pac)o(k)m(age)60 493 y(SMMS.)j(Sp)q(eci\014cally)l(,)f(READSM)i(reads)g(a)h(matrix)d(in)i(SMMS)f (format)h(from)f(a)h(\014le)g(and)g(outputs)60 553 y(it)21 b(in)g(CSR)g(format.)36 b(SMMS)21 b(accepts)g(a)g(matrix)f(in)h(CSR)g(format) g(and)h(writes)f(it)f(to)i(a)g(\014le)e(in)60 613 y(SMMS)c(format.)21 b(The)16 b(SMMS)g(format)g(is)g(essen)o(tially)e(a)j(COO)f(format.)21 b(The)c(size)e(of)i(the)f(matrix)60 673 y(app)q(ears)f(in)e(the)g(\014rst)h (line)e(of)h(the)h(\014le.)19 b(Eac)o(h)14 b(other)f(line)f(of)i(the)f (\014le)g(con)o(tains)g(triplets)g(in)g(the)g(form)60 733 y(of)i(\()p Fj(i)p Fl(,)f Fj(j)s Fl(,)h Fj(a)256 740 y Ff(ij)286 733 y Fl(\))f(whic)o(h)g(denote)h(the)g(non-zero)g(elemen)o(ts)d(of)j(the)f (matrix.)19 b(Similarly)l(,)12 b(READSK)i(and)60 794 y(SKIT)f(read)f(and)i (write)e(matrices)e(in)j(CSR)g(format.)19 b(This)13 b(pair)f(is)h(v)o(ery)e (similar)g(to)i(READMT)f(and)60 854 y(PR)l(TMT,)k(only)h(that)g(the)g (\014les)f(read/written)h(b)o(y)f(READSK)h(and)g(SKIT)g(do)g(not)g(ha)o(v)o (e)f(headers.)60 914 y(The)g(pair)f(READUNF)g(and)h(PR)l(TUNF)f(reads)h(and)h (writes)e(the)g(matrices)f(\(stored)i(as)h Fj(ia)p Fl(,)d Fj(j)s(a)h Fl(and)60 974 y Fj(a)p Fl(\))k(in)g(binary)g(form,)g(i.e.)f(the)h(n)o(um)o(b) q(er)e(in)i(the)g(\014le)g(written)g(b)o(y)g(PR)l(TUNF)f(will)h(b)q(e)g(in)g (mac)o(hine)60 1034 y(represen)o(tations.)26 b(The)18 b(primary)e(motiv)m (ation)h(for)h(this)g(is)f(that)i(handling)f(the)f(arra)o(ys)i(in)e(binary)60 1095 y(form)c(tak)o(es)g(less)g(space)h(than)g(in)g(the)f(usual)h(ASCI)q(I)f (form,)g(and)h(is)f(usually)h(faster.)20 b(If)13 b(the)h(matrices)60 1155 y(are)i(large)h(and)g(they)f(are)g(only)h(used)f(on)h(compatible)d (computers,)h(it)h(migh)o(t)f(b)q(e)i(desirable)e(to)i(use)60 1215 y(unformatted)e(\014les.)120 1275 y(W)l(e)22 b(found)h(it)f(extremel)o (y)d(useful)j(to)h(b)q(e)f(able)g(to)h(visualize)d(a)j(sparse)g(matrix,)e (notably)i(for)60 1335 y(debugging)15 b(purp)q(oses.)21 b(A)14 b(simple)e(lo)q(ok)i(at)g(the)g(plot)g(can)g(sometimes)d(rev)o(eal)h(whether) i(the)g(matrix)60 1396 y(obtained)j(from)f(some)f(reordering)i(tec)o(hnique)e (do)q(es)i(indeed)f(ha)o(v)o(e)g(the)h(exp)q(ected)f(structure.)22 b(F)l(or)60 1456 y(no)o(w)16 b(t)o(w)o(o)f(simple)e(plotting)j(mec)o(hanisms) c(are)k(pro)o(vided.)k(First,)15 b(a)h(prepro)q(cessor)g(called)e(PL)l(TMT)60 1516 y(to)20 b(the)f(Unix)g(utilit)o(y)e(`Pic')h(allo)o(ws)i(one)f(to)h (generate)f(a)h(pic)f(\014le)g(from)f(a)i(matrix)e(that)i(is)f(in)g(the)60 1576 y(Harw)o(ell/Bo)q(eing)d(format)g(or)h(an)o(y)g(other)g(format.)23 b(F)l(or)17 b(example)d(for)k(a)f(Harw)o(ell/Bo)q(eing)f(matrix)60 1636 y(\014le,)f(the)h(command)e(is)i(of)h(the)f(form)737 1738 y Fa(hb2pic.ex)23 b(<)i(HB)p 1100 1738 16 2 v 18 w(file.)60 1840 y Fl(The)13 b(output)g(\014le)f(is)h(then)f(prin)o(ted)g(b)o(y)g(the)h (usual)g(tro\013)g(or)g(T)l(eX)f(commands.)19 b(A)12 b(translation)h(of)g (this)60 1900 y(routine)j(in)o(to)g(one)g(that)h(generates)g(a)f(p)q (ost-script)h(\014le)f(is)g(also)h(a)o(v)m(ailable)e(\(called)h(PSPL)l(TM\).) g(W)l(e)60 1960 y(should)g(p)q(oin)o(t)g(out)g(that)g(the)g(plotting)g (routines)f(are)h(v)o(ery)e(simple)g(in)h(nature)h(and)h(should)f(not)g(b)q (e)60 2020 y(used)c(to)h(plot)f(large)g(matrices.)18 b(F)l(or)12 b(example)e(the)i(pltm)o(t)e(routine)i(outputs)h(one)g(pic)e(command)f(line) 60 2080 y(for)16 b(ev)o(ery)d(nonzero)j(elemen)o(t.)i(This)d(constitutes)h(a) f(con)o(v)o(enien)o(t)f(to)q(ol)i(for)f(do)q(cumen)o(t)f(preparation)60 2141 y(for)g(example.)k(Matrices)12 b(of)i(size)e(just)h(up)h(to)g(a)f(few)g (thousands)i(can)f(b)q(e)f(prin)o(ted)f(this)h(w)o(a)o(y)l(.)20 b(Sev)o(eral)60 2201 y(options)d(concerning)f(the)g(size)f(of)i(the)f(plot)g (and)h(caption)f(generation)h(are)f(a)o(v)m(ailable.)120 2261 y(There)h(is)g(also)h(a)g(simple)d(utilit)o(y)g(program)i(called)f(\\h)o (b2ps")j(whic)o(h)d(tak)o(es)h(a)h(matrix)e(\014le)g(with)60 2321 y(HB)21 b(format)g(and)i(translates)f(it)f(in)o(to)h(a)g(p)q(ost-script) h(\014le.)37 b(The)22 b(usage)h(of)f(this)g(program)g(is)f(as)60 2381 y(follo)o(ws:)523 2483 y Fa(hb2ps.ex)i(<)i(HB)p 860 2483 V 18 w(file)f(>)h(Postscript)p 1316 2483 V 15 w(file.)60 2585 y Fl(The)17 b(\014le)f(can)i(b)q(e)f(preview)o(ed)e(with)i(ghostscript.)24 b(The)17 b(follo)o(wing)g(graph)h(sho)o(ws)g(a)f(pattern)g(of)h(an)60 2645 y(unsymmetric)13 b(matrix.)p eop %%Page: 18 18 18 17 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(18)240 90 y 23681433 20366028 0 0 34666987 29864919 startTexFig 240 90 a %%BeginDocument: jpwh.ps %! %%Creator: PSPLTM routine %%309.92 133.88 1244.56 1165.72 %%74 94 527 454 %%BoundingBox: 0 0 527 454 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 0.500000 cm scalefont setfont 10.7950 cm 2.15000 cm moveto (AN UNSYMMETRIC MATRIX FROM PHILIPS LTD, J.P.WHELAN,1978.) Cshow 4.44500 cm 3.35000 cm translate 12.7000 cm 992 div dup scale 0.250000 setlinewidth newpath 0 0 moveto 992 0 lineto 992 992 lineto 0 992 lineto closepath stroke 0.2 setlinewidth 1 1 translate 0.8 setlinewidth /p {moveto 0 -.40 rmoveto 0 .80 rlineto stroke} def 0 990 p 83 990 p 1 989 p 84 989 p 121 989 p 146 989 p 164 989 p 2 988 p 121 988 p 3 987 p 121 987 p 122 987 p 140 987 p 4 986 p 84 986 p 122 986 p 5 985 p 6 984 p 100 984 p 123 984 p 7 983 p 106 983 p 123 983 p 124 983 p 8 982 p 106 982 p 111 982 p 123 982 p 9 981 p 10 980 p 95 980 p 11 979 p 106 979 p 125 979 p 138 979 p 152 979 p 12 978 p 85 978 p 95 978 p 125 978 p 13 977 p 119 977 p 14 976 p 119 976 p 126 976 p 15 975 p 119 975 p 158 975 p 16 974 p 93 974 p 126 974 p 17 973 p 93 973 p 18 972 p 93 972 p 19 971 p 101 971 p 113 971 p 20 970 p 101 970 p 139 970 p 21 969 p 82 969 p 98 969 p 101 969 p 22 968 p 98 968 p 23 967 p 98 967 p 24 966 p 25 965 p 114 965 p 139 965 p 141 965 p 153 965 p 163 965 p 26 964 p 127 964 p 139 964 p 141 964 p 27 963 p 114 963 p 28 962 p 115 962 p 143 962 p 155 962 p 165 962 p 194 962 p 29 961 p 114 961 p 143 961 p 30 960 p 128 960 p 143 960 p 31 959 p 105 959 p 117 959 p 129 959 p 166 959 p 32 958 p 105 958 p 33 957 p 83 957 p 105 957 p 34 956 p 83 956 p 94 956 p 35 955 p 94 955 p 102 955 p 36 954 p 94 954 p 37 953 p 91 953 p 128 953 p 38 952 p 39 951 p 103 951 p 112 951 p 116 951 p 128 951 p 154 951 p 156 951 p 159 951 p 167 951 p 40 950 p 91 950 p 104 950 p 41 949 p 92 949 p 103 949 p 42 948 p 104 948 p 43 947 p 44 946 p 92 946 p 108 946 p 130 946 p 45 945 p 92 945 p 130 945 p 46 944 p 47 943 p 102 943 p 131 943 p 48 942 p 102 942 p 107 942 p 132 942 p 49 941 p 108 941 p 132 941 p 50 940 p 107 940 p 51 939 p 111 939 p 161 939 p 168 939 p 180 939 p 52 938 p 107 938 p 53 937 p 54 936 p 100 936 p 110 936 p 111 936 p 55 935 p 82 935 p 56 934 p 84 934 p 100 934 p 110 934 p 57 933 p 95 933 p 58 932 p 85 932 p 108 932 p 59 931 p 85 931 p 109 931 p 60 930 p 91 930 p 109 930 p 61 929 p 99 929 p 131 929 p 133 929 p 62 928 p 131 928 p 63 927 p 103 927 p 64 926 p 99 926 p 65 925 p 127 925 p 66 924 p 109 924 p 126 924 p 67 923 p 115 923 p 68 922 p 82 922 p 113 922 p 118 922 p 69 921 p 113 921 p 134 921 p 158 921 p 169 921 p 178 921 p 188 921 p 212 921 p 70 920 p 134 920 p 71 919 p 134 919 p 72 918 p 73 917 p 135 917 p 74 916 p 117 916 p 75 915 p 117 915 p 136 915 p 76 914 p 136 914 p 77 913 p 116 913 p 136 913 p 144 913 p 147 913 p 78 912 p 96 912 p 79 911 p 112 911 p 116 911 p 144 911 p 145 911 p 187 911 p 80 910 p 96 910 p 124 910 p 81 909 p 112 909 p 124 909 p 140 909 p 145 909 p 170 909 p 82 908 p 118 908 p 168 908 p 181 908 p 195 908 p 83 907 p 171 907 p 182 907 p 190 907 p 84 906 p 146 906 p 151 906 p 172 906 p 213 906 p 85 905 p 120 905 p 160 905 p 173 905 p 197 905 p 86 904 p 99 904 p 159 904 p 82 903 p 87 903 p 118 903 p 88 902 p 164 902 p 174 902 p 89 901 p 129 901 p 90 900 p 96 900 p 138 900 p 158 900 p 175 900 p 91 899 p 104 899 p 115 899 p 154 899 p 155 899 p 176 899 p 92 898 p 133 898 p 177 898 p 93 897 p 127 897 p 178 897 p 193 897 p 220 897 p 94 896 p 179 896 p 189 896 p 95 895 p 125 895 p 173 895 p 180 895 p 183 895 p 96 894 p 144 894 p 152 894 p 175 894 p 203 894 p 97 893 p 122 893 p 140 893 p 98 892 p 153 892 p 184 892 p 195 892 p 99 891 p 150 891 p 170 891 p 221 891 p 100 890 p 110 890 p 172 890 p 186 890 p 101 889 p 181 889 p 209 889 p 264 889 p 102 888 p 148 888 p 157 888 p 163 888 p 179 888 p 198 888 p 214 888 p 103 887 p 133 887 p 159 887 p 162 887 p 200 887 p 91 886 p 104 886 p 120 886 p 154 886 p 162 886 p 176 886 p 105 885 p 129 885 p 149 885 p 182 885 p 106 884 p 183 884 p 192 884 p 107 883 p 157 883 p 184 883 p 108 882 p 120 882 p 130 882 p 161 882 p 173 882 p 177 882 p 222 882 p 109 881 p 176 881 p 100 880 p 110 880 p 172 880 p 185 880 p 111 879 p 168 879 p 180 879 p 183 879 p 186 879 p 223 879 p 247 879 p 112 878 p 145 878 p 167 878 p 170 878 p 187 878 p 113 877 p 178 877 p 181 877 p 188 877 p 114 876 p 141 876 p 149 876 p 189 876 p 91 875 p 115 875 p 142 875 p 116 874 p 147 874 p 187 874 p 207 874 p 117 873 p 135 873 p 147 873 p 169 873 p 224 873 p 82 872 p 118 872 p 151 872 p 188 872 p 225 872 p 119 871 p 138 871 p 160 871 p 226 871 p 85 870 p 104 870 p 108 870 p 120 870 p 197 870 p 199 870 p 121 869 p 150 869 p 171 869 p 190 869 p 191 869 p 227 869 p 122 868 p 146 868 p 186 868 p 191 868 p 210 868 p 219 868 p 227 868 p 123 867 p 192 867 p 124 866 p 152 866 p 192 866 p 203 866 p 219 866 p 228 866 p 95 865 p 125 865 p 196 865 p 217 865 p 229 865 p 126 864 p 142 864 p 160 864 p 193 864 p 93 863 p 127 863 p 142 863 p 194 863 p 209 863 p 218 863 p 220 863 p 230 863 p 128 862 p 155 862 p 156 862 p 208 862 p 211 862 p 105 861 p 129 861 p 166 861 p 174 861 p 224 861 p 231 861 p 108 860 p 130 860 p 132 860 p 148 860 p 177 860 p 232 860 p 131 859 p 171 859 p 215 859 p 232 859 p 233 859 p 130 858 p 132 858 p 148 858 p 161 858 p 92 857 p 103 857 p 133 857 p 200 857 p 221 857 p 234 857 p 134 856 p 135 856 p 151 856 p 235 856 p 117 855 p 134 855 p 135 855 p 169 855 p 174 855 p 235 855 p 136 854 p 175 854 p 212 854 p 121 853 p 137 853 p 150 853 p 119 852 p 138 852 p 196 852 p 139 851 p 153 851 p 140 850 p 191 850 p 114 849 p 141 849 p 165 849 p 218 849 p 115 848 p 126 848 p 127 848 p 142 848 p 194 848 p 206 848 p 283 848 p 143 847 p 149 847 p 165 847 p 201 847 p 211 847 p 96 846 p 144 846 p 207 846 p 236 846 p 112 845 p 145 845 p 203 845 p 84 844 p 122 844 p 146 844 p 164 844 p 227 844 p 116 843 p 117 843 p 147 843 p 236 843 p 237 843 p 244 843 p 265 843 p 102 842 p 130 842 p 132 842 p 148 842 p 157 842 p 238 842 p 105 841 p 114 841 p 143 841 p 149 841 p 166 841 p 99 840 p 121 840 p 150 840 p 215 840 p 84 839 p 118 839 p 134 839 p 151 839 p 185 839 p 213 839 p 225 839 p 266 839 p 96 838 p 124 838 p 152 838 p 196 838 p 98 837 p 139 837 p 153 837 p 163 837 p 205 837 p 209 837 p 251 837 p 267 837 p 91 836 p 104 836 p 154 836 p 156 836 p 162 836 p 91 835 p 128 835 p 155 835 p 204 835 p 211 835 p 239 835 p 256 835 p 263 835 p 273 835 p 128 834 p 154 834 p 156 834 p 208 834 p 250 834 p 256 834 p 257 834 p 102 833 p 107 833 p 148 833 p 157 833 p 184 833 p 158 832 p 252 832 p 268 832 p 103 831 p 159 831 p 167 831 p 250 831 p 85 830 p 119 830 p 126 830 p 160 830 p 193 830 p 206 830 p 217 830 p 242 830 p 108 829 p 132 829 p 161 829 p 222 829 p 241 829 p 245 829 p 269 829 p 103 828 p 104 828 p 154 828 p 162 828 p 200 828 p 102 827 p 153 827 p 163 827 p 179 827 p 189 827 p 198 827 p 214 827 p 251 827 p 146 826 p 164 826 p 190 826 p 213 826 p 141 825 p 143 825 p 165 825 p 218 825 p 239 825 p 240 825 p 129 824 p 149 824 p 166 824 p 201 824 p 237 824 p 258 824 p 270 824 p 288 824 p 112 823 p 159 823 p 167 823 p 208 823 p 216 823 p 82 822 p 111 822 p 168 822 p 202 822 p 247 822 p 269 822 p 271 822 p 117 821 p 135 821 p 169 821 p 212 821 p 99 820 p 112 820 p 170 820 p 216 820 p 259 820 p 262 820 p 83 819 p 121 819 p 131 819 p 171 819 p 215 819 p 84 818 p 100 818 p 110 818 p 172 818 p 185 818 p 202 818 p 210 818 p 85 817 p 95 817 p 108 817 p 173 817 p 197 817 p 217 817 p 241 817 p 129 816 p 135 816 p 174 816 p 224 816 p 231 816 p 272 816 p 96 815 p 136 815 p 175 815 p 236 815 p 252 815 p 91 814 p 104 814 p 109 814 p 176 814 p 199 814 p 204 814 p 206 814 p 263 814 p 273 814 p 297 814 p 310 814 p 92 813 p 108 813 p 130 813 p 177 813 p 199 813 p 222 813 p 93 812 p 113 812 p 178 812 p 264 812 p 268 812 p 274 812 p 285 812 p 94 811 p 102 811 p 163 811 p 179 811 p 182 811 p 198 811 p 95 810 p 111 810 p 180 810 p 223 810 p 241 810 p 82 809 p 101 809 p 113 809 p 181 809 p 195 809 p 261 809 p 264 809 p 275 809 p 83 808 p 105 808 p 179 808 p 182 808 p 233 808 p 249 808 p 276 808 p 95 807 p 106 807 p 111 807 p 183 807 p 223 807 p 229 807 p 98 806 p 107 806 p 157 806 p 184 806 p 205 806 p 110 805 p 151 805 p 172 805 p 185 805 p 202 805 p 100 804 p 111 804 p 122 804 p 186 804 p 210 804 p 112 803 p 116 803 p 187 803 p 207 803 p 216 803 p 113 802 p 118 802 p 188 802 p 225 802 p 260 802 p 94 801 p 114 801 p 163 801 p 189 801 p 201 801 p 249 801 p 83 800 p 121 800 p 164 800 p 190 800 p 254 800 p 277 800 p 121 799 p 122 799 p 140 799 p 191 799 p 219 799 p 278 799 p 106 798 p 123 798 p 124 798 p 192 798 p 228 798 p 243 798 p 93 797 p 126 797 p 160 797 p 193 797 p 220 797 p 242 797 p 127 796 p 142 796 p 194 796 p 204 796 p 230 796 p 82 795 p 98 795 p 181 795 p 195 795 p 205 795 p 275 795 p 125 794 p 138 794 p 152 794 p 196 794 p 226 794 p 228 794 p 252 794 p 255 794 p 279 794 p 85 793 p 120 793 p 173 793 p 197 793 p 248 793 p 280 793 p 311 793 p 326 793 p 102 792 p 163 792 p 179 792 p 198 792 p 214 792 p 233 792 p 281 792 p 294 792 p 302 792 p 120 791 p 176 791 p 177 791 p 199 791 p 234 791 p 248 791 p 310 791 p 103 790 p 133 790 p 162 790 p 200 790 p 234 790 p 143 789 p 166 789 p 189 789 p 201 789 p 249 789 p 258 789 p 270 789 p 300 789 p 303 789 p 331 789 p 168 788 p 172 788 p 185 788 p 202 788 p 247 788 p 261 788 p 304 788 p 333 788 p 96 787 p 124 787 p 145 787 p 203 787 p 259 787 p 279 787 p 282 787 p 155 786 p 176 786 p 194 786 p 204 786 p 239 786 p 283 786 p 153 785 p 184 785 p 195 785 p 205 785 p 238 785 p 267 785 p 271 785 p 294 785 p 307 785 p 142 784 p 160 784 p 176 784 p 206 784 p 280 784 p 297 784 p 116 783 p 144 783 p 187 783 p 207 783 p 257 783 p 282 783 p 128 782 p 156 782 p 167 782 p 208 782 p 101 781 p 127 781 p 153 781 p 209 781 p 267 781 p 122 780 p 172 780 p 186 780 p 210 780 p 284 780 p 289 780 p 308 780 p 128 779 p 143 779 p 155 779 p 211 779 p 256 779 p 270 779 p 136 778 p 169 778 p 212 778 p 244 778 p 285 778 p 293 778 p 298 778 p 312 778 p 84 777 p 151 777 p 164 777 p 213 777 p 254 777 p 266 777 p 102 776 p 163 776 p 198 776 p 214 776 p 238 776 p 131 775 p 150 775 p 171 775 p 215 775 p 221 775 p 286 775 p 167 774 p 170 774 p 187 774 p 216 774 p 257 774 p 125 773 p 160 773 p 173 773 p 217 773 p 226 773 p 246 773 p 280 773 p 313 773 p 127 772 p 141 772 p 165 772 p 218 772 p 230 772 p 240 772 p 122 771 p 124 771 p 191 771 p 219 771 p 243 771 p 259 771 p 287 771 p 93 770 p 127 770 p 193 770 p 220 770 p 268 770 p 314 770 p 322 770 p 334 770 p 99 769 p 133 769 p 215 769 p 221 769 p 232 769 p 262 769 p 315 769 p 108 768 p 161 768 p 177 768 p 222 768 p 245 768 p 248 768 p 291 768 p 316 768 p 111 767 p 180 767 p 183 767 p 223 767 p 117 766 p 129 766 p 174 766 p 224 766 p 231 766 p 237 766 p 253 766 p 288 766 p 118 765 p 151 765 p 188 765 p 225 765 p 235 765 p 260 765 p 261 765 p 119 764 p 196 764 p 217 764 p 226 764 p 242 764 p 255 764 p 121 763 p 122 763 p 146 763 p 227 763 p 254 763 p 277 763 p 284 763 p 289 763 p 124 762 p 192 762 p 196 762 p 228 762 p 229 762 p 243 762 p 290 762 p 296 762 p 317 762 p 125 761 p 183 761 p 228 761 p 229 761 p 246 761 p 290 761 p 325 761 p 127 760 p 194 760 p 218 760 p 230 760 p 240 760 p 283 760 p 314 760 p 129 759 p 174 759 p 224 759 p 231 759 p 276 759 p 318 759 p 130 758 p 131 758 p 221 758 p 232 758 p 281 758 p 286 758 p 291 758 p 315 758 p 319 758 p 131 757 p 182 757 p 198 757 p 233 757 p 286 757 p 292 757 p 302 757 p 133 756 p 199 756 p 200 756 p 234 756 p 250 756 p 315 756 p 320 756 p 336 756 p 134 755 p 135 755 p 225 755 p 235 755 p 253 755 p 260 755 p 272 755 p 293 755 p 321 755 p 144 754 p 147 754 p 175 754 p 236 754 p 282 754 p 312 754 p 147 753 p 166 753 p 224 753 p 237 753 p 244 753 p 265 753 p 288 753 p 148 752 p 205 752 p 214 752 p 238 752 p 245 752 p 281 752 p 294 752 p 307 752 p 155 751 p 165 751 p 204 751 p 239 751 p 263 751 p 303 751 p 165 750 p 218 750 p 230 750 p 240 750 p 251 750 p 300 750 p 314 750 p 358 750 p 161 749 p 173 749 p 180 749 p 241 749 p 246 749 p 299 749 p 311 749 p 316 749 p 160 748 p 193 748 p 226 748 p 242 748 p 322 748 p 192 747 p 219 747 p 228 747 p 243 747 p 284 747 p 290 747 p 309 747 p 317 747 p 359 747 p 147 746 p 212 746 p 237 746 p 244 746 p 253 746 p 265 746 p 312 746 p 323 746 p 161 745 p 222 745 p 238 745 p 245 745 p 269 745 p 316 745 p 324 745 p 217 744 p 229 744 p 241 744 p 246 744 p 255 744 p 299 744 p 311 744 p 313 744 p 325 744 p 342 744 p 354 744 p 360 744 p 388 744 p 403 744 p 111 743 p 168 743 p 202 743 p 247 743 p 299 743 p 197 742 p 199 742 p 222 742 p 248 742 p 291 742 p 326 742 p 357 742 p 182 741 p 189 741 p 201 741 p 249 741 p 258 741 p 156 740 p 159 740 p 234 740 p 250 740 p 310 740 p 327 740 p 347 740 p 153 739 p 163 739 p 240 739 p 251 739 p 300 739 p 158 738 p 175 738 p 196 738 p 252 738 p 279 738 p 328 738 p 335 738 p 345 738 p 356 738 p 224 737 p 235 737 p 244 737 p 253 737 p 272 737 p 323 737 p 329 737 p 338 737 p 190 736 p 213 736 p 227 736 p 254 736 p 277 736 p 289 736 p 301 736 p 318 736 p 330 736 p 196 735 p 226 735 p 246 735 p 255 735 p 296 735 p 328 735 p 354 735 p 422 735 p 155 734 p 156 734 p 211 734 p 256 734 p 327 734 p 348 734 p 350 734 p 156 733 p 207 733 p 216 733 p 257 733 p 295 733 p 332 733 p 347 733 p 361 733 p 166 732 p 201 732 p 249 732 p 258 732 p 276 732 p 306 732 p 331 732 p 362 732 p 170 731 p 203 731 p 219 731 p 259 731 p 262 731 p 295 731 p 317 731 p 353 731 p 363 731 p 188 730 p 225 730 p 235 730 p 260 730 p 274 730 p 285 730 p 293 730 p 321 730 p 181 729 p 202 729 p 225 729 p 261 729 p 266 729 p 275 729 p 333 729 p 341 729 p 364 729 p 170 728 p 221 728 p 259 728 p 262 728 p 278 728 p 287 728 p 320 728 p 361 728 p 363 728 p 365 728 p 375 728 p 155 727 p 176 727 p 239 727 p 263 727 p 273 727 p 327 727 p 344 727 p 350 727 p 366 727 p 101 726 p 178 726 p 181 726 p 264 726 p 274 726 p 305 726 p 334 726 p 147 725 p 237 725 p 244 725 p 265 725 p 323 725 p 332 725 p 348 725 p 367 725 p 151 724 p 213 724 p 261 724 p 266 724 p 301 724 p 321 724 p 333 724 p 153 723 p 205 723 p 209 723 p 267 723 p 305 723 p 358 723 p 368 723 p 370 723 p 158 722 p 178 722 p 220 722 p 268 722 p 298 722 p 328 722 p 369 722 p 374 722 p 387 722 p 405 722 p 161 721 p 168 721 p 245 721 p 269 721 p 271 721 p 307 721 p 349 721 p 166 720 p 201 720 p 211 720 p 270 720 p 303 720 p 331 720 p 348 720 p 355 720 p 168 719 p 205 719 p 269 719 p 271 719 p 304 719 p 370 719 p 174 718 p 235 718 p 253 718 p 272 718 p 318 718 p 338 718 p 155 717 p 176 717 p 263 717 p 273 717 p 178 716 p 260 716 p 264 716 p 274 716 p 334 716 p 341 716 p 369 716 p 371 716 p 181 715 p 195 715 p 261 715 p 275 715 p 305 715 p 182 714 p 231 714 p 258 714 p 276 714 p 306 714 p 362 714 p 372 714 p 190 713 p 227 713 p 254 713 p 277 713 p 278 713 p 292 713 p 330 713 p 191 712 p 262 712 p 277 712 p 278 712 p 287 712 p 337 712 p 343 712 p 352 712 p 196 711 p 203 711 p 252 711 p 279 711 p 296 711 p 335 711 p 353 711 p 197 710 p 206 710 p 217 710 p 280 710 p 313 710 p 198 709 p 232 709 p 238 709 p 281 709 p 319 709 p 324 709 p 339 709 p 203 708 p 207 708 p 236 708 p 282 708 p 295 708 p 335 708 p 353 708 p 142 707 p 204 707 p 230 707 p 283 707 p 297 707 p 210 706 p 227 706 p 243 706 p 284 706 p 308 706 p 343 706 p 359 706 p 377 706 p 178 705 p 212 705 p 260 705 p 285 705 p 298 705 p 215 704 p 232 704 p 233 704 p 286 704 p 292 704 p 302 704 p 337 704 p 346 704 p 351 704 p 219 703 p 262 703 p 278 703 p 287 703 p 343 703 p 166 702 p 224 702 p 237 702 p 288 702 p 338 702 p 355 702 p 210 701 p 227 701 p 254 701 p 289 701 p 301 701 p 308 701 p 330 701 p 228 700 p 229 700 p 243 700 p 290 700 p 309 700 p 222 699 p 232 699 p 248 699 p 291 699 p 319 699 p 336 699 p 233 698 p 277 698 p 286 698 p 292 698 p 337 698 p 346 698 p 212 697 p 235 697 p 260 697 p 293 697 p 329 697 p 198 696 p 205 696 p 238 696 p 294 696 p 370 696 p 373 696 p 376 696 p 390 696 p 257 695 p 259 695 p 282 695 p 295 695 p 228 694 p 255 694 p 279 694 p 296 694 p 325 694 p 345 694 p 354 694 p 406 694 p 427 694 p 428 694 p 176 693 p 206 693 p 283 693 p 297 693 p 322 693 p 344 693 p 407 693 p 212 692 p 268 692 p 285 692 p 298 692 p 369 692 p 374 692 p 395 692 p 241 691 p 246 691 p 247 691 p 299 691 p 304 691 p 309 691 p 388 691 p 408 691 p 201 690 p 240 690 p 251 690 p 300 690 p 306 690 p 358 690 p 384 690 p 386 690 p 393 690 p 400 690 p 254 689 p 266 689 p 289 689 p 301 689 p 409 689 p 430 689 p 198 688 p 233 688 p 286 688 p 302 688 p 373 688 p 201 687 p 239 687 p 270 687 p 303 687 p 350 687 p 202 686 p 271 686 p 299 686 p 304 686 p 340 686 p 264 685 p 267 685 p 275 685 p 305 685 p 341 685 p 368 685 p 258 684 p 276 684 p 300 684 p 306 684 p 362 684 p 384 684 p 401 684 p 205 683 p 238 683 p 269 683 p 307 683 p 349 683 p 210 682 p 284 682 p 289 682 p 308 682 p 340 682 p 410 682 p 447 682 p 243 681 p 290 681 p 299 681 p 309 681 p 388 681 p 402 681 p 176 680 p 199 680 p 250 680 p 310 680 p 326 680 p 336 680 p 344 680 p 404 680 p 411 680 p 197 679 p 241 679 p 246 679 p 311 679 p 342 679 p 212 678 p 236 678 p 244 678 p 312 678 p 329 678 p 332 678 p 356 678 p 367 678 p 394 678 p 217 677 p 246 677 p 280 677 p 313 677 p 360 677 p 220 676 p 230 676 p 240 676 p 314 676 p 382 676 p 391 676 p 412 676 p 413 676 p 457 676 p 221 675 p 232 675 p 234 675 p 315 675 p 320 675 p 351 675 p 222 674 p 241 674 p 245 674 p 316 674 p 324 674 p 342 674 p 349 674 p 228 673 p 243 673 p 259 673 p 317 673 p 359 673 p 398 673 p 406 673 p 231 672 p 254 672 p 272 672 p 318 672 p 372 672 p 232 671 p 281 671 p 291 671 p 319 671 p 339 671 p 351 671 p 383 671 p 392 671 p 399 671 p 234 670 p 262 670 p 315 670 p 320 670 p 365 670 p 235 669 p 260 669 p 266 669 p 321 669 p 364 669 p 371 669 p 378 669 p 220 668 p 242 668 p 297 668 p 322 668 p 387 668 p 413 668 p 458 668 p 244 667 p 253 667 p 265 667 p 323 667 p 367 667 p 379 667 p 245 666 p 281 666 p 316 666 p 324 666 p 339 666 p 229 665 p 246 665 p 296 665 p 325 665 p 197 664 p 248 664 p 310 664 p 326 664 p 357 664 p 407 664 p 411 664 p 414 664 p 250 663 p 256 663 p 263 663 p 327 663 p 347 663 p 366 663 p 252 662 p 255 662 p 268 662 p 328 662 p 345 662 p 387 662 p 253 661 p 293 661 p 312 661 p 329 661 p 378 661 p 379 661 p 395 661 p 415 661 p 451 661 p 254 660 p 277 660 p 289 660 p 330 660 p 352 660 p 409 660 p 426 660 p 201 659 p 258 659 p 270 659 p 331 659 p 384 659 p 386 659 p 389 659 p 257 658 p 265 658 p 312 658 p 332 658 p 380 658 p 396 658 p 416 658 p 439 658 p 202 657 p 261 657 p 266 657 p 333 657 p 340 657 p 220 656 p 264 656 p 274 656 p 334 656 p 368 656 p 405 656 p 417 656 p 459 656 p 252 655 p 279 655 p 282 655 p 335 655 p 356 655 p 380 655 p 234 654 p 291 654 p 310 654 p 336 654 p 383 654 p 418 654 p 463 654 p 278 653 p 286 653 p 292 653 p 337 653 p 346 653 p 375 653 p 385 653 p 253 652 p 272 652 p 288 652 p 338 652 p 379 652 p 381 652 p 397 652 p 281 651 p 319 651 p 324 651 p 339 651 p 373 651 p 376 651 p 392 651 p 304 650 p 308 650 p 333 650 p 340 650 p 402 650 p 419 650 p 261 649 p 274 649 p 305 649 p 341 649 p 364 649 p 417 649 p 419 649 p 420 649 p 438 649 p 246 648 p 311 648 p 316 648 p 342 648 p 357 648 p 360 648 p 421 648 p 456 648 p 278 647 p 284 647 p 287 647 p 343 647 p 352 647 p 363 647 p 377 647 p 263 646 p 297 646 p 310 646 p 344 646 p 412 646 p 443 646 p 252 645 p 296 645 p 328 645 p 345 645 p 422 645 p 427 645 p 431 645 p 435 645 p 286 644 p 292 644 p 337 644 p 346 644 p 401 644 p 423 644 p 454 644 p 250 643 p 257 643 p 327 643 p 347 643 p 361 643 p 396 643 p 404 643 p 460 643 p 256 642 p 265 642 p 270 642 p 348 642 p 355 642 p 396 642 p 425 642 p 269 641 p 307 641 p 316 641 p 349 641 p 421 641 p 424 641 p 256 640 p 263 640 p 303 640 p 350 640 p 366 640 p 391 640 p 425 640 p 461 640 p 286 639 p 315 639 p 319 639 p 351 639 p 383 639 p 278 638 p 330 638 p 343 638 p 352 638 p 375 638 p 385 638 p 426 638 p 259 637 p 279 637 p 282 637 p 353 637 p 398 637 p 416 637 p 427 637 p 246 636 p 255 636 p 296 636 p 354 636 p 403 636 p 428 636 p 442 636 p 270 635 p 288 635 p 348 635 p 355 635 p 381 635 p 389 635 p 429 635 p 441 635 p 452 635 p 462 635 p 252 634 p 312 634 p 335 634 p 356 634 p 374 634 p 380 634 p 248 633 p 326 633 p 342 633 p 357 633 p 392 633 p 411 633 p 414 633 p 421 633 p 463 633 p 478 633 p 240 632 p 267 632 p 300 632 p 358 632 p 382 632 p 400 632 p 434 632 p 464 632 p 243 631 p 284 631 p 317 631 p 359 631 p 377 631 p 410 631 p 246 630 p 313 630 p 342 630 p 360 630 p 403 630 p 414 630 p 456 630 p 257 629 p 262 629 p 347 629 p 361 629 p 365 629 p 416 629 p 446 629 p 465 629 p 258 628 p 276 628 p 306 628 p 362 628 p 372 628 p 397 628 p 437 628 p 259 627 p 262 627 p 343 627 p 363 627 p 398 627 p 261 626 p 321 626 p 341 626 p 364 626 p 430 626 p 438 626 p 262 625 p 320 625 p 361 625 p 365 625 p 418 625 p 263 624 p 327 624 p 350 624 p 366 624 p 391 624 p 404 624 p 461 624 p 474 624 p 265 623 p 312 623 p 323 623 p 367 623 p 394 623 p 429 623 p 267 622 p 305 622 p 334 622 p 368 622 p 382 622 p 420 622 p 268 621 p 274 621 p 298 621 p 369 621 p 371 621 p 415 621 p 445 621 p 267 620 p 271 620 p 294 620 p 370 620 p 420 620 p 424 620 p 434 620 p 436 620 p 274 619 p 321 619 p 369 619 p 371 619 p 378 619 p 415 619 p 417 619 p 438 619 p 445 619 p 276 618 p 318 618 p 362 618 p 372 618 p 423 618 p 294 617 p 302 617 p 339 617 p 373 617 p 376 617 p 390 617 p 399 617 p 268 616 p 298 616 p 356 616 p 374 616 p 395 616 p 431 616 p 444 616 p 488 616 p 262 615 p 337 615 p 352 615 p 375 615 p 385 615 p 446 615 p 467 615 p 487 615 p 294 614 p 339 614 p 373 614 p 376 614 p 390 614 p 436 614 p 466 614 p 471 614 p 284 613 p 343 613 p 359 613 p 377 613 p 426 613 p 467 613 p 321 612 p 329 612 p 371 612 p 378 612 p 451 612 p 455 612 p 485 612 p 323 611 p 329 611 p 338 611 p 379 611 p 381 611 p 394 611 p 449 611 p 452 611 p 332 610 p 335 610 p 356 610 p 380 610 p 431 610 p 439 610 p 338 609 p 355 609 p 379 609 p 381 609 p 397 609 p 449 609 p 452 609 p 314 608 p 358 608 p 368 608 p 382 608 p 434 608 p 457 608 p 503 608 p 517 608 p 319 607 p 336 607 p 351 607 p 383 607 p 418 607 p 468 607 p 300 606 p 306 606 p 331 606 p 384 606 p 386 606 p 393 606 p 433 606 p 437 606 p 441 606 p 337 605 p 352 605 p 375 605 p 385 605 p 432 605 p 468 605 p 487 605 p 498 605 p 300 604 p 331 604 p 384 604 p 386 604 p 389 604 p 400 604 p 268 603 p 322 603 p 328 603 p 387 603 p 405 603 p 435 603 p 246 602 p 299 602 p 309 602 p 388 602 p 402 602 p 408 602 p 442 602 p 469 602 p 331 601 p 355 601 p 386 601 p 389 601 p 425 601 p 433 601 p 462 601 p 470 601 p 294 600 p 373 600 p 376 600 p 390 600 p 393 600 p 314 599 p 350 599 p 366 599 p 391 599 p 470 599 p 496 599 p 497 599 p 526 599 p 319 598 p 339 598 p 357 598 p 392 598 p 399 598 p 466 598 p 300 597 p 384 597 p 390 597 p 393 597 p 401 597 p 437 597 p 454 597 p 464 597 p 471 597 p 484 597 p 486 597 p 312 596 p 367 596 p 379 596 p 394 596 p 444 596 p 481 596 p 298 595 p 329 595 p 374 595 p 395 595 p 332 594 p 347 594 p 348 594 p 396 594 p 429 594 p 461 594 p 465 594 p 482 594 p 489 594 p 545 594 p 338 593 p 362 593 p 381 593 p 397 593 p 409 593 p 317 592 p 353 592 p 363 592 p 398 592 p 406 592 p 440 592 p 450 592 p 494 592 p 319 591 p 373 591 p 392 591 p 399 591 p 468 591 p 300 590 p 358 590 p 386 590 p 400 590 p 433 590 p 457 590 p 493 590 p 306 589 p 346 589 p 393 589 p 401 589 p 423 589 p 454 589 p 309 588 p 340 588 p 388 588 p 402 588 p 408 588 p 410 588 p 419 588 p 447 588 p 448 588 p 469 588 p 472 588 p 492 588 p 504 588 p 546 588 p 568 588 p 570 588 p 246 587 p 354 587 p 360 587 p 403 587 p 407 587 p 422 587 p 453 587 p 458 587 p 473 587 p 505 587 p 310 586 p 347 586 p 366 586 p 404 586 p 460 586 p 474 586 p 268 585 p 334 585 p 387 585 p 405 585 p 413 585 p 458 585 p 488 585 p 506 585 p 296 584 p 317 584 p 398 584 p 406 584 p 440 584 p 442 584 p 448 584 p 450 584 p 507 584 p 297 583 p 326 583 p 403 583 p 407 583 p 412 583 p 443 583 p 473 583 p 475 583 p 299 582 p 388 582 p 402 582 p 408 582 p 301 581 p 330 581 p 397 581 p 409 581 p 430 581 p 432 581 p 449 581 p 479 581 p 508 581 p 308 580 p 359 580 p 402 580 p 410 580 p 440 580 p 447 580 p 448 580 p 500 580 p 310 579 p 326 579 p 357 579 p 411 579 p 443 579 p 463 579 p 491 579 p 314 578 p 344 578 p 407 578 p 412 578 p 475 578 p 314 577 p 322 577 p 405 577 p 413 577 p 509 577 p 516 577 p 326 576 p 357 576 p 360 576 p 414 576 p 456 576 p 473 576 p 329 575 p 369 575 p 371 575 p 415 575 p 451 575 p 476 575 p 332 574 p 353 574 p 361 574 p 416 574 p 439 574 p 465 574 p 520 574 p 547 574 p 334 573 p 341 573 p 371 573 p 417 573 p 445 573 p 459 573 p 336 572 p 365 572 p 383 572 p 418 572 p 446 572 p 460 572 p 477 572 p 499 572 p 340 571 p 341 571 p 402 571 p 419 571 p 424 571 p 483 571 p 492 571 p 510 571 p 531 571 p 341 570 p 368 570 p 370 570 p 420 570 p 459 570 p 483 570 p 511 570 p 517 570 p 342 569 p 349 569 p 357 569 p 421 569 p 466 569 p 469 569 p 478 569 p 255 568 p 345 568 p 403 568 p 422 568 p 428 568 p 435 568 p 346 567 p 372 567 p 401 567 p 423 567 p 432 567 p 349 566 p 370 566 p 419 566 p 424 566 p 483 566 p 492 566 p 534 566 p 348 565 p 350 565 p 389 565 p 425 565 p 462 565 p 470 565 p 330 564 p 352 564 p 377 564 p 426 564 p 479 564 p 296 563 p 345 563 p 353 563 p 427 563 p 450 563 p 480 563 p 296 562 p 354 562 p 422 562 p 428 562 p 453 562 p 355 561 p 367 561 p 396 561 p 429 561 p 482 561 p 548 561 p 562 561 p 301 560 p 364 560 p 409 560 p 430 560 p 472 560 p 485 560 p 345 559 p 374 559 p 380 559 p 431 559 p 444 559 p 480 559 p 490 559 p 501 559 p 385 558 p 409 558 p 423 558 p 432 558 p 384 557 p 389 557 p 400 557 p 433 557 p 464 557 p 484 557 p 493 557 p 358 556 p 370 556 p 382 556 p 434 556 p 436 556 p 503 556 p 345 555 p 387 555 p 422 555 p 435 555 p 480 555 p 490 555 p 370 554 p 376 554 p 434 554 p 436 554 p 471 554 p 519 554 p 530 554 p 362 553 p 384 553 p 393 553 p 437 553 p 441 553 p 484 553 p 486 553 p 508 553 p 341 552 p 364 552 p 371 552 p 438 552 p 455 552 p 510 552 p 511 552 p 332 551 p 380 551 p 416 551 p 439 551 p 482 551 p 398 550 p 406 550 p 410 550 p 440 550 p 512 550 p 535 550 p 355 549 p 384 549 p 437 549 p 441 549 p 513 549 p 354 548 p 388 548 p 406 548 p 442 548 p 453 548 p 502 548 p 504 548 p 344 547 p 407 547 p 411 547 p 443 547 p 496 547 p 518 547 p 374 546 p 394 546 p 431 546 p 444 546 p 476 546 p 481 546 p 549 546 p 558 546 p 369 545 p 371 545 p 417 545 p 445 545 p 455 545 p 476 545 p 495 545 p 361 544 p 375 544 p 418 544 p 446 544 p 467 544 p 494 544 p 540 544 p 543 544 p 550 544 p 308 543 p 402 543 p 410 543 p 447 543 p 472 543 p 479 543 p 500 543 p 402 542 p 406 542 p 410 542 p 448 542 p 500 542 p 514 542 p 379 541 p 381 541 p 409 541 p 449 541 p 485 541 p 508 541 p 537 541 p 398 540 p 406 540 p 427 540 p 450 540 p 501 540 p 514 540 p 329 539 p 378 539 p 415 539 p 451 539 p 481 539 p 355 538 p 379 538 p 381 538 p 452 538 p 513 538 p 548 538 p 403 537 p 428 537 p 442 537 p 453 537 p 507 537 p 539 537 p 565 537 p 346 536 p 393 536 p 401 536 p 454 536 p 378 535 p 438 535 p 445 535 p 455 535 p 515 535 p 524 535 p 529 535 p 342 534 p 360 534 p 414 534 p 456 534 p 478 534 p 502 534 p 314 533 p 382 533 p 400 533 p 457 533 p 509 533 p 516 533 p 525 533 p 541 533 p 575 533 p 579 533 p 587 533 p 322 532 p 403 532 p 405 532 p 458 532 p 475 532 p 505 532 p 506 532 p 536 532 p 557 532 p 597 532 p 334 531 p 417 531 p 420 531 p 459 531 p 506 531 p 509 531 p 511 531 p 517 531 p 551 531 p 347 530 p 404 530 p 418 530 p 460 530 p 474 530 p 518 530 p 533 530 p 543 530 p 545 530 p 350 529 p 366 529 p 396 529 p 461 529 p 489 529 p 355 528 p 389 528 p 425 528 p 462 528 p 489 528 p 513 528 p 336 527 p 357 527 p 411 527 p 463 527 p 477 527 p 491 527 p 533 527 p 358 526 p 393 526 p 433 526 p 464 526 p 503 526 p 519 526 p 532 526 p 361 525 p 396 525 p 416 525 p 465 525 p 520 525 p 543 525 p 552 525 p 376 524 p 392 524 p 421 524 p 466 524 p 530 524 p 534 524 p 542 524 p 553 524 p 559 524 p 591 524 p 375 523 p 377 523 p 446 523 p 467 523 p 494 523 p 498 523 p 512 523 p 528 523 p 550 523 p 383 522 p 385 522 p 399 522 p 468 522 p 477 522 p 487 522 p 554 522 p 388 521 p 402 521 p 421 521 p 469 521 p 502 521 p 538 521 p 568 521 p 389 520 p 391 520 p 425 520 p 470 520 p 493 520 p 376 519 p 393 519 p 436 519 p 471 519 p 553 519 p 555 519 p 582 519 p 402 518 p 430 518 p 447 518 p 472 518 p 510 518 p 522 518 p 523 518 p 546 518 p 403 517 p 407 517 p 414 517 p 473 517 p 505 517 p 527 517 p 556 517 p 602 517 p 366 516 p 404 516 p 460 516 p 474 516 p 496 516 p 497 516 p 544 516 p 407 515 p 412 515 p 458 515 p 475 515 p 516 515 p 526 515 p 556 515 p 557 515 p 592 515 p 617 515 p 415 514 p 444 514 p 445 514 p 476 514 p 488 514 p 495 514 p 558 514 p 418 513 p 463 513 p 468 513 p 477 513 p 499 513 p 533 513 p 553 513 p 559 513 p 357 512 p 421 512 p 456 512 p 478 512 p 491 512 p 527 512 p 560 512 p 409 511 p 426 511 p 447 511 p 479 511 p 521 511 p 427 510 p 431 510 p 435 510 p 480 510 p 501 510 p 507 510 p 394 509 p 444 509 p 451 509 p 481 509 p 515 509 p 537 509 p 548 509 p 561 509 p 396 508 p 429 508 p 439 508 p 482 508 p 547 508 p 549 508 p 552 508 p 562 508 p 419 507 p 420 507 p 424 507 p 483 507 p 530 507 p 531 507 p 566 507 p 593 507 p 595 507 p 604 507 p 393 506 p 433 506 p 437 506 p 484 506 p 486 506 p 532 506 p 583 506 p 378 505 p 430 505 p 449 505 p 485 505 p 515 505 p 563 505 p 393 504 p 437 504 p 484 504 p 486 504 p 554 504 p 555 504 p 594 504 p 616 504 p 375 503 p 385 503 p 468 503 p 487 503 p 498 503 p 499 503 p 540 503 p 374 502 p 405 502 p 476 502 p 488 502 p 490 502 p 495 502 p 536 502 p 558 502 p 396 501 p 461 501 p 462 501 p 489 501 p 497 501 p 584 501 p 586 501 p 431 500 p 435 500 p 488 500 p 490 500 p 539 500 p 569 500 p 411 499 p 463 499 p 478 499 p 491 499 p 518 499 p 560 499 p 402 498 p 419 498 p 424 498 p 492 498 p 546 498 p 568 498 p 595 498 p 400 497 p 433 497 p 470 497 p 493 497 p 532 497 p 575 497 p 584 497 p 605 497 p 398 496 p 446 496 p 467 496 p 494 496 p 520 496 p 535 496 p 550 496 p 445 495 p 476 495 p 488 495 p 495 495 p 524 495 p 574 495 p 391 494 p 443 494 p 474 494 p 496 494 p 526 494 p 544 494 p 391 493 p 474 493 p 489 493 p 497 493 p 385 492 p 467 492 p 487 492 p 498 492 p 528 492 p 576 492 p 620 492 p 418 491 p 477 491 p 487 491 p 499 491 p 540 491 p 589 491 p 410 490 p 447 490 p 448 490 p 500 490 p 512 490 p 431 489 p 450 489 p 480 489 p 501 489 p 547 489 p 564 489 p 569 489 p 572 489 p 442 488 p 456 488 p 469 488 p 502 488 p 504 488 p 527 488 p 538 488 p 565 488 p 382 487 p 434 487 p 464 487 p 503 487 p 519 487 p 541 487 p 566 487 p 571 487 p 402 486 p 442 486 p 502 486 p 504 486 p 596 486 p 606 486 p 618 486 p 643 486 p 403 485 p 458 485 p 473 485 p 505 485 p 597 485 p 405 484 p 458 484 p 459 484 p 506 484 p 536 484 p 551 484 p 581 484 p 598 484 p 406 483 p 453 483 p 480 483 p 507 483 p 514 483 p 409 482 p 437 482 p 449 482 p 508 482 p 521 482 p 563 482 p 594 482 p 413 481 p 457 481 p 459 481 p 509 481 p 525 481 p 419 480 p 438 480 p 472 480 p 510 480 p 529 480 p 531 480 p 593 480 p 420 479 p 438 479 p 459 479 p 511 479 p 524 479 p 593 479 p 440 478 p 467 478 p 500 478 p 512 478 p 521 478 p 522 478 p 528 478 p 596 478 p 603 478 p 441 477 p 452 477 p 462 477 p 513 477 p 583 477 p 584 477 p 599 477 p 619 477 p 633 477 p 448 476 p 450 476 p 507 476 p 514 476 p 535 476 p 564 476 p 596 476 p 455 475 p 481 475 p 485 475 p 515 475 p 537 475 p 561 475 p 563 475 p 590 475 p 600 475 p 413 474 p 457 474 p 475 474 p 516 474 p 557 474 p 581 474 p 587 474 p 382 473 p 420 473 p 459 473 p 517 473 p 525 473 p 551 473 p 443 472 p 460 472 p 491 472 p 518 472 p 544 472 p 556 472 p 588 472 p 436 471 p 464 471 p 503 471 p 519 471 p 580 471 p 416 470 p 465 470 p 494 470 p 520 470 p 567 470 p 578 470 p 479 469 p 508 469 p 512 469 p 521 469 p 522 469 p 523 469 p 603 469 p 620 469 p 627 469 p 644 469 p 651 469 p 472 468 p 512 468 p 521 468 p 522 468 p 523 468 p 570 468 p 577 468 p 472 467 p 521 467 p 522 467 p 523 467 p 577 467 p 627 467 p 628 467 p 644 467 p 455 466 p 495 466 p 511 466 p 524 466 p 529 466 p 590 466 p 624 466 p 645 466 p 457 465 p 509 465 p 517 465 p 525 465 p 579 465 p 391 464 p 475 464 p 496 464 p 526 464 p 587 464 p 601 464 p 473 463 p 478 463 p 502 463 p 527 463 p 538 463 p 565 463 p 573 463 p 602 463 p 467 462 p 498 462 p 512 462 p 528 462 p 585 462 p 603 462 p 620 462 p 639 462 p 455 461 p 510 461 p 524 461 p 529 461 p 590 461 p 624 461 p 628 461 p 436 460 p 466 460 p 483 460 p 530 460 p 534 460 p 582 460 p 604 460 p 419 459 p 483 459 p 510 459 p 531 459 p 595 459 p 464 458 p 484 458 p 493 458 p 532 458 p 541 458 p 571 458 p 583 458 p 605 458 p 630 458 p 632 458 p 460 457 p 463 457 p 477 457 p 533 457 p 559 457 p 588 457 p 589 457 p 629 457 p 424 456 p 466 456 p 530 456 p 534 456 p 542 456 p 440 455 p 494 455 p 514 455 p 535 455 p 567 455 p 458 454 p 488 454 p 506 454 p 536 454 p 539 454 p 574 454 p 598 454 p 622 454 p 659 454 p 449 453 p 481 453 p 515 453 p 537 453 p 469 452 p 502 452 p 527 452 p 538 452 p 542 452 p 606 452 p 453 451 p 490 451 p 536 451 p 539 451 p 564 451 p 607 451 p 659 451 p 446 450 p 487 450 p 499 450 p 540 450 p 576 450 p 585 450 p 608 450 p 457 449 p 503 449 p 532 449 p 541 449 p 575 449 p 609 449 p 466 448 p 534 448 p 538 448 p 542 448 p 591 448 p 621 448 p 626 448 p 446 447 p 460 447 p 465 447 p 543 447 p 589 447 p 610 447 p 613 447 p 665 447 p 474 446 p 496 446 p 518 446 p 544 446 p 545 446 p 588 446 p 592 446 p 610 446 p 635 446 p 637 446 p 396 445 p 460 445 p 544 445 p 545 445 p 586 445 p 610 445 p 402 444 p 472 444 p 492 444 p 546 444 p 570 444 p 577 444 p 618 444 p 416 443 p 482 443 p 501 443 p 547 443 p 549 443 p 552 443 p 611 443 p 429 442 p 452 442 p 481 442 p 548 442 p 562 442 p 599 442 p 612 442 p 444 441 p 482 441 p 547 441 p 549 441 p 572 441 p 611 441 p 446 440 p 467 440 p 494 440 p 550 440 p 578 440 p 585 440 p 459 439 p 506 439 p 517 439 p 551 439 p 566 439 p 579 439 p 581 439 p 631 439 p 645 439 p 646 439 p 691 439 p 716 439 p 465 438 p 482 438 p 547 438 p 552 438 p 611 438 p 613 438 p 638 438 p 647 438 p 466 437 p 471 437 p 477 437 p 553 437 p 554 437 p 582 437 p 614 437 p 468 436 p 486 436 p 553 436 p 554 436 p 555 436 p 576 436 p 615 436 p 616 436 p 471 435 p 486 435 p 554 435 p 555 435 p 580 435 p 615 435 p 616 435 p 473 434 p 475 434 p 518 434 p 556 434 p 573 434 p 592 434 p 602 434 p 617 434 p 625 434 p 648 434 p 692 434 p 458 433 p 475 433 p 516 433 p 557 433 p 597 433 p 598 433 p 617 433 p 660 433 p 444 432 p 476 432 p 488 432 p 558 432 p 561 432 p 569 432 p 574 432 p 466 431 p 477 431 p 533 431 p 559 431 p 560 431 p 629 431 p 649 431 p 478 430 p 491 430 p 559 430 p 560 430 p 573 430 p 626 430 p 481 429 p 515 429 p 558 429 p 561 429 p 612 429 p 623 429 p 650 429 p 429 428 p 482 428 p 548 428 p 562 428 p 640 428 p 485 427 p 508 427 p 515 427 p 563 427 p 600 427 p 619 427 p 651 427 p 501 426 p 514 426 p 539 426 p 564 426 p 567 426 p 607 426 p 652 426 p 653 426 p 658 426 p 664 426 p 686 426 p 693 426 p 453 425 p 502 425 p 527 425 p 565 425 p 606 425 p 607 425 p 625 425 p 483 424 p 503 424 p 551 424 p 566 424 p 571 424 p 609 424 p 642 424 p 520 423 p 535 423 p 564 423 p 567 423 p 578 423 p 641 423 p 652 423 p 653 423 p 686 423 p 690 423 p 694 423 p 402 422 p 469 422 p 492 422 p 568 422 p 618 422 p 490 421 p 501 421 p 558 421 p 569 421 p 572 421 p 622 421 p 402 420 p 522 420 p 546 420 p 570 420 p 503 419 p 532 419 p 566 419 p 571 419 p 580 419 p 630 419 p 642 419 p 501 418 p 549 418 p 569 418 p 572 418 p 652 418 p 654 418 p 527 417 p 556 417 p 560 417 p 573 417 p 648 417 p 495 416 p 536 416 p 558 416 p 574 416 p 622 416 p 645 416 p 650 416 p 457 415 p 493 415 p 541 415 p 575 415 p 632 415 p 498 414 p 540 414 p 554 414 p 576 414 p 614 414 p 634 414 p 655 414 p 695 414 p 522 413 p 523 413 p 546 413 p 577 413 p 627 413 p 643 413 p 656 413 p 669 413 p 670 413 p 696 413 p 520 412 p 550 412 p 567 412 p 578 412 p 608 412 p 613 412 p 641 412 p 457 411 p 525 411 p 551 411 p 579 411 p 609 411 p 519 410 p 555 410 p 571 410 p 580 410 p 636 410 p 506 409 p 516 409 p 551 409 p 581 409 p 631 409 p 471 408 p 530 408 p 553 408 p 582 408 p 591 408 p 615 408 p 636 408 p 657 408 p 484 407 p 513 407 p 532 407 p 583 407 p 594 407 p 630 407 p 633 407 p 671 407 p 489 406 p 493 406 p 513 406 p 584 406 p 586 406 p 599 406 p 601 406 p 605 406 p 633 406 p 640 406 p 680 406 p 697 406 p 528 405 p 540 405 p 550 405 p 585 405 p 639 405 p 641 405 p 489 404 p 545 404 p 584 404 p 586 404 p 637 404 p 638 404 p 640 404 p 683 404 p 457 403 p 516 403 p 526 403 p 587 403 p 601 403 p 631 403 p 667 403 p 518 402 p 533 402 p 544 402 p 588 402 p 648 402 p 676 402 p 698 402 p 739 402 p 499 401 p 533 401 p 543 401 p 589 401 p 608 401 p 614 401 p 629 401 p 668 401 p 698 401 p 699 401 p 715 401 p 515 400 p 524 400 p 529 400 p 590 400 p 628 400 p 677 400 p 685 400 p 733 400 p 466 399 p 542 399 p 582 399 p 591 399 p 626 399 p 657 399 p 662 399 p 663 399 p 682 399 p 740 399 p 475 398 p 544 398 p 556 398 p 592 398 p 483 397 p 510 397 p 511 397 p 593 397 p 624 397 p 656 397 p 486 396 p 508 396 p 583 396 p 594 396 p 619 396 p 655 396 p 483 395 p 492 395 p 531 395 p 595 395 p 604 395 p 621 395 p 656 395 p 662 395 p 504 394 p 512 394 p 514 394 p 596 394 p 653 394 p 658 394 p 661 394 p 670 394 p 672 394 p 458 393 p 505 393 p 557 393 p 597 393 p 659 393 p 660 393 p 506 392 p 536 392 p 557 392 p 598 392 p 660 392 p 681 392 p 684 392 p 700 392 p 513 391 p 548 391 p 584 391 p 599 391 p 600 391 p 612 391 p 697 391 p 701 391 p 712 391 p 722 391 p 515 390 p 563 390 p 599 390 p 600 390 p 677 390 p 687 390 p 702 390 p 526 389 p 584 389 p 587 389 p 601 389 p 635 389 p 637 389 p 666 389 p 674 389 p 728 389 p 743 389 p 473 388 p 527 388 p 556 388 p 602 388 p 512 387 p 521 387 p 528 387 p 603 387 p 661 387 p 670 387 p 675 387 p 703 387 p 483 386 p 530 386 p 595 386 p 604 386 p 646 386 p 662 386 p 682 386 p 704 386 p 713 386 p 493 385 p 532 385 p 584 385 p 605 385 p 632 385 p 674 385 p 504 384 p 538 384 p 565 384 p 606 384 p 658 384 p 663 384 p 688 384 p 705 384 p 735 384 p 764 384 p 539 383 p 564 383 p 565 383 p 607 383 p 625 383 p 664 383 p 706 383 p 540 382 p 578 382 p 589 382 p 608 382 p 665 382 p 678 382 p 541 381 p 566 381 p 579 381 p 609 381 p 642 381 p 666 381 p 679 381 p 689 381 p 543 380 p 544 380 p 545 380 p 610 380 p 638 380 p 698 380 p 707 380 p 547 379 p 549 379 p 552 379 p 611 379 p 623 379 p 647 379 p 701 379 p 708 379 p 548 378 p 561 378 p 599 378 p 612 378 p 623 378 p 543 377 p 552 377 p 578 377 p 613 377 p 647 377 p 665 377 p 553 376 p 576 376 p 589 376 p 614 376 p 634 376 p 657 376 p 668 376 p 554 375 p 555 375 p 582 375 p 615 375 p 634 375 p 636 375 p 486 374 p 554 374 p 555 374 p 616 374 p 711 374 p 475 373 p 556 373 p 557 373 p 617 373 p 635 373 p 667 373 p 673 373 p 504 372 p 546 372 p 568 372 p 618 372 p 621 372 p 643 372 p 513 371 p 563 371 p 594 371 p 619 371 p 651 371 p 671 371 p 702 371 p 498 370 p 521 370 p 528 370 p 620 370 p 639 370 p 695 370 p 703 370 p 542 369 p 595 369 p 618 369 p 621 369 p 663 369 p 705 369 p 536 368 p 569 368 p 574 368 p 622 368 p 650 368 p 654 368 p 664 368 p 709 368 p 718 368 p 561 367 p 611 367 p 612 367 p 623 367 p 654 367 p 687 367 p 708 367 p 524 366 p 529 366 p 593 366 p 624 366 p 685 366 p 691 366 p 556 365 p 565 365 p 607 365 p 625 365 p 673 365 p 688 365 p 706 365 p 710 365 p 542 364 p 560 364 p 591 364 p 626 364 p 521 363 p 523 363 p 577 363 p 627 363 p 644 363 p 675 363 p 523 362 p 529 362 p 590 362 p 628 362 p 669 362 p 685 362 p 533 361 p 559 361 p 589 361 p 629 361 p 649 361 p 532 360 p 571 360 p 583 360 p 630 360 p 679 360 p 711 360 p 551 359 p 581 359 p 587 359 p 631 359 p 681 359 p 684 359 p 716 359 p 741 359 p 753 359 p 532 358 p 575 358 p 605 358 p 632 358 p 666 358 p 679 358 p 513 357 p 583 357 p 584 357 p 633 357 p 671 357 p 697 357 p 576 356 p 614 356 p 615 356 p 634 356 p 655 356 p 668 356 p 723 356 p 724 356 p 730 356 p 738 356 p 742 356 p 787 356 p 831 356 p 544 355 p 601 355 p 617 355 p 635 355 p 667 355 p 676 355 p 728 355 p 580 354 p 582 354 p 615 354 p 636 354 p 723 354 p 544 353 p 586 353 p 601 353 p 637 353 p 676 353 p 680 353 p 707 353 p 743 353 p 552 352 p 586 352 p 610 352 p 638 352 p 683 352 p 707 352 p 528 351 p 585 351 p 620 351 p 639 351 p 678 351 p 562 350 p 584 350 p 586 350 p 640 350 p 680 350 p 683 350 p 567 349 p 578 349 p 585 349 p 641 349 p 661 349 p 694 349 p 566 348 p 571 348 p 609 348 p 642 348 p 646 348 p 689 348 p 713 348 p 504 347 p 577 347 p 618 347 p 643 347 p 672 347 p 521 346 p 523 346 p 627 346 p 644 346 p 669 346 p 677 346 p 744 346 p 524 345 p 551 345 p 574 345 p 645 345 p 681 345 p 551 344 p 604 344 p 642 344 p 646 344 p 689 344 p 691 344 p 704 344 p 714 344 p 745 344 p 552 343 p 611 343 p 613 343 p 647 343 p 690 343 p 719 343 p 727 343 p 746 343 p 767 343 p 556 342 p 573 342 p 588 342 p 648 342 p 649 342 p 688 342 p 559 341 p 629 341 p 648 341 p 649 341 p 724 341 p 739 341 p 740 341 p 747 341 p 754 341 p 785 341 p 561 340 p 574 340 p 622 340 p 650 340 p 687 340 p 718 340 p 732 340 p 521 339 p 563 339 p 619 339 p 651 339 p 744 339 p 748 339 p 758 339 p 564 338 p 567 338 p 572 338 p 652 338 p 690 338 p 564 337 p 567 337 p 596 337 p 653 337 p 686 337 p 572 336 p 622 336 p 623 336 p 654 336 p 708 336 p 709 336 p 720 336 p 749 336 p 576 335 p 594 335 p 634 335 p 655 335 p 695 335 p 577 334 p 593 334 p 595 334 p 656 334 p 696 334 p 704 334 p 725 334 p 582 333 p 591 333 p 614 333 p 657 333 p 564 332 p 596 332 p 606 332 p 658 332 p 672 332 p 693 332 p 706 332 p 735 332 p 750 332 p 762 332 p 792 332 p 536 331 p 539 331 p 597 331 p 659 331 p 700 331 p 557 330 p 597 330 p 598 330 p 660 330 p 673 330 p 684 330 p 596 329 p 603 329 p 641 329 p 661 329 p 678 329 p 750 329 p 751 329 p 770 329 p 795 329 p 591 328 p 595 328 p 604 328 p 662 328 p 682 328 p 752 328 p 591 327 p 606 327 p 621 327 p 663 327 p 740 327 p 752 327 p 764 327 p 765 327 p 564 326 p 607 326 p 622 326 p 664 326 p 693 326 p 709 326 p 543 325 p 608 325 p 613 325 p 665 325 p 699 325 p 601 324 p 609 324 p 632 324 p 666 324 p 674 324 p 741 324 p 587 323 p 617 323 p 635 323 p 667 323 p 728 323 p 753 323 p 589 322 p 614 322 p 634 322 p 668 322 p 715 322 p 729 322 p 754 322 p 577 321 p 628 321 p 644 321 p 669 321 p 717 321 p 726 321 p 769 321 p 577 320 p 596 320 p 603 320 p 670 320 p 675 320 p 726 320 p 751 320 p 776 320 p 583 319 p 619 319 p 633 319 p 671 319 p 711 319 p 734 319 p 738 319 p 755 319 p 825 319 p 596 318 p 643 318 p 658 318 p 672 318 p 696 318 p 705 318 p 750 318 p 776 318 p 617 317 p 625 317 p 660 317 p 673 317 p 700 317 p 753 317 p 756 317 p 768 317 p 771 317 p 784 317 p 601 316 p 605 316 p 666 316 p 674 316 p 755 316 p 603 315 p 627 315 p 670 315 p 675 315 p 588 314 p 635 314 p 637 314 p 676 314 p 692 314 p 757 314 p 772 314 p 798 314 p 803 314 p 590 313 p 600 313 p 644 313 p 677 313 p 702 313 p 744 313 p 758 313 p 763 313 p 769 313 p 814 313 p 608 312 p 639 312 p 661 312 p 678 312 p 742 312 p 759 312 p 770 312 p 777 312 p 609 311 p 630 311 p 632 311 p 679 311 p 731 311 p 584 310 p 637 310 p 640 310 p 680 310 p 734 310 p 743 310 p 757 310 p 778 310 p 799 310 p 598 309 p 631 309 p 645 309 p 681 309 p 718 309 p 732 309 p 760 309 p 786 309 p 800 309 p 847 309 p 591 308 p 604 308 p 662 308 p 682 308 p 713 308 p 723 308 p 737 308 p 761 308 p 783 308 p 586 307 p 638 307 p 640 307 p 683 307 p 701 307 p 721 307 p 767 307 p 598 306 p 631 306 p 660 306 p 684 306 p 760 306 p 590 305 p 624 305 p 628 305 p 685 305 p 717 305 p 733 305 p 769 305 p 564 304 p 567 304 p 653 304 p 686 304 p 694 304 p 762 304 p 801 304 p 600 303 p 623 303 p 650 303 p 687 303 p 712 303 p 720 303 p 722 303 p 763 303 p 606 302 p 625 302 p 648 302 p 688 302 p 692 302 p 736 302 p 747 302 p 764 302 p 768 302 p 781 302 p 802 302 p 609 301 p 642 301 p 646 301 p 689 301 p 716 301 p 731 301 p 745 301 p 567 300 p 647 300 p 652 300 p 690 300 p 719 300 p 551 299 p 624 299 p 646 299 p 691 299 p 717 299 p 793 299 p 800 299 p 556 298 p 676 298 p 688 298 p 692 298 p 739 298 p 756 298 p 768 298 p 803 298 p 564 297 p 658 297 p 664 297 p 693 297 p 762 297 p 773 297 p 567 296 p 641 296 p 686 296 p 694 296 p 746 296 p 576 295 p 620 295 p 655 295 p 695 295 p 703 295 p 577 294 p 656 294 p 672 294 p 696 294 p 725 294 p 726 294 p 789 294 p 804 294 p 584 293 p 599 293 p 633 293 p 697 293 p 734 293 p 588 292 p 589 292 p 610 292 p 698 292 p 699 292 p 715 292 p 772 292 p 589 291 p 665 291 p 698 291 p 699 291 p 727 291 p 729 291 p 598 290 p 659 290 p 673 290 p 700 290 p 710 290 p 760 290 p 771 290 p 775 290 p 599 289 p 611 289 p 683 289 p 701 289 p 721 289 p 600 288 p 619 288 p 677 288 p 702 288 p 712 288 p 758 288 p 603 287 p 620 287 p 695 287 p 703 287 p 748 287 p 751 287 p 759 287 p 604 286 p 646 286 p 656 286 p 704 286 p 714 286 p 737 286 p 793 286 p 606 285 p 621 285 p 672 285 p 705 285 p 725 285 p 735 285 p 752 285 p 765 285 p 789 285 p 607 284 p 625 284 p 658 284 p 706 284 p 710 284 p 610 283 p 637 283 p 638 283 p 707 283 p 727 283 p 757 283 p 611 282 p 623 282 p 654 282 p 708 282 p 719 282 p 720 282 p 721 282 p 766 282 p 622 281 p 654 281 p 664 281 p 709 281 p 749 281 p 773 281 p 775 281 p 625 280 p 700 280 p 706 280 p 710 280 p 736 280 p 771 280 p 773 280 p 616 279 p 630 279 p 671 279 p 711 279 p 730 279 p 738 279 p 599 278 p 687 278 p 702 278 p 712 278 p 722 278 p 774 278 p 604 277 p 642 277 p 682 277 p 713 277 p 714 277 p 731 277 p 646 276 p 704 276 p 713 276 p 714 276 p 737 276 p 790 276 p 805 276 p 589 275 p 668 275 p 698 275 p 715 275 p 729 275 p 551 274 p 631 274 p 689 274 p 716 274 p 745 274 p 786 274 p 669 273 p 685 273 p 691 273 p 717 273 p 817 273 p 870 273 p 622 272 p 650 272 p 681 272 p 718 272 p 732 272 p 775 272 p 647 271 p 690 271 p 708 271 p 719 271 p 746 271 p 749 271 p 779 271 p 654 270 p 687 270 p 708 270 p 720 270 p 782 270 p 806 270 p 683 269 p 701 269 p 708 269 p 721 269 p 766 269 p 767 269 p 599 268 p 687 268 p 712 268 p 722 268 p 766 268 p 774 268 p 634 267 p 636 267 p 682 267 p 723 267 p 724 267 p 730 267 p 783 267 p 634 266 p 649 266 p 723 266 p 724 266 p 754 266 p 783 266 p 785 266 p 807 266 p 842 266 p 656 265 p 696 265 p 705 265 p 725 265 p 789 265 p 804 265 p 808 265 p 669 264 p 670 264 p 696 264 p 726 264 p 794 264 p 817 264 p 849 264 p 860 264 p 647 263 p 699 263 p 707 263 p 727 263 p 772 263 p 829 263 p 852 263 p 601 262 p 635 262 p 667 262 p 728 262 p 741 262 p 756 262 p 798 262 p 668 261 p 699 261 p 715 261 p 729 261 p 742 261 p 777 261 p 809 261 p 829 261 p 846 261 p 634 260 p 711 260 p 723 260 p 730 260 p 755 260 p 791 260 p 807 260 p 825 260 p 850 260 p 857 260 p 679 259 p 689 259 p 713 259 p 731 259 p 790 259 p 791 259 p 650 258 p 681 258 p 718 258 p 732 258 p 733 258 p 806 258 p 816 258 p 590 257 p 685 257 p 732 257 p 733 257 p 763 257 p 800 257 p 671 256 p 680 256 p 697 256 p 734 256 p 774 256 p 778 256 p 823 256 p 868 256 p 882 256 p 606 255 p 658 255 p 705 255 p 735 255 p 736 255 p 810 255 p 688 254 p 710 254 p 735 254 p 736 254 p 821 254 p 822 254 p 830 254 p 853 254 p 682 253 p 704 253 p 714 253 p 737 253 p 808 253 p 634 252 p 671 252 p 711 252 p 738 252 p 831 252 p 854 252 p 855 252 p 588 251 p 649 251 p 692 251 p 739 251 p 781 251 p 803 251 p 809 251 p 811 251 p 832 251 p 591 250 p 649 250 p 663 250 p 740 250 p 747 250 p 761 250 p 785 250 p 788 250 p 631 249 p 666 249 p 728 249 p 741 249 p 786 249 p 813 249 p 824 249 p 833 249 p 843 249 p 851 249 p 866 249 p 634 248 p 678 248 p 729 248 p 742 248 p 777 248 p 787 248 p 812 248 p 834 248 p 601 247 p 637 247 p 680 247 p 743 247 p 798 247 p 799 247 p 644 246 p 651 246 p 677 246 p 744 246 p 748 246 p 794 246 p 814 246 p 646 245 p 689 245 p 716 245 p 745 245 p 790 245 p 793 245 p 845 245 p 647 244 p 694 244 p 719 244 p 746 244 p 770 244 p 779 244 p 835 244 p 841 244 p 875 244 p 649 243 p 688 243 p 740 243 p 747 243 p 781 243 p 788 243 p 802 243 p 844 243 p 651 242 p 703 242 p 744 242 p 748 242 p 794 242 p 812 242 p 654 241 p 709 241 p 719 241 p 749 241 p 782 241 p 796 241 p 797 241 p 835 241 p 658 240 p 661 240 p 672 240 p 750 240 p 776 240 p 792 240 p 819 240 p 661 239 p 670 239 p 703 239 p 751 239 p 759 239 p 795 239 p 662 238 p 663 238 p 705 238 p 752 238 p 761 238 p 808 238 p 631 237 p 667 237 p 673 237 p 753 237 p 784 237 p 649 236 p 668 236 p 724 236 p 754 236 p 787 236 p 809 236 p 846 236 p 671 235 p 674 235 p 730 235 p 755 235 p 799 235 p 825 235 p 833 235 p 673 234 p 692 234 p 728 234 p 756 234 p 784 234 p 813 234 p 676 233 p 680 233 p 707 233 p 757 233 p 836 233 p 852 233 p 651 232 p 677 232 p 702 232 p 758 232 p 814 232 p 823 232 p 837 232 p 678 231 p 703 231 p 751 231 p 759 231 p 812 231 p 681 230 p 684 230 p 700 230 p 760 230 p 682 229 p 740 229 p 752 229 p 761 229 p 788 229 p 838 229 p 658 228 p 686 228 p 693 228 p 762 228 p 792 228 p 797 228 p 821 228 p 677 227 p 687 227 p 733 227 p 763 227 p 780 227 p 806 227 p 606 226 p 663 226 p 688 226 p 764 226 p 765 226 p 663 225 p 705 225 p 764 225 p 765 225 p 802 225 p 810 225 p 828 225 p 708 224 p 721 224 p 722 224 p 766 224 p 778 224 p 796 224 p 827 224 p 647 223 p 683 223 p 721 223 p 767 223 p 779 223 p 673 222 p 688 222 p 692 222 p 768 222 p 815 222 p 822 222 p 848 222 p 669 221 p 677 221 p 685 221 p 769 221 p 780 221 p 661 220 p 678 220 p 746 220 p 770 220 p 801 220 p 673 219 p 700 219 p 710 219 p 771 219 p 822 219 p 826 219 p 676 218 p 698 218 p 727 218 p 772 218 p 829 218 p 693 217 p 709 217 p 710 217 p 773 217 p 797 217 p 839 217 p 853 217 p 869 217 p 712 216 p 722 216 p 734 216 p 774 216 p 780 216 p 827 216 p 840 216 p 868 216 p 700 215 p 709 215 p 718 215 p 775 215 p 782 215 p 826 215 p 839 215 p 872 215 p 670 214 p 672 214 p 750 214 p 776 214 p 795 214 p 819 214 p 678 213 p 729 213 p 742 213 p 777 213 p 834 213 p 841 213 p 905 213 p 680 212 p 734 212 p 766 212 p 778 212 p 827 212 p 836 212 p 868 212 p 879 212 p 719 211 p 746 211 p 767 211 p 779 211 p 796 211 p 763 210 p 769 210 p 774 210 p 780 210 p 816 210 p 823 210 p 876 210 p 887 210 p 911 210 p 928 210 p 932 210 p 688 209 p 739 209 p 747 209 p 781 209 p 815 209 p 720 208 p 749 208 p 775 208 p 782 208 p 880 208 p 682 207 p 723 207 p 724 207 p 783 207 p 805 207 p 807 207 p 838 207 p 842 207 p 850 207 p 673 206 p 753 206 p 756 206 p 784 206 p 826 206 p 843 206 p 848 206 p 858 206 p 649 205 p 724 205 p 740 205 p 785 205 p 811 205 p 842 205 p 844 205 p 681 204 p 716 204 p 741 204 p 786 204 p 824 204 p 843 204 p 845 204 p 847 204 p 634 203 p 742 203 p 754 203 p 787 203 p 834 203 p 846 203 p 863 203 p 877 203 p 902 203 p 740 202 p 747 202 p 761 202 p 788 202 p 696 201 p 705 201 p 725 201 p 789 201 p 804 201 p 810 201 p 828 201 p 849 201 p 862 201 p 867 201 p 714 200 p 731 200 p 745 200 p 790 200 p 791 200 p 805 200 p 824 200 p 856 200 p 730 199 p 731 199 p 790 199 p 791 199 p 833 199 p 864 199 p 658 198 p 750 198 p 762 198 p 792 198 p 691 197 p 704 197 p 745 197 p 793 197 p 818 197 p 856 197 p 870 197 p 726 196 p 744 196 p 748 196 p 794 196 p 817 196 p 837 196 p 860 196 p 661 195 p 751 195 p 776 195 p 795 195 p 801 195 p 819 195 p 820 195 p 867 195 p 894 195 p 900 195 p 749 194 p 766 194 p 779 194 p 796 194 p 879 194 p 880 194 p 749 193 p 762 193 p 773 193 p 797 193 p 835 193 p 839 193 p 676 192 p 728 192 p 743 192 p 798 192 p 813 192 p 851 192 p 874 192 p 881 192 p 680 191 p 743 191 p 755 191 p 799 191 p 836 191 p 874 191 p 882 191 p 885 191 p 681 190 p 691 190 p 733 190 p 800 190 p 816 190 p 847 190 p 870 190 p 876 190 p 686 189 p 770 189 p 795 189 p 801 189 p 820 189 p 841 189 p 883 189 p 688 188 p 747 188 p 765 188 p 802 188 p 815 188 p 830 188 p 676 187 p 692 187 p 739 187 p 803 187 p 832 187 p 848 187 p 881 187 p 884 187 p 886 187 p 696 186 p 725 186 p 789 186 p 804 186 p 818 186 p 849 186 p 714 185 p 783 185 p 790 185 p 805 185 p 720 184 p 732 184 p 763 184 p 806 184 p 840 184 p 724 183 p 730 183 p 783 183 p 807 183 p 831 183 p 850 183 p 861 183 p 725 182 p 737 182 p 752 182 p 808 182 p 818 182 p 838 182 p 729 181 p 739 181 p 754 181 p 809 181 p 811 181 p 832 181 p 735 180 p 765 180 p 789 180 p 810 180 p 821 180 p 828 180 p 739 179 p 785 179 p 809 179 p 811 179 p 844 179 p 742 178 p 748 178 p 759 178 p 812 178 p 854 178 p 865 178 p 741 177 p 756 177 p 798 177 p 813 177 p 851 177 p 677 176 p 744 176 p 758 176 p 814 176 p 837 176 p 768 175 p 781 175 p 802 175 p 815 175 p 871 175 p 884 175 p 732 174 p 780 174 p 800 174 p 816 174 p 872 174 p 888 174 p 912 174 p 928 174 p 934 174 p 717 173 p 726 173 p 794 173 p 817 173 p 860 173 p 909 173 p 910 173 p 911 173 p 793 172 p 804 172 p 808 172 p 818 172 p 862 172 p 750 171 p 776 171 p 795 171 p 819 171 p 820 171 p 795 170 p 801 170 p 819 170 p 820 170 p 894 170 p 899 170 p 913 170 p 929 170 p 736 169 p 762 169 p 810 169 p 821 169 p 873 169 p 913 169 p 930 169 p 736 168 p 768 168 p 771 168 p 822 168 p 853 168 p 914 168 p 919 168 p 734 167 p 758 167 p 780 167 p 823 167 p 859 167 p 741 166 p 786 166 p 790 166 p 824 166 p 845 166 p 856 166 p 866 166 p 906 166 p 915 166 p 671 165 p 730 165 p 755 165 p 825 165 p 882 165 p 890 165 p 771 164 p 775 164 p 784 164 p 826 164 p 869 164 p 872 164 p 895 164 p 914 164 p 917 164 p 766 163 p 774 163 p 778 163 p 827 163 p 840 163 p 765 162 p 789 162 p 810 162 p 828 162 p 830 162 p 727 161 p 729 161 p 772 161 p 829 161 p 852 161 p 881 161 p 886 161 p 889 161 p 905 161 p 944 161 p 736 160 p 802 160 p 828 160 p 830 160 p 871 160 p 892 160 p 896 160 p 919 160 p 925 160 p 930 160 p 634 159 p 738 159 p 807 159 p 831 159 p 854 159 p 857 159 p 861 159 p 907 159 p 739 158 p 803 158 p 809 158 p 832 158 p 886 158 p 741 157 p 755 157 p 791 157 p 833 157 p 885 157 p 890 157 p 906 157 p 920 157 p 926 157 p 742 156 p 777 156 p 787 156 p 834 156 p 863 156 p 865 156 p 902 156 p 746 155 p 749 155 p 797 155 p 835 155 p 875 155 p 880 155 p 883 155 p 891 155 p 899 155 p 901 155 p 757 154 p 778 154 p 799 154 p 836 154 p 874 154 p 893 154 p 908 154 p 758 153 p 794 153 p 814 153 p 837 153 p 855 153 p 859 153 p 878 153 p 761 152 p 783 152 p 808 152 p 838 152 p 896 152 p 773 151 p 775 151 p 797 151 p 839 151 p 869 151 p 873 151 p 903 151 p 774 150 p 806 150 p 827 150 p 840 150 p 888 150 p 746 149 p 777 149 p 801 149 p 841 149 p 875 149 p 883 149 p 894 149 p 901 149 p 929 149 p 724 148 p 783 148 p 785 148 p 842 148 p 877 148 p 896 148 p 741 147 p 784 147 p 786 147 p 843 147 p 866 147 p 747 146 p 785 146 p 811 146 p 844 146 p 871 146 p 745 145 p 786 145 p 824 145 p 845 145 p 729 144 p 754 144 p 787 144 p 846 144 p 863 144 p 877 144 p 681 143 p 786 143 p 800 143 p 847 143 p 895 143 p 912 143 p 768 142 p 784 142 p 803 142 p 848 142 p 858 142 p 884 142 p 726 141 p 789 141 p 804 141 p 849 141 p 862 141 p 730 140 p 783 140 p 807 140 p 850 140 p 857 140 p 861 140 p 864 140 p 898 140 p 741 139 p 798 139 p 813 139 p 851 139 p 858 139 p 920 139 p 922 139 p 727 138 p 757 138 p 829 138 p 852 138 p 736 137 p 773 137 p 822 137 p 853 137 p 873 137 p 738 136 p 812 136 p 831 136 p 854 136 p 855 136 p 865 136 p 878 136 p 907 136 p 973 136 p 738 135 p 837 135 p 854 135 p 855 135 p 859 135 p 790 134 p 793 134 p 824 134 p 856 134 p 864 134 p 906 134 p 915 134 p 730 133 p 831 133 p 850 133 p 857 133 p 898 133 p 784 132 p 848 132 p 851 132 p 858 132 p 914 132 p 922 132 p 931 132 p 823 131 p 837 131 p 855 131 p 859 131 p 878 131 p 887 131 p 897 131 p 726 130 p 794 130 p 817 130 p 860 130 p 867 130 p 909 130 p 910 130 p 923 130 p 807 129 p 831 129 p 850 129 p 861 129 p 898 129 p 907 129 p 924 129 p 789 128 p 818 128 p 849 128 p 862 128 p 925 128 p 787 127 p 834 127 p 846 127 p 863 127 p 889 127 p 902 127 p 905 127 p 791 126 p 850 126 p 856 126 p 864 126 p 924 126 p 926 126 p 812 125 p 834 125 p 854 125 p 865 125 p 900 125 p 927 125 p 973 125 p 741 124 p 824 124 p 843 124 p 866 124 p 895 124 p 920 124 p 789 123 p 795 123 p 860 123 p 867 123 p 909 123 p 913 123 p 923 123 p 734 122 p 774 122 p 778 122 p 868 122 p 879 122 p 887 122 p 897 122 p 773 121 p 826 121 p 839 121 p 869 121 p 717 120 p 793 120 p 800 120 p 870 120 p 876 120 p 911 120 p 815 119 p 830 119 p 844 119 p 871 119 p 892 119 p 904 119 p 775 118 p 816 118 p 826 118 p 872 118 p 903 118 p 917 118 p 821 117 p 839 117 p 853 117 p 873 117 p 899 117 p 930 117 p 798 116 p 799 116 p 836 116 p 874 116 p 885 116 p 893 116 p 746 115 p 835 115 p 841 115 p 875 115 p 901 115 p 944 115 p 780 114 p 800 114 p 870 114 p 876 114 p 912 114 p 928 114 p 787 113 p 842 113 p 846 113 p 877 113 p 889 113 p 837 112 p 854 112 p 859 112 p 878 112 p 910 112 p 927 112 p 973 112 p 778 111 p 796 111 p 868 111 p 879 111 p 891 111 p 782 110 p 796 110 p 835 110 p 880 110 p 888 110 p 891 110 p 903 110 p 798 109 p 803 109 p 829 109 p 881 109 p 922 109 p 931 109 p 734 108 p 799 108 p 825 108 p 882 108 p 890 108 p 908 108 p 801 107 p 835 107 p 841 107 p 883 107 p 803 106 p 815 106 p 848 106 p 884 106 p 892 106 p 904 106 p 799 105 p 833 105 p 874 105 p 885 105 p 893 105 p 939 105 p 803 104 p 829 104 p 832 104 p 886 104 p 904 104 p 780 103 p 859 103 p 868 103 p 887 103 p 897 103 p 961 103 p 816 102 p 840 102 p 880 102 p 888 102 p 829 101 p 863 101 p 877 101 p 889 101 p 825 100 p 833 100 p 882 100 p 890 100 p 939 100 p 835 99 p 879 99 p 880 99 p 891 99 p 830 98 p 871 98 p 884 98 p 892 98 p 919 98 p 836 97 p 874 97 p 885 97 p 893 97 p 908 97 p 939 97 p 795 96 p 820 96 p 841 96 p 894 96 p 900 96 p 826 95 p 847 95 p 866 95 p 895 95 p 830 94 p 838 94 p 842 94 p 896 94 p 924 94 p 859 93 p 868 93 p 887 93 p 897 93 p 850 92 p 857 92 p 861 92 p 898 92 p 926 92 p 820 91 p 835 91 p 873 91 p 899 91 p 795 90 p 865 90 p 894 90 p 900 90 p 923 90 p 835 89 p 841 89 p 875 89 p 901 89 p 929 89 p 787 88 p 834 88 p 863 88 p 902 88 p 839 87 p 872 87 p 880 87 p 903 87 p 871 86 p 884 86 p 886 86 p 904 86 p 931 86 p 777 85 p 829 85 p 863 85 p 905 85 p 824 84 p 833 84 p 856 84 p 906 84 p 915 84 p 831 83 p 854 83 p 861 83 p 907 83 p 836 82 p 882 82 p 893 82 p 908 82 p 817 81 p 860 81 p 867 81 p 909 81 p 817 80 p 860 80 p 878 80 p 910 80 p 932 80 p 961 80 p 780 79 p 817 79 p 870 79 p 911 79 p 932 79 p 816 78 p 847 78 p 876 78 p 912 78 p 917 78 p 934 78 p 820 77 p 821 77 p 867 77 p 913 77 p 925 77 p 822 76 p 826 76 p 858 76 p 914 76 p 824 75 p 856 75 p 906 75 p 915 75 p 825 74 p 859 74 p 890 74 p 916 74 p 826 73 p 872 73 p 912 73 p 917 73 p 934 73 p 829 72 p 836 72 p 881 72 p 918 72 p 822 71 p 830 71 p 892 71 p 919 71 p 833 70 p 851 70 p 866 70 p 920 70 p 856 69 p 864 69 p 870 69 p 921 69 p 851 68 p 858 68 p 881 68 p 922 68 p 860 67 p 867 67 p 900 67 p 923 67 p 927 67 p 861 66 p 864 66 p 896 66 p 924 66 p 830 65 p 862 65 p 913 65 p 925 65 p 833 64 p 864 64 p 898 64 p 926 64 p 865 63 p 878 63 p 923 63 p 927 63 p 780 62 p 816 62 p 876 62 p 928 62 p 820 61 p 841 61 p 901 61 p 929 61 p 821 60 p 830 60 p 873 60 p 930 60 p 858 59 p 881 59 p 904 59 p 931 59 p 780 58 p 910 58 p 911 58 p 932 58 p 961 58 p 868 57 p 887 57 p 897 57 p 933 57 p 816 56 p 912 56 p 917 56 p 934 56 p 780 55 p 911 55 p 928 55 p 935 55 p 865 54 p 900 54 p 905 54 p 936 54 p 912 53 p 928 53 p 937 53 p 830 52 p 871 52 p 896 52 p 938 52 p 885 51 p 890 51 p 893 51 p 939 51 p 881 50 p 886 50 p 931 50 p 940 50 p 875 49 p 879 49 p 901 49 p 941 49 p 944 49 p 879 48 p 888 48 p 942 48 p 882 47 p 890 47 p 908 47 p 943 47 p 829 46 p 875 46 p 944 46 p 880 45 p 899 45 p 901 45 p 945 45 p 826 44 p 858 44 p 895 44 p 946 44 p 898 43 p 907 43 p 947 43 p 893 42 p 922 42 p 948 42 p 864 41 p 898 41 p 926 41 p 949 41 p 904 40 p 914 40 p 931 40 p 950 40 p 895 39 p 906 39 p 920 39 p 951 39 p 826 38 p 873 38 p 903 38 p 952 38 p 920 37 p 939 37 p 953 37 p 829 36 p 889 36 p 954 36 p 889 35 p 896 35 p 924 35 p 955 35 p 841 34 p 901 34 p 944 34 p 956 34 p 892 33 p 919 33 p 957 33 p 820 32 p 867 32 p 913 32 p 958 32 p 894 31 p 900 31 p 959 31 p 861 30 p 902 30 p 960 30 p 887 29 p 910 29 p 932 29 p 961 29 p 870 28 p 915 28 p 962 28 p 820 27 p 873 27 p 913 27 p 963 27 p 829 26 p 889 26 p 964 26 p 833 25 p 906 25 p 926 25 p 965 25 p 858 24 p 895 24 p 920 24 p 966 24 p 859 23 p 878 23 p 961 23 p 967 23 p 862 22 p 867 22 p 909 22 p 968 22 p 865 21 p 902 21 p 905 21 p 969 21 p 862 20 p 870 20 p 911 20 p 970 20 p 871 19 p 904 19 p 971 19 p 873 18 p 903 18 p 972 18 p 854 17 p 865 17 p 878 17 p 973 17 p 879 16 p 880 16 p 974 16 p 880 15 p 888 15 p 903 15 p 975 15 p 895 14 p 917 14 p 976 14 p 862 13 p 896 13 p 925 13 p 977 13 p 899 12 p 929 12 p 978 12 p 900 11 p 927 11 p 979 11 p 903 10 p 917 10 p 980 10 p 910 9 p 981 9 p 870 8 p 911 8 p 982 8 p 895 7 p 912 7 p 983 7 p 922 6 p 931 6 p 984 6 p 910 5 p 911 5 p 932 5 p 985 5 p 833 4 p 986 4 p 858 3 p 922 3 p 987 3 p 862 2 p 925 2 p 988 2 p 858 1 p 914 1 p 989 1 p 862 0 p 990 0 p showpage %%EndDocument endTexFig 60 1513 a Fk(5)83 b(Basic)26 b(algebraic)h(op)r(erations)60 1622 y Fl(The)14 b(usual)g(algebraic)f(op)q(erations)i(in)o(v)o(olving)d(t)o (w)o(o)i(matrices,)e(suc)o(h)h(as)h Fj(C)k Fl(=)c Fj(A)6 b Fl(+)g Fj(B)s Fl(,)12 b Fj(C)18 b Fl(=)13 b Fj(A)6 b Fl(+)g Fj(\014)s(B)s Fl(,)60 1683 y Fj(C)21 b Fl(=)c Fj(AB)s Fl(,)h(etc..,)f(are)h (fairly)g(common)e(in)i(sparse)h(matrix)e(computations.)27 b(These)18 b(basic)h(matrix)60 1743 y(op)q(erations)25 b(are)e(included)f(in) i(the)f(mo)q(dule)f(called)h(BLASSM.)f(In)h(addition)h(there)f(is)g(a)h (large)60 1803 y(n)o(um)o(b)q(er)10 b(of)i(basic)g(op)q(erations,)i(in)o(v)o (olving)c(a)i(sparse)h(matrix)d(and)i(a)h(v)o(ector,)e(suc)o(h)h(as)g (matrix-v)o(ector)60 1863 y(pro)q(ducts)18 b(and)g(triangular)g(system)e (solutions)i(that)g(are)g(v)o(ery)e(commonly)e(used.)25 b(Some)17 b(of)g(these)60 1923 y(are)c(included)f(in)h(the)g(mo)q(dule)f(MA)l(TVEC.)g (Sometimes)e(it)j(is)g(desirable)f(to)i(compute)e(the)h(patterns)60 1984 y(of)i(the)g(matrices)e Fj(A)8 b Fl(+)g Fj(B)18 b Fl(and)d Fj(AB)s Fl(,)f(or)h(in)g(fact)g(of)g(an)o(y)g(result)f(of)h(the)g(basic)g (algebraic)f(op)q(erations.)60 2044 y(This)j(can)g(b)q(e)h(implem)o(e)o(n)o (ted)c(b)o(y)j(w)o(a)o(y)f(of)i(job)f(options)h(whic)o(h)e(will)g(determine)f (whether)h(to)i(\014ll-in)60 2104 y(the)e(real)h(v)m(alues)f(or)h(not)h (during)f(the)f(computation.)22 b(W)l(e)16 b(no)o(w)h(brie\015y)f(describ)q (e)g(the)h(con)o(ten)o(ts)f(of)60 2164 y(eac)o(h)g(of)g(the)g(t)o(w)o(o)g(mo) q(dules)g(BLASSM)f(and)i(MA)l(TVEC.)60 2308 y Fi(5.1)70 b(The)22 b(BLASSM)i(mo)r(dule)60 2401 y Fl(Curren)o(tly)l(,)12 b(the)h(mo)q(dule)g (BLASSM)f(\(Basic)h(Linear)h(Algebra)f(Subroutines)g(for)h(Sparse)g (Matrices\))60 2461 y(con)o(tains)i(the)g(follo)o(wing)g(nine)g(subroutines:) 120 2611 y Fh(AMUB)212 b Fl(P)o(erforms)19 b(the)i(pro)q(duct)g(of)g(t)o(w)o (o)g(matrices,)e(i.e.,)h(computes)f Fj(C)25 b Fl(=)c Fj(AB)s Fl(,)510 2671 y(where)16 b Fj(A)g Fl(and)h Fj(B)h Fl(are)f(b)q(oth)g(in)f (CSR)g(format.)p eop %%Page: 19 19 19 18 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(19)120 132 y Fh(APLB)236 b Fl(P)o(erforms)13 b(the)i(addition)g(of)g(t)o(w)o(o)g (matrices,)d(i.e.,)h(computes)h Fj(C)j Fl(=)d Fj(A)8 b Fl(+)g Fj(B)s Fl(,)510 192 y(where)16 b Fj(A)g Fl(and)h Fj(B)h Fl(are)f(b)q(oth)g (in)f(CSR)g(format.)120 290 y Fh(APLSB)205 b Fl(P)o(erforms)12 b(the)g(op)q(eration)i Fj(C)k Fl(=)13 b Fj(A)5 b Fl(+)g Fj(\033)r(B)s Fl(,)11 b(where)i Fj(\033)i Fl(is)d(a)i(scalar,)f(and)h Fj(A;)8 b(B)510 351 y Fl(are)16 b(t)o(w)o(o)g(matrices)f(in)h(CSR)g(format.)120 456 y Fh(APMBT)178 b Fl(P)o(erforms)23 b(either)g(the)h(addition)h Fj(C)31 b Fl(=)d Fj(A)16 b Fl(+)g Fj(B)1443 437 y Ff(T)1495 456 y Fl(or)24 b(the)h(subtraction)510 516 y Fj(C)17 b Fl(=)d Fj(A)d Fg(\000)g Fj(B)752 498 y Ff(T)779 516 y Fl(.)120 625 y Fh(APLSBT)166 b Fl(P)o(erforms)15 b(the)h(op)q(eration)h Fj(C)g Fl(=)d Fj(A)d Fl(+)g Fj(sB)1283 607 y Ff(T)1310 625 y Fl(.)120 745 y Fh(DIAMUA)146 b Fl(Computes)22 b(the)h(pro)q(duct)g(of)g (diagonal)h(matrix)d(\(from)g(the)i(left\))e(b)o(y)i(a)510 805 y(sparse)g(matrix,)e(i.e.,)h(computes)f Fj(C)27 b Fl(=)d Fj(D)q(A)p Fl(,)g(where)e Fj(D)i Fl(is)e(a)g(diagonal)510 865 y(matrix)15 b(and)h Fj(A)g Fl(is)g(a)h(general)f(sparse)h(matrix)d(stored)j (in)f(CSR)g(format.)120 974 y Fh(AMUDIA)146 b Fl(Computes)20 b(the)g(pro)q(duct)h(of)g(a)f(sparse)h(matrix)e(b)o(y)h(a)h(diagonal)g (matrix)510 1034 y(from)f(the)h(righ)o(t,)g(i.e.,)f(computes)g Fj(C)25 b Fl(=)d Fj(AD)q Fl(,)g(where)e Fj(D)j Fl(is)e(a)g(diagonal)510 1094 y(matrix)15 b(and)h Fj(A)g Fl(is)g(a)h(general)f(sparse)h(matrix)d (stored)j(in)f(CSR)g(format.)120 1203 y Fh(APLDIA)170 b Fl(Computes)24 b(the)g(sum)f(of)h(a)h(sparse)g(matrix)e(and)h(a)h(diagonal)g(matrix,)510 1263 y Fj(C)17 b Fl(=)d Fj(A)d Fl(+)g Fj(D)q Fl(.)120 1365 y Fh(APLSCA)163 b Fl(P)o(erforms)17 b(an)i(in-place)f(addition)h(of)g(a)g (scalar)g(to)g(the)g(diagonal)g(en)o(tries)510 1426 y(of)e(a)f(sparse)h (matrix,)d(i.e.,)g(p)q(erforms)i(the)g(op)q(eration)h Fj(A)c Fl(:=)h Fj(A)c Fl(+)h Fj(\033)r(I)t Fl(.)120 1624 y(Missing)j(from)f(this)h (list)g(are)g(the)g(routines)g Fh(AMUBT)h Fl(whic)o(h)e(m)o(ultiplies)e Fj(A)j Fl(b)o(y)g(the)g(transp)q(ose)60 1684 y(of)j Fj(B)s Fl(,)e Fj(C)i Fl(=)d Fj(AB)366 1666 y Ff(T)393 1684 y Fl(,)h(and)i Fh(A)-5 b(TMUB)36 b Fl(whic)o(h)15 b(m)o(ultiplies)e(the)j(transp)q(ose)i(of) f Fj(A)e Fl(b)o(y)h Fj(B)s Fl(,)f Fj(C)j Fl(=)c Fj(A)1818 1666 y Ff(T)1845 1684 y Fj(B)s Fl(.)120 1834 y(These)j(are)h(v)o(ery)e(di\016cult) f(to)j(implem)o(en)o(t)c(and)k(w)o(e)f(found)g(it)g(b)q(etter)g(to)h(p)q (erform)e(it)h(with)g(t)o(w)o(o)60 1895 y(passes.)22 b(Op)q(erations)16 b(of)g(the)g(form)e Fj(tA)9 b Fl(+)h Fj(sB)18 b Fl(ha)o(v)o(e)d(b)q(een)h(a)o (v)o(oided)f(as)h(their)f(o)q(ccurrence)g(do)q(es)i(not)60 1955 y(w)o(arran)o(t)22 b(additional)f(subroutines.)37 b(Sev)o(eral)21 b(other)g(op)q(erations)i(similar)c(to)j(those)g(de\014ned)f(for)60 2015 y(v)o(ectors)15 b(ha)o(v)o(e)g(not)h(b)q(een)g(included.)k(F)l(or)c (example)e(the)h(scaling)h(of)g(a)g(matrix)e(in)i(sparse)g(format)f(is)60 2075 y(simply)i(a)i(scaling)g(of)g(its)g(real)f(arra)o(y)h Fj(A)p Fl(,)g(whic)o(h)f(can)h(b)q(e)g(done)g(with)g(the)g(usual)g(BLAS1)g (scaling)60 2135 y(routine,)d(on)g(the)g(arra)o(y)h Fj(A)p Fl(.)60 2280 y Fi(5.2)70 b(The)22 b(MA)-6 b(TVEC)23 b(mo)r(dule)60 2372 y Fl(In)14 b(its)h(curren)o(t)e(status,)j(this)e(mo)q(dule)f(con)o (tains)i(matrix)e(b)o(y)h(v)o(ector)g(pro)q(ducts)h(and)g(v)m(arious)g (sparse)60 2432 y(triangular)i(solution)f(metho)q(ds.)21 b(The)16 b(con)o(ten)o(ts)g(are)g(as)h(follo)o(ws.)120 2582 y Fh(AMUX)210 b Fl(P)o(erforms)17 b(the)i(pro)q(duct)h(of)f(a)g(matrix)e(b)o(y)i(a)g(v)o (ector.)28 b(Matrix)18 b(stored)h(in)510 2643 y(Compressed)d(Sparse)g(Ro)o(w) h(\(CSR\))f(format.)p eop %%Page: 20 20 20 19 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(20)120 132 y Fh(A)-5 b(TMUX)176 b Fl(P)o(erforms)19 b(the)h(pro)q(duct)i(of)f(the)f (transp)q(ose)i(of)f(a)g(matrix)d(b)o(y)i(a)h(v)o(ector.)510 192 y(Matrix)h Fj(A)g Fl(stored)h(in)f(Compressed)g(Sparse)g(Ro)o(w)h (format.)39 b(Can)23 b(also)510 252 y(b)q(e)c(view)o(ed)e(as)j(the)e(pro)q (duct)h(of)h(a)f(matrix)e(in)h(the)h(Compressed)f(Sparse)510 312 y(Column)d(format)h(b)o(y)g(a)g(v)o(ector.)120 421 y Fh(AMUXE)173 b Fl(P)o(erforms)17 b(the)i(pro)q(duct)h(of)f(a)g(matrix)e(b)o(y)i(a)g(v)o (ector.)28 b(Matrix)18 b(stored)h(in)510 481 y(Ellpac)o(k/Itpac)o(k)c (\(ELL\))i(format.)120 592 y Fh(AMUXD)167 b Fl(P)o(erforms)17 b(the)i(pro)q(duct)h(of)f(a)g(matrix)e(b)o(y)i(a)g(v)o(ector.)28 b(Matrix)18 b(stored)h(in)510 652 y(Diagonal)e(\(DIA\))f(format.)120 763 y Fh(AMUXJ)181 b Fl(P)o(erforms)17 b(the)i(pro)q(duct)h(of)f(a)g(matrix)e (b)o(y)i(a)g(v)o(ector.)28 b(Matrix)18 b(stored)h(in)510 823 y(Jagged)e(Diagonal)h(\(JAD\))e(format.)120 935 y Fh(VBRMV)171 b Fl(Sparse)17 b(matrix)d(-)j(full)e(v)o(ector)g(pro)q(duct)i(in)f(VBR)g (format.)120 1055 y Fh(LSOL)265 b Fl(Unit)23 b(lo)o(w)o(er)f(triangular)i (system)e(solution.)42 b(Matrix)23 b(stored)h(in)f(Com-)526 1115 y(pressed)17 b(Sparse)f(Ro)o(w)h(\(CSR\))f(format.)120 1226 y Fh(LDSOL)206 b Fl(Lo)o(w)o(er)27 b(triangular)g(system)f(solution.)53 b(Matrix)26 b(stored)h(in)g(Mo)q(di\014ed)510 1286 y(Sparse)17 b(Ro)o(w)f(\(MSR\))g(format.)21 b(Diagonal)c(elemen)o(ts)c(in)o(v)o(erted.) 120 1398 y Fh(LSOLC)209 b Fl(Unit)23 b(lo)o(w)o(er)f(triangular)i(system)d (solution.)43 b(Matrix)23 b(stored)h(in)e(Com-)510 1458 y(pressed)16 b(Sparse)h(Column)e(\(CSC\))i(format.)120 1569 y Fh(LDSOLC)166 b Fl(Lo)o(w)o(er)27 b(triangular)g(system)f(solution.)53 b(Matrix)26 b(stored)h(in)g(Mo)q(di\014ed)510 1629 y(Sparse)17 b(Column)e(\(MSC\))h (format)g(with)g(diagonal)h(elemen)o(ts)c(in)o(v)o(erted.)120 1740 y Fh(LDSOLL)172 b Fl(Unit)21 b(lo)o(w)o(er)g(triangular)h(system)f (solution)h(with)g(the)f(lev)o(el)f(sc)o(heduling)510 1801 y(approac)o(h.)38 b(Matrix)21 b(stored)h(in)g(Mo)q(di\014ed)f(Sparse)h(Ro)o (w)g(format,)g(with)510 1861 y(diagonal)17 b(elemen)o(ts)d(in)o(v)o(erted.) 120 1969 y Fh(USOL)240 b Fl(Unit)21 b(upp)q(er)i(triangular)f(system)f (solution.)39 b(Matrix)21 b(stored)i(in)e(Com-)510 2029 y(pressed)16 b(Sparse)h(Ro)o(w)f(\(CSR\))h(format.)120 2141 y Fh(UDSOL)197 b Fl(Upp)q(er)26 b(triangular)h(system)e(solution.)52 b(Matrix)25 b(stored)i(in)f(Mo)q(di\014ed)510 2201 y(Sparse)17 b(Ro)o(w)f(\(MSR\))g (format.)21 b(Diagonal)c(elemen)o(ts)c(in)o(v)o(erted.)120 2312 y Fh(USOLC)200 b Fl(Unit)21 b(upp)q(er)i(triangular)f(system)f (solution.)39 b(Matrix)21 b(stored)i(in)e(Com-)510 2372 y(pressed)16 b(Sparse)h(Column)e(\(CSC\))i(format.)120 2483 y Fh(UDSOLC)157 b Fl(Upp)q(er)26 b(triangular)h(system)e(solution.)52 b(Matrix)25 b(stored)i(in)f(Mo)q(di\014ed)510 2544 y(Sparse)17 b(Column)e(\(MSC\))h (format)g(with)g(diagonal)h(elemen)o(ts)c(in)o(v)o(erted.)p eop %%Page: 21 21 21 20 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(21)120 132 y(Most)21 b(of)f(the)g(ab)q(o)o(v)o(e)h(routines)f(are)h(short)g(and)g (rather)f(straigh)o(tforw)o(ard.)34 b(A)20 b(long)h(test)f(pro-)60 192 y(gram)e(is)h(pro)o(vided)f(to)h(run)g(all)g(of)g(the)g(subroutines)g(on) g(a)h(large)e(n)o(um)o(b)q(er)f(of)j(matrices)d(that)i(are)60 252 y(dynamically)14 b(generated)i(using)h(the)f(MA)l(TGEN)f(mo)q(dule.)60 416 y Fk(6)83 b(The)27 b(basic)g(statistics)f(and)h(information)h(routines)60 526 y Fl(It)14 b(is)h(sometimes)d(v)o(ery)i(informativ)o(e)e(when)j (analyzing)g(solution)g(metho)q(ds,)f(to)h(b)q(e)g(able)g(in)f(a)h(short)60 586 y(amoun)o(t)23 b(of)h(time)e(to)i(obtain)h(some)d(statistical)i (information)f(ab)q(out)i(a)f(sparse)h(matrix.)42 b(The)60 646 y(purp)q(ose)22 b(of)f(the)g(subroutine)h(info1,)g(is)f(to)g(prin)o(t)g (out)g(suc)o(h)g(information.)35 b(The)21 b(\014rst)g(question)60 706 y(w)o(e)i(had)i(to)f(address)h(w)o(as)f(to)g(determine)e(the)h(t)o(yp)q (e)h(of)g(information)f(that)h(is)g(inexp)q(ensiv)o(e)e(to)60 766 y(obtain)i(and)f(y)o(et)f(practical)h(and)g(useful.)42 b(The)23 b(simplest)e(and)i(most)g(common)e(statistics)h(are:)60 826 y(total)d(n)o(um)o(b)q(er)f(of)h(nonzero)g(elemen)o(ts,)e(a)o(v)o(erage)h (n)o(um)o(b)q(er)g(of)h(nonzero)g(elemen)o(ts)e(p)q(er)i(ro)o(w)g(\(with)60 887 y(standard)c(deviation\),)f(band)h(size.)20 b(Our)14 b(preliminary)d(pac) o(k)m(age)k(Info1)f(con)o(tains)h(the)f(ab)q(o)o(v)o(e)g(and)h(a)60 947 y(n)o(um)o(b)q(er)e(of)j(other)f(features.)21 b(F)l(or)16 b(example)d(it)h(answ)o(ers)i(the)f(follo)o(wing)g(questions:)21 b(Is)15 b(the)g(matrix)60 1007 y(lo)o(w)o(er)21 b(triangular,)i(upp)q(er)f (triangular?)38 b(do)q(es)23 b(it)e(ha)o(v)o(e)g(a)h(symmetri)o(c)d (structure?)37 b(If)21 b(not)i(ho)o(w)60 1067 y(close)f(is)f(it)h(from)f(ha)o (ving)h(this)g(prop)q(ert)o(y?)39 b(Is)21 b(it)h(w)o(eakly)f(ro)o (w-diagonally)i(dominan)o(t?)37 b(What)60 1127 y(p)q(ercen)o(tage)21 b(of)h(the)f(ro)o(ws)h(are)g(w)o(eakly)e(diagonally)i(dominan)o(t?)36 b(Same)20 b(questions)i(for)g(column)60 1188 y(diagonal)f(dominance.)30 b(A)19 b(sample)f(output)j(from)d(info1)i(is)g(listed)e(in)i(Figure3.)31 b(This)20 b(prin)o(t-out)60 1248 y(w)o(as)d(generated)f(b)o(y)g(t)o(yping)763 1336 y Fa(info1.ex)23 b(<)i(pores)p 1178 1336 16 2 v 16 w(2)60 1425 y Fl(where)16 b Fa(pores)p 334 1425 V 17 w(2)f Fl(is)h(a)h(\014le)f(con) o(taining)g(a)g(matrix)f(in)h(H/B)g(format.)120 1485 y(If)g(the)g(Harw)o (ell-Bo)q(eing)f(matrix)f(is)i(symmetri)o(c)d(then)j(Info1)h(tak)o(es)f(this) g(information)f(in)o(to)h(ac-)60 1545 y(coun)o(t)c(to)g(obtain)g(the)f (correct)g(information)g(instead)h(of)g(the)f(information)g(on)h(the)g(lo)o (w)o(er)f(triangular)60 1606 y(part)18 b(only)l(.)24 b(Moreo)o(v)o(er,)15 b(in)i(cases)h(where)f(only)g(the)g(pattern)g(is)g(pro)o(vided)g(\(no)g(real) g(v)m(alues\),)g(then)60 1666 y(info1)d(will)e(prin)o(t)h(a)h(message)f(to)g (this)h(e\013ect)f(and)h(will)e(then)h(giv)o(e)g(information)f(related)h (only)g(to)h(the)60 1726 y(structure)k(of)g(the)g(matrix.)25 b(The)19 b(output)f(for)h(an)g(example)d(of)i(this)g(t)o(yp)q(e)g(is)g(sho)o (wn)h(in)e(Figure)h(4.)60 1786 y(W)l(e)d(should)h(p)q(oin)o(t)g(out)g(that)g (the)g(runs)g(for)g(these)f(t)o(w)o(o)h(tests)f(w)o(ere)g(basically)g(instan) o(taneous)h(on)h(a)60 1846 y(Sun-4)g(w)o(orkstation.)120 1906 y(Curren)o(tly)l(,)e(this)h(mo)q(dule)f(con)o(tains)h(the)g(follo)o(wing)g (subroutines:)120 2057 y Fh(N)p 167 2057 17 2 v 20 w(IMP)p 299 2057 V 20 w(DIA)n(G)46 b Fl(Computes)16 b(the)g(most)f(imp)q(ortan)o(t)g (diagonals.)120 2177 y Fh(DIA)n(G)p 271 2177 V 21 w(DOMI)62 b Fl(Computes)45 b(the)g(p)q(ercen)o(tage)g(of)g(w)o(eakly)g(diagonally)g (dominan)o(t)510 2237 y(ro)o(ws/columns.)120 2348 y Fh(BAND)n(WIDTH)18 b Fl(Computes)e(the)g(lo)o(w)o(er,)f(upp)q(er,)h(maxim)n(um)o(,)d(and)k(a)o (v)o(erage)e(bandwidths.)120 2468 y Fh(NONZ)226 b Fl(Computes)35 b(maxim)n(um)c(n)o(um)o(b)q(ers)j(of)i(nonzero)f(elemen)o(ts)e(p)q(er)i(col-) 510 2529 y(umn/ro)o(w,)13 b(min)f(n)o(um)o(b)q(ers)g(of)i(nonzero)f(elemen)o (ts)e(p)q(er)j(column/ro)o(w,)e(and)510 2589 y(n)o(um)o(b)q(ers)j(of)h(zero)g (columns/ro)o(ws.)120 2700 y Fh(FR)n(OBNORM)52 b Fl(Computes)16 b(the)g(F)l(rob)q(enius)g(norm)f(of)i(A.)p eop %%Page: 22 22 22 21 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(22)120 132 y Fh(ANSYM)178 b Fl(Computes)35 b(the)g(F)l(rob)q(enius)g(norm)g(of)h (the)f(symmetri)o(c)d(and)k(non-)510 192 y(symmetri)o(c)10 b(parts)k(of)f(A,)g(computes)f(the)g(n)o(um)o(b)q(er)g(of)h(matc)o(hing)f (elemen)o(ts)510 252 y(in)k(symme)o(try)d(and)j(the)g(relativ)o(e)e(symmetry) f(matc)o(h.)19 b(The)d(routine)g(AN-)510 312 y(SYM)22 b(pro)o(vides)g(some)f (information)h(on)h(the)f(degree)g(of)h(symmetr)o(y)d(of)510 372 y(A.)120 474 y Fh(DIST)-5 b(AIJ)169 b Fl(Computes)19 b(the)g(a)o(v)o (erage)g(distance)g(of)g(a\(i,j\))g(from)f(diag)i(and)g(standard)510 534 y(deviation)c(for)g(this)g(a)o(v)o(erage.)120 642 y Fh(SKYLINE)137 b Fl(Computes)16 b(the)g(n)o(um)o(b)q(er)e(of)j(nonzeros)f(in)g(the)g (skyline)f(storage.)120 763 y Fh(DISTDIA)n(G)108 b Fl(Computes)16 b(the)g(n)o(um)o(b)q(ers)e(of)j(elemen)o(ts)c(in)j(eac)o(h)g(diagonal.)120 883 y Fh(BANDP)-5 b(AR)g(T)70 b Fl(Computes)19 b(the)h(bandwidth)h(of)f(the)g (banded)g(matrix,)f(whic)o(h)g(con)o(tains)510 943 y('np)q(er')d(p)q(ercen)o (t)f(of)i(the)f(original)g(matrix.)120 1051 y Fh(NONZ)p 287 1051 17 2 v 20 w(LUD)86 b Fl(Computes)20 b(the)h(n)o(um)o(b)q(er)e(of)j (nonzero)f(elemen)o(ts)d(in)j(strict)f(lo)o(w)o(er)g(part,)510 1112 y(strict)c(upp)q(er)g(part,)g(and)h(main)e(diagonal.)120 1223 y Fh(A)-6 b(VNZ)p 279 1223 V 21 w(COL)97 b Fl(Computes)14 b(a)o(v)o(erage)g(n)o(um)o(b)q(er)e(of)j(nonzero)g(elemen)o(ts/colum)o(n)c (and)k(stan-)510 1283 y(dard)i(deviation)f(for)g(the)g(a)o(v)o(erage.)120 1391 y Fh(VBRINF)n(O)126 b Fl(Prin)o(ts)16 b(information)f(ab)q(out)j (matrices)c(in)i(v)m(ariable)g(blo)q(c)o(k)g(ro)o(w)g(format.)60 1618 y Fk(7)83 b(Matrix)27 b(generation)g(routines)60 1727 y Fl(One)c(of)h(the)g(di\016culties)d(encoun)o(tered)i(when)h(testing)f(and)h (comparing)f(n)o(umerical)e(metho)q(ds,)60 1788 y(is)h(that)h(it)g(is)f (sometimes)e(di\016cult)h(to)i(guaran)o(tee)g(that)g(the)f(matrices)f (compared)g(are)i(indeed)60 1848 y(iden)o(tical.)28 b(Ev)o(en)18 b(though)i(a)g(pap)q(er)f(ma)o(y)f(giv)o(e)g(full)g(details)g(on)i(the)e (test)h(problems)f(considered,)60 1908 y(programming)d(errors)h(or)g (di\013erences)f(in)h(co)q(ding)h(ma)o(y)d(lead)i(to)h(the)e(incorrect)g (matrices)g(and)h(the)60 1968 y(incorrect)h(conclusions.)28 b(This)18 b(has)h(often)g(happ)q(ened)g(in)f(the)g(past)h(and)g(is)f(lik)o (ely)e(to)i(b)q(e)h(a)o(v)o(oided)60 2028 y(if)f(the)h(matrices)d(w)o(ere)i (generated)h(with)f(exactly)g(the)g(same)g(co)q(de.)28 b(The)19 b(mo)q(dule)f(MA)l(TGEN)g(of)60 2088 y(SP)l(ARSKIT)e(includes)f(sev)o(eral)g (matrix)g(generation)h(routines.)60 2233 y Fi(7.1)70 b(Finite)20 b(Di\013erence)h(Matrices)120 2325 y Fl(1.)j(Scalar)16 b(5-p)q(oin)o(t)h(and) g(7-p)q(oin)o(t)g(matrices)d(arising)i(from)f(discretization)g(of)i(the)f (elliptic)e(t)o(yp)q(e)182 2385 y(equation:)182 2517 y Fj(Lu)g Fl(=)327 2484 y Fj(@)p 313 2506 57 2 v 313 2552 a(@)s(x)375 2517 y Fl(\()p Fj(a)438 2484 y(@)p 425 2506 V 425 2552 a(@)s(x)485 2517 y(u)p Fl(\))8 b(+)603 2484 y Fj(@)p 590 2506 55 2 v 590 2552 a(@)s(y)649 2517 y Fl(\()p Fj(b)707 2484 y(@)p 694 2506 V 694 2552 a(@)s(y)753 2517 y(u)p Fl(\))g(+)870 2484 y Fj(@)p 857 2506 54 2 v 857 2552 a(@)s(z)916 2517 y Fl(\()p Fj(c)973 2484 y(@)p 961 2506 V 961 2552 a(@)s(z)1019 2517 y(u)p Fl(\))g(+)1138 2484 y Fj(@)p 1124 2506 57 2 v 1124 2552 a(@)s(x)1185 2517 y Fl(\()p Fj(du)p Fl(\))g(+)1347 2484 y Fj(@)p 1334 2506 55 2 v 1334 2552 a(@)s(y)1393 2517 y Fl(\()p Fj(eu)p Fl(\))g(+)1552 2484 y Fj(@)p 1539 2506 54 2 v 1539 2552 a(@)s(z)1598 2517 y Fl(\()p Fj(f)d(u)p Fl(\))j(+)g Fj(g)r(u)k Fl(=)i Fj(hu)1858 2603 y Fl(\(1\))p eop %%Page: 23 23 23 22 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(23)60 204 y Fa(*)25 b(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g (*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)h(*)f(*)g(*)g (*)h(*)f(*)60 264 y(*)g(UNSYMMETRIC)d(MATRIX)h(FROM)h(PORES)1101 b(*)60 325 y(*)512 b(Key)25 b(=)g(PORES)f(2)51 b(,)25 b(Type)f(=)h(RUA)666 b(*)60 385 y(*)25 b(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f (*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)h(*)f(*)g (*)g(*)h(*)f(*)163 445 y(*)50 b(Dimension)23 b(N)973 b(=)180 b(1224)49 b(*)163 505 y(*)h(Number)24 b(of)h(nonzero)e(elements)586 b(=)180 b(9613)49 b(*)163 565 y(*)h(Average)23 b(number)h(of)h(nonzero)e (elements/C)o(ol)o(umn)201 b(=)128 b(7.8538)49 b(*)163 625 y(*)h(Standard)23 b(deviation)f(for)j(above)f(average)330 b(=)128 b(5.4337)49 b(*)163 686 y(*)h(Nonzero)23 b(elements)g(in)i(strict)f(lower)f (part)306 b(=)180 b(4384)49 b(*)163 746 y(*)h(Nonzero)23 b(elements)g(in)i (strict)f(upper)f(part)306 b(=)180 b(4005)49 b(*)163 806 y(*)h(Nonzero)23 b(elements)g(in)i(main)f(diagonal)407 b(=)180 b(1224)49 b(*)163 866 y(*)h(Weight)24 b(of)h(longest)e(column)638 b(=)231 b(30)50 b(*)163 926 y(*)g(Weight)24 b(of)h(shortest)d(column)613 b(=)256 b(2)51 b(*)163 987 y(*)f(Weight)24 b(of)h(longest)e(row)716 b(=)231 b(16)50 b(*)163 1047 y(*)g(Weight)24 b(of)h(shortest)d(row)691 b(=)256 b(5)51 b(*)163 1107 y(*)f(Matching)23 b(elements)g(in)i(symmetry)509 b(=)180 b(6358)49 b(*)163 1167 y(*)h(Relative)23 b(Symmetry)g(Match)h (\(symmetry)o(=1\))329 b(=)128 b(0.6614)49 b(*)163 1227 y(*)h(Average)23 b(distance)g(of)i(a\(i,j\))49 b(from)24 b(diag.)280 b(=)51 b(0.615E+02)d(*)163 1288 y(*)i(Standard)23 b(deviation)f(for)j(above)f (average)330 b(=)51 b(0.103E+03)d(*)163 1348 y(*--------)o(--)o(---)o(---)o (---)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o (---)o(---)o(---)o(--)o(---)o(*)163 1408 y(*)i(Frobenius)23 b(norm)h(of)h(A)768 b(=)51 b(0.150E+09)d(*)163 1468 y(*)i(Frobenius)23 b(norm)h(of)h(symmetric)d(part)434 b(=)51 b(0.103E+09)d(*)163 1528 y(*)i(Frobenius)23 b(norm)h(of)h(nonsymmetr)o(ic)d(part)357 b(=)51 b(0.980E+08)d(*)163 1589 y(*)i(Maximum)23 b(element)h(in)g(A)743 b(=)51 b(0.378E+08)d(*)163 1649 y(*)i(Percentage)22 b(of)j(weakly)f (diagonall)o(y)f(dominant)f(rows)101 b(=)51 b(0.490E-02)d(*)163 1709 y(*)i(Percentage)22 b(of)j(weakly)f(diagonall)o(y)f(dominant)f(columns)h (=)51 b(0.481E+00)d(*)163 1769 y(*--------)o(--)o(---)o(---)o(---)o(--)o(---) o(---)o(---)o(--)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o (--)o(---)o(*)163 1829 y(*)i(Lower)24 b(bandwidth)48 b(\(max:)24 b(i-j,)g(a\(i,j\))g(.ne.)g(0\))178 b(=)205 b(470)50 b(*)163 1890 y(*)g(Upper)24 b(bandwidth)48 b(\(max:)24 b(j-i,)g(a\(i,j\))g(.ne.)g (0\))178 b(=)205 b(471)50 b(*)163 1950 y(*)g(Maximum)23 b(Bandwidth)817 b(=)205 b(736)50 b(*)163 2010 y(*)g(Average)23 b(Bandwidth)817 b(=)51 b(0.190E+03)d(*)163 2070 y(*)i(Number)24 b(of)h(nonzeros)d(in)j (skyline)e(storage)305 b(=)128 b(342833)49 b(*)163 2130 y(*)h(90\045)25 b(of)g(matrix)e(is)i(in)g(the)g(band)f(of)h(width)305 b(=)205 b(527)50 b(*)163 2190 y(*)g(80\045)25 b(of)g(matrix)e(is)i(in)g(the)g(band)f (of)h(width)305 b(=)205 b(145)50 b(*)163 2251 y(*)g(The)25 b(total)f(number)f(of)i(nonvoid)e(diagonals)f(is)230 b(=)205 b(367)50 b(*)163 2311 y(*)g(The)25 b(10)g(most)f(important)e(diagonals)h(are) h(\(offsets\))99 b(:)333 b(*)163 2371 y(*)127 b(0)102 b(-1)128 b(1)g(2)102 b(-2)127 b(3)102 b(32)77 b(264)50 b(-264)75 b(-32)127 b(*)163 2431 y(*)50 b(The)25 b(accumulate)o(d)e(percentag)o(es)f(they)i (represent)f(are)75 b(:)333 b(*)163 2491 y(*)50 b(12.7)g(24.6)g(31.7)g(37.9)g (43.6)f(49.0)h(52.4)g(55.7)g(58.6)g(61.4)126 b(*)163 2552 y(*--------)o(--)o (---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(--)o(---)o(---)o (---)o(--)o(---)o(---)o(---)o(--)o(---)o(*)163 2612 y(*)50 b(The)25 b(matrix)e(does)i(not)f(have)g(a)i(block)d(structure)535 b(*)163 2672 y(*--------)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o (---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(*)568 2828 y Fl(Figure)15 b(3:)22 b(Sample)15 b(output)i(from)e(Info1.ex)p eop %%Page: 24 24 24 23 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(24)60 376 y Fa(*)25 b(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g (*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)h(*)f(*)g(*)g (*)h(*)f(*)60 436 y(*)g(SYMMETRIC)e(PATTERN)g(FROM)h(CANNES,LUC)o(IE)o(N)f (MARRO,JUN)o(E)g(1981.)485 b(*)60 497 y(*)512 b(Key)25 b(=)g(CAN)g(1072)f(,)h (Type)f(=)h(PSA)666 b(*)60 557 y(*)25 b(No)g(values)f(provided)e(-)k (Informati)o(on)c(on)j(pattern)e(only)614 b(*)60 617 y(*)25 b(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)h(*)f(*)g(*)g (*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)g(*)h(*)f(*)g(*)g(*)h(*)f(*)163 677 y(*)50 b(Dimension)23 b(N)973 b(=)180 b(1072)49 b(*)163 737 y(*)h(Number)24 b(of)h(nonzero)e(elements)586 b(=)180 b(6758)49 b(*)163 798 y(*)h(Average)23 b(number)h(of)h(nonzero)e(elements/C)o(ol)o(umn) 201 b(=)128 b(6.3041)49 b(*)163 858 y(*)h(Standard)23 b(deviation)f(for)j (above)f(average)330 b(=)128 b(6.2777)49 b(*)163 918 y(*)h(Nonzero)23 b(elements)g(in)i(strict)f(lower)f(part)306 b(=)180 b(5686)49 b(*)163 978 y(*)h(Nonzero)23 b(elements)g(in)i(strict)f(upper)f(part)306 b(=)180 b(5686)49 b(*)163 1038 y(*)h(Nonzero)23 b(elements)g(in)i(main)f (diagonal)407 b(=)180 b(1072)49 b(*)163 1099 y(*)h(Weight)24 b(of)h(longest)e(column)638 b(=)231 b(39)50 b(*)163 1159 y(*)g(Weight)24 b(of)h(shortest)d(column)613 b(=)256 b(4)51 b(*)163 1219 y(*)f(Matching)23 b(elements)g(in)i(symmetry)509 b(=)180 b(6758)49 b(*)163 1279 y(*)h(Relative)23 b(Symmetry)g(Match)h(\(symmetry)o(=1\))329 b(=)128 b(1.0000)49 b(*)163 1339 y(*)h(Average)23 b(distance)g(of)i(a\(i,j\)) 49 b(from)24 b(diag.)280 b(=)51 b(0.110E+03)d(*)163 1399 y(*)i(Standard)23 b(deviation)f(for)j(above)f(average)330 b(=)51 b(0.174E+03)d(*)163 1460 y(*--------)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o (---)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(*)163 1520 y(*)i(Lower)24 b(bandwidth)48 b(\(max:)24 b(i-j,)g(a\(i,j\))g(.ne.)g (0\))178 b(=)256 b(0)51 b(*)163 1580 y(*)f(Upper)24 b(bandwidth)48 b(\(max:)24 b(j-i,)g(a\(i,j\))g(.ne.)g(0\))178 b(=)i(1048)49 b(*)163 1640 y(*)h(Maximum)23 b(Bandwidth)817 b(=)180 b(1049)49 b(*)163 1700 y(*)h(Average)23 b(Bandwidth)817 b(=)51 b(0.117E+03)d(*)163 1761 y(*)i(Number)24 b(of)h(nonzeros)d(in)j(skyline)e(storage)305 b(=)128 b(278320)49 b(*)163 1821 y(*)h(90\045)25 b(of)g(matrix)e(is)i(in)g (the)g(band)f(of)h(width)305 b(=)205 b(639)50 b(*)163 1881 y(*)g(80\045)25 b(of)g(matrix)e(is)i(in)g(the)g(band)f(of)h(width)305 b(=)205 b(343)50 b(*)163 1941 y(*)g(The)25 b(total)f(number)f(of)i(nonvoid)e (diagonals)f(is)230 b(=)205 b(627)50 b(*)163 2001 y(*)g(The)h(5)25 b(most)f(important)e(diagonals)h(are)h(\(offsets\))99 b(:)333 b(*)163 2062 y(*)127 b(0)h(1)g(2)g(3)g(4)896 b(*)163 2122 y(*)50 b(The)25 b(accumulate)o(d)e(percentag)o(es)f(they)i(represent)f(are)75 b(:)333 b(*)163 2182 y(*)50 b(15.9)g(24.7)g(29.7)g(33.9)g(36.3)895 b(*)163 2242 y(*--------)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o (---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(*)163 2302 y(*)50 b(The)25 b(matrix)e(does)i(not)f(have)g(a)i(block)d(structure)535 b(*)163 2363 y(*--------)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o (---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(---)o(---)o(--)o(---)o(*)255 2518 y Fl(Figure)16 b(4:)22 b(Sample)14 b(output)j(from)e(Info1.ex)h(for)h (matrix)d(with)i(pattern)h(only)p eop %%Page: 25 25 25 24 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(25)182 132 y(on)15 b(rectangular)g(regions)f(with)h(general)f(mixed)e(t)o(yp)q(e)i (b)q(oundary)i(conditions)e(of)h(the)f(follo)o(w-)182 192 y(ing)i(form)896 274 y Fj(\013)933 240 y(@)s(u)p 932 262 58 2 v 932 308 a(@)s(n)1006 274 y Fl(+)11 b Fj(\014)s(u)h Fl(=)i Fj(\015)182 374 y Fl(The)e(user)g(pro)o (vides)f(the)h(functions)g Fj(a;)c(b;)g(c;)g(:::;)g(h)p Fl(,)i Fj(\014)s(;)e(\015)14 b Fl(and)f Fj(\013)f Fl(is)g(a)g(constan)o(t)h(on)f (eac)o(h)g(b)q(ound-)182 434 y(ary)18 b(surface.)25 b(The)18 b(resulting)f(matrix)f(is)h(in)g(general)h(sparse)g(format,)f(p)q(ossibly)h (prin)o(ted)e(in)182 494 y(a)h(\014le)e(in)h(the)g(H/B)g(format.)182 575 y(There)i(is)g(a)h(switc)o(h)e(in)h(the)h(subroutine)f(whic)o(h)g(mak)o (es)e(it)i(p)q(ossible)h(to)f(c)o(ho)q(ose)h(b)q(et)o(w)o(een)f(a)182 635 y(strict)e(cen)o(tered)g(di\013erence)g(t)o(yp)q(e)g(of)i (discretization,)d(or)j(an)f(up)o(wind)g(sc)o(heme)e(for)i(the)g(\014rst)182 695 y(order)f(deriv)m(ativ)o(es.)120 797 y(2.)24 b(Blo)q(c)o(k)16 b(5-p)q(oin)o(t)i(and)f(7-p)q(oin)o(t)h(matrices)d(arising)j(from)e (discretization)g(of)h(the)g(elliptic)e(t)o(yp)q(e)182 857 y(equation)h(\(1\))h(in)g(whic)o(h)e Fj(u)i Fl(is)f(no)o(w)h(a)g(v)o(ector)f (of)h Fj(nf)5 b(r)q(ee)16 b Fl(comp)q(onen)o(ts,)g(and)h Fj(a;)8 b(b;)g(c;)g(:::;)g(g)16 b Fl(are)182 918 y Fj(nf)5 b(r)q(ee)11 b Fg(\002)g Fj(nf)5 b(r)q(ee)16 b Fl(matrices)e(pro)o(vided)i(b)o(y)g(the)g (user.)60 1062 y Fi(7.2)70 b(Finite)20 b(Elemen)n(t)h(Matrices)60 1154 y Fl(Finite)15 b(elemen)o(t)e(matrices)h(created)i(from)f(the)h(con)o(v) o(ection-di\013usion)g(t)o(yp)q(e)g(problem)736 1264 y Fg(\000)10 b(r)p Fj(:)p Fl(\()p Fj(K)t Fg(r)p Fj(u)o Fl(\))h(+)g Fj(C)t Fg(r)p Fj(u)h Fl(=)i Fj(f)608 b Fl(\(2\))60 1374 y(on)15 b(a)f(domain)f Fj(D)j Fl(with)e(Diric)o(hlet)e(b)q(oundary)k(conditions.)k(A)14 b(coarse)h(initial)d(domain)i(is)g(describ)q(ed)60 1435 y(b)o(y)j(the)g(user) g(and)h(the)f(co)q(de)g(do)q(es)h(an)g(arbitrary)f(user-sp)q(eci\014ed)g(n)o (um)o(b)q(er)e(of)j(re\014nemen)o(ts)d(of)i(the)60 1495 y(grid)g(and)h(assem) o(bles)d(the)i(matrix,)e(in)i(CSR)g(format.)23 b(Linear)18 b(triangular)f(elemen)o(ts)d(are)k(used.)23 b(If)60 1555 y(only)17 b(the)f(matrix)f(is)i(desired)f(the)g(heat)h(source)g Fj(f)22 b Fl(can)17 b(b)q(e)g(zero.)22 b(Arbitrary)16 b(grids)h(can)g(b)q(e)g(input,) 60 1615 y(but)i(the)f(user)h(ma)o(y)e(also)j(tak)o(e)e(adv)m(an)o(tage)i(of)f (nine)f(initial)g(grids)h(supplied)f(b)o(y)g(the)h(pac)o(k)m(age)g(for)60 1675 y(simple)14 b(test)i(problems.)120 1735 y(Tw)o(o)i(examples)d(of)j (meshes)e(and)i(the)g(corresp)q(onding)g(assem)o(ble)e(matrices)f(are)j(sho)o (wn)g(in)f(the)60 1796 y(follo)o(wing)c(t)o(w)o(o)h(pairs)g(of)f(\014gures:) 21 b(the)13 b(\014rst)h(pair)g(of)f(\014gures)i(are)e(the)g(mesh)g(and)h (assem)o(bled)e(matrix)60 1856 y(with)22 b(mesh)f(n)o(um)o(b)q(er)g(8)i(and)g (re\014nemen)o(t)d(1;)26 b(the)c(second)g(pair)h(of)g(\014gures)g(are)f(the)g (mesh)f(and)60 1916 y(assem)o(bled)15 b(matrix)f(with)i(mesh)f(n)o(um)o(b)q (er)g(9)h(and)h(re\014nemen)o(t)d(1.)60 1974 y @beginspecial 40 @vscale 40 @hscale -20 @hoffset -220 @voffset @setspecial %%BeginDocument: msh.ps.8 %! %%Creator: PSPLTM routine %%BoundingBox: 214.79 10.19 1339.69 1151.29 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 8.33333E-02 cm scalefont setfont 10.7950 cm 0.500000 cm moveto (Finite element mesh) Cshow 3.17500 cm 0.333333 cm translate 15.2400 cm 6.00000 div dup scale 0.01 setlinewidth 0.00 0.00 moveto 0.00 0.29 lineto closepath stroke 0.00 0.00 moveto 0.39 0.44 lineto closepath stroke 0.00 0.00 moveto 0.63 0.00 lineto closepath stroke 6.00 0.00 moveto 5.80 0.00 lineto closepath stroke 6.00 0.00 moveto 5.80 0.23 lineto closepath stroke 6.00 0.00 moveto 6.00 0.61 lineto closepath stroke 6.00 6.00 moveto 6.00 5.39 lineto closepath stroke 6.00 6.00 moveto 5.80 5.77 lineto closepath stroke 6.00 6.00 moveto 5.80 6.00 lineto closepath stroke 0.00 6.00 moveto 0.63 6.00 lineto closepath stroke 0.00 6.00 moveto 0.39 5.56 lineto closepath stroke 0.00 6.00 moveto 0.00 5.71 lineto closepath stroke 4.60 3.00 moveto 4.66 3.05 lineto closepath stroke 4.60 3.00 moveto 4.68 3.00 lineto closepath stroke 4.60 3.00 moveto 4.59 3.03 lineto closepath stroke 4.60 3.00 moveto 4.66 2.95 lineto closepath stroke 4.60 3.00 moveto 4.59 2.97 lineto closepath stroke 4.75 3.00 moveto 4.68 3.00 lineto closepath stroke 4.75 3.00 moveto 4.74 3.05 lineto closepath stroke 4.75 3.00 moveto 4.82 3.06 lineto closepath stroke 4.75 3.00 moveto 4.83 3.00 lineto closepath stroke 4.75 3.00 moveto 4.82 2.94 lineto closepath stroke 4.75 3.00 moveto 4.74 2.95 lineto closepath stroke 4.91 3.00 moveto 4.83 3.00 lineto closepath stroke 4.91 3.00 moveto 4.90 3.06 lineto closepath stroke 4.91 3.00 moveto 4.99 3.08 lineto closepath stroke 4.91 3.00 moveto 5.01 3.00 lineto closepath stroke 4.91 3.00 moveto 4.99 2.92 lineto closepath stroke 4.91 3.00 moveto 4.90 2.94 lineto closepath stroke 5.10 3.00 moveto 5.01 3.00 lineto closepath stroke 5.10 3.00 moveto 5.08 3.08 lineto closepath stroke 5.10 3.00 moveto 5.18 3.10 lineto closepath stroke 5.10 3.00 moveto 5.20 3.00 lineto closepath stroke 5.10 3.00 moveto 5.18 2.90 lineto closepath stroke 5.10 3.00 moveto 5.08 2.92 lineto closepath stroke 5.30 3.00 moveto 5.20 3.00 lineto closepath stroke 5.30 3.00 moveto 5.28 3.10 lineto closepath stroke 5.30 3.00 moveto 5.38 3.13 lineto closepath stroke 5.30 3.00 moveto 5.41 3.00 lineto closepath stroke 5.30 3.00 moveto 5.38 2.87 lineto closepath stroke 5.30 3.00 moveto 5.28 2.90 lineto closepath stroke 5.52 3.00 moveto 5.41 3.00 lineto closepath stroke 5.52 3.00 moveto 5.49 3.13 lineto closepath stroke 5.52 3.00 moveto 5.61 3.15 lineto closepath stroke 5.52 3.00 moveto 5.76 3.00 lineto closepath stroke 5.52 3.00 moveto 5.61 2.85 lineto closepath stroke 5.52 3.00 moveto 5.49 2.87 lineto closepath stroke 6.00 3.00 moveto 5.76 3.00 lineto closepath stroke 6.00 3.00 moveto 5.85 3.15 lineto closepath stroke 6.00 3.00 moveto 6.00 3.15 lineto closepath stroke 6.00 3.00 moveto 6.00 2.85 lineto closepath stroke 6.00 3.00 moveto 5.85 2.85 lineto closepath stroke 4.58 3.06 moveto 4.65 3.08 lineto closepath stroke 4.58 3.06 moveto 4.59 3.03 lineto closepath stroke 4.58 3.06 moveto 4.62 3.12 lineto closepath stroke 4.58 3.06 moveto 4.56 3.09 lineto closepath stroke 4.73 3.09 moveto 4.74 3.05 lineto closepath stroke 4.73 3.09 moveto 4.66 3.05 lineto closepath stroke 4.73 3.09 moveto 4.65 3.08 lineto closepath stroke 4.73 3.09 moveto 4.81 3.11 lineto closepath stroke 4.73 3.09 moveto 4.70 3.13 lineto closepath stroke 4.73 3.09 moveto 4.77 3.17 lineto closepath stroke 4.89 3.13 moveto 4.90 3.06 lineto closepath stroke 4.89 3.13 moveto 4.82 3.06 lineto closepath stroke 4.89 3.13 moveto 4.81 3.11 lineto closepath stroke 4.89 3.13 moveto 4.98 3.15 lineto closepath stroke 4.89 3.13 moveto 4.85 3.18 lineto closepath stroke 4.89 3.13 moveto 4.93 3.22 lineto closepath stroke 5.06 3.16 moveto 5.08 3.08 lineto closepath stroke 5.06 3.16 moveto 4.99 3.08 lineto closepath stroke 5.06 3.16 moveto 4.98 3.15 lineto closepath stroke 5.06 3.16 moveto 5.16 3.18 lineto closepath stroke 5.06 3.16 moveto 5.02 3.24 lineto closepath stroke 5.06 3.16 moveto 5.10 3.28 lineto closepath stroke 5.26 3.21 moveto 5.28 3.10 lineto closepath stroke 5.26 3.21 moveto 5.18 3.10 lineto closepath stroke 5.26 3.21 moveto 5.16 3.18 lineto closepath stroke 5.26 3.21 moveto 5.36 3.23 lineto closepath stroke 5.26 3.21 moveto 5.20 3.30 lineto closepath stroke 5.26 3.21 moveto 5.30 3.34 lineto closepath stroke 5.47 3.25 moveto 5.49 3.13 lineto closepath stroke 5.47 3.25 moveto 5.38 3.13 lineto closepath stroke 5.47 3.25 moveto 5.36 3.23 lineto closepath stroke 5.47 3.25 moveto 5.59 3.28 lineto closepath stroke 5.47 3.25 moveto 5.41 3.36 lineto closepath stroke 5.47 3.25 moveto 5.51 3.41 lineto closepath stroke 5.70 3.30 moveto 5.85 3.15 lineto closepath stroke 5.70 3.30 moveto 5.61 3.15 lineto closepath stroke 5.70 3.30 moveto 5.59 3.28 lineto closepath stroke 5.70 3.30 moveto 5.85 3.30 lineto closepath stroke 5.70 3.30 moveto 5.63 3.44 lineto closepath stroke 5.70 3.30 moveto 5.85 3.49 lineto closepath stroke 6.00 3.30 moveto 6.00 3.15 lineto closepath stroke 6.00 3.30 moveto 5.85 3.30 lineto closepath stroke 6.00 3.30 moveto 6.00 3.49 lineto closepath stroke 4.53 3.12 moveto 4.60 3.15 lineto closepath stroke 4.53 3.12 moveto 4.56 3.09 lineto closepath stroke 4.53 3.12 moveto 4.55 3.18 lineto closepath stroke 4.53 3.12 moveto 4.49 3.14 lineto closepath stroke 4.66 3.18 moveto 4.70 3.13 lineto closepath stroke 4.66 3.18 moveto 4.62 3.12 lineto closepath stroke 4.66 3.18 moveto 4.60 3.15 lineto closepath stroke 4.66 3.18 moveto 4.74 3.21 lineto closepath stroke 4.66 3.18 moveto 4.61 3.21 lineto closepath stroke 4.66 3.18 moveto 4.68 3.26 lineto closepath stroke 4.81 3.24 moveto 4.85 3.18 lineto closepath stroke 4.81 3.24 moveto 4.77 3.17 lineto closepath stroke 4.81 3.24 moveto 4.74 3.21 lineto closepath stroke 4.81 3.24 moveto 4.89 3.28 lineto closepath stroke 4.81 3.24 moveto 4.75 3.29 lineto closepath stroke 4.81 3.24 moveto 4.82 3.34 lineto closepath stroke 4.97 3.31 moveto 5.02 3.24 lineto closepath stroke 4.97 3.31 moveto 4.93 3.22 lineto closepath stroke 4.97 3.31 moveto 4.89 3.28 lineto closepath stroke 4.97 3.31 moveto 5.06 3.35 lineto closepath stroke 4.97 3.31 moveto 4.90 3.37 lineto closepath stroke 4.97 3.31 moveto 4.97 3.43 lineto closepath stroke 5.15 3.39 moveto 5.20 3.30 lineto closepath stroke 5.15 3.39 moveto 5.10 3.28 lineto closepath stroke 5.15 3.39 moveto 5.06 3.35 lineto closepath stroke 5.15 3.39 moveto 5.24 3.44 lineto closepath stroke 5.15 3.39 moveto 5.06 3.47 lineto closepath stroke 5.15 3.39 moveto 5.14 3.53 lineto closepath stroke 5.34 3.48 moveto 5.41 3.36 lineto closepath stroke 5.34 3.48 moveto 5.30 3.34 lineto closepath stroke 5.34 3.48 moveto 5.24 3.44 lineto closepath stroke 5.34 3.48 moveto 5.45 3.53 lineto closepath stroke 5.34 3.48 moveto 5.24 3.57 lineto closepath stroke 5.34 3.48 moveto 5.33 3.64 lineto closepath stroke 5.55 3.57 moveto 5.63 3.44 lineto closepath stroke 5.55 3.57 moveto 5.51 3.41 lineto closepath stroke 5.55 3.57 moveto 5.45 3.53 lineto closepath stroke 5.55 3.57 moveto 5.78 3.63 lineto closepath stroke 5.55 3.57 moveto 5.44 3.69 lineto closepath stroke 5.55 3.57 moveto 5.54 3.76 lineto closepath stroke 6.00 3.68 moveto 6.00 3.49 lineto closepath stroke 6.00 3.68 moveto 5.85 3.49 lineto closepath stroke 6.00 3.68 moveto 5.78 3.63 lineto closepath stroke 6.00 3.68 moveto 5.76 3.81 lineto closepath stroke 6.00 3.68 moveto 5.87 3.89 lineto closepath stroke 6.00 3.68 moveto 6.00 3.89 lineto closepath stroke 4.45 3.16 moveto 4.51 3.21 lineto closepath stroke 4.45 3.16 moveto 4.49 3.14 lineto closepath stroke 4.45 3.16 moveto 4.45 3.23 lineto closepath stroke 4.45 3.16 moveto 4.40 3.18 lineto closepath stroke 4.57 3.25 moveto 4.61 3.21 lineto closepath stroke 4.57 3.25 moveto 4.55 3.18 lineto closepath stroke 4.57 3.25 moveto 4.51 3.21 lineto closepath stroke 4.57 3.25 moveto 4.63 3.29 lineto closepath stroke 4.57 3.25 moveto 4.50 3.27 lineto closepath stroke 4.57 3.25 moveto 4.55 3.33 lineto closepath stroke 4.69 3.34 moveto 4.75 3.29 lineto closepath stroke 4.69 3.34 moveto 4.68 3.26 lineto closepath stroke 4.69 3.34 moveto 4.63 3.29 lineto closepath stroke 4.69 3.34 moveto 4.76 3.39 lineto closepath stroke 4.69 3.34 moveto 4.62 3.37 lineto closepath stroke 4.69 3.34 moveto 4.67 3.43 lineto closepath stroke 4.83 3.44 moveto 4.90 3.37 lineto closepath stroke 4.83 3.44 moveto 4.82 3.34 lineto closepath stroke 4.83 3.44 moveto 4.76 3.39 lineto closepath stroke 4.83 3.44 moveto 4.90 3.49 lineto closepath stroke 4.83 3.44 moveto 4.74 3.48 lineto closepath stroke 4.83 3.44 moveto 4.80 3.55 lineto closepath stroke 4.98 3.55 moveto 5.06 3.47 lineto closepath stroke 4.98 3.55 moveto 4.97 3.43 lineto closepath stroke 4.98 3.55 moveto 4.90 3.49 lineto closepath stroke 4.98 3.55 moveto 5.06 3.61 lineto closepath stroke 4.98 3.55 moveto 4.87 3.60 lineto closepath stroke 4.98 3.55 moveto 4.94 3.67 lineto closepath stroke 5.14 3.67 moveto 5.24 3.57 lineto closepath stroke 5.14 3.67 moveto 5.14 3.53 lineto closepath stroke 5.14 3.67 moveto 5.06 3.61 lineto closepath stroke 5.14 3.67 moveto 5.23 3.73 lineto closepath stroke 5.14 3.67 moveto 5.02 3.73 lineto closepath stroke 5.14 3.67 moveto 5.09 3.81 lineto closepath stroke 5.32 3.80 moveto 5.44 3.69 lineto closepath stroke 5.32 3.80 moveto 5.33 3.64 lineto closepath stroke 5.32 3.80 moveto 5.23 3.73 lineto closepath stroke 5.32 3.80 moveto 5.42 3.87 lineto closepath stroke 5.32 3.80 moveto 5.18 3.88 lineto closepath stroke 5.32 3.80 moveto 5.26 3.97 lineto closepath stroke 5.52 3.94 moveto 5.76 3.81 lineto closepath stroke 5.52 3.94 moveto 5.54 3.76 lineto closepath stroke 5.52 3.94 moveto 5.42 3.87 lineto closepath stroke 5.52 3.94 moveto 5.63 4.02 lineto closepath stroke 5.52 3.94 moveto 5.36 4.04 lineto closepath stroke 5.52 3.94 moveto 5.45 4.14 lineto closepath stroke 5.74 4.10 moveto 5.87 3.89 lineto closepath stroke 5.74 4.10 moveto 5.63 4.02 lineto closepath stroke 5.74 4.10 moveto 5.87 4.10 lineto closepath stroke 5.74 4.10 moveto 5.56 4.22 lineto closepath stroke 5.74 4.10 moveto 5.65 4.32 lineto closepath stroke 6.00 4.10 moveto 6.00 3.89 lineto closepath stroke 6.00 4.10 moveto 5.87 4.10 lineto closepath stroke 6.00 4.10 moveto 5.78 4.32 lineto closepath stroke 6.00 4.10 moveto 6.00 4.44 lineto closepath stroke 4.36 3.20 moveto 4.40 3.25 lineto closepath stroke 4.36 3.20 moveto 4.40 3.18 lineto closepath stroke 4.36 3.20 moveto 4.34 3.26 lineto closepath stroke 4.36 3.20 moveto 4.30 3.21 lineto closepath stroke 4.44 3.30 moveto 4.50 3.27 lineto closepath stroke 4.44 3.30 moveto 4.45 3.23 lineto closepath stroke 4.44 3.30 moveto 4.40 3.25 lineto closepath stroke 4.44 3.30 moveto 4.49 3.35 lineto closepath stroke 4.44 3.30 moveto 4.38 3.31 lineto closepath stroke 4.44 3.30 moveto 4.41 3.37 lineto closepath stroke 4.54 3.40 moveto 4.62 3.37 lineto closepath stroke 4.54 3.40 moveto 4.55 3.33 lineto closepath stroke 4.54 3.40 moveto 4.49 3.35 lineto closepath stroke 4.54 3.40 moveto 4.60 3.46 lineto closepath stroke 4.54 3.40 moveto 4.46 3.43 lineto closepath stroke 4.54 3.40 moveto 4.50 3.49 lineto closepath stroke 4.65 3.52 moveto 4.74 3.48 lineto closepath stroke 4.65 3.52 moveto 4.67 3.43 lineto closepath stroke 4.65 3.52 moveto 4.60 3.46 lineto closepath stroke 4.65 3.52 moveto 4.71 3.59 lineto closepath stroke 4.65 3.52 moveto 4.55 3.55 lineto closepath stroke 4.65 3.52 moveto 4.60 3.62 lineto closepath stroke 4.77 3.66 moveto 4.87 3.60 lineto closepath stroke 4.77 3.66 moveto 4.80 3.55 lineto closepath stroke 4.77 3.66 moveto 4.71 3.59 lineto closepath stroke 4.77 3.66 moveto 4.83 3.73 lineto closepath stroke 4.77 3.66 moveto 4.66 3.69 lineto closepath stroke 4.77 3.66 moveto 4.70 3.77 lineto closepath stroke 4.90 3.80 moveto 5.02 3.73 lineto closepath stroke 4.90 3.80 moveto 4.94 3.67 lineto closepath stroke 4.90 3.80 moveto 4.83 3.73 lineto closepath stroke 4.90 3.80 moveto 4.97 3.88 lineto closepath stroke 4.90 3.80 moveto 4.77 3.84 lineto closepath stroke 4.90 3.80 moveto 4.82 3.93 lineto closepath stroke 5.04 3.96 moveto 5.18 3.88 lineto closepath stroke 5.04 3.96 moveto 5.09 3.81 lineto closepath stroke 5.04 3.96 moveto 4.97 3.88 lineto closepath stroke 5.04 3.96 moveto 5.12 4.05 lineto closepath stroke 5.04 3.96 moveto 4.89 4.01 lineto closepath stroke 5.04 3.96 moveto 4.95 4.11 lineto closepath stroke 5.20 4.13 moveto 5.36 4.04 lineto closepath stroke 5.20 4.13 moveto 5.26 3.97 lineto closepath stroke 5.20 4.13 moveto 5.12 4.05 lineto closepath stroke 5.20 4.13 moveto 5.29 4.23 lineto closepath stroke 5.20 4.13 moveto 5.02 4.19 lineto closepath stroke 5.20 4.13 moveto 5.09 4.30 lineto closepath stroke 5.37 4.33 moveto 5.56 4.22 lineto closepath stroke 5.37 4.33 moveto 5.45 4.14 lineto closepath stroke 5.37 4.33 moveto 5.29 4.23 lineto closepath stroke 5.37 4.33 moveto 5.47 4.43 lineto closepath stroke 5.37 4.33 moveto 5.17 4.40 lineto closepath stroke 5.37 4.33 moveto 5.24 4.51 lineto closepath stroke 5.56 4.54 moveto 5.78 4.32 lineto closepath stroke 5.56 4.54 moveto 5.65 4.32 lineto closepath stroke 5.56 4.54 moveto 5.47 4.43 lineto closepath stroke 5.56 4.54 moveto 5.78 4.66 lineto closepath stroke 5.56 4.54 moveto 5.33 4.62 lineto closepath stroke 5.56 4.54 moveto 5.41 4.75 lineto closepath stroke 5.56 4.54 moveto 5.49 4.89 lineto closepath stroke 6.00 4.77 moveto 6.00 4.44 lineto closepath stroke 6.00 4.77 moveto 5.78 4.66 lineto closepath stroke 6.00 4.77 moveto 5.71 5.00 lineto closepath stroke 6.00 4.77 moveto 5.80 5.16 lineto closepath stroke 6.00 4.77 moveto 6.00 5.39 lineto closepath stroke 4.25 3.22 moveto 4.28 3.27 lineto closepath stroke 4.25 3.22 moveto 4.30 3.21 lineto closepath stroke 4.25 3.22 moveto 4.22 3.28 lineto closepath stroke 4.25 3.22 moveto 4.20 3.22 lineto closepath stroke 4.31 3.33 moveto 4.38 3.31 lineto closepath stroke 4.31 3.33 moveto 4.34 3.26 lineto closepath stroke 4.31 3.33 moveto 4.28 3.27 lineto closepath stroke 4.31 3.33 moveto 4.35 3.39 lineto closepath stroke 4.31 3.33 moveto 4.25 3.33 lineto closepath stroke 4.31 3.33 moveto 4.27 3.40 lineto closepath stroke 4.38 3.45 moveto 4.46 3.43 lineto closepath stroke 4.38 3.45 moveto 4.41 3.37 lineto closepath stroke 4.38 3.45 moveto 4.35 3.39 lineto closepath stroke 4.38 3.45 moveto 4.42 3.51 lineto closepath stroke 4.38 3.45 moveto 4.30 3.46 lineto closepath stroke 4.38 3.45 moveto 4.33 3.53 lineto closepath stroke 4.46 3.58 moveto 4.55 3.55 lineto closepath stroke 4.46 3.58 moveto 4.50 3.49 lineto closepath stroke 4.46 3.58 moveto 4.42 3.51 lineto closepath stroke 4.46 3.58 moveto 4.50 3.65 lineto closepath stroke 4.46 3.58 moveto 4.36 3.59 lineto closepath stroke 4.46 3.58 moveto 4.39 3.67 lineto closepath stroke 4.54 3.72 moveto 4.66 3.69 lineto closepath stroke 4.54 3.72 moveto 4.60 3.62 lineto closepath stroke 4.54 3.72 moveto 4.50 3.65 lineto closepath stroke 4.54 3.72 moveto 4.59 3.80 lineto closepath stroke 4.54 3.72 moveto 4.43 3.74 lineto closepath stroke 4.54 3.72 moveto 4.46 3.82 lineto closepath stroke 4.64 3.88 moveto 4.77 3.84 lineto closepath stroke 4.64 3.88 moveto 4.70 3.77 lineto closepath stroke 4.64 3.88 moveto 4.59 3.80 lineto closepath stroke 4.64 3.88 moveto 4.69 3.97 lineto closepath stroke 4.64 3.88 moveto 4.50 3.90 lineto closepath stroke 4.64 3.88 moveto 4.53 3.99 lineto closepath stroke 4.74 4.06 moveto 4.89 4.01 lineto closepath stroke 4.74 4.06 moveto 4.82 3.93 lineto closepath stroke 4.74 4.06 moveto 4.69 3.97 lineto closepath stroke 4.74 4.06 moveto 4.79 4.15 lineto closepath stroke 4.74 4.06 moveto 4.58 4.08 lineto closepath stroke 4.74 4.06 moveto 4.62 4.18 lineto closepath stroke 4.85 4.25 moveto 5.02 4.19 lineto closepath stroke 4.85 4.25 moveto 4.95 4.11 lineto closepath stroke 4.85 4.25 moveto 4.79 4.15 lineto closepath stroke 4.85 4.25 moveto 4.91 4.36 lineto closepath stroke 4.85 4.25 moveto 4.67 4.28 lineto closepath stroke 4.85 4.25 moveto 4.71 4.39 lineto closepath stroke 4.97 4.46 moveto 5.17 4.40 lineto closepath stroke 4.97 4.46 moveto 5.09 4.30 lineto closepath stroke 4.97 4.46 moveto 4.91 4.36 lineto closepath stroke 4.97 4.46 moveto 5.04 4.58 lineto closepath stroke 4.97 4.46 moveto 4.77 4.50 lineto closepath stroke 4.97 4.46 moveto 4.81 4.62 lineto closepath stroke 5.11 4.70 moveto 5.33 4.62 lineto closepath stroke 5.11 4.70 moveto 5.24 4.51 lineto closepath stroke 5.11 4.70 moveto 5.04 4.58 lineto closepath stroke 5.11 4.70 moveto 5.18 4.83 lineto closepath stroke 5.11 4.70 moveto 4.88 4.73 lineto closepath stroke 5.11 4.70 moveto 4.92 4.87 lineto closepath stroke 5.25 4.95 moveto 5.41 4.75 lineto closepath stroke 5.25 4.95 moveto 5.18 4.83 lineto closepath stroke 5.25 4.95 moveto 5.34 5.10 lineto closepath stroke 5.25 4.95 moveto 5.00 5.00 lineto closepath stroke 5.25 4.95 moveto 5.04 5.14 lineto closepath stroke 5.42 5.24 moveto 5.71 5.00 lineto closepath stroke 5.42 5.24 moveto 5.49 4.89 lineto closepath stroke 5.42 5.24 moveto 5.34 5.10 lineto closepath stroke 5.42 5.24 moveto 5.51 5.39 lineto closepath stroke 5.42 5.24 moveto 5.12 5.29 lineto closepath stroke 5.60 5.55 moveto 5.80 5.77 lineto closepath stroke 5.60 5.55 moveto 5.80 5.16 lineto closepath stroke 5.60 5.55 moveto 5.51 5.39 lineto closepath stroke 5.60 5.55 moveto 5.60 5.77 lineto closepath stroke 5.60 5.55 moveto 5.21 5.44 lineto closepath stroke 5.60 5.55 moveto 5.27 5.77 lineto closepath stroke 5.60 6.00 moveto 5.80 6.00 lineto closepath stroke 5.60 6.00 moveto 5.60 5.77 lineto closepath stroke 5.60 6.00 moveto 5.27 6.00 lineto closepath stroke 4.15 3.23 moveto 4.17 3.28 lineto closepath stroke 4.15 3.23 moveto 4.20 3.22 lineto closepath stroke 4.15 3.23 moveto 4.10 3.29 lineto closepath stroke 4.15 3.23 moveto 4.10 3.23 lineto closepath stroke 4.18 3.34 moveto 4.25 3.33 lineto closepath stroke 4.18 3.34 moveto 4.22 3.28 lineto closepath stroke 4.18 3.34 moveto 4.17 3.28 lineto closepath stroke 4.18 3.34 moveto 4.21 3.40 lineto closepath stroke 4.18 3.34 moveto 4.12 3.34 lineto closepath stroke 4.18 3.34 moveto 4.13 3.41 lineto closepath stroke 4.23 3.47 moveto 4.30 3.46 lineto closepath stroke 4.23 3.47 moveto 4.27 3.40 lineto closepath stroke 4.23 3.47 moveto 4.21 3.40 lineto closepath stroke 4.23 3.47 moveto 4.25 3.53 lineto closepath stroke 4.23 3.47 moveto 4.15 3.47 lineto closepath stroke 4.23 3.47 moveto 4.16 3.54 lineto closepath stroke 4.27 3.60 moveto 4.36 3.59 lineto closepath stroke 4.27 3.60 moveto 4.33 3.53 lineto closepath stroke 4.27 3.60 moveto 4.25 3.53 lineto closepath stroke 4.27 3.60 moveto 4.29 3.68 lineto closepath stroke 4.27 3.60 moveto 4.18 3.61 lineto closepath stroke 4.27 3.60 moveto 4.19 3.68 lineto closepath stroke 4.32 3.75 moveto 4.43 3.74 lineto closepath stroke 4.32 3.75 moveto 4.39 3.67 lineto closepath stroke 4.32 3.75 moveto 4.29 3.68 lineto closepath stroke 4.32 3.75 moveto 4.35 3.84 lineto closepath stroke 4.32 3.75 moveto 4.21 3.76 lineto closepath stroke 4.32 3.75 moveto 4.22 3.84 lineto closepath stroke 4.37 3.92 moveto 4.50 3.90 lineto closepath stroke 4.37 3.92 moveto 4.46 3.82 lineto closepath stroke 4.37 3.92 moveto 4.35 3.84 lineto closepath stroke 4.37 3.92 moveto 4.40 4.01 lineto closepath stroke 4.37 3.92 moveto 4.25 3.93 lineto closepath stroke 4.37 3.92 moveto 4.26 4.02 lineto closepath stroke 4.43 4.10 moveto 4.58 4.08 lineto closepath stroke 4.43 4.10 moveto 4.53 3.99 lineto closepath stroke 4.43 4.10 moveto 4.40 4.01 lineto closepath stroke 4.43 4.10 moveto 4.47 4.21 lineto closepath stroke 4.43 4.10 moveto 4.29 4.11 lineto closepath stroke 4.43 4.10 moveto 4.30 4.21 lineto closepath stroke 4.50 4.31 moveto 4.67 4.28 lineto closepath stroke 4.50 4.31 moveto 4.62 4.18 lineto closepath stroke 4.50 4.31 moveto 4.47 4.21 lineto closepath stroke 4.50 4.31 moveto 4.53 4.42 lineto closepath stroke 4.50 4.31 moveto 4.33 4.31 lineto closepath stroke 4.50 4.31 moveto 4.34 4.43 lineto closepath stroke 4.57 4.53 moveto 4.77 4.50 lineto closepath stroke 4.57 4.53 moveto 4.71 4.39 lineto closepath stroke 4.57 4.53 moveto 4.53 4.42 lineto closepath stroke 4.57 4.53 moveto 4.61 4.65 lineto closepath stroke 4.57 4.53 moveto 4.38 4.54 lineto closepath stroke 4.57 4.53 moveto 4.39 4.66 lineto closepath stroke 4.65 4.77 moveto 4.88 4.73 lineto closepath stroke 4.65 4.77 moveto 4.81 4.62 lineto closepath stroke 4.65 4.77 moveto 4.61 4.65 lineto closepath stroke 4.65 4.77 moveto 4.69 4.91 lineto closepath stroke 4.65 4.77 moveto 4.43 4.78 lineto closepath stroke 4.65 4.77 moveto 4.45 4.92 lineto closepath stroke 4.74 5.04 moveto 5.00 5.00 lineto closepath stroke 4.74 5.04 moveto 4.92 4.87 lineto closepath stroke 4.74 5.04 moveto 4.69 4.91 lineto closepath stroke 4.74 5.04 moveto 4.78 5.19 lineto closepath stroke 4.74 5.04 moveto 4.49 5.05 lineto closepath stroke 4.74 5.04 moveto 4.50 5.20 lineto closepath stroke 4.83 5.33 moveto 5.21 5.44 lineto closepath stroke 4.83 5.33 moveto 5.12 5.29 lineto closepath stroke 4.83 5.33 moveto 5.04 5.14 lineto closepath stroke 4.83 5.33 moveto 4.78 5.19 lineto closepath stroke 4.83 5.33 moveto 4.88 5.67 lineto closepath stroke 4.83 5.33 moveto 4.55 5.35 lineto closepath stroke 4.83 5.33 moveto 4.57 5.67 lineto closepath stroke 4.94 6.00 moveto 5.27 5.77 lineto closepath stroke 4.94 6.00 moveto 4.88 5.67 lineto closepath stroke 4.94 6.00 moveto 5.27 6.00 lineto closepath stroke 4.94 6.00 moveto 4.62 6.00 lineto closepath stroke 4.05 3.23 moveto 4.05 3.29 lineto closepath stroke 4.05 3.23 moveto 4.10 3.23 lineto closepath stroke 4.05 3.23 moveto 4.00 3.23 lineto closepath stroke 4.06 3.34 moveto 4.12 3.34 lineto closepath stroke 4.06 3.34 moveto 4.10 3.29 lineto closepath stroke 4.06 3.34 moveto 4.05 3.29 lineto closepath stroke 4.06 3.34 moveto 4.07 3.41 lineto closepath stroke 4.06 3.34 moveto 4.01 3.29 lineto closepath stroke 4.06 3.34 moveto 4.00 3.34 lineto closepath stroke 4.07 3.47 moveto 4.15 3.47 lineto closepath stroke 4.07 3.47 moveto 4.13 3.41 lineto closepath stroke 4.07 3.47 moveto 4.07 3.41 lineto closepath stroke 4.07 3.47 moveto 4.08 3.54 lineto closepath stroke 4.07 3.47 moveto 4.01 3.41 lineto closepath stroke 4.07 3.47 moveto 4.00 3.47 lineto closepath stroke 4.09 3.61 moveto 4.18 3.61 lineto closepath stroke 4.09 3.61 moveto 4.16 3.54 lineto closepath stroke 4.09 3.61 moveto 4.08 3.54 lineto closepath stroke 4.09 3.61 moveto 4.10 3.69 lineto closepath stroke 4.09 3.61 moveto 4.01 3.54 lineto closepath stroke 4.09 3.61 moveto 4.00 3.61 lineto closepath stroke 4.10 3.76 moveto 4.21 3.76 lineto closepath stroke 4.10 3.76 moveto 4.19 3.68 lineto closepath stroke 4.10 3.76 moveto 4.10 3.69 lineto closepath stroke 4.10 3.76 moveto 4.11 3.85 lineto closepath stroke 4.10 3.76 moveto 4.01 3.69 lineto closepath stroke 4.10 3.76 moveto 4.00 3.76 lineto closepath stroke 4.12 3.93 moveto 4.25 3.93 lineto closepath stroke 4.12 3.93 moveto 4.22 3.84 lineto closepath stroke 4.12 3.93 moveto 4.11 3.85 lineto closepath stroke 4.12 3.93 moveto 4.13 4.02 lineto closepath stroke 4.12 3.93 moveto 4.01 3.85 lineto closepath stroke 4.12 3.93 moveto 4.00 3.93 lineto closepath stroke 4.14 4.12 moveto 4.29 4.11 lineto closepath stroke 4.14 4.12 moveto 4.26 4.02 lineto closepath stroke 4.14 4.12 moveto 4.13 4.02 lineto closepath stroke 4.14 4.12 moveto 4.15 4.22 lineto closepath stroke 4.14 4.12 moveto 4.01 4.02 lineto closepath stroke 4.14 4.12 moveto 4.00 4.12 lineto closepath stroke 4.16 4.32 moveto 4.33 4.31 lineto closepath stroke 4.16 4.32 moveto 4.30 4.21 lineto closepath stroke 4.16 4.32 moveto 4.15 4.22 lineto closepath stroke 4.16 4.32 moveto 4.17 4.43 lineto closepath stroke 4.16 4.32 moveto 4.01 4.22 lineto closepath stroke 4.16 4.32 moveto 4.00 4.32 lineto closepath stroke 4.19 4.54 moveto 4.38 4.54 lineto closepath stroke 4.19 4.54 moveto 4.34 4.43 lineto closepath stroke 4.19 4.54 moveto 4.17 4.43 lineto closepath stroke 4.19 4.54 moveto 4.20 4.67 lineto closepath stroke 4.19 4.54 moveto 4.01 4.43 lineto closepath stroke 4.19 4.54 moveto 4.00 4.54 lineto closepath stroke 4.21 4.79 moveto 4.43 4.78 lineto closepath stroke 4.21 4.79 moveto 4.39 4.66 lineto closepath stroke 4.21 4.79 moveto 4.20 4.67 lineto closepath stroke 4.21 4.79 moveto 4.23 4.93 lineto closepath stroke 4.21 4.79 moveto 4.01 4.67 lineto closepath stroke 4.21 4.79 moveto 4.00 4.79 lineto closepath stroke 4.24 5.06 moveto 4.49 5.05 lineto closepath stroke 4.24 5.06 moveto 4.45 4.92 lineto closepath stroke 4.24 5.06 moveto 4.23 4.93 lineto closepath stroke 4.24 5.06 moveto 4.26 5.21 lineto closepath stroke 4.24 5.06 moveto 4.01 4.93 lineto closepath stroke 4.24 5.06 moveto 4.00 5.06 lineto closepath stroke 4.27 5.36 moveto 4.55 5.35 lineto closepath stroke 4.27 5.36 moveto 4.50 5.20 lineto closepath stroke 4.27 5.36 moveto 4.26 5.21 lineto closepath stroke 4.27 5.36 moveto 4.29 5.68 lineto closepath stroke 4.27 5.36 moveto 4.02 5.21 lineto closepath stroke 4.27 5.36 moveto 4.00 5.36 lineto closepath stroke 4.31 6.00 moveto 4.62 6.00 lineto closepath stroke 4.31 6.00 moveto 4.57 5.67 lineto closepath stroke 4.31 6.00 moveto 4.29 5.68 lineto closepath stroke 4.31 6.00 moveto 4.02 5.68 lineto closepath stroke 4.31 6.00 moveto 4.00 6.00 lineto closepath stroke 3.95 3.23 moveto 4.01 3.29 lineto closepath stroke 3.95 3.23 moveto 4.00 3.23 lineto closepath stroke 3.95 3.23 moveto 3.95 3.29 lineto closepath stroke 3.95 3.23 moveto 3.90 3.23 lineto closepath stroke 3.94 3.35 moveto 4.01 3.41 lineto closepath stroke 3.94 3.35 moveto 4.00 3.34 lineto closepath stroke 3.94 3.35 moveto 3.95 3.29 lineto closepath stroke 3.94 3.35 moveto 3.93 3.41 lineto closepath stroke 3.94 3.35 moveto 3.89 3.29 lineto closepath stroke 3.94 3.35 moveto 3.88 3.35 lineto closepath stroke 3.93 3.47 moveto 4.01 3.54 lineto closepath stroke 3.93 3.47 moveto 4.00 3.47 lineto closepath stroke 3.93 3.47 moveto 3.93 3.41 lineto closepath stroke 3.93 3.47 moveto 3.92 3.54 lineto closepath stroke 3.93 3.47 moveto 3.87 3.41 lineto closepath stroke 3.93 3.47 moveto 3.85 3.47 lineto closepath stroke 3.91 3.61 moveto 4.01 3.69 lineto closepath stroke 3.91 3.61 moveto 4.00 3.61 lineto closepath stroke 3.91 3.61 moveto 3.92 3.54 lineto closepath stroke 3.91 3.61 moveto 3.90 3.69 lineto closepath stroke 3.91 3.61 moveto 3.84 3.54 lineto closepath stroke 3.91 3.61 moveto 3.82 3.61 lineto closepath stroke 3.90 3.76 moveto 4.01 3.85 lineto closepath stroke 3.90 3.76 moveto 4.00 3.76 lineto closepath stroke 3.90 3.76 moveto 3.90 3.69 lineto closepath stroke 3.90 3.76 moveto 3.89 3.85 lineto closepath stroke 3.90 3.76 moveto 3.81 3.69 lineto closepath stroke 3.90 3.76 moveto 3.79 3.77 lineto closepath stroke 3.88 3.93 moveto 4.01 4.02 lineto closepath stroke 3.88 3.93 moveto 4.00 3.93 lineto closepath stroke 3.88 3.93 moveto 3.89 3.85 lineto closepath stroke 3.88 3.93 moveto 3.87 4.02 lineto closepath stroke 3.88 3.93 moveto 3.78 3.85 lineto closepath stroke 3.88 3.93 moveto 3.75 3.94 lineto closepath stroke 3.86 4.12 moveto 4.01 4.22 lineto closepath stroke 3.86 4.12 moveto 4.00 4.12 lineto closepath stroke 3.86 4.12 moveto 3.87 4.02 lineto closepath stroke 3.86 4.12 moveto 3.85 4.22 lineto closepath stroke 3.86 4.12 moveto 3.74 4.03 lineto closepath stroke 3.86 4.12 moveto 3.71 4.12 lineto closepath stroke 3.84 4.32 moveto 4.01 4.43 lineto closepath stroke 3.84 4.32 moveto 4.00 4.32 lineto closepath stroke 3.84 4.32 moveto 3.85 4.22 lineto closepath stroke 3.84 4.32 moveto 3.83 4.43 lineto closepath stroke 3.84 4.32 moveto 3.70 4.22 lineto closepath stroke 3.84 4.32 moveto 3.66 4.33 lineto closepath stroke 3.81 4.55 moveto 4.01 4.67 lineto closepath stroke 3.81 4.55 moveto 4.00 4.54 lineto closepath stroke 3.81 4.55 moveto 3.83 4.43 lineto closepath stroke 3.81 4.55 moveto 3.80 4.67 lineto closepath stroke 3.81 4.55 moveto 3.65 4.44 lineto closepath stroke 3.81 4.55 moveto 3.62 4.55 lineto closepath stroke 3.79 4.79 moveto 4.01 4.93 lineto closepath stroke 3.79 4.79 moveto 4.00 4.79 lineto closepath stroke 3.79 4.79 moveto 3.80 4.67 lineto closepath stroke 3.79 4.79 moveto 3.77 4.93 lineto closepath stroke 3.79 4.79 moveto 3.60 4.67 lineto closepath stroke 3.79 4.79 moveto 3.56 4.80 lineto closepath stroke 3.76 5.06 moveto 4.02 5.21 lineto closepath stroke 3.76 5.06 moveto 4.00 5.06 lineto closepath stroke 3.76 5.06 moveto 3.77 4.93 lineto closepath stroke 3.76 5.06 moveto 3.74 5.21 lineto closepath stroke 3.76 5.06 moveto 3.55 4.93 lineto closepath stroke 3.76 5.06 moveto 3.50 5.07 lineto closepath stroke 3.73 5.36 moveto 4.02 5.68 lineto closepath stroke 3.73 5.36 moveto 4.00 5.36 lineto closepath stroke 3.73 5.36 moveto 3.74 5.21 lineto closepath stroke 3.73 5.36 moveto 3.71 5.68 lineto closepath stroke 3.73 5.36 moveto 3.49 5.22 lineto closepath stroke 3.73 5.36 moveto 3.44 5.37 lineto closepath stroke 3.69 6.00 moveto 4.00 6.00 lineto closepath stroke 3.69 6.00 moveto 3.71 5.68 lineto closepath stroke 3.69 6.00 moveto 3.42 5.69 lineto closepath stroke 3.69 6.00 moveto 3.37 6.00 lineto closepath stroke 3.85 3.23 moveto 3.89 3.29 lineto closepath stroke 3.85 3.23 moveto 3.90 3.23 lineto closepath stroke 3.85 3.23 moveto 3.83 3.29 lineto closepath stroke 3.85 3.23 moveto 3.79 3.23 lineto closepath stroke 3.81 3.35 moveto 3.87 3.41 lineto closepath stroke 3.81 3.35 moveto 3.88 3.35 lineto closepath stroke 3.81 3.35 moveto 3.83 3.29 lineto closepath stroke 3.81 3.35 moveto 3.79 3.41 lineto closepath stroke 3.81 3.35 moveto 3.77 3.29 lineto closepath stroke 3.81 3.35 moveto 3.74 3.35 lineto closepath stroke 3.77 3.47 moveto 3.84 3.54 lineto closepath stroke 3.77 3.47 moveto 3.85 3.47 lineto closepath stroke 3.77 3.47 moveto 3.79 3.41 lineto closepath stroke 3.77 3.47 moveto 3.75 3.54 lineto closepath stroke 3.77 3.47 moveto 3.72 3.41 lineto closepath stroke 3.77 3.47 moveto 3.68 3.48 lineto closepath stroke 3.72 3.61 moveto 3.81 3.69 lineto closepath stroke 3.72 3.61 moveto 3.82 3.61 lineto closepath stroke 3.72 3.61 moveto 3.75 3.54 lineto closepath stroke 3.72 3.61 moveto 3.70 3.69 lineto closepath stroke 3.72 3.61 moveto 3.65 3.55 lineto closepath stroke 3.72 3.61 moveto 3.61 3.62 lineto closepath stroke 3.67 3.77 moveto 3.78 3.85 lineto closepath stroke 3.67 3.77 moveto 3.79 3.77 lineto closepath stroke 3.67 3.77 moveto 3.70 3.69 lineto closepath stroke 3.67 3.77 moveto 3.65 3.85 lineto closepath stroke 3.67 3.77 moveto 3.59 3.70 lineto closepath stroke 3.67 3.77 moveto 3.54 3.78 lineto closepath stroke 3.62 3.94 moveto 3.74 4.03 lineto closepath stroke 3.62 3.94 moveto 3.75 3.94 lineto closepath stroke 3.62 3.94 moveto 3.65 3.85 lineto closepath stroke 3.62 3.94 moveto 3.59 4.03 lineto closepath stroke 3.62 3.94 moveto 3.52 3.86 lineto closepath stroke 3.62 3.94 moveto 3.47 3.95 lineto closepath stroke 3.56 4.13 moveto 3.70 4.22 lineto closepath stroke 3.56 4.13 moveto 3.71 4.12 lineto closepath stroke 3.56 4.13 moveto 3.59 4.03 lineto closepath stroke 3.56 4.13 moveto 3.53 4.23 lineto closepath stroke 3.56 4.13 moveto 3.44 4.04 lineto closepath stroke 3.56 4.13 moveto 3.38 4.14 lineto closepath stroke 3.49 4.33 moveto 3.65 4.44 lineto closepath stroke 3.49 4.33 moveto 3.66 4.33 lineto closepath stroke 3.49 4.33 moveto 3.53 4.23 lineto closepath stroke 3.49 4.33 moveto 3.46 4.44 lineto closepath stroke 3.49 4.33 moveto 3.35 4.24 lineto closepath stroke 3.49 4.33 moveto 3.29 4.34 lineto closepath stroke 3.42 4.56 moveto 3.60 4.67 lineto closepath stroke 3.42 4.56 moveto 3.62 4.55 lineto closepath stroke 3.42 4.56 moveto 3.46 4.44 lineto closepath stroke 3.42 4.56 moveto 3.38 4.68 lineto closepath stroke 3.42 4.56 moveto 3.25 4.46 lineto closepath stroke 3.42 4.56 moveto 3.18 4.57 lineto closepath stroke 3.34 4.80 moveto 3.55 4.93 lineto closepath stroke 3.34 4.80 moveto 3.56 4.80 lineto closepath stroke 3.34 4.80 moveto 3.38 4.68 lineto closepath stroke 3.34 4.80 moveto 3.29 4.94 lineto closepath stroke 3.34 4.80 moveto 3.14 4.69 lineto closepath stroke 3.34 4.80 moveto 3.07 4.82 lineto closepath stroke 3.25 5.08 moveto 3.49 5.22 lineto closepath stroke 3.25 5.08 moveto 3.50 5.07 lineto closepath stroke 3.25 5.08 moveto 3.29 4.94 lineto closepath stroke 3.25 5.08 moveto 3.20 5.23 lineto closepath stroke 3.25 5.08 moveto 3.03 4.96 lineto closepath stroke 3.25 5.08 moveto 2.95 5.10 lineto closepath stroke 3.15 5.38 moveto 3.42 5.69 lineto closepath stroke 3.15 5.38 moveto 3.44 5.37 lineto closepath stroke 3.15 5.38 moveto 3.20 5.23 lineto closepath stroke 3.15 5.38 moveto 3.10 5.69 lineto closepath stroke 3.15 5.38 moveto 2.90 5.25 lineto closepath stroke 3.15 5.38 moveto 2.81 5.40 lineto closepath stroke 3.04 6.00 moveto 3.37 6.00 lineto closepath stroke 3.04 6.00 moveto 3.10 5.69 lineto closepath stroke 3.04 6.00 moveto 2.76 5.71 lineto closepath stroke 3.04 6.00 moveto 2.66 6.00 lineto closepath stroke 3.73 3.24 moveto 3.77 3.29 lineto closepath stroke 3.73 3.24 moveto 3.79 3.23 lineto closepath stroke 3.73 3.24 moveto 3.69 3.29 lineto closepath stroke 3.73 3.24 moveto 3.65 3.24 lineto closepath stroke 3.66 3.35 moveto 3.72 3.41 lineto closepath stroke 3.66 3.35 moveto 3.74 3.35 lineto closepath stroke 3.66 3.35 moveto 3.69 3.29 lineto closepath stroke 3.66 3.35 moveto 3.62 3.42 lineto closepath stroke 3.66 3.35 moveto 3.61 3.30 lineto closepath stroke 3.66 3.35 moveto 3.56 3.36 lineto closepath stroke 3.58 3.48 moveto 3.65 3.55 lineto closepath stroke 3.58 3.48 moveto 3.68 3.48 lineto closepath stroke 3.58 3.48 moveto 3.62 3.42 lineto closepath stroke 3.58 3.48 moveto 3.54 3.55 lineto closepath stroke 3.58 3.48 moveto 3.52 3.42 lineto closepath stroke 3.58 3.48 moveto 3.46 3.49 lineto closepath stroke 3.50 3.63 moveto 3.59 3.70 lineto closepath stroke 3.50 3.63 moveto 3.61 3.62 lineto closepath stroke 3.50 3.63 moveto 3.54 3.55 lineto closepath stroke 3.50 3.63 moveto 3.46 3.70 lineto closepath stroke 3.50 3.63 moveto 3.42 3.56 lineto closepath stroke 3.50 3.63 moveto 3.36 3.63 lineto closepath stroke 3.41 3.78 moveto 3.52 3.86 lineto closepath stroke 3.41 3.78 moveto 3.54 3.78 lineto closepath stroke 3.41 3.78 moveto 3.46 3.70 lineto closepath stroke 3.41 3.78 moveto 3.36 3.87 lineto closepath stroke 3.41 3.78 moveto 3.31 3.71 lineto closepath stroke 3.31 3.96 moveto 3.44 4.04 lineto closepath stroke 3.31 3.96 moveto 3.47 3.95 lineto closepath stroke 3.31 3.96 moveto 3.36 3.87 lineto closepath stroke 3.31 3.96 moveto 3.26 4.05 lineto closepath stroke 3.31 3.96 moveto 3.26 3.80 lineto closepath stroke 3.31 3.96 moveto 3.19 3.88 lineto closepath stroke 3.20 4.15 moveto 3.35 4.24 lineto closepath stroke 3.20 4.15 moveto 3.38 4.14 lineto closepath stroke 3.20 4.15 moveto 3.26 4.05 lineto closepath stroke 3.20 4.15 moveto 3.14 4.25 lineto closepath stroke 3.20 4.15 moveto 3.13 3.97 lineto closepath stroke 3.20 4.15 moveto 3.06 4.06 lineto closepath stroke 3.08 4.35 moveto 3.25 4.46 lineto closepath stroke 3.08 4.35 moveto 3.29 4.34 lineto closepath stroke 3.08 4.35 moveto 3.14 4.25 lineto closepath stroke 3.08 4.35 moveto 3.02 4.47 lineto closepath stroke 3.08 4.35 moveto 3.00 4.16 lineto closepath stroke 3.08 4.35 moveto 2.91 4.26 lineto closepath stroke 2.95 4.58 moveto 3.14 4.69 lineto closepath stroke 2.95 4.58 moveto 3.18 4.57 lineto closepath stroke 2.95 4.58 moveto 3.02 4.47 lineto closepath stroke 2.95 4.58 moveto 2.88 4.71 lineto closepath stroke 2.95 4.58 moveto 2.84 4.37 lineto closepath stroke 2.95 4.58 moveto 2.75 4.48 lineto closepath stroke 2.80 4.84 moveto 3.03 4.96 lineto closepath stroke 2.80 4.84 moveto 3.07 4.82 lineto closepath stroke 2.80 4.84 moveto 2.88 4.71 lineto closepath stroke 2.80 4.84 moveto 2.72 4.98 lineto closepath stroke 2.80 4.84 moveto 2.67 4.61 lineto closepath stroke 2.80 4.84 moveto 2.57 4.72 lineto closepath stroke 2.64 5.12 moveto 2.90 5.25 lineto closepath stroke 2.64 5.12 moveto 2.95 5.10 lineto closepath stroke 2.64 5.12 moveto 2.72 4.98 lineto closepath stroke 2.64 5.12 moveto 2.55 5.27 lineto closepath stroke 2.64 5.12 moveto 2.49 4.86 lineto closepath stroke 2.64 5.12 moveto 2.37 4.99 lineto closepath stroke 2.47 5.42 moveto 2.76 5.71 lineto closepath stroke 2.47 5.42 moveto 2.81 5.40 lineto closepath stroke 2.47 5.42 moveto 2.55 5.27 lineto closepath stroke 2.47 5.42 moveto 2.37 5.71 lineto closepath stroke 2.47 5.42 moveto 2.28 5.14 lineto closepath stroke 2.47 5.42 moveto 2.16 5.29 lineto closepath stroke 2.47 5.42 moveto 2.02 5.44 lineto closepath stroke 2.27 6.00 moveto 2.66 6.00 lineto closepath stroke 2.27 6.00 moveto 2.37 5.71 lineto closepath stroke 2.27 6.00 moveto 1.92 5.73 lineto closepath stroke 2.27 6.00 moveto 1.77 6.00 lineto closepath stroke 3.57 3.24 moveto 3.61 3.30 lineto closepath stroke 3.57 3.24 moveto 3.65 3.24 lineto closepath stroke 3.57 3.24 moveto 3.51 3.30 lineto closepath stroke 3.57 3.24 moveto 3.46 3.24 lineto closepath stroke 3.46 3.36 moveto 3.52 3.42 lineto closepath stroke 3.46 3.36 moveto 3.56 3.36 lineto closepath stroke 3.46 3.36 moveto 3.51 3.30 lineto closepath stroke 3.46 3.36 moveto 3.40 3.43 lineto closepath stroke 3.46 3.36 moveto 3.41 3.30 lineto closepath stroke 3.34 3.49 moveto 3.42 3.56 lineto closepath stroke 3.34 3.49 moveto 3.46 3.49 lineto closepath stroke 3.34 3.49 moveto 3.40 3.43 lineto closepath stroke 3.34 3.49 moveto 3.28 3.56 lineto closepath stroke 3.34 3.49 moveto 3.35 3.36 lineto closepath stroke 3.34 3.49 moveto 3.27 3.42 lineto closepath stroke 3.21 3.64 moveto 3.31 3.71 lineto closepath stroke 3.21 3.64 moveto 3.36 3.63 lineto closepath stroke 3.21 3.64 moveto 3.28 3.56 lineto closepath stroke 3.21 3.64 moveto 3.26 3.80 lineto closepath stroke 3.21 3.64 moveto 3.14 3.72 lineto closepath stroke 3.21 3.64 moveto 3.20 3.49 lineto closepath stroke 3.21 3.64 moveto 3.11 3.56 lineto closepath stroke 3.07 3.80 moveto 3.13 3.97 lineto closepath stroke 3.07 3.80 moveto 3.19 3.88 lineto closepath stroke 3.07 3.80 moveto 3.14 3.72 lineto closepath stroke 3.07 3.80 moveto 2.99 3.88 lineto closepath stroke 3.07 3.80 moveto 3.04 3.64 lineto closepath stroke 3.07 3.80 moveto 2.94 3.71 lineto closepath stroke 2.91 3.97 moveto 3.00 4.16 lineto closepath stroke 2.91 3.97 moveto 3.06 4.06 lineto closepath stroke 2.91 3.97 moveto 2.99 3.88 lineto closepath stroke 2.91 3.97 moveto 2.82 4.07 lineto closepath stroke 2.91 3.97 moveto 2.86 3.80 lineto closepath stroke 2.91 3.97 moveto 2.75 3.88 lineto closepath stroke 2.73 4.17 moveto 2.84 4.37 lineto closepath stroke 2.73 4.17 moveto 2.91 4.26 lineto closepath stroke 2.73 4.17 moveto 2.82 4.07 lineto closepath stroke 2.73 4.17 moveto 2.64 4.27 lineto closepath stroke 2.73 4.17 moveto 2.67 3.97 lineto closepath stroke 2.73 4.17 moveto 2.55 4.06 lineto closepath stroke 2.54 4.38 moveto 2.67 4.61 lineto closepath stroke 2.54 4.38 moveto 2.75 4.48 lineto closepath stroke 2.54 4.38 moveto 2.64 4.27 lineto closepath stroke 2.54 4.38 moveto 2.44 4.49 lineto closepath stroke 2.54 4.38 moveto 2.45 4.17 lineto closepath stroke 2.54 4.38 moveto 2.32 4.26 lineto closepath stroke 2.33 4.61 moveto 2.49 4.86 lineto closepath stroke 2.33 4.61 moveto 2.57 4.72 lineto closepath stroke 2.33 4.61 moveto 2.44 4.49 lineto closepath stroke 2.33 4.61 moveto 2.22 4.74 lineto closepath stroke 2.33 4.61 moveto 2.22 4.38 lineto closepath stroke 2.33 4.61 moveto 2.07 4.48 lineto closepath stroke 2.10 4.87 moveto 2.28 5.14 lineto closepath stroke 2.10 4.87 moveto 2.37 4.99 lineto closepath stroke 2.10 4.87 moveto 2.22 4.74 lineto closepath stroke 2.10 4.87 moveto 1.97 5.01 lineto closepath stroke 2.10 4.87 moveto 1.96 4.61 lineto closepath stroke 2.10 4.87 moveto 1.80 4.72 lineto closepath stroke 1.85 5.15 moveto 2.16 5.29 lineto closepath stroke 1.85 5.15 moveto 1.97 5.01 lineto closepath stroke 1.85 5.15 moveto 1.71 5.31 lineto closepath stroke 1.85 5.15 moveto 1.67 4.87 lineto closepath stroke 1.85 5.15 moveto 1.50 4.99 lineto closepath stroke 1.57 5.46 moveto 1.92 5.73 lineto closepath stroke 1.57 5.46 moveto 2.02 5.44 lineto closepath stroke 1.57 5.46 moveto 1.71 5.31 lineto closepath stroke 1.57 5.46 moveto 1.41 5.73 lineto closepath stroke 1.57 5.46 moveto 1.36 5.15 lineto closepath stroke 1.57 5.46 moveto 1.17 5.29 lineto closepath stroke 1.26 6.00 moveto 1.77 6.00 lineto closepath stroke 1.26 6.00 moveto 1.41 5.73 lineto closepath stroke 1.26 6.00 moveto 1.02 5.56 lineto closepath stroke 1.26 6.00 moveto 0.63 6.00 lineto closepath stroke 3.35 3.24 moveto 3.41 3.30 lineto closepath stroke 3.35 3.24 moveto 3.46 3.24 lineto closepath stroke 3.35 3.24 moveto 3.35 3.36 lineto closepath stroke 3.35 3.24 moveto 3.27 3.29 lineto closepath stroke 3.35 3.24 moveto 3.21 3.22 lineto closepath stroke 3.19 3.35 moveto 3.20 3.49 lineto closepath stroke 3.19 3.35 moveto 3.27 3.42 lineto closepath stroke 3.19 3.35 moveto 3.27 3.29 lineto closepath stroke 3.19 3.35 moveto 3.10 3.42 lineto closepath stroke 3.19 3.35 moveto 3.13 3.28 lineto closepath stroke 3.01 3.48 moveto 3.04 3.64 lineto closepath stroke 3.01 3.48 moveto 3.11 3.56 lineto closepath stroke 3.01 3.48 moveto 3.10 3.42 lineto closepath stroke 3.01 3.48 moveto 2.91 3.55 lineto closepath stroke 3.01 3.48 moveto 3.04 3.35 lineto closepath stroke 3.01 3.48 moveto 2.92 3.40 lineto closepath stroke 2.82 3.62 moveto 2.86 3.80 lineto closepath stroke 2.82 3.62 moveto 2.94 3.71 lineto closepath stroke 2.82 3.62 moveto 2.91 3.55 lineto closepath stroke 2.82 3.62 moveto 2.71 3.70 lineto closepath stroke 2.82 3.62 moveto 2.82 3.47 lineto closepath stroke 2.82 3.62 moveto 2.70 3.53 lineto closepath stroke 2.60 3.78 moveto 2.67 3.97 lineto closepath stroke 2.60 3.78 moveto 2.75 3.88 lineto closepath stroke 2.60 3.78 moveto 2.71 3.70 lineto closepath stroke 2.60 3.78 moveto 2.48 3.87 lineto closepath stroke 2.60 3.78 moveto 2.59 3.60 lineto closepath stroke 2.60 3.78 moveto 2.45 3.67 lineto closepath stroke 2.36 3.95 moveto 2.45 4.17 lineto closepath stroke 2.36 3.95 moveto 2.55 4.06 lineto closepath stroke 2.36 3.95 moveto 2.48 3.87 lineto closepath stroke 2.36 3.95 moveto 2.23 4.05 lineto closepath stroke 2.36 3.95 moveto 2.33 3.75 lineto closepath stroke 2.36 3.95 moveto 2.17 3.82 lineto closepath stroke 2.10 4.14 moveto 2.22 4.38 lineto closepath stroke 2.10 4.14 moveto 2.32 4.26 lineto closepath stroke 2.10 4.14 moveto 2.23 4.05 lineto closepath stroke 2.10 4.14 moveto 1.96 4.25 lineto closepath stroke 2.10 4.14 moveto 2.04 3.92 lineto closepath stroke 2.10 4.14 moveto 1.87 3.99 lineto closepath stroke 1.82 4.35 moveto 1.96 4.61 lineto closepath stroke 1.82 4.35 moveto 2.07 4.48 lineto closepath stroke 1.82 4.35 moveto 1.96 4.25 lineto closepath stroke 1.82 4.35 moveto 1.66 4.47 lineto closepath stroke 1.82 4.35 moveto 1.73 4.10 lineto closepath stroke 1.82 4.35 moveto 1.54 4.18 lineto closepath stroke 1.50 4.58 moveto 1.67 4.87 lineto closepath stroke 1.50 4.58 moveto 1.80 4.72 lineto closepath stroke 1.50 4.58 moveto 1.66 4.47 lineto closepath stroke 1.50 4.58 moveto 1.33 4.71 lineto closepath stroke 1.50 4.58 moveto 1.38 4.30 lineto closepath stroke 1.50 4.58 moveto 1.18 4.39 lineto closepath stroke 1.15 4.83 moveto 1.36 5.15 lineto closepath stroke 1.15 4.83 moveto 1.50 4.99 lineto closepath stroke 1.15 4.83 moveto 1.33 4.71 lineto closepath stroke 1.15 4.83 moveto 0.96 4.97 lineto closepath stroke 1.15 4.83 moveto 1.00 4.51 lineto closepath stroke 0.77 5.11 moveto 1.02 5.56 lineto closepath stroke 0.77 5.11 moveto 1.17 5.29 lineto closepath stroke 0.77 5.11 moveto 0.96 4.97 lineto closepath stroke 0.77 5.11 moveto 0.39 5.56 lineto closepath stroke 0.77 5.11 moveto 0.39 5.26 lineto closepath stroke 0.77 5.11 moveto 0.81 4.65 lineto closepath stroke 0.77 5.11 moveto 0.39 4.75 lineto closepath stroke 0.00 5.42 moveto 0.00 5.71 lineto closepath stroke 0.00 5.42 moveto 0.39 5.26 lineto closepath stroke 0.00 5.42 moveto 0.00 4.91 lineto closepath stroke 3.07 3.21 moveto 3.13 3.28 lineto closepath stroke 3.07 3.21 moveto 3.21 3.22 lineto closepath stroke 3.07 3.21 moveto 3.04 3.35 lineto closepath stroke 3.07 3.21 moveto 2.95 3.26 lineto closepath stroke 3.07 3.21 moveto 2.89 3.17 lineto closepath stroke 2.83 3.31 moveto 2.82 3.47 lineto closepath stroke 2.83 3.31 moveto 2.92 3.40 lineto closepath stroke 2.83 3.31 moveto 2.95 3.26 lineto closepath stroke 2.83 3.31 moveto 2.70 3.37 lineto closepath stroke 2.83 3.31 moveto 2.77 3.22 lineto closepath stroke 2.58 3.43 moveto 2.59 3.60 lineto closepath stroke 2.58 3.43 moveto 2.70 3.53 lineto closepath stroke 2.58 3.43 moveto 2.70 3.37 lineto closepath stroke 2.58 3.43 moveto 2.43 3.49 lineto closepath stroke 2.58 3.43 moveto 2.64 3.28 lineto closepath stroke 2.58 3.43 moveto 2.48 3.32 lineto closepath stroke 2.29 3.55 moveto 2.33 3.75 lineto closepath stroke 2.29 3.55 moveto 2.45 3.67 lineto closepath stroke 2.29 3.55 moveto 2.43 3.49 lineto closepath stroke 2.29 3.55 moveto 2.14 3.62 lineto closepath stroke 2.29 3.55 moveto 2.34 3.38 lineto closepath stroke 2.29 3.55 moveto 2.16 3.42 lineto closepath stroke 1.98 3.69 moveto 2.04 3.92 lineto closepath stroke 1.98 3.69 moveto 2.17 3.82 lineto closepath stroke 1.98 3.69 moveto 2.14 3.62 lineto closepath stroke 1.98 3.69 moveto 1.81 3.77 lineto closepath stroke 1.98 3.69 moveto 2.00 3.49 lineto closepath stroke 1.98 3.69 moveto 1.81 3.53 lineto closepath stroke 1.64 3.84 moveto 1.73 4.10 lineto closepath stroke 1.64 3.84 moveto 1.87 3.99 lineto closepath stroke 1.64 3.84 moveto 1.81 3.77 lineto closepath stroke 1.64 3.84 moveto 1.45 3.93 lineto closepath stroke 1.64 3.84 moveto 1.64 3.60 lineto closepath stroke 1.64 3.84 moveto 1.42 3.65 lineto closepath stroke 1.26 4.01 moveto 1.38 4.30 lineto closepath stroke 1.26 4.01 moveto 1.54 4.18 lineto closepath stroke 1.26 4.01 moveto 1.45 3.93 lineto closepath stroke 1.26 4.01 moveto 1.06 4.10 lineto closepath stroke 1.26 4.01 moveto 1.23 3.73 lineto closepath stroke 1.26 4.01 moveto 1.00 3.78 lineto closepath stroke 0.85 4.19 moveto 0.81 4.65 lineto closepath stroke 0.85 4.19 moveto 1.00 4.51 lineto closepath stroke 0.85 4.19 moveto 1.18 4.39 lineto closepath stroke 0.85 4.19 moveto 1.06 4.10 lineto closepath stroke 0.85 4.19 moveto 0.43 4.30 lineto closepath stroke 0.85 4.19 moveto 0.79 3.88 lineto closepath stroke 0.85 4.19 moveto 0.43 3.93 lineto closepath stroke 0.00 4.40 moveto 0.39 4.75 lineto closepath stroke 0.00 4.40 moveto 0.43 4.30 lineto closepath stroke 0.00 4.40 moveto 0.00 4.91 lineto closepath stroke 0.00 4.40 moveto 0.00 4.03 lineto closepath stroke 2.70 3.14 moveto 2.77 3.22 lineto closepath stroke 2.70 3.14 moveto 2.89 3.17 lineto closepath stroke 2.70 3.14 moveto 2.64 3.28 lineto closepath stroke 2.70 3.14 moveto 2.54 3.17 lineto closepath stroke 2.70 3.14 moveto 2.49 3.07 lineto closepath stroke 2.38 3.21 moveto 2.34 3.38 lineto closepath stroke 2.38 3.21 moveto 2.48 3.32 lineto closepath stroke 2.38 3.21 moveto 2.54 3.17 lineto closepath stroke 2.38 3.21 moveto 2.20 3.24 lineto closepath stroke 2.38 3.21 moveto 2.33 3.10 lineto closepath stroke 2.02 3.28 moveto 2.00 3.49 lineto closepath stroke 2.02 3.28 moveto 2.16 3.42 lineto closepath stroke 2.02 3.28 moveto 2.20 3.24 lineto closepath stroke 2.02 3.28 moveto 1.83 3.32 lineto closepath stroke 2.02 3.28 moveto 2.15 3.14 lineto closepath stroke 2.02 3.28 moveto 1.94 3.14 lineto closepath stroke 1.63 3.37 moveto 1.64 3.60 lineto closepath stroke 1.63 3.37 moveto 1.81 3.53 lineto closepath stroke 1.63 3.37 moveto 1.83 3.32 lineto closepath stroke 1.63 3.37 moveto 1.42 3.41 lineto closepath stroke 1.63 3.37 moveto 1.74 3.18 lineto closepath stroke 1.63 3.37 moveto 1.50 3.18 lineto closepath stroke 1.20 3.46 moveto 1.23 3.73 lineto closepath stroke 1.20 3.46 moveto 1.42 3.65 lineto closepath stroke 1.20 3.46 moveto 1.42 3.41 lineto closepath stroke 1.20 3.46 moveto 0.96 3.51 lineto closepath stroke 1.20 3.46 moveto 1.29 3.23 lineto closepath stroke 1.20 3.46 moveto 1.03 3.23 lineto closepath stroke 0.73 3.56 moveto 0.79 3.88 lineto closepath stroke 0.73 3.56 moveto 1.00 3.78 lineto closepath stroke 0.73 3.56 moveto 0.96 3.51 lineto closepath stroke 0.73 3.56 moveto 0.36 3.61 lineto closepath stroke 0.73 3.56 moveto 0.79 3.28 lineto closepath stroke 0.73 3.56 moveto 0.36 3.28 lineto closepath stroke 0.00 3.67 moveto 0.00 4.03 lineto closepath stroke 0.00 3.67 moveto 0.43 3.93 lineto closepath stroke 0.00 3.67 moveto 0.36 3.61 lineto closepath stroke 0.00 3.67 moveto 0.00 3.33 lineto closepath stroke 2.28 3.00 moveto 2.33 3.10 lineto closepath stroke 2.28 3.00 moveto 2.49 3.07 lineto closepath stroke 2.28 3.00 moveto 2.15 3.14 lineto closepath stroke 2.28 3.00 moveto 2.06 3.00 lineto closepath stroke 2.28 3.00 moveto 2.49 2.93 lineto closepath stroke 2.28 3.00 moveto 2.33 2.90 lineto closepath stroke 2.28 3.00 moveto 2.15 2.86 lineto closepath stroke 1.85 3.00 moveto 1.74 3.18 lineto closepath stroke 1.85 3.00 moveto 1.94 3.14 lineto closepath stroke 1.85 3.00 moveto 2.06 3.00 lineto closepath stroke 1.85 3.00 moveto 1.61 3.00 lineto closepath stroke 1.85 3.00 moveto 1.94 2.86 lineto closepath stroke 1.85 3.00 moveto 1.74 2.82 lineto closepath stroke 1.38 3.00 moveto 1.29 3.23 lineto closepath stroke 1.38 3.00 moveto 1.50 3.18 lineto closepath stroke 1.38 3.00 moveto 1.61 3.00 lineto closepath stroke 1.38 3.00 moveto 1.12 3.00 lineto closepath stroke 1.38 3.00 moveto 1.50 2.82 lineto closepath stroke 1.38 3.00 moveto 1.29 2.77 lineto closepath stroke 0.86 3.00 moveto 0.79 3.28 lineto closepath stroke 0.86 3.00 moveto 1.03 3.23 lineto closepath stroke 0.86 3.00 moveto 1.12 3.00 lineto closepath stroke 0.86 3.00 moveto 0.43 3.00 lineto closepath stroke 0.86 3.00 moveto 1.03 2.77 lineto closepath stroke 0.86 3.00 moveto 0.79 2.72 lineto closepath stroke 0.00 3.00 moveto 0.00 3.33 lineto closepath stroke 0.00 3.00 moveto 0.36 3.28 lineto closepath stroke 0.00 3.00 moveto 0.43 3.00 lineto closepath stroke 0.00 3.00 moveto 0.36 2.72 lineto closepath stroke 0.00 3.00 moveto 0.00 2.67 lineto closepath stroke 2.70 2.86 moveto 2.54 2.83 lineto closepath stroke 2.70 2.86 moveto 2.49 2.93 lineto closepath stroke 2.70 2.86 moveto 2.89 2.83 lineto closepath stroke 2.70 2.86 moveto 2.77 2.78 lineto closepath stroke 2.70 2.86 moveto 2.64 2.72 lineto closepath stroke 2.38 2.79 moveto 2.33 2.90 lineto closepath stroke 2.38 2.79 moveto 2.54 2.83 lineto closepath stroke 2.38 2.79 moveto 2.20 2.76 lineto closepath stroke 2.38 2.79 moveto 2.48 2.68 lineto closepath stroke 2.38 2.79 moveto 2.34 2.62 lineto closepath stroke 2.02 2.72 moveto 1.94 2.86 lineto closepath stroke 2.02 2.72 moveto 2.15 2.86 lineto closepath stroke 2.02 2.72 moveto 2.20 2.76 lineto closepath stroke 2.02 2.72 moveto 1.83 2.68 lineto closepath stroke 2.02 2.72 moveto 2.16 2.58 lineto closepath stroke 2.02 2.72 moveto 2.00 2.51 lineto closepath stroke 1.63 2.63 moveto 1.50 2.82 lineto closepath stroke 1.63 2.63 moveto 1.74 2.82 lineto closepath stroke 1.63 2.63 moveto 1.83 2.68 lineto closepath stroke 1.63 2.63 moveto 1.42 2.59 lineto closepath stroke 1.63 2.63 moveto 1.81 2.47 lineto closepath stroke 1.63 2.63 moveto 1.64 2.40 lineto closepath stroke 1.20 2.54 moveto 1.03 2.77 lineto closepath stroke 1.20 2.54 moveto 1.29 2.77 lineto closepath stroke 1.20 2.54 moveto 1.42 2.59 lineto closepath stroke 1.20 2.54 moveto 0.96 2.49 lineto closepath stroke 1.20 2.54 moveto 1.42 2.35 lineto closepath stroke 1.20 2.54 moveto 1.23 2.27 lineto closepath stroke 0.73 2.44 moveto 0.36 2.72 lineto closepath stroke 0.73 2.44 moveto 0.79 2.72 lineto closepath stroke 0.73 2.44 moveto 0.96 2.49 lineto closepath stroke 0.73 2.44 moveto 0.36 2.39 lineto closepath stroke 0.73 2.44 moveto 1.00 2.22 lineto closepath stroke 0.73 2.44 moveto 0.79 2.12 lineto closepath stroke 0.00 2.33 moveto 0.00 2.67 lineto closepath stroke 0.00 2.33 moveto 0.36 2.39 lineto closepath stroke 0.00 2.33 moveto 0.43 2.07 lineto closepath stroke 0.00 2.33 moveto 0.00 1.97 lineto closepath stroke 3.07 2.79 moveto 2.95 2.74 lineto closepath stroke 3.07 2.79 moveto 2.89 2.83 lineto closepath stroke 3.07 2.79 moveto 3.21 2.78 lineto closepath stroke 3.07 2.79 moveto 3.13 2.72 lineto closepath stroke 3.07 2.79 moveto 3.04 2.65 lineto closepath stroke 2.83 2.69 moveto 2.77 2.78 lineto closepath stroke 2.83 2.69 moveto 2.95 2.74 lineto closepath stroke 2.83 2.69 moveto 2.70 2.63 lineto closepath stroke 2.83 2.69 moveto 2.92 2.60 lineto closepath stroke 2.83 2.69 moveto 2.82 2.53 lineto closepath stroke 2.58 2.57 moveto 2.64 2.72 lineto closepath stroke 2.58 2.57 moveto 2.70 2.63 lineto closepath stroke 2.58 2.57 moveto 2.48 2.68 lineto closepath stroke 2.58 2.57 moveto 2.43 2.51 lineto closepath stroke 2.58 2.57 moveto 2.70 2.47 lineto closepath stroke 2.58 2.57 moveto 2.59 2.40 lineto closepath stroke 2.29 2.45 moveto 2.16 2.58 lineto closepath stroke 2.29 2.45 moveto 2.34 2.62 lineto closepath stroke 2.29 2.45 moveto 2.43 2.51 lineto closepath stroke 2.29 2.45 moveto 2.14 2.38 lineto closepath stroke 2.29 2.45 moveto 2.45 2.33 lineto closepath stroke 2.29 2.45 moveto 2.33 2.25 lineto closepath stroke 1.98 2.31 moveto 1.81 2.47 lineto closepath stroke 1.98 2.31 moveto 2.00 2.51 lineto closepath stroke 1.98 2.31 moveto 2.14 2.38 lineto closepath stroke 1.98 2.31 moveto 1.81 2.23 lineto closepath stroke 1.98 2.31 moveto 2.17 2.18 lineto closepath stroke 1.98 2.31 moveto 2.04 2.08 lineto closepath stroke 1.64 2.16 moveto 1.42 2.35 lineto closepath stroke 1.64 2.16 moveto 1.64 2.40 lineto closepath stroke 1.64 2.16 moveto 1.81 2.23 lineto closepath stroke 1.64 2.16 moveto 1.45 2.07 lineto closepath stroke 1.64 2.16 moveto 1.87 2.01 lineto closepath stroke 1.64 2.16 moveto 1.73 1.90 lineto closepath stroke 1.26 1.99 moveto 1.00 2.22 lineto closepath stroke 1.26 1.99 moveto 1.23 2.27 lineto closepath stroke 1.26 1.99 moveto 1.45 2.07 lineto closepath stroke 1.26 1.99 moveto 1.06 1.90 lineto closepath stroke 1.26 1.99 moveto 1.54 1.82 lineto closepath stroke 1.26 1.99 moveto 1.38 1.70 lineto closepath stroke 0.85 1.81 moveto 0.43 2.07 lineto closepath stroke 0.85 1.81 moveto 0.79 2.12 lineto closepath stroke 0.85 1.81 moveto 1.06 1.90 lineto closepath stroke 0.85 1.81 moveto 0.43 1.70 lineto closepath stroke 0.85 1.81 moveto 1.18 1.61 lineto closepath stroke 0.85 1.81 moveto 1.00 1.49 lineto closepath stroke 0.85 1.81 moveto 0.81 1.35 lineto closepath stroke 0.00 1.60 moveto 0.00 1.97 lineto closepath stroke 0.00 1.60 moveto 0.43 1.70 lineto closepath stroke 0.00 1.60 moveto 0.39 1.25 lineto closepath stroke 0.00 1.60 moveto 0.00 1.09 lineto closepath stroke 3.35 2.76 moveto 3.27 2.71 lineto closepath stroke 3.35 2.76 moveto 3.21 2.78 lineto closepath stroke 3.35 2.76 moveto 3.46 2.76 lineto closepath stroke 3.35 2.76 moveto 3.41 2.70 lineto closepath stroke 3.35 2.76 moveto 3.35 2.64 lineto closepath stroke 3.19 2.65 moveto 3.13 2.72 lineto closepath stroke 3.19 2.65 moveto 3.27 2.71 lineto closepath stroke 3.19 2.65 moveto 3.10 2.58 lineto closepath stroke 3.19 2.65 moveto 3.27 2.58 lineto closepath stroke 3.19 2.65 moveto 3.20 2.51 lineto closepath stroke 3.01 2.52 moveto 3.04 2.65 lineto closepath stroke 3.01 2.52 moveto 3.10 2.58 lineto closepath stroke 3.01 2.52 moveto 2.92 2.60 lineto closepath stroke 3.01 2.52 moveto 2.91 2.45 lineto closepath stroke 3.01 2.52 moveto 3.11 2.44 lineto closepath stroke 3.01 2.52 moveto 3.04 2.36 lineto closepath stroke 2.82 2.38 moveto 2.82 2.53 lineto closepath stroke 2.82 2.38 moveto 2.91 2.45 lineto closepath stroke 2.82 2.38 moveto 2.70 2.47 lineto closepath stroke 2.82 2.38 moveto 2.71 2.30 lineto closepath stroke 2.82 2.38 moveto 2.94 2.29 lineto closepath stroke 2.82 2.38 moveto 2.86 2.20 lineto closepath stroke 2.60 2.22 moveto 2.59 2.40 lineto closepath stroke 2.60 2.22 moveto 2.71 2.30 lineto closepath stroke 2.60 2.22 moveto 2.45 2.33 lineto closepath stroke 2.60 2.22 moveto 2.48 2.13 lineto closepath stroke 2.60 2.22 moveto 2.75 2.12 lineto closepath stroke 2.60 2.22 moveto 2.67 2.03 lineto closepath stroke 2.36 2.05 moveto 2.33 2.25 lineto closepath stroke 2.36 2.05 moveto 2.48 2.13 lineto closepath stroke 2.36 2.05 moveto 2.17 2.18 lineto closepath stroke 2.36 2.05 moveto 2.23 1.95 lineto closepath stroke 2.36 2.05 moveto 2.55 1.94 lineto closepath stroke 2.36 2.05 moveto 2.45 1.83 lineto closepath stroke 2.10 1.86 moveto 2.04 2.08 lineto closepath stroke 2.10 1.86 moveto 2.23 1.95 lineto closepath stroke 2.10 1.86 moveto 1.87 2.01 lineto closepath stroke 2.10 1.86 moveto 1.96 1.75 lineto closepath stroke 2.10 1.86 moveto 2.32 1.74 lineto closepath stroke 2.10 1.86 moveto 2.22 1.62 lineto closepath stroke 1.82 1.65 moveto 1.54 1.82 lineto closepath stroke 1.82 1.65 moveto 1.73 1.90 lineto closepath stroke 1.82 1.65 moveto 1.96 1.75 lineto closepath stroke 1.82 1.65 moveto 1.66 1.53 lineto closepath stroke 1.82 1.65 moveto 2.07 1.52 lineto closepath stroke 1.82 1.65 moveto 1.96 1.39 lineto closepath stroke 1.50 1.42 moveto 1.18 1.61 lineto closepath stroke 1.50 1.42 moveto 1.38 1.70 lineto closepath stroke 1.50 1.42 moveto 1.66 1.53 lineto closepath stroke 1.50 1.42 moveto 1.33 1.29 lineto closepath stroke 1.50 1.42 moveto 1.80 1.28 lineto closepath stroke 1.50 1.42 moveto 1.67 1.13 lineto closepath stroke 1.15 1.17 moveto 1.00 1.49 lineto closepath stroke 1.15 1.17 moveto 1.33 1.29 lineto closepath stroke 1.15 1.17 moveto 0.96 1.03 lineto closepath stroke 1.15 1.17 moveto 1.50 1.01 lineto closepath stroke 1.15 1.17 moveto 1.36 0.85 lineto closepath stroke 0.77 0.89 moveto 0.39 1.25 lineto closepath stroke 0.77 0.89 moveto 0.81 1.35 lineto closepath stroke 0.77 0.89 moveto 0.96 1.03 lineto closepath stroke 0.77 0.89 moveto 0.39 0.74 lineto closepath stroke 0.77 0.89 moveto 0.39 0.44 lineto closepath stroke 0.77 0.89 moveto 1.17 0.71 lineto closepath stroke 0.77 0.89 moveto 1.02 0.44 lineto closepath stroke 0.00 0.58 moveto 0.00 1.09 lineto closepath stroke 0.00 0.58 moveto 0.39 0.74 lineto closepath stroke 0.00 0.58 moveto 0.00 0.29 lineto closepath stroke 3.57 2.76 moveto 3.51 2.70 lineto closepath stroke 3.57 2.76 moveto 3.46 2.76 lineto closepath stroke 3.57 2.76 moveto 3.61 2.70 lineto closepath stroke 3.57 2.76 moveto 3.65 2.76 lineto closepath stroke 3.46 2.64 moveto 3.41 2.70 lineto closepath stroke 3.46 2.64 moveto 3.51 2.70 lineto closepath stroke 3.46 2.64 moveto 3.40 2.57 lineto closepath stroke 3.46 2.64 moveto 3.56 2.64 lineto closepath stroke 3.46 2.64 moveto 3.52 2.58 lineto closepath stroke 3.34 2.51 moveto 3.27 2.58 lineto closepath stroke 3.34 2.51 moveto 3.35 2.64 lineto closepath stroke 3.34 2.51 moveto 3.40 2.57 lineto closepath stroke 3.34 2.51 moveto 3.28 2.44 lineto closepath stroke 3.34 2.51 moveto 3.46 2.51 lineto closepath stroke 3.34 2.51 moveto 3.42 2.44 lineto closepath stroke 3.21 2.36 moveto 3.20 2.51 lineto closepath stroke 3.21 2.36 moveto 3.28 2.44 lineto closepath stroke 3.21 2.36 moveto 3.11 2.44 lineto closepath stroke 3.21 2.36 moveto 3.14 2.28 lineto closepath stroke 3.21 2.36 moveto 3.36 2.37 lineto closepath stroke 3.21 2.36 moveto 3.31 2.29 lineto closepath stroke 3.21 2.36 moveto 3.26 2.20 lineto closepath stroke 3.07 2.20 moveto 3.04 2.36 lineto closepath stroke 3.07 2.20 moveto 3.14 2.28 lineto closepath stroke 3.07 2.20 moveto 2.94 2.29 lineto closepath stroke 3.07 2.20 moveto 2.99 2.12 lineto closepath stroke 3.07 2.20 moveto 3.19 2.12 lineto closepath stroke 3.07 2.20 moveto 3.13 2.03 lineto closepath stroke 2.91 2.03 moveto 2.86 2.20 lineto closepath stroke 2.91 2.03 moveto 2.99 2.12 lineto closepath stroke 2.91 2.03 moveto 2.75 2.12 lineto closepath stroke 2.91 2.03 moveto 2.82 1.93 lineto closepath stroke 2.91 2.03 moveto 3.06 1.94 lineto closepath stroke 2.91 2.03 moveto 3.00 1.84 lineto closepath stroke 2.73 1.83 moveto 2.67 2.03 lineto closepath stroke 2.73 1.83 moveto 2.82 1.93 lineto closepath stroke 2.73 1.83 moveto 2.55 1.94 lineto closepath stroke 2.73 1.83 moveto 2.64 1.73 lineto closepath stroke 2.73 1.83 moveto 2.91 1.74 lineto closepath stroke 2.73 1.83 moveto 2.84 1.63 lineto closepath stroke 2.54 1.62 moveto 2.45 1.83 lineto closepath stroke 2.54 1.62 moveto 2.64 1.73 lineto closepath stroke 2.54 1.62 moveto 2.32 1.74 lineto closepath stroke 2.54 1.62 moveto 2.44 1.51 lineto closepath stroke 2.54 1.62 moveto 2.75 1.52 lineto closepath stroke 2.54 1.62 moveto 2.67 1.39 lineto closepath stroke 2.33 1.39 moveto 2.22 1.62 lineto closepath stroke 2.33 1.39 moveto 2.44 1.51 lineto closepath stroke 2.33 1.39 moveto 2.07 1.52 lineto closepath stroke 2.33 1.39 moveto 2.22 1.26 lineto closepath stroke 2.33 1.39 moveto 2.57 1.28 lineto closepath stroke 2.33 1.39 moveto 2.49 1.14 lineto closepath stroke 2.10 1.13 moveto 1.96 1.39 lineto closepath stroke 2.10 1.13 moveto 2.22 1.26 lineto closepath stroke 2.10 1.13 moveto 1.80 1.28 lineto closepath stroke 2.10 1.13 moveto 1.97 0.99 lineto closepath stroke 2.10 1.13 moveto 2.37 1.01 lineto closepath stroke 2.10 1.13 moveto 2.28 0.86 lineto closepath stroke 1.85 0.85 moveto 1.67 1.13 lineto closepath stroke 1.85 0.85 moveto 1.97 0.99 lineto closepath stroke 1.85 0.85 moveto 1.50 1.01 lineto closepath stroke 1.85 0.85 moveto 1.71 0.69 lineto closepath stroke 1.85 0.85 moveto 2.16 0.71 lineto closepath stroke 1.57 0.54 moveto 1.36 0.85 lineto closepath stroke 1.57 0.54 moveto 1.71 0.69 lineto closepath stroke 1.57 0.54 moveto 1.17 0.71 lineto closepath stroke 1.57 0.54 moveto 1.41 0.27 lineto closepath stroke 1.57 0.54 moveto 2.02 0.56 lineto closepath stroke 1.57 0.54 moveto 1.92 0.27 lineto closepath stroke 1.26 0.00 moveto 1.02 0.44 lineto closepath stroke 1.26 0.00 moveto 1.41 0.27 lineto closepath stroke 1.26 0.00 moveto 0.63 0.00 lineto closepath stroke 1.26 0.00 moveto 1.77 0.00 lineto closepath stroke 3.73 2.76 moveto 3.69 2.71 lineto closepath stroke 3.73 2.76 moveto 3.65 2.76 lineto closepath stroke 3.73 2.76 moveto 3.77 2.71 lineto closepath stroke 3.73 2.76 moveto 3.79 2.77 lineto closepath stroke 3.66 2.65 moveto 3.56 2.64 lineto closepath stroke 3.66 2.65 moveto 3.61 2.70 lineto closepath stroke 3.66 2.65 moveto 3.69 2.71 lineto closepath stroke 3.66 2.65 moveto 3.62 2.58 lineto closepath stroke 3.66 2.65 moveto 3.74 2.65 lineto closepath stroke 3.66 2.65 moveto 3.72 2.59 lineto closepath stroke 3.58 2.52 moveto 3.46 2.51 lineto closepath stroke 3.58 2.52 moveto 3.52 2.58 lineto closepath stroke 3.58 2.52 moveto 3.62 2.58 lineto closepath stroke 3.58 2.52 moveto 3.54 2.45 lineto closepath stroke 3.58 2.52 moveto 3.68 2.52 lineto closepath stroke 3.58 2.52 moveto 3.65 2.45 lineto closepath stroke 3.50 2.37 moveto 3.36 2.37 lineto closepath stroke 3.50 2.37 moveto 3.42 2.44 lineto closepath stroke 3.50 2.37 moveto 3.54 2.45 lineto closepath stroke 3.50 2.37 moveto 3.46 2.30 lineto closepath stroke 3.50 2.37 moveto 3.61 2.38 lineto closepath stroke 3.50 2.37 moveto 3.59 2.30 lineto closepath stroke 3.41 2.22 moveto 3.31 2.29 lineto closepath stroke 3.41 2.22 moveto 3.46 2.30 lineto closepath stroke 3.41 2.22 moveto 3.36 2.13 lineto closepath stroke 3.41 2.22 moveto 3.54 2.22 lineto closepath stroke 3.41 2.22 moveto 3.52 2.14 lineto closepath stroke 3.31 2.04 moveto 3.26 2.20 lineto closepath stroke 3.31 2.04 moveto 3.36 2.13 lineto closepath stroke 3.31 2.04 moveto 3.19 2.12 lineto closepath stroke 3.31 2.04 moveto 3.26 1.95 lineto closepath stroke 3.31 2.04 moveto 3.47 2.05 lineto closepath stroke 3.31 2.04 moveto 3.44 1.96 lineto closepath stroke 3.20 1.85 moveto 3.13 2.03 lineto closepath stroke 3.20 1.85 moveto 3.26 1.95 lineto closepath stroke 3.20 1.85 moveto 3.06 1.94 lineto closepath stroke 3.20 1.85 moveto 3.14 1.75 lineto closepath stroke 3.20 1.85 moveto 3.38 1.86 lineto closepath stroke 3.20 1.85 moveto 3.35 1.76 lineto closepath stroke 3.08 1.65 moveto 3.00 1.84 lineto closepath stroke 3.08 1.65 moveto 3.14 1.75 lineto closepath stroke 3.08 1.65 moveto 2.91 1.74 lineto closepath stroke 3.08 1.65 moveto 3.02 1.53 lineto closepath stroke 3.08 1.65 moveto 3.29 1.66 lineto closepath stroke 3.08 1.65 moveto 3.25 1.54 lineto closepath stroke 2.95 1.42 moveto 2.84 1.63 lineto closepath stroke 2.95 1.42 moveto 3.02 1.53 lineto closepath stroke 2.95 1.42 moveto 2.75 1.52 lineto closepath stroke 2.95 1.42 moveto 2.88 1.29 lineto closepath stroke 2.95 1.42 moveto 3.18 1.43 lineto closepath stroke 2.95 1.42 moveto 3.14 1.31 lineto closepath stroke 2.80 1.16 moveto 2.67 1.39 lineto closepath stroke 2.80 1.16 moveto 2.88 1.29 lineto closepath stroke 2.80 1.16 moveto 2.57 1.28 lineto closepath stroke 2.80 1.16 moveto 2.72 1.02 lineto closepath stroke 2.80 1.16 moveto 3.07 1.18 lineto closepath stroke 2.80 1.16 moveto 3.03 1.04 lineto closepath stroke 2.64 0.88 moveto 2.49 1.14 lineto closepath stroke 2.64 0.88 moveto 2.72 1.02 lineto closepath stroke 2.64 0.88 moveto 2.37 1.01 lineto closepath stroke 2.64 0.88 moveto 2.55 0.73 lineto closepath stroke 2.64 0.88 moveto 2.95 0.90 lineto closepath stroke 2.64 0.88 moveto 2.90 0.75 lineto closepath stroke 2.47 0.58 moveto 2.02 0.56 lineto closepath stroke 2.47 0.58 moveto 2.16 0.71 lineto closepath stroke 2.47 0.58 moveto 2.28 0.86 lineto closepath stroke 2.47 0.58 moveto 2.55 0.73 lineto closepath stroke 2.47 0.58 moveto 2.37 0.29 lineto closepath stroke 2.47 0.58 moveto 2.81 0.60 lineto closepath stroke 2.47 0.58 moveto 2.76 0.29 lineto closepath stroke 2.27 0.00 moveto 1.77 0.00 lineto closepath stroke 2.27 0.00 moveto 1.92 0.27 lineto closepath stroke 2.27 0.00 moveto 2.37 0.29 lineto closepath stroke 2.27 0.00 moveto 2.66 0.00 lineto closepath stroke 3.85 2.77 moveto 3.83 2.71 lineto closepath stroke 3.85 2.77 moveto 3.79 2.77 lineto closepath stroke 3.85 2.77 moveto 3.89 2.71 lineto closepath stroke 3.85 2.77 moveto 3.90 2.77 lineto closepath stroke 3.81 2.65 moveto 3.74 2.65 lineto closepath stroke 3.81 2.65 moveto 3.77 2.71 lineto closepath stroke 3.81 2.65 moveto 3.83 2.71 lineto closepath stroke 3.81 2.65 moveto 3.79 2.59 lineto closepath stroke 3.81 2.65 moveto 3.88 2.65 lineto closepath stroke 3.81 2.65 moveto 3.87 2.59 lineto closepath stroke 3.77 2.53 moveto 3.68 2.52 lineto closepath stroke 3.77 2.53 moveto 3.72 2.59 lineto closepath stroke 3.77 2.53 moveto 3.79 2.59 lineto closepath stroke 3.77 2.53 moveto 3.75 2.46 lineto closepath stroke 3.77 2.53 moveto 3.85 2.53 lineto closepath stroke 3.77 2.53 moveto 3.84 2.46 lineto closepath stroke 3.72 2.39 moveto 3.61 2.38 lineto closepath stroke 3.72 2.39 moveto 3.65 2.45 lineto closepath stroke 3.72 2.39 moveto 3.75 2.46 lineto closepath stroke 3.72 2.39 moveto 3.70 2.31 lineto closepath stroke 3.72 2.39 moveto 3.82 2.39 lineto closepath stroke 3.72 2.39 moveto 3.81 2.31 lineto closepath stroke 3.67 2.23 moveto 3.54 2.22 lineto closepath stroke 3.67 2.23 moveto 3.59 2.30 lineto closepath stroke 3.67 2.23 moveto 3.70 2.31 lineto closepath stroke 3.67 2.23 moveto 3.65 2.15 lineto closepath stroke 3.67 2.23 moveto 3.79 2.23 lineto closepath stroke 3.67 2.23 moveto 3.78 2.15 lineto closepath stroke 3.62 2.06 moveto 3.52 2.14 lineto closepath stroke 3.62 2.06 moveto 3.65 2.15 lineto closepath stroke 3.62 2.06 moveto 3.47 2.05 lineto closepath stroke 3.62 2.06 moveto 3.59 1.97 lineto closepath stroke 3.62 2.06 moveto 3.75 2.06 lineto closepath stroke 3.62 2.06 moveto 3.74 1.97 lineto closepath stroke 3.56 1.87 moveto 3.44 1.96 lineto closepath stroke 3.56 1.87 moveto 3.59 1.97 lineto closepath stroke 3.56 1.87 moveto 3.38 1.86 lineto closepath stroke 3.56 1.87 moveto 3.53 1.77 lineto closepath stroke 3.56 1.87 moveto 3.71 1.88 lineto closepath stroke 3.56 1.87 moveto 3.70 1.78 lineto closepath stroke 3.49 1.67 moveto 3.35 1.76 lineto closepath stroke 3.49 1.67 moveto 3.53 1.77 lineto closepath stroke 3.49 1.67 moveto 3.29 1.66 lineto closepath stroke 3.49 1.67 moveto 3.46 1.56 lineto closepath stroke 3.49 1.67 moveto 3.66 1.67 lineto closepath stroke 3.49 1.67 moveto 3.65 1.56 lineto closepath stroke 3.42 1.44 moveto 3.25 1.54 lineto closepath stroke 3.42 1.44 moveto 3.46 1.56 lineto closepath stroke 3.42 1.44 moveto 3.18 1.43 lineto closepath stroke 3.42 1.44 moveto 3.38 1.32 lineto closepath stroke 3.42 1.44 moveto 3.62 1.45 lineto closepath stroke 3.42 1.44 moveto 3.60 1.33 lineto closepath stroke 3.34 1.20 moveto 3.14 1.31 lineto closepath stroke 3.34 1.20 moveto 3.38 1.32 lineto closepath stroke 3.34 1.20 moveto 3.07 1.18 lineto closepath stroke 3.34 1.20 moveto 3.29 1.06 lineto closepath stroke 3.34 1.20 moveto 3.56 1.20 lineto closepath stroke 3.34 1.20 moveto 3.55 1.07 lineto closepath stroke 3.25 0.92 moveto 3.03 1.04 lineto closepath stroke 3.25 0.92 moveto 3.29 1.06 lineto closepath stroke 3.25 0.92 moveto 2.95 0.90 lineto closepath stroke 3.25 0.92 moveto 3.20 0.77 lineto closepath stroke 3.25 0.92 moveto 3.50 0.93 lineto closepath stroke 3.25 0.92 moveto 3.49 0.78 lineto closepath stroke 3.15 0.62 moveto 2.90 0.75 lineto closepath stroke 3.15 0.62 moveto 3.20 0.77 lineto closepath stroke 3.15 0.62 moveto 2.81 0.60 lineto closepath stroke 3.15 0.62 moveto 3.10 0.31 lineto closepath stroke 3.15 0.62 moveto 3.44 0.63 lineto closepath stroke 3.15 0.62 moveto 3.42 0.31 lineto closepath stroke 3.04 0.00 moveto 2.76 0.29 lineto closepath stroke 3.04 0.00 moveto 3.10 0.31 lineto closepath stroke 3.04 0.00 moveto 2.66 0.00 lineto closepath stroke 3.04 0.00 moveto 3.37 0.00 lineto closepath stroke 3.95 2.77 moveto 3.95 2.71 lineto closepath stroke 3.95 2.77 moveto 3.90 2.77 lineto closepath stroke 3.95 2.77 moveto 4.01 2.71 lineto closepath stroke 3.95 2.77 moveto 4.00 2.77 lineto closepath stroke 3.94 2.65 moveto 3.88 2.65 lineto closepath stroke 3.94 2.65 moveto 3.89 2.71 lineto closepath stroke 3.94 2.65 moveto 3.95 2.71 lineto closepath stroke 3.94 2.65 moveto 3.93 2.59 lineto closepath stroke 3.94 2.65 moveto 4.00 2.66 lineto closepath stroke 3.94 2.65 moveto 4.01 2.59 lineto closepath stroke 3.93 2.53 moveto 3.85 2.53 lineto closepath stroke 3.93 2.53 moveto 3.87 2.59 lineto closepath stroke 3.93 2.53 moveto 3.93 2.59 lineto closepath stroke 3.93 2.53 moveto 3.92 2.46 lineto closepath stroke 3.93 2.53 moveto 4.00 2.53 lineto closepath stroke 3.93 2.53 moveto 4.01 2.46 lineto closepath stroke 3.91 2.39 moveto 3.82 2.39 lineto closepath stroke 3.91 2.39 moveto 3.84 2.46 lineto closepath stroke 3.91 2.39 moveto 3.92 2.46 lineto closepath stroke 3.91 2.39 moveto 3.90 2.31 lineto closepath stroke 3.91 2.39 moveto 4.00 2.39 lineto closepath stroke 3.91 2.39 moveto 4.01 2.31 lineto closepath stroke 3.90 2.24 moveto 3.79 2.23 lineto closepath stroke 3.90 2.24 moveto 3.81 2.31 lineto closepath stroke 3.90 2.24 moveto 3.90 2.31 lineto closepath stroke 3.90 2.24 moveto 3.89 2.15 lineto closepath stroke 3.90 2.24 moveto 4.00 2.24 lineto closepath stroke 3.90 2.24 moveto 4.01 2.15 lineto closepath stroke 3.88 2.07 moveto 3.75 2.06 lineto closepath stroke 3.88 2.07 moveto 3.78 2.15 lineto closepath stroke 3.88 2.07 moveto 3.89 2.15 lineto closepath stroke 3.88 2.07 moveto 3.87 1.98 lineto closepath stroke 3.88 2.07 moveto 4.00 2.07 lineto closepath stroke 3.88 2.07 moveto 4.01 1.98 lineto closepath stroke 3.86 1.88 moveto 3.71 1.88 lineto closepath stroke 3.86 1.88 moveto 3.74 1.97 lineto closepath stroke 3.86 1.88 moveto 3.87 1.98 lineto closepath stroke 3.86 1.88 moveto 3.85 1.78 lineto closepath stroke 3.86 1.88 moveto 4.00 1.88 lineto closepath stroke 3.86 1.88 moveto 4.01 1.78 lineto closepath stroke 3.84 1.68 moveto 3.70 1.78 lineto closepath stroke 3.84 1.68 moveto 3.85 1.78 lineto closepath stroke 3.84 1.68 moveto 3.66 1.67 lineto closepath stroke 3.84 1.68 moveto 3.83 1.57 lineto closepath stroke 3.84 1.68 moveto 4.00 1.68 lineto closepath stroke 3.84 1.68 moveto 4.01 1.57 lineto closepath stroke 3.81 1.45 moveto 3.65 1.56 lineto closepath stroke 3.81 1.45 moveto 3.83 1.57 lineto closepath stroke 3.81 1.45 moveto 3.62 1.45 lineto closepath stroke 3.81 1.45 moveto 3.80 1.33 lineto closepath stroke 3.81 1.45 moveto 4.00 1.46 lineto closepath stroke 3.81 1.45 moveto 4.01 1.33 lineto closepath stroke 3.79 1.21 moveto 3.60 1.33 lineto closepath stroke 3.79 1.21 moveto 3.80 1.33 lineto closepath stroke 3.79 1.21 moveto 3.56 1.20 lineto closepath stroke 3.79 1.21 moveto 3.77 1.07 lineto closepath stroke 3.79 1.21 moveto 4.00 1.21 lineto closepath stroke 3.79 1.21 moveto 4.01 1.07 lineto closepath stroke 3.76 0.94 moveto 3.55 1.07 lineto closepath stroke 3.76 0.94 moveto 3.77 1.07 lineto closepath stroke 3.76 0.94 moveto 3.50 0.93 lineto closepath stroke 3.76 0.94 moveto 3.74 0.79 lineto closepath stroke 3.76 0.94 moveto 4.00 0.94 lineto closepath stroke 3.76 0.94 moveto 4.02 0.79 lineto closepath stroke 3.73 0.64 moveto 3.49 0.78 lineto closepath stroke 3.73 0.64 moveto 3.74 0.79 lineto closepath stroke 3.73 0.64 moveto 3.44 0.63 lineto closepath stroke 3.73 0.64 moveto 3.71 0.32 lineto closepath stroke 3.73 0.64 moveto 4.00 0.64 lineto closepath stroke 3.73 0.64 moveto 4.02 0.32 lineto closepath stroke 3.69 0.00 moveto 3.42 0.31 lineto closepath stroke 3.69 0.00 moveto 3.71 0.32 lineto closepath stroke 3.69 0.00 moveto 3.37 0.00 lineto closepath stroke 3.69 0.00 moveto 4.00 0.00 lineto closepath stroke 4.05 2.77 moveto 4.05 2.71 lineto closepath stroke 4.05 2.77 moveto 4.00 2.77 lineto closepath stroke 4.05 2.77 moveto 4.10 2.77 lineto closepath stroke 4.06 2.66 moveto 4.00 2.66 lineto closepath stroke 4.06 2.66 moveto 4.01 2.71 lineto closepath stroke 4.06 2.66 moveto 4.05 2.71 lineto closepath stroke 4.06 2.66 moveto 4.07 2.59 lineto closepath stroke 4.06 2.66 moveto 4.10 2.71 lineto closepath stroke 4.06 2.66 moveto 4.12 2.66 lineto closepath stroke 4.07 2.53 moveto 4.00 2.53 lineto closepath stroke 4.07 2.53 moveto 4.01 2.59 lineto closepath stroke 4.07 2.53 moveto 4.07 2.59 lineto closepath stroke 4.07 2.53 moveto 4.08 2.46 lineto closepath stroke 4.07 2.53 moveto 4.13 2.59 lineto closepath stroke 4.07 2.53 moveto 4.15 2.53 lineto closepath stroke 4.09 2.39 moveto 4.00 2.39 lineto closepath stroke 4.09 2.39 moveto 4.01 2.46 lineto closepath stroke 4.09 2.39 moveto 4.08 2.46 lineto closepath stroke 4.09 2.39 moveto 4.10 2.31 lineto closepath stroke 4.09 2.39 moveto 4.16 2.46 lineto closepath stroke 4.09 2.39 moveto 4.18 2.39 lineto closepath stroke 4.10 2.24 moveto 4.00 2.24 lineto closepath stroke 4.10 2.24 moveto 4.01 2.31 lineto closepath stroke 4.10 2.24 moveto 4.10 2.31 lineto closepath stroke 4.10 2.24 moveto 4.11 2.15 lineto closepath stroke 4.10 2.24 moveto 4.19 2.32 lineto closepath stroke 4.10 2.24 moveto 4.21 2.24 lineto closepath stroke 4.12 2.07 moveto 4.00 2.07 lineto closepath stroke 4.12 2.07 moveto 4.01 2.15 lineto closepath stroke 4.12 2.07 moveto 4.11 2.15 lineto closepath stroke 4.12 2.07 moveto 4.13 1.98 lineto closepath stroke 4.12 2.07 moveto 4.22 2.16 lineto closepath stroke 4.12 2.07 moveto 4.25 2.07 lineto closepath stroke 4.14 1.88 moveto 4.00 1.88 lineto closepath stroke 4.14 1.88 moveto 4.01 1.98 lineto closepath stroke 4.14 1.88 moveto 4.13 1.98 lineto closepath stroke 4.14 1.88 moveto 4.15 1.78 lineto closepath stroke 4.14 1.88 moveto 4.26 1.98 lineto closepath stroke 4.14 1.88 moveto 4.29 1.89 lineto closepath stroke 4.16 1.68 moveto 4.00 1.68 lineto closepath stroke 4.16 1.68 moveto 4.01 1.78 lineto closepath stroke 4.16 1.68 moveto 4.15 1.78 lineto closepath stroke 4.16 1.68 moveto 4.17 1.57 lineto closepath stroke 4.16 1.68 moveto 4.30 1.79 lineto closepath stroke 4.16 1.68 moveto 4.33 1.69 lineto closepath stroke 4.19 1.46 moveto 4.01 1.57 lineto closepath stroke 4.19 1.46 moveto 4.17 1.57 lineto closepath stroke 4.19 1.46 moveto 4.00 1.46 lineto closepath stroke 4.19 1.46 moveto 4.20 1.33 lineto closepath stroke 4.19 1.46 moveto 4.34 1.57 lineto closepath stroke 4.19 1.46 moveto 4.38 1.46 lineto closepath stroke 4.21 1.21 moveto 4.01 1.33 lineto closepath stroke 4.21 1.21 moveto 4.20 1.33 lineto closepath stroke 4.21 1.21 moveto 4.00 1.21 lineto closepath stroke 4.21 1.21 moveto 4.23 1.07 lineto closepath stroke 4.21 1.21 moveto 4.39 1.34 lineto closepath stroke 4.21 1.21 moveto 4.43 1.22 lineto closepath stroke 4.24 0.94 moveto 4.01 1.07 lineto closepath stroke 4.24 0.94 moveto 4.23 1.07 lineto closepath stroke 4.24 0.94 moveto 4.00 0.94 lineto closepath stroke 4.24 0.94 moveto 4.26 0.79 lineto closepath stroke 4.24 0.94 moveto 4.45 1.08 lineto closepath stroke 4.24 0.94 moveto 4.49 0.95 lineto closepath stroke 4.27 0.64 moveto 4.02 0.79 lineto closepath stroke 4.27 0.64 moveto 4.26 0.79 lineto closepath stroke 4.27 0.64 moveto 4.00 0.64 lineto closepath stroke 4.27 0.64 moveto 4.29 0.32 lineto closepath stroke 4.27 0.64 moveto 4.50 0.80 lineto closepath stroke 4.27 0.64 moveto 4.55 0.65 lineto closepath stroke 4.31 0.00 moveto 4.02 0.32 lineto closepath stroke 4.31 0.00 moveto 4.29 0.32 lineto closepath stroke 4.31 0.00 moveto 4.00 0.00 lineto closepath stroke 4.31 0.00 moveto 4.57 0.33 lineto closepath stroke 4.31 0.00 moveto 4.62 0.00 lineto closepath stroke 4.15 2.77 moveto 4.10 2.71 lineto closepath stroke 4.15 2.77 moveto 4.10 2.77 lineto closepath stroke 4.15 2.77 moveto 4.17 2.72 lineto closepath stroke 4.15 2.77 moveto 4.20 2.78 lineto closepath stroke 4.18 2.66 moveto 4.13 2.59 lineto closepath stroke 4.18 2.66 moveto 4.12 2.66 lineto closepath stroke 4.18 2.66 moveto 4.17 2.72 lineto closepath stroke 4.18 2.66 moveto 4.21 2.60 lineto closepath stroke 4.18 2.66 moveto 4.22 2.72 lineto closepath stroke 4.18 2.66 moveto 4.25 2.67 lineto closepath stroke 4.23 2.53 moveto 4.16 2.46 lineto closepath stroke 4.23 2.53 moveto 4.15 2.53 lineto closepath stroke 4.23 2.53 moveto 4.21 2.60 lineto closepath stroke 4.23 2.53 moveto 4.25 2.47 lineto closepath stroke 4.23 2.53 moveto 4.27 2.60 lineto closepath stroke 4.23 2.53 moveto 4.30 2.54 lineto closepath stroke 4.27 2.40 moveto 4.19 2.32 lineto closepath stroke 4.27 2.40 moveto 4.18 2.39 lineto closepath stroke 4.27 2.40 moveto 4.25 2.47 lineto closepath stroke 4.27 2.40 moveto 4.29 2.32 lineto closepath stroke 4.27 2.40 moveto 4.33 2.47 lineto closepath stroke 4.27 2.40 moveto 4.36 2.41 lineto closepath stroke 4.32 2.25 moveto 4.22 2.16 lineto closepath stroke 4.32 2.25 moveto 4.21 2.24 lineto closepath stroke 4.32 2.25 moveto 4.29 2.32 lineto closepath stroke 4.32 2.25 moveto 4.35 2.16 lineto closepath stroke 4.32 2.25 moveto 4.39 2.33 lineto closepath stroke 4.32 2.25 moveto 4.43 2.26 lineto closepath stroke 4.37 2.08 moveto 4.26 1.98 lineto closepath stroke 4.37 2.08 moveto 4.25 2.07 lineto closepath stroke 4.37 2.08 moveto 4.35 2.16 lineto closepath stroke 4.37 2.08 moveto 4.40 1.99 lineto closepath stroke 4.37 2.08 moveto 4.46 2.18 lineto closepath stroke 4.37 2.08 moveto 4.50 2.10 lineto closepath stroke 4.43 1.90 moveto 4.30 1.79 lineto closepath stroke 4.43 1.90 moveto 4.29 1.89 lineto closepath stroke 4.43 1.90 moveto 4.40 1.99 lineto closepath stroke 4.43 1.90 moveto 4.47 1.79 lineto closepath stroke 4.43 1.90 moveto 4.53 2.01 lineto closepath stroke 4.43 1.90 moveto 4.58 1.92 lineto closepath stroke 4.50 1.69 moveto 4.34 1.57 lineto closepath stroke 4.50 1.69 moveto 4.33 1.69 lineto closepath stroke 4.50 1.69 moveto 4.47 1.79 lineto closepath stroke 4.50 1.69 moveto 4.53 1.58 lineto closepath stroke 4.50 1.69 moveto 4.62 1.82 lineto closepath stroke 4.50 1.69 moveto 4.67 1.72 lineto closepath stroke 4.57 1.47 moveto 4.38 1.46 lineto closepath stroke 4.57 1.47 moveto 4.53 1.58 lineto closepath stroke 4.57 1.47 moveto 4.39 1.34 lineto closepath stroke 4.57 1.47 moveto 4.61 1.35 lineto closepath stroke 4.57 1.47 moveto 4.71 1.61 lineto closepath stroke 4.57 1.47 moveto 4.77 1.50 lineto closepath stroke 4.65 1.23 moveto 4.43 1.22 lineto closepath stroke 4.65 1.23 moveto 4.61 1.35 lineto closepath stroke 4.65 1.23 moveto 4.45 1.08 lineto closepath stroke 4.65 1.23 moveto 4.69 1.09 lineto closepath stroke 4.65 1.23 moveto 4.81 1.38 lineto closepath stroke 4.65 1.23 moveto 4.88 1.27 lineto closepath stroke 4.74 0.96 moveto 4.49 0.95 lineto closepath stroke 4.74 0.96 moveto 4.69 1.09 lineto closepath stroke 4.74 0.96 moveto 4.50 0.80 lineto closepath stroke 4.74 0.96 moveto 4.78 0.81 lineto closepath stroke 4.74 0.96 moveto 4.92 1.13 lineto closepath stroke 4.74 0.96 moveto 5.00 1.00 lineto closepath stroke 4.83 0.67 moveto 4.55 0.65 lineto closepath stroke 4.83 0.67 moveto 4.78 0.81 lineto closepath stroke 4.83 0.67 moveto 4.57 0.33 lineto closepath stroke 4.83 0.67 moveto 4.88 0.33 lineto closepath stroke 4.83 0.67 moveto 5.04 0.86 lineto closepath stroke 4.83 0.67 moveto 5.12 0.71 lineto closepath stroke 4.83 0.67 moveto 5.21 0.56 lineto closepath stroke 4.94 0.00 moveto 4.62 0.00 lineto closepath stroke 4.94 0.00 moveto 4.88 0.33 lineto closepath stroke 4.94 0.00 moveto 5.27 0.23 lineto closepath stroke 4.94 0.00 moveto 5.27 0.00 lineto closepath stroke 4.25 2.78 moveto 4.22 2.72 lineto closepath stroke 4.25 2.78 moveto 4.20 2.78 lineto closepath stroke 4.25 2.78 moveto 4.28 2.73 lineto closepath stroke 4.25 2.78 moveto 4.30 2.79 lineto closepath stroke 4.31 2.67 moveto 4.27 2.60 lineto closepath stroke 4.31 2.67 moveto 4.25 2.67 lineto closepath stroke 4.31 2.67 moveto 4.28 2.73 lineto closepath stroke 4.31 2.67 moveto 4.35 2.61 lineto closepath stroke 4.31 2.67 moveto 4.34 2.74 lineto closepath stroke 4.31 2.67 moveto 4.38 2.69 lineto closepath stroke 4.38 2.55 moveto 4.33 2.47 lineto closepath stroke 4.38 2.55 moveto 4.30 2.54 lineto closepath stroke 4.38 2.55 moveto 4.35 2.61 lineto closepath stroke 4.38 2.55 moveto 4.42 2.49 lineto closepath stroke 4.38 2.55 moveto 4.41 2.63 lineto closepath stroke 4.38 2.55 moveto 4.46 2.57 lineto closepath stroke 4.46 2.42 moveto 4.39 2.33 lineto closepath stroke 4.46 2.42 moveto 4.36 2.41 lineto closepath stroke 4.46 2.42 moveto 4.42 2.49 lineto closepath stroke 4.46 2.42 moveto 4.50 2.35 lineto closepath stroke 4.46 2.42 moveto 4.50 2.51 lineto closepath stroke 4.46 2.42 moveto 4.55 2.45 lineto closepath stroke 4.54 2.28 moveto 4.46 2.18 lineto closepath stroke 4.54 2.28 moveto 4.43 2.26 lineto closepath stroke 4.54 2.28 moveto 4.50 2.35 lineto closepath stroke 4.54 2.28 moveto 4.59 2.20 lineto closepath stroke 4.54 2.28 moveto 4.60 2.38 lineto closepath stroke 4.54 2.28 moveto 4.66 2.31 lineto closepath stroke 4.64 2.12 moveto 4.53 2.01 lineto closepath stroke 4.64 2.12 moveto 4.50 2.10 lineto closepath stroke 4.64 2.12 moveto 4.59 2.20 lineto closepath stroke 4.64 2.12 moveto 4.69 2.03 lineto closepath stroke 4.64 2.12 moveto 4.70 2.23 lineto closepath stroke 4.64 2.12 moveto 4.77 2.16 lineto closepath stroke 4.74 1.94 moveto 4.62 1.82 lineto closepath stroke 4.74 1.94 moveto 4.58 1.92 lineto closepath stroke 4.74 1.94 moveto 4.69 2.03 lineto closepath stroke 4.74 1.94 moveto 4.79 1.85 lineto closepath stroke 4.74 1.94 moveto 4.82 2.07 lineto closepath stroke 4.74 1.94 moveto 4.89 1.99 lineto closepath stroke 4.85 1.75 moveto 4.71 1.61 lineto closepath stroke 4.85 1.75 moveto 4.67 1.72 lineto closepath stroke 4.85 1.75 moveto 4.79 1.85 lineto closepath stroke 4.85 1.75 moveto 4.91 1.64 lineto closepath stroke 4.85 1.75 moveto 4.95 1.89 lineto closepath stroke 4.85 1.75 moveto 5.02 1.81 lineto closepath stroke 4.97 1.54 moveto 4.81 1.38 lineto closepath stroke 4.97 1.54 moveto 4.77 1.50 lineto closepath stroke 4.97 1.54 moveto 4.91 1.64 lineto closepath stroke 4.97 1.54 moveto 5.04 1.42 lineto closepath stroke 4.97 1.54 moveto 5.09 1.70 lineto closepath stroke 4.97 1.54 moveto 5.17 1.60 lineto closepath stroke 5.11 1.30 moveto 4.92 1.13 lineto closepath stroke 5.11 1.30 moveto 4.88 1.27 lineto closepath stroke 5.11 1.30 moveto 5.04 1.42 lineto closepath stroke 5.11 1.30 moveto 5.18 1.17 lineto closepath stroke 5.11 1.30 moveto 5.24 1.49 lineto closepath stroke 5.11 1.30 moveto 5.33 1.38 lineto closepath stroke 5.25 1.05 moveto 5.00 1.00 lineto closepath stroke 5.25 1.05 moveto 5.18 1.17 lineto closepath stroke 5.25 1.05 moveto 5.04 0.86 lineto closepath stroke 5.25 1.05 moveto 5.34 0.90 lineto closepath stroke 5.25 1.05 moveto 5.41 1.25 lineto closepath stroke 5.42 0.76 moveto 5.12 0.71 lineto closepath stroke 5.42 0.76 moveto 5.34 0.90 lineto closepath stroke 5.42 0.76 moveto 5.51 0.61 lineto closepath stroke 5.42 0.76 moveto 5.49 1.11 lineto closepath stroke 5.42 0.76 moveto 5.71 1.00 lineto closepath stroke 5.60 0.45 moveto 5.21 0.56 lineto closepath stroke 5.60 0.45 moveto 5.51 0.61 lineto closepath stroke 5.60 0.45 moveto 5.27 0.23 lineto closepath stroke 5.60 0.45 moveto 5.80 0.23 lineto closepath stroke 5.60 0.45 moveto 5.60 0.23 lineto closepath stroke 5.60 0.45 moveto 5.80 0.84 lineto closepath stroke 5.60 0.00 moveto 5.60 0.23 lineto closepath stroke 5.60 0.00 moveto 5.80 0.00 lineto closepath stroke 5.60 0.00 moveto 5.27 0.00 lineto closepath stroke 4.36 2.80 moveto 4.34 2.74 lineto closepath stroke 4.36 2.80 moveto 4.30 2.79 lineto closepath stroke 4.36 2.80 moveto 4.40 2.75 lineto closepath stroke 4.36 2.80 moveto 4.40 2.82 lineto closepath stroke 4.44 2.70 moveto 4.41 2.63 lineto closepath stroke 4.44 2.70 moveto 4.38 2.69 lineto closepath stroke 4.44 2.70 moveto 4.40 2.75 lineto closepath stroke 4.44 2.70 moveto 4.49 2.65 lineto closepath stroke 4.44 2.70 moveto 4.45 2.77 lineto closepath stroke 4.44 2.70 moveto 4.50 2.73 lineto closepath stroke 4.54 2.60 moveto 4.50 2.51 lineto closepath stroke 4.54 2.60 moveto 4.46 2.57 lineto closepath stroke 4.54 2.60 moveto 4.49 2.65 lineto closepath stroke 4.54 2.60 moveto 4.60 2.54 lineto closepath stroke 4.54 2.60 moveto 4.55 2.67 lineto closepath stroke 4.54 2.60 moveto 4.62 2.63 lineto closepath stroke 4.65 2.48 moveto 4.60 2.38 lineto closepath stroke 4.65 2.48 moveto 4.55 2.45 lineto closepath stroke 4.65 2.48 moveto 4.60 2.54 lineto closepath stroke 4.65 2.48 moveto 4.71 2.41 lineto closepath stroke 4.65 2.48 moveto 4.67 2.57 lineto closepath stroke 4.65 2.48 moveto 4.74 2.52 lineto closepath stroke 4.77 2.34 moveto 4.70 2.23 lineto closepath stroke 4.77 2.34 moveto 4.66 2.31 lineto closepath stroke 4.77 2.34 moveto 4.71 2.41 lineto closepath stroke 4.77 2.34 moveto 4.83 2.27 lineto closepath stroke 4.77 2.34 moveto 4.80 2.45 lineto closepath stroke 4.77 2.34 moveto 4.87 2.40 lineto closepath stroke 4.90 2.20 moveto 4.82 2.07 lineto closepath stroke 4.90 2.20 moveto 4.77 2.16 lineto closepath stroke 4.90 2.20 moveto 4.83 2.27 lineto closepath stroke 4.90 2.20 moveto 4.97 2.12 lineto closepath stroke 4.90 2.20 moveto 4.94 2.33 lineto closepath stroke 4.90 2.20 moveto 5.02 2.27 lineto closepath stroke 5.04 2.04 moveto 4.95 1.89 lineto closepath stroke 5.04 2.04 moveto 4.89 1.99 lineto closepath stroke 5.04 2.04 moveto 4.97 2.12 lineto closepath stroke 5.04 2.04 moveto 5.12 1.95 lineto closepath stroke 5.04 2.04 moveto 5.09 2.19 lineto closepath stroke 5.04 2.04 moveto 5.18 2.12 lineto closepath stroke 5.20 1.87 moveto 5.09 1.70 lineto closepath stroke 5.20 1.87 moveto 5.02 1.81 lineto closepath stroke 5.20 1.87 moveto 5.12 1.95 lineto closepath stroke 5.20 1.87 moveto 5.29 1.77 lineto closepath stroke 5.20 1.87 moveto 5.26 2.03 lineto closepath stroke 5.20 1.87 moveto 5.36 1.96 lineto closepath stroke 5.37 1.67 moveto 5.24 1.49 lineto closepath stroke 5.37 1.67 moveto 5.17 1.60 lineto closepath stroke 5.37 1.67 moveto 5.29 1.77 lineto closepath stroke 5.37 1.67 moveto 5.47 1.57 lineto closepath stroke 5.37 1.67 moveto 5.45 1.86 lineto closepath stroke 5.37 1.67 moveto 5.56 1.78 lineto closepath stroke 5.56 1.46 moveto 5.49 1.11 lineto closepath stroke 5.56 1.46 moveto 5.41 1.25 lineto closepath stroke 5.56 1.46 moveto 5.33 1.38 lineto closepath stroke 5.56 1.46 moveto 5.47 1.57 lineto closepath stroke 5.56 1.46 moveto 5.78 1.34 lineto closepath stroke 5.56 1.46 moveto 5.65 1.68 lineto closepath stroke 5.56 1.46 moveto 5.78 1.68 lineto closepath stroke 6.00 1.23 moveto 6.00 0.61 lineto closepath stroke 6.00 1.23 moveto 5.80 0.84 lineto closepath stroke 6.00 1.23 moveto 5.71 1.00 lineto closepath stroke 6.00 1.23 moveto 5.78 1.34 lineto closepath stroke 6.00 1.23 moveto 6.00 1.56 lineto closepath stroke 4.45 2.84 moveto 4.45 2.77 lineto closepath stroke 4.45 2.84 moveto 4.40 2.82 lineto closepath stroke 4.45 2.84 moveto 4.51 2.79 lineto closepath stroke 4.45 2.84 moveto 4.49 2.86 lineto closepath stroke 4.57 2.75 moveto 4.55 2.67 lineto closepath stroke 4.57 2.75 moveto 4.50 2.73 lineto closepath stroke 4.57 2.75 moveto 4.51 2.79 lineto closepath stroke 4.57 2.75 moveto 4.63 2.71 lineto closepath stroke 4.57 2.75 moveto 4.55 2.82 lineto closepath stroke 4.57 2.75 moveto 4.61 2.79 lineto closepath stroke 4.69 2.66 moveto 4.67 2.57 lineto closepath stroke 4.69 2.66 moveto 4.62 2.63 lineto closepath stroke 4.69 2.66 moveto 4.63 2.71 lineto closepath stroke 4.69 2.66 moveto 4.76 2.61 lineto closepath stroke 4.69 2.66 moveto 4.68 2.74 lineto closepath stroke 4.69 2.66 moveto 4.75 2.71 lineto closepath stroke 4.83 2.56 moveto 4.80 2.45 lineto closepath stroke 4.83 2.56 moveto 4.74 2.52 lineto closepath stroke 4.83 2.56 moveto 4.76 2.61 lineto closepath stroke 4.83 2.56 moveto 4.90 2.51 lineto closepath stroke 4.83 2.56 moveto 4.82 2.66 lineto closepath stroke 4.83 2.56 moveto 4.90 2.63 lineto closepath stroke 4.98 2.45 moveto 4.94 2.33 lineto closepath stroke 4.98 2.45 moveto 4.87 2.40 lineto closepath stroke 4.98 2.45 moveto 4.90 2.51 lineto closepath stroke 4.98 2.45 moveto 5.06 2.39 lineto closepath stroke 4.98 2.45 moveto 4.97 2.57 lineto closepath stroke 4.98 2.45 moveto 5.06 2.53 lineto closepath stroke 5.14 2.33 moveto 5.09 2.19 lineto closepath stroke 5.14 2.33 moveto 5.02 2.27 lineto closepath stroke 5.14 2.33 moveto 5.06 2.39 lineto closepath stroke 5.14 2.33 moveto 5.23 2.27 lineto closepath stroke 5.14 2.33 moveto 5.14 2.47 lineto closepath stroke 5.14 2.33 moveto 5.24 2.43 lineto closepath stroke 5.32 2.20 moveto 5.26 2.03 lineto closepath stroke 5.32 2.20 moveto 5.18 2.12 lineto closepath stroke 5.32 2.20 moveto 5.23 2.27 lineto closepath stroke 5.32 2.20 moveto 5.42 2.13 lineto closepath stroke 5.32 2.20 moveto 5.33 2.36 lineto closepath stroke 5.32 2.20 moveto 5.44 2.31 lineto closepath stroke 5.52 2.06 moveto 5.45 1.86 lineto closepath stroke 5.52 2.06 moveto 5.36 1.96 lineto closepath stroke 5.52 2.06 moveto 5.42 2.13 lineto closepath stroke 5.52 2.06 moveto 5.63 1.98 lineto closepath stroke 5.52 2.06 moveto 5.54 2.24 lineto closepath stroke 5.52 2.06 moveto 5.76 2.19 lineto closepath stroke 5.74 1.90 moveto 5.65 1.68 lineto closepath stroke 5.74 1.90 moveto 5.56 1.78 lineto closepath stroke 5.74 1.90 moveto 5.63 1.98 lineto closepath stroke 5.74 1.90 moveto 5.87 1.90 lineto closepath stroke 5.74 1.90 moveto 5.87 2.11 lineto closepath stroke 6.00 1.90 moveto 6.00 1.56 lineto closepath stroke 6.00 1.90 moveto 5.78 1.68 lineto closepath stroke 6.00 1.90 moveto 5.87 1.90 lineto closepath stroke 6.00 1.90 moveto 6.00 2.11 lineto closepath stroke 4.53 2.88 moveto 4.55 2.82 lineto closepath stroke 4.53 2.88 moveto 4.49 2.86 lineto closepath stroke 4.53 2.88 moveto 4.60 2.85 lineto closepath stroke 4.53 2.88 moveto 4.56 2.91 lineto closepath stroke 4.66 2.82 moveto 4.62 2.88 lineto closepath stroke 4.66 2.82 moveto 4.70 2.87 lineto closepath stroke 4.66 2.82 moveto 4.68 2.74 lineto closepath stroke 4.66 2.82 moveto 4.61 2.79 lineto closepath stroke 4.66 2.82 moveto 4.60 2.85 lineto closepath stroke 4.66 2.82 moveto 4.74 2.79 lineto closepath stroke 4.81 2.76 moveto 4.77 2.83 lineto closepath stroke 4.81 2.76 moveto 4.85 2.82 lineto closepath stroke 4.81 2.76 moveto 4.89 2.72 lineto closepath stroke 4.81 2.76 moveto 4.82 2.66 lineto closepath stroke 4.81 2.76 moveto 4.75 2.71 lineto closepath stroke 4.81 2.76 moveto 4.74 2.79 lineto closepath stroke 4.97 2.69 moveto 4.93 2.78 lineto closepath stroke 4.97 2.69 moveto 5.02 2.76 lineto closepath stroke 4.97 2.69 moveto 5.06 2.65 lineto closepath stroke 4.97 2.69 moveto 4.89 2.72 lineto closepath stroke 4.97 2.69 moveto 4.97 2.57 lineto closepath stroke 4.97 2.69 moveto 4.90 2.63 lineto closepath stroke 5.15 2.61 moveto 5.10 2.72 lineto closepath stroke 5.15 2.61 moveto 5.20 2.70 lineto closepath stroke 5.15 2.61 moveto 5.24 2.56 lineto closepath stroke 5.15 2.61 moveto 5.06 2.65 lineto closepath stroke 5.15 2.61 moveto 5.14 2.47 lineto closepath stroke 5.15 2.61 moveto 5.06 2.53 lineto closepath stroke 5.34 2.52 moveto 5.30 2.66 lineto closepath stroke 5.34 2.52 moveto 5.41 2.64 lineto closepath stroke 5.34 2.52 moveto 5.45 2.47 lineto closepath stroke 5.34 2.52 moveto 5.24 2.56 lineto closepath stroke 5.34 2.52 moveto 5.33 2.36 lineto closepath stroke 5.34 2.52 moveto 5.24 2.43 lineto closepath stroke 5.55 2.43 moveto 5.51 2.59 lineto closepath stroke 5.55 2.43 moveto 5.63 2.56 lineto closepath stroke 5.55 2.43 moveto 5.78 2.37 lineto closepath stroke 5.55 2.43 moveto 5.45 2.47 lineto closepath stroke 5.55 2.43 moveto 5.54 2.24 lineto closepath stroke 5.55 2.43 moveto 5.44 2.31 lineto closepath stroke 6.00 2.32 moveto 5.85 2.51 lineto closepath stroke 6.00 2.32 moveto 6.00 2.51 lineto closepath stroke 6.00 2.32 moveto 5.78 2.37 lineto closepath stroke 6.00 2.32 moveto 6.00 2.11 lineto closepath stroke 6.00 2.32 moveto 5.87 2.11 lineto closepath stroke 6.00 2.32 moveto 5.76 2.19 lineto closepath stroke 4.58 2.94 moveto 4.59 2.97 lineto closepath stroke 4.58 2.94 moveto 4.65 2.92 lineto closepath stroke 4.58 2.94 moveto 4.62 2.88 lineto closepath stroke 4.58 2.94 moveto 4.56 2.91 lineto closepath stroke 4.73 2.91 moveto 4.74 2.95 lineto closepath stroke 4.73 2.91 moveto 4.81 2.89 lineto closepath stroke 4.73 2.91 moveto 4.77 2.83 lineto closepath stroke 4.73 2.91 moveto 4.66 2.95 lineto closepath stroke 4.73 2.91 moveto 4.65 2.92 lineto closepath stroke 4.73 2.91 moveto 4.70 2.87 lineto closepath stroke 4.89 2.87 moveto 4.90 2.94 lineto closepath stroke 4.89 2.87 moveto 4.98 2.85 lineto closepath stroke 4.89 2.87 moveto 4.93 2.78 lineto closepath stroke 4.89 2.87 moveto 4.82 2.94 lineto closepath stroke 4.89 2.87 moveto 4.81 2.89 lineto closepath stroke 4.89 2.87 moveto 4.85 2.82 lineto closepath stroke 5.06 2.84 moveto 5.08 2.92 lineto closepath stroke 5.06 2.84 moveto 5.16 2.82 lineto closepath stroke 5.06 2.84 moveto 5.10 2.72 lineto closepath stroke 5.06 2.84 moveto 4.99 2.92 lineto closepath stroke 5.06 2.84 moveto 4.98 2.85 lineto closepath stroke 5.06 2.84 moveto 5.02 2.76 lineto closepath stroke 5.26 2.79 moveto 5.28 2.90 lineto closepath stroke 5.26 2.79 moveto 5.36 2.77 lineto closepath stroke 5.26 2.79 moveto 5.30 2.66 lineto closepath stroke 5.26 2.79 moveto 5.18 2.90 lineto closepath stroke 5.26 2.79 moveto 5.16 2.82 lineto closepath stroke 5.26 2.79 moveto 5.20 2.70 lineto closepath stroke 5.47 2.75 moveto 5.49 2.87 lineto closepath stroke 5.47 2.75 moveto 5.59 2.72 lineto closepath stroke 5.47 2.75 moveto 5.51 2.59 lineto closepath stroke 5.47 2.75 moveto 5.38 2.87 lineto closepath stroke 5.47 2.75 moveto 5.36 2.77 lineto closepath stroke 5.47 2.75 moveto 5.41 2.64 lineto closepath stroke 5.70 2.70 moveto 5.85 2.85 lineto closepath stroke 5.70 2.70 moveto 5.85 2.70 lineto closepath stroke 5.70 2.70 moveto 5.85 2.51 lineto closepath stroke 5.70 2.70 moveto 5.61 2.85 lineto closepath stroke 5.70 2.70 moveto 5.59 2.72 lineto closepath stroke 5.70 2.70 moveto 5.63 2.56 lineto closepath stroke 6.00 2.70 moveto 5.85 2.70 lineto closepath stroke 6.00 2.70 moveto 6.00 2.85 lineto closepath stroke 6.00 2.70 moveto 6.00 2.51 lineto closepath stroke 4.66 3.05 moveto 4.74 3.05 lineto closepath stroke 4.66 3.05 moveto 4.68 3.00 lineto closepath stroke 4.66 3.05 moveto 4.59 3.03 lineto closepath stroke 4.66 3.05 moveto 4.65 3.08 lineto closepath stroke 4.74 3.05 moveto 4.68 3.00 lineto closepath stroke 4.74 3.05 moveto 4.81 3.11 lineto closepath stroke 4.74 3.05 moveto 4.82 3.06 lineto closepath stroke 4.68 3.00 moveto 4.74 2.95 lineto closepath stroke 4.68 3.00 moveto 4.66 2.95 lineto closepath stroke 4.59 3.03 moveto 4.65 3.08 lineto closepath stroke 4.65 3.08 moveto 4.62 3.12 lineto closepath stroke 4.65 3.08 moveto 4.70 3.13 lineto closepath stroke 4.82 3.06 moveto 4.90 3.06 lineto closepath stroke 4.82 3.06 moveto 4.83 3.00 lineto closepath stroke 4.82 3.06 moveto 4.81 3.11 lineto closepath stroke 4.90 3.06 moveto 4.83 3.00 lineto closepath stroke 4.90 3.06 moveto 4.98 3.15 lineto closepath stroke 4.90 3.06 moveto 4.99 3.08 lineto closepath stroke 4.83 3.00 moveto 4.90 2.94 lineto closepath stroke 4.83 3.00 moveto 4.82 2.94 lineto closepath stroke 4.81 3.11 moveto 4.77 3.17 lineto closepath stroke 4.81 3.11 moveto 4.85 3.18 lineto closepath stroke 4.99 3.08 moveto 5.08 3.08 lineto closepath stroke 4.99 3.08 moveto 5.01 3.00 lineto closepath stroke 4.99 3.08 moveto 4.98 3.15 lineto closepath stroke 5.08 3.08 moveto 5.01 3.00 lineto closepath stroke 5.08 3.08 moveto 5.16 3.18 lineto closepath stroke 5.08 3.08 moveto 5.18 3.10 lineto closepath stroke 5.01 3.00 moveto 5.08 2.92 lineto closepath stroke 5.01 3.00 moveto 4.99 2.92 lineto closepath stroke 4.98 3.15 moveto 4.93 3.22 lineto closepath stroke 4.98 3.15 moveto 5.02 3.24 lineto closepath stroke 5.18 3.10 moveto 5.28 3.10 lineto closepath stroke 5.18 3.10 moveto 5.20 3.00 lineto closepath stroke 5.18 3.10 moveto 5.16 3.18 lineto closepath stroke 5.28 3.10 moveto 5.20 3.00 lineto closepath stroke 5.28 3.10 moveto 5.36 3.23 lineto closepath stroke 5.28 3.10 moveto 5.38 3.13 lineto closepath stroke 5.20 3.00 moveto 5.28 2.90 lineto closepath stroke 5.20 3.00 moveto 5.18 2.90 lineto closepath stroke 5.16 3.18 moveto 5.10 3.28 lineto closepath stroke 5.16 3.18 moveto 5.20 3.30 lineto closepath stroke 5.38 3.13 moveto 5.49 3.13 lineto closepath stroke 5.38 3.13 moveto 5.41 3.00 lineto closepath stroke 5.38 3.13 moveto 5.36 3.23 lineto closepath stroke 5.49 3.13 moveto 5.41 3.00 lineto closepath stroke 5.49 3.13 moveto 5.59 3.28 lineto closepath stroke 5.49 3.13 moveto 5.61 3.15 lineto closepath stroke 5.41 3.00 moveto 5.49 2.87 lineto closepath stroke 5.41 3.00 moveto 5.38 2.87 lineto closepath stroke 5.36 3.23 moveto 5.30 3.34 lineto closepath stroke 5.36 3.23 moveto 5.41 3.36 lineto closepath stroke 5.61 3.15 moveto 5.85 3.15 lineto closepath stroke 5.61 3.15 moveto 5.76 3.00 lineto closepath stroke 5.61 3.15 moveto 5.59 3.28 lineto closepath stroke 5.85 3.15 moveto 5.76 3.00 lineto closepath stroke 5.85 3.15 moveto 5.85 3.30 lineto closepath stroke 5.85 3.15 moveto 6.00 3.15 lineto closepath stroke 5.76 3.00 moveto 5.85 2.85 lineto closepath stroke 5.76 3.00 moveto 5.61 2.85 lineto closepath stroke 5.59 3.28 moveto 5.51 3.41 lineto closepath stroke 5.59 3.28 moveto 5.63 3.44 lineto closepath stroke 5.85 3.30 moveto 6.00 3.15 lineto closepath stroke 5.85 3.30 moveto 5.85 3.49 lineto closepath stroke 5.85 3.30 moveto 6.00 3.49 lineto closepath stroke 4.62 3.12 moveto 4.70 3.13 lineto closepath stroke 4.62 3.12 moveto 4.56 3.09 lineto closepath stroke 4.62 3.12 moveto 4.60 3.15 lineto closepath stroke 4.70 3.13 moveto 4.74 3.21 lineto closepath stroke 4.70 3.13 moveto 4.77 3.17 lineto closepath stroke 4.56 3.09 moveto 4.60 3.15 lineto closepath stroke 4.60 3.15 moveto 4.55 3.18 lineto closepath stroke 4.60 3.15 moveto 4.61 3.21 lineto closepath stroke 4.77 3.17 moveto 4.85 3.18 lineto closepath stroke 4.77 3.17 moveto 4.74 3.21 lineto closepath stroke 4.85 3.18 moveto 4.89 3.28 lineto closepath stroke 4.85 3.18 moveto 4.93 3.22 lineto closepath stroke 4.74 3.21 moveto 4.68 3.26 lineto closepath stroke 4.74 3.21 moveto 4.75 3.29 lineto closepath stroke 4.93 3.22 moveto 5.02 3.24 lineto closepath stroke 4.93 3.22 moveto 4.89 3.28 lineto closepath stroke 5.02 3.24 moveto 5.06 3.35 lineto closepath stroke 5.02 3.24 moveto 5.10 3.28 lineto closepath stroke 4.89 3.28 moveto 4.82 3.34 lineto closepath stroke 4.89 3.28 moveto 4.90 3.37 lineto closepath stroke 5.10 3.28 moveto 5.20 3.30 lineto closepath stroke 5.10 3.28 moveto 5.06 3.35 lineto closepath stroke 5.20 3.30 moveto 5.24 3.44 lineto closepath stroke 5.20 3.30 moveto 5.30 3.34 lineto closepath stroke 5.06 3.35 moveto 4.97 3.43 lineto closepath stroke 5.06 3.35 moveto 5.06 3.47 lineto closepath stroke 5.30 3.34 moveto 5.41 3.36 lineto closepath stroke 5.30 3.34 moveto 5.24 3.44 lineto closepath stroke 5.41 3.36 moveto 5.45 3.53 lineto closepath stroke 5.41 3.36 moveto 5.51 3.41 lineto closepath stroke 5.24 3.44 moveto 5.14 3.53 lineto closepath stroke 5.24 3.44 moveto 5.24 3.57 lineto closepath stroke 5.51 3.41 moveto 5.63 3.44 lineto closepath stroke 5.51 3.41 moveto 5.45 3.53 lineto closepath stroke 5.63 3.44 moveto 5.78 3.63 lineto closepath stroke 5.63 3.44 moveto 5.85 3.49 lineto closepath stroke 5.45 3.53 moveto 5.33 3.64 lineto closepath stroke 5.45 3.53 moveto 5.44 3.69 lineto closepath stroke 5.85 3.49 moveto 6.00 3.49 lineto closepath stroke 5.85 3.49 moveto 5.78 3.63 lineto closepath stroke 5.78 3.63 moveto 5.54 3.76 lineto closepath stroke 5.78 3.63 moveto 5.76 3.81 lineto closepath stroke 4.55 3.18 moveto 4.61 3.21 lineto closepath stroke 4.55 3.18 moveto 4.49 3.14 lineto closepath stroke 4.55 3.18 moveto 4.51 3.21 lineto closepath stroke 4.61 3.21 moveto 4.63 3.29 lineto closepath stroke 4.61 3.21 moveto 4.68 3.26 lineto closepath stroke 4.49 3.14 moveto 4.51 3.21 lineto closepath stroke 4.51 3.21 moveto 4.50 3.27 lineto closepath stroke 4.51 3.21 moveto 4.45 3.23 lineto closepath stroke 4.68 3.26 moveto 4.75 3.29 lineto closepath stroke 4.68 3.26 moveto 4.63 3.29 lineto closepath stroke 4.75 3.29 moveto 4.76 3.39 lineto closepath stroke 4.75 3.29 moveto 4.82 3.34 lineto closepath stroke 4.63 3.29 moveto 4.62 3.37 lineto closepath stroke 4.63 3.29 moveto 4.55 3.33 lineto closepath stroke 4.82 3.34 moveto 4.90 3.37 lineto closepath stroke 4.82 3.34 moveto 4.76 3.39 lineto closepath stroke 4.90 3.37 moveto 4.90 3.49 lineto closepath stroke 4.90 3.37 moveto 4.97 3.43 lineto closepath stroke 4.76 3.39 moveto 4.74 3.48 lineto closepath stroke 4.76 3.39 moveto 4.67 3.43 lineto closepath stroke 4.97 3.43 moveto 5.06 3.47 lineto closepath stroke 4.97 3.43 moveto 4.90 3.49 lineto closepath stroke 5.06 3.47 moveto 5.06 3.61 lineto closepath stroke 5.06 3.47 moveto 5.14 3.53 lineto closepath stroke 4.90 3.49 moveto 4.80 3.55 lineto closepath stroke 4.90 3.49 moveto 4.87 3.60 lineto closepath stroke 5.14 3.53 moveto 5.24 3.57 lineto closepath stroke 5.14 3.53 moveto 5.06 3.61 lineto closepath stroke 5.24 3.57 moveto 5.23 3.73 lineto closepath stroke 5.24 3.57 moveto 5.33 3.64 lineto closepath stroke 5.06 3.61 moveto 4.94 3.67 lineto closepath stroke 5.06 3.61 moveto 5.02 3.73 lineto closepath stroke 5.33 3.64 moveto 5.44 3.69 lineto closepath stroke 5.33 3.64 moveto 5.23 3.73 lineto closepath stroke 5.44 3.69 moveto 5.42 3.87 lineto closepath stroke 5.44 3.69 moveto 5.54 3.76 lineto closepath stroke 5.23 3.73 moveto 5.09 3.81 lineto closepath stroke 5.23 3.73 moveto 5.18 3.88 lineto closepath stroke 5.54 3.76 moveto 5.76 3.81 lineto closepath stroke 5.54 3.76 moveto 5.42 3.87 lineto closepath stroke 5.76 3.81 moveto 5.63 4.02 lineto closepath stroke 5.76 3.81 moveto 5.87 3.89 lineto closepath stroke 5.42 3.87 moveto 5.26 3.97 lineto closepath stroke 5.42 3.87 moveto 5.36 4.04 lineto closepath stroke 5.63 4.02 moveto 5.87 3.89 lineto closepath stroke 5.63 4.02 moveto 5.45 4.14 lineto closepath stroke 5.63 4.02 moveto 5.56 4.22 lineto closepath stroke 5.87 3.89 moveto 5.87 4.10 lineto closepath stroke 5.87 3.89 moveto 6.00 3.89 lineto closepath stroke 5.87 4.10 moveto 6.00 3.89 lineto closepath stroke 5.87 4.10 moveto 5.65 4.32 lineto closepath stroke 5.87 4.10 moveto 5.78 4.32 lineto closepath stroke 4.50 3.27 moveto 4.45 3.23 lineto closepath stroke 4.50 3.27 moveto 4.49 3.35 lineto closepath stroke 4.50 3.27 moveto 4.55 3.33 lineto closepath stroke 4.45 3.23 moveto 4.40 3.25 lineto closepath stroke 4.45 3.23 moveto 4.40 3.18 lineto closepath stroke 4.40 3.25 moveto 4.40 3.18 lineto closepath stroke 4.40 3.25 moveto 4.38 3.31 lineto closepath stroke 4.40 3.25 moveto 4.34 3.26 lineto closepath stroke 4.62 3.37 moveto 4.55 3.33 lineto closepath stroke 4.62 3.37 moveto 4.60 3.46 lineto closepath stroke 4.62 3.37 moveto 4.67 3.43 lineto closepath stroke 4.55 3.33 moveto 4.49 3.35 lineto closepath stroke 4.49 3.35 moveto 4.46 3.43 lineto closepath stroke 4.49 3.35 moveto 4.41 3.37 lineto closepath stroke 4.74 3.48 moveto 4.67 3.43 lineto closepath stroke 4.74 3.48 moveto 4.71 3.59 lineto closepath stroke 4.74 3.48 moveto 4.80 3.55 lineto closepath stroke 4.67 3.43 moveto 4.60 3.46 lineto closepath stroke 4.60 3.46 moveto 4.55 3.55 lineto closepath stroke 4.60 3.46 moveto 4.50 3.49 lineto closepath stroke 4.80 3.55 moveto 4.87 3.60 lineto closepath stroke 4.80 3.55 moveto 4.71 3.59 lineto closepath stroke 4.87 3.60 moveto 4.83 3.73 lineto closepath stroke 4.87 3.60 moveto 4.94 3.67 lineto closepath stroke 4.71 3.59 moveto 4.66 3.69 lineto closepath stroke 4.71 3.59 moveto 4.60 3.62 lineto closepath stroke 4.94 3.67 moveto 5.02 3.73 lineto closepath stroke 4.94 3.67 moveto 4.83 3.73 lineto closepath stroke 5.02 3.73 moveto 4.97 3.88 lineto closepath stroke 5.02 3.73 moveto 5.09 3.81 lineto closepath stroke 4.83 3.73 moveto 4.77 3.84 lineto closepath stroke 4.83 3.73 moveto 4.70 3.77 lineto closepath stroke 5.09 3.81 moveto 5.18 3.88 lineto closepath stroke 5.09 3.81 moveto 4.97 3.88 lineto closepath stroke 5.18 3.88 moveto 5.12 4.05 lineto closepath stroke 5.18 3.88 moveto 5.26 3.97 lineto closepath stroke 4.97 3.88 moveto 4.89 4.01 lineto closepath stroke 4.97 3.88 moveto 4.82 3.93 lineto closepath stroke 5.26 3.97 moveto 5.36 4.04 lineto closepath stroke 5.26 3.97 moveto 5.12 4.05 lineto closepath stroke 5.36 4.04 moveto 5.29 4.23 lineto closepath stroke 5.36 4.04 moveto 5.45 4.14 lineto closepath stroke 5.12 4.05 moveto 5.02 4.19 lineto closepath stroke 5.12 4.05 moveto 4.95 4.11 lineto closepath stroke 5.45 4.14 moveto 5.56 4.22 lineto closepath stroke 5.45 4.14 moveto 5.29 4.23 lineto closepath stroke 5.56 4.22 moveto 5.47 4.43 lineto closepath stroke 5.56 4.22 moveto 5.65 4.32 lineto closepath stroke 5.29 4.23 moveto 5.09 4.30 lineto closepath stroke 5.29 4.23 moveto 5.17 4.40 lineto closepath stroke 5.65 4.32 moveto 5.78 4.32 lineto closepath stroke 5.65 4.32 moveto 5.47 4.43 lineto closepath stroke 5.78 4.32 moveto 5.78 4.66 lineto closepath stroke 5.78 4.32 moveto 6.00 4.44 lineto closepath stroke 5.47 4.43 moveto 5.24 4.51 lineto closepath stroke 5.47 4.43 moveto 5.33 4.62 lineto closepath stroke 5.78 4.66 moveto 6.00 4.44 lineto closepath stroke 5.78 4.66 moveto 5.49 4.89 lineto closepath stroke 5.78 4.66 moveto 5.71 5.00 lineto closepath stroke 4.38 3.31 moveto 4.34 3.26 lineto closepath stroke 4.38 3.31 moveto 4.35 3.39 lineto closepath stroke 4.38 3.31 moveto 4.41 3.37 lineto closepath stroke 4.34 3.26 moveto 4.28 3.27 lineto closepath stroke 4.34 3.26 moveto 4.30 3.21 lineto closepath stroke 4.28 3.27 moveto 4.30 3.21 lineto closepath stroke 4.28 3.27 moveto 4.25 3.33 lineto closepath stroke 4.28 3.27 moveto 4.22 3.28 lineto closepath stroke 4.46 3.43 moveto 4.41 3.37 lineto closepath stroke 4.46 3.43 moveto 4.42 3.51 lineto closepath stroke 4.46 3.43 moveto 4.50 3.49 lineto closepath stroke 4.41 3.37 moveto 4.35 3.39 lineto closepath stroke 4.35 3.39 moveto 4.30 3.46 lineto closepath stroke 4.35 3.39 moveto 4.27 3.40 lineto closepath stroke 4.55 3.55 moveto 4.50 3.49 lineto closepath stroke 4.55 3.55 moveto 4.50 3.65 lineto closepath stroke 4.55 3.55 moveto 4.60 3.62 lineto closepath stroke 4.50 3.49 moveto 4.42 3.51 lineto closepath stroke 4.42 3.51 moveto 4.36 3.59 lineto closepath stroke 4.42 3.51 moveto 4.33 3.53 lineto closepath stroke 4.66 3.69 moveto 4.60 3.62 lineto closepath stroke 4.66 3.69 moveto 4.59 3.80 lineto closepath stroke 4.66 3.69 moveto 4.70 3.77 lineto closepath stroke 4.60 3.62 moveto 4.50 3.65 lineto closepath stroke 4.50 3.65 moveto 4.43 3.74 lineto closepath stroke 4.50 3.65 moveto 4.39 3.67 lineto closepath stroke 4.77 3.84 moveto 4.70 3.77 lineto closepath stroke 4.77 3.84 moveto 4.69 3.97 lineto closepath stroke 4.77 3.84 moveto 4.82 3.93 lineto closepath stroke 4.70 3.77 moveto 4.59 3.80 lineto closepath stroke 4.59 3.80 moveto 4.50 3.90 lineto closepath stroke 4.59 3.80 moveto 4.46 3.82 lineto closepath stroke 4.89 4.01 moveto 4.82 3.93 lineto closepath stroke 4.89 4.01 moveto 4.79 4.15 lineto closepath stroke 4.89 4.01 moveto 4.95 4.11 lineto closepath stroke 4.82 3.93 moveto 4.69 3.97 lineto closepath stroke 4.69 3.97 moveto 4.58 4.08 lineto closepath stroke 4.69 3.97 moveto 4.53 3.99 lineto closepath stroke 5.02 4.19 moveto 4.95 4.11 lineto closepath stroke 5.02 4.19 moveto 4.91 4.36 lineto closepath stroke 5.02 4.19 moveto 5.09 4.30 lineto closepath stroke 4.95 4.11 moveto 4.79 4.15 lineto closepath stroke 4.79 4.15 moveto 4.67 4.28 lineto closepath stroke 4.79 4.15 moveto 4.62 4.18 lineto closepath stroke 5.09 4.30 moveto 5.17 4.40 lineto closepath stroke 5.09 4.30 moveto 4.91 4.36 lineto closepath stroke 5.17 4.40 moveto 5.04 4.58 lineto closepath stroke 5.17 4.40 moveto 5.24 4.51 lineto closepath stroke 4.91 4.36 moveto 4.77 4.50 lineto closepath stroke 4.91 4.36 moveto 4.71 4.39 lineto closepath stroke 5.24 4.51 moveto 5.33 4.62 lineto closepath stroke 5.24 4.51 moveto 5.04 4.58 lineto closepath stroke 5.33 4.62 moveto 5.18 4.83 lineto closepath stroke 5.33 4.62 moveto 5.41 4.75 lineto closepath stroke 5.04 4.58 moveto 4.88 4.73 lineto closepath stroke 5.04 4.58 moveto 4.81 4.62 lineto closepath stroke 5.18 4.83 moveto 5.41 4.75 lineto closepath stroke 5.18 4.83 moveto 5.00 5.00 lineto closepath stroke 5.18 4.83 moveto 4.92 4.87 lineto closepath stroke 5.41 4.75 moveto 5.34 5.10 lineto closepath stroke 5.41 4.75 moveto 5.49 4.89 lineto closepath stroke 5.49 4.89 moveto 5.71 5.00 lineto closepath stroke 5.49 4.89 moveto 5.34 5.10 lineto closepath stroke 5.71 5.00 moveto 5.51 5.39 lineto closepath stroke 5.71 5.00 moveto 5.80 5.16 lineto closepath stroke 5.34 5.10 moveto 5.12 5.29 lineto closepath stroke 5.34 5.10 moveto 5.04 5.14 lineto closepath stroke 5.80 5.77 moveto 6.00 5.39 lineto closepath stroke 5.80 5.77 moveto 5.80 5.16 lineto closepath stroke 5.80 5.77 moveto 5.80 6.00 lineto closepath stroke 5.80 5.77 moveto 5.60 5.77 lineto closepath stroke 6.00 5.39 moveto 5.80 5.16 lineto closepath stroke 5.80 5.16 moveto 5.51 5.39 lineto closepath stroke 5.51 5.39 moveto 5.21 5.44 lineto closepath stroke 5.51 5.39 moveto 5.12 5.29 lineto closepath stroke 5.80 6.00 moveto 5.60 5.77 lineto closepath stroke 5.60 5.77 moveto 5.27 5.77 lineto closepath stroke 5.60 5.77 moveto 5.27 6.00 lineto closepath stroke 4.25 3.33 moveto 4.22 3.28 lineto closepath stroke 4.25 3.33 moveto 4.21 3.40 lineto closepath stroke 4.25 3.33 moveto 4.27 3.40 lineto closepath stroke 4.22 3.28 moveto 4.17 3.28 lineto closepath stroke 4.22 3.28 moveto 4.20 3.22 lineto closepath stroke 4.17 3.28 moveto 4.20 3.22 lineto closepath stroke 4.17 3.28 moveto 4.12 3.34 lineto closepath stroke 4.17 3.28 moveto 4.10 3.29 lineto closepath stroke 4.30 3.46 moveto 4.27 3.40 lineto closepath stroke 4.30 3.46 moveto 4.25 3.53 lineto closepath stroke 4.30 3.46 moveto 4.33 3.53 lineto closepath stroke 4.27 3.40 moveto 4.21 3.40 lineto closepath stroke 4.21 3.40 moveto 4.15 3.47 lineto closepath stroke 4.21 3.40 moveto 4.13 3.41 lineto closepath stroke 4.36 3.59 moveto 4.33 3.53 lineto closepath stroke 4.36 3.59 moveto 4.29 3.68 lineto closepath stroke 4.36 3.59 moveto 4.39 3.67 lineto closepath stroke 4.33 3.53 moveto 4.25 3.53 lineto closepath stroke 4.25 3.53 moveto 4.18 3.61 lineto closepath stroke 4.25 3.53 moveto 4.16 3.54 lineto closepath stroke 4.43 3.74 moveto 4.39 3.67 lineto closepath stroke 4.43 3.74 moveto 4.35 3.84 lineto closepath stroke 4.43 3.74 moveto 4.46 3.82 lineto closepath stroke 4.39 3.67 moveto 4.29 3.68 lineto closepath stroke 4.29 3.68 moveto 4.21 3.76 lineto closepath stroke 4.29 3.68 moveto 4.19 3.68 lineto closepath stroke 4.50 3.90 moveto 4.46 3.82 lineto closepath stroke 4.50 3.90 moveto 4.40 4.01 lineto closepath stroke 4.50 3.90 moveto 4.53 3.99 lineto closepath stroke 4.46 3.82 moveto 4.35 3.84 lineto closepath stroke 4.35 3.84 moveto 4.25 3.93 lineto closepath stroke 4.35 3.84 moveto 4.22 3.84 lineto closepath stroke 4.58 4.08 moveto 4.53 3.99 lineto closepath stroke 4.58 4.08 moveto 4.47 4.21 lineto closepath stroke 4.58 4.08 moveto 4.62 4.18 lineto closepath stroke 4.53 3.99 moveto 4.40 4.01 lineto closepath stroke 4.40 4.01 moveto 4.29 4.11 lineto closepath stroke 4.40 4.01 moveto 4.26 4.02 lineto closepath stroke 4.67 4.28 moveto 4.62 4.18 lineto closepath stroke 4.67 4.28 moveto 4.53 4.42 lineto closepath stroke 4.67 4.28 moveto 4.71 4.39 lineto closepath stroke 4.62 4.18 moveto 4.47 4.21 lineto closepath stroke 4.47 4.21 moveto 4.33 4.31 lineto closepath stroke 4.47 4.21 moveto 4.30 4.21 lineto closepath stroke 4.77 4.50 moveto 4.71 4.39 lineto closepath stroke 4.77 4.50 moveto 4.61 4.65 lineto closepath stroke 4.77 4.50 moveto 4.81 4.62 lineto closepath stroke 4.71 4.39 moveto 4.53 4.42 lineto closepath stroke 4.53 4.42 moveto 4.38 4.54 lineto closepath stroke 4.53 4.42 moveto 4.34 4.43 lineto closepath stroke 4.88 4.73 moveto 4.81 4.62 lineto closepath stroke 4.88 4.73 moveto 4.69 4.91 lineto closepath stroke 4.88 4.73 moveto 4.92 4.87 lineto closepath stroke 4.81 4.62 moveto 4.61 4.65 lineto closepath stroke 4.61 4.65 moveto 4.43 4.78 lineto closepath stroke 4.61 4.65 moveto 4.39 4.66 lineto closepath stroke 5.00 5.00 moveto 4.92 4.87 lineto closepath stroke 5.00 5.00 moveto 4.78 5.19 lineto closepath stroke 5.00 5.00 moveto 5.04 5.14 lineto closepath stroke 4.92 4.87 moveto 4.69 4.91 lineto closepath stroke 4.69 4.91 moveto 4.49 5.05 lineto closepath stroke 4.69 4.91 moveto 4.45 4.92 lineto closepath stroke 5.21 5.44 moveto 5.12 5.29 lineto closepath stroke 5.21 5.44 moveto 5.27 5.77 lineto closepath stroke 5.21 5.44 moveto 4.88 5.67 lineto closepath stroke 5.12 5.29 moveto 5.04 5.14 lineto closepath stroke 5.04 5.14 moveto 4.78 5.19 lineto closepath stroke 4.78 5.19 moveto 4.55 5.35 lineto closepath stroke 4.78 5.19 moveto 4.50 5.20 lineto closepath stroke 5.27 5.77 moveto 4.88 5.67 lineto closepath stroke 5.27 5.77 moveto 5.27 6.00 lineto closepath stroke 4.88 5.67 moveto 4.62 6.00 lineto closepath stroke 4.88 5.67 moveto 4.57 5.67 lineto closepath stroke 4.12 3.34 moveto 4.10 3.29 lineto closepath stroke 4.12 3.34 moveto 4.07 3.41 lineto closepath stroke 4.12 3.34 moveto 4.13 3.41 lineto closepath stroke 4.10 3.29 moveto 4.05 3.29 lineto closepath stroke 4.10 3.29 moveto 4.10 3.23 lineto closepath stroke 4.05 3.29 moveto 4.10 3.23 lineto closepath stroke 4.05 3.29 moveto 4.01 3.29 lineto closepath stroke 4.05 3.29 moveto 4.00 3.23 lineto closepath stroke 4.15 3.47 moveto 4.13 3.41 lineto closepath stroke 4.15 3.47 moveto 4.08 3.54 lineto closepath stroke 4.15 3.47 moveto 4.16 3.54 lineto closepath stroke 4.13 3.41 moveto 4.07 3.41 lineto closepath stroke 4.07 3.41 moveto 4.01 3.41 lineto closepath stroke 4.07 3.41 moveto 4.00 3.34 lineto closepath stroke 4.18 3.61 moveto 4.16 3.54 lineto closepath stroke 4.18 3.61 moveto 4.10 3.69 lineto closepath stroke 4.18 3.61 moveto 4.19 3.68 lineto closepath stroke 4.16 3.54 moveto 4.08 3.54 lineto closepath stroke 4.08 3.54 moveto 4.01 3.54 lineto closepath stroke 4.08 3.54 moveto 4.00 3.47 lineto closepath stroke 4.21 3.76 moveto 4.19 3.68 lineto closepath stroke 4.21 3.76 moveto 4.11 3.85 lineto closepath stroke 4.21 3.76 moveto 4.22 3.84 lineto closepath stroke 4.19 3.68 moveto 4.10 3.69 lineto closepath stroke 4.10 3.69 moveto 4.01 3.69 lineto closepath stroke 4.10 3.69 moveto 4.00 3.61 lineto closepath stroke 4.25 3.93 moveto 4.22 3.84 lineto closepath stroke 4.25 3.93 moveto 4.13 4.02 lineto closepath stroke 4.25 3.93 moveto 4.26 4.02 lineto closepath stroke 4.22 3.84 moveto 4.11 3.85 lineto closepath stroke 4.11 3.85 moveto 4.01 3.85 lineto closepath stroke 4.11 3.85 moveto 4.00 3.76 lineto closepath stroke 4.29 4.11 moveto 4.26 4.02 lineto closepath stroke 4.29 4.11 moveto 4.15 4.22 lineto closepath stroke 4.29 4.11 moveto 4.30 4.21 lineto closepath stroke 4.26 4.02 moveto 4.13 4.02 lineto closepath stroke 4.13 4.02 moveto 4.01 4.02 lineto closepath stroke 4.13 4.02 moveto 4.00 3.93 lineto closepath stroke 4.33 4.31 moveto 4.30 4.21 lineto closepath stroke 4.33 4.31 moveto 4.17 4.43 lineto closepath stroke 4.33 4.31 moveto 4.34 4.43 lineto closepath stroke 4.30 4.21 moveto 4.15 4.22 lineto closepath stroke 4.15 4.22 moveto 4.01 4.22 lineto closepath stroke 4.15 4.22 moveto 4.00 4.12 lineto closepath stroke 4.38 4.54 moveto 4.34 4.43 lineto closepath stroke 4.38 4.54 moveto 4.20 4.67 lineto closepath stroke 4.38 4.54 moveto 4.39 4.66 lineto closepath stroke 4.34 4.43 moveto 4.17 4.43 lineto closepath stroke 4.17 4.43 moveto 4.01 4.43 lineto closepath stroke 4.17 4.43 moveto 4.00 4.32 lineto closepath stroke 4.43 4.78 moveto 4.39 4.66 lineto closepath stroke 4.43 4.78 moveto 4.23 4.93 lineto closepath stroke 4.43 4.78 moveto 4.45 4.92 lineto closepath stroke 4.39 4.66 moveto 4.20 4.67 lineto closepath stroke 4.20 4.67 moveto 4.01 4.67 lineto closepath stroke 4.20 4.67 moveto 4.00 4.54 lineto closepath stroke 4.49 5.05 moveto 4.45 4.92 lineto closepath stroke 4.49 5.05 moveto 4.26 5.21 lineto closepath stroke 4.49 5.05 moveto 4.50 5.20 lineto closepath stroke 4.45 4.92 moveto 4.23 4.93 lineto closepath stroke 4.23 4.93 moveto 4.01 4.93 lineto closepath stroke 4.23 4.93 moveto 4.00 4.79 lineto closepath stroke 4.55 5.35 moveto 4.50 5.20 lineto closepath stroke 4.55 5.35 moveto 4.29 5.68 lineto closepath stroke 4.55 5.35 moveto 4.57 5.67 lineto closepath stroke 4.50 5.20 moveto 4.26 5.21 lineto closepath stroke 4.26 5.21 moveto 4.02 5.21 lineto closepath stroke 4.26 5.21 moveto 4.00 5.06 lineto closepath stroke 4.62 6.00 moveto 4.57 5.67 lineto closepath stroke 4.57 5.67 moveto 4.29 5.68 lineto closepath stroke 4.29 5.68 moveto 4.02 5.68 lineto closepath stroke 4.29 5.68 moveto 4.00 5.36 lineto closepath stroke 4.01 3.29 moveto 4.00 3.23 lineto closepath stroke 4.01 3.29 moveto 3.95 3.29 lineto closepath stroke 4.01 3.29 moveto 4.00 3.34 lineto closepath stroke 4.01 3.41 moveto 4.00 3.34 lineto closepath stroke 4.01 3.41 moveto 3.93 3.41 lineto closepath stroke 4.01 3.41 moveto 4.00 3.47 lineto closepath stroke 4.00 3.34 moveto 3.95 3.29 lineto closepath stroke 3.95 3.29 moveto 3.89 3.29 lineto closepath stroke 3.95 3.29 moveto 3.90 3.23 lineto closepath stroke 4.01 3.54 moveto 4.00 3.47 lineto closepath stroke 4.01 3.54 moveto 3.92 3.54 lineto closepath stroke 4.01 3.54 moveto 4.00 3.61 lineto closepath stroke 4.00 3.47 moveto 3.93 3.41 lineto closepath stroke 3.93 3.41 moveto 3.87 3.41 lineto closepath stroke 3.93 3.41 moveto 3.88 3.35 lineto closepath stroke 4.01 3.69 moveto 4.00 3.61 lineto closepath stroke 4.01 3.69 moveto 3.90 3.69 lineto closepath stroke 4.01 3.69 moveto 4.00 3.76 lineto closepath stroke 4.00 3.61 moveto 3.92 3.54 lineto closepath stroke 3.92 3.54 moveto 3.84 3.54 lineto closepath stroke 3.92 3.54 moveto 3.85 3.47 lineto closepath stroke 4.01 3.85 moveto 4.00 3.76 lineto closepath stroke 4.01 3.85 moveto 3.89 3.85 lineto closepath stroke 4.01 3.85 moveto 4.00 3.93 lineto closepath stroke 4.00 3.76 moveto 3.90 3.69 lineto closepath stroke 3.90 3.69 moveto 3.81 3.69 lineto closepath stroke 3.90 3.69 moveto 3.82 3.61 lineto closepath stroke 4.01 4.02 moveto 4.00 3.93 lineto closepath stroke 4.01 4.02 moveto 3.87 4.02 lineto closepath stroke 4.01 4.02 moveto 4.00 4.12 lineto closepath stroke 4.00 3.93 moveto 3.89 3.85 lineto closepath stroke 3.89 3.85 moveto 3.78 3.85 lineto closepath stroke 3.89 3.85 moveto 3.79 3.77 lineto closepath stroke 4.01 4.22 moveto 4.00 4.12 lineto closepath stroke 4.01 4.22 moveto 3.85 4.22 lineto closepath stroke 4.01 4.22 moveto 4.00 4.32 lineto closepath stroke 4.00 4.12 moveto 3.87 4.02 lineto closepath stroke 3.87 4.02 moveto 3.74 4.03 lineto closepath stroke 3.87 4.02 moveto 3.75 3.94 lineto closepath stroke 4.01 4.43 moveto 4.00 4.32 lineto closepath stroke 4.01 4.43 moveto 3.83 4.43 lineto closepath stroke 4.01 4.43 moveto 4.00 4.54 lineto closepath stroke 4.00 4.32 moveto 3.85 4.22 lineto closepath stroke 3.85 4.22 moveto 3.70 4.22 lineto closepath stroke 3.85 4.22 moveto 3.71 4.12 lineto closepath stroke 4.01 4.67 moveto 4.00 4.54 lineto closepath stroke 4.01 4.67 moveto 3.80 4.67 lineto closepath stroke 4.01 4.67 moveto 4.00 4.79 lineto closepath stroke 4.00 4.54 moveto 3.83 4.43 lineto closepath stroke 3.83 4.43 moveto 3.65 4.44 lineto closepath stroke 3.83 4.43 moveto 3.66 4.33 lineto closepath stroke 4.01 4.93 moveto 4.00 4.79 lineto closepath stroke 4.01 4.93 moveto 3.77 4.93 lineto closepath stroke 4.01 4.93 moveto 4.00 5.06 lineto closepath stroke 4.00 4.79 moveto 3.80 4.67 lineto closepath stroke 3.80 4.67 moveto 3.60 4.67 lineto closepath stroke 3.80 4.67 moveto 3.62 4.55 lineto closepath stroke 4.02 5.21 moveto 4.00 5.06 lineto closepath stroke 4.02 5.21 moveto 3.74 5.21 lineto closepath stroke 4.02 5.21 moveto 4.00 5.36 lineto closepath stroke 4.00 5.06 moveto 3.77 4.93 lineto closepath stroke 3.77 4.93 moveto 3.55 4.93 lineto closepath stroke 3.77 4.93 moveto 3.56 4.80 lineto closepath stroke 4.02 5.68 moveto 4.00 5.36 lineto closepath stroke 4.02 5.68 moveto 4.00 6.00 lineto closepath stroke 4.02 5.68 moveto 3.71 5.68 lineto closepath stroke 4.00 5.36 moveto 3.74 5.21 lineto closepath stroke 3.74 5.21 moveto 3.49 5.22 lineto closepath stroke 3.74 5.21 moveto 3.50 5.07 lineto closepath stroke 4.00 6.00 moveto 3.71 5.68 lineto closepath stroke 3.71 5.68 moveto 3.42 5.69 lineto closepath stroke 3.71 5.68 moveto 3.44 5.37 lineto closepath stroke 3.89 3.29 moveto 3.90 3.23 lineto closepath stroke 3.89 3.29 moveto 3.83 3.29 lineto closepath stroke 3.89 3.29 moveto 3.88 3.35 lineto closepath stroke 3.87 3.41 moveto 3.88 3.35 lineto closepath stroke 3.87 3.41 moveto 3.79 3.41 lineto closepath stroke 3.87 3.41 moveto 3.85 3.47 lineto closepath stroke 3.88 3.35 moveto 3.83 3.29 lineto closepath stroke 3.83 3.29 moveto 3.77 3.29 lineto closepath stroke 3.83 3.29 moveto 3.79 3.23 lineto closepath stroke 3.84 3.54 moveto 3.85 3.47 lineto closepath stroke 3.84 3.54 moveto 3.75 3.54 lineto closepath stroke 3.84 3.54 moveto 3.82 3.61 lineto closepath stroke 3.85 3.47 moveto 3.79 3.41 lineto closepath stroke 3.79 3.41 moveto 3.72 3.41 lineto closepath stroke 3.79 3.41 moveto 3.74 3.35 lineto closepath stroke 3.81 3.69 moveto 3.82 3.61 lineto closepath stroke 3.81 3.69 moveto 3.70 3.69 lineto closepath stroke 3.81 3.69 moveto 3.79 3.77 lineto closepath stroke 3.82 3.61 moveto 3.75 3.54 lineto closepath stroke 3.75 3.54 moveto 3.65 3.55 lineto closepath stroke 3.75 3.54 moveto 3.68 3.48 lineto closepath stroke 3.78 3.85 moveto 3.79 3.77 lineto closepath stroke 3.78 3.85 moveto 3.65 3.85 lineto closepath stroke 3.78 3.85 moveto 3.75 3.94 lineto closepath stroke 3.79 3.77 moveto 3.70 3.69 lineto closepath stroke 3.70 3.69 moveto 3.59 3.70 lineto closepath stroke 3.70 3.69 moveto 3.61 3.62 lineto closepath stroke 3.74 4.03 moveto 3.75 3.94 lineto closepath stroke 3.74 4.03 moveto 3.59 4.03 lineto closepath stroke 3.74 4.03 moveto 3.71 4.12 lineto closepath stroke 3.75 3.94 moveto 3.65 3.85 lineto closepath stroke 3.65 3.85 moveto 3.52 3.86 lineto closepath stroke 3.65 3.85 moveto 3.54 3.78 lineto closepath stroke 3.70 4.22 moveto 3.71 4.12 lineto closepath stroke 3.70 4.22 moveto 3.53 4.23 lineto closepath stroke 3.70 4.22 moveto 3.66 4.33 lineto closepath stroke 3.71 4.12 moveto 3.59 4.03 lineto closepath stroke 3.59 4.03 moveto 3.44 4.04 lineto closepath stroke 3.59 4.03 moveto 3.47 3.95 lineto closepath stroke 3.65 4.44 moveto 3.66 4.33 lineto closepath stroke 3.65 4.44 moveto 3.46 4.44 lineto closepath stroke 3.65 4.44 moveto 3.62 4.55 lineto closepath stroke 3.66 4.33 moveto 3.53 4.23 lineto closepath stroke 3.53 4.23 moveto 3.35 4.24 lineto closepath stroke 3.53 4.23 moveto 3.38 4.14 lineto closepath stroke 3.60 4.67 moveto 3.62 4.55 lineto closepath stroke 3.60 4.67 moveto 3.38 4.68 lineto closepath stroke 3.60 4.67 moveto 3.56 4.80 lineto closepath stroke 3.62 4.55 moveto 3.46 4.44 lineto closepath stroke 3.46 4.44 moveto 3.25 4.46 lineto closepath stroke 3.46 4.44 moveto 3.29 4.34 lineto closepath stroke 3.55 4.93 moveto 3.56 4.80 lineto closepath stroke 3.55 4.93 moveto 3.29 4.94 lineto closepath stroke 3.55 4.93 moveto 3.50 5.07 lineto closepath stroke 3.56 4.80 moveto 3.38 4.68 lineto closepath stroke 3.38 4.68 moveto 3.14 4.69 lineto closepath stroke 3.38 4.68 moveto 3.18 4.57 lineto closepath stroke 3.49 5.22 moveto 3.50 5.07 lineto closepath stroke 3.49 5.22 moveto 3.20 5.23 lineto closepath stroke 3.49 5.22 moveto 3.44 5.37 lineto closepath stroke 3.50 5.07 moveto 3.29 4.94 lineto closepath stroke 3.29 4.94 moveto 3.03 4.96 lineto closepath stroke 3.29 4.94 moveto 3.07 4.82 lineto closepath stroke 3.42 5.69 moveto 3.44 5.37 lineto closepath stroke 3.42 5.69 moveto 3.37 6.00 lineto closepath stroke 3.42 5.69 moveto 3.10 5.69 lineto closepath stroke 3.44 5.37 moveto 3.20 5.23 lineto closepath stroke 3.20 5.23 moveto 2.90 5.25 lineto closepath stroke 3.20 5.23 moveto 2.95 5.10 lineto closepath stroke 3.37 6.00 moveto 3.10 5.69 lineto closepath stroke 3.10 5.69 moveto 2.76 5.71 lineto closepath stroke 3.10 5.69 moveto 2.81 5.40 lineto closepath stroke 3.77 3.29 moveto 3.79 3.23 lineto closepath stroke 3.77 3.29 moveto 3.69 3.29 lineto closepath stroke 3.77 3.29 moveto 3.74 3.35 lineto closepath stroke 3.72 3.41 moveto 3.74 3.35 lineto closepath stroke 3.72 3.41 moveto 3.62 3.42 lineto closepath stroke 3.72 3.41 moveto 3.68 3.48 lineto closepath stroke 3.74 3.35 moveto 3.69 3.29 lineto closepath stroke 3.69 3.29 moveto 3.61 3.30 lineto closepath stroke 3.69 3.29 moveto 3.65 3.24 lineto closepath stroke 3.65 3.55 moveto 3.68 3.48 lineto closepath stroke 3.65 3.55 moveto 3.54 3.55 lineto closepath stroke 3.65 3.55 moveto 3.61 3.62 lineto closepath stroke 3.68 3.48 moveto 3.62 3.42 lineto closepath stroke 3.62 3.42 moveto 3.52 3.42 lineto closepath stroke 3.62 3.42 moveto 3.56 3.36 lineto closepath stroke 3.59 3.70 moveto 3.61 3.62 lineto closepath stroke 3.59 3.70 moveto 3.46 3.70 lineto closepath stroke 3.59 3.70 moveto 3.54 3.78 lineto closepath stroke 3.61 3.62 moveto 3.54 3.55 lineto closepath stroke 3.54 3.55 moveto 3.42 3.56 lineto closepath stroke 3.54 3.55 moveto 3.46 3.49 lineto closepath stroke 3.52 3.86 moveto 3.54 3.78 lineto closepath stroke 3.52 3.86 moveto 3.36 3.87 lineto closepath stroke 3.52 3.86 moveto 3.47 3.95 lineto closepath stroke 3.54 3.78 moveto 3.46 3.70 lineto closepath stroke 3.46 3.70 moveto 3.31 3.71 lineto closepath stroke 3.46 3.70 moveto 3.36 3.63 lineto closepath stroke 3.44 4.04 moveto 3.47 3.95 lineto closepath stroke 3.44 4.04 moveto 3.26 4.05 lineto closepath stroke 3.44 4.04 moveto 3.38 4.14 lineto closepath stroke 3.47 3.95 moveto 3.36 3.87 lineto closepath stroke 3.36 3.87 moveto 3.26 3.80 lineto closepath stroke 3.36 3.87 moveto 3.31 3.71 lineto closepath stroke 3.35 4.24 moveto 3.38 4.14 lineto closepath stroke 3.35 4.24 moveto 3.14 4.25 lineto closepath stroke 3.35 4.24 moveto 3.29 4.34 lineto closepath stroke 3.38 4.14 moveto 3.26 4.05 lineto closepath stroke 3.26 4.05 moveto 3.13 3.97 lineto closepath stroke 3.26 4.05 moveto 3.19 3.88 lineto closepath stroke 3.25 4.46 moveto 3.29 4.34 lineto closepath stroke 3.25 4.46 moveto 3.02 4.47 lineto closepath stroke 3.25 4.46 moveto 3.18 4.57 lineto closepath stroke 3.29 4.34 moveto 3.14 4.25 lineto closepath stroke 3.14 4.25 moveto 3.00 4.16 lineto closepath stroke 3.14 4.25 moveto 3.06 4.06 lineto closepath stroke 3.14 4.69 moveto 3.18 4.57 lineto closepath stroke 3.14 4.69 moveto 2.88 4.71 lineto closepath stroke 3.14 4.69 moveto 3.07 4.82 lineto closepath stroke 3.18 4.57 moveto 3.02 4.47 lineto closepath stroke 3.02 4.47 moveto 2.84 4.37 lineto closepath stroke 3.02 4.47 moveto 2.91 4.26 lineto closepath stroke 3.03 4.96 moveto 3.07 4.82 lineto closepath stroke 3.03 4.96 moveto 2.72 4.98 lineto closepath stroke 3.03 4.96 moveto 2.95 5.10 lineto closepath stroke 3.07 4.82 moveto 2.88 4.71 lineto closepath stroke 2.88 4.71 moveto 2.67 4.61 lineto closepath stroke 2.88 4.71 moveto 2.75 4.48 lineto closepath stroke 2.90 5.25 moveto 2.95 5.10 lineto closepath stroke 2.90 5.25 moveto 2.55 5.27 lineto closepath stroke 2.90 5.25 moveto 2.81 5.40 lineto closepath stroke 2.95 5.10 moveto 2.72 4.98 lineto closepath stroke 2.72 4.98 moveto 2.49 4.86 lineto closepath stroke 2.72 4.98 moveto 2.57 4.72 lineto closepath stroke 2.76 5.71 moveto 2.81 5.40 lineto closepath stroke 2.76 5.71 moveto 2.66 6.00 lineto closepath stroke 2.76 5.71 moveto 2.37 5.71 lineto closepath stroke 2.81 5.40 moveto 2.55 5.27 lineto closepath stroke 2.55 5.27 moveto 2.28 5.14 lineto closepath stroke 2.55 5.27 moveto 2.37 4.99 lineto closepath stroke 2.66 6.00 moveto 2.37 5.71 lineto closepath stroke 2.37 5.71 moveto 1.92 5.73 lineto closepath stroke 2.37 5.71 moveto 2.02 5.44 lineto closepath stroke 3.61 3.30 moveto 3.65 3.24 lineto closepath stroke 3.61 3.30 moveto 3.51 3.30 lineto closepath stroke 3.61 3.30 moveto 3.56 3.36 lineto closepath stroke 3.52 3.42 moveto 3.56 3.36 lineto closepath stroke 3.52 3.42 moveto 3.40 3.43 lineto closepath stroke 3.52 3.42 moveto 3.46 3.49 lineto closepath stroke 3.56 3.36 moveto 3.51 3.30 lineto closepath stroke 3.51 3.30 moveto 3.41 3.30 lineto closepath stroke 3.51 3.30 moveto 3.46 3.24 lineto closepath stroke 3.42 3.56 moveto 3.46 3.49 lineto closepath stroke 3.42 3.56 moveto 3.28 3.56 lineto closepath stroke 3.42 3.56 moveto 3.36 3.63 lineto closepath stroke 3.46 3.49 moveto 3.40 3.43 lineto closepath stroke 3.40 3.43 moveto 3.35 3.36 lineto closepath stroke 3.40 3.43 moveto 3.41 3.30 lineto closepath stroke 3.31 3.71 moveto 3.36 3.63 lineto closepath stroke 3.31 3.71 moveto 3.26 3.80 lineto closepath stroke 3.36 3.63 moveto 3.28 3.56 lineto closepath stroke 3.28 3.56 moveto 3.20 3.49 lineto closepath stroke 3.28 3.56 moveto 3.27 3.42 lineto closepath stroke 3.26 3.80 moveto 3.14 3.72 lineto closepath stroke 3.26 3.80 moveto 3.19 3.88 lineto closepath stroke 3.13 3.97 moveto 3.19 3.88 lineto closepath stroke 3.13 3.97 moveto 2.99 3.88 lineto closepath stroke 3.13 3.97 moveto 3.06 4.06 lineto closepath stroke 3.19 3.88 moveto 3.14 3.72 lineto closepath stroke 3.14 3.72 moveto 3.04 3.64 lineto closepath stroke 3.14 3.72 moveto 3.11 3.56 lineto closepath stroke 3.00 4.16 moveto 3.06 4.06 lineto closepath stroke 3.00 4.16 moveto 2.82 4.07 lineto closepath stroke 3.00 4.16 moveto 2.91 4.26 lineto closepath stroke 3.06 4.06 moveto 2.99 3.88 lineto closepath stroke 2.99 3.88 moveto 2.86 3.80 lineto closepath stroke 2.99 3.88 moveto 2.94 3.71 lineto closepath stroke 2.84 4.37 moveto 2.91 4.26 lineto closepath stroke 2.84 4.37 moveto 2.64 4.27 lineto closepath stroke 2.84 4.37 moveto 2.75 4.48 lineto closepath stroke 2.91 4.26 moveto 2.82 4.07 lineto closepath stroke 2.82 4.07 moveto 2.67 3.97 lineto closepath stroke 2.82 4.07 moveto 2.75 3.88 lineto closepath stroke 2.67 4.61 moveto 2.75 4.48 lineto closepath stroke 2.67 4.61 moveto 2.44 4.49 lineto closepath stroke 2.67 4.61 moveto 2.57 4.72 lineto closepath stroke 2.75 4.48 moveto 2.64 4.27 lineto closepath stroke 2.64 4.27 moveto 2.45 4.17 lineto closepath stroke 2.64 4.27 moveto 2.55 4.06 lineto closepath stroke 2.49 4.86 moveto 2.57 4.72 lineto closepath stroke 2.49 4.86 moveto 2.22 4.74 lineto closepath stroke 2.49 4.86 moveto 2.37 4.99 lineto closepath stroke 2.57 4.72 moveto 2.44 4.49 lineto closepath stroke 2.44 4.49 moveto 2.22 4.38 lineto closepath stroke 2.44 4.49 moveto 2.32 4.26 lineto closepath stroke 2.28 5.14 moveto 2.37 4.99 lineto closepath stroke 2.28 5.14 moveto 1.97 5.01 lineto closepath stroke 2.28 5.14 moveto 2.16 5.29 lineto closepath stroke 2.37 4.99 moveto 2.22 4.74 lineto closepath stroke 2.22 4.74 moveto 1.96 4.61 lineto closepath stroke 2.22 4.74 moveto 2.07 4.48 lineto closepath stroke 1.97 5.01 moveto 2.16 5.29 lineto closepath stroke 1.97 5.01 moveto 1.67 4.87 lineto closepath stroke 1.97 5.01 moveto 1.80 4.72 lineto closepath stroke 2.16 5.29 moveto 1.71 5.31 lineto closepath stroke 2.16 5.29 moveto 2.02 5.44 lineto closepath stroke 1.92 5.73 moveto 2.02 5.44 lineto closepath stroke 1.92 5.73 moveto 1.77 6.00 lineto closepath stroke 1.92 5.73 moveto 1.41 5.73 lineto closepath stroke 2.02 5.44 moveto 1.71 5.31 lineto closepath stroke 1.71 5.31 moveto 1.36 5.15 lineto closepath stroke 1.71 5.31 moveto 1.50 4.99 lineto closepath stroke 1.77 6.00 moveto 1.41 5.73 lineto closepath stroke 1.41 5.73 moveto 1.02 5.56 lineto closepath stroke 1.41 5.73 moveto 1.17 5.29 lineto closepath stroke 3.41 3.30 moveto 3.46 3.24 lineto closepath stroke 3.41 3.30 moveto 3.35 3.36 lineto closepath stroke 3.35 3.36 moveto 3.27 3.29 lineto closepath stroke 3.35 3.36 moveto 3.27 3.42 lineto closepath stroke 3.20 3.49 moveto 3.27 3.42 lineto closepath stroke 3.20 3.49 moveto 3.10 3.42 lineto closepath stroke 3.20 3.49 moveto 3.11 3.56 lineto closepath stroke 3.27 3.42 moveto 3.27 3.29 lineto closepath stroke 3.27 3.29 moveto 3.13 3.28 lineto closepath stroke 3.27 3.29 moveto 3.21 3.22 lineto closepath stroke 3.04 3.64 moveto 3.11 3.56 lineto closepath stroke 3.04 3.64 moveto 2.91 3.55 lineto closepath stroke 3.04 3.64 moveto 2.94 3.71 lineto closepath stroke 3.11 3.56 moveto 3.10 3.42 lineto closepath stroke 3.10 3.42 moveto 3.04 3.35 lineto closepath stroke 3.10 3.42 moveto 3.13 3.28 lineto closepath stroke 2.86 3.80 moveto 2.94 3.71 lineto closepath stroke 2.86 3.80 moveto 2.71 3.70 lineto closepath stroke 2.86 3.80 moveto 2.75 3.88 lineto closepath stroke 2.94 3.71 moveto 2.91 3.55 lineto closepath stroke 2.91 3.55 moveto 2.82 3.47 lineto closepath stroke 2.91 3.55 moveto 2.92 3.40 lineto closepath stroke 2.67 3.97 moveto 2.75 3.88 lineto closepath stroke 2.67 3.97 moveto 2.48 3.87 lineto closepath stroke 2.67 3.97 moveto 2.55 4.06 lineto closepath stroke 2.75 3.88 moveto 2.71 3.70 lineto closepath stroke 2.71 3.70 moveto 2.59 3.60 lineto closepath stroke 2.71 3.70 moveto 2.70 3.53 lineto closepath stroke 2.45 4.17 moveto 2.55 4.06 lineto closepath stroke 2.45 4.17 moveto 2.23 4.05 lineto closepath stroke 2.45 4.17 moveto 2.32 4.26 lineto closepath stroke 2.55 4.06 moveto 2.48 3.87 lineto closepath stroke 2.48 3.87 moveto 2.33 3.75 lineto closepath stroke 2.48 3.87 moveto 2.45 3.67 lineto closepath stroke 2.22 4.38 moveto 2.32 4.26 lineto closepath stroke 2.22 4.38 moveto 1.96 4.25 lineto closepath stroke 2.22 4.38 moveto 2.07 4.48 lineto closepath stroke 2.32 4.26 moveto 2.23 4.05 lineto closepath stroke 2.23 4.05 moveto 2.04 3.92 lineto closepath stroke 2.23 4.05 moveto 2.17 3.82 lineto closepath stroke 1.96 4.61 moveto 2.07 4.48 lineto closepath stroke 1.96 4.61 moveto 1.66 4.47 lineto closepath stroke 1.96 4.61 moveto 1.80 4.72 lineto closepath stroke 2.07 4.48 moveto 1.96 4.25 lineto closepath stroke 1.96 4.25 moveto 1.73 4.10 lineto closepath stroke 1.96 4.25 moveto 1.87 3.99 lineto closepath stroke 1.67 4.87 moveto 1.80 4.72 lineto closepath stroke 1.67 4.87 moveto 1.33 4.71 lineto closepath stroke 1.67 4.87 moveto 1.50 4.99 lineto closepath stroke 1.80 4.72 moveto 1.66 4.47 lineto closepath stroke 1.66 4.47 moveto 1.38 4.30 lineto closepath stroke 1.66 4.47 moveto 1.54 4.18 lineto closepath stroke 1.36 5.15 moveto 1.50 4.99 lineto closepath stroke 1.36 5.15 moveto 0.96 4.97 lineto closepath stroke 1.36 5.15 moveto 1.17 5.29 lineto closepath stroke 1.50 4.99 moveto 1.33 4.71 lineto closepath stroke 1.33 4.71 moveto 1.00 4.51 lineto closepath stroke 1.33 4.71 moveto 1.18 4.39 lineto closepath stroke 1.02 5.56 moveto 1.17 5.29 lineto closepath stroke 1.02 5.56 moveto 0.63 6.00 lineto closepath stroke 1.02 5.56 moveto 0.39 5.56 lineto closepath stroke 1.17 5.29 moveto 0.96 4.97 lineto closepath stroke 0.96 4.97 moveto 0.81 4.65 lineto closepath stroke 0.96 4.97 moveto 1.00 4.51 lineto closepath stroke 0.63 6.00 moveto 0.39 5.56 lineto closepath stroke 0.39 5.56 moveto 0.00 5.71 lineto closepath stroke 0.39 5.56 moveto 0.39 5.26 lineto closepath stroke 0.00 5.71 moveto 0.39 5.26 lineto closepath stroke 0.39 5.26 moveto 0.39 4.75 lineto closepath stroke 0.39 5.26 moveto 0.00 4.91 lineto closepath stroke 3.13 3.28 moveto 3.21 3.22 lineto closepath stroke 3.13 3.28 moveto 3.04 3.35 lineto closepath stroke 3.04 3.35 moveto 2.95 3.26 lineto closepath stroke 3.04 3.35 moveto 2.92 3.40 lineto closepath stroke 2.82 3.47 moveto 2.92 3.40 lineto closepath stroke 2.82 3.47 moveto 2.70 3.37 lineto closepath stroke 2.82 3.47 moveto 2.70 3.53 lineto closepath stroke 2.92 3.40 moveto 2.95 3.26 lineto closepath stroke 2.95 3.26 moveto 2.77 3.22 lineto closepath stroke 2.95 3.26 moveto 2.89 3.17 lineto closepath stroke 2.59 3.60 moveto 2.70 3.53 lineto closepath stroke 2.59 3.60 moveto 2.43 3.49 lineto closepath stroke 2.59 3.60 moveto 2.45 3.67 lineto closepath stroke 2.70 3.53 moveto 2.70 3.37 lineto closepath stroke 2.70 3.37 moveto 2.64 3.28 lineto closepath stroke 2.70 3.37 moveto 2.77 3.22 lineto closepath stroke 2.33 3.75 moveto 2.45 3.67 lineto closepath stroke 2.33 3.75 moveto 2.14 3.62 lineto closepath stroke 2.33 3.75 moveto 2.17 3.82 lineto closepath stroke 2.45 3.67 moveto 2.43 3.49 lineto closepath stroke 2.43 3.49 moveto 2.34 3.38 lineto closepath stroke 2.43 3.49 moveto 2.48 3.32 lineto closepath stroke 2.04 3.92 moveto 2.17 3.82 lineto closepath stroke 2.04 3.92 moveto 1.81 3.77 lineto closepath stroke 2.04 3.92 moveto 1.87 3.99 lineto closepath stroke 2.17 3.82 moveto 2.14 3.62 lineto closepath stroke 2.14 3.62 moveto 2.00 3.49 lineto closepath stroke 2.14 3.62 moveto 2.16 3.42 lineto closepath stroke 1.73 4.10 moveto 1.87 3.99 lineto closepath stroke 1.73 4.10 moveto 1.45 3.93 lineto closepath stroke 1.73 4.10 moveto 1.54 4.18 lineto closepath stroke 1.87 3.99 moveto 1.81 3.77 lineto closepath stroke 1.81 3.77 moveto 1.64 3.60 lineto closepath stroke 1.81 3.77 moveto 1.81 3.53 lineto closepath stroke 1.38 4.30 moveto 1.54 4.18 lineto closepath stroke 1.38 4.30 moveto 1.06 4.10 lineto closepath stroke 1.38 4.30 moveto 1.18 4.39 lineto closepath stroke 1.54 4.18 moveto 1.45 3.93 lineto closepath stroke 1.45 3.93 moveto 1.23 3.73 lineto closepath stroke 1.45 3.93 moveto 1.42 3.65 lineto closepath stroke 0.81 4.65 moveto 1.00 4.51 lineto closepath stroke 0.81 4.65 moveto 0.39 4.75 lineto closepath stroke 0.81 4.65 moveto 0.43 4.30 lineto closepath stroke 1.00 4.51 moveto 1.18 4.39 lineto closepath stroke 1.18 4.39 moveto 1.06 4.10 lineto closepath stroke 1.06 4.10 moveto 0.79 3.88 lineto closepath stroke 1.06 4.10 moveto 1.00 3.78 lineto closepath stroke 0.39 4.75 moveto 0.43 4.30 lineto closepath stroke 0.39 4.75 moveto 0.00 4.91 lineto closepath stroke 0.43 4.30 moveto 0.00 4.03 lineto closepath stroke 0.43 4.30 moveto 0.43 3.93 lineto closepath stroke 2.77 3.22 moveto 2.89 3.17 lineto closepath stroke 2.77 3.22 moveto 2.64 3.28 lineto closepath stroke 2.64 3.28 moveto 2.54 3.17 lineto closepath stroke 2.64 3.28 moveto 2.48 3.32 lineto closepath stroke 2.34 3.38 moveto 2.48 3.32 lineto closepath stroke 2.34 3.38 moveto 2.20 3.24 lineto closepath stroke 2.34 3.38 moveto 2.16 3.42 lineto closepath stroke 2.48 3.32 moveto 2.54 3.17 lineto closepath stroke 2.54 3.17 moveto 2.33 3.10 lineto closepath stroke 2.54 3.17 moveto 2.49 3.07 lineto closepath stroke 2.00 3.49 moveto 2.16 3.42 lineto closepath stroke 2.00 3.49 moveto 1.83 3.32 lineto closepath stroke 2.00 3.49 moveto 1.81 3.53 lineto closepath stroke 2.16 3.42 moveto 2.20 3.24 lineto closepath stroke 2.20 3.24 moveto 2.15 3.14 lineto closepath stroke 2.20 3.24 moveto 2.33 3.10 lineto closepath stroke 1.64 3.60 moveto 1.81 3.53 lineto closepath stroke 1.64 3.60 moveto 1.42 3.41 lineto closepath stroke 1.64 3.60 moveto 1.42 3.65 lineto closepath stroke 1.81 3.53 moveto 1.83 3.32 lineto closepath stroke 1.83 3.32 moveto 1.74 3.18 lineto closepath stroke 1.83 3.32 moveto 1.94 3.14 lineto closepath stroke 1.23 3.73 moveto 1.42 3.65 lineto closepath stroke 1.23 3.73 moveto 0.96 3.51 lineto closepath stroke 1.23 3.73 moveto 1.00 3.78 lineto closepath stroke 1.42 3.65 moveto 1.42 3.41 lineto closepath stroke 1.42 3.41 moveto 1.29 3.23 lineto closepath stroke 1.42 3.41 moveto 1.50 3.18 lineto closepath stroke 0.79 3.88 moveto 1.00 3.78 lineto closepath stroke 0.79 3.88 moveto 0.36 3.61 lineto closepath stroke 0.79 3.88 moveto 0.43 3.93 lineto closepath stroke 1.00 3.78 moveto 0.96 3.51 lineto closepath stroke 0.96 3.51 moveto 0.79 3.28 lineto closepath stroke 0.96 3.51 moveto 1.03 3.23 lineto closepath stroke 0.00 4.03 moveto 0.43 3.93 lineto closepath stroke 0.43 3.93 moveto 0.36 3.61 lineto closepath stroke 0.36 3.61 moveto 0.00 3.33 lineto closepath stroke 0.36 3.61 moveto 0.36 3.28 lineto closepath stroke 2.33 3.10 moveto 2.49 3.07 lineto closepath stroke 2.33 3.10 moveto 2.15 3.14 lineto closepath stroke 2.15 3.14 moveto 2.06 3.00 lineto closepath stroke 2.15 3.14 moveto 1.94 3.14 lineto closepath stroke 1.74 3.18 moveto 1.94 3.14 lineto closepath stroke 1.74 3.18 moveto 1.61 3.00 lineto closepath stroke 1.74 3.18 moveto 1.50 3.18 lineto closepath stroke 1.94 3.14 moveto 2.06 3.00 lineto closepath stroke 2.06 3.00 moveto 1.94 2.86 lineto closepath stroke 2.06 3.00 moveto 2.15 2.86 lineto closepath stroke 1.29 3.23 moveto 1.50 3.18 lineto closepath stroke 1.29 3.23 moveto 1.12 3.00 lineto closepath stroke 1.29 3.23 moveto 1.03 3.23 lineto closepath stroke 1.50 3.18 moveto 1.61 3.00 lineto closepath stroke 1.61 3.00 moveto 1.50 2.82 lineto closepath stroke 1.61 3.00 moveto 1.74 2.82 lineto closepath stroke 0.79 3.28 moveto 1.03 3.23 lineto closepath stroke 0.79 3.28 moveto 0.43 3.00 lineto closepath stroke 0.79 3.28 moveto 0.36 3.28 lineto closepath stroke 1.03 3.23 moveto 1.12 3.00 lineto closepath stroke 1.12 3.00 moveto 1.03 2.77 lineto closepath stroke 1.12 3.00 moveto 1.29 2.77 lineto closepath stroke 0.00 3.33 moveto 0.36 3.28 lineto closepath stroke 0.36 3.28 moveto 0.43 3.00 lineto closepath stroke 0.43 3.00 moveto 0.36 2.72 lineto closepath stroke 0.43 3.00 moveto 0.79 2.72 lineto closepath stroke 5.85 2.85 moveto 6.00 2.85 lineto closepath stroke 5.85 2.85 moveto 5.85 2.70 lineto closepath stroke 5.85 2.85 moveto 5.61 2.85 lineto closepath stroke 6.00 2.85 moveto 5.85 2.70 lineto closepath stroke 5.85 2.70 moveto 6.00 2.51 lineto closepath stroke 5.85 2.70 moveto 5.85 2.51 lineto closepath stroke 2.54 2.83 moveto 2.33 2.90 lineto closepath stroke 2.54 2.83 moveto 2.49 2.93 lineto closepath stroke 2.54 2.83 moveto 2.64 2.72 lineto closepath stroke 2.54 2.83 moveto 2.48 2.68 lineto closepath stroke 2.33 2.90 moveto 2.49 2.93 lineto closepath stroke 2.33 2.90 moveto 2.20 2.76 lineto closepath stroke 2.33 2.90 moveto 2.15 2.86 lineto closepath stroke 1.94 2.86 moveto 2.15 2.86 lineto closepath stroke 1.94 2.86 moveto 1.83 2.68 lineto closepath stroke 1.94 2.86 moveto 1.74 2.82 lineto closepath stroke 2.15 2.86 moveto 2.20 2.76 lineto closepath stroke 2.20 2.76 moveto 2.16 2.58 lineto closepath stroke 2.20 2.76 moveto 2.34 2.62 lineto closepath stroke 1.50 2.82 moveto 1.74 2.82 lineto closepath stroke 1.50 2.82 moveto 1.42 2.59 lineto closepath stroke 1.50 2.82 moveto 1.29 2.77 lineto closepath stroke 1.74 2.82 moveto 1.83 2.68 lineto closepath stroke 1.83 2.68 moveto 1.81 2.47 lineto closepath stroke 1.83 2.68 moveto 2.00 2.51 lineto closepath stroke 1.03 2.77 moveto 1.29 2.77 lineto closepath stroke 1.03 2.77 moveto 0.96 2.49 lineto closepath stroke 1.03 2.77 moveto 0.79 2.72 lineto closepath stroke 1.29 2.77 moveto 1.42 2.59 lineto closepath stroke 1.42 2.59 moveto 1.42 2.35 lineto closepath stroke 1.42 2.59 moveto 1.64 2.40 lineto closepath stroke 0.36 2.72 moveto 0.79 2.72 lineto closepath stroke 0.36 2.72 moveto 0.00 2.67 lineto closepath stroke 0.36 2.72 moveto 0.36 2.39 lineto closepath stroke 0.79 2.72 moveto 0.96 2.49 lineto closepath stroke 0.96 2.49 moveto 1.00 2.22 lineto closepath stroke 0.96 2.49 moveto 1.23 2.27 lineto closepath stroke 0.00 2.67 moveto 0.36 2.39 lineto closepath stroke 0.36 2.39 moveto 0.43 2.07 lineto closepath stroke 0.36 2.39 moveto 0.79 2.12 lineto closepath stroke 6.00 2.51 moveto 5.85 2.51 lineto closepath stroke 5.85 2.51 moveto 5.63 2.56 lineto closepath stroke 5.85 2.51 moveto 5.78 2.37 lineto closepath stroke 5.61 2.85 moveto 5.59 2.72 lineto closepath stroke 5.61 2.85 moveto 5.49 2.87 lineto closepath stroke 2.77 2.78 moveto 2.89 2.83 lineto closepath stroke 2.77 2.78 moveto 2.95 2.74 lineto closepath stroke 2.77 2.78 moveto 2.64 2.72 lineto closepath stroke 2.77 2.78 moveto 2.70 2.63 lineto closepath stroke 2.89 2.83 moveto 2.95 2.74 lineto closepath stroke 2.95 2.74 moveto 3.04 2.65 lineto closepath stroke 2.95 2.74 moveto 2.92 2.60 lineto closepath stroke 2.64 2.72 moveto 2.70 2.63 lineto closepath stroke 2.64 2.72 moveto 2.48 2.68 lineto closepath stroke 2.70 2.63 moveto 2.82 2.53 lineto closepath stroke 2.70 2.63 moveto 2.70 2.47 lineto closepath stroke 2.48 2.68 moveto 2.43 2.51 lineto closepath stroke 2.48 2.68 moveto 2.34 2.62 lineto closepath stroke 2.16 2.58 moveto 2.34 2.62 lineto closepath stroke 2.16 2.58 moveto 2.14 2.38 lineto closepath stroke 2.16 2.58 moveto 2.00 2.51 lineto closepath stroke 2.34 2.62 moveto 2.43 2.51 lineto closepath stroke 2.43 2.51 moveto 2.59 2.40 lineto closepath stroke 2.43 2.51 moveto 2.45 2.33 lineto closepath stroke 1.81 2.47 moveto 2.00 2.51 lineto closepath stroke 1.81 2.47 moveto 1.81 2.23 lineto closepath stroke 1.81 2.47 moveto 1.64 2.40 lineto closepath stroke 2.00 2.51 moveto 2.14 2.38 lineto closepath stroke 2.14 2.38 moveto 2.33 2.25 lineto closepath stroke 2.14 2.38 moveto 2.17 2.18 lineto closepath stroke 1.42 2.35 moveto 1.64 2.40 lineto closepath stroke 1.42 2.35 moveto 1.45 2.07 lineto closepath stroke 1.42 2.35 moveto 1.23 2.27 lineto closepath stroke 1.64 2.40 moveto 1.81 2.23 lineto closepath stroke 1.81 2.23 moveto 2.04 2.08 lineto closepath stroke 1.81 2.23 moveto 1.87 2.01 lineto closepath stroke 1.00 2.22 moveto 1.23 2.27 lineto closepath stroke 1.00 2.22 moveto 1.06 1.90 lineto closepath stroke 1.00 2.22 moveto 0.79 2.12 lineto closepath stroke 1.23 2.27 moveto 1.45 2.07 lineto closepath stroke 1.45 2.07 moveto 1.54 1.82 lineto closepath stroke 1.45 2.07 moveto 1.73 1.90 lineto closepath stroke 0.43 2.07 moveto 0.79 2.12 lineto closepath stroke 0.43 2.07 moveto 0.00 1.97 lineto closepath stroke 0.43 2.07 moveto 0.43 1.70 lineto closepath stroke 0.79 2.12 moveto 1.06 1.90 lineto closepath stroke 1.06 1.90 moveto 1.18 1.61 lineto closepath stroke 1.06 1.90 moveto 1.38 1.70 lineto closepath stroke 0.00 1.97 moveto 0.43 1.70 lineto closepath stroke 0.43 1.70 moveto 0.39 1.25 lineto closepath stroke 0.43 1.70 moveto 0.81 1.35 lineto closepath stroke 5.59 2.72 moveto 5.49 2.87 lineto closepath stroke 5.59 2.72 moveto 5.63 2.56 lineto closepath stroke 5.59 2.72 moveto 5.51 2.59 lineto closepath stroke 5.49 2.87 moveto 5.38 2.87 lineto closepath stroke 5.63 2.56 moveto 5.51 2.59 lineto closepath stroke 5.63 2.56 moveto 5.78 2.37 lineto closepath stroke 5.51 2.59 moveto 5.45 2.47 lineto closepath stroke 5.51 2.59 moveto 5.41 2.64 lineto closepath stroke 5.78 2.37 moveto 5.54 2.24 lineto closepath stroke 5.78 2.37 moveto 5.76 2.19 lineto closepath stroke 3.13 2.72 moveto 3.21 2.78 lineto closepath stroke 3.13 2.72 moveto 3.27 2.71 lineto closepath stroke 3.13 2.72 moveto 3.04 2.65 lineto closepath stroke 3.13 2.72 moveto 3.10 2.58 lineto closepath stroke 3.21 2.78 moveto 3.27 2.71 lineto closepath stroke 3.27 2.71 moveto 3.35 2.64 lineto closepath stroke 3.27 2.71 moveto 3.27 2.58 lineto closepath stroke 3.04 2.65 moveto 3.10 2.58 lineto closepath stroke 3.04 2.65 moveto 2.92 2.60 lineto closepath stroke 3.10 2.58 moveto 3.20 2.51 lineto closepath stroke 3.10 2.58 moveto 3.11 2.44 lineto closepath stroke 2.92 2.60 moveto 2.82 2.53 lineto closepath stroke 2.92 2.60 moveto 2.91 2.45 lineto closepath stroke 2.82 2.53 moveto 2.91 2.45 lineto closepath stroke 2.82 2.53 moveto 2.70 2.47 lineto closepath stroke 2.91 2.45 moveto 3.04 2.36 lineto closepath stroke 2.91 2.45 moveto 2.94 2.29 lineto closepath stroke 2.70 2.47 moveto 2.59 2.40 lineto closepath stroke 2.70 2.47 moveto 2.71 2.30 lineto closepath stroke 2.59 2.40 moveto 2.71 2.30 lineto closepath stroke 2.59 2.40 moveto 2.45 2.33 lineto closepath stroke 2.71 2.30 moveto 2.86 2.20 lineto closepath stroke 2.71 2.30 moveto 2.75 2.12 lineto closepath stroke 2.45 2.33 moveto 2.33 2.25 lineto closepath stroke 2.45 2.33 moveto 2.48 2.13 lineto closepath stroke 2.33 2.25 moveto 2.48 2.13 lineto closepath stroke 2.33 2.25 moveto 2.17 2.18 lineto closepath stroke 2.48 2.13 moveto 2.67 2.03 lineto closepath stroke 2.48 2.13 moveto 2.55 1.94 lineto closepath stroke 2.17 2.18 moveto 2.04 2.08 lineto closepath stroke 2.17 2.18 moveto 2.23 1.95 lineto closepath stroke 2.04 2.08 moveto 2.23 1.95 lineto closepath stroke 2.04 2.08 moveto 1.87 2.01 lineto closepath stroke 2.23 1.95 moveto 2.45 1.83 lineto closepath stroke 2.23 1.95 moveto 2.32 1.74 lineto closepath stroke 1.87 2.01 moveto 1.96 1.75 lineto closepath stroke 1.87 2.01 moveto 1.73 1.90 lineto closepath stroke 1.54 1.82 moveto 1.73 1.90 lineto closepath stroke 1.54 1.82 moveto 1.66 1.53 lineto closepath stroke 1.54 1.82 moveto 1.38 1.70 lineto closepath stroke 1.73 1.90 moveto 1.96 1.75 lineto closepath stroke 1.96 1.75 moveto 2.22 1.62 lineto closepath stroke 1.96 1.75 moveto 2.07 1.52 lineto closepath stroke 1.18 1.61 moveto 1.38 1.70 lineto closepath stroke 1.18 1.61 moveto 1.00 1.49 lineto closepath stroke 1.18 1.61 moveto 1.33 1.29 lineto closepath stroke 1.38 1.70 moveto 1.66 1.53 lineto closepath stroke 1.66 1.53 moveto 1.96 1.39 lineto closepath stroke 1.66 1.53 moveto 1.80 1.28 lineto closepath stroke 1.00 1.49 moveto 1.33 1.29 lineto closepath stroke 1.00 1.49 moveto 0.96 1.03 lineto closepath stroke 1.00 1.49 moveto 0.81 1.35 lineto closepath stroke 1.33 1.29 moveto 1.67 1.13 lineto closepath stroke 1.33 1.29 moveto 1.50 1.01 lineto closepath stroke 0.39 1.25 moveto 0.81 1.35 lineto closepath stroke 0.39 1.25 moveto 0.00 1.09 lineto closepath stroke 0.39 1.25 moveto 0.39 0.74 lineto closepath stroke 0.81 1.35 moveto 0.96 1.03 lineto closepath stroke 0.96 1.03 moveto 1.36 0.85 lineto closepath stroke 0.96 1.03 moveto 1.17 0.71 lineto closepath stroke 0.00 1.09 moveto 0.39 0.74 lineto closepath stroke 0.39 0.74 moveto 0.00 0.29 lineto closepath stroke 0.39 0.74 moveto 0.39 0.44 lineto closepath stroke 0.00 0.29 moveto 0.39 0.44 lineto closepath stroke 0.39 0.44 moveto 1.02 0.44 lineto closepath stroke 0.39 0.44 moveto 0.63 0.00 lineto closepath stroke 5.38 2.87 moveto 5.36 2.77 lineto closepath stroke 5.38 2.87 moveto 5.28 2.90 lineto closepath stroke 3.46 2.76 moveto 3.51 2.70 lineto closepath stroke 3.46 2.76 moveto 3.41 2.70 lineto closepath stroke 3.51 2.70 moveto 3.41 2.70 lineto closepath stroke 3.51 2.70 moveto 3.61 2.70 lineto closepath stroke 3.51 2.70 moveto 3.56 2.64 lineto closepath stroke 3.41 2.70 moveto 3.40 2.57 lineto closepath stroke 3.41 2.70 moveto 3.35 2.64 lineto closepath stroke 3.35 2.64 moveto 3.27 2.58 lineto closepath stroke 3.35 2.64 moveto 3.40 2.57 lineto closepath stroke 3.27 2.58 moveto 3.20 2.51 lineto closepath stroke 3.27 2.58 moveto 3.28 2.44 lineto closepath stroke 3.40 2.57 moveto 3.52 2.58 lineto closepath stroke 3.40 2.57 moveto 3.46 2.51 lineto closepath stroke 3.20 2.51 moveto 3.28 2.44 lineto closepath stroke 3.20 2.51 moveto 3.11 2.44 lineto closepath stroke 3.28 2.44 moveto 3.42 2.44 lineto closepath stroke 3.28 2.44 moveto 3.36 2.37 lineto closepath stroke 3.11 2.44 moveto 3.04 2.36 lineto closepath stroke 3.11 2.44 moveto 3.14 2.28 lineto closepath stroke 3.04 2.36 moveto 3.14 2.28 lineto closepath stroke 3.04 2.36 moveto 2.94 2.29 lineto closepath stroke 3.14 2.28 moveto 3.26 2.20 lineto closepath stroke 3.14 2.28 moveto 3.19 2.12 lineto closepath stroke 2.94 2.29 moveto 2.86 2.20 lineto closepath stroke 2.94 2.29 moveto 2.99 2.12 lineto closepath stroke 2.86 2.20 moveto 2.99 2.12 lineto closepath stroke 2.86 2.20 moveto 2.75 2.12 lineto closepath stroke 2.99 2.12 moveto 3.13 2.03 lineto closepath stroke 2.99 2.12 moveto 3.06 1.94 lineto closepath stroke 2.75 2.12 moveto 2.67 2.03 lineto closepath stroke 2.75 2.12 moveto 2.82 1.93 lineto closepath stroke 2.67 2.03 moveto 2.82 1.93 lineto closepath stroke 2.67 2.03 moveto 2.55 1.94 lineto closepath stroke 2.82 1.93 moveto 3.00 1.84 lineto closepath stroke 2.82 1.93 moveto 2.91 1.74 lineto closepath stroke 2.55 1.94 moveto 2.45 1.83 lineto closepath stroke 2.55 1.94 moveto 2.64 1.73 lineto closepath stroke 2.45 1.83 moveto 2.64 1.73 lineto closepath stroke 2.45 1.83 moveto 2.32 1.74 lineto closepath stroke 2.64 1.73 moveto 2.84 1.63 lineto closepath stroke 2.64 1.73 moveto 2.75 1.52 lineto closepath stroke 2.32 1.74 moveto 2.22 1.62 lineto closepath stroke 2.32 1.74 moveto 2.44 1.51 lineto closepath stroke 2.22 1.62 moveto 2.44 1.51 lineto closepath stroke 2.22 1.62 moveto 2.07 1.52 lineto closepath stroke 2.44 1.51 moveto 2.67 1.39 lineto closepath stroke 2.44 1.51 moveto 2.57 1.28 lineto closepath stroke 2.07 1.52 moveto 1.96 1.39 lineto closepath stroke 2.07 1.52 moveto 2.22 1.26 lineto closepath stroke 1.96 1.39 moveto 2.22 1.26 lineto closepath stroke 1.96 1.39 moveto 1.80 1.28 lineto closepath stroke 2.22 1.26 moveto 2.49 1.14 lineto closepath stroke 2.22 1.26 moveto 2.37 1.01 lineto closepath stroke 1.80 1.28 moveto 1.67 1.13 lineto closepath stroke 1.80 1.28 moveto 1.97 0.99 lineto closepath stroke 1.67 1.13 moveto 1.97 0.99 lineto closepath stroke 1.67 1.13 moveto 1.50 1.01 lineto closepath stroke 1.97 0.99 moveto 2.28 0.86 lineto closepath stroke 1.97 0.99 moveto 2.16 0.71 lineto closepath stroke 1.50 1.01 moveto 1.36 0.85 lineto closepath stroke 1.50 1.01 moveto 1.71 0.69 lineto closepath stroke 1.36 0.85 moveto 1.71 0.69 lineto closepath stroke 1.36 0.85 moveto 1.17 0.71 lineto closepath stroke 1.71 0.69 moveto 2.16 0.71 lineto closepath stroke 1.71 0.69 moveto 2.02 0.56 lineto closepath stroke 1.17 0.71 moveto 1.02 0.44 lineto closepath stroke 1.17 0.71 moveto 1.41 0.27 lineto closepath stroke 1.02 0.44 moveto 1.41 0.27 lineto closepath stroke 1.02 0.44 moveto 0.63 0.00 lineto closepath stroke 1.41 0.27 moveto 1.92 0.27 lineto closepath stroke 1.41 0.27 moveto 1.77 0.00 lineto closepath stroke 5.36 2.77 moveto 5.28 2.90 lineto closepath stroke 5.36 2.77 moveto 5.41 2.64 lineto closepath stroke 5.36 2.77 moveto 5.30 2.66 lineto closepath stroke 5.28 2.90 moveto 5.18 2.90 lineto closepath stroke 5.41 2.64 moveto 5.30 2.66 lineto closepath stroke 5.41 2.64 moveto 5.45 2.47 lineto closepath stroke 5.30 2.66 moveto 5.24 2.56 lineto closepath stroke 5.30 2.66 moveto 5.20 2.70 lineto closepath stroke 3.61 2.70 moveto 3.56 2.64 lineto closepath stroke 3.61 2.70 moveto 3.65 2.76 lineto closepath stroke 3.61 2.70 moveto 3.69 2.71 lineto closepath stroke 3.56 2.64 moveto 3.62 2.58 lineto closepath stroke 3.56 2.64 moveto 3.52 2.58 lineto closepath stroke 3.65 2.76 moveto 3.69 2.71 lineto closepath stroke 3.69 2.71 moveto 3.77 2.71 lineto closepath stroke 3.69 2.71 moveto 3.74 2.65 lineto closepath stroke 3.52 2.58 moveto 3.46 2.51 lineto closepath stroke 3.52 2.58 moveto 3.62 2.58 lineto closepath stroke 3.46 2.51 moveto 3.54 2.45 lineto closepath stroke 3.46 2.51 moveto 3.42 2.44 lineto closepath stroke 3.62 2.58 moveto 3.68 2.52 lineto closepath stroke 3.62 2.58 moveto 3.72 2.59 lineto closepath stroke 3.42 2.44 moveto 3.36 2.37 lineto closepath stroke 3.42 2.44 moveto 3.54 2.45 lineto closepath stroke 3.36 2.37 moveto 3.31 2.29 lineto closepath stroke 3.36 2.37 moveto 3.46 2.30 lineto closepath stroke 3.54 2.45 moveto 3.61 2.38 lineto closepath stroke 3.54 2.45 moveto 3.65 2.45 lineto closepath stroke 3.31 2.29 moveto 3.46 2.30 lineto closepath stroke 3.31 2.29 moveto 3.26 2.20 lineto closepath stroke 3.31 2.29 moveto 3.36 2.13 lineto closepath stroke 3.46 2.30 moveto 3.54 2.22 lineto closepath stroke 3.46 2.30 moveto 3.59 2.30 lineto closepath stroke 3.26 2.20 moveto 3.36 2.13 lineto closepath stroke 3.26 2.20 moveto 3.19 2.12 lineto closepath stroke 3.36 2.13 moveto 3.52 2.14 lineto closepath stroke 3.36 2.13 moveto 3.47 2.05 lineto closepath stroke 3.19 2.12 moveto 3.13 2.03 lineto closepath stroke 3.19 2.12 moveto 3.26 1.95 lineto closepath stroke 3.13 2.03 moveto 3.26 1.95 lineto closepath stroke 3.13 2.03 moveto 3.06 1.94 lineto closepath stroke 3.26 1.95 moveto 3.44 1.96 lineto closepath stroke 3.26 1.95 moveto 3.38 1.86 lineto closepath stroke 3.06 1.94 moveto 3.00 1.84 lineto closepath stroke 3.06 1.94 moveto 3.14 1.75 lineto closepath stroke 3.00 1.84 moveto 3.14 1.75 lineto closepath stroke 3.00 1.84 moveto 2.91 1.74 lineto closepath stroke 3.14 1.75 moveto 3.35 1.76 lineto closepath stroke 3.14 1.75 moveto 3.29 1.66 lineto closepath stroke 2.91 1.74 moveto 2.84 1.63 lineto closepath stroke 2.91 1.74 moveto 3.02 1.53 lineto closepath stroke 2.84 1.63 moveto 3.02 1.53 lineto closepath stroke 2.84 1.63 moveto 2.75 1.52 lineto closepath stroke 3.02 1.53 moveto 3.25 1.54 lineto closepath stroke 3.02 1.53 moveto 3.18 1.43 lineto closepath stroke 2.75 1.52 moveto 2.67 1.39 lineto closepath stroke 2.75 1.52 moveto 2.88 1.29 lineto closepath stroke 2.67 1.39 moveto 2.88 1.29 lineto closepath stroke 2.67 1.39 moveto 2.57 1.28 lineto closepath stroke 2.88 1.29 moveto 3.14 1.31 lineto closepath stroke 2.88 1.29 moveto 3.07 1.18 lineto closepath stroke 2.57 1.28 moveto 2.49 1.14 lineto closepath stroke 2.57 1.28 moveto 2.72 1.02 lineto closepath stroke 2.49 1.14 moveto 2.72 1.02 lineto closepath stroke 2.49 1.14 moveto 2.37 1.01 lineto closepath stroke 2.72 1.02 moveto 3.03 1.04 lineto closepath stroke 2.72 1.02 moveto 2.95 0.90 lineto closepath stroke 2.37 1.01 moveto 2.28 0.86 lineto closepath stroke 2.37 1.01 moveto 2.55 0.73 lineto closepath stroke 2.16 0.71 moveto 2.02 0.56 lineto closepath stroke 2.16 0.71 moveto 2.28 0.86 lineto closepath stroke 2.02 0.56 moveto 2.37 0.29 lineto closepath stroke 2.02 0.56 moveto 1.92 0.27 lineto closepath stroke 2.28 0.86 moveto 2.55 0.73 lineto closepath stroke 2.55 0.73 moveto 2.90 0.75 lineto closepath stroke 2.55 0.73 moveto 2.81 0.60 lineto closepath stroke 1.92 0.27 moveto 1.77 0.00 lineto closepath stroke 1.92 0.27 moveto 2.37 0.29 lineto closepath stroke 2.37 0.29 moveto 2.76 0.29 lineto closepath stroke 2.37 0.29 moveto 2.66 0.00 lineto closepath stroke 5.45 2.47 moveto 5.44 2.31 lineto closepath stroke 5.45 2.47 moveto 5.33 2.36 lineto closepath stroke 5.18 2.90 moveto 5.16 2.82 lineto closepath stroke 5.18 2.90 moveto 5.08 2.92 lineto closepath stroke 5.16 2.82 moveto 5.08 2.92 lineto closepath stroke 5.16 2.82 moveto 5.20 2.70 lineto closepath stroke 5.16 2.82 moveto 5.10 2.72 lineto closepath stroke 5.08 2.92 moveto 4.99 2.92 lineto closepath stroke 3.77 2.71 moveto 3.74 2.65 lineto closepath stroke 3.77 2.71 moveto 3.79 2.77 lineto closepath stroke 3.77 2.71 moveto 3.83 2.71 lineto closepath stroke 3.74 2.65 moveto 3.79 2.59 lineto closepath stroke 3.74 2.65 moveto 3.72 2.59 lineto closepath stroke 3.79 2.77 moveto 3.83 2.71 lineto closepath stroke 3.83 2.71 moveto 3.88 2.65 lineto closepath stroke 3.83 2.71 moveto 3.89 2.71 lineto closepath stroke 3.68 2.52 moveto 3.72 2.59 lineto closepath stroke 3.68 2.52 moveto 3.75 2.46 lineto closepath stroke 3.68 2.52 moveto 3.65 2.45 lineto closepath stroke 3.72 2.59 moveto 3.79 2.59 lineto closepath stroke 3.79 2.59 moveto 3.85 2.53 lineto closepath stroke 3.79 2.59 moveto 3.87 2.59 lineto closepath stroke 3.61 2.38 moveto 3.65 2.45 lineto closepath stroke 3.61 2.38 moveto 3.70 2.31 lineto closepath stroke 3.61 2.38 moveto 3.59 2.30 lineto closepath stroke 3.65 2.45 moveto 3.75 2.46 lineto closepath stroke 3.75 2.46 moveto 3.82 2.39 lineto closepath stroke 3.75 2.46 moveto 3.84 2.46 lineto closepath stroke 3.54 2.22 moveto 3.59 2.30 lineto closepath stroke 3.54 2.22 moveto 3.52 2.14 lineto closepath stroke 3.54 2.22 moveto 3.65 2.15 lineto closepath stroke 3.59 2.30 moveto 3.70 2.31 lineto closepath stroke 3.70 2.31 moveto 3.79 2.23 lineto closepath stroke 3.70 2.31 moveto 3.81 2.31 lineto closepath stroke 3.52 2.14 moveto 3.65 2.15 lineto closepath stroke 3.52 2.14 moveto 3.47 2.05 lineto closepath stroke 3.65 2.15 moveto 3.75 2.06 lineto closepath stroke 3.65 2.15 moveto 3.78 2.15 lineto closepath stroke 3.47 2.05 moveto 3.44 1.96 lineto closepath stroke 3.47 2.05 moveto 3.59 1.97 lineto closepath stroke 3.44 1.96 moveto 3.59 1.97 lineto closepath stroke 3.44 1.96 moveto 3.38 1.86 lineto closepath stroke 3.59 1.97 moveto 3.74 1.97 lineto closepath stroke 3.59 1.97 moveto 3.71 1.88 lineto closepath stroke 3.38 1.86 moveto 3.35 1.76 lineto closepath stroke 3.38 1.86 moveto 3.53 1.77 lineto closepath stroke 3.35 1.76 moveto 3.53 1.77 lineto closepath stroke 3.35 1.76 moveto 3.29 1.66 lineto closepath stroke 3.53 1.77 moveto 3.70 1.78 lineto closepath stroke 3.53 1.77 moveto 3.66 1.67 lineto closepath stroke 3.29 1.66 moveto 3.25 1.54 lineto closepath stroke 3.29 1.66 moveto 3.46 1.56 lineto closepath stroke 3.25 1.54 moveto 3.46 1.56 lineto closepath stroke 3.25 1.54 moveto 3.18 1.43 lineto closepath stroke 3.46 1.56 moveto 3.65 1.56 lineto closepath stroke 3.46 1.56 moveto 3.62 1.45 lineto closepath stroke 3.18 1.43 moveto 3.14 1.31 lineto closepath stroke 3.18 1.43 moveto 3.38 1.32 lineto closepath stroke 3.14 1.31 moveto 3.38 1.32 lineto closepath stroke 3.14 1.31 moveto 3.07 1.18 lineto closepath stroke 3.38 1.32 moveto 3.60 1.33 lineto closepath stroke 3.38 1.32 moveto 3.56 1.20 lineto closepath stroke 3.07 1.18 moveto 3.03 1.04 lineto closepath stroke 3.07 1.18 moveto 3.29 1.06 lineto closepath stroke 3.03 1.04 moveto 3.29 1.06 lineto closepath stroke 3.03 1.04 moveto 2.95 0.90 lineto closepath stroke 3.29 1.06 moveto 3.55 1.07 lineto closepath stroke 3.29 1.06 moveto 3.50 0.93 lineto closepath stroke 2.95 0.90 moveto 2.90 0.75 lineto closepath stroke 2.95 0.90 moveto 3.20 0.77 lineto closepath stroke 2.90 0.75 moveto 3.20 0.77 lineto closepath stroke 2.90 0.75 moveto 2.81 0.60 lineto closepath stroke 3.20 0.77 moveto 3.49 0.78 lineto closepath stroke 3.20 0.77 moveto 3.44 0.63 lineto closepath stroke 2.81 0.60 moveto 2.76 0.29 lineto closepath stroke 2.81 0.60 moveto 3.10 0.31 lineto closepath stroke 2.76 0.29 moveto 3.10 0.31 lineto closepath stroke 2.76 0.29 moveto 2.66 0.00 lineto closepath stroke 3.10 0.31 moveto 3.42 0.31 lineto closepath stroke 3.10 0.31 moveto 3.37 0.00 lineto closepath stroke 5.20 2.70 moveto 5.10 2.72 lineto closepath stroke 5.20 2.70 moveto 5.24 2.56 lineto closepath stroke 5.10 2.72 moveto 5.06 2.65 lineto closepath stroke 5.10 2.72 moveto 5.02 2.76 lineto closepath stroke 3.88 2.65 moveto 3.89 2.71 lineto closepath stroke 3.88 2.65 moveto 3.93 2.59 lineto closepath stroke 3.88 2.65 moveto 3.87 2.59 lineto closepath stroke 3.89 2.71 moveto 3.95 2.71 lineto closepath stroke 3.89 2.71 moveto 3.90 2.77 lineto closepath stroke 3.95 2.71 moveto 3.90 2.77 lineto closepath stroke 3.95 2.71 moveto 4.00 2.66 lineto closepath stroke 3.95 2.71 moveto 4.01 2.71 lineto closepath stroke 3.85 2.53 moveto 3.87 2.59 lineto closepath stroke 3.85 2.53 moveto 3.92 2.46 lineto closepath stroke 3.85 2.53 moveto 3.84 2.46 lineto closepath stroke 3.87 2.59 moveto 3.93 2.59 lineto closepath stroke 3.93 2.59 moveto 4.00 2.53 lineto closepath stroke 3.93 2.59 moveto 4.01 2.59 lineto closepath stroke 3.82 2.39 moveto 3.84 2.46 lineto closepath stroke 3.82 2.39 moveto 3.90 2.31 lineto closepath stroke 3.82 2.39 moveto 3.81 2.31 lineto closepath stroke 3.84 2.46 moveto 3.92 2.46 lineto closepath stroke 3.92 2.46 moveto 4.00 2.39 lineto closepath stroke 3.92 2.46 moveto 4.01 2.46 lineto closepath stroke 3.79 2.23 moveto 3.81 2.31 lineto closepath stroke 3.79 2.23 moveto 3.89 2.15 lineto closepath stroke 3.79 2.23 moveto 3.78 2.15 lineto closepath stroke 3.81 2.31 moveto 3.90 2.31 lineto closepath stroke 3.90 2.31 moveto 4.00 2.24 lineto closepath stroke 3.90 2.31 moveto 4.01 2.31 lineto closepath stroke 3.75 2.06 moveto 3.78 2.15 lineto closepath stroke 3.75 2.06 moveto 3.87 1.98 lineto closepath stroke 3.75 2.06 moveto 3.74 1.97 lineto closepath stroke 3.78 2.15 moveto 3.89 2.15 lineto closepath stroke 3.89 2.15 moveto 4.00 2.07 lineto closepath stroke 3.89 2.15 moveto 4.01 2.15 lineto closepath stroke 3.74 1.97 moveto 3.71 1.88 lineto closepath stroke 3.74 1.97 moveto 3.87 1.98 lineto closepath stroke 3.71 1.88 moveto 3.70 1.78 lineto closepath stroke 3.71 1.88 moveto 3.85 1.78 lineto closepath stroke 3.87 1.98 moveto 4.00 1.88 lineto closepath stroke 3.87 1.98 moveto 4.01 1.98 lineto closepath stroke 3.70 1.78 moveto 3.85 1.78 lineto closepath stroke 3.70 1.78 moveto 3.66 1.67 lineto closepath stroke 3.85 1.78 moveto 4.01 1.78 lineto closepath stroke 3.85 1.78 moveto 4.00 1.68 lineto closepath stroke 3.66 1.67 moveto 3.65 1.56 lineto closepath stroke 3.66 1.67 moveto 3.83 1.57 lineto closepath stroke 3.65 1.56 moveto 3.83 1.57 lineto closepath stroke 3.65 1.56 moveto 3.62 1.45 lineto closepath stroke 3.83 1.57 moveto 4.01 1.57 lineto closepath stroke 3.83 1.57 moveto 4.00 1.46 lineto closepath stroke 3.62 1.45 moveto 3.60 1.33 lineto closepath stroke 3.62 1.45 moveto 3.80 1.33 lineto closepath stroke 3.60 1.33 moveto 3.80 1.33 lineto closepath stroke 3.60 1.33 moveto 3.56 1.20 lineto closepath stroke 3.80 1.33 moveto 4.01 1.33 lineto closepath stroke 3.80 1.33 moveto 4.00 1.21 lineto closepath stroke 3.56 1.20 moveto 3.55 1.07 lineto closepath stroke 3.56 1.20 moveto 3.77 1.07 lineto closepath stroke 3.55 1.07 moveto 3.77 1.07 lineto closepath stroke 3.55 1.07 moveto 3.50 0.93 lineto closepath stroke 3.77 1.07 moveto 4.01 1.07 lineto closepath stroke 3.77 1.07 moveto 4.00 0.94 lineto closepath stroke 3.50 0.93 moveto 3.49 0.78 lineto closepath stroke 3.50 0.93 moveto 3.74 0.79 lineto closepath stroke 3.49 0.78 moveto 3.74 0.79 lineto closepath stroke 3.49 0.78 moveto 3.44 0.63 lineto closepath stroke 3.74 0.79 moveto 4.02 0.79 lineto closepath stroke 3.74 0.79 moveto 4.00 0.64 lineto closepath stroke 3.44 0.63 moveto 3.42 0.31 lineto closepath stroke 3.44 0.63 moveto 3.71 0.32 lineto closepath stroke 3.42 0.31 moveto 3.71 0.32 lineto closepath stroke 3.42 0.31 moveto 3.37 0.00 lineto closepath stroke 3.71 0.32 moveto 4.02 0.32 lineto closepath stroke 3.71 0.32 moveto 4.00 0.00 lineto closepath stroke 5.24 2.56 moveto 5.24 2.43 lineto closepath stroke 5.24 2.56 moveto 5.14 2.47 lineto closepath stroke 4.99 2.92 moveto 4.98 2.85 lineto closepath stroke 4.99 2.92 moveto 4.90 2.94 lineto closepath stroke 4.00 2.66 moveto 4.01 2.71 lineto closepath stroke 4.00 2.66 moveto 4.07 2.59 lineto closepath stroke 4.00 2.66 moveto 4.01 2.59 lineto closepath stroke 4.01 2.71 moveto 4.05 2.71 lineto closepath stroke 4.01 2.71 moveto 4.00 2.77 lineto closepath stroke 4.05 2.71 moveto 4.00 2.77 lineto closepath stroke 4.05 2.71 moveto 4.10 2.71 lineto closepath stroke 4.05 2.71 moveto 4.10 2.77 lineto closepath stroke 4.00 2.53 moveto 4.01 2.59 lineto closepath stroke 4.00 2.53 moveto 4.08 2.46 lineto closepath stroke 4.00 2.53 moveto 4.01 2.46 lineto closepath stroke 4.01 2.59 moveto 4.07 2.59 lineto closepath stroke 4.07 2.59 moveto 4.13 2.59 lineto closepath stroke 4.07 2.59 moveto 4.12 2.66 lineto closepath stroke 4.00 2.39 moveto 4.01 2.46 lineto closepath stroke 4.00 2.39 moveto 4.10 2.31 lineto closepath stroke 4.00 2.39 moveto 4.01 2.31 lineto closepath stroke 4.01 2.46 moveto 4.08 2.46 lineto closepath stroke 4.08 2.46 moveto 4.16 2.46 lineto closepath stroke 4.08 2.46 moveto 4.15 2.53 lineto closepath stroke 4.00 2.24 moveto 4.01 2.31 lineto closepath stroke 4.00 2.24 moveto 4.11 2.15 lineto closepath stroke 4.00 2.24 moveto 4.01 2.15 lineto closepath stroke 4.01 2.31 moveto 4.10 2.31 lineto closepath stroke 4.10 2.31 moveto 4.19 2.32 lineto closepath stroke 4.10 2.31 moveto 4.18 2.39 lineto closepath stroke 4.00 2.07 moveto 4.01 2.15 lineto closepath stroke 4.00 2.07 moveto 4.13 1.98 lineto closepath stroke 4.00 2.07 moveto 4.01 1.98 lineto closepath stroke 4.01 2.15 moveto 4.11 2.15 lineto closepath stroke 4.11 2.15 moveto 4.22 2.16 lineto closepath stroke 4.11 2.15 moveto 4.21 2.24 lineto closepath stroke 4.00 1.88 moveto 4.01 1.98 lineto closepath stroke 4.00 1.88 moveto 4.15 1.78 lineto closepath stroke 4.00 1.88 moveto 4.01 1.78 lineto closepath stroke 4.01 1.98 moveto 4.13 1.98 lineto closepath stroke 4.13 1.98 moveto 4.26 1.98 lineto closepath stroke 4.13 1.98 moveto 4.25 2.07 lineto closepath stroke 4.01 1.78 moveto 4.00 1.68 lineto closepath stroke 4.01 1.78 moveto 4.15 1.78 lineto closepath stroke 4.00 1.68 moveto 4.01 1.57 lineto closepath stroke 4.00 1.68 moveto 4.17 1.57 lineto closepath stroke 4.15 1.78 moveto 4.30 1.79 lineto closepath stroke 4.15 1.78 moveto 4.29 1.89 lineto closepath stroke 4.01 1.57 moveto 4.17 1.57 lineto closepath stroke 4.01 1.57 moveto 4.00 1.46 lineto closepath stroke 4.17 1.57 moveto 4.33 1.69 lineto closepath stroke 4.17 1.57 moveto 4.34 1.57 lineto closepath stroke 4.00 1.46 moveto 4.01 1.33 lineto closepath stroke 4.00 1.46 moveto 4.20 1.33 lineto closepath stroke 4.01 1.33 moveto 4.20 1.33 lineto closepath stroke 4.01 1.33 moveto 4.00 1.21 lineto closepath stroke 4.20 1.33 moveto 4.38 1.46 lineto closepath stroke 4.20 1.33 moveto 4.39 1.34 lineto closepath stroke 4.00 1.21 moveto 4.01 1.07 lineto closepath stroke 4.00 1.21 moveto 4.23 1.07 lineto closepath stroke 4.01 1.07 moveto 4.23 1.07 lineto closepath stroke 4.01 1.07 moveto 4.00 0.94 lineto closepath stroke 4.23 1.07 moveto 4.43 1.22 lineto closepath stroke 4.23 1.07 moveto 4.45 1.08 lineto closepath stroke 4.00 0.94 moveto 4.02 0.79 lineto closepath stroke 4.00 0.94 moveto 4.26 0.79 lineto closepath stroke 4.02 0.79 moveto 4.26 0.79 lineto closepath stroke 4.02 0.79 moveto 4.00 0.64 lineto closepath stroke 4.26 0.79 moveto 4.49 0.95 lineto closepath stroke 4.26 0.79 moveto 4.50 0.80 lineto closepath stroke 4.00 0.64 moveto 4.02 0.32 lineto closepath stroke 4.00 0.64 moveto 4.29 0.32 lineto closepath stroke 4.02 0.32 moveto 4.29 0.32 lineto closepath stroke 4.02 0.32 moveto 4.00 0.00 lineto closepath stroke 4.29 0.32 moveto 4.55 0.65 lineto closepath stroke 4.29 0.32 moveto 4.57 0.33 lineto closepath stroke 4.98 2.85 moveto 4.90 2.94 lineto closepath stroke 4.98 2.85 moveto 5.02 2.76 lineto closepath stroke 4.98 2.85 moveto 4.93 2.78 lineto closepath stroke 4.90 2.94 moveto 4.82 2.94 lineto closepath stroke 5.02 2.76 moveto 4.93 2.78 lineto closepath stroke 5.02 2.76 moveto 5.06 2.65 lineto closepath stroke 4.93 2.78 moveto 4.89 2.72 lineto closepath stroke 4.93 2.78 moveto 4.85 2.82 lineto closepath stroke 5.06 2.65 moveto 5.06 2.53 lineto closepath stroke 5.06 2.65 moveto 4.97 2.57 lineto closepath stroke 4.10 2.71 moveto 4.10 2.77 lineto closepath stroke 4.10 2.71 moveto 4.17 2.72 lineto closepath stroke 4.10 2.71 moveto 4.12 2.66 lineto closepath stroke 4.13 2.59 moveto 4.12 2.66 lineto closepath stroke 4.13 2.59 moveto 4.21 2.60 lineto closepath stroke 4.13 2.59 moveto 4.15 2.53 lineto closepath stroke 4.12 2.66 moveto 4.17 2.72 lineto closepath stroke 4.17 2.72 moveto 4.22 2.72 lineto closepath stroke 4.17 2.72 moveto 4.20 2.78 lineto closepath stroke 4.16 2.46 moveto 4.15 2.53 lineto closepath stroke 4.16 2.46 moveto 4.25 2.47 lineto closepath stroke 4.16 2.46 moveto 4.18 2.39 lineto closepath stroke 4.15 2.53 moveto 4.21 2.60 lineto closepath stroke 4.21 2.60 moveto 4.27 2.60 lineto closepath stroke 4.21 2.60 moveto 4.25 2.67 lineto closepath stroke 4.19 2.32 moveto 4.18 2.39 lineto closepath stroke 4.19 2.32 moveto 4.29 2.32 lineto closepath stroke 4.19 2.32 moveto 4.21 2.24 lineto closepath stroke 4.18 2.39 moveto 4.25 2.47 lineto closepath stroke 4.25 2.47 moveto 4.33 2.47 lineto closepath stroke 4.25 2.47 moveto 4.30 2.54 lineto closepath stroke 4.22 2.16 moveto 4.21 2.24 lineto closepath stroke 4.22 2.16 moveto 4.35 2.16 lineto closepath stroke 4.22 2.16 moveto 4.25 2.07 lineto closepath stroke 4.21 2.24 moveto 4.29 2.32 lineto closepath stroke 4.29 2.32 moveto 4.39 2.33 lineto closepath stroke 4.29 2.32 moveto 4.36 2.41 lineto closepath stroke 4.26 1.98 moveto 4.25 2.07 lineto closepath stroke 4.26 1.98 moveto 4.40 1.99 lineto closepath stroke 4.26 1.98 moveto 4.29 1.89 lineto closepath stroke 4.25 2.07 moveto 4.35 2.16 lineto closepath stroke 4.35 2.16 moveto 4.46 2.18 lineto closepath stroke 4.35 2.16 moveto 4.43 2.26 lineto closepath stroke 4.30 1.79 moveto 4.29 1.89 lineto closepath stroke 4.30 1.79 moveto 4.47 1.79 lineto closepath stroke 4.30 1.79 moveto 4.33 1.69 lineto closepath stroke 4.29 1.89 moveto 4.40 1.99 lineto closepath stroke 4.40 1.99 moveto 4.53 2.01 lineto closepath stroke 4.40 1.99 moveto 4.50 2.10 lineto closepath stroke 4.33 1.69 moveto 4.34 1.57 lineto closepath stroke 4.33 1.69 moveto 4.47 1.79 lineto closepath stroke 4.34 1.57 moveto 4.38 1.46 lineto closepath stroke 4.34 1.57 moveto 4.53 1.58 lineto closepath stroke 4.47 1.79 moveto 4.62 1.82 lineto closepath stroke 4.47 1.79 moveto 4.58 1.92 lineto closepath stroke 4.38 1.46 moveto 4.53 1.58 lineto closepath stroke 4.38 1.46 moveto 4.39 1.34 lineto closepath stroke 4.53 1.58 moveto 4.71 1.61 lineto closepath stroke 4.53 1.58 moveto 4.67 1.72 lineto closepath stroke 4.39 1.34 moveto 4.43 1.22 lineto closepath stroke 4.39 1.34 moveto 4.61 1.35 lineto closepath stroke 4.43 1.22 moveto 4.61 1.35 lineto closepath stroke 4.43 1.22 moveto 4.45 1.08 lineto closepath stroke 4.61 1.35 moveto 4.77 1.50 lineto closepath stroke 4.61 1.35 moveto 4.81 1.38 lineto closepath stroke 4.45 1.08 moveto 4.49 0.95 lineto closepath stroke 4.45 1.08 moveto 4.69 1.09 lineto closepath stroke 4.49 0.95 moveto 4.69 1.09 lineto closepath stroke 4.49 0.95 moveto 4.50 0.80 lineto closepath stroke 4.69 1.09 moveto 4.88 1.27 lineto closepath stroke 4.69 1.09 moveto 4.92 1.13 lineto closepath stroke 4.50 0.80 moveto 4.55 0.65 lineto closepath stroke 4.50 0.80 moveto 4.78 0.81 lineto closepath stroke 4.55 0.65 moveto 4.78 0.81 lineto closepath stroke 4.55 0.65 moveto 4.57 0.33 lineto closepath stroke 4.78 0.81 moveto 5.00 1.00 lineto closepath stroke 4.78 0.81 moveto 5.04 0.86 lineto closepath stroke 4.57 0.33 moveto 4.88 0.33 lineto closepath stroke 4.57 0.33 moveto 4.62 0.00 lineto closepath stroke 4.88 0.33 moveto 4.62 0.00 lineto closepath stroke 4.88 0.33 moveto 5.21 0.56 lineto closepath stroke 4.88 0.33 moveto 5.27 0.23 lineto closepath stroke 4.82 2.94 moveto 4.81 2.89 lineto closepath stroke 4.82 2.94 moveto 4.74 2.95 lineto closepath stroke 4.22 2.72 moveto 4.20 2.78 lineto closepath stroke 4.22 2.72 moveto 4.28 2.73 lineto closepath stroke 4.22 2.72 moveto 4.25 2.67 lineto closepath stroke 4.27 2.60 moveto 4.25 2.67 lineto closepath stroke 4.27 2.60 moveto 4.35 2.61 lineto closepath stroke 4.27 2.60 moveto 4.30 2.54 lineto closepath stroke 4.25 2.67 moveto 4.28 2.73 lineto closepath stroke 4.28 2.73 moveto 4.34 2.74 lineto closepath stroke 4.28 2.73 moveto 4.30 2.79 lineto closepath stroke 4.33 2.47 moveto 4.30 2.54 lineto closepath stroke 4.33 2.47 moveto 4.42 2.49 lineto closepath stroke 4.33 2.47 moveto 4.36 2.41 lineto closepath stroke 4.30 2.54 moveto 4.35 2.61 lineto closepath stroke 4.35 2.61 moveto 4.41 2.63 lineto closepath stroke 4.35 2.61 moveto 4.38 2.69 lineto closepath stroke 4.39 2.33 moveto 4.36 2.41 lineto closepath stroke 4.39 2.33 moveto 4.50 2.35 lineto closepath stroke 4.39 2.33 moveto 4.43 2.26 lineto closepath stroke 4.36 2.41 moveto 4.42 2.49 lineto closepath stroke 4.42 2.49 moveto 4.50 2.51 lineto closepath stroke 4.42 2.49 moveto 4.46 2.57 lineto closepath stroke 4.46 2.18 moveto 4.43 2.26 lineto closepath stroke 4.46 2.18 moveto 4.59 2.20 lineto closepath stroke 4.46 2.18 moveto 4.50 2.10 lineto closepath stroke 4.43 2.26 moveto 4.50 2.35 lineto closepath stroke 4.50 2.35 moveto 4.60 2.38 lineto closepath stroke 4.50 2.35 moveto 4.55 2.45 lineto closepath stroke 4.53 2.01 moveto 4.50 2.10 lineto closepath stroke 4.53 2.01 moveto 4.69 2.03 lineto closepath stroke 4.53 2.01 moveto 4.58 1.92 lineto closepath stroke 4.50 2.10 moveto 4.59 2.20 lineto closepath stroke 4.59 2.20 moveto 4.70 2.23 lineto closepath stroke 4.59 2.20 moveto 4.66 2.31 lineto closepath stroke 4.62 1.82 moveto 4.58 1.92 lineto closepath stroke 4.62 1.82 moveto 4.79 1.85 lineto closepath stroke 4.62 1.82 moveto 4.67 1.72 lineto closepath stroke 4.58 1.92 moveto 4.69 2.03 lineto closepath stroke 4.69 2.03 moveto 4.82 2.07 lineto closepath stroke 4.69 2.03 moveto 4.77 2.16 lineto closepath stroke 4.71 1.61 moveto 4.67 1.72 lineto closepath stroke 4.71 1.61 moveto 4.91 1.64 lineto closepath stroke 4.71 1.61 moveto 4.77 1.50 lineto closepath stroke 4.67 1.72 moveto 4.79 1.85 lineto closepath stroke 4.79 1.85 moveto 4.95 1.89 lineto closepath stroke 4.79 1.85 moveto 4.89 1.99 lineto closepath stroke 4.77 1.50 moveto 4.81 1.38 lineto closepath stroke 4.77 1.50 moveto 4.91 1.64 lineto closepath stroke 4.81 1.38 moveto 5.04 1.42 lineto closepath stroke 4.81 1.38 moveto 4.88 1.27 lineto closepath stroke 4.91 1.64 moveto 5.09 1.70 lineto closepath stroke 4.91 1.64 moveto 5.02 1.81 lineto closepath stroke 4.88 1.27 moveto 4.92 1.13 lineto closepath stroke 4.88 1.27 moveto 5.04 1.42 lineto closepath stroke 4.92 1.13 moveto 5.00 1.00 lineto closepath stroke 4.92 1.13 moveto 5.18 1.17 lineto closepath stroke 5.04 1.42 moveto 5.17 1.60 lineto closepath stroke 5.04 1.42 moveto 5.24 1.49 lineto closepath stroke 5.00 1.00 moveto 5.18 1.17 lineto closepath stroke 5.00 1.00 moveto 5.04 0.86 lineto closepath stroke 5.18 1.17 moveto 5.33 1.38 lineto closepath stroke 5.18 1.17 moveto 5.41 1.25 lineto closepath stroke 5.04 0.86 moveto 5.12 0.71 lineto closepath stroke 5.04 0.86 moveto 5.34 0.90 lineto closepath stroke 5.12 0.71 moveto 5.34 0.90 lineto closepath stroke 5.12 0.71 moveto 5.21 0.56 lineto closepath stroke 5.12 0.71 moveto 5.51 0.61 lineto closepath stroke 5.34 0.90 moveto 5.41 1.25 lineto closepath stroke 5.34 0.90 moveto 5.49 1.11 lineto closepath stroke 5.21 0.56 moveto 5.51 0.61 lineto closepath stroke 5.21 0.56 moveto 5.27 0.23 lineto closepath stroke 5.51 0.61 moveto 5.71 1.00 lineto closepath stroke 5.51 0.61 moveto 5.80 0.84 lineto closepath stroke 5.27 0.23 moveto 5.60 0.23 lineto closepath stroke 5.27 0.23 moveto 5.27 0.00 lineto closepath stroke 5.60 0.23 moveto 5.80 0.23 lineto closepath stroke 5.60 0.23 moveto 5.80 0.00 lineto closepath stroke 5.60 0.23 moveto 5.27 0.00 lineto closepath stroke 5.80 0.23 moveto 5.80 0.00 lineto closepath stroke 5.80 0.23 moveto 5.80 0.84 lineto closepath stroke 5.80 0.23 moveto 6.00 0.61 lineto closepath stroke 4.81 2.89 moveto 4.74 2.95 lineto closepath stroke 4.81 2.89 moveto 4.85 2.82 lineto closepath stroke 4.81 2.89 moveto 4.77 2.83 lineto closepath stroke 4.74 2.95 moveto 4.66 2.95 lineto closepath stroke 4.85 2.82 moveto 4.77 2.83 lineto closepath stroke 4.85 2.82 moveto 4.89 2.72 lineto closepath stroke 4.77 2.83 moveto 4.74 2.79 lineto closepath stroke 4.77 2.83 moveto 4.70 2.87 lineto closepath stroke 4.89 2.72 moveto 4.90 2.63 lineto closepath stroke 4.89 2.72 moveto 4.82 2.66 lineto closepath stroke 4.34 2.74 moveto 4.30 2.79 lineto closepath stroke 4.34 2.74 moveto 4.40 2.75 lineto closepath stroke 4.34 2.74 moveto 4.38 2.69 lineto closepath stroke 4.41 2.63 moveto 4.38 2.69 lineto closepath stroke 4.41 2.63 moveto 4.49 2.65 lineto closepath stroke 4.41 2.63 moveto 4.46 2.57 lineto closepath stroke 4.38 2.69 moveto 4.40 2.75 lineto closepath stroke 4.40 2.75 moveto 4.45 2.77 lineto closepath stroke 4.40 2.75 moveto 4.40 2.82 lineto closepath stroke 4.50 2.51 moveto 4.46 2.57 lineto closepath stroke 4.50 2.51 moveto 4.60 2.54 lineto closepath stroke 4.50 2.51 moveto 4.55 2.45 lineto closepath stroke 4.46 2.57 moveto 4.49 2.65 lineto closepath stroke 4.49 2.65 moveto 4.55 2.67 lineto closepath stroke 4.49 2.65 moveto 4.50 2.73 lineto closepath stroke 4.60 2.38 moveto 4.55 2.45 lineto closepath stroke 4.60 2.38 moveto 4.71 2.41 lineto closepath stroke 4.60 2.38 moveto 4.66 2.31 lineto closepath stroke 4.55 2.45 moveto 4.60 2.54 lineto closepath stroke 4.60 2.54 moveto 4.67 2.57 lineto closepath stroke 4.60 2.54 moveto 4.62 2.63 lineto closepath stroke 4.70 2.23 moveto 4.66 2.31 lineto closepath stroke 4.70 2.23 moveto 4.83 2.27 lineto closepath stroke 4.70 2.23 moveto 4.77 2.16 lineto closepath stroke 4.66 2.31 moveto 4.71 2.41 lineto closepath stroke 4.71 2.41 moveto 4.80 2.45 lineto closepath stroke 4.71 2.41 moveto 4.74 2.52 lineto closepath stroke 4.82 2.07 moveto 4.77 2.16 lineto closepath stroke 4.82 2.07 moveto 4.97 2.12 lineto closepath stroke 4.82 2.07 moveto 4.89 1.99 lineto closepath stroke 4.77 2.16 moveto 4.83 2.27 lineto closepath stroke 4.83 2.27 moveto 4.94 2.33 lineto closepath stroke 4.83 2.27 moveto 4.87 2.40 lineto closepath stroke 4.95 1.89 moveto 4.89 1.99 lineto closepath stroke 4.95 1.89 moveto 5.12 1.95 lineto closepath stroke 4.95 1.89 moveto 5.02 1.81 lineto closepath stroke 4.89 1.99 moveto 4.97 2.12 lineto closepath stroke 4.97 2.12 moveto 5.09 2.19 lineto closepath stroke 4.97 2.12 moveto 5.02 2.27 lineto closepath stroke 5.09 1.70 moveto 5.02 1.81 lineto closepath stroke 5.09 1.70 moveto 5.29 1.77 lineto closepath stroke 5.09 1.70 moveto 5.17 1.60 lineto closepath stroke 5.02 1.81 moveto 5.12 1.95 lineto closepath stroke 5.12 1.95 moveto 5.26 2.03 lineto closepath stroke 5.12 1.95 moveto 5.18 2.12 lineto closepath stroke 5.17 1.60 moveto 5.24 1.49 lineto closepath stroke 5.17 1.60 moveto 5.29 1.77 lineto closepath stroke 5.24 1.49 moveto 5.47 1.57 lineto closepath stroke 5.24 1.49 moveto 5.33 1.38 lineto closepath stroke 5.29 1.77 moveto 5.36 1.96 lineto closepath stroke 5.29 1.77 moveto 5.45 1.86 lineto closepath stroke 5.41 1.25 moveto 5.49 1.11 lineto closepath stroke 5.41 1.25 moveto 5.33 1.38 lineto closepath stroke 5.49 1.11 moveto 5.78 1.34 lineto closepath stroke 5.49 1.11 moveto 5.71 1.00 lineto closepath stroke 5.33 1.38 moveto 5.47 1.57 lineto closepath stroke 5.47 1.57 moveto 5.56 1.78 lineto closepath stroke 5.47 1.57 moveto 5.65 1.68 lineto closepath stroke 5.80 0.84 moveto 6.00 0.61 lineto closepath stroke 5.80 0.84 moveto 5.71 1.00 lineto closepath stroke 5.71 1.00 moveto 5.78 1.34 lineto closepath stroke 5.78 1.34 moveto 5.78 1.68 lineto closepath stroke 5.78 1.34 moveto 6.00 1.56 lineto closepath stroke 4.66 2.95 moveto 4.65 2.92 lineto closepath stroke 4.66 2.95 moveto 4.59 2.97 lineto closepath stroke 4.45 2.77 moveto 4.40 2.82 lineto closepath stroke 4.45 2.77 moveto 4.51 2.79 lineto closepath stroke 4.45 2.77 moveto 4.50 2.73 lineto closepath stroke 4.55 2.67 moveto 4.50 2.73 lineto closepath stroke 4.55 2.67 moveto 4.63 2.71 lineto closepath stroke 4.55 2.67 moveto 4.62 2.63 lineto closepath stroke 4.50 2.73 moveto 4.51 2.79 lineto closepath stroke 4.51 2.79 moveto 4.55 2.82 lineto closepath stroke 4.51 2.79 moveto 4.49 2.86 lineto closepath stroke 4.67 2.57 moveto 4.62 2.63 lineto closepath stroke 4.67 2.57 moveto 4.76 2.61 lineto closepath stroke 4.67 2.57 moveto 4.74 2.52 lineto closepath stroke 4.62 2.63 moveto 4.63 2.71 lineto closepath stroke 4.63 2.71 moveto 4.68 2.74 lineto closepath stroke 4.63 2.71 moveto 4.61 2.79 lineto closepath stroke 4.80 2.45 moveto 4.74 2.52 lineto closepath stroke 4.80 2.45 moveto 4.90 2.51 lineto closepath stroke 4.80 2.45 moveto 4.87 2.40 lineto closepath stroke 4.74 2.52 moveto 4.76 2.61 lineto closepath stroke 4.76 2.61 moveto 4.82 2.66 lineto closepath stroke 4.76 2.61 moveto 4.75 2.71 lineto closepath stroke 4.94 2.33 moveto 4.87 2.40 lineto closepath stroke 4.94 2.33 moveto 5.06 2.39 lineto closepath stroke 4.94 2.33 moveto 5.02 2.27 lineto closepath stroke 4.87 2.40 moveto 4.90 2.51 lineto closepath stroke 4.90 2.51 moveto 4.97 2.57 lineto closepath stroke 4.90 2.51 moveto 4.90 2.63 lineto closepath stroke 5.09 2.19 moveto 5.02 2.27 lineto closepath stroke 5.09 2.19 moveto 5.23 2.27 lineto closepath stroke 5.09 2.19 moveto 5.18 2.12 lineto closepath stroke 5.02 2.27 moveto 5.06 2.39 lineto closepath stroke 5.06 2.39 moveto 5.14 2.47 lineto closepath stroke 5.06 2.39 moveto 5.06 2.53 lineto closepath stroke 5.26 2.03 moveto 5.18 2.12 lineto closepath stroke 5.26 2.03 moveto 5.42 2.13 lineto closepath stroke 5.26 2.03 moveto 5.36 1.96 lineto closepath stroke 5.18 2.12 moveto 5.23 2.27 lineto closepath stroke 5.23 2.27 moveto 5.33 2.36 lineto closepath stroke 5.23 2.27 moveto 5.24 2.43 lineto closepath stroke 5.36 1.96 moveto 5.45 1.86 lineto closepath stroke 5.36 1.96 moveto 5.42 2.13 lineto closepath stroke 5.45 1.86 moveto 5.63 1.98 lineto closepath stroke 5.45 1.86 moveto 5.56 1.78 lineto closepath stroke 5.42 2.13 moveto 5.54 2.24 lineto closepath stroke 5.42 2.13 moveto 5.44 2.31 lineto closepath stroke 5.56 1.78 moveto 5.65 1.68 lineto closepath stroke 5.56 1.78 moveto 5.63 1.98 lineto closepath stroke 5.65 1.68 moveto 5.87 1.90 lineto closepath stroke 5.65 1.68 moveto 5.78 1.68 lineto closepath stroke 5.63 1.98 moveto 5.76 2.19 lineto closepath stroke 5.63 1.98 moveto 5.87 2.11 lineto closepath stroke 5.78 1.68 moveto 6.00 1.56 lineto closepath stroke 5.78 1.68 moveto 5.87 1.90 lineto closepath stroke 5.87 1.90 moveto 6.00 2.11 lineto closepath stroke 5.87 1.90 moveto 5.87 2.11 lineto closepath stroke 4.65 2.92 moveto 4.59 2.97 lineto closepath stroke 4.65 2.92 moveto 4.70 2.87 lineto closepath stroke 4.65 2.92 moveto 4.62 2.88 lineto closepath stroke 4.70 2.87 moveto 4.62 2.88 lineto closepath stroke 4.70 2.87 moveto 4.74 2.79 lineto closepath stroke 4.62 2.88 moveto 4.60 2.85 lineto closepath stroke 4.62 2.88 moveto 4.56 2.91 lineto closepath stroke 4.55 2.82 moveto 4.49 2.86 lineto closepath stroke 4.55 2.82 moveto 4.60 2.85 lineto closepath stroke 4.55 2.82 moveto 4.61 2.79 lineto closepath stroke 4.68 2.74 moveto 4.61 2.79 lineto closepath stroke 4.68 2.74 moveto 4.74 2.79 lineto closepath stroke 4.68 2.74 moveto 4.75 2.71 lineto closepath stroke 4.61 2.79 moveto 4.60 2.85 lineto closepath stroke 4.60 2.85 moveto 4.56 2.91 lineto closepath stroke 4.82 2.66 moveto 4.75 2.71 lineto closepath stroke 4.82 2.66 moveto 4.90 2.63 lineto closepath stroke 4.75 2.71 moveto 4.74 2.79 lineto closepath stroke 4.97 2.57 moveto 4.90 2.63 lineto closepath stroke 4.97 2.57 moveto 5.06 2.53 lineto closepath stroke 5.14 2.47 moveto 5.06 2.53 lineto closepath stroke 5.14 2.47 moveto 5.24 2.43 lineto closepath stroke 5.33 2.36 moveto 5.24 2.43 lineto closepath stroke 5.33 2.36 moveto 5.44 2.31 lineto closepath stroke 5.54 2.24 moveto 5.44 2.31 lineto closepath stroke 5.54 2.24 moveto 5.76 2.19 lineto closepath stroke 6.00 2.11 moveto 5.87 2.11 lineto closepath stroke 5.87 2.11 moveto 5.76 2.19 lineto closepath stroke showpage %%EndDocument @endspecial 116 x @beginspecial 40 @vscale 40 @hscale 200 @hoffset -200 @voffset @setspecial %%BeginDocument: mat.ps.8 %! %%Creator: PSPLTM routine %%BoundingBox: 264.22 133.90 1290.26 1257.14 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 0.500000 cm scalefont setfont 10.7950 cm 16.9700 cm moveto (Assembled Matrix) Cshow 3.81000 cm 2.00000 cm translate 13.9700 cm 1257 div dup scale 0.250000 setlinewidth newpath 0 0 moveto 1257 0 lineto 1257 1257 lineto 0 1257 lineto closepath stroke 0.2 setlinewidth 1 1 translate 0.8 setlinewidth /p {moveto 0 -.40 rmoveto 0 .80 rlineto stroke} def 0 1255 p 880 1255 p 881 1255 p 918 1255 p 1 1254 p 1161 1254 p 1160 1254 p 1199 1254 p 2 1253 p 469 1253 p 468 1253 p 472 1253 p 3 1252 p 730 1252 p 731 1252 p 732 1252 p 4 1251 p 330 1251 p 332 1251 p 333 1251 p 1202 1251 p 1233 1251 p 5 1250 p 332 1250 p 331 1250 p 335 1250 p 337 1250 p 1121 1250 p 1164 1250 p 6 1249 p 337 1249 p 336 1249 p 339 1249 p 341 1249 p 1041 1249 p 1080 1249 p 7 1248 p 341 1248 p 340 1248 p 343 1248 p 345 1248 p 961 1248 p 963 1248 p 8 1247 p 345 1247 p 344 1247 p 347 1247 p 349 1247 p 882 1247 p 920 1247 p 9 1246 p 349 1246 p 348 1246 p 351 1246 p 353 1246 p 820 1246 p 845 1246 p 10 1245 p 353 1245 p 352 1245 p 356 1245 p 799 1245 p 798 1245 p 11 1244 p 334 1244 p 333 1244 p 357 1244 p 359 1244 p 12 1243 p 331 1243 p 330 1243 p 334 1243 p 338 1243 p 358 1243 p 361 1243 p 13 1242 p 336 1242 p 335 1242 p 338 1242 p 342 1242 p 362 1242 p 364 1242 p 14 1241 p 340 1241 p 339 1241 p 342 1241 p 346 1241 p 365 1241 p 367 1241 p 15 1240 p 344 1240 p 343 1240 p 346 1240 p 350 1240 p 368 1240 p 370 1240 p 16 1239 p 348 1239 p 347 1239 p 350 1239 p 354 1239 p 371 1239 p 373 1239 p 17 1238 p 352 1238 p 351 1238 p 354 1238 p 355 1238 p 374 1238 p 376 1238 p 18 1237 p 356 1237 p 355 1237 p 377 1237 p 19 1236 p 360 1236 p 359 1236 p 379 1236 p 381 1236 p 20 1235 p 358 1235 p 357 1235 p 360 1235 p 363 1235 p 380 1235 p 383 1235 p 21 1234 p 362 1234 p 361 1234 p 363 1234 p 366 1234 p 384 1234 p 386 1234 p 22 1233 p 365 1233 p 364 1233 p 366 1233 p 369 1233 p 387 1233 p 389 1233 p 23 1232 p 368 1232 p 367 1232 p 369 1232 p 372 1232 p 390 1232 p 392 1232 p 24 1231 p 371 1231 p 370 1231 p 372 1231 p 375 1231 p 393 1231 p 395 1231 p 25 1230 p 374 1230 p 373 1230 p 375 1230 p 378 1230 p 396 1230 p 398 1230 p 26 1229 p 377 1229 p 376 1229 p 378 1229 p 399 1229 p 402 1229 p 404 1229 p 27 1228 p 382 1228 p 381 1228 p 406 1228 p 408 1228 p 28 1227 p 380 1227 p 379 1227 p 382 1227 p 385 1227 p 405 1227 p 410 1227 p 29 1226 p 384 1226 p 383 1226 p 385 1226 p 388 1226 p 409 1226 p 413 1226 p 30 1225 p 387 1225 p 386 1225 p 388 1225 p 391 1225 p 412 1225 p 415 1225 p 31 1224 p 390 1224 p 389 1224 p 391 1224 p 394 1224 p 416 1224 p 418 1224 p 32 1223 p 393 1223 p 392 1223 p 394 1223 p 397 1223 p 419 1223 p 421 1223 p 33 1222 p 396 1222 p 395 1222 p 397 1222 p 400 1222 p 422 1222 p 424 1222 p 34 1221 p 399 1221 p 398 1221 p 400 1221 p 401 1221 p 425 1221 p 427 1221 p 35 1220 p 402 1220 p 401 1220 p 403 1220 p 428 1220 p 430 1220 p 36 1219 p 404 1219 p 403 1219 p 431 1219 p 434 1219 p 37 1218 p 407 1218 p 408 1218 p 436 1218 p 438 1218 p 38 1217 p 405 1217 p 406 1217 p 407 1217 p 411 1217 p 435 1217 p 440 1217 p 39 1216 p 409 1216 p 410 1216 p 411 1216 p 414 1216 p 439 1216 p 443 1216 p 40 1215 p 412 1215 p 413 1215 p 414 1215 p 417 1215 p 442 1215 p 446 1215 p 41 1214 p 416 1214 p 415 1214 p 417 1214 p 420 1214 p 445 1214 p 449 1214 p 42 1213 p 419 1213 p 418 1213 p 420 1213 p 423 1213 p 448 1213 p 452 1213 p 43 1212 p 422 1212 p 421 1212 p 423 1212 p 426 1212 p 451 1212 p 455 1212 p 44 1211 p 425 1211 p 424 1211 p 426 1211 p 429 1211 p 454 1211 p 457 1211 p 45 1210 p 428 1210 p 427 1210 p 429 1210 p 432 1210 p 458 1210 p 460 1210 p 46 1209 p 431 1209 p 430 1209 p 432 1209 p 433 1209 p 461 1209 p 464 1209 p 465 1209 p 47 1208 p 434 1208 p 433 1208 p 466 1208 p 470 1208 p 469 1208 p 48 1207 p 437 1207 p 438 1207 p 475 1207 p 477 1207 p 49 1206 p 435 1206 p 436 1206 p 437 1206 p 441 1206 p 474 1206 p 479 1206 p 50 1205 p 439 1205 p 440 1205 p 441 1205 p 444 1205 p 478 1205 p 482 1205 p 51 1204 p 442 1204 p 443 1204 p 444 1204 p 447 1204 p 481 1204 p 485 1204 p 52 1203 p 445 1203 p 446 1203 p 447 1203 p 450 1203 p 484 1203 p 488 1203 p 53 1202 p 448 1202 p 449 1202 p 450 1202 p 453 1202 p 487 1202 p 491 1202 p 54 1201 p 451 1201 p 452 1201 p 453 1201 p 456 1201 p 490 1201 p 494 1201 p 55 1200 p 454 1200 p 455 1200 p 456 1200 p 459 1200 p 493 1200 p 497 1200 p 56 1199 p 458 1199 p 457 1199 p 459 1199 p 462 1199 p 496 1199 p 500 1199 p 57 1198 p 461 1198 p 460 1198 p 462 1198 p 463 1198 p 499 1198 p 503 1198 p 58 1197 p 464 1197 p 463 1197 p 467 1197 p 502 1197 p 507 1197 p 59 1196 p 466 1196 p 465 1196 p 467 1196 p 471 1196 p 506 1196 p 60 1195 p 468 1195 p 470 1195 p 471 1195 p 473 1195 p 505 1195 p 509 1195 p 61 1194 p 472 1194 p 473 1194 p 511 1194 p 62 1193 p 476 1193 p 477 1193 p 513 1193 p 515 1193 p 63 1192 p 474 1192 p 475 1192 p 476 1192 p 480 1192 p 512 1192 p 517 1192 p 64 1191 p 478 1191 p 479 1191 p 480 1191 p 483 1191 p 516 1191 p 520 1191 p 65 1190 p 481 1190 p 482 1190 p 483 1190 p 486 1190 p 519 1190 p 523 1190 p 66 1189 p 484 1189 p 485 1189 p 486 1189 p 489 1189 p 522 1189 p 526 1189 p 67 1188 p 487 1188 p 488 1188 p 489 1188 p 492 1188 p 525 1188 p 529 1188 p 68 1187 p 490 1187 p 491 1187 p 492 1187 p 495 1187 p 528 1187 p 532 1187 p 69 1186 p 493 1186 p 494 1186 p 495 1186 p 498 1186 p 531 1186 p 535 1186 p 70 1185 p 496 1185 p 497 1185 p 498 1185 p 501 1185 p 534 1185 p 538 1185 p 71 1184 p 499 1184 p 500 1184 p 501 1184 p 504 1184 p 537 1184 p 541 1184 p 72 1183 p 502 1183 p 503 1183 p 504 1183 p 508 1183 p 540 1183 p 544 1183 p 73 1182 p 505 1182 p 506 1182 p 507 1182 p 508 1182 p 510 1182 p 543 1182 p 547 1182 p 74 1181 p 509 1181 p 510 1181 p 511 1181 p 546 1181 p 75 1180 p 514 1180 p 515 1180 p 550 1180 p 76 1179 p 512 1179 p 513 1179 p 514 1179 p 518 1179 p 549 1179 p 552 1179 p 77 1178 p 516 1178 p 517 1178 p 518 1178 p 521 1178 p 551 1178 p 555 1178 p 78 1177 p 519 1177 p 520 1177 p 521 1177 p 524 1177 p 554 1177 p 558 1177 p 79 1176 p 522 1176 p 523 1176 p 524 1176 p 527 1176 p 557 1176 p 561 1176 p 80 1175 p 525 1175 p 526 1175 p 527 1175 p 530 1175 p 560 1175 p 564 1175 p 81 1174 p 528 1174 p 529 1174 p 530 1174 p 533 1174 p 563 1174 p 567 1174 p 82 1173 p 531 1173 p 532 1173 p 533 1173 p 536 1173 p 566 1173 p 570 1173 p 83 1172 p 534 1172 p 535 1172 p 536 1172 p 539 1172 p 569 1172 p 573 1172 p 84 1171 p 537 1171 p 538 1171 p 539 1171 p 542 1171 p 572 1171 p 576 1171 p 85 1170 p 540 1170 p 541 1170 p 542 1170 p 545 1170 p 575 1170 p 579 1170 p 86 1169 p 543 1169 p 544 1169 p 545 1169 p 548 1169 p 578 1169 p 582 1169 p 87 1168 p 546 1168 p 547 1168 p 548 1168 p 581 1168 p 584 1168 p 88 1167 p 549 1167 p 550 1167 p 553 1167 p 587 1167 p 89 1166 p 551 1166 p 552 1166 p 553 1166 p 556 1166 p 586 1166 p 589 1166 p 90 1165 p 554 1165 p 555 1165 p 556 1165 p 559 1165 p 588 1165 p 592 1165 p 91 1164 p 557 1164 p 558 1164 p 559 1164 p 562 1164 p 591 1164 p 595 1164 p 92 1163 p 560 1163 p 561 1163 p 562 1163 p 565 1163 p 594 1163 p 598 1163 p 93 1162 p 563 1162 p 564 1162 p 565 1162 p 568 1162 p 597 1162 p 601 1162 p 94 1161 p 566 1161 p 567 1161 p 568 1161 p 571 1161 p 600 1161 p 604 1161 p 95 1160 p 569 1160 p 570 1160 p 571 1160 p 574 1160 p 603 1160 p 607 1160 p 96 1159 p 572 1159 p 573 1159 p 574 1159 p 577 1159 p 606 1159 p 610 1159 p 97 1158 p 575 1158 p 576 1158 p 577 1158 p 580 1158 p 609 1158 p 613 1158 p 98 1157 p 578 1157 p 579 1157 p 580 1157 p 583 1157 p 612 1157 p 616 1157 p 99 1156 p 581 1156 p 582 1156 p 583 1156 p 585 1156 p 615 1156 p 619 1156 p 100 1155 p 584 1155 p 585 1155 p 618 1155 p 621 1155 p 101 1154 p 586 1154 p 587 1154 p 590 1154 p 624 1154 p 102 1153 p 588 1153 p 589 1153 p 590 1153 p 593 1153 p 623 1153 p 626 1153 p 103 1152 p 591 1152 p 592 1152 p 593 1152 p 596 1152 p 625 1152 p 629 1152 p 104 1151 p 594 1151 p 595 1151 p 596 1151 p 599 1151 p 628 1151 p 632 1151 p 105 1150 p 597 1150 p 598 1150 p 599 1150 p 602 1150 p 631 1150 p 635 1150 p 106 1149 p 600 1149 p 601 1149 p 602 1149 p 605 1149 p 634 1149 p 638 1149 p 107 1148 p 603 1148 p 604 1148 p 605 1148 p 608 1148 p 637 1148 p 641 1148 p 108 1147 p 606 1147 p 607 1147 p 608 1147 p 611 1147 p 640 1147 p 644 1147 p 109 1146 p 609 1146 p 610 1146 p 611 1146 p 614 1146 p 643 1146 p 647 1146 p 110 1145 p 612 1145 p 613 1145 p 614 1145 p 617 1145 p 646 1145 p 650 1145 p 111 1144 p 615 1144 p 616 1144 p 617 1144 p 620 1144 p 649 1144 p 653 1144 p 112 1143 p 618 1143 p 619 1143 p 620 1143 p 622 1143 p 652 1143 p 656 1143 p 113 1142 p 621 1142 p 622 1142 p 655 1142 p 658 1142 p 114 1141 p 623 1141 p 624 1141 p 627 1141 p 661 1141 p 115 1140 p 625 1140 p 626 1140 p 627 1140 p 630 1140 p 660 1140 p 663 1140 p 116 1139 p 628 1139 p 629 1139 p 630 1139 p 633 1139 p 662 1139 p 666 1139 p 117 1138 p 631 1138 p 632 1138 p 633 1138 p 636 1138 p 665 1138 p 669 1138 p 118 1137 p 634 1137 p 635 1137 p 636 1137 p 639 1137 p 668 1137 p 119 1136 p 637 1136 p 638 1136 p 639 1136 p 642 1136 p 671 1136 p 673 1136 p 120 1135 p 640 1135 p 641 1135 p 642 1135 p 645 1135 p 672 1135 p 676 1135 p 121 1134 p 643 1134 p 644 1134 p 645 1134 p 648 1134 p 675 1134 p 679 1134 p 122 1133 p 646 1133 p 647 1133 p 648 1133 p 651 1133 p 678 1133 p 682 1133 p 123 1132 p 649 1132 p 650 1132 p 651 1132 p 654 1132 p 681 1132 p 685 1132 p 124 1131 p 652 1131 p 653 1131 p 654 1131 p 657 1131 p 684 1131 p 688 1131 p 125 1130 p 655 1130 p 656 1130 p 657 1130 p 659 1130 p 687 1130 p 691 1130 p 693 1130 p 126 1129 p 658 1129 p 659 1129 p 692 1129 p 695 1129 p 127 1128 p 660 1128 p 661 1128 p 664 1128 p 698 1128 p 128 1127 p 662 1127 p 663 1127 p 664 1127 p 667 1127 p 697 1127 p 129 1126 p 665 1126 p 666 1126 p 667 1126 p 670 1126 p 699 1126 p 701 1126 p 130 1125 p 668 1125 p 669 1125 p 670 1125 p 671 1125 p 674 1125 p 700 1125 p 704 1125 p 131 1124 p 672 1124 p 673 1124 p 674 1124 p 677 1124 p 703 1124 p 707 1124 p 132 1123 p 675 1123 p 676 1123 p 677 1123 p 680 1123 p 706 1123 p 710 1123 p 133 1122 p 678 1122 p 679 1122 p 680 1122 p 683 1122 p 709 1122 p 713 1122 p 134 1121 p 681 1121 p 682 1121 p 683 1121 p 686 1121 p 712 1121 p 716 1121 p 135 1120 p 684 1120 p 685 1120 p 686 1120 p 689 1120 p 715 1120 p 719 1120 p 136 1119 p 687 1119 p 688 1119 p 689 1119 p 690 1119 p 718 1119 p 722 1119 p 137 1118 p 691 1118 p 690 1118 p 694 1118 p 721 1118 p 725 1118 p 138 1117 p 692 1117 p 693 1117 p 694 1117 p 696 1117 p 724 1117 p 728 1117 p 139 1116 p 695 1116 p 696 1116 p 727 1116 p 730 1116 p 140 1115 p 697 1115 p 698 1115 p 699 1115 p 702 1115 p 735 1115 p 141 1114 p 700 1114 p 701 1114 p 702 1114 p 705 1114 p 734 1114 p 142 1113 p 703 1113 p 704 1113 p 705 1113 p 708 1113 p 736 1113 p 738 1113 p 143 1112 p 706 1112 p 707 1112 p 708 1112 p 711 1112 p 737 1112 p 741 1112 p 144 1111 p 709 1111 p 710 1111 p 711 1111 p 714 1111 p 740 1111 p 744 1111 p 145 1110 p 712 1110 p 713 1110 p 714 1110 p 717 1110 p 743 1110 p 747 1110 p 146 1109 p 715 1109 p 716 1109 p 717 1109 p 720 1109 p 746 1109 p 750 1109 p 147 1108 p 718 1108 p 719 1108 p 720 1108 p 723 1108 p 749 1108 p 753 1108 p 148 1107 p 721 1107 p 722 1107 p 723 1107 p 726 1107 p 752 1107 p 757 1107 p 149 1106 p 724 1106 p 725 1106 p 726 1106 p 729 1106 p 756 1106 p 150 1105 p 727 1105 p 728 1105 p 729 1105 p 731 1105 p 733 1105 p 755 1105 p 759 1105 p 151 1104 p 732 1104 p 733 1104 p 761 1104 p 152 1103 p 734 1103 p 735 1103 p 736 1103 p 739 1103 p 763 1103 p 153 1102 p 737 1102 p 738 1102 p 739 1102 p 742 1102 p 762 1102 p 154 1101 p 740 1101 p 741 1101 p 742 1101 p 745 1101 p 764 1101 p 766 1101 p 155 1100 p 743 1100 p 744 1100 p 745 1100 p 748 1100 p 765 1100 p 769 1100 p 156 1099 p 746 1099 p 747 1099 p 748 1099 p 751 1099 p 768 1099 p 772 1099 p 157 1098 p 749 1098 p 750 1098 p 751 1098 p 754 1098 p 771 1098 p 775 1098 p 158 1097 p 752 1097 p 753 1097 p 754 1097 p 758 1097 p 774 1097 p 778 1097 p 159 1096 p 755 1096 p 756 1096 p 757 1096 p 758 1096 p 760 1096 p 777 1096 p 781 1096 p 160 1095 p 759 1095 p 760 1095 p 761 1095 p 780 1095 p 161 1094 p 762 1094 p 763 1094 p 764 1094 p 767 1094 p 784 1094 p 162 1093 p 765 1093 p 766 1093 p 767 1093 p 770 1093 p 783 1093 p 163 1092 p 768 1092 p 769 1092 p 770 1092 p 773 1092 p 785 1092 p 787 1092 p 164 1091 p 771 1091 p 772 1091 p 773 1091 p 776 1091 p 786 1091 p 790 1091 p 165 1090 p 774 1090 p 775 1090 p 776 1090 p 779 1090 p 789 1090 p 793 1090 p 166 1089 p 777 1089 p 778 1089 p 779 1089 p 782 1089 p 792 1089 p 796 1089 p 167 1088 p 780 1088 p 781 1088 p 782 1088 p 795 1088 p 168 1087 p 783 1087 p 784 1087 p 785 1087 p 788 1087 p 803 1087 p 802 1087 p 805 1087 p 169 1086 p 786 1086 p 787 1086 p 788 1086 p 791 1086 p 804 1086 p 808 1086 p 170 1085 p 789 1085 p 790 1085 p 791 1085 p 794 1085 p 807 1085 p 811 1085 p 171 1084 p 792 1084 p 793 1084 p 794 1084 p 797 1084 p 810 1084 p 814 1084 p 172 1083 p 795 1083 p 796 1083 p 797 1083 p 813 1083 p 816 1083 p 173 1082 p 801 1082 p 803 1082 p 822 1082 p 821 1082 p 824 1082 p 174 1081 p 802 1081 p 801 1081 p 806 1081 p 826 1081 p 828 1081 p 175 1080 p 804 1080 p 805 1080 p 806 1080 p 809 1080 p 827 1080 p 831 1080 p 176 1079 p 807 1079 p 808 1079 p 809 1079 p 812 1079 p 830 1079 p 834 1079 p 177 1078 p 810 1078 p 811 1078 p 812 1078 p 815 1078 p 833 1078 p 837 1078 p 178 1077 p 813 1077 p 814 1077 p 815 1077 p 817 1077 p 836 1077 p 840 1077 p 179 1076 p 816 1076 p 817 1076 p 839 1076 p 842 1076 p 180 1075 p 823 1075 p 822 1075 p 850 1075 p 849 1075 p 852 1075 p 181 1074 p 821 1074 p 823 1074 p 825 1074 p 854 1074 p 855 1074 p 182 1073 p 824 1073 p 825 1073 p 826 1073 p 829 1073 p 857 1073 p 858 1073 p 183 1072 p 827 1072 p 828 1072 p 829 1072 p 832 1072 p 860 1072 p 861 1072 p 184 1071 p 830 1071 p 831 1071 p 832 1071 p 835 1071 p 863 1071 p 864 1071 p 185 1070 p 833 1070 p 834 1070 p 835 1070 p 838 1070 p 866 1070 p 868 1070 p 186 1069 p 836 1069 p 837 1069 p 838 1069 p 841 1069 p 867 1069 p 871 1069 p 187 1068 p 839 1068 p 840 1068 p 841 1068 p 843 1068 p 870 1068 p 873 1068 p 876 1068 p 188 1067 p 842 1067 p 843 1067 p 875 1067 p 878 1067 p 189 1066 p 851 1066 p 850 1066 p 883 1066 p 885 1066 p 886 1066 p 190 1065 p 849 1065 p 851 1065 p 853 1065 p 887 1065 p 889 1065 p 191 1064 p 852 1064 p 853 1064 p 854 1064 p 856 1064 p 891 1064 p 892 1064 p 192 1063 p 855 1063 p 856 1063 p 857 1063 p 859 1063 p 894 1063 p 895 1063 p 193 1062 p 858 1062 p 859 1062 p 860 1062 p 862 1062 p 897 1062 p 898 1062 p 194 1061 p 861 1061 p 862 1061 p 863 1061 p 865 1061 p 900 1061 p 901 1061 p 195 1060 p 864 1060 p 865 1060 p 866 1060 p 869 1060 p 903 1060 p 904 1060 p 196 1059 p 867 1059 p 868 1059 p 869 1059 p 872 1059 p 906 1059 p 907 1059 p 197 1058 p 870 1058 p 871 1058 p 872 1058 p 874 1058 p 909 1058 p 910 1058 p 198 1057 p 873 1057 p 874 1057 p 877 1057 p 912 1057 p 913 1057 p 199 1056 p 875 1056 p 876 1056 p 877 1056 p 879 1056 p 881 1056 p 915 1056 p 916 1056 p 200 1055 p 878 1055 p 879 1055 p 880 1055 p 201 1054 p 884 1054 p 883 1054 p 923 1054 p 925 1054 p 202 1053 p 885 1053 p 884 1053 p 888 1053 p 924 1053 p 927 1053 p 203 1052 p 887 1052 p 886 1052 p 888 1052 p 890 1052 p 928 1052 p 930 1052 p 204 1051 p 889 1051 p 890 1051 p 891 1051 p 893 1051 p 931 1051 p 933 1051 p 935 1051 p 205 1050 p 892 1050 p 893 1050 p 894 1050 p 896 1050 p 937 1050 p 938 1050 p 206 1049 p 895 1049 p 896 1049 p 897 1049 p 899 1049 p 940 1049 p 941 1049 p 207 1048 p 898 1048 p 899 1048 p 900 1048 p 902 1048 p 943 1048 p 944 1048 p 208 1047 p 901 1047 p 902 1047 p 903 1047 p 905 1047 p 946 1047 p 947 1047 p 209 1046 p 904 1046 p 905 1046 p 906 1046 p 908 1046 p 949 1046 p 950 1046 p 210 1045 p 907 1045 p 908 1045 p 909 1045 p 911 1045 p 952 1045 p 955 1045 p 211 1044 p 910 1044 p 911 1044 p 912 1044 p 914 1044 p 953 1044 p 212 1043 p 913 1043 p 914 1043 p 915 1043 p 917 1043 p 954 1043 p 957 1043 p 213 1042 p 916 1042 p 917 1042 p 918 1042 p 958 1042 p 214 1041 p 926 1041 p 925 1041 p 964 1041 p 966 1041 p 215 1040 p 924 1040 p 923 1040 p 926 1040 p 929 1040 p 965 1040 p 969 1040 p 216 1039 p 928 1039 p 927 1039 p 929 1039 p 932 1039 p 968 1039 p 972 1039 p 217 1038 p 931 1038 p 930 1038 p 932 1038 p 934 1038 p 971 1038 p 975 1038 p 218 1037 p 933 1037 p 934 1037 p 936 1037 p 974 1037 p 977 1037 p 219 1036 p 935 1036 p 936 1036 p 937 1036 p 939 1036 p 979 1036 p 980 1036 p 220 1035 p 938 1035 p 939 1035 p 940 1035 p 942 1035 p 982 1035 p 983 1035 p 221 1034 p 941 1034 p 942 1034 p 943 1034 p 945 1034 p 985 1034 p 986 1034 p 222 1033 p 944 1033 p 945 1033 p 946 1033 p 948 1033 p 988 1033 p 989 1033 p 223 1032 p 947 1032 p 948 1032 p 949 1032 p 951 1032 p 991 1032 p 992 1032 p 224 1031 p 950 1031 p 951 1031 p 952 1031 p 956 1031 p 994 1031 p 995 1031 p 225 1030 p 954 1030 p 953 1030 p 955 1030 p 956 1030 p 959 1030 p 997 1030 p 998 1030 p 226 1029 p 958 1029 p 957 1029 p 959 1029 p 1000 1029 p 227 1028 p 967 1028 p 966 1028 p 1004 1028 p 1006 1028 p 228 1027 p 965 1027 p 964 1027 p 967 1027 p 970 1027 p 1003 1027 p 1008 1027 p 229 1026 p 968 1026 p 969 1026 p 970 1026 p 973 1026 p 1007 1026 p 1011 1026 p 230 1025 p 971 1025 p 972 1025 p 973 1025 p 976 1025 p 1010 1025 p 1014 1025 p 231 1024 p 974 1024 p 975 1024 p 976 1024 p 978 1024 p 1013 1024 p 1017 1024 p 232 1023 p 977 1023 p 978 1023 p 979 1023 p 981 1023 p 1016 1023 p 1019 1023 p 233 1022 p 980 1022 p 981 1022 p 982 1022 p 984 1022 p 1020 1022 p 1022 1022 p 234 1021 p 983 1021 p 984 1021 p 985 1021 p 987 1021 p 1024 1021 p 1025 1021 p 235 1020 p 986 1020 p 987 1020 p 988 1020 p 990 1020 p 1027 1020 p 1028 1020 p 236 1019 p 989 1019 p 990 1019 p 991 1019 p 993 1019 p 1030 1019 p 1031 1019 p 237 1018 p 992 1018 p 993 1018 p 994 1018 p 996 1018 p 1033 1018 p 1034 1018 p 238 1017 p 995 1017 p 996 1017 p 997 1017 p 999 1017 p 1036 1017 p 1037 1017 p 239 1016 p 998 1016 p 999 1016 p 1000 1016 p 1039 1016 p 240 1015 p 1005 1015 p 1006 1015 p 1043 1015 p 1045 1015 p 241 1014 p 1003 1014 p 1004 1014 p 1005 1014 p 1009 1014 p 1042 1014 p 1047 1014 p 242 1013 p 1007 1013 p 1008 1013 p 1009 1013 p 1012 1013 p 1046 1013 p 1050 1013 p 243 1012 p 1010 1012 p 1011 1012 p 1012 1012 p 1015 1012 p 1049 1012 p 1053 1012 p 244 1011 p 1013 1011 p 1014 1011 p 1015 1011 p 1018 1011 p 1052 1011 p 1056 1011 p 245 1010 p 1016 1010 p 1017 1010 p 1018 1010 p 1021 1010 p 1055 1010 p 1059 1010 p 246 1009 p 1020 1009 p 1019 1009 p 1021 1009 p 1023 1009 p 1058 1009 p 1061 1009 p 247 1008 p 1022 1008 p 1023 1008 p 1024 1008 p 1026 1008 p 1062 1008 p 1064 1008 p 248 1007 p 1025 1007 p 1026 1007 p 1027 1007 p 1029 1007 p 1066 1007 p 1067 1007 p 249 1006 p 1028 1006 p 1029 1006 p 1030 1006 p 1032 1006 p 1069 1006 p 1070 1006 p 250 1005 p 1031 1005 p 1032 1005 p 1033 1005 p 1035 1005 p 1072 1005 p 1073 1005 p 251 1004 p 1034 1004 p 1035 1004 p 1036 1004 p 1038 1004 p 1075 1004 p 1076 1004 p 252 1003 p 1037 1003 p 1038 1003 p 1039 1003 p 1078 1003 p 253 1002 p 1044 1002 p 1045 1002 p 1085 1002 p 254 1001 p 1042 1001 p 1043 1001 p 1044 1001 p 1048 1001 p 1084 1001 p 1087 1001 p 255 1000 p 1046 1000 p 1047 1000 p 1048 1000 p 1051 1000 p 1086 1000 p 1090 1000 p 256 999 p 1049 999 p 1050 999 p 1051 999 p 1054 999 p 1089 999 p 1093 999 p 257 998 p 1052 998 p 1053 998 p 1054 998 p 1057 998 p 1092 998 p 1096 998 p 258 997 p 1055 997 p 1056 997 p 1057 997 p 1060 997 p 1095 997 p 1099 997 p 259 996 p 1058 996 p 1059 996 p 1060 996 p 1063 996 p 1098 996 p 1102 996 p 260 995 p 1062 995 p 1061 995 p 1063 995 p 1065 995 p 1101 995 p 1104 995 p 261 994 p 1064 994 p 1065 994 p 1066 994 p 1068 994 p 1105 994 p 1107 994 p 262 993 p 1067 993 p 1068 993 p 1069 993 p 1071 993 p 1109 993 p 1110 993 p 263 992 p 1070 992 p 1071 992 p 1072 992 p 1074 992 p 1112 992 p 1113 992 p 264 991 p 1073 991 p 1074 991 p 1075 991 p 1077 991 p 1115 991 p 1116 991 p 265 990 p 1076 990 p 1077 990 p 1078 990 p 1118 990 p 1120 990 p 266 989 p 1084 989 p 1085 989 p 1088 989 p 1123 989 p 267 988 p 1086 988 p 1087 988 p 1088 988 p 1091 988 p 1122 988 p 1125 988 p 268 987 p 1089 987 p 1090 987 p 1091 987 p 1094 987 p 1124 987 p 1128 987 p 269 986 p 1092 986 p 1093 986 p 1094 986 p 1097 986 p 1127 986 p 1131 986 p 270 985 p 1095 985 p 1096 985 p 1097 985 p 1100 985 p 1130 985 p 1134 985 p 271 984 p 1098 984 p 1099 984 p 1100 984 p 1103 984 p 1133 984 p 1137 984 p 272 983 p 1101 983 p 1102 983 p 1103 983 p 1106 983 p 1136 983 p 1140 983 p 273 982 p 1105 982 p 1104 982 p 1106 982 p 1108 982 p 1139 982 p 1143 982 p 274 981 p 1107 981 p 1108 981 p 1109 981 p 1111 981 p 1142 981 p 1145 981 p 275 980 p 1110 980 p 1111 980 p 1112 980 p 1114 980 p 1146 980 p 1148 980 p 276 979 p 1113 979 p 1114 979 p 1115 979 p 1117 979 p 1149 979 p 1151 979 p 277 978 p 1116 978 p 1117 978 p 1118 978 p 1119 978 p 1153 978 p 1154 978 p 1156 978 p 278 977 p 1120 977 p 1119 977 p 1158 977 p 1162 977 p 279 976 p 1122 976 p 1123 976 p 1126 976 p 1169 976 p 280 975 p 1124 975 p 1125 975 p 1126 975 p 1129 975 p 1168 975 p 1171 975 p 281 974 p 1127 974 p 1128 974 p 1129 974 p 1132 974 p 1170 974 p 1174 974 p 282 973 p 1130 973 p 1131 973 p 1132 973 p 1135 973 p 1173 973 p 1177 973 p 283 972 p 1133 972 p 1134 972 p 1135 972 p 1138 972 p 1176 972 p 1180 972 p 284 971 p 1136 971 p 1137 971 p 1138 971 p 1141 971 p 1179 971 p 1183 971 p 285 970 p 1139 970 p 1140 970 p 1141 970 p 1144 970 p 1182 970 p 1186 970 p 286 969 p 1142 969 p 1143 969 p 1144 969 p 1147 969 p 1185 969 p 1189 969 p 287 968 p 1146 968 p 1145 968 p 1147 968 p 1150 968 p 1188 968 p 1191 968 p 288 967 p 1149 967 p 1148 967 p 1150 967 p 1152 967 p 1192 967 p 1196 967 p 289 966 p 1151 966 p 1152 966 p 1153 966 p 1155 966 p 1194 966 p 290 965 p 1154 965 p 1155 965 p 1157 965 p 1195 965 p 1200 965 p 291 964 p 1156 964 p 1157 964 p 1158 964 p 1160 964 p 1159 964 p 1198 964 p 292 963 p 1159 963 p 1161 963 p 1162 963 p 293 962 p 1168 962 p 1169 962 p 1172 962 p 1204 962 p 294 961 p 1170 961 p 1171 961 p 1172 961 p 1175 961 p 1203 961 p 1206 961 p 295 960 p 1173 960 p 1174 960 p 1175 960 p 1178 960 p 1205 960 p 1209 960 p 296 959 p 1176 959 p 1177 959 p 1178 959 p 1181 959 p 1208 959 p 1212 959 p 297 958 p 1179 958 p 1180 958 p 1181 958 p 1184 958 p 1211 958 p 1215 958 p 298 957 p 1182 957 p 1183 957 p 1184 957 p 1187 957 p 1214 957 p 1218 957 p 299 956 p 1185 956 p 1186 956 p 1187 956 p 1190 956 p 1217 956 p 1221 956 p 300 955 p 1188 955 p 1189 955 p 1190 955 p 1193 955 p 1220 955 p 1223 955 p 301 954 p 1192 954 p 1191 954 p 1193 954 p 1197 954 p 1224 954 p 1226 954 p 302 953 p 1195 953 p 1194 953 p 1196 953 p 1197 953 p 1201 953 p 1227 953 p 1229 953 p 303 952 p 1199 952 p 1198 952 p 1200 952 p 1201 952 p 1230 952 p 304 951 p 1203 951 p 1204 951 p 1207 951 p 1237 951 p 305 950 p 1205 950 p 1206 950 p 1207 950 p 1210 950 p 1236 950 p 1239 950 p 306 949 p 1208 949 p 1209 949 p 1210 949 p 1213 949 p 1238 949 p 1242 949 p 307 948 p 1211 948 p 1212 948 p 1213 948 p 1216 948 p 1241 948 p 1245 948 p 308 947 p 1214 947 p 1215 947 p 1216 947 p 1219 947 p 1244 947 p 1247 947 p 309 946 p 1217 946 p 1218 946 p 1219 946 p 1222 946 p 1246 946 p 1249 946 p 310 945 p 1220 945 p 1221 945 p 1222 945 p 1225 945 p 1248 945 p 1251 945 p 311 944 p 1224 944 p 1223 944 p 1225 944 p 1228 944 p 1250 944 p 1254 944 p 312 943 p 1227 943 p 1226 943 p 1228 943 p 1231 943 p 1253 943 p 313 942 p 1230 942 p 1229 942 p 1231 942 p 1252 942 p 314 941 p 1236 941 p 1237 941 p 1240 941 p 1255 941 p 315 940 p 1235 940 p 1234 940 p 1238 940 p 1239 940 p 1240 940 p 1243 940 p 316 939 p 1166 939 p 1165 939 p 1167 939 p 1241 939 p 1242 939 p 1243 939 p 317 938 p 1082 938 p 1081 938 p 1083 938 p 1167 938 p 1244 938 p 1245 938 p 318 937 p 1002 937 p 1001 937 p 1040 937 p 1083 937 p 1246 937 p 1247 937 p 319 936 p 922 936 p 921 936 p 960 936 p 1040 936 p 1248 936 p 1249 936 p 320 935 p 847 935 p 846 935 p 848 935 p 960 935 p 1250 935 p 1251 935 p 321 934 p 819 934 p 818 934 p 848 934 p 1252 934 p 1253 934 p 1254 934 p 322 933 p 1233 933 p 1232 933 p 1235 933 p 1255 933 p 323 932 p 1164 932 p 1163 932 p 1166 932 p 1202 932 p 1232 932 p 1234 932 p 324 931 p 1080 931 p 1079 931 p 1082 931 p 1121 931 p 1163 931 p 1165 931 p 325 930 p 963 930 p 962 930 p 1002 930 p 1041 930 p 1079 930 p 1081 930 p 326 929 p 920 929 p 919 929 p 922 929 p 961 929 p 962 929 p 1001 929 p 327 928 p 845 928 p 844 928 p 847 928 p 882 928 p 919 928 p 921 928 p 328 927 p 798 927 p 800 927 p 819 927 p 820 927 p 844 927 p 846 927 p 329 926 p 800 926 p 799 926 p 818 926 p 330 925 p 331 925 p 332 925 p 333 925 p 334 925 p 4 925 p 12 925 p 330 924 p 331 924 p 332 924 p 338 924 p 335 924 p 12 924 p 5 924 p 330 923 p 331 923 p 332 923 p 1164 923 p 1202 923 p 4 923 p 5 923 p 333 922 p 334 922 p 330 922 p 4 922 p 11 922 p 333 921 p 334 921 p 330 921 p 357 921 p 358 921 p 11 921 p 12 921 p 335 920 p 336 920 p 337 920 p 331 920 p 338 920 p 5 920 p 13 920 p 335 919 p 336 919 p 337 919 p 342 919 p 339 919 p 13 919 p 6 919 p 335 918 p 336 918 p 337 918 p 1080 918 p 1121 918 p 5 918 p 6 918 p 331 917 p 338 917 p 335 917 p 361 917 p 362 917 p 12 917 p 13 917 p 339 916 p 340 916 p 341 916 p 336 916 p 342 916 p 6 916 p 14 916 p 339 915 p 340 915 p 341 915 p 346 915 p 343 915 p 14 915 p 7 915 p 339 914 p 340 914 p 341 914 p 963 914 p 1041 914 p 6 914 p 7 914 p 336 913 p 342 913 p 339 913 p 364 913 p 365 913 p 13 913 p 14 913 p 343 912 p 344 912 p 345 912 p 340 912 p 346 912 p 7 912 p 15 912 p 343 911 p 344 911 p 345 911 p 350 911 p 347 911 p 15 911 p 8 911 p 343 910 p 344 910 p 345 910 p 920 910 p 961 910 p 7 910 p 8 910 p 340 909 p 346 909 p 343 909 p 367 909 p 368 909 p 14 909 p 15 909 p 347 908 p 348 908 p 349 908 p 344 908 p 350 908 p 8 908 p 16 908 p 347 907 p 348 907 p 349 907 p 354 907 p 351 907 p 16 907 p 9 907 p 347 906 p 348 906 p 349 906 p 845 906 p 882 906 p 8 906 p 9 906 p 344 905 p 350 905 p 347 905 p 370 905 p 371 905 p 15 905 p 16 905 p 351 904 p 352 904 p 353 904 p 348 904 p 354 904 p 9 904 p 17 904 p 351 903 p 352 903 p 353 903 p 355 903 p 356 903 p 17 903 p 10 903 p 351 902 p 352 902 p 353 902 p 798 902 p 820 902 p 9 902 p 10 902 p 348 901 p 354 901 p 351 901 p 373 901 p 374 901 p 16 901 p 17 901 p 355 900 p 356 900 p 352 900 p 376 900 p 377 900 p 17 900 p 18 900 p 355 899 p 356 899 p 352 899 p 18 899 p 10 899 p 357 898 p 358 898 p 334 898 p 359 898 p 360 898 p 11 898 p 20 898 p 357 897 p 358 897 p 334 897 p 363 897 p 361 897 p 20 897 p 12 897 p 359 896 p 360 896 p 357 896 p 11 896 p 19 896 p 359 895 p 360 895 p 357 895 p 379 895 p 380 895 p 19 895 p 20 895 p 361 894 p 362 894 p 338 894 p 358 894 p 363 894 p 12 894 p 21 894 p 361 893 p 362 893 p 338 893 p 366 893 p 364 893 p 21 893 p 13 893 p 358 892 p 363 892 p 361 892 p 383 892 p 384 892 p 20 892 p 21 892 p 364 891 p 365 891 p 342 891 p 362 891 p 366 891 p 13 891 p 22 891 p 364 890 p 365 890 p 342 890 p 369 890 p 367 890 p 22 890 p 14 890 p 362 889 p 366 889 p 364 889 p 386 889 p 387 889 p 21 889 p 22 889 p 367 888 p 368 888 p 346 888 p 365 888 p 369 888 p 14 888 p 23 888 p 367 887 p 368 887 p 346 887 p 372 887 p 370 887 p 23 887 p 15 887 p 365 886 p 369 886 p 367 886 p 389 886 p 390 886 p 22 886 p 23 886 p 370 885 p 371 885 p 350 885 p 368 885 p 372 885 p 15 885 p 24 885 p 370 884 p 371 884 p 350 884 p 375 884 p 373 884 p 24 884 p 16 884 p 368 883 p 372 883 p 370 883 p 392 883 p 393 883 p 23 883 p 24 883 p 373 882 p 374 882 p 354 882 p 371 882 p 375 882 p 16 882 p 25 882 p 373 881 p 374 881 p 354 881 p 378 881 p 376 881 p 25 881 p 17 881 p 371 880 p 375 880 p 373 880 p 395 880 p 396 880 p 24 880 p 25 880 p 376 879 p 377 879 p 355 879 p 374 879 p 378 879 p 17 879 p 26 879 p 376 878 p 377 878 p 355 878 p 26 878 p 18 878 p 374 877 p 378 877 p 376 877 p 398 877 p 399 877 p 25 877 p 26 877 p 379 876 p 380 876 p 360 876 p 381 876 p 382 876 p 19 876 p 28 876 p 379 875 p 380 875 p 360 875 p 385 875 p 383 875 p 28 875 p 20 875 p 381 874 p 382 874 p 379 874 p 19 874 p 27 874 p 381 873 p 382 873 p 379 873 p 405 873 p 406 873 p 27 873 p 28 873 p 383 872 p 384 872 p 363 872 p 380 872 p 385 872 p 20 872 p 29 872 p 383 871 p 384 871 p 363 871 p 388 871 p 386 871 p 29 871 p 21 871 p 380 870 p 385 870 p 383 870 p 409 870 p 410 870 p 28 870 p 29 870 p 386 869 p 387 869 p 366 869 p 384 869 p 388 869 p 21 869 p 30 869 p 386 868 p 387 868 p 366 868 p 391 868 p 389 868 p 30 868 p 22 868 p 384 867 p 388 867 p 386 867 p 412 867 p 413 867 p 29 867 p 30 867 p 389 866 p 390 866 p 369 866 p 387 866 p 391 866 p 22 866 p 31 866 p 389 865 p 390 865 p 369 865 p 394 865 p 392 865 p 31 865 p 23 865 p 387 864 p 391 864 p 389 864 p 415 864 p 416 864 p 30 864 p 31 864 p 392 863 p 393 863 p 372 863 p 390 863 p 394 863 p 23 863 p 32 863 p 392 862 p 393 862 p 372 862 p 397 862 p 395 862 p 32 862 p 24 862 p 390 861 p 394 861 p 392 861 p 418 861 p 419 861 p 31 861 p 32 861 p 395 860 p 396 860 p 375 860 p 393 860 p 397 860 p 24 860 p 33 860 p 395 859 p 396 859 p 375 859 p 400 859 p 398 859 p 33 859 p 25 859 p 393 858 p 397 858 p 395 858 p 421 858 p 422 858 p 32 858 p 33 858 p 398 857 p 399 857 p 378 857 p 396 857 p 400 857 p 25 857 p 34 857 p 398 856 p 399 856 p 378 856 p 401 856 p 402 856 p 34 856 p 26 856 p 396 855 p 400 855 p 398 855 p 424 855 p 425 855 p 33 855 p 34 855 p 401 854 p 402 854 p 399 854 p 427 854 p 428 854 p 34 854 p 35 854 p 401 853 p 402 853 p 399 853 p 403 853 p 404 853 p 35 853 p 26 853 p 403 852 p 404 852 p 402 852 p 430 852 p 431 852 p 35 852 p 36 852 p 403 851 p 404 851 p 402 851 p 36 851 p 26 851 p 405 850 p 382 850 p 406 850 p 411 850 p 410 850 p 38 850 p 28 850 p 405 849 p 382 849 p 406 849 p 407 849 p 408 849 p 38 849 p 27 849 p 407 848 p 406 848 p 408 848 p 435 848 p 436 848 p 37 848 p 38 848 p 407 847 p 406 847 p 408 847 p 37 847 p 27 847 p 409 846 p 385 846 p 410 846 p 414 846 p 413 846 p 39 846 p 29 846 p 409 845 p 385 845 p 410 845 p 411 845 p 405 845 p 39 845 p 28 845 p 411 844 p 410 844 p 405 844 p 439 844 p 440 844 p 38 844 p 39 844 p 412 843 p 388 843 p 413 843 p 417 843 p 415 843 p 40 843 p 30 843 p 412 842 p 388 842 p 413 842 p 414 842 p 409 842 p 40 842 p 29 842 p 414 841 p 413 841 p 409 841 p 442 841 p 443 841 p 39 841 p 40 841 p 415 840 p 416 840 p 391 840 p 412 840 p 417 840 p 30 840 p 41 840 p 415 839 p 416 839 p 391 839 p 420 839 p 418 839 p 41 839 p 31 839 p 412 838 p 417 838 p 415 838 p 445 838 p 446 838 p 40 838 p 41 838 p 418 837 p 419 837 p 394 837 p 416 837 p 420 837 p 31 837 p 42 837 p 418 836 p 419 836 p 394 836 p 423 836 p 421 836 p 42 836 p 32 836 p 416 835 p 420 835 p 418 835 p 448 835 p 449 835 p 41 835 p 42 835 p 421 834 p 422 834 p 397 834 p 419 834 p 423 834 p 32 834 p 43 834 p 421 833 p 422 833 p 397 833 p 426 833 p 424 833 p 43 833 p 33 833 p 419 832 p 423 832 p 421 832 p 451 832 p 452 832 p 42 832 p 43 832 p 424 831 p 425 831 p 400 831 p 422 831 p 426 831 p 33 831 p 44 831 p 424 830 p 425 830 p 400 830 p 429 830 p 427 830 p 44 830 p 34 830 p 422 829 p 426 829 p 424 829 p 454 829 p 455 829 p 43 829 p 44 829 p 427 828 p 428 828 p 401 828 p 425 828 p 429 828 p 34 828 p 45 828 p 427 827 p 428 827 p 401 827 p 432 827 p 430 827 p 45 827 p 35 827 p 425 826 p 429 826 p 427 826 p 457 826 p 458 826 p 44 826 p 45 826 p 430 825 p 431 825 p 403 825 p 428 825 p 432 825 p 35 825 p 46 825 p 430 824 p 431 824 p 403 824 p 433 824 p 434 824 p 46 824 p 36 824 p 428 823 p 432 823 p 430 823 p 460 823 p 461 823 p 45 823 p 46 823 p 433 822 p 434 822 p 431 822 p 465 822 p 466 822 p 46 822 p 47 822 p 433 821 p 434 821 p 431 821 p 47 821 p 36 821 p 435 820 p 407 820 p 436 820 p 441 820 p 440 820 p 49 820 p 38 820 p 435 819 p 407 819 p 436 819 p 437 819 p 438 819 p 49 819 p 37 819 p 437 818 p 436 818 p 438 818 p 474 818 p 475 818 p 48 818 p 49 818 p 437 817 p 436 817 p 438 817 p 48 817 p 37 817 p 439 816 p 411 816 p 440 816 p 444 816 p 443 816 p 50 816 p 39 816 p 439 815 p 411 815 p 440 815 p 441 815 p 435 815 p 50 815 p 38 815 p 441 814 p 440 814 p 435 814 p 478 814 p 479 814 p 49 814 p 50 814 p 442 813 p 414 813 p 443 813 p 447 813 p 446 813 p 51 813 p 40 813 p 442 812 p 414 812 p 443 812 p 444 812 p 439 812 p 51 812 p 39 812 p 444 811 p 443 811 p 439 811 p 481 811 p 482 811 p 50 811 p 51 811 p 445 810 p 417 810 p 446 810 p 450 810 p 449 810 p 52 810 p 41 810 p 445 809 p 417 809 p 446 809 p 447 809 p 442 809 p 52 809 p 40 809 p 447 808 p 446 808 p 442 808 p 484 808 p 485 808 p 51 808 p 52 808 p 448 807 p 420 807 p 449 807 p 453 807 p 452 807 p 53 807 p 42 807 p 448 806 p 420 806 p 449 806 p 450 806 p 445 806 p 53 806 p 41 806 p 450 805 p 449 805 p 445 805 p 487 805 p 488 805 p 52 805 p 53 805 p 451 804 p 423 804 p 452 804 p 456 804 p 455 804 p 54 804 p 43 804 p 451 803 p 423 803 p 452 803 p 453 803 p 448 803 p 54 803 p 42 803 p 453 802 p 452 802 p 448 802 p 490 802 p 491 802 p 53 802 p 54 802 p 454 801 p 426 801 p 455 801 p 459 801 p 457 801 p 55 801 p 44 801 p 454 800 p 426 800 p 455 800 p 456 800 p 451 800 p 55 800 p 43 800 p 456 799 p 455 799 p 451 799 p 493 799 p 494 799 p 54 799 p 55 799 p 457 798 p 458 798 p 429 798 p 454 798 p 459 798 p 44 798 p 56 798 p 457 797 p 458 797 p 429 797 p 462 797 p 460 797 p 56 797 p 45 797 p 454 796 p 459 796 p 457 796 p 496 796 p 497 796 p 55 796 p 56 796 p 460 795 p 461 795 p 432 795 p 458 795 p 462 795 p 45 795 p 57 795 p 460 794 p 461 794 p 432 794 p 463 794 p 464 794 p 57 794 p 46 794 p 458 793 p 462 793 p 460 793 p 499 793 p 500 793 p 56 793 p 57 793 p 461 792 p 463 792 p 464 792 p 502 792 p 503 792 p 57 792 p 58 792 p 461 791 p 463 791 p 464 791 p 467 791 p 465 791 p 46 791 p 58 791 p 465 790 p 466 790 p 433 790 p 464 790 p 467 790 p 46 790 p 59 790 p 465 789 p 466 789 p 433 789 p 471 789 p 470 789 p 59 789 p 47 789 p 464 788 p 467 788 p 465 788 p 506 788 p 507 788 p 58 788 p 59 788 p 468 787 p 469 787 p 470 787 p 472 787 p 473 787 p 60 787 p 2 787 p 468 786 p 469 786 p 470 786 p 2 786 p 47 786 p 468 785 p 469 785 p 470 785 p 471 785 p 466 785 p 60 785 p 47 785 p 471 784 p 470 784 p 466 784 p 505 784 p 506 784 p 59 784 p 60 784 p 472 783 p 468 783 p 473 783 p 61 783 p 2 783 p 472 782 p 468 782 p 473 782 p 509 782 p 511 782 p 61 782 p 60 782 p 474 781 p 437 781 p 475 781 p 480 781 p 479 781 p 63 781 p 49 781 p 474 780 p 437 780 p 475 780 p 476 780 p 477 780 p 63 780 p 48 780 p 476 779 p 475 779 p 477 779 p 512 779 p 513 779 p 62 779 p 63 779 p 476 778 p 475 778 p 477 778 p 62 778 p 48 778 p 478 777 p 441 777 p 479 777 p 483 777 p 482 777 p 64 777 p 50 777 p 478 776 p 441 776 p 479 776 p 480 776 p 474 776 p 64 776 p 49 776 p 480 775 p 479 775 p 474 775 p 516 775 p 517 775 p 63 775 p 64 775 p 481 774 p 444 774 p 482 774 p 486 774 p 485 774 p 65 774 p 51 774 p 481 773 p 444 773 p 482 773 p 483 773 p 478 773 p 65 773 p 50 773 p 483 772 p 482 772 p 478 772 p 519 772 p 520 772 p 64 772 p 65 772 p 484 771 p 447 771 p 485 771 p 489 771 p 488 771 p 66 771 p 52 771 p 484 770 p 447 770 p 485 770 p 486 770 p 481 770 p 66 770 p 51 770 p 486 769 p 485 769 p 481 769 p 522 769 p 523 769 p 65 769 p 66 769 p 487 768 p 450 768 p 488 768 p 492 768 p 491 768 p 67 768 p 53 768 p 487 767 p 450 767 p 488 767 p 489 767 p 484 767 p 67 767 p 52 767 p 489 766 p 488 766 p 484 766 p 525 766 p 526 766 p 66 766 p 67 766 p 490 765 p 453 765 p 491 765 p 495 765 p 494 765 p 68 765 p 54 765 p 490 764 p 453 764 p 491 764 p 492 764 p 487 764 p 68 764 p 53 764 p 492 763 p 491 763 p 487 763 p 528 763 p 529 763 p 67 763 p 68 763 p 493 762 p 456 762 p 494 762 p 498 762 p 497 762 p 69 762 p 55 762 p 493 761 p 456 761 p 494 761 p 495 761 p 490 761 p 69 761 p 54 761 p 495 760 p 494 760 p 490 760 p 531 760 p 532 760 p 68 760 p 69 760 p 496 759 p 459 759 p 497 759 p 501 759 p 500 759 p 70 759 p 56 759 p 496 758 p 459 758 p 497 758 p 498 758 p 493 758 p 70 758 p 55 758 p 498 757 p 497 757 p 493 757 p 534 757 p 535 757 p 69 757 p 70 757 p 499 756 p 462 756 p 500 756 p 504 756 p 503 756 p 71 756 p 57 756 p 499 755 p 462 755 p 500 755 p 501 755 p 496 755 p 71 755 p 56 755 p 501 754 p 500 754 p 496 754 p 537 754 p 538 754 p 70 754 p 71 754 p 502 753 p 463 753 p 503 753 p 508 753 p 507 753 p 72 753 p 58 753 p 502 752 p 463 752 p 503 752 p 504 752 p 499 752 p 72 752 p 57 752 p 504 751 p 503 751 p 499 751 p 540 751 p 541 751 p 71 751 p 72 751 p 505 750 p 471 750 p 506 750 p 509 750 p 510 750 p 73 750 p 60 750 p 505 749 p 471 749 p 506 749 p 467 749 p 507 749 p 73 749 p 59 749 p 506 748 p 467 748 p 507 748 p 508 748 p 502 748 p 73 748 p 58 748 p 508 747 p 507 747 p 502 747 p 543 747 p 544 747 p 72 747 p 73 747 p 509 746 p 505 746 p 510 746 p 473 746 p 511 746 p 74 746 p 60 746 p 509 745 p 505 745 p 510 745 p 546 745 p 547 745 p 74 745 p 73 745 p 473 744 p 509 744 p 511 744 p 61 744 p 74 744 p 512 743 p 476 743 p 513 743 p 518 743 p 517 743 p 76 743 p 63 743 p 512 742 p 476 742 p 513 742 p 514 742 p 515 742 p 76 742 p 62 742 p 514 741 p 513 741 p 515 741 p 549 741 p 550 741 p 75 741 p 76 741 p 514 740 p 513 740 p 515 740 p 75 740 p 62 740 p 516 739 p 480 739 p 517 739 p 521 739 p 520 739 p 77 739 p 64 739 p 516 738 p 480 738 p 517 738 p 518 738 p 512 738 p 77 738 p 63 738 p 518 737 p 517 737 p 512 737 p 551 737 p 552 737 p 76 737 p 77 737 p 519 736 p 483 736 p 520 736 p 524 736 p 523 736 p 78 736 p 65 736 p 519 735 p 483 735 p 520 735 p 521 735 p 516 735 p 78 735 p 64 735 p 521 734 p 520 734 p 516 734 p 554 734 p 555 734 p 77 734 p 78 734 p 522 733 p 486 733 p 523 733 p 527 733 p 526 733 p 79 733 p 66 733 p 522 732 p 486 732 p 523 732 p 524 732 p 519 732 p 79 732 p 65 732 p 524 731 p 523 731 p 519 731 p 557 731 p 558 731 p 78 731 p 79 731 p 525 730 p 489 730 p 526 730 p 530 730 p 529 730 p 80 730 p 67 730 p 525 729 p 489 729 p 526 729 p 527 729 p 522 729 p 80 729 p 66 729 p 527 728 p 526 728 p 522 728 p 560 728 p 561 728 p 79 728 p 80 728 p 528 727 p 492 727 p 529 727 p 533 727 p 532 727 p 81 727 p 68 727 p 528 726 p 492 726 p 529 726 p 530 726 p 525 726 p 81 726 p 67 726 p 530 725 p 529 725 p 525 725 p 563 725 p 564 725 p 80 725 p 81 725 p 531 724 p 495 724 p 532 724 p 536 724 p 535 724 p 82 724 p 69 724 p 531 723 p 495 723 p 532 723 p 533 723 p 528 723 p 82 723 p 68 723 p 533 722 p 532 722 p 528 722 p 566 722 p 567 722 p 81 722 p 82 722 p 534 721 p 498 721 p 535 721 p 539 721 p 538 721 p 83 721 p 70 721 p 534 720 p 498 720 p 535 720 p 536 720 p 531 720 p 83 720 p 69 720 p 536 719 p 535 719 p 531 719 p 569 719 p 570 719 p 82 719 p 83 719 p 537 718 p 501 718 p 538 718 p 542 718 p 541 718 p 84 718 p 71 718 p 537 717 p 501 717 p 538 717 p 539 717 p 534 717 p 84 717 p 70 717 p 539 716 p 538 716 p 534 716 p 572 716 p 573 716 p 83 716 p 84 716 p 540 715 p 504 715 p 541 715 p 545 715 p 544 715 p 85 715 p 72 715 p 540 714 p 504 714 p 541 714 p 542 714 p 537 714 p 85 714 p 71 714 p 542 713 p 541 713 p 537 713 p 575 713 p 576 713 p 84 713 p 85 713 p 543 712 p 508 712 p 544 712 p 548 712 p 547 712 p 86 712 p 73 712 p 543 711 p 508 711 p 544 711 p 545 711 p 540 711 p 86 711 p 72 711 p 545 710 p 544 710 p 540 710 p 578 710 p 579 710 p 85 710 p 86 710 p 546 709 p 510 709 p 547 709 p 87 709 p 74 709 p 546 708 p 510 708 p 547 708 p 548 708 p 543 708 p 87 708 p 73 708 p 548 707 p 547 707 p 543 707 p 581 707 p 582 707 p 86 707 p 87 707 p 549 706 p 514 706 p 550 706 p 553 706 p 552 706 p 88 706 p 76 706 p 549 705 p 514 705 p 550 705 p 88 705 p 75 705 p 551 704 p 518 704 p 552 704 p 556 704 p 555 704 p 89 704 p 77 704 p 551 703 p 518 703 p 552 703 p 553 703 p 549 703 p 89 703 p 76 703 p 553 702 p 552 702 p 549 702 p 586 702 p 587 702 p 88 702 p 89 702 p 554 701 p 521 701 p 555 701 p 559 701 p 558 701 p 90 701 p 78 701 p 554 700 p 521 700 p 555 700 p 556 700 p 551 700 p 90 700 p 77 700 p 556 699 p 555 699 p 551 699 p 588 699 p 589 699 p 89 699 p 90 699 p 557 698 p 524 698 p 558 698 p 562 698 p 561 698 p 91 698 p 79 698 p 557 697 p 524 697 p 558 697 p 559 697 p 554 697 p 91 697 p 78 697 p 559 696 p 558 696 p 554 696 p 591 696 p 592 696 p 90 696 p 91 696 p 560 695 p 527 695 p 561 695 p 565 695 p 564 695 p 92 695 p 80 695 p 560 694 p 527 694 p 561 694 p 562 694 p 557 694 p 92 694 p 79 694 p 562 693 p 561 693 p 557 693 p 594 693 p 595 693 p 91 693 p 92 693 p 563 692 p 530 692 p 564 692 p 568 692 p 567 692 p 93 692 p 81 692 p 563 691 p 530 691 p 564 691 p 565 691 p 560 691 p 93 691 p 80 691 p 565 690 p 564 690 p 560 690 p 597 690 p 598 690 p 92 690 p 93 690 p 566 689 p 533 689 p 567 689 p 571 689 p 570 689 p 94 689 p 82 689 p 566 688 p 533 688 p 567 688 p 568 688 p 563 688 p 94 688 p 81 688 p 568 687 p 567 687 p 563 687 p 600 687 p 601 687 p 93 687 p 94 687 p 569 686 p 536 686 p 570 686 p 574 686 p 573 686 p 95 686 p 83 686 p 569 685 p 536 685 p 570 685 p 571 685 p 566 685 p 95 685 p 82 685 p 571 684 p 570 684 p 566 684 p 603 684 p 604 684 p 94 684 p 95 684 p 572 683 p 539 683 p 573 683 p 577 683 p 576 683 p 96 683 p 84 683 p 572 682 p 539 682 p 573 682 p 574 682 p 569 682 p 96 682 p 83 682 p 574 681 p 573 681 p 569 681 p 606 681 p 607 681 p 95 681 p 96 681 p 575 680 p 542 680 p 576 680 p 580 680 p 579 680 p 97 680 p 85 680 p 575 679 p 542 679 p 576 679 p 577 679 p 572 679 p 97 679 p 84 679 p 577 678 p 576 678 p 572 678 p 609 678 p 610 678 p 96 678 p 97 678 p 578 677 p 545 677 p 579 677 p 583 677 p 582 677 p 98 677 p 86 677 p 578 676 p 545 676 p 579 676 p 580 676 p 575 676 p 98 676 p 85 676 p 580 675 p 579 675 p 575 675 p 612 675 p 613 675 p 97 675 p 98 675 p 581 674 p 548 674 p 582 674 p 584 674 p 585 674 p 99 674 p 87 674 p 581 673 p 548 673 p 582 673 p 583 673 p 578 673 p 99 673 p 86 673 p 583 672 p 582 672 p 578 672 p 615 672 p 616 672 p 98 672 p 99 672 p 584 671 p 581 671 p 585 671 p 100 671 p 87 671 p 584 670 p 581 670 p 585 670 p 618 670 p 619 670 p 100 670 p 99 670 p 586 669 p 553 669 p 587 669 p 590 669 p 589 669 p 101 669 p 89 669 p 586 668 p 553 668 p 587 668 p 101 668 p 88 668 p 588 667 p 556 667 p 589 667 p 593 667 p 592 667 p 102 667 p 90 667 p 588 666 p 556 666 p 589 666 p 590 666 p 586 666 p 102 666 p 89 666 p 590 665 p 589 665 p 586 665 p 623 665 p 624 665 p 101 665 p 102 665 p 591 664 p 559 664 p 592 664 p 596 664 p 595 664 p 103 664 p 91 664 p 591 663 p 559 663 p 592 663 p 593 663 p 588 663 p 103 663 p 90 663 p 593 662 p 592 662 p 588 662 p 625 662 p 626 662 p 102 662 p 103 662 p 594 661 p 562 661 p 595 661 p 599 661 p 598 661 p 104 661 p 92 661 p 594 660 p 562 660 p 595 660 p 596 660 p 591 660 p 104 660 p 91 660 p 596 659 p 595 659 p 591 659 p 628 659 p 629 659 p 103 659 p 104 659 p 597 658 p 565 658 p 598 658 p 602 658 p 601 658 p 105 658 p 93 658 p 597 657 p 565 657 p 598 657 p 599 657 p 594 657 p 105 657 p 92 657 p 599 656 p 598 656 p 594 656 p 631 656 p 632 656 p 104 656 p 105 656 p 600 655 p 568 655 p 601 655 p 605 655 p 604 655 p 106 655 p 94 655 p 600 654 p 568 654 p 601 654 p 602 654 p 597 654 p 106 654 p 93 654 p 602 653 p 601 653 p 597 653 p 634 653 p 635 653 p 105 653 p 106 653 p 603 652 p 571 652 p 604 652 p 608 652 p 607 652 p 107 652 p 95 652 p 603 651 p 571 651 p 604 651 p 605 651 p 600 651 p 107 651 p 94 651 p 605 650 p 604 650 p 600 650 p 637 650 p 638 650 p 106 650 p 107 650 p 606 649 p 574 649 p 607 649 p 611 649 p 610 649 p 108 649 p 96 649 p 606 648 p 574 648 p 607 648 p 608 648 p 603 648 p 108 648 p 95 648 p 608 647 p 607 647 p 603 647 p 640 647 p 641 647 p 107 647 p 108 647 p 609 646 p 577 646 p 610 646 p 614 646 p 613 646 p 109 646 p 97 646 p 609 645 p 577 645 p 610 645 p 611 645 p 606 645 p 109 645 p 96 645 p 611 644 p 610 644 p 606 644 p 643 644 p 644 644 p 108 644 p 109 644 p 612 643 p 580 643 p 613 643 p 617 643 p 616 643 p 110 643 p 98 643 p 612 642 p 580 642 p 613 642 p 614 642 p 609 642 p 110 642 p 97 642 p 614 641 p 613 641 p 609 641 p 646 641 p 647 641 p 109 641 p 110 641 p 615 640 p 583 640 p 616 640 p 620 640 p 619 640 p 111 640 p 99 640 p 615 639 p 583 639 p 616 639 p 617 639 p 612 639 p 111 639 p 98 639 p 617 638 p 616 638 p 612 638 p 649 638 p 650 638 p 110 638 p 111 638 p 618 637 p 585 637 p 619 637 p 621 637 p 622 637 p 112 637 p 100 637 p 618 636 p 585 636 p 619 636 p 620 636 p 615 636 p 112 636 p 99 636 p 620 635 p 619 635 p 615 635 p 652 635 p 653 635 p 111 635 p 112 635 p 621 634 p 618 634 p 622 634 p 113 634 p 100 634 p 621 633 p 618 633 p 622 633 p 655 633 p 656 633 p 113 633 p 112 633 p 623 632 p 590 632 p 624 632 p 627 632 p 626 632 p 114 632 p 102 632 p 623 631 p 590 631 p 624 631 p 114 631 p 101 631 p 625 630 p 593 630 p 626 630 p 630 630 p 629 630 p 115 630 p 103 630 p 625 629 p 593 629 p 626 629 p 627 629 p 623 629 p 115 629 p 102 629 p 627 628 p 626 628 p 623 628 p 660 628 p 661 628 p 114 628 p 115 628 p 628 627 p 596 627 p 629 627 p 633 627 p 632 627 p 116 627 p 104 627 p 628 626 p 596 626 p 629 626 p 630 626 p 625 626 p 116 626 p 103 626 p 630 625 p 629 625 p 625 625 p 662 625 p 663 625 p 115 625 p 116 625 p 631 624 p 599 624 p 632 624 p 636 624 p 635 624 p 117 624 p 105 624 p 631 623 p 599 623 p 632 623 p 633 623 p 628 623 p 117 623 p 104 623 p 633 622 p 632 622 p 628 622 p 665 622 p 666 622 p 116 622 p 117 622 p 634 621 p 602 621 p 635 621 p 639 621 p 638 621 p 118 621 p 106 621 p 634 620 p 602 620 p 635 620 p 636 620 p 631 620 p 118 620 p 105 620 p 636 619 p 635 619 p 631 619 p 668 619 p 669 619 p 117 619 p 118 619 p 637 618 p 605 618 p 638 618 p 642 618 p 641 618 p 119 618 p 107 618 p 637 617 p 605 617 p 638 617 p 639 617 p 634 617 p 119 617 p 106 617 p 639 616 p 638 616 p 634 616 p 671 616 p 668 616 p 118 616 p 119 616 p 640 615 p 608 615 p 641 615 p 645 615 p 644 615 p 120 615 p 108 615 p 640 614 p 608 614 p 641 614 p 642 614 p 637 614 p 120 614 p 107 614 p 642 613 p 641 613 p 637 613 p 672 613 p 673 613 p 119 613 p 120 613 p 643 612 p 611 612 p 644 612 p 648 612 p 647 612 p 121 612 p 109 612 p 643 611 p 611 611 p 644 611 p 645 611 p 640 611 p 121 611 p 108 611 p 645 610 p 644 610 p 640 610 p 675 610 p 676 610 p 120 610 p 121 610 p 646 609 p 614 609 p 647 609 p 651 609 p 650 609 p 122 609 p 110 609 p 646 608 p 614 608 p 647 608 p 648 608 p 643 608 p 122 608 p 109 608 p 648 607 p 647 607 p 643 607 p 678 607 p 679 607 p 121 607 p 122 607 p 649 606 p 617 606 p 650 606 p 654 606 p 653 606 p 123 606 p 111 606 p 649 605 p 617 605 p 650 605 p 651 605 p 646 605 p 123 605 p 110 605 p 651 604 p 650 604 p 646 604 p 681 604 p 682 604 p 122 604 p 123 604 p 652 603 p 620 603 p 653 603 p 657 603 p 656 603 p 124 603 p 112 603 p 652 602 p 620 602 p 653 602 p 654 602 p 649 602 p 124 602 p 111 602 p 654 601 p 653 601 p 649 601 p 684 601 p 685 601 p 123 601 p 124 601 p 655 600 p 622 600 p 656 600 p 658 600 p 659 600 p 125 600 p 113 600 p 655 599 p 622 599 p 656 599 p 657 599 p 652 599 p 125 599 p 112 599 p 657 598 p 656 598 p 652 598 p 687 598 p 688 598 p 124 598 p 125 598 p 658 597 p 655 597 p 659 597 p 126 597 p 113 597 p 658 596 p 655 596 p 659 596 p 692 596 p 693 596 p 126 596 p 125 596 p 660 595 p 627 595 p 661 595 p 664 595 p 663 595 p 127 595 p 115 595 p 660 594 p 627 594 p 661 594 p 127 594 p 114 594 p 662 593 p 630 593 p 663 593 p 667 593 p 666 593 p 128 593 p 116 593 p 662 592 p 630 592 p 663 592 p 664 592 p 660 592 p 128 592 p 115 592 p 664 591 p 663 591 p 660 591 p 697 591 p 698 591 p 127 591 p 128 591 p 665 590 p 633 590 p 666 590 p 670 590 p 669 590 p 129 590 p 117 590 p 665 589 p 633 589 p 666 589 p 667 589 p 662 589 p 129 589 p 116 589 p 667 588 p 666 588 p 662 588 p 699 588 p 697 588 p 128 588 p 129 588 p 668 587 p 636 587 p 669 587 p 671 587 p 639 587 p 130 587 p 118 587 p 668 586 p 636 586 p 669 586 p 670 586 p 665 586 p 130 586 p 117 586 p 670 585 p 669 585 p 665 585 p 700 585 p 701 585 p 129 585 p 130 585 p 671 584 p 639 584 p 668 584 p 674 584 p 673 584 p 130 584 p 119 584 p 672 583 p 642 583 p 673 583 p 677 583 p 676 583 p 131 583 p 120 583 p 672 582 p 642 582 p 673 582 p 674 582 p 671 582 p 131 582 p 119 582 p 674 581 p 673 581 p 671 581 p 703 581 p 704 581 p 130 581 p 131 581 p 675 580 p 645 580 p 676 580 p 680 580 p 679 580 p 132 580 p 121 580 p 675 579 p 645 579 p 676 579 p 677 579 p 672 579 p 132 579 p 120 579 p 677 578 p 676 578 p 672 578 p 706 578 p 707 578 p 131 578 p 132 578 p 678 577 p 648 577 p 679 577 p 683 577 p 682 577 p 133 577 p 122 577 p 678 576 p 648 576 p 679 576 p 680 576 p 675 576 p 133 576 p 121 576 p 680 575 p 679 575 p 675 575 p 709 575 p 710 575 p 132 575 p 133 575 p 681 574 p 651 574 p 682 574 p 686 574 p 685 574 p 134 574 p 123 574 p 681 573 p 651 573 p 682 573 p 683 573 p 678 573 p 134 573 p 122 573 p 683 572 p 682 572 p 678 572 p 712 572 p 713 572 p 133 572 p 134 572 p 684 571 p 654 571 p 685 571 p 689 571 p 688 571 p 135 571 p 124 571 p 684 570 p 654 570 p 685 570 p 686 570 p 681 570 p 135 570 p 123 570 p 686 569 p 685 569 p 681 569 p 715 569 p 716 569 p 134 569 p 135 569 p 687 568 p 657 568 p 688 568 p 690 568 p 691 568 p 136 568 p 125 568 p 687 567 p 657 567 p 688 567 p 689 567 p 684 567 p 136 567 p 124 567 p 689 566 p 688 566 p 684 566 p 718 566 p 719 566 p 135 566 p 136 566 p 690 565 p 691 565 p 687 565 p 721 565 p 722 565 p 136 565 p 137 565 p 690 564 p 691 564 p 687 564 p 694 564 p 693 564 p 137 564 p 125 564 p 692 563 p 659 563 p 693 563 p 695 563 p 696 563 p 138 563 p 126 563 p 692 562 p 659 562 p 693 562 p 694 562 p 691 562 p 138 562 p 125 562 p 694 561 p 693 561 p 691 561 p 724 561 p 725 561 p 137 561 p 138 561 p 695 560 p 692 560 p 696 560 p 139 560 p 126 560 p 695 559 p 692 559 p 696 559 p 727 559 p 728 559 p 139 559 p 138 559 p 697 558 p 664 558 p 698 558 p 699 558 p 667 558 p 140 558 p 128 558 p 697 557 p 664 557 p 698 557 p 140 557 p 127 557 p 699 556 p 667 556 p 697 556 p 702 556 p 701 556 p 140 556 p 129 556 p 700 555 p 670 555 p 701 555 p 705 555 p 704 555 p 141 555 p 130 555 p 700 554 p 670 554 p 701 554 p 702 554 p 699 554 p 141 554 p 129 554 p 702 553 p 701 553 p 699 553 p 734 553 p 735 553 p 140 553 p 141 553 p 703 552 p 674 552 p 704 552 p 708 552 p 707 552 p 142 552 p 131 552 p 703 551 p 674 551 p 704 551 p 705 551 p 700 551 p 142 551 p 130 551 p 705 550 p 704 550 p 700 550 p 736 550 p 734 550 p 141 550 p 142 550 p 706 549 p 677 549 p 707 549 p 711 549 p 710 549 p 143 549 p 132 549 p 706 548 p 677 548 p 707 548 p 708 548 p 703 548 p 143 548 p 131 548 p 708 547 p 707 547 p 703 547 p 737 547 p 738 547 p 142 547 p 143 547 p 709 546 p 680 546 p 710 546 p 714 546 p 713 546 p 144 546 p 133 546 p 709 545 p 680 545 p 710 545 p 711 545 p 706 545 p 144 545 p 132 545 p 711 544 p 710 544 p 706 544 p 740 544 p 741 544 p 143 544 p 144 544 p 712 543 p 683 543 p 713 543 p 717 543 p 716 543 p 145 543 p 134 543 p 712 542 p 683 542 p 713 542 p 714 542 p 709 542 p 145 542 p 133 542 p 714 541 p 713 541 p 709 541 p 743 541 p 744 541 p 144 541 p 145 541 p 715 540 p 686 540 p 716 540 p 720 540 p 719 540 p 146 540 p 135 540 p 715 539 p 686 539 p 716 539 p 717 539 p 712 539 p 146 539 p 134 539 p 717 538 p 716 538 p 712 538 p 746 538 p 747 538 p 145 538 p 146 538 p 718 537 p 689 537 p 719 537 p 723 537 p 722 537 p 147 537 p 136 537 p 718 536 p 689 536 p 719 536 p 720 536 p 715 536 p 147 536 p 135 536 p 720 535 p 719 535 p 715 535 p 749 535 p 750 535 p 146 535 p 147 535 p 721 534 p 690 534 p 722 534 p 726 534 p 725 534 p 148 534 p 137 534 p 721 533 p 690 533 p 722 533 p 723 533 p 718 533 p 148 533 p 136 533 p 723 532 p 722 532 p 718 532 p 752 532 p 753 532 p 147 532 p 148 532 p 724 531 p 694 531 p 725 531 p 729 531 p 728 531 p 149 531 p 138 531 p 724 530 p 694 530 p 725 530 p 726 530 p 721 530 p 149 530 p 137 530 p 726 529 p 725 529 p 721 529 p 756 529 p 757 529 p 148 529 p 149 529 p 727 528 p 696 528 p 728 528 p 730 528 p 731 528 p 150 528 p 139 528 p 727 527 p 696 527 p 728 527 p 729 527 p 724 527 p 150 527 p 138 527 p 729 526 p 728 526 p 724 526 p 755 526 p 756 526 p 149 526 p 150 526 p 730 525 p 727 525 p 731 525 p 3 525 p 139 525 p 730 524 p 727 524 p 731 524 p 732 524 p 733 524 p 3 524 p 150 524 p 732 523 p 731 523 p 733 523 p 151 523 p 3 523 p 732 522 p 731 522 p 733 522 p 759 522 p 761 522 p 151 522 p 150 522 p 734 521 p 702 521 p 735 521 p 736 521 p 705 521 p 152 521 p 141 521 p 734 520 p 702 520 p 735 520 p 152 520 p 140 520 p 736 519 p 705 519 p 734 519 p 739 519 p 738 519 p 152 519 p 142 519 p 737 518 p 708 518 p 738 518 p 742 518 p 741 518 p 153 518 p 143 518 p 737 517 p 708 517 p 738 517 p 739 517 p 736 517 p 153 517 p 142 517 p 739 516 p 738 516 p 736 516 p 762 516 p 763 516 p 152 516 p 153 516 p 740 515 p 711 515 p 741 515 p 745 515 p 744 515 p 154 515 p 144 515 p 740 514 p 711 514 p 741 514 p 742 514 p 737 514 p 154 514 p 143 514 p 742 513 p 741 513 p 737 513 p 764 513 p 762 513 p 153 513 p 154 513 p 743 512 p 714 512 p 744 512 p 748 512 p 747 512 p 155 512 p 145 512 p 743 511 p 714 511 p 744 511 p 745 511 p 740 511 p 155 511 p 144 511 p 745 510 p 744 510 p 740 510 p 765 510 p 766 510 p 154 510 p 155 510 p 746 509 p 717 509 p 747 509 p 751 509 p 750 509 p 156 509 p 146 509 p 746 508 p 717 508 p 747 508 p 748 508 p 743 508 p 156 508 p 145 508 p 748 507 p 747 507 p 743 507 p 768 507 p 769 507 p 155 507 p 156 507 p 749 506 p 720 506 p 750 506 p 754 506 p 753 506 p 157 506 p 147 506 p 749 505 p 720 505 p 750 505 p 751 505 p 746 505 p 157 505 p 146 505 p 751 504 p 750 504 p 746 504 p 771 504 p 772 504 p 156 504 p 157 504 p 752 503 p 723 503 p 753 503 p 758 503 p 757 503 p 158 503 p 148 503 p 752 502 p 723 502 p 753 502 p 754 502 p 749 502 p 158 502 p 147 502 p 754 501 p 753 501 p 749 501 p 774 501 p 775 501 p 157 501 p 158 501 p 755 500 p 729 500 p 756 500 p 759 500 p 760 500 p 159 500 p 150 500 p 755 499 p 729 499 p 756 499 p 726 499 p 757 499 p 159 499 p 149 499 p 756 498 p 726 498 p 757 498 p 758 498 p 752 498 p 159 498 p 148 498 p 758 497 p 757 497 p 752 497 p 777 497 p 778 497 p 158 497 p 159 497 p 759 496 p 755 496 p 760 496 p 733 496 p 761 496 p 160 496 p 150 496 p 759 495 p 755 495 p 760 495 p 780 495 p 781 495 p 160 495 p 159 495 p 733 494 p 759 494 p 761 494 p 151 494 p 160 494 p 762 493 p 739 493 p 763 493 p 764 493 p 742 493 p 161 493 p 153 493 p 762 492 p 739 492 p 763 492 p 161 492 p 152 492 p 764 491 p 742 491 p 762 491 p 767 491 p 766 491 p 161 491 p 154 491 p 765 490 p 745 490 p 766 490 p 770 490 p 769 490 p 162 490 p 155 490 p 765 489 p 745 489 p 766 489 p 767 489 p 764 489 p 162 489 p 154 489 p 767 488 p 766 488 p 764 488 p 783 488 p 784 488 p 161 488 p 162 488 p 768 487 p 748 487 p 769 487 p 773 487 p 772 487 p 163 487 p 156 487 p 768 486 p 748 486 p 769 486 p 770 486 p 765 486 p 163 486 p 155 486 p 770 485 p 769 485 p 765 485 p 785 485 p 783 485 p 162 485 p 163 485 p 771 484 p 751 484 p 772 484 p 776 484 p 775 484 p 164 484 p 157 484 p 771 483 p 751 483 p 772 483 p 773 483 p 768 483 p 164 483 p 156 483 p 773 482 p 772 482 p 768 482 p 786 482 p 787 482 p 163 482 p 164 482 p 774 481 p 754 481 p 775 481 p 779 481 p 778 481 p 165 481 p 158 481 p 774 480 p 754 480 p 775 480 p 776 480 p 771 480 p 165 480 p 157 480 p 776 479 p 775 479 p 771 479 p 789 479 p 790 479 p 164 479 p 165 479 p 777 478 p 758 478 p 778 478 p 782 478 p 781 478 p 166 478 p 159 478 p 777 477 p 758 477 p 778 477 p 779 477 p 774 477 p 166 477 p 158 477 p 779 476 p 778 476 p 774 476 p 792 476 p 793 476 p 165 476 p 166 476 p 780 475 p 760 475 p 781 475 p 167 475 p 160 475 p 780 474 p 760 474 p 781 474 p 782 474 p 777 474 p 167 474 p 159 474 p 782 473 p 781 473 p 777 473 p 795 473 p 796 473 p 166 473 p 167 473 p 783 472 p 767 472 p 784 472 p 785 472 p 770 472 p 168 472 p 162 472 p 783 471 p 767 471 p 784 471 p 168 471 p 161 471 p 785 470 p 770 470 p 783 470 p 788 470 p 787 470 p 168 470 p 163 470 p 786 469 p 773 469 p 787 469 p 791 469 p 790 469 p 169 469 p 164 469 p 786 468 p 773 468 p 787 468 p 788 468 p 785 468 p 169 468 p 163 468 p 788 467 p 787 467 p 785 467 p 804 467 p 805 467 p 168 467 p 169 467 p 789 466 p 776 466 p 790 466 p 794 466 p 793 466 p 170 466 p 165 466 p 789 465 p 776 465 p 790 465 p 791 465 p 786 465 p 170 465 p 164 465 p 791 464 p 790 464 p 786 464 p 807 464 p 808 464 p 169 464 p 170 464 p 792 463 p 779 463 p 793 463 p 797 463 p 796 463 p 171 463 p 166 463 p 792 462 p 779 462 p 793 462 p 794 462 p 789 462 p 171 462 p 165 462 p 794 461 p 793 461 p 789 461 p 810 461 p 811 461 p 170 461 p 171 461 p 795 460 p 782 460 p 796 460 p 172 460 p 167 460 p 795 459 p 782 459 p 796 459 p 797 459 p 792 459 p 172 459 p 166 459 p 797 458 p 796 458 p 792 458 p 813 458 p 814 458 p 171 458 p 172 458 p 798 457 p 799 457 p 800 457 p 353 457 p 820 457 p 328 457 p 10 457 p 798 456 p 799 456 p 800 456 p 10 456 p 329 456 p 798 455 p 799 455 p 800 455 p 818 455 p 819 455 p 328 455 p 329 455 p 801 454 p 802 454 p 803 454 p 824 454 p 826 454 p 173 454 p 174 454 p 801 453 p 802 453 p 803 453 p 806 453 p 805 453 p 174 453 p 168 453 p 801 452 p 802 452 p 803 452 p 173 452 p 168 452 p 804 451 p 788 451 p 805 451 p 809 451 p 808 451 p 175 451 p 169 451 p 804 450 p 788 450 p 805 450 p 806 450 p 802 450 p 175 450 p 168 450 p 806 449 p 805 449 p 802 449 p 827 449 p 828 449 p 174 449 p 175 449 p 807 448 p 791 448 p 808 448 p 812 448 p 811 448 p 176 448 p 170 448 p 807 447 p 791 447 p 808 447 p 809 447 p 804 447 p 176 447 p 169 447 p 809 446 p 808 446 p 804 446 p 830 446 p 831 446 p 175 446 p 176 446 p 810 445 p 794 445 p 811 445 p 815 445 p 814 445 p 177 445 p 171 445 p 810 444 p 794 444 p 811 444 p 812 444 p 807 444 p 177 444 p 170 444 p 812 443 p 811 443 p 807 443 p 833 443 p 834 443 p 176 443 p 177 443 p 813 442 p 797 442 p 814 442 p 816 442 p 817 442 p 178 442 p 172 442 p 813 441 p 797 441 p 814 441 p 815 441 p 810 441 p 178 441 p 171 441 p 815 440 p 814 440 p 810 440 p 836 440 p 837 440 p 177 440 p 178 440 p 816 439 p 813 439 p 817 439 p 179 439 p 172 439 p 816 438 p 813 438 p 817 438 p 839 438 p 840 438 p 179 438 p 178 438 p 800 437 p 818 437 p 819 437 p 329 437 p 321 437 p 800 436 p 818 436 p 819 436 p 846 436 p 848 436 p 328 436 p 321 436 p 353 435 p 798 435 p 820 435 p 844 435 p 845 435 p 9 435 p 328 435 p 821 434 p 822 434 p 823 434 p 824 434 p 825 434 p 181 434 p 173 434 p 821 433 p 822 433 p 823 433 p 173 433 p 180 433 p 821 432 p 822 432 p 823 432 p 852 432 p 854 432 p 181 432 p 180 432 p 824 431 p 821 431 p 825 431 p 801 431 p 826 431 p 182 431 p 173 431 p 824 430 p 821 430 p 825 430 p 855 430 p 857 430 p 182 430 p 181 430 p 801 429 p 824 429 p 826 429 p 829 429 p 828 429 p 174 429 p 182 429 p 827 428 p 806 428 p 828 428 p 832 428 p 831 428 p 183 428 p 175 428 p 827 427 p 806 427 p 828 427 p 829 427 p 826 427 p 183 427 p 174 427 p 829 426 p 828 426 p 826 426 p 858 426 p 860 426 p 182 426 p 183 426 p 830 425 p 809 425 p 831 425 p 835 425 p 834 425 p 184 425 p 176 425 p 830 424 p 809 424 p 831 424 p 832 424 p 827 424 p 184 424 p 175 424 p 832 423 p 831 423 p 827 423 p 861 423 p 863 423 p 183 423 p 184 423 p 833 422 p 812 422 p 834 422 p 838 422 p 837 422 p 185 422 p 177 422 p 833 421 p 812 421 p 834 421 p 835 421 p 830 421 p 185 421 p 176 421 p 835 420 p 834 420 p 830 420 p 864 420 p 866 420 p 184 420 p 185 420 p 836 419 p 815 419 p 837 419 p 841 419 p 840 419 p 186 419 p 178 419 p 836 418 p 815 418 p 837 418 p 838 418 p 833 418 p 186 418 p 177 418 p 838 417 p 837 417 p 833 417 p 867 417 p 868 417 p 185 417 p 186 417 p 839 416 p 817 416 p 840 416 p 842 416 p 843 416 p 187 416 p 179 416 p 839 415 p 817 415 p 840 415 p 841 415 p 836 415 p 187 415 p 178 415 p 841 414 p 840 414 p 836 414 p 870 414 p 871 414 p 186 414 p 187 414 p 842 413 p 839 413 p 843 413 p 188 413 p 179 413 p 842 412 p 839 412 p 843 412 p 875 412 p 876 412 p 188 412 p 187 412 p 820 411 p 844 411 p 845 411 p 846 411 p 847 411 p 328 411 p 327 411 p 820 410 p 844 410 p 845 410 p 349 410 p 882 410 p 9 410 p 327 410 p 844 409 p 846 409 p 847 409 p 819 409 p 848 409 p 328 409 p 320 409 p 844 408 p 846 408 p 847 408 p 960 408 p 921 408 p 327 408 p 320 408 p 846 407 p 819 407 p 848 407 p 1250 407 p 1254 407 p 320 407 p 321 407 p 849 406 p 850 406 p 851 406 p 852 406 p 853 406 p 190 406 p 180 406 p 849 405 p 850 405 p 851 405 p 180 405 p 189 405 p 849 404 p 850 404 p 851 404 p 886 404 p 887 404 p 190 404 p 189 404 p 852 403 p 849 403 p 853 403 p 823 403 p 854 403 p 191 403 p 180 403 p 852 402 p 849 402 p 853 402 p 889 402 p 891 402 p 191 402 p 190 402 p 823 401 p 852 401 p 854 401 p 855 401 p 856 401 p 181 401 p 191 401 p 855 400 p 854 400 p 856 400 p 825 400 p 857 400 p 192 400 p 181 400 p 855 399 p 854 399 p 856 399 p 892 399 p 894 399 p 192 399 p 191 399 p 825 398 p 855 398 p 857 398 p 858 398 p 859 398 p 182 398 p 192 398 p 858 397 p 857 397 p 859 397 p 829 397 p 860 397 p 193 397 p 182 397 p 858 396 p 857 396 p 859 396 p 895 396 p 897 396 p 193 396 p 192 396 p 829 395 p 858 395 p 860 395 p 861 395 p 862 395 p 183 395 p 193 395 p 861 394 p 860 394 p 862 394 p 832 394 p 863 394 p 194 394 p 183 394 p 861 393 p 860 393 p 862 393 p 898 393 p 900 393 p 194 393 p 193 393 p 832 392 p 861 392 p 863 392 p 864 392 p 865 392 p 184 392 p 194 392 p 864 391 p 863 391 p 865 391 p 835 391 p 866 391 p 195 391 p 184 391 p 864 390 p 863 390 p 865 390 p 901 390 p 903 390 p 195 390 p 194 390 p 835 389 p 864 389 p 866 389 p 869 389 p 868 389 p 185 389 p 195 389 p 867 388 p 838 388 p 868 388 p 872 388 p 871 388 p 196 388 p 186 388 p 867 387 p 838 387 p 868 387 p 869 387 p 866 387 p 196 387 p 185 387 p 869 386 p 868 386 p 866 386 p 904 386 p 906 386 p 195 386 p 196 386 p 870 385 p 841 385 p 871 385 p 873 385 p 874 385 p 197 385 p 187 385 p 870 384 p 841 384 p 871 384 p 872 384 p 867 384 p 197 384 p 186 384 p 872 383 p 871 383 p 867 383 p 907 383 p 909 383 p 196 383 p 197 383 p 873 382 p 870 382 p 874 382 p 877 382 p 876 382 p 198 382 p 187 382 p 873 381 p 870 381 p 874 381 p 910 381 p 912 381 p 198 381 p 197 381 p 875 380 p 843 380 p 876 380 p 878 380 p 879 380 p 199 380 p 188 380 p 875 379 p 843 379 p 876 379 p 877 379 p 873 379 p 199 379 p 187 379 p 877 378 p 876 378 p 873 378 p 913 378 p 915 378 p 198 378 p 199 378 p 878 377 p 875 377 p 879 377 p 200 377 p 188 377 p 878 376 p 875 376 p 879 376 p 880 376 p 881 376 p 200 376 p 199 376 p 880 375 p 879 375 p 881 375 p 0 375 p 200 375 p 880 374 p 879 374 p 881 374 p 916 374 p 918 374 p 0 374 p 199 374 p 349 373 p 845 373 p 882 373 p 919 373 p 920 373 p 8 373 p 327 373 p 883 372 p 884 372 p 885 372 p 189 372 p 201 372 p 883 371 p 884 371 p 885 371 p 923 371 p 924 371 p 201 371 p 202 371 p 883 370 p 884 370 p 885 370 p 888 370 p 886 370 p 189 370 p 202 370 p 886 369 p 887 369 p 851 369 p 885 369 p 888 369 p 189 369 p 203 369 p 886 368 p 887 368 p 851 368 p 889 368 p 890 368 p 203 368 p 190 368 p 885 367 p 888 367 p 886 367 p 927 367 p 928 367 p 202 367 p 203 367 p 889 366 p 887 366 p 890 366 p 853 366 p 891 366 p 204 366 p 190 366 p 889 365 p 887 365 p 890 365 p 930 365 p 931 365 p 204 365 p 203 365 p 853 364 p 889 364 p 891 364 p 892 364 p 893 364 p 191 364 p 204 364 p 892 363 p 891 363 p 893 363 p 856 363 p 894 363 p 205 363 p 191 363 p 892 362 p 891 362 p 893 362 p 935 362 p 937 362 p 205 362 p 204 362 p 856 361 p 892 361 p 894 361 p 895 361 p 896 361 p 192 361 p 205 361 p 895 360 p 894 360 p 896 360 p 859 360 p 897 360 p 206 360 p 192 360 p 895 359 p 894 359 p 896 359 p 938 359 p 940 359 p 206 359 p 205 359 p 859 358 p 895 358 p 897 358 p 898 358 p 899 358 p 193 358 p 206 358 p 898 357 p 897 357 p 899 357 p 862 357 p 900 357 p 207 357 p 193 357 p 898 356 p 897 356 p 899 356 p 941 356 p 943 356 p 207 356 p 206 356 p 862 355 p 898 355 p 900 355 p 901 355 p 902 355 p 194 355 p 207 355 p 901 354 p 900 354 p 902 354 p 865 354 p 903 354 p 208 354 p 194 354 p 901 353 p 900 353 p 902 353 p 944 353 p 946 353 p 208 353 p 207 353 p 865 352 p 901 352 p 903 352 p 904 352 p 905 352 p 195 352 p 208 352 p 904 351 p 903 351 p 905 351 p 869 351 p 906 351 p 209 351 p 195 351 p 904 350 p 903 350 p 905 350 p 947 350 p 949 350 p 209 350 p 208 350 p 869 349 p 904 349 p 906 349 p 907 349 p 908 349 p 196 349 p 209 349 p 907 348 p 906 348 p 908 348 p 872 348 p 909 348 p 210 348 p 196 348 p 907 347 p 906 347 p 908 347 p 950 347 p 952 347 p 210 347 p 209 347 p 872 346 p 907 346 p 909 346 p 910 346 p 911 346 p 197 346 p 210 346 p 910 345 p 909 345 p 911 345 p 874 345 p 912 345 p 211 345 p 197 345 p 910 344 p 909 344 p 911 344 p 955 344 p 953 344 p 211 344 p 210 344 p 874 343 p 910 343 p 912 343 p 913 343 p 914 343 p 198 343 p 211 343 p 913 342 p 912 342 p 914 342 p 877 342 p 915 342 p 212 342 p 198 342 p 913 341 p 912 341 p 914 341 p 953 341 p 954 341 p 212 341 p 211 341 p 877 340 p 913 340 p 915 340 p 916 340 p 917 340 p 199 340 p 212 340 p 916 339 p 915 339 p 917 339 p 881 339 p 918 339 p 213 339 p 199 339 p 916 338 p 915 338 p 917 338 p 957 338 p 958 338 p 213 338 p 212 338 p 881 337 p 916 337 p 918 337 p 0 337 p 213 337 p 882 336 p 919 336 p 920 336 p 921 336 p 922 336 p 327 336 p 326 336 p 882 335 p 919 335 p 920 335 p 345 335 p 961 335 p 8 335 p 326 335 p 919 334 p 921 334 p 922 334 p 847 334 p 960 334 p 327 334 p 319 334 p 919 333 p 921 333 p 922 333 p 1040 333 p 1001 333 p 326 333 p 319 333 p 923 332 p 924 332 p 884 332 p 925 332 p 926 332 p 201 332 p 215 332 p 923 331 p 924 331 p 884 331 p 929 331 p 927 331 p 215 331 p 202 331 p 925 330 p 926 330 p 923 330 p 201 330 p 214 330 p 925 329 p 926 329 p 923 329 p 964 329 p 965 329 p 214 329 p 215 329 p 927 328 p 928 328 p 888 328 p 924 328 p 929 328 p 202 328 p 216 328 p 927 327 p 928 327 p 888 327 p 932 327 p 930 327 p 216 327 p 203 327 p 924 326 p 929 326 p 927 326 p 968 326 p 969 326 p 215 326 p 216 326 p 930 325 p 931 325 p 890 325 p 928 325 p 932 325 p 203 325 p 217 325 p 930 324 p 931 324 p 890 324 p 933 324 p 934 324 p 217 324 p 204 324 p 928 323 p 932 323 p 930 323 p 971 323 p 972 323 p 216 323 p 217 323 p 933 322 p 931 322 p 934 322 p 935 322 p 936 322 p 218 322 p 204 322 p 933 321 p 931 321 p 934 321 p 974 321 p 975 321 p 218 321 p 217 321 p 935 320 p 933 320 p 936 320 p 893 320 p 937 320 p 219 320 p 204 320 p 935 319 p 933 319 p 936 319 p 977 319 p 979 319 p 219 319 p 218 319 p 893 318 p 935 318 p 937 318 p 938 318 p 939 318 p 205 318 p 219 318 p 938 317 p 937 317 p 939 317 p 896 317 p 940 317 p 220 317 p 205 317 p 938 316 p 937 316 p 939 316 p 980 316 p 982 316 p 220 316 p 219 316 p 896 315 p 938 315 p 940 315 p 941 315 p 942 315 p 206 315 p 220 315 p 941 314 p 940 314 p 942 314 p 899 314 p 943 314 p 221 314 p 206 314 p 941 313 p 940 313 p 942 313 p 983 313 p 985 313 p 221 313 p 220 313 p 899 312 p 941 312 p 943 312 p 944 312 p 945 312 p 207 312 p 221 312 p 944 311 p 943 311 p 945 311 p 902 311 p 946 311 p 222 311 p 207 311 p 944 310 p 943 310 p 945 310 p 986 310 p 988 310 p 222 310 p 221 310 p 902 309 p 944 309 p 946 309 p 947 309 p 948 309 p 208 309 p 222 309 p 947 308 p 946 308 p 948 308 p 905 308 p 949 308 p 223 308 p 208 308 p 947 307 p 946 307 p 948 307 p 989 307 p 991 307 p 223 307 p 222 307 p 905 306 p 947 306 p 949 306 p 950 306 p 951 306 p 209 306 p 223 306 p 950 305 p 949 305 p 951 305 p 908 305 p 952 305 p 224 305 p 209 305 p 950 304 p 949 304 p 951 304 p 992 304 p 994 304 p 224 304 p 223 304 p 908 303 p 950 303 p 952 303 p 955 303 p 956 303 p 210 303 p 224 303 p 914 302 p 953 302 p 954 302 p 911 302 p 955 302 p 211 302 p 225 302 p 914 301 p 953 301 p 954 301 p 959 301 p 957 301 p 212 301 p 225 301 p 955 300 p 952 300 p 956 300 p 911 300 p 953 300 p 225 300 p 210 300 p 955 299 p 952 299 p 956 299 p 995 299 p 997 299 p 225 299 p 224 299 p 957 298 p 958 298 p 917 298 p 954 298 p 959 298 p 212 298 p 226 298 p 957 297 p 958 297 p 917 297 p 226 297 p 213 297 p 954 296 p 959 296 p 957 296 p 998 296 p 1000 296 p 225 296 p 226 296 p 847 295 p 960 295 p 921 295 p 1251 295 p 1248 295 p 320 295 p 319 295 p 345 294 p 920 294 p 961 294 p 962 294 p 963 294 p 7 294 p 326 294 p 961 293 p 962 293 p 963 293 p 1001 293 p 1002 293 p 326 293 p 325 293 p 961 292 p 962 292 p 963 292 p 341 292 p 1041 292 p 7 292 p 325 292 p 964 291 p 965 291 p 926 291 p 966 291 p 967 291 p 214 291 p 228 291 p 964 290 p 965 290 p 926 290 p 970 290 p 969 290 p 228 290 p 215 290 p 966 289 p 967 289 p 964 289 p 214 289 p 227 289 p 966 288 p 967 288 p 964 288 p 1003 288 p 1004 288 p 227 288 p 228 288 p 968 287 p 929 287 p 969 287 p 973 287 p 972 287 p 229 287 p 216 287 p 968 286 p 929 286 p 969 286 p 970 286 p 965 286 p 229 286 p 215 286 p 970 285 p 969 285 p 965 285 p 1007 285 p 1008 285 p 228 285 p 229 285 p 971 284 p 932 284 p 972 284 p 976 284 p 975 284 p 230 284 p 217 284 p 971 283 p 932 283 p 972 283 p 973 283 p 968 283 p 230 283 p 216 283 p 973 282 p 972 282 p 968 282 p 1010 282 p 1011 282 p 229 282 p 230 282 p 974 281 p 934 281 p 975 281 p 977 281 p 978 281 p 231 281 p 218 281 p 974 280 p 934 280 p 975 280 p 976 280 p 971 280 p 231 280 p 217 280 p 976 279 p 975 279 p 971 279 p 1013 279 p 1014 279 p 230 279 p 231 279 p 977 278 p 974 278 p 978 278 p 936 278 p 979 278 p 232 278 p 218 278 p 977 277 p 974 277 p 978 277 p 1016 277 p 1017 277 p 232 277 p 231 277 p 936 276 p 977 276 p 979 276 p 980 276 p 981 276 p 219 276 p 232 276 p 980 275 p 979 275 p 981 275 p 939 275 p 982 275 p 233 275 p 219 275 p 980 274 p 979 274 p 981 274 p 1019 274 p 1020 274 p 233 274 p 232 274 p 939 273 p 980 273 p 982 273 p 983 273 p 984 273 p 220 273 p 233 273 p 983 272 p 982 272 p 984 272 p 942 272 p 985 272 p 234 272 p 220 272 p 983 271 p 982 271 p 984 271 p 1022 271 p 1024 271 p 234 271 p 233 271 p 942 270 p 983 270 p 985 270 p 986 270 p 987 270 p 221 270 p 234 270 p 986 269 p 985 269 p 987 269 p 945 269 p 988 269 p 235 269 p 221 269 p 986 268 p 985 268 p 987 268 p 1025 268 p 1027 268 p 235 268 p 234 268 p 945 267 p 986 267 p 988 267 p 989 267 p 990 267 p 222 267 p 235 267 p 989 266 p 988 266 p 990 266 p 948 266 p 991 266 p 236 266 p 222 266 p 989 265 p 988 265 p 990 265 p 1028 265 p 1030 265 p 236 265 p 235 265 p 948 264 p 989 264 p 991 264 p 992 264 p 993 264 p 223 264 p 236 264 p 992 263 p 991 263 p 993 263 p 951 263 p 994 263 p 237 263 p 223 263 p 992 262 p 991 262 p 993 262 p 1031 262 p 1033 262 p 237 262 p 236 262 p 951 261 p 992 261 p 994 261 p 995 261 p 996 261 p 224 261 p 237 261 p 995 260 p 994 260 p 996 260 p 956 260 p 997 260 p 238 260 p 224 260 p 995 259 p 994 259 p 996 259 p 1034 259 p 1036 259 p 238 259 p 237 259 p 956 258 p 995 258 p 997 258 p 998 258 p 999 258 p 225 258 p 238 258 p 998 257 p 997 257 p 999 257 p 959 257 p 1000 257 p 239 257 p 225 257 p 998 256 p 997 256 p 999 256 p 1037 256 p 1039 256 p 239 256 p 238 256 p 959 255 p 998 255 p 1000 255 p 226 255 p 239 255 p 962 254 p 1001 254 p 1002 254 p 922 254 p 1040 254 p 326 254 p 318 254 p 962 253 p 1001 253 p 1002 253 p 1083 253 p 1081 253 p 325 253 p 318 253 p 1003 252 p 967 252 p 1004 252 p 1009 252 p 1008 252 p 241 252 p 228 252 p 1003 251 p 967 251 p 1004 251 p 1005 251 p 1006 251 p 241 251 p 227 251 p 1005 250 p 1004 250 p 1006 250 p 1042 250 p 1043 250 p 240 250 p 241 250 p 1005 249 p 1004 249 p 1006 249 p 240 249 p 227 249 p 1007 248 p 970 248 p 1008 248 p 1012 248 p 1011 248 p 242 248 p 229 248 p 1007 247 p 970 247 p 1008 247 p 1009 247 p 1003 247 p 242 247 p 228 247 p 1009 246 p 1008 246 p 1003 246 p 1046 246 p 1047 246 p 241 246 p 242 246 p 1010 245 p 973 245 p 1011 245 p 1015 245 p 1014 245 p 243 245 p 230 245 p 1010 244 p 973 244 p 1011 244 p 1012 244 p 1007 244 p 243 244 p 229 244 p 1012 243 p 1011 243 p 1007 243 p 1049 243 p 1050 243 p 242 243 p 243 243 p 1013 242 p 976 242 p 1014 242 p 1018 242 p 1017 242 p 244 242 p 231 242 p 1013 241 p 976 241 p 1014 241 p 1015 241 p 1010 241 p 244 241 p 230 241 p 1015 240 p 1014 240 p 1010 240 p 1052 240 p 1053 240 p 243 240 p 244 240 p 1016 239 p 978 239 p 1017 239 p 1021 239 p 1019 239 p 245 239 p 232 239 p 1016 238 p 978 238 p 1017 238 p 1018 238 p 1013 238 p 245 238 p 231 238 p 1018 237 p 1017 237 p 1013 237 p 1055 237 p 1056 237 p 244 237 p 245 237 p 1019 236 p 1020 236 p 981 236 p 1016 236 p 1021 236 p 232 236 p 246 236 p 1019 235 p 1020 235 p 981 235 p 1022 235 p 1023 235 p 246 235 p 233 235 p 1016 234 p 1021 234 p 1019 234 p 1058 234 p 1059 234 p 245 234 p 246 234 p 1022 233 p 1020 233 p 1023 233 p 984 233 p 1024 233 p 247 233 p 233 233 p 1022 232 p 1020 232 p 1023 232 p 1061 232 p 1062 232 p 247 232 p 246 232 p 984 231 p 1022 231 p 1024 231 p 1025 231 p 1026 231 p 234 231 p 247 231 p 1025 230 p 1024 230 p 1026 230 p 987 230 p 1027 230 p 248 230 p 234 230 p 1025 229 p 1024 229 p 1026 229 p 1064 229 p 1066 229 p 248 229 p 247 229 p 987 228 p 1025 228 p 1027 228 p 1028 228 p 1029 228 p 235 228 p 248 228 p 1028 227 p 1027 227 p 1029 227 p 990 227 p 1030 227 p 249 227 p 235 227 p 1028 226 p 1027 226 p 1029 226 p 1067 226 p 1069 226 p 249 226 p 248 226 p 990 225 p 1028 225 p 1030 225 p 1031 225 p 1032 225 p 236 225 p 249 225 p 1031 224 p 1030 224 p 1032 224 p 993 224 p 1033 224 p 250 224 p 236 224 p 1031 223 p 1030 223 p 1032 223 p 1070 223 p 1072 223 p 250 223 p 249 223 p 993 222 p 1031 222 p 1033 222 p 1034 222 p 1035 222 p 237 222 p 250 222 p 1034 221 p 1033 221 p 1035 221 p 996 221 p 1036 221 p 251 221 p 237 221 p 1034 220 p 1033 220 p 1035 220 p 1073 220 p 1075 220 p 251 220 p 250 220 p 996 219 p 1034 219 p 1036 219 p 1037 219 p 1038 219 p 238 219 p 251 219 p 1037 218 p 1036 218 p 1038 218 p 999 218 p 1039 218 p 252 218 p 238 218 p 1037 217 p 1036 217 p 1038 217 p 1076 217 p 1078 217 p 252 217 p 251 217 p 999 216 p 1037 216 p 1039 216 p 239 216 p 252 216 p 922 215 p 1040 215 p 1001 215 p 1249 215 p 1246 215 p 319 215 p 318 215 p 341 214 p 963 214 p 1041 214 p 1079 214 p 1080 214 p 6 214 p 325 214 p 1042 213 p 1005 213 p 1043 213 p 1048 213 p 1047 213 p 254 213 p 241 213 p 1042 212 p 1005 212 p 1043 212 p 1044 212 p 1045 212 p 254 212 p 240 212 p 1044 211 p 1043 211 p 1045 211 p 1084 211 p 1085 211 p 253 211 p 254 211 p 1044 210 p 1043 210 p 1045 210 p 253 210 p 240 210 p 1046 209 p 1009 209 p 1047 209 p 1051 209 p 1050 209 p 255 209 p 242 209 p 1046 208 p 1009 208 p 1047 208 p 1048 208 p 1042 208 p 255 208 p 241 208 p 1048 207 p 1047 207 p 1042 207 p 1086 207 p 1087 207 p 254 207 p 255 207 p 1049 206 p 1012 206 p 1050 206 p 1054 206 p 1053 206 p 256 206 p 243 206 p 1049 205 p 1012 205 p 1050 205 p 1051 205 p 1046 205 p 256 205 p 242 205 p 1051 204 p 1050 204 p 1046 204 p 1089 204 p 1090 204 p 255 204 p 256 204 p 1052 203 p 1015 203 p 1053 203 p 1057 203 p 1056 203 p 257 203 p 244 203 p 1052 202 p 1015 202 p 1053 202 p 1054 202 p 1049 202 p 257 202 p 243 202 p 1054 201 p 1053 201 p 1049 201 p 1092 201 p 1093 201 p 256 201 p 257 201 p 1055 200 p 1018 200 p 1056 200 p 1060 200 p 1059 200 p 258 200 p 245 200 p 1055 199 p 1018 199 p 1056 199 p 1057 199 p 1052 199 p 258 199 p 244 199 p 1057 198 p 1056 198 p 1052 198 p 1095 198 p 1096 198 p 257 198 p 258 198 p 1058 197 p 1021 197 p 1059 197 p 1063 197 p 1061 197 p 259 197 p 246 197 p 1058 196 p 1021 196 p 1059 196 p 1060 196 p 1055 196 p 259 196 p 245 196 p 1060 195 p 1059 195 p 1055 195 p 1098 195 p 1099 195 p 258 195 p 259 195 p 1061 194 p 1062 194 p 1023 194 p 1058 194 p 1063 194 p 246 194 p 260 194 p 1061 193 p 1062 193 p 1023 193 p 1064 193 p 1065 193 p 260 193 p 247 193 p 1058 192 p 1063 192 p 1061 192 p 1101 192 p 1102 192 p 259 192 p 260 192 p 1064 191 p 1062 191 p 1065 191 p 1026 191 p 1066 191 p 261 191 p 247 191 p 1064 190 p 1062 190 p 1065 190 p 1104 190 p 1105 190 p 261 190 p 260 190 p 1026 189 p 1064 189 p 1066 189 p 1067 189 p 1068 189 p 248 189 p 261 189 p 1067 188 p 1066 188 p 1068 188 p 1029 188 p 1069 188 p 262 188 p 248 188 p 1067 187 p 1066 187 p 1068 187 p 1107 187 p 1109 187 p 262 187 p 261 187 p 1029 186 p 1067 186 p 1069 186 p 1070 186 p 1071 186 p 249 186 p 262 186 p 1070 185 p 1069 185 p 1071 185 p 1032 185 p 1072 185 p 263 185 p 249 185 p 1070 184 p 1069 184 p 1071 184 p 1110 184 p 1112 184 p 263 184 p 262 184 p 1032 183 p 1070 183 p 1072 183 p 1073 183 p 1074 183 p 250 183 p 263 183 p 1073 182 p 1072 182 p 1074 182 p 1035 182 p 1075 182 p 264 182 p 250 182 p 1073 181 p 1072 181 p 1074 181 p 1113 181 p 1115 181 p 264 181 p 263 181 p 1035 180 p 1073 180 p 1075 180 p 1076 180 p 1077 180 p 251 180 p 264 180 p 1076 179 p 1075 179 p 1077 179 p 1038 179 p 1078 179 p 265 179 p 251 179 p 1076 178 p 1075 178 p 1077 178 p 1116 178 p 1118 178 p 265 178 p 264 178 p 1038 177 p 1076 177 p 1078 177 p 252 177 p 265 177 p 1041 176 p 1079 176 p 1080 176 p 1081 176 p 1082 176 p 325 176 p 324 176 p 1041 175 p 1079 175 p 1080 175 p 337 175 p 1121 175 p 6 175 p 324 175 p 1079 174 p 1081 174 p 1082 174 p 1002 174 p 1083 174 p 325 174 p 317 174 p 1079 173 p 1081 173 p 1082 173 p 1167 173 p 1165 173 p 324 173 p 317 173 p 1002 172 p 1083 172 p 1081 172 p 1247 172 p 1244 172 p 318 172 p 317 172 p 1084 171 p 1044 171 p 1085 171 p 1088 171 p 1087 171 p 266 171 p 254 171 p 1084 170 p 1044 170 p 1085 170 p 266 170 p 253 170 p 1086 169 p 1048 169 p 1087 169 p 1091 169 p 1090 169 p 267 169 p 255 169 p 1086 168 p 1048 168 p 1087 168 p 1088 168 p 1084 168 p 267 168 p 254 168 p 1088 167 p 1087 167 p 1084 167 p 1122 167 p 1123 167 p 266 167 p 267 167 p 1089 166 p 1051 166 p 1090 166 p 1094 166 p 1093 166 p 268 166 p 256 166 p 1089 165 p 1051 165 p 1090 165 p 1091 165 p 1086 165 p 268 165 p 255 165 p 1091 164 p 1090 164 p 1086 164 p 1124 164 p 1125 164 p 267 164 p 268 164 p 1092 163 p 1054 163 p 1093 163 p 1097 163 p 1096 163 p 269 163 p 257 163 p 1092 162 p 1054 162 p 1093 162 p 1094 162 p 1089 162 p 269 162 p 256 162 p 1094 161 p 1093 161 p 1089 161 p 1127 161 p 1128 161 p 268 161 p 269 161 p 1095 160 p 1057 160 p 1096 160 p 1100 160 p 1099 160 p 270 160 p 258 160 p 1095 159 p 1057 159 p 1096 159 p 1097 159 p 1092 159 p 270 159 p 257 159 p 1097 158 p 1096 158 p 1092 158 p 1130 158 p 1131 158 p 269 158 p 270 158 p 1098 157 p 1060 157 p 1099 157 p 1103 157 p 1102 157 p 271 157 p 259 157 p 1098 156 p 1060 156 p 1099 156 p 1100 156 p 1095 156 p 271 156 p 258 156 p 1100 155 p 1099 155 p 1095 155 p 1133 155 p 1134 155 p 270 155 p 271 155 p 1101 154 p 1063 154 p 1102 154 p 1106 154 p 1104 154 p 272 154 p 260 154 p 1101 153 p 1063 153 p 1102 153 p 1103 153 p 1098 153 p 272 153 p 259 153 p 1103 152 p 1102 152 p 1098 152 p 1136 152 p 1137 152 p 271 152 p 272 152 p 1104 151 p 1105 151 p 1065 151 p 1101 151 p 1106 151 p 260 151 p 273 151 p 1104 150 p 1105 150 p 1065 150 p 1107 150 p 1108 150 p 273 150 p 261 150 p 1101 149 p 1106 149 p 1104 149 p 1139 149 p 1140 149 p 272 149 p 273 149 p 1107 148 p 1105 148 p 1108 148 p 1068 148 p 1109 148 p 274 148 p 261 148 p 1107 147 p 1105 147 p 1108 147 p 1142 147 p 1143 147 p 274 147 p 273 147 p 1068 146 p 1107 146 p 1109 146 p 1110 146 p 1111 146 p 262 146 p 274 146 p 1110 145 p 1109 145 p 1111 145 p 1071 145 p 1112 145 p 275 145 p 262 145 p 1110 144 p 1109 144 p 1111 144 p 1145 144 p 1146 144 p 275 144 p 274 144 p 1071 143 p 1110 143 p 1112 143 p 1113 143 p 1114 143 p 263 143 p 275 143 p 1113 142 p 1112 142 p 1114 142 p 1074 142 p 1115 142 p 276 142 p 263 142 p 1113 141 p 1112 141 p 1114 141 p 1148 141 p 1149 141 p 276 141 p 275 141 p 1074 140 p 1113 140 p 1115 140 p 1116 140 p 1117 140 p 264 140 p 276 140 p 1116 139 p 1115 139 p 1117 139 p 1077 139 p 1118 139 p 277 139 p 264 139 p 1116 138 p 1115 138 p 1117 138 p 1151 138 p 1153 138 p 277 138 p 276 138 p 1077 137 p 1116 137 p 1118 137 p 1119 137 p 1120 137 p 265 137 p 277 137 p 1118 136 p 1119 136 p 1120 136 p 1156 136 p 1158 136 p 277 136 p 278 136 p 1118 135 p 1119 135 p 1120 135 p 265 135 p 278 135 p 337 134 p 1080 134 p 1121 134 p 1163 134 p 1164 134 p 5 134 p 324 134 p 1122 133 p 1088 133 p 1123 133 p 1126 133 p 1125 133 p 279 133 p 267 133 p 1122 132 p 1088 132 p 1123 132 p 279 132 p 266 132 p 1124 131 p 1091 131 p 1125 131 p 1129 131 p 1128 131 p 280 131 p 268 131 p 1124 130 p 1091 130 p 1125 130 p 1126 130 p 1122 130 p 280 130 p 267 130 p 1126 129 p 1125 129 p 1122 129 p 1168 129 p 1169 129 p 279 129 p 280 129 p 1127 128 p 1094 128 p 1128 128 p 1132 128 p 1131 128 p 281 128 p 269 128 p 1127 127 p 1094 127 p 1128 127 p 1129 127 p 1124 127 p 281 127 p 268 127 p 1129 126 p 1128 126 p 1124 126 p 1170 126 p 1171 126 p 280 126 p 281 126 p 1130 125 p 1097 125 p 1131 125 p 1135 125 p 1134 125 p 282 125 p 270 125 p 1130 124 p 1097 124 p 1131 124 p 1132 124 p 1127 124 p 282 124 p 269 124 p 1132 123 p 1131 123 p 1127 123 p 1173 123 p 1174 123 p 281 123 p 282 123 p 1133 122 p 1100 122 p 1134 122 p 1138 122 p 1137 122 p 283 122 p 271 122 p 1133 121 p 1100 121 p 1134 121 p 1135 121 p 1130 121 p 283 121 p 270 121 p 1135 120 p 1134 120 p 1130 120 p 1176 120 p 1177 120 p 282 120 p 283 120 p 1136 119 p 1103 119 p 1137 119 p 1141 119 p 1140 119 p 284 119 p 272 119 p 1136 118 p 1103 118 p 1137 118 p 1138 118 p 1133 118 p 284 118 p 271 118 p 1138 117 p 1137 117 p 1133 117 p 1179 117 p 1180 117 p 283 117 p 284 117 p 1139 116 p 1106 116 p 1140 116 p 1144 116 p 1143 116 p 285 116 p 273 116 p 1139 115 p 1106 115 p 1140 115 p 1141 115 p 1136 115 p 285 115 p 272 115 p 1141 114 p 1140 114 p 1136 114 p 1182 114 p 1183 114 p 284 114 p 285 114 p 1142 113 p 1108 113 p 1143 113 p 1147 113 p 1145 113 p 286 113 p 274 113 p 1142 112 p 1108 112 p 1143 112 p 1144 112 p 1139 112 p 286 112 p 273 112 p 1144 111 p 1143 111 p 1139 111 p 1185 111 p 1186 111 p 285 111 p 286 111 p 1145 110 p 1146 110 p 1111 110 p 1142 110 p 1147 110 p 274 110 p 287 110 p 1145 109 p 1146 109 p 1111 109 p 1150 109 p 1148 109 p 287 109 p 275 109 p 1142 108 p 1147 108 p 1145 108 p 1188 108 p 1189 108 p 286 108 p 287 108 p 1148 107 p 1149 107 p 1114 107 p 1146 107 p 1150 107 p 275 107 p 288 107 p 1148 106 p 1149 106 p 1114 106 p 1151 106 p 1152 106 p 288 106 p 276 106 p 1146 105 p 1150 105 p 1148 105 p 1191 105 p 1192 105 p 287 105 p 288 105 p 1151 104 p 1149 104 p 1152 104 p 1117 104 p 1153 104 p 289 104 p 276 104 p 1151 103 p 1149 103 p 1152 103 p 1196 103 p 1194 103 p 289 103 p 288 103 p 1117 102 p 1151 102 p 1153 102 p 1154 102 p 1155 102 p 277 102 p 289 102 p 1154 101 p 1153 101 p 1155 101 p 1156 101 p 1157 101 p 290 101 p 277 101 p 1154 100 p 1153 100 p 1155 100 p 1194 100 p 1195 100 p 290 100 p 289 100 p 1156 99 p 1154 99 p 1157 99 p 1119 99 p 1158 99 p 291 99 p 277 99 p 1156 98 p 1154 98 p 1157 98 p 1200 98 p 1198 98 p 291 98 p 290 98 p 1119 97 p 1156 97 p 1158 97 p 1159 97 p 1162 97 p 278 97 p 291 97 p 1159 96 p 1160 96 p 1161 96 p 1158 96 p 1162 96 p 292 96 p 291 96 p 1159 95 p 1160 95 p 1161 95 p 1198 95 p 1199 95 p 291 95 p 1 95 p 1159 94 p 1160 94 p 1161 94 p 292 94 p 1 94 p 1158 93 p 1159 93 p 1162 93 p 278 93 p 292 93 p 1121 92 p 1163 92 p 1164 92 p 1165 92 p 1166 92 p 324 92 p 323 92 p 1121 91 p 1163 91 p 1164 91 p 332 91 p 1202 91 p 5 91 p 323 91 p 1163 90 p 1165 90 p 1166 90 p 1082 90 p 1167 90 p 324 90 p 316 90 p 1163 89 p 1165 89 p 1166 89 p 1243 89 p 1234 89 p 323 89 p 316 89 p 1082 88 p 1167 88 p 1165 88 p 1245 88 p 1241 88 p 317 88 p 316 88 p 1168 87 p 1126 87 p 1169 87 p 1172 87 p 1171 87 p 293 87 p 280 87 p 1168 86 p 1126 86 p 1169 86 p 293 86 p 279 86 p 1170 85 p 1129 85 p 1171 85 p 1175 85 p 1174 85 p 294 85 p 281 85 p 1170 84 p 1129 84 p 1171 84 p 1172 84 p 1168 84 p 294 84 p 280 84 p 1172 83 p 1171 83 p 1168 83 p 1203 83 p 1204 83 p 293 83 p 294 83 p 1173 82 p 1132 82 p 1174 82 p 1178 82 p 1177 82 p 295 82 p 282 82 p 1173 81 p 1132 81 p 1174 81 p 1175 81 p 1170 81 p 295 81 p 281 81 p 1175 80 p 1174 80 p 1170 80 p 1205 80 p 1206 80 p 294 80 p 295 80 p 1176 79 p 1135 79 p 1177 79 p 1181 79 p 1180 79 p 296 79 p 283 79 p 1176 78 p 1135 78 p 1177 78 p 1178 78 p 1173 78 p 296 78 p 282 78 p 1178 77 p 1177 77 p 1173 77 p 1208 77 p 1209 77 p 295 77 p 296 77 p 1179 76 p 1138 76 p 1180 76 p 1184 76 p 1183 76 p 297 76 p 284 76 p 1179 75 p 1138 75 p 1180 75 p 1181 75 p 1176 75 p 297 75 p 283 75 p 1181 74 p 1180 74 p 1176 74 p 1211 74 p 1212 74 p 296 74 p 297 74 p 1182 73 p 1141 73 p 1183 73 p 1187 73 p 1186 73 p 298 73 p 285 73 p 1182 72 p 1141 72 p 1183 72 p 1184 72 p 1179 72 p 298 72 p 284 72 p 1184 71 p 1183 71 p 1179 71 p 1214 71 p 1215 71 p 297 71 p 298 71 p 1185 70 p 1144 70 p 1186 70 p 1190 70 p 1189 70 p 299 70 p 286 70 p 1185 69 p 1144 69 p 1186 69 p 1187 69 p 1182 69 p 299 69 p 285 69 p 1187 68 p 1186 68 p 1182 68 p 1217 68 p 1218 68 p 298 68 p 299 68 p 1188 67 p 1147 67 p 1189 67 p 1193 67 p 1191 67 p 300 67 p 287 67 p 1188 66 p 1147 66 p 1189 66 p 1190 66 p 1185 66 p 300 66 p 286 66 p 1190 65 p 1189 65 p 1185 65 p 1220 65 p 1221 65 p 299 65 p 300 65 p 1191 64 p 1192 64 p 1150 64 p 1188 64 p 1193 64 p 287 64 p 301 64 p 1191 63 p 1192 63 p 1150 63 p 1197 63 p 1196 63 p 301 63 p 288 63 p 1188 62 p 1193 62 p 1191 62 p 1223 62 p 1224 62 p 300 62 p 301 62 p 1194 61 p 1195 61 p 1155 61 p 1196 61 p 1152 61 p 289 61 p 302 61 p 1194 60 p 1195 60 p 1155 60 p 1201 60 p 1200 60 p 302 60 p 290 60 p 1196 59 p 1194 59 p 1152 59 p 1192 59 p 1197 59 p 288 59 p 302 59 p 1192 58 p 1197 58 p 1196 58 p 1226 58 p 1227 58 p 301 58 p 302 58 p 1198 57 p 1199 57 p 1160 57 p 1200 57 p 1157 57 p 291 57 p 303 57 p 1198 56 p 1199 56 p 1160 56 p 303 56 p 1 56 p 1200 55 p 1198 55 p 1157 55 p 1195 55 p 1201 55 p 290 55 p 303 55 p 1195 54 p 1201 54 p 1200 54 p 1229 54 p 1230 54 p 302 54 p 303 54 p 332 53 p 1164 53 p 1202 53 p 1232 53 p 1233 53 p 4 53 p 323 53 p 1203 52 p 1172 52 p 1204 52 p 1207 52 p 1206 52 p 304 52 p 294 52 p 1203 51 p 1172 51 p 1204 51 p 304 51 p 293 51 p 1205 50 p 1175 50 p 1206 50 p 1210 50 p 1209 50 p 305 50 p 295 50 p 1205 49 p 1175 49 p 1206 49 p 1207 49 p 1203 49 p 305 49 p 294 49 p 1207 48 p 1206 48 p 1203 48 p 1236 48 p 1237 48 p 304 48 p 305 48 p 1208 47 p 1178 47 p 1209 47 p 1213 47 p 1212 47 p 306 47 p 296 47 p 1208 46 p 1178 46 p 1209 46 p 1210 46 p 1205 46 p 306 46 p 295 46 p 1210 45 p 1209 45 p 1205 45 p 1238 45 p 1239 45 p 305 45 p 306 45 p 1211 44 p 1181 44 p 1212 44 p 1216 44 p 1215 44 p 307 44 p 297 44 p 1211 43 p 1181 43 p 1212 43 p 1213 43 p 1208 43 p 307 43 p 296 43 p 1213 42 p 1212 42 p 1208 42 p 1241 42 p 1242 42 p 306 42 p 307 42 p 1214 41 p 1184 41 p 1215 41 p 1219 41 p 1218 41 p 308 41 p 298 41 p 1214 40 p 1184 40 p 1215 40 p 1216 40 p 1211 40 p 308 40 p 297 40 p 1216 39 p 1215 39 p 1211 39 p 1244 39 p 1245 39 p 307 39 p 308 39 p 1217 38 p 1187 38 p 1218 38 p 1222 38 p 1221 38 p 309 38 p 299 38 p 1217 37 p 1187 37 p 1218 37 p 1219 37 p 1214 37 p 309 37 p 298 37 p 1219 36 p 1218 36 p 1214 36 p 1246 36 p 1247 36 p 308 36 p 309 36 p 1220 35 p 1190 35 p 1221 35 p 1225 35 p 1223 35 p 310 35 p 300 35 p 1220 34 p 1190 34 p 1221 34 p 1222 34 p 1217 34 p 310 34 p 299 34 p 1222 33 p 1221 33 p 1217 33 p 1248 33 p 1249 33 p 309 33 p 310 33 p 1223 32 p 1224 32 p 1193 32 p 1220 32 p 1225 32 p 300 32 p 311 32 p 1223 31 p 1224 31 p 1193 31 p 1228 31 p 1226 31 p 311 31 p 301 31 p 1220 30 p 1225 30 p 1223 30 p 1250 30 p 1251 30 p 310 30 p 311 30 p 1226 29 p 1227 29 p 1197 29 p 1224 29 p 1228 29 p 301 29 p 312 29 p 1226 28 p 1227 28 p 1197 28 p 1231 28 p 1229 28 p 312 28 p 302 28 p 1224 27 p 1228 27 p 1226 27 p 1254 27 p 1253 27 p 311 27 p 312 27 p 1229 26 p 1230 26 p 1201 26 p 1227 26 p 1231 26 p 302 26 p 313 26 p 1229 25 p 1230 25 p 1201 25 p 313 25 p 303 25 p 1227 24 p 1231 24 p 1229 24 p 1252 24 p 1253 24 p 312 24 p 313 24 p 1202 23 p 1232 23 p 1233 23 p 1234 23 p 1235 23 p 323 23 p 322 23 p 1202 22 p 1232 22 p 1233 22 p 4 22 p 322 22 p 1232 21 p 1234 21 p 1235 21 p 1166 21 p 1243 21 p 323 21 p 315 21 p 1232 20 p 1234 20 p 1235 20 p 1240 20 p 1255 20 p 322 20 p 315 20 p 1236 19 p 1207 19 p 1237 19 p 1240 19 p 1239 19 p 314 19 p 305 19 p 1236 18 p 1207 18 p 1237 18 p 314 18 p 304 18 p 1238 17 p 1210 17 p 1239 17 p 1243 17 p 1242 17 p 315 17 p 306 17 p 1238 16 p 1210 16 p 1239 16 p 1240 16 p 1236 16 p 315 16 p 305 16 p 1240 15 p 1239 15 p 1236 15 p 1235 15 p 1255 15 p 314 15 p 315 15 p 1241 14 p 1213 14 p 1242 14 p 1167 14 p 1245 14 p 316 14 p 307 14 p 1241 13 p 1213 13 p 1242 13 p 1243 13 p 1238 13 p 316 13 p 306 13 p 1243 12 p 1242 12 p 1238 12 p 1166 12 p 1234 12 p 315 12 p 316 12 p 1244 11 p 1216 11 p 1245 11 p 1083 11 p 1247 11 p 317 11 p 308 11 p 1244 10 p 1216 10 p 1245 10 p 1167 10 p 1241 10 p 317 10 p 307 10 p 1246 9 p 1219 9 p 1247 9 p 1040 9 p 1249 9 p 318 9 p 309 9 p 1246 8 p 1219 8 p 1247 8 p 1083 8 p 1244 8 p 318 8 p 308 8 p 1248 7 p 1222 7 p 1249 7 p 960 7 p 1251 7 p 319 7 p 310 7 p 1248 6 p 1222 6 p 1249 6 p 1040 6 p 1246 6 p 319 6 p 309 6 p 1250 5 p 1225 5 p 1251 5 p 848 5 p 1254 5 p 320 5 p 311 5 p 1250 4 p 1225 4 p 1251 4 p 960 4 p 1248 4 p 320 4 p 310 4 p 1252 3 p 1231 3 p 1253 3 p 321 3 p 313 3 p 1252 2 p 1231 2 p 1253 2 p 1254 2 p 1228 2 p 321 2 p 312 2 p 1254 1 p 1253 1 p 1228 1 p 1250 1 p 848 1 p 311 1 p 321 1 p 1235 0 p 1240 0 p 1255 0 p 322 0 p 314 0 p showpage %%EndDocument @endspecial eop %%Page: 26 26 26 25 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(26)60 132 y @beginspecial 40 @vscale 40 @hscale -20 @hoffset -180 @voffset @setspecial %%BeginDocument: msh.ps.9 %! %%Creator: PSPLTM routine %%BoundingBox: 217.47 1.96 1337.01 581.70 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 4.54545E-02 cm scalefont setfont 10.7950 cm 0.272727 cm moveto (Finite element mesh) Cshow 3.17500 cm 0.181818 cm translate 15.2400 cm 11.0000 div dup scale 0.01 setlinewidth 0.00 0.00 moveto 0.00 0.29 lineto closepath stroke 0.00 0.00 moveto 0.13 0.29 lineto closepath stroke 0.00 0.00 moveto 0.36 0.19 lineto closepath stroke 0.00 0.00 moveto 0.36 0.00 lineto closepath stroke 11.00 0.00 moveto 10.06 0.57 lineto closepath stroke 11.00 0.00 moveto 11.00 0.47 lineto closepath stroke 11.00 0.00 moveto 9.08 0.00 lineto closepath stroke 11.00 5.50 moveto 11.00 5.03 lineto closepath stroke 11.00 5.50 moveto 10.06 4.93 lineto closepath stroke 11.00 5.50 moveto 9.08 5.50 lineto closepath stroke 0.00 5.50 moveto 0.36 5.50 lineto closepath stroke 0.00 5.50 moveto 0.36 5.31 lineto closepath stroke 0.00 5.50 moveto 0.13 5.21 lineto closepath stroke 0.00 5.50 moveto 0.00 5.21 lineto closepath stroke 2.10 2.75 moveto 2.19 2.83 lineto closepath stroke 2.10 2.75 moveto 2.20 2.75 lineto closepath stroke 2.10 2.75 moveto 2.09 2.81 lineto closepath stroke 2.10 2.75 moveto 2.19 2.67 lineto closepath stroke 2.10 2.75 moveto 2.09 2.69 lineto closepath stroke 2.30 2.75 moveto 2.20 2.75 lineto closepath stroke 2.30 2.75 moveto 2.29 2.83 lineto closepath stroke 2.30 2.75 moveto 2.40 2.86 lineto closepath stroke 2.30 2.75 moveto 2.41 2.75 lineto closepath stroke 2.30 2.75 moveto 2.29 2.67 lineto closepath stroke 2.30 2.75 moveto 2.40 2.64 lineto closepath stroke 2.52 2.75 moveto 2.41 2.75 lineto closepath stroke 2.52 2.75 moveto 2.51 2.86 lineto closepath stroke 2.52 2.75 moveto 2.63 2.88 lineto closepath stroke 2.52 2.75 moveto 2.64 2.75 lineto closepath stroke 2.52 2.75 moveto 2.51 2.64 lineto closepath stroke 2.52 2.75 moveto 2.63 2.62 lineto closepath stroke 2.76 2.75 moveto 2.64 2.75 lineto closepath stroke 2.76 2.75 moveto 2.75 2.88 lineto closepath stroke 2.76 2.75 moveto 2.88 2.91 lineto closepath stroke 2.76 2.75 moveto 2.90 2.75 lineto closepath stroke 2.76 2.75 moveto 2.75 2.62 lineto closepath stroke 2.76 2.75 moveto 2.88 2.59 lineto closepath stroke 3.03 2.75 moveto 2.90 2.75 lineto closepath stroke 3.03 2.75 moveto 3.01 2.91 lineto closepath stroke 3.03 2.75 moveto 3.15 2.94 lineto closepath stroke 3.03 2.75 moveto 3.17 2.75 lineto closepath stroke 3.03 2.75 moveto 3.01 2.59 lineto closepath stroke 3.03 2.75 moveto 3.15 2.56 lineto closepath stroke 3.32 2.75 moveto 3.17 2.75 lineto closepath stroke 3.32 2.75 moveto 3.30 2.94 lineto closepath stroke 3.32 2.75 moveto 3.46 2.97 lineto closepath stroke 3.32 2.75 moveto 3.48 2.75 lineto closepath stroke 3.32 2.75 moveto 3.30 2.56 lineto closepath stroke 3.32 2.75 moveto 3.46 2.53 lineto closepath stroke 3.64 2.75 moveto 3.48 2.75 lineto closepath stroke 3.64 2.75 moveto 3.62 2.97 lineto closepath stroke 3.64 2.75 moveto 3.79 3.01 lineto closepath stroke 3.64 2.75 moveto 3.82 2.75 lineto closepath stroke 3.64 2.75 moveto 3.62 2.53 lineto closepath stroke 3.64 2.75 moveto 3.79 2.49 lineto closepath stroke 4.00 2.75 moveto 3.82 2.75 lineto closepath stroke 4.00 2.75 moveto 3.97 3.01 lineto closepath stroke 4.00 2.75 moveto 4.16 3.05 lineto closepath stroke 4.00 2.75 moveto 4.19 2.75 lineto closepath stroke 4.00 2.75 moveto 3.97 2.49 lineto closepath stroke 4.00 2.75 moveto 4.16 2.45 lineto closepath stroke 4.39 2.75 moveto 4.19 2.75 lineto closepath stroke 4.39 2.75 moveto 4.36 3.05 lineto closepath stroke 4.39 2.75 moveto 4.57 3.09 lineto closepath stroke 4.39 2.75 moveto 4.60 2.75 lineto closepath stroke 4.39 2.75 moveto 4.36 2.45 lineto closepath stroke 4.39 2.75 moveto 4.57 2.41 lineto closepath stroke 4.82 2.75 moveto 4.60 2.75 lineto closepath stroke 4.82 2.75 moveto 4.78 3.09 lineto closepath stroke 4.82 2.75 moveto 5.01 3.14 lineto closepath stroke 4.82 2.75 moveto 5.05 2.75 lineto closepath stroke 4.82 2.75 moveto 4.78 2.41 lineto closepath stroke 4.82 2.75 moveto 5.01 2.36 lineto closepath stroke 5.29 2.75 moveto 5.05 2.75 lineto closepath stroke 5.29 2.75 moveto 5.25 3.14 lineto closepath stroke 5.29 2.75 moveto 5.50 3.20 lineto closepath stroke 5.29 2.75 moveto 5.55 2.75 lineto closepath stroke 5.29 2.75 moveto 5.50 2.30 lineto closepath stroke 5.29 2.75 moveto 5.25 2.36 lineto closepath stroke 5.81 2.75 moveto 5.76 3.20 lineto closepath stroke 5.81 2.75 moveto 6.09 2.75 lineto closepath stroke 5.81 2.75 moveto 5.55 2.75 lineto closepath stroke 5.81 2.75 moveto 5.76 2.30 lineto closepath stroke 6.38 2.75 moveto 6.09 2.75 lineto closepath stroke 6.38 2.75 moveto 6.04 3.20 lineto closepath stroke 6.38 2.75 moveto 6.32 3.26 lineto closepath stroke 6.38 2.75 moveto 6.69 2.75 lineto closepath stroke 6.38 2.75 moveto 6.32 2.24 lineto closepath stroke 6.38 2.75 moveto 6.04 2.30 lineto closepath stroke 7.00 2.75 moveto 6.69 2.75 lineto closepath stroke 7.00 2.75 moveto 6.64 3.26 lineto closepath stroke 7.00 2.75 moveto 6.94 3.32 lineto closepath stroke 7.00 2.75 moveto 7.28 3.39 lineto closepath stroke 7.00 2.75 moveto 7.35 2.75 lineto closepath stroke 7.00 2.75 moveto 6.94 2.18 lineto closepath stroke 7.00 2.75 moveto 6.64 2.24 lineto closepath stroke 7.69 2.75 moveto 7.35 2.75 lineto closepath stroke 7.69 2.75 moveto 7.63 3.39 lineto closepath stroke 7.69 2.75 moveto 8.00 3.47 lineto closepath stroke 7.69 2.75 moveto 8.07 2.75 lineto closepath stroke 7.69 2.75 moveto 8.00 2.03 lineto closepath stroke 7.69 2.75 moveto 7.63 2.11 lineto closepath stroke 7.69 2.75 moveto 7.29 2.18 lineto closepath stroke 8.45 2.75 moveto 8.07 2.75 lineto closepath stroke 8.45 2.75 moveto 8.38 3.47 lineto closepath stroke 8.45 2.75 moveto 8.79 3.56 lineto closepath stroke 8.45 2.75 moveto 8.87 2.75 lineto closepath stroke 8.45 2.75 moveto 8.79 1.94 lineto closepath stroke 8.45 2.75 moveto 8.38 2.03 lineto closepath stroke 9.29 2.75 moveto 8.87 2.75 lineto closepath stroke 9.29 2.75 moveto 9.20 3.56 lineto closepath stroke 9.29 2.75 moveto 10.14 3.66 lineto closepath stroke 9.29 2.75 moveto 10.14 2.75 lineto closepath stroke 9.29 2.75 moveto 10.14 1.84 lineto closepath stroke 9.29 2.75 moveto 9.20 1.94 lineto closepath stroke 11.00 2.75 moveto 10.14 2.75 lineto closepath stroke 11.00 2.75 moveto 11.00 3.66 lineto closepath stroke 11.00 2.75 moveto 11.00 1.84 lineto closepath stroke 2.09 2.87 moveto 2.18 2.90 lineto closepath stroke 2.09 2.87 moveto 2.09 2.81 lineto closepath stroke 2.09 2.87 moveto 2.07 2.93 lineto closepath stroke 2.28 2.92 moveto 2.29 2.83 lineto closepath stroke 2.28 2.92 moveto 2.19 2.83 lineto closepath stroke 2.28 2.92 moveto 2.18 2.90 lineto closepath stroke 2.28 2.92 moveto 2.39 2.94 lineto closepath stroke 2.28 2.92 moveto 2.17 2.96 lineto closepath stroke 2.28 2.92 moveto 2.26 3.00 lineto closepath stroke 2.50 2.96 moveto 2.51 2.86 lineto closepath stroke 2.50 2.96 moveto 2.40 2.86 lineto closepath stroke 2.50 2.96 moveto 2.39 2.94 lineto closepath stroke 2.50 2.96 moveto 2.62 2.99 lineto closepath stroke 2.50 2.96 moveto 2.36 3.02 lineto closepath stroke 2.50 2.96 moveto 2.46 3.06 lineto closepath stroke 2.73 3.01 moveto 2.75 2.88 lineto closepath stroke 2.73 3.01 moveto 2.63 2.88 lineto closepath stroke 2.73 3.01 moveto 2.62 2.99 lineto closepath stroke 2.73 3.01 moveto 2.86 3.04 lineto closepath stroke 2.73 3.01 moveto 2.58 3.09 lineto closepath stroke 2.73 3.01 moveto 2.69 3.14 lineto closepath stroke 2.99 3.07 moveto 3.01 2.91 lineto closepath stroke 2.99 3.07 moveto 2.88 2.91 lineto closepath stroke 2.99 3.07 moveto 2.86 3.04 lineto closepath stroke 2.99 3.07 moveto 3.14 3.10 lineto closepath stroke 2.99 3.07 moveto 2.82 3.17 lineto closepath stroke 2.99 3.07 moveto 2.95 3.22 lineto closepath stroke 3.28 3.13 moveto 3.30 2.94 lineto closepath stroke 3.28 3.13 moveto 3.15 2.94 lineto closepath stroke 3.28 3.13 moveto 3.14 3.10 lineto closepath stroke 3.28 3.13 moveto 3.44 3.16 lineto closepath stroke 3.28 3.13 moveto 3.09 3.25 lineto closepath stroke 3.28 3.13 moveto 3.22 3.31 lineto closepath stroke 3.60 3.20 moveto 3.62 2.97 lineto closepath stroke 3.60 3.20 moveto 3.46 2.97 lineto closepath stroke 3.60 3.20 moveto 3.44 3.16 lineto closepath stroke 3.60 3.20 moveto 3.77 3.23 lineto closepath stroke 3.60 3.20 moveto 3.38 3.34 lineto closepath stroke 3.60 3.20 moveto 3.53 3.41 lineto closepath stroke 3.94 3.27 moveto 3.97 3.01 lineto closepath stroke 3.94 3.27 moveto 3.79 3.01 lineto closepath stroke 3.94 3.27 moveto 3.77 3.23 lineto closepath stroke 3.94 3.27 moveto 4.13 3.31 lineto closepath stroke 3.94 3.27 moveto 3.70 3.45 lineto closepath stroke 3.94 3.27 moveto 3.86 3.52 lineto closepath stroke 4.32 3.35 moveto 4.36 3.05 lineto closepath stroke 4.32 3.35 moveto 4.16 3.05 lineto closepath stroke 4.32 3.35 moveto 4.13 3.31 lineto closepath stroke 4.32 3.35 moveto 4.53 3.39 lineto closepath stroke 4.32 3.35 moveto 4.05 3.56 lineto closepath stroke 4.32 3.35 moveto 4.23 3.64 lineto closepath stroke 4.74 3.44 moveto 4.78 3.09 lineto closepath stroke 4.74 3.44 moveto 4.57 3.09 lineto closepath stroke 4.74 3.44 moveto 4.53 3.39 lineto closepath stroke 4.74 3.44 moveto 4.97 3.49 lineto closepath stroke 4.74 3.44 moveto 4.44 3.68 lineto closepath stroke 4.74 3.44 moveto 4.64 3.77 lineto closepath stroke 5.20 3.54 moveto 5.25 3.14 lineto closepath stroke 5.20 3.54 moveto 5.01 3.14 lineto closepath stroke 5.20 3.54 moveto 4.97 3.49 lineto closepath stroke 5.20 3.54 moveto 5.46 3.59 lineto closepath stroke 5.20 3.54 moveto 4.87 3.82 lineto closepath stroke 5.20 3.54 moveto 5.08 3.91 lineto closepath stroke 5.71 3.65 moveto 6.04 3.20 lineto closepath stroke 5.71 3.65 moveto 5.76 3.20 lineto closepath stroke 5.71 3.65 moveto 5.50 3.20 lineto closepath stroke 5.71 3.65 moveto 5.46 3.59 lineto closepath stroke 5.71 3.65 moveto 5.99 3.70 lineto closepath stroke 5.71 3.65 moveto 5.34 3.97 lineto closepath stroke 5.71 3.65 moveto 5.57 4.07 lineto closepath stroke 6.27 3.76 moveto 6.64 3.26 lineto closepath stroke 6.27 3.76 moveto 6.32 3.26 lineto closepath stroke 6.27 3.76 moveto 5.99 3.70 lineto closepath stroke 6.27 3.76 moveto 6.58 3.83 lineto closepath stroke 6.27 3.76 moveto 5.85 4.13 lineto closepath stroke 6.27 3.76 moveto 6.11 4.25 lineto closepath stroke 6.88 3.89 moveto 6.94 3.32 lineto closepath stroke 6.88 3.89 moveto 6.58 3.83 lineto closepath stroke 6.88 3.89 moveto 7.22 3.97 lineto closepath stroke 6.88 3.89 moveto 6.42 4.31 lineto closepath stroke 6.88 3.89 moveto 6.71 4.44 lineto closepath stroke 7.56 4.04 moveto 7.63 3.39 lineto closepath stroke 7.56 4.04 moveto 7.28 3.39 lineto closepath stroke 7.56 4.04 moveto 7.22 3.97 lineto closepath stroke 7.56 4.04 moveto 7.93 4.12 lineto closepath stroke 7.56 4.04 moveto 7.04 4.51 lineto closepath stroke 7.56 4.04 moveto 7.36 4.77 lineto closepath stroke 8.30 4.20 moveto 8.38 3.47 lineto closepath stroke 8.30 4.20 moveto 8.00 3.47 lineto closepath stroke 8.30 4.20 moveto 7.93 4.12 lineto closepath stroke 8.30 4.20 moveto 8.71 4.28 lineto closepath stroke 8.30 4.20 moveto 7.73 4.85 lineto closepath stroke 9.12 4.37 moveto 9.20 3.56 lineto closepath stroke 9.12 4.37 moveto 8.79 3.56 lineto closepath stroke 9.12 4.37 moveto 8.71 4.28 lineto closepath stroke 9.12 4.37 moveto 10.06 4.93 lineto closepath stroke 9.12 4.37 moveto 10.06 4.47 lineto closepath stroke 9.12 4.37 moveto 8.14 4.93 lineto closepath stroke 11.00 4.56 moveto 10.06 4.47 lineto closepath stroke 11.00 4.56 moveto 11.00 5.03 lineto closepath stroke 11.00 4.56 moveto 11.00 3.66 lineto closepath stroke 11.00 4.56 moveto 10.14 3.66 lineto closepath stroke 2.05 2.99 moveto 2.17 2.96 lineto closepath stroke 2.05 2.99 moveto 2.07 2.93 lineto closepath stroke 2.05 2.99 moveto 2.14 3.03 lineto closepath stroke 2.05 2.99 moveto 2.10 3.11 lineto closepath stroke 2.05 2.99 moveto 2.02 3.05 lineto closepath stroke 2.23 3.08 moveto 2.36 3.02 lineto closepath stroke 2.23 3.08 moveto 2.26 3.00 lineto closepath stroke 2.23 3.08 moveto 2.14 3.03 lineto closepath stroke 2.23 3.08 moveto 2.33 3.12 lineto closepath stroke 2.23 3.08 moveto 2.19 3.15 lineto closepath stroke 2.23 3.08 moveto 2.28 3.21 lineto closepath stroke 2.43 3.16 moveto 2.58 3.09 lineto closepath stroke 2.43 3.16 moveto 2.46 3.06 lineto closepath stroke 2.43 3.16 moveto 2.33 3.12 lineto closepath stroke 2.43 3.16 moveto 2.54 3.21 lineto closepath stroke 2.43 3.16 moveto 2.38 3.26 lineto closepath stroke 2.43 3.16 moveto 2.48 3.33 lineto closepath stroke 2.65 3.26 moveto 2.82 3.17 lineto closepath stroke 2.65 3.26 moveto 2.69 3.14 lineto closepath stroke 2.65 3.26 moveto 2.54 3.21 lineto closepath stroke 2.65 3.26 moveto 2.77 3.32 lineto closepath stroke 2.65 3.26 moveto 2.59 3.38 lineto closepath stroke 2.65 3.26 moveto 2.69 3.46 lineto closepath stroke 2.90 3.37 moveto 3.09 3.25 lineto closepath stroke 2.90 3.37 moveto 2.95 3.22 lineto closepath stroke 2.90 3.37 moveto 2.77 3.32 lineto closepath stroke 2.90 3.37 moveto 3.03 3.43 lineto closepath stroke 2.90 3.37 moveto 2.82 3.51 lineto closepath stroke 2.90 3.37 moveto 2.93 3.60 lineto closepath stroke 3.16 3.49 moveto 3.38 3.34 lineto closepath stroke 3.16 3.49 moveto 3.22 3.31 lineto closepath stroke 3.16 3.49 moveto 3.03 3.43 lineto closepath stroke 3.16 3.49 moveto 3.31 3.56 lineto closepath stroke 3.16 3.49 moveto 3.07 3.66 lineto closepath stroke 3.16 3.49 moveto 3.20 3.75 lineto closepath stroke 3.46 3.62 moveto 3.70 3.45 lineto closepath stroke 3.46 3.62 moveto 3.53 3.41 lineto closepath stroke 3.46 3.62 moveto 3.31 3.56 lineto closepath stroke 3.46 3.62 moveto 3.62 3.69 lineto closepath stroke 3.46 3.62 moveto 3.35 3.82 lineto closepath stroke 3.78 3.77 moveto 4.05 3.56 lineto closepath stroke 3.78 3.77 moveto 3.86 3.52 lineto closepath stroke 3.78 3.77 moveto 3.62 3.69 lineto closepath stroke 3.78 3.77 moveto 3.96 3.85 lineto closepath stroke 3.78 3.77 moveto 3.51 3.89 lineto closepath stroke 3.78 3.77 moveto 3.65 3.99 lineto closepath stroke 3.78 3.77 moveto 3.81 4.11 lineto closepath stroke 4.14 3.92 moveto 4.44 3.68 lineto closepath stroke 4.14 3.92 moveto 4.23 3.64 lineto closepath stroke 4.14 3.92 moveto 3.96 3.85 lineto closepath stroke 4.14 3.92 moveto 4.33 4.01 lineto closepath stroke 4.14 3.92 moveto 3.99 4.19 lineto closepath stroke 4.14 3.92 moveto 4.16 4.31 lineto closepath stroke 4.53 4.10 moveto 4.87 3.82 lineto closepath stroke 4.53 4.10 moveto 4.64 3.77 lineto closepath stroke 4.53 4.10 moveto 4.33 4.01 lineto closepath stroke 4.53 4.10 moveto 4.74 4.19 lineto closepath stroke 4.53 4.10 moveto 4.36 4.40 lineto closepath stroke 4.53 4.10 moveto 4.55 4.54 lineto closepath stroke 4.96 4.29 moveto 5.34 3.97 lineto closepath stroke 4.96 4.29 moveto 5.08 3.91 lineto closepath stroke 4.96 4.29 moveto 4.74 4.19 lineto closepath stroke 4.96 4.29 moveto 5.20 4.40 lineto closepath stroke 4.96 4.29 moveto 4.76 4.63 lineto closepath stroke 5.43 4.50 moveto 5.85 4.13 lineto closepath stroke 5.43 4.50 moveto 5.57 4.07 lineto closepath stroke 5.43 4.50 moveto 5.20 4.40 lineto closepath stroke 5.43 4.50 moveto 5.69 4.62 lineto closepath stroke 5.43 4.50 moveto 5.00 4.74 lineto closepath stroke 5.43 4.50 moveto 5.21 5.00 lineto closepath stroke 5.96 4.73 moveto 6.42 4.31 lineto closepath stroke 5.96 4.73 moveto 6.11 4.25 lineto closepath stroke 5.96 4.73 moveto 5.69 4.62 lineto closepath stroke 5.96 4.73 moveto 6.24 4.86 lineto closepath stroke 5.96 4.73 moveto 5.47 5.12 lineto closepath stroke 6.53 4.99 moveto 7.04 4.51 lineto closepath stroke 6.53 4.99 moveto 6.71 4.44 lineto closepath stroke 6.53 4.99 moveto 6.24 4.86 lineto closepath stroke 6.53 4.99 moveto 6.84 5.24 lineto closepath stroke 6.53 4.99 moveto 5.76 5.24 lineto closepath stroke 7.16 5.50 moveto 9.08 5.50 lineto closepath stroke 7.16 5.50 moveto 8.14 4.93 lineto closepath stroke 7.16 5.50 moveto 7.73 4.85 lineto closepath stroke 7.16 5.50 moveto 7.36 4.77 lineto closepath stroke 7.16 5.50 moveto 6.84 5.24 lineto closepath stroke 7.16 5.50 moveto 6.07 5.50 lineto closepath stroke 1.99 3.10 moveto 2.07 3.16 lineto closepath stroke 1.99 3.10 moveto 2.02 3.05 lineto closepath stroke 1.99 3.10 moveto 2.01 3.22 lineto closepath stroke 1.99 3.10 moveto 1.94 3.15 lineto closepath stroke 2.15 3.22 moveto 2.19 3.15 lineto closepath stroke 2.15 3.22 moveto 2.10 3.11 lineto closepath stroke 2.15 3.22 moveto 2.07 3.16 lineto closepath stroke 2.15 3.22 moveto 2.24 3.28 lineto closepath stroke 2.15 3.22 moveto 2.09 3.28 lineto closepath stroke 2.15 3.22 moveto 2.16 3.36 lineto closepath stroke 2.33 3.35 moveto 2.38 3.26 lineto closepath stroke 2.33 3.35 moveto 2.28 3.21 lineto closepath stroke 2.33 3.35 moveto 2.24 3.28 lineto closepath stroke 2.33 3.35 moveto 2.42 3.42 lineto closepath stroke 2.33 3.35 moveto 2.25 3.43 lineto closepath stroke 2.33 3.35 moveto 2.33 3.52 lineto closepath stroke 2.52 3.49 moveto 2.59 3.38 lineto closepath stroke 2.52 3.49 moveto 2.48 3.33 lineto closepath stroke 2.52 3.49 moveto 2.42 3.42 lineto closepath stroke 2.52 3.49 moveto 2.63 3.57 lineto closepath stroke 2.52 3.49 moveto 2.43 3.59 lineto closepath stroke 2.52 3.49 moveto 2.52 3.69 lineto closepath stroke 2.74 3.65 moveto 2.82 3.51 lineto closepath stroke 2.74 3.65 moveto 2.69 3.46 lineto closepath stroke 2.74 3.65 moveto 2.63 3.57 lineto closepath stroke 2.74 3.65 moveto 2.85 3.73 lineto closepath stroke 2.74 3.65 moveto 2.63 3.77 lineto closepath stroke 2.74 3.65 moveto 2.73 3.88 lineto closepath stroke 2.97 3.82 moveto 3.07 3.66 lineto closepath stroke 2.97 3.82 moveto 2.93 3.60 lineto closepath stroke 2.97 3.82 moveto 2.85 3.73 lineto closepath stroke 2.97 3.82 moveto 3.10 3.92 lineto closepath stroke 2.97 3.82 moveto 2.85 3.96 lineto closepath stroke 2.97 3.82 moveto 2.95 4.08 lineto closepath stroke 3.23 4.01 moveto 3.51 3.89 lineto closepath stroke 3.23 4.01 moveto 3.35 3.82 lineto closepath stroke 3.23 4.01 moveto 3.20 3.75 lineto closepath stroke 3.23 4.01 moveto 3.10 3.92 lineto closepath stroke 3.23 4.01 moveto 3.38 4.11 lineto closepath stroke 3.23 4.01 moveto 3.08 4.18 lineto closepath stroke 3.52 4.22 moveto 3.65 3.99 lineto closepath stroke 3.52 4.22 moveto 3.38 4.11 lineto closepath stroke 3.52 4.22 moveto 3.68 4.33 lineto closepath stroke 3.52 4.22 moveto 3.23 4.28 lineto closepath stroke 3.52 4.22 moveto 3.35 4.41 lineto closepath stroke 3.84 4.45 moveto 3.99 4.19 lineto closepath stroke 3.84 4.45 moveto 3.81 4.11 lineto closepath stroke 3.84 4.45 moveto 3.68 4.33 lineto closepath stroke 3.84 4.45 moveto 4.01 4.57 lineto closepath stroke 3.84 4.45 moveto 3.50 4.53 lineto closepath stroke 3.84 4.45 moveto 3.63 4.67 lineto closepath stroke 4.18 4.70 moveto 4.36 4.40 lineto closepath stroke 4.18 4.70 moveto 4.16 4.31 lineto closepath stroke 4.18 4.70 moveto 4.01 4.57 lineto closepath stroke 4.18 4.70 moveto 4.37 4.84 lineto closepath stroke 4.18 4.70 moveto 3.81 4.80 lineto closepath stroke 4.18 4.70 moveto 3.95 5.10 lineto closepath stroke 4.56 4.98 moveto 4.76 4.63 lineto closepath stroke 4.56 4.98 moveto 4.55 4.54 lineto closepath stroke 4.56 4.98 moveto 4.37 4.84 lineto closepath stroke 4.56 4.98 moveto 5.00 4.74 lineto closepath stroke 4.56 4.98 moveto 4.77 5.24 lineto closepath stroke 4.56 4.98 moveto 4.14 5.24 lineto closepath stroke 4.98 5.50 moveto 5.76 5.24 lineto closepath stroke 4.98 5.50 moveto 5.47 5.12 lineto closepath stroke 4.98 5.50 moveto 6.07 5.50 lineto closepath stroke 4.98 5.50 moveto 5.21 5.00 lineto closepath stroke 4.98 5.50 moveto 4.77 5.24 lineto closepath stroke 4.98 5.50 moveto 4.35 5.50 lineto closepath stroke 1.90 3.20 moveto 1.97 3.27 lineto closepath stroke 1.90 3.20 moveto 1.94 3.15 lineto closepath stroke 1.90 3.20 moveto 1.90 3.32 lineto closepath stroke 1.90 3.20 moveto 1.85 3.23 lineto closepath stroke 2.04 3.34 moveto 2.09 3.28 lineto closepath stroke 2.04 3.34 moveto 2.01 3.22 lineto closepath stroke 2.04 3.34 moveto 1.97 3.27 lineto closepath stroke 2.04 3.34 moveto 2.11 3.43 lineto closepath stroke 2.04 3.34 moveto 1.97 3.39 lineto closepath stroke 2.18 3.51 moveto 2.25 3.43 lineto closepath stroke 2.18 3.51 moveto 2.16 3.36 lineto closepath stroke 2.18 3.51 moveto 2.11 3.43 lineto closepath stroke 2.18 3.51 moveto 2.26 3.60 lineto closepath stroke 2.18 3.51 moveto 2.04 3.48 lineto closepath stroke 2.18 3.51 moveto 2.10 3.57 lineto closepath stroke 2.18 3.51 moveto 2.16 3.68 lineto closepath stroke 2.34 3.69 moveto 2.43 3.59 lineto closepath stroke 2.34 3.69 moveto 2.33 3.52 lineto closepath stroke 2.34 3.69 moveto 2.26 3.60 lineto closepath stroke 2.34 3.69 moveto 2.43 3.79 lineto closepath stroke 2.34 3.69 moveto 2.24 3.77 lineto closepath stroke 2.52 3.89 moveto 2.63 3.77 lineto closepath stroke 2.52 3.89 moveto 2.52 3.69 lineto closepath stroke 2.52 3.89 moveto 2.43 3.79 lineto closepath stroke 2.52 3.89 moveto 2.62 3.99 lineto closepath stroke 2.52 3.89 moveto 2.33 3.86 lineto closepath stroke 2.52 3.89 moveto 2.39 3.98 lineto closepath stroke 2.72 4.10 moveto 2.85 3.96 lineto closepath stroke 2.72 4.10 moveto 2.73 3.88 lineto closepath stroke 2.72 4.10 moveto 2.62 3.99 lineto closepath stroke 2.72 4.10 moveto 2.83 4.22 lineto closepath stroke 2.72 4.10 moveto 2.49 4.09 lineto closepath stroke 2.72 4.10 moveto 2.56 4.22 lineto closepath stroke 2.93 4.34 moveto 3.23 4.28 lineto closepath stroke 2.93 4.34 moveto 3.08 4.18 lineto closepath stroke 2.93 4.34 moveto 2.95 4.08 lineto closepath stroke 2.93 4.34 moveto 2.83 4.22 lineto closepath stroke 2.93 4.34 moveto 3.05 4.47 lineto closepath stroke 2.93 4.34 moveto 2.67 4.33 lineto closepath stroke 2.93 4.34 moveto 2.75 4.47 lineto closepath stroke 2.93 4.34 moveto 2.84 4.63 lineto closepath stroke 3.17 4.61 moveto 3.50 4.53 lineto closepath stroke 3.17 4.61 moveto 3.35 4.41 lineto closepath stroke 3.17 4.61 moveto 3.05 4.47 lineto closepath stroke 3.17 4.61 moveto 3.30 4.75 lineto closepath stroke 3.17 4.61 moveto 2.96 4.76 lineto closepath stroke 3.43 4.90 moveto 3.81 4.80 lineto closepath stroke 3.43 4.90 moveto 3.63 4.67 lineto closepath stroke 3.43 4.90 moveto 3.30 4.75 lineto closepath stroke 3.43 4.90 moveto 3.58 5.20 lineto closepath stroke 3.43 4.90 moveto 3.09 4.90 lineto closepath stroke 3.43 4.90 moveto 3.19 5.20 lineto closepath stroke 3.72 5.50 moveto 4.14 5.24 lineto closepath stroke 3.72 5.50 moveto 3.95 5.10 lineto closepath stroke 3.72 5.50 moveto 3.58 5.20 lineto closepath stroke 3.72 5.50 moveto 4.35 5.50 lineto closepath stroke 3.72 5.50 moveto 3.33 5.50 lineto closepath stroke 1.80 3.27 moveto 1.85 3.36 lineto closepath stroke 1.80 3.27 moveto 1.85 3.23 lineto closepath stroke 1.80 3.27 moveto 1.77 3.39 lineto closepath stroke 1.80 3.27 moveto 1.74 3.30 lineto closepath stroke 1.90 3.44 moveto 1.97 3.39 lineto closepath stroke 1.90 3.44 moveto 1.90 3.32 lineto closepath stroke 1.90 3.44 moveto 1.85 3.36 lineto closepath stroke 1.90 3.44 moveto 2.04 3.48 lineto closepath stroke 1.90 3.44 moveto 1.95 3.54 lineto closepath stroke 1.90 3.44 moveto 1.82 3.48 lineto closepath stroke 2.01 3.63 moveto 2.10 3.57 lineto closepath stroke 2.01 3.63 moveto 1.95 3.54 lineto closepath stroke 2.01 3.63 moveto 2.07 3.74 lineto closepath stroke 2.01 3.63 moveto 1.88 3.57 lineto closepath stroke 2.01 3.63 moveto 1.91 3.68 lineto closepath stroke 2.13 3.84 moveto 2.33 3.86 lineto closepath stroke 2.13 3.84 moveto 2.24 3.77 lineto closepath stroke 2.13 3.84 moveto 2.16 3.68 lineto closepath stroke 2.13 3.84 moveto 2.07 3.74 lineto closepath stroke 2.13 3.84 moveto 2.20 3.96 lineto closepath stroke 2.13 3.84 moveto 1.97 3.78 lineto closepath stroke 2.13 3.84 moveto 2.01 3.90 lineto closepath stroke 2.26 4.07 moveto 2.49 4.09 lineto closepath stroke 2.26 4.07 moveto 2.39 3.98 lineto closepath stroke 2.26 4.07 moveto 2.20 3.96 lineto closepath stroke 2.26 4.07 moveto 2.34 4.20 lineto closepath stroke 2.26 4.07 moveto 2.08 4.01 lineto closepath stroke 2.26 4.07 moveto 2.12 4.14 lineto closepath stroke 2.26 4.07 moveto 2.16 4.28 lineto closepath stroke 2.41 4.33 moveto 2.67 4.33 lineto closepath stroke 2.41 4.33 moveto 2.56 4.22 lineto closepath stroke 2.41 4.33 moveto 2.34 4.20 lineto closepath stroke 2.41 4.33 moveto 2.49 4.47 lineto closepath stroke 2.41 4.33 moveto 2.24 4.40 lineto closepath stroke 2.41 4.33 moveto 2.29 4.56 lineto closepath stroke 2.57 4.61 moveto 2.75 4.47 lineto closepath stroke 2.57 4.61 moveto 2.49 4.47 lineto closepath stroke 2.57 4.61 moveto 2.66 4.76 lineto closepath stroke 2.57 4.61 moveto 2.37 4.70 lineto closepath stroke 2.57 4.61 moveto 2.42 4.87 lineto closepath stroke 2.75 4.91 moveto 3.09 4.90 lineto closepath stroke 2.75 4.91 moveto 2.96 4.76 lineto closepath stroke 2.75 4.91 moveto 2.84 4.63 lineto closepath stroke 2.75 4.91 moveto 2.66 4.76 lineto closepath stroke 2.75 4.91 moveto 2.85 5.21 lineto closepath stroke 2.75 4.91 moveto 2.51 5.02 lineto closepath stroke 2.94 5.50 moveto 3.19 5.20 lineto closepath stroke 2.94 5.50 moveto 2.85 5.21 lineto closepath stroke 2.94 5.50 moveto 3.33 5.50 lineto closepath stroke 2.94 5.50 moveto 2.61 5.31 lineto closepath stroke 2.94 5.50 moveto 2.61 5.50 lineto closepath stroke 1.69 3.32 moveto 1.72 3.42 lineto closepath stroke 1.69 3.32 moveto 1.74 3.30 lineto closepath stroke 1.69 3.32 moveto 1.62 3.33 lineto closepath stroke 1.75 3.51 moveto 1.82 3.48 lineto closepath stroke 1.75 3.51 moveto 1.77 3.39 lineto closepath stroke 1.75 3.51 moveto 1.72 3.42 lineto closepath stroke 1.75 3.51 moveto 1.88 3.57 lineto closepath stroke 1.75 3.51 moveto 1.78 3.62 lineto closepath stroke 1.75 3.51 moveto 1.65 3.43 lineto closepath stroke 1.75 3.51 moveto 1.67 3.53 lineto closepath stroke 1.82 3.72 moveto 1.97 3.78 lineto closepath stroke 1.82 3.72 moveto 1.91 3.68 lineto closepath stroke 1.82 3.72 moveto 1.78 3.62 lineto closepath stroke 1.82 3.72 moveto 1.85 3.84 lineto closepath stroke 1.82 3.72 moveto 1.70 3.63 lineto closepath stroke 1.82 3.72 moveto 1.71 3.74 lineto closepath stroke 1.89 3.95 moveto 2.08 4.01 lineto closepath stroke 1.89 3.95 moveto 2.01 3.90 lineto closepath stroke 1.89 3.95 moveto 1.85 3.84 lineto closepath stroke 1.89 3.95 moveto 1.93 4.08 lineto closepath stroke 1.89 3.95 moveto 1.75 3.86 lineto closepath stroke 1.89 3.95 moveto 1.76 3.98 lineto closepath stroke 1.89 3.95 moveto 1.77 4.11 lineto closepath stroke 1.97 4.20 moveto 2.12 4.14 lineto closepath stroke 1.97 4.20 moveto 1.93 4.08 lineto closepath stroke 1.97 4.20 moveto 2.02 4.34 lineto closepath stroke 1.97 4.20 moveto 1.82 4.24 lineto closepath stroke 1.97 4.20 moveto 1.83 4.38 lineto closepath stroke 2.06 4.48 moveto 2.24 4.40 lineto closepath stroke 2.06 4.48 moveto 2.16 4.28 lineto closepath stroke 2.06 4.48 moveto 2.02 4.34 lineto closepath stroke 2.06 4.48 moveto 2.11 4.64 lineto closepath stroke 2.06 4.48 moveto 1.88 4.52 lineto closepath stroke 2.06 4.48 moveto 1.89 4.68 lineto closepath stroke 2.16 4.79 moveto 2.37 4.70 lineto closepath stroke 2.16 4.79 moveto 2.29 4.56 lineto closepath stroke 2.16 4.79 moveto 2.11 4.64 lineto closepath stroke 2.16 4.79 moveto 2.22 4.96 lineto closepath stroke 2.16 4.79 moveto 1.94 4.83 lineto closepath stroke 2.27 5.13 moveto 2.61 5.31 lineto closepath stroke 2.27 5.13 moveto 2.51 5.02 lineto closepath stroke 2.27 5.13 moveto 2.42 4.87 lineto closepath stroke 2.27 5.13 moveto 2.22 4.96 lineto closepath stroke 2.27 5.13 moveto 2.27 5.31 lineto closepath stroke 2.27 5.13 moveto 2.00 5.00 lineto closepath stroke 2.27 5.13 moveto 2.02 5.31 lineto closepath stroke 2.27 5.50 moveto 2.61 5.50 lineto closepath stroke 2.27 5.50 moveto 2.27 5.31 lineto closepath stroke 2.27 5.50 moveto 2.02 5.50 lineto closepath stroke 1.56 3.35 moveto 1.65 3.43 lineto closepath stroke 1.56 3.35 moveto 1.62 3.33 lineto closepath stroke 1.56 3.35 moveto 1.57 3.45 lineto closepath stroke 1.56 3.35 moveto 1.49 3.45 lineto closepath stroke 1.56 3.35 moveto 1.50 3.35 lineto closepath stroke 1.58 3.55 moveto 1.70 3.63 lineto closepath stroke 1.58 3.55 moveto 1.67 3.53 lineto closepath stroke 1.58 3.55 moveto 1.57 3.45 lineto closepath stroke 1.58 3.55 moveto 1.60 3.66 lineto closepath stroke 1.58 3.55 moveto 1.50 3.55 lineto closepath stroke 1.58 3.55 moveto 1.49 3.66 lineto closepath stroke 1.61 3.76 moveto 1.75 3.86 lineto closepath stroke 1.61 3.76 moveto 1.71 3.74 lineto closepath stroke 1.61 3.76 moveto 1.60 3.66 lineto closepath stroke 1.61 3.76 moveto 1.62 3.88 lineto closepath stroke 1.61 3.76 moveto 1.50 3.76 lineto closepath stroke 1.61 3.76 moveto 1.49 3.88 lineto closepath stroke 1.63 4.01 moveto 1.76 3.98 lineto closepath stroke 1.63 4.01 moveto 1.62 3.88 lineto closepath stroke 1.63 4.01 moveto 1.65 4.14 lineto closepath stroke 1.63 4.01 moveto 1.50 4.01 lineto closepath stroke 1.63 4.01 moveto 1.49 4.14 lineto closepath stroke 1.66 4.27 moveto 1.82 4.24 lineto closepath stroke 1.66 4.27 moveto 1.77 4.11 lineto closepath stroke 1.66 4.27 moveto 1.65 4.14 lineto closepath stroke 1.66 4.27 moveto 1.68 4.42 lineto closepath stroke 1.66 4.27 moveto 1.50 4.27 lineto closepath stroke 1.69 4.56 moveto 1.88 4.52 lineto closepath stroke 1.69 4.56 moveto 1.83 4.38 lineto closepath stroke 1.69 4.56 moveto 1.68 4.42 lineto closepath stroke 1.69 4.56 moveto 1.71 4.72 lineto closepath stroke 1.69 4.56 moveto 1.52 4.42 lineto closepath stroke 1.69 4.56 moveto 1.50 4.56 lineto closepath stroke 1.72 4.88 moveto 2.00 5.00 lineto closepath stroke 1.72 4.88 moveto 1.94 4.83 lineto closepath stroke 1.72 4.88 moveto 1.89 4.68 lineto closepath stroke 1.72 4.88 moveto 1.71 4.72 lineto closepath stroke 1.72 4.88 moveto 1.74 5.19 lineto closepath stroke 1.72 4.88 moveto 1.52 4.72 lineto closepath stroke 1.72 4.88 moveto 1.50 4.88 lineto closepath stroke 1.76 5.50 moveto 2.02 5.50 lineto closepath stroke 1.76 5.50 moveto 2.02 5.31 lineto closepath stroke 1.76 5.50 moveto 1.74 5.19 lineto closepath stroke 1.76 5.50 moveto 1.52 5.19 lineto closepath stroke 1.76 5.50 moveto 1.50 5.50 lineto closepath stroke 1.44 3.35 moveto 1.43 3.45 lineto closepath stroke 1.44 3.35 moveto 1.50 3.35 lineto closepath stroke 1.44 3.35 moveto 1.38 3.33 lineto closepath stroke 1.42 3.55 moveto 1.50 3.55 lineto closepath stroke 1.42 3.55 moveto 1.49 3.45 lineto closepath stroke 1.42 3.55 moveto 1.43 3.45 lineto closepath stroke 1.42 3.55 moveto 1.40 3.66 lineto closepath stroke 1.42 3.55 moveto 1.37 3.43 lineto closepath stroke 1.42 3.55 moveto 1.33 3.53 lineto closepath stroke 1.39 3.76 moveto 1.50 3.76 lineto closepath stroke 1.39 3.76 moveto 1.49 3.66 lineto closepath stroke 1.39 3.76 moveto 1.40 3.66 lineto closepath stroke 1.39 3.76 moveto 1.38 3.88 lineto closepath stroke 1.39 3.76 moveto 1.32 3.64 lineto closepath stroke 1.39 3.76 moveto 1.29 3.74 lineto closepath stroke 1.37 4.01 moveto 1.50 4.01 lineto closepath stroke 1.37 4.01 moveto 1.49 3.88 lineto closepath stroke 1.37 4.01 moveto 1.38 3.88 lineto closepath stroke 1.37 4.01 moveto 1.35 4.14 lineto closepath stroke 1.37 4.01 moveto 1.28 3.86 lineto closepath stroke 1.37 4.01 moveto 1.24 3.98 lineto closepath stroke 1.34 4.27 moveto 1.52 4.42 lineto closepath stroke 1.34 4.27 moveto 1.50 4.27 lineto closepath stroke 1.34 4.27 moveto 1.49 4.14 lineto closepath stroke 1.34 4.27 moveto 1.35 4.14 lineto closepath stroke 1.34 4.27 moveto 1.32 4.42 lineto closepath stroke 1.34 4.27 moveto 1.23 4.11 lineto closepath stroke 1.34 4.27 moveto 1.18 4.24 lineto closepath stroke 1.31 4.56 moveto 1.52 4.72 lineto closepath stroke 1.31 4.56 moveto 1.50 4.56 lineto closepath stroke 1.31 4.56 moveto 1.32 4.42 lineto closepath stroke 1.31 4.56 moveto 1.29 4.72 lineto closepath stroke 1.31 4.56 moveto 1.17 4.38 lineto closepath stroke 1.31 4.56 moveto 1.12 4.52 lineto closepath stroke 1.31 4.56 moveto 1.07 4.67 lineto closepath stroke 1.28 4.88 moveto 1.52 5.19 lineto closepath stroke 1.28 4.88 moveto 1.50 4.88 lineto closepath stroke 1.28 4.88 moveto 1.29 4.72 lineto closepath stroke 1.28 4.88 moveto 1.26 5.19 lineto closepath stroke 1.28 4.88 moveto 1.06 4.83 lineto closepath stroke 1.28 4.88 moveto 1.00 5.00 lineto closepath stroke 1.24 5.50 moveto 1.50 5.50 lineto closepath stroke 1.24 5.50 moveto 1.26 5.19 lineto closepath stroke 1.24 5.50 moveto 0.98 5.31 lineto closepath stroke 1.24 5.50 moveto 0.98 5.50 lineto closepath stroke 1.31 3.32 moveto 1.37 3.43 lineto closepath stroke 1.31 3.32 moveto 1.38 3.33 lineto closepath stroke 1.31 3.32 moveto 1.28 3.42 lineto closepath stroke 1.31 3.32 moveto 1.21 3.38 lineto closepath stroke 1.31 3.32 moveto 1.26 3.30 lineto closepath stroke 1.25 3.51 moveto 1.32 3.64 lineto closepath stroke 1.25 3.51 moveto 1.33 3.53 lineto closepath stroke 1.25 3.51 moveto 1.28 3.42 lineto closepath stroke 1.25 3.51 moveto 1.22 3.62 lineto closepath stroke 1.25 3.51 moveto 1.18 3.48 lineto closepath stroke 1.25 3.51 moveto 1.12 3.57 lineto closepath stroke 1.18 3.72 moveto 1.28 3.86 lineto closepath stroke 1.18 3.72 moveto 1.29 3.74 lineto closepath stroke 1.18 3.72 moveto 1.22 3.62 lineto closepath stroke 1.18 3.72 moveto 1.15 3.84 lineto closepath stroke 1.18 3.72 moveto 1.09 3.68 lineto closepath stroke 1.18 3.72 moveto 1.03 3.78 lineto closepath stroke 1.11 3.95 moveto 1.23 4.11 lineto closepath stroke 1.11 3.95 moveto 1.24 3.98 lineto closepath stroke 1.11 3.95 moveto 1.15 3.84 lineto closepath stroke 1.11 3.95 moveto 1.07 4.08 lineto closepath stroke 1.11 3.95 moveto 0.99 3.90 lineto closepath stroke 1.11 3.95 moveto 0.92 4.01 lineto closepath stroke 1.03 4.20 moveto 1.17 4.38 lineto closepath stroke 1.03 4.20 moveto 1.18 4.24 lineto closepath stroke 1.03 4.20 moveto 1.07 4.08 lineto closepath stroke 1.03 4.20 moveto 0.98 4.34 lineto closepath stroke 1.03 4.20 moveto 0.88 4.14 lineto closepath stroke 1.03 4.20 moveto 0.81 4.27 lineto closepath stroke 0.94 4.48 moveto 1.12 4.52 lineto closepath stroke 0.94 4.48 moveto 0.98 4.34 lineto closepath stroke 0.94 4.48 moveto 0.89 4.64 lineto closepath stroke 0.94 4.48 moveto 0.76 4.40 lineto closepath stroke 0.84 4.79 moveto 1.06 4.83 lineto closepath stroke 0.84 4.79 moveto 1.07 4.67 lineto closepath stroke 0.84 4.79 moveto 0.89 4.64 lineto closepath stroke 0.84 4.79 moveto 0.78 4.96 lineto closepath stroke 0.84 4.79 moveto 0.71 4.56 lineto closepath stroke 0.84 4.79 moveto 0.63 4.70 lineto closepath stroke 0.73 5.13 moveto 0.98 5.31 lineto closepath stroke 0.73 5.13 moveto 1.00 5.00 lineto closepath stroke 0.73 5.13 moveto 0.78 4.96 lineto closepath stroke 0.73 5.13 moveto 0.73 5.31 lineto closepath stroke 0.73 5.13 moveto 0.36 5.31 lineto closepath stroke 0.73 5.13 moveto 0.58 4.87 lineto closepath stroke 0.73 5.13 moveto 0.49 5.02 lineto closepath stroke 0.73 5.50 moveto 0.98 5.50 lineto closepath stroke 0.73 5.50 moveto 0.73 5.31 lineto closepath stroke 0.73 5.50 moveto 0.36 5.50 lineto closepath stroke 1.20 3.27 moveto 1.15 3.36 lineto closepath stroke 1.20 3.27 moveto 1.26 3.30 lineto closepath stroke 1.20 3.27 moveto 1.15 3.23 lineto closepath stroke 1.10 3.44 moveto 1.18 3.48 lineto closepath stroke 1.10 3.44 moveto 1.21 3.38 lineto closepath stroke 1.10 3.44 moveto 1.15 3.36 lineto closepath stroke 1.10 3.44 moveto 1.04 3.54 lineto closepath stroke 1.10 3.44 moveto 1.10 3.32 lineto closepath stroke 1.10 3.44 moveto 1.03 3.39 lineto closepath stroke 0.99 3.63 moveto 1.09 3.68 lineto closepath stroke 0.99 3.63 moveto 1.12 3.57 lineto closepath stroke 0.99 3.63 moveto 1.04 3.54 lineto closepath stroke 0.99 3.63 moveto 0.93 3.74 lineto closepath stroke 0.99 3.63 moveto 0.98 3.49 lineto closepath stroke 0.99 3.63 moveto 0.90 3.57 lineto closepath stroke 0.99 3.63 moveto 0.82 3.66 lineto closepath stroke 0.87 3.84 moveto 0.99 3.90 lineto closepath stroke 0.87 3.84 moveto 1.03 3.78 lineto closepath stroke 0.87 3.84 moveto 0.93 3.74 lineto closepath stroke 0.87 3.84 moveto 0.80 3.96 lineto closepath stroke 0.87 3.84 moveto 0.76 3.77 lineto closepath stroke 0.87 3.84 moveto 0.67 3.86 lineto closepath stroke 0.74 4.07 moveto 0.88 4.14 lineto closepath stroke 0.74 4.07 moveto 0.92 4.01 lineto closepath stroke 0.74 4.07 moveto 0.80 3.96 lineto closepath stroke 0.74 4.07 moveto 0.66 4.20 lineto closepath stroke 0.74 4.07 moveto 0.61 3.98 lineto closepath stroke 0.74 4.07 moveto 0.51 4.09 lineto closepath stroke 0.59 4.33 moveto 0.71 4.56 lineto closepath stroke 0.59 4.33 moveto 0.76 4.40 lineto closepath stroke 0.59 4.33 moveto 0.81 4.27 lineto closepath stroke 0.59 4.33 moveto 0.66 4.20 lineto closepath stroke 0.59 4.33 moveto 0.51 4.47 lineto closepath stroke 0.59 4.33 moveto 0.44 4.22 lineto closepath stroke 0.43 4.61 moveto 0.58 4.87 lineto closepath stroke 0.43 4.61 moveto 0.63 4.70 lineto closepath stroke 0.43 4.61 moveto 0.51 4.47 lineto closepath stroke 0.43 4.61 moveto 0.34 4.76 lineto closepath stroke 0.43 4.61 moveto 0.21 4.76 lineto closepath stroke 0.43 4.61 moveto 0.35 4.35 lineto closepath stroke 0.43 4.61 moveto 0.21 4.47 lineto closepath stroke 0.25 4.91 moveto 0.49 5.02 lineto closepath stroke 0.25 4.91 moveto 0.34 4.76 lineto closepath stroke 0.25 4.91 moveto 0.13 5.21 lineto closepath stroke 0.25 4.91 moveto 0.13 4.91 lineto closepath stroke 0.00 4.91 moveto 0.13 4.91 lineto closepath stroke 0.00 4.91 moveto 0.21 4.76 lineto closepath stroke 0.00 4.91 moveto 0.00 5.21 lineto closepath stroke 0.00 4.91 moveto 0.00 4.63 lineto closepath stroke 1.10 3.20 moveto 1.10 3.32 lineto closepath stroke 1.10 3.20 moveto 1.15 3.23 lineto closepath stroke 1.10 3.20 moveto 1.03 3.27 lineto closepath stroke 1.10 3.20 moveto 0.98 3.21 lineto closepath stroke 1.10 3.20 moveto 1.06 3.15 lineto closepath stroke 0.96 3.34 moveto 0.98 3.49 lineto closepath stroke 0.96 3.34 moveto 1.03 3.39 lineto closepath stroke 0.96 3.34 moveto 1.03 3.27 lineto closepath stroke 0.96 3.34 moveto 0.89 3.43 lineto closepath stroke 0.96 3.34 moveto 0.91 3.28 lineto closepath stroke 0.96 3.34 moveto 0.82 3.35 lineto closepath stroke 0.82 3.51 moveto 0.90 3.57 lineto closepath stroke 0.82 3.51 moveto 0.89 3.43 lineto closepath stroke 0.82 3.51 moveto 0.74 3.60 lineto closepath stroke 0.82 3.51 moveto 0.75 3.43 lineto closepath stroke 0.82 3.51 moveto 0.65 3.50 lineto closepath stroke 0.66 3.69 moveto 0.76 3.77 lineto closepath stroke 0.66 3.69 moveto 0.82 3.66 lineto closepath stroke 0.66 3.69 moveto 0.74 3.60 lineto closepath stroke 0.66 3.69 moveto 0.57 3.79 lineto closepath stroke 0.66 3.69 moveto 0.57 3.59 lineto closepath stroke 0.48 3.89 moveto 0.61 3.98 lineto closepath stroke 0.48 3.89 moveto 0.67 3.86 lineto closepath stroke 0.48 3.89 moveto 0.57 3.79 lineto closepath stroke 0.48 3.89 moveto 0.38 3.99 lineto closepath stroke 0.48 3.89 moveto 0.48 3.69 lineto closepath stroke 0.48 3.89 moveto 0.37 3.77 lineto closepath stroke 0.28 4.10 moveto 0.35 4.35 lineto closepath stroke 0.28 4.10 moveto 0.44 4.22 lineto closepath stroke 0.28 4.10 moveto 0.51 4.09 lineto closepath stroke 0.28 4.10 moveto 0.38 3.99 lineto closepath stroke 0.28 4.10 moveto 0.14 4.22 lineto closepath stroke 0.28 4.10 moveto 0.27 3.88 lineto closepath stroke 0.28 4.10 moveto 0.14 3.88 lineto closepath stroke 0.00 4.34 moveto 0.21 4.47 lineto closepath stroke 0.00 4.34 moveto 0.14 4.22 lineto closepath stroke 0.00 4.34 moveto 0.00 4.63 lineto closepath stroke 0.00 4.34 moveto 0.00 4.00 lineto closepath stroke 1.01 3.10 moveto 0.93 3.16 lineto closepath stroke 1.01 3.10 moveto 1.06 3.15 lineto closepath stroke 1.01 3.10 moveto 0.98 3.05 lineto closepath stroke 0.85 3.22 moveto 0.91 3.28 lineto closepath stroke 0.85 3.22 moveto 0.98 3.21 lineto closepath stroke 0.85 3.22 moveto 0.93 3.16 lineto closepath stroke 0.85 3.22 moveto 0.76 3.28 lineto closepath stroke 0.85 3.22 moveto 0.90 3.11 lineto closepath stroke 0.85 3.22 moveto 0.81 3.15 lineto closepath stroke 0.67 3.35 moveto 0.75 3.43 lineto closepath stroke 0.67 3.35 moveto 0.82 3.35 lineto closepath stroke 0.67 3.35 moveto 0.76 3.28 lineto closepath stroke 0.67 3.35 moveto 0.58 3.42 lineto closepath stroke 0.67 3.35 moveto 0.72 3.21 lineto closepath stroke 0.67 3.35 moveto 0.62 3.26 lineto closepath stroke 0.48 3.49 moveto 0.48 3.69 lineto closepath stroke 0.48 3.49 moveto 0.57 3.59 lineto closepath stroke 0.48 3.49 moveto 0.65 3.50 lineto closepath stroke 0.48 3.49 moveto 0.58 3.42 lineto closepath stroke 0.48 3.49 moveto 0.37 3.57 lineto closepath stroke 0.48 3.49 moveto 0.52 3.33 lineto closepath stroke 0.48 3.49 moveto 0.41 3.38 lineto closepath stroke 0.26 3.65 moveto 0.27 3.88 lineto closepath stroke 0.26 3.65 moveto 0.37 3.77 lineto closepath stroke 0.26 3.65 moveto 0.37 3.57 lineto closepath stroke 0.26 3.65 moveto 0.13 3.65 lineto closepath stroke 0.26 3.65 moveto 0.31 3.46 lineto closepath stroke 0.26 3.65 moveto 0.13 3.51 lineto closepath stroke 0.00 3.65 moveto 0.14 3.88 lineto closepath stroke 0.00 3.65 moveto 0.13 3.65 lineto closepath stroke 0.00 3.65 moveto 0.00 4.00 lineto closepath stroke 0.00 3.65 moveto 0.00 3.51 lineto closepath stroke 0.95 2.99 moveto 0.90 3.11 lineto closepath stroke 0.95 2.99 moveto 0.98 3.05 lineto closepath stroke 0.95 2.99 moveto 0.86 3.03 lineto closepath stroke 0.95 2.99 moveto 0.83 2.96 lineto closepath stroke 0.95 2.99 moveto 0.93 2.93 lineto closepath stroke 0.77 3.08 moveto 0.72 3.21 lineto closepath stroke 0.77 3.08 moveto 0.81 3.15 lineto closepath stroke 0.77 3.08 moveto 0.86 3.03 lineto closepath stroke 0.77 3.08 moveto 0.67 3.12 lineto closepath stroke 0.77 3.08 moveto 0.74 3.00 lineto closepath stroke 0.57 3.16 moveto 0.52 3.33 lineto closepath stroke 0.57 3.16 moveto 0.62 3.26 lineto closepath stroke 0.57 3.16 moveto 0.67 3.12 lineto closepath stroke 0.57 3.16 moveto 0.46 3.21 lineto closepath stroke 0.57 3.16 moveto 0.64 3.04 lineto closepath stroke 0.57 3.16 moveto 0.54 3.06 lineto closepath stroke 0.57 3.16 moveto 0.42 3.09 lineto closepath stroke 0.35 3.26 moveto 0.31 3.46 lineto closepath stroke 0.35 3.26 moveto 0.41 3.38 lineto closepath stroke 0.35 3.26 moveto 0.46 3.21 lineto closepath stroke 0.35 3.26 moveto 0.17 3.32 lineto closepath stroke 0.35 3.26 moveto 0.31 3.14 lineto closepath stroke 0.00 3.37 moveto 0.13 3.51 lineto closepath stroke 0.00 3.37 moveto 0.17 3.32 lineto closepath stroke 0.00 3.37 moveto 0.00 3.51 lineto closepath stroke 0.00 3.37 moveto 0.13 3.19 lineto closepath stroke 0.00 3.37 moveto 0.00 3.19 lineto closepath stroke 0.91 2.87 moveto 0.82 2.90 lineto closepath stroke 0.91 2.87 moveto 0.93 2.93 lineto closepath stroke 0.91 2.87 moveto 0.91 2.81 lineto closepath stroke 0.72 2.92 moveto 0.74 3.00 lineto closepath stroke 0.72 2.92 moveto 0.83 2.96 lineto closepath stroke 0.72 2.92 moveto 0.82 2.90 lineto closepath stroke 0.72 2.92 moveto 0.64 3.04 lineto closepath stroke 0.72 2.92 moveto 0.61 2.94 lineto closepath stroke 0.72 2.92 moveto 0.81 2.83 lineto closepath stroke 0.72 2.92 moveto 0.71 2.83 lineto closepath stroke 0.50 2.96 moveto 0.54 3.06 lineto closepath stroke 0.50 2.96 moveto 0.61 2.94 lineto closepath stroke 0.50 2.96 moveto 0.38 2.99 lineto closepath stroke 0.50 2.96 moveto 0.60 2.86 lineto closepath stroke 0.50 2.96 moveto 0.49 2.86 lineto closepath stroke 0.27 3.01 moveto 0.13 3.19 lineto closepath stroke 0.27 3.01 moveto 0.31 3.14 lineto closepath stroke 0.27 3.01 moveto 0.42 3.09 lineto closepath stroke 0.27 3.01 moveto 0.38 2.99 lineto closepath stroke 0.27 3.01 moveto 0.13 3.01 lineto closepath stroke 0.27 3.01 moveto 0.37 2.88 lineto closepath stroke 0.27 3.01 moveto 0.13 2.88 lineto closepath stroke 0.00 3.01 moveto 0.00 3.19 lineto closepath stroke 0.00 3.01 moveto 0.13 3.01 lineto closepath stroke 0.00 3.01 moveto 0.00 2.88 lineto closepath stroke 0.90 2.75 moveto 0.81 2.83 lineto closepath stroke 0.90 2.75 moveto 0.91 2.81 lineto closepath stroke 0.90 2.75 moveto 0.80 2.75 lineto closepath stroke 0.90 2.75 moveto 0.91 2.69 lineto closepath stroke 0.70 2.75 moveto 0.60 2.86 lineto closepath stroke 0.70 2.75 moveto 0.71 2.83 lineto closepath stroke 0.70 2.75 moveto 0.80 2.75 lineto closepath stroke 0.70 2.75 moveto 0.59 2.75 lineto closepath stroke 0.70 2.75 moveto 0.81 2.69 lineto closepath stroke 0.70 2.75 moveto 0.71 2.67 lineto closepath stroke 0.48 2.75 moveto 0.37 2.88 lineto closepath stroke 0.48 2.75 moveto 0.49 2.86 lineto closepath stroke 0.48 2.75 moveto 0.59 2.75 lineto closepath stroke 0.48 2.75 moveto 0.24 2.75 lineto closepath stroke 0.48 2.75 moveto 0.60 2.67 lineto closepath stroke 0.48 2.75 moveto 0.49 2.64 lineto closepath stroke 0.48 2.75 moveto 0.37 2.62 lineto closepath stroke 0.00 2.75 moveto 0.13 2.88 lineto closepath stroke 0.00 2.75 moveto 0.24 2.75 lineto closepath stroke 0.00 2.75 moveto 0.00 2.88 lineto closepath stroke 0.00 2.75 moveto 0.13 2.62 lineto closepath stroke 0.00 2.75 moveto 0.00 2.62 lineto closepath stroke 0.91 2.63 moveto 0.81 2.69 lineto closepath stroke 0.91 2.63 moveto 0.91 2.69 lineto closepath stroke 0.91 2.63 moveto 0.82 2.60 lineto closepath stroke 0.91 2.63 moveto 0.93 2.57 lineto closepath stroke 0.72 2.58 moveto 0.60 2.67 lineto closepath stroke 0.72 2.58 moveto 0.71 2.67 lineto closepath stroke 0.72 2.58 moveto 0.82 2.60 lineto closepath stroke 0.72 2.58 moveto 0.61 2.56 lineto closepath stroke 0.72 2.58 moveto 0.83 2.54 lineto closepath stroke 0.72 2.58 moveto 0.74 2.50 lineto closepath stroke 0.72 2.58 moveto 0.64 2.46 lineto closepath stroke 0.50 2.54 moveto 0.49 2.64 lineto closepath stroke 0.50 2.54 moveto 0.61 2.56 lineto closepath stroke 0.50 2.54 moveto 0.38 2.51 lineto closepath stroke 0.50 2.54 moveto 0.54 2.44 lineto closepath stroke 0.50 2.54 moveto 0.42 2.39 lineto closepath stroke 0.27 2.49 moveto 0.13 2.62 lineto closepath stroke 0.27 2.49 moveto 0.37 2.62 lineto closepath stroke 0.27 2.49 moveto 0.38 2.51 lineto closepath stroke 0.27 2.49 moveto 0.13 2.49 lineto closepath stroke 0.27 2.49 moveto 0.31 2.36 lineto closepath stroke 0.27 2.49 moveto 0.13 2.31 lineto closepath stroke 0.00 2.49 moveto 0.00 2.62 lineto closepath stroke 0.00 2.49 moveto 0.13 2.49 lineto closepath stroke 0.00 2.49 moveto 0.00 2.31 lineto closepath stroke 0.95 2.51 moveto 0.83 2.54 lineto closepath stroke 0.95 2.51 moveto 0.93 2.57 lineto closepath stroke 0.95 2.51 moveto 0.86 2.47 lineto closepath stroke 0.95 2.51 moveto 0.98 2.45 lineto closepath stroke 0.77 2.42 moveto 0.74 2.50 lineto closepath stroke 0.77 2.42 moveto 0.86 2.47 lineto closepath stroke 0.77 2.42 moveto 0.67 2.38 lineto closepath stroke 0.77 2.42 moveto 0.89 2.41 lineto closepath stroke 0.77 2.42 moveto 0.81 2.35 lineto closepath stroke 0.57 2.34 moveto 0.54 2.44 lineto closepath stroke 0.57 2.34 moveto 0.64 2.46 lineto closepath stroke 0.57 2.34 moveto 0.67 2.38 lineto closepath stroke 0.57 2.34 moveto 0.46 2.29 lineto closepath stroke 0.57 2.34 moveto 0.71 2.31 lineto closepath stroke 0.57 2.34 moveto 0.62 2.24 lineto closepath stroke 0.35 2.24 moveto 0.31 2.36 lineto closepath stroke 0.35 2.24 moveto 0.42 2.39 lineto closepath stroke 0.35 2.24 moveto 0.46 2.29 lineto closepath stroke 0.35 2.24 moveto 0.17 2.18 lineto closepath stroke 0.35 2.24 moveto 0.51 2.19 lineto closepath stroke 0.35 2.24 moveto 0.41 2.12 lineto closepath stroke 0.35 2.24 moveto 0.31 2.04 lineto closepath stroke 0.00 2.13 moveto 0.00 2.31 lineto closepath stroke 0.00 2.13 moveto 0.13 2.31 lineto closepath stroke 0.00 2.13 moveto 0.17 2.18 lineto closepath stroke 0.00 2.13 moveto 0.13 1.99 lineto closepath stroke 0.00 2.13 moveto 0.00 1.99 lineto closepath stroke 1.01 2.40 moveto 0.89 2.41 lineto closepath stroke 1.01 2.40 moveto 0.98 2.45 lineto closepath stroke 1.01 2.40 moveto 0.93 2.34 lineto closepath stroke 1.01 2.40 moveto 0.99 2.28 lineto closepath stroke 1.01 2.40 moveto 1.06 2.35 lineto closepath stroke 0.85 2.28 moveto 0.71 2.31 lineto closepath stroke 0.85 2.28 moveto 0.81 2.35 lineto closepath stroke 0.85 2.28 moveto 0.93 2.34 lineto closepath stroke 0.85 2.28 moveto 0.76 2.22 lineto closepath stroke 0.85 2.28 moveto 0.91 2.22 lineto closepath stroke 0.85 2.28 moveto 0.84 2.14 lineto closepath stroke 0.67 2.15 moveto 0.51 2.19 lineto closepath stroke 0.67 2.15 moveto 0.62 2.24 lineto closepath stroke 0.67 2.15 moveto 0.76 2.22 lineto closepath stroke 0.67 2.15 moveto 0.58 2.08 lineto closepath stroke 0.67 2.15 moveto 0.75 2.07 lineto closepath stroke 0.67 2.15 moveto 0.67 1.98 lineto closepath stroke 0.48 2.01 moveto 0.41 2.12 lineto closepath stroke 0.48 2.01 moveto 0.58 2.08 lineto closepath stroke 0.48 2.01 moveto 0.37 1.93 lineto closepath stroke 0.48 2.01 moveto 0.57 1.91 lineto closepath stroke 0.48 2.01 moveto 0.48 1.81 lineto closepath stroke 0.26 1.85 moveto 0.13 1.99 lineto closepath stroke 0.26 1.85 moveto 0.31 2.04 lineto closepath stroke 0.26 1.85 moveto 0.37 1.93 lineto closepath stroke 0.26 1.85 moveto 0.13 1.85 lineto closepath stroke 0.26 1.85 moveto 0.37 1.73 lineto closepath stroke 0.26 1.85 moveto 0.27 1.62 lineto closepath stroke 0.00 1.85 moveto 0.00 1.99 lineto closepath stroke 0.00 1.85 moveto 0.13 1.85 lineto closepath stroke 0.00 1.85 moveto 0.14 1.62 lineto closepath stroke 0.00 1.85 moveto 0.00 1.50 lineto closepath stroke 1.10 2.30 moveto 1.03 2.23 lineto closepath stroke 1.10 2.30 moveto 1.06 2.35 lineto closepath stroke 1.10 2.30 moveto 1.15 2.27 lineto closepath stroke 0.96 2.16 moveto 0.91 2.22 lineto closepath stroke 0.96 2.16 moveto 0.99 2.28 lineto closepath stroke 0.96 2.16 moveto 1.03 2.23 lineto closepath stroke 0.96 2.16 moveto 0.89 2.07 lineto closepath stroke 0.96 2.16 moveto 1.08 2.19 lineto closepath stroke 0.96 2.16 moveto 1.03 2.11 lineto closepath stroke 0.82 1.99 moveto 0.75 2.07 lineto closepath stroke 0.82 1.99 moveto 0.84 2.14 lineto closepath stroke 0.82 1.99 moveto 0.89 2.07 lineto closepath stroke 0.82 1.99 moveto 0.74 1.90 lineto closepath stroke 0.82 1.99 moveto 0.96 2.02 lineto closepath stroke 0.82 1.99 moveto 0.90 1.93 lineto closepath stroke 0.66 1.81 moveto 0.57 1.91 lineto closepath stroke 0.66 1.81 moveto 0.67 1.98 lineto closepath stroke 0.66 1.81 moveto 0.74 1.90 lineto closepath stroke 0.66 1.81 moveto 0.57 1.71 lineto closepath stroke 0.66 1.81 moveto 0.82 1.84 lineto closepath stroke 0.66 1.81 moveto 0.76 1.73 lineto closepath stroke 0.48 1.61 moveto 0.37 1.73 lineto closepath stroke 0.48 1.61 moveto 0.48 1.81 lineto closepath stroke 0.48 1.61 moveto 0.57 1.71 lineto closepath stroke 0.48 1.61 moveto 0.38 1.51 lineto closepath stroke 0.48 1.61 moveto 0.67 1.64 lineto closepath stroke 0.48 1.61 moveto 0.61 1.52 lineto closepath stroke 0.28 1.40 moveto 0.14 1.62 lineto closepath stroke 0.28 1.40 moveto 0.27 1.62 lineto closepath stroke 0.28 1.40 moveto 0.38 1.51 lineto closepath stroke 0.28 1.40 moveto 0.14 1.28 lineto closepath stroke 0.28 1.40 moveto 0.51 1.41 lineto closepath stroke 0.28 1.40 moveto 0.44 1.28 lineto closepath stroke 0.28 1.40 moveto 0.35 1.15 lineto closepath stroke 0.00 1.16 moveto 0.00 1.50 lineto closepath stroke 0.00 1.16 moveto 0.14 1.28 lineto closepath stroke 0.00 1.16 moveto 0.21 1.03 lineto closepath stroke 0.00 1.16 moveto 0.00 0.87 lineto closepath stroke 1.20 2.23 moveto 1.08 2.19 lineto closepath stroke 1.20 2.23 moveto 1.15 2.27 lineto closepath stroke 1.20 2.23 moveto 1.15 2.14 lineto closepath stroke 1.20 2.23 moveto 1.26 2.20 lineto closepath stroke 1.10 2.06 moveto 0.96 2.02 lineto closepath stroke 1.10 2.06 moveto 1.03 2.11 lineto closepath stroke 1.10 2.06 moveto 1.15 2.14 lineto closepath stroke 1.10 2.06 moveto 1.05 1.96 lineto closepath stroke 1.10 2.06 moveto 1.21 2.12 lineto closepath stroke 1.10 2.06 moveto 1.18 2.02 lineto closepath stroke 0.99 1.87 moveto 0.82 1.84 lineto closepath stroke 0.99 1.87 moveto 0.90 1.93 lineto closepath stroke 0.99 1.87 moveto 1.05 1.96 lineto closepath stroke 0.99 1.87 moveto 0.93 1.76 lineto closepath stroke 0.99 1.87 moveto 1.12 1.93 lineto closepath stroke 0.99 1.87 moveto 1.09 1.82 lineto closepath stroke 0.87 1.66 moveto 0.67 1.64 lineto closepath stroke 0.87 1.66 moveto 0.76 1.73 lineto closepath stroke 0.87 1.66 moveto 0.93 1.76 lineto closepath stroke 0.87 1.66 moveto 0.80 1.54 lineto closepath stroke 0.87 1.66 moveto 1.03 1.72 lineto closepath stroke 0.87 1.66 moveto 0.99 1.60 lineto closepath stroke 0.74 1.43 moveto 0.51 1.41 lineto closepath stroke 0.74 1.43 moveto 0.61 1.52 lineto closepath stroke 0.74 1.43 moveto 0.80 1.54 lineto closepath stroke 0.74 1.43 moveto 0.66 1.30 lineto closepath stroke 0.74 1.43 moveto 0.92 1.49 lineto closepath stroke 0.74 1.43 moveto 0.88 1.36 lineto closepath stroke 0.59 1.17 moveto 0.44 1.28 lineto closepath stroke 0.59 1.17 moveto 0.66 1.30 lineto closepath stroke 0.59 1.17 moveto 0.51 1.03 lineto closepath stroke 0.59 1.17 moveto 0.81 1.23 lineto closepath stroke 0.59 1.17 moveto 0.76 1.10 lineto closepath stroke 0.43 0.89 moveto 0.21 1.03 lineto closepath stroke 0.43 0.89 moveto 0.35 1.15 lineto closepath stroke 0.43 0.89 moveto 0.51 1.03 lineto closepath stroke 0.43 0.89 moveto 0.21 0.74 lineto closepath stroke 0.43 0.89 moveto 0.34 0.74 lineto closepath stroke 0.43 0.89 moveto 0.68 0.96 lineto closepath stroke 0.43 0.89 moveto 0.63 0.80 lineto closepath stroke 0.25 0.59 moveto 0.13 0.59 lineto closepath stroke 0.25 0.59 moveto 0.34 0.74 lineto closepath stroke 0.25 0.59 moveto 0.13 0.29 lineto closepath stroke 0.25 0.59 moveto 0.54 0.65 lineto closepath stroke 0.25 0.59 moveto 0.49 0.48 lineto closepath stroke 0.00 0.59 moveto 0.00 0.87 lineto closepath stroke 0.00 0.59 moveto 0.21 0.74 lineto closepath stroke 0.00 0.59 moveto 0.13 0.59 lineto closepath stroke 0.00 0.59 moveto 0.00 0.29 lineto closepath stroke 1.31 2.18 moveto 1.21 2.12 lineto closepath stroke 1.31 2.18 moveto 1.26 2.20 lineto closepath stroke 1.31 2.18 moveto 1.28 2.08 lineto closepath stroke 1.31 2.18 moveto 1.37 2.07 lineto closepath stroke 1.31 2.18 moveto 1.38 2.17 lineto closepath stroke 1.25 1.99 moveto 1.12 1.93 lineto closepath stroke 1.25 1.99 moveto 1.18 2.02 lineto closepath stroke 1.25 1.99 moveto 1.28 2.08 lineto closepath stroke 1.25 1.99 moveto 1.22 1.88 lineto closepath stroke 1.25 1.99 moveto 1.33 1.97 lineto closepath stroke 1.25 1.99 moveto 1.32 1.86 lineto closepath stroke 1.18 1.78 moveto 1.03 1.72 lineto closepath stroke 1.18 1.78 moveto 1.09 1.82 lineto closepath stroke 1.18 1.78 moveto 1.22 1.88 lineto closepath stroke 1.18 1.78 moveto 1.15 1.66 lineto closepath stroke 1.18 1.78 moveto 1.29 1.76 lineto closepath stroke 1.18 1.78 moveto 1.28 1.64 lineto closepath stroke 1.11 1.55 moveto 0.92 1.49 lineto closepath stroke 1.11 1.55 moveto 0.99 1.60 lineto closepath stroke 1.11 1.55 moveto 1.15 1.66 lineto closepath stroke 1.11 1.55 moveto 1.07 1.42 lineto closepath stroke 1.11 1.55 moveto 1.24 1.52 lineto closepath stroke 1.11 1.55 moveto 1.23 1.39 lineto closepath stroke 1.03 1.30 moveto 0.81 1.23 lineto closepath stroke 1.03 1.30 moveto 0.88 1.36 lineto closepath stroke 1.03 1.30 moveto 1.07 1.42 lineto closepath stroke 1.03 1.30 moveto 0.98 1.16 lineto closepath stroke 1.03 1.30 moveto 1.18 1.26 lineto closepath stroke 1.03 1.30 moveto 1.17 1.12 lineto closepath stroke 0.94 1.02 moveto 0.68 0.96 lineto closepath stroke 0.94 1.02 moveto 0.76 1.10 lineto closepath stroke 0.94 1.02 moveto 0.98 1.16 lineto closepath stroke 0.94 1.02 moveto 0.89 0.86 lineto closepath stroke 0.94 1.02 moveto 1.12 0.98 lineto closepath stroke 0.94 1.02 moveto 1.11 0.82 lineto closepath stroke 0.84 0.71 moveto 0.54 0.65 lineto closepath stroke 0.84 0.71 moveto 0.63 0.80 lineto closepath stroke 0.84 0.71 moveto 0.89 0.86 lineto closepath stroke 0.84 0.71 moveto 0.78 0.54 lineto closepath stroke 0.84 0.71 moveto 1.06 0.67 lineto closepath stroke 0.73 0.37 moveto 0.49 0.48 lineto closepath stroke 0.73 0.37 moveto 0.78 0.54 lineto closepath stroke 0.73 0.37 moveto 0.36 0.19 lineto closepath stroke 0.73 0.37 moveto 0.73 0.19 lineto closepath stroke 0.73 0.37 moveto 1.00 0.50 lineto closepath stroke 0.73 0.37 moveto 0.98 0.19 lineto closepath stroke 0.73 0.00 moveto 0.36 0.00 lineto closepath stroke 0.73 0.00 moveto 0.73 0.19 lineto closepath stroke 0.73 0.00 moveto 0.98 0.00 lineto closepath stroke 1.44 2.15 moveto 1.43 2.05 lineto closepath stroke 1.44 2.15 moveto 1.38 2.17 lineto closepath stroke 1.44 2.15 moveto 1.50 2.15 lineto closepath stroke 1.42 1.95 moveto 1.33 1.97 lineto closepath stroke 1.42 1.95 moveto 1.37 2.07 lineto closepath stroke 1.42 1.95 moveto 1.43 2.05 lineto closepath stroke 1.42 1.95 moveto 1.40 1.84 lineto closepath stroke 1.42 1.95 moveto 1.49 2.05 lineto closepath stroke 1.42 1.95 moveto 1.50 1.95 lineto closepath stroke 1.39 1.74 moveto 1.29 1.76 lineto closepath stroke 1.39 1.74 moveto 1.32 1.86 lineto closepath stroke 1.39 1.74 moveto 1.40 1.84 lineto closepath stroke 1.39 1.74 moveto 1.38 1.62 lineto closepath stroke 1.39 1.74 moveto 1.49 1.84 lineto closepath stroke 1.39 1.74 moveto 1.50 1.74 lineto closepath stroke 1.37 1.49 moveto 1.24 1.52 lineto closepath stroke 1.37 1.49 moveto 1.28 1.64 lineto closepath stroke 1.37 1.49 moveto 1.38 1.62 lineto closepath stroke 1.37 1.49 moveto 1.35 1.36 lineto closepath stroke 1.37 1.49 moveto 1.49 1.62 lineto closepath stroke 1.37 1.49 moveto 1.50 1.49 lineto closepath stroke 1.34 1.23 moveto 1.18 1.26 lineto closepath stroke 1.34 1.23 moveto 1.23 1.39 lineto closepath stroke 1.34 1.23 moveto 1.35 1.36 lineto closepath stroke 1.34 1.23 moveto 1.32 1.08 lineto closepath stroke 1.34 1.23 moveto 1.49 1.36 lineto closepath stroke 1.34 1.23 moveto 1.50 1.23 lineto closepath stroke 1.31 0.94 moveto 1.12 0.98 lineto closepath stroke 1.31 0.94 moveto 1.17 1.12 lineto closepath stroke 1.31 0.94 moveto 1.32 1.08 lineto closepath stroke 1.31 0.94 moveto 1.29 0.78 lineto closepath stroke 1.31 0.94 moveto 1.48 1.08 lineto closepath stroke 1.31 0.94 moveto 1.50 0.94 lineto closepath stroke 1.31 0.94 moveto 1.52 0.78 lineto closepath stroke 1.28 0.62 moveto 1.00 0.50 lineto closepath stroke 1.28 0.62 moveto 1.06 0.67 lineto closepath stroke 1.28 0.62 moveto 1.11 0.82 lineto closepath stroke 1.28 0.62 moveto 1.29 0.78 lineto closepath stroke 1.28 0.62 moveto 1.26 0.31 lineto closepath stroke 1.28 0.62 moveto 1.50 0.62 lineto closepath stroke 1.24 0.00 moveto 0.98 0.00 lineto closepath stroke 1.24 0.00 moveto 0.98 0.19 lineto closepath stroke 1.24 0.00 moveto 1.26 0.31 lineto closepath stroke 1.24 0.00 moveto 1.48 0.31 lineto closepath stroke 1.24 0.00 moveto 1.50 0.00 lineto closepath stroke 1.56 2.15 moveto 1.49 2.05 lineto closepath stroke 1.56 2.15 moveto 1.50 2.15 lineto closepath stroke 1.56 2.15 moveto 1.57 2.05 lineto closepath stroke 1.56 2.15 moveto 1.62 2.17 lineto closepath stroke 1.58 1.95 moveto 1.49 1.84 lineto closepath stroke 1.58 1.95 moveto 1.50 1.95 lineto closepath stroke 1.58 1.95 moveto 1.57 2.05 lineto closepath stroke 1.58 1.95 moveto 1.60 1.84 lineto closepath stroke 1.58 1.95 moveto 1.63 2.07 lineto closepath stroke 1.58 1.95 moveto 1.67 1.97 lineto closepath stroke 1.61 1.74 moveto 1.49 1.62 lineto closepath stroke 1.61 1.74 moveto 1.50 1.74 lineto closepath stroke 1.61 1.74 moveto 1.60 1.84 lineto closepath stroke 1.61 1.74 moveto 1.62 1.62 lineto closepath stroke 1.61 1.74 moveto 1.68 1.86 lineto closepath stroke 1.61 1.74 moveto 1.71 1.76 lineto closepath stroke 1.63 1.49 moveto 1.49 1.36 lineto closepath stroke 1.63 1.49 moveto 1.50 1.49 lineto closepath stroke 1.63 1.49 moveto 1.62 1.62 lineto closepath stroke 1.63 1.49 moveto 1.65 1.36 lineto closepath stroke 1.63 1.49 moveto 1.72 1.64 lineto closepath stroke 1.63 1.49 moveto 1.76 1.52 lineto closepath stroke 1.66 1.23 moveto 1.48 1.08 lineto closepath stroke 1.66 1.23 moveto 1.50 1.23 lineto closepath stroke 1.66 1.23 moveto 1.65 1.36 lineto closepath stroke 1.66 1.23 moveto 1.68 1.08 lineto closepath stroke 1.66 1.23 moveto 1.77 1.39 lineto closepath stroke 1.66 1.23 moveto 1.82 1.26 lineto closepath stroke 1.69 0.94 moveto 1.50 0.94 lineto closepath stroke 1.69 0.94 moveto 1.68 1.08 lineto closepath stroke 1.69 0.94 moveto 1.71 0.78 lineto closepath stroke 1.69 0.94 moveto 1.83 1.12 lineto closepath stroke 1.69 0.94 moveto 1.88 0.98 lineto closepath stroke 1.72 0.62 moveto 1.50 0.62 lineto closepath stroke 1.72 0.62 moveto 1.52 0.78 lineto closepath stroke 1.72 0.62 moveto 1.71 0.78 lineto closepath stroke 1.72 0.62 moveto 1.48 0.31 lineto closepath stroke 1.72 0.62 moveto 1.74 0.31 lineto closepath stroke 1.72 0.62 moveto 1.89 0.82 lineto closepath stroke 1.72 0.62 moveto 1.94 0.67 lineto closepath stroke 1.72 0.62 moveto 2.00 0.50 lineto closepath stroke 1.76 0.00 moveto 1.50 0.00 lineto closepath stroke 1.76 0.00 moveto 1.74 0.31 lineto closepath stroke 1.76 0.00 moveto 2.02 0.19 lineto closepath stroke 1.76 0.00 moveto 2.02 0.00 lineto closepath stroke 1.69 2.18 moveto 1.63 2.07 lineto closepath stroke 1.69 2.18 moveto 1.62 2.17 lineto closepath stroke 1.69 2.18 moveto 1.72 2.08 lineto closepath stroke 1.69 2.18 moveto 1.79 2.12 lineto closepath stroke 1.69 2.18 moveto 1.74 2.20 lineto closepath stroke 1.75 1.99 moveto 1.68 1.86 lineto closepath stroke 1.75 1.99 moveto 1.67 1.97 lineto closepath stroke 1.75 1.99 moveto 1.72 2.08 lineto closepath stroke 1.75 1.99 moveto 1.78 1.88 lineto closepath stroke 1.75 1.99 moveto 1.82 2.02 lineto closepath stroke 1.75 1.99 moveto 1.88 1.93 lineto closepath stroke 1.82 1.78 moveto 1.72 1.64 lineto closepath stroke 1.82 1.78 moveto 1.71 1.76 lineto closepath stroke 1.82 1.78 moveto 1.78 1.88 lineto closepath stroke 1.82 1.78 moveto 1.85 1.66 lineto closepath stroke 1.82 1.78 moveto 1.91 1.82 lineto closepath stroke 1.82 1.78 moveto 1.97 1.72 lineto closepath stroke 1.89 1.55 moveto 1.77 1.39 lineto closepath stroke 1.89 1.55 moveto 1.76 1.52 lineto closepath stroke 1.89 1.55 moveto 1.85 1.66 lineto closepath stroke 1.89 1.55 moveto 1.93 1.42 lineto closepath stroke 1.89 1.55 moveto 2.01 1.60 lineto closepath stroke 1.89 1.55 moveto 2.08 1.49 lineto closepath stroke 1.97 1.30 moveto 1.83 1.12 lineto closepath stroke 1.97 1.30 moveto 1.82 1.26 lineto closepath stroke 1.97 1.30 moveto 1.93 1.42 lineto closepath stroke 1.97 1.30 moveto 2.02 1.16 lineto closepath stroke 1.97 1.30 moveto 2.12 1.36 lineto closepath stroke 1.97 1.30 moveto 2.19 1.23 lineto closepath stroke 2.06 1.02 moveto 1.89 0.82 lineto closepath stroke 2.06 1.02 moveto 1.88 0.98 lineto closepath stroke 2.06 1.02 moveto 2.02 1.16 lineto closepath stroke 2.06 1.02 moveto 2.11 0.86 lineto closepath stroke 2.06 1.02 moveto 2.24 1.10 lineto closepath stroke 2.06 1.02 moveto 2.32 0.96 lineto closepath stroke 2.16 0.71 moveto 1.94 0.67 lineto closepath stroke 2.16 0.71 moveto 2.11 0.86 lineto closepath stroke 2.16 0.71 moveto 2.22 0.54 lineto closepath stroke 2.16 0.71 moveto 2.37 0.80 lineto closepath stroke 2.16 0.71 moveto 2.46 0.65 lineto closepath stroke 2.27 0.37 moveto 2.02 0.19 lineto closepath stroke 2.27 0.37 moveto 2.00 0.50 lineto closepath stroke 2.27 0.37 moveto 2.22 0.54 lineto closepath stroke 2.27 0.37 moveto 2.27 0.19 lineto closepath stroke 2.27 0.37 moveto 2.51 0.48 lineto closepath stroke 2.27 0.37 moveto 2.61 0.19 lineto closepath stroke 2.27 0.00 moveto 2.02 0.00 lineto closepath stroke 2.27 0.00 moveto 2.27 0.19 lineto closepath stroke 2.27 0.00 moveto 2.61 0.00 lineto closepath stroke 1.80 2.23 moveto 1.85 2.14 lineto closepath stroke 1.80 2.23 moveto 1.74 2.20 lineto closepath stroke 1.80 2.23 moveto 1.92 2.19 lineto closepath stroke 1.80 2.23 moveto 1.85 2.27 lineto closepath stroke 1.90 2.06 moveto 1.82 2.02 lineto closepath stroke 1.90 2.06 moveto 1.79 2.12 lineto closepath stroke 1.90 2.06 moveto 1.85 2.14 lineto closepath stroke 1.90 2.06 moveto 1.96 1.96 lineto closepath stroke 1.90 2.06 moveto 1.97 2.11 lineto closepath stroke 2.01 1.87 moveto 1.91 1.82 lineto closepath stroke 2.01 1.87 moveto 1.88 1.93 lineto closepath stroke 2.01 1.87 moveto 1.96 1.96 lineto closepath stroke 2.01 1.87 moveto 2.07 1.76 lineto closepath stroke 2.01 1.87 moveto 2.02 2.01 lineto closepath stroke 2.01 1.87 moveto 2.10 1.93 lineto closepath stroke 2.13 1.66 moveto 2.01 1.60 lineto closepath stroke 2.13 1.66 moveto 1.97 1.72 lineto closepath stroke 2.13 1.66 moveto 2.07 1.76 lineto closepath stroke 2.13 1.66 moveto 2.20 1.54 lineto closepath stroke 2.13 1.66 moveto 2.16 1.82 lineto closepath stroke 2.13 1.66 moveto 2.24 1.73 lineto closepath stroke 2.26 1.43 moveto 2.12 1.36 lineto closepath stroke 2.26 1.43 moveto 2.08 1.49 lineto closepath stroke 2.26 1.43 moveto 2.20 1.54 lineto closepath stroke 2.26 1.43 moveto 2.34 1.30 lineto closepath stroke 2.26 1.43 moveto 2.30 1.62 lineto closepath stroke 2.26 1.43 moveto 2.39 1.52 lineto closepath stroke 2.41 1.17 moveto 2.24 1.10 lineto closepath stroke 2.41 1.17 moveto 2.19 1.23 lineto closepath stroke 2.41 1.17 moveto 2.34 1.30 lineto closepath stroke 2.41 1.17 moveto 2.49 1.03 lineto closepath stroke 2.41 1.17 moveto 2.47 1.39 lineto closepath stroke 2.41 1.17 moveto 2.56 1.28 lineto closepath stroke 2.57 0.89 moveto 2.37 0.80 lineto closepath stroke 2.57 0.89 moveto 2.32 0.96 lineto closepath stroke 2.57 0.89 moveto 2.49 1.03 lineto closepath stroke 2.57 0.89 moveto 2.66 0.74 lineto closepath stroke 2.57 0.89 moveto 2.65 1.15 lineto closepath stroke 2.57 0.89 moveto 2.75 1.03 lineto closepath stroke 2.75 0.59 moveto 2.51 0.48 lineto closepath stroke 2.75 0.59 moveto 2.46 0.65 lineto closepath stroke 2.75 0.59 moveto 2.66 0.74 lineto closepath stroke 2.75 0.59 moveto 2.85 0.29 lineto closepath stroke 2.75 0.59 moveto 2.84 0.87 lineto closepath stroke 2.75 0.59 moveto 2.96 0.74 lineto closepath stroke 2.75 0.59 moveto 3.09 0.60 lineto closepath stroke 2.94 0.00 moveto 2.61 0.00 lineto closepath stroke 2.94 0.00 moveto 2.61 0.19 lineto closepath stroke 2.94 0.00 moveto 2.85 0.29 lineto closepath stroke 2.94 0.00 moveto 3.19 0.30 lineto closepath stroke 2.94 0.00 moveto 3.33 0.00 lineto closepath stroke 1.90 2.30 moveto 1.97 2.23 lineto closepath stroke 1.90 2.30 moveto 1.85 2.27 lineto closepath stroke 1.90 2.30 moveto 1.94 2.35 lineto closepath stroke 2.04 2.16 moveto 1.97 2.11 lineto closepath stroke 2.04 2.16 moveto 1.92 2.19 lineto closepath stroke 2.04 2.16 moveto 1.97 2.23 lineto closepath stroke 2.04 2.16 moveto 2.02 2.01 lineto closepath stroke 2.04 2.16 moveto 2.11 2.07 lineto closepath stroke 2.04 2.16 moveto 2.01 2.28 lineto closepath stroke 2.04 2.16 moveto 2.09 2.22 lineto closepath stroke 2.18 1.99 moveto 2.16 1.82 lineto closepath stroke 2.18 1.99 moveto 2.10 1.93 lineto closepath stroke 2.18 1.99 moveto 2.11 2.07 lineto closepath stroke 2.18 1.99 moveto 2.26 1.90 lineto closepath stroke 2.18 1.99 moveto 2.16 2.14 lineto closepath stroke 2.18 1.99 moveto 2.25 2.07 lineto closepath stroke 2.18 1.99 moveto 2.35 2.00 lineto closepath stroke 2.34 1.81 moveto 2.30 1.62 lineto closepath stroke 2.34 1.81 moveto 2.24 1.73 lineto closepath stroke 2.34 1.81 moveto 2.26 1.90 lineto closepath stroke 2.34 1.81 moveto 2.43 1.71 lineto closepath stroke 2.34 1.81 moveto 2.43 1.91 lineto closepath stroke 2.52 1.61 moveto 2.47 1.39 lineto closepath stroke 2.52 1.61 moveto 2.39 1.52 lineto closepath stroke 2.52 1.61 moveto 2.43 1.71 lineto closepath stroke 2.52 1.61 moveto 2.62 1.51 lineto closepath stroke 2.52 1.61 moveto 2.52 1.81 lineto closepath stroke 2.52 1.61 moveto 2.63 1.73 lineto closepath stroke 2.72 1.40 moveto 2.65 1.15 lineto closepath stroke 2.72 1.40 moveto 2.56 1.28 lineto closepath stroke 2.72 1.40 moveto 2.62 1.51 lineto closepath stroke 2.72 1.40 moveto 2.83 1.28 lineto closepath stroke 2.72 1.40 moveto 2.73 1.62 lineto closepath stroke 2.72 1.40 moveto 2.85 1.54 lineto closepath stroke 2.93 1.16 moveto 2.84 0.87 lineto closepath stroke 2.93 1.16 moveto 2.75 1.03 lineto closepath stroke 2.93 1.16 moveto 2.83 1.28 lineto closepath stroke 2.93 1.16 moveto 3.05 1.03 lineto closepath stroke 2.93 1.16 moveto 2.95 1.42 lineto closepath stroke 2.93 1.16 moveto 3.08 1.32 lineto closepath stroke 3.17 0.89 moveto 2.96 0.74 lineto closepath stroke 3.17 0.89 moveto 3.05 1.03 lineto closepath stroke 3.17 0.89 moveto 3.30 0.75 lineto closepath stroke 3.17 0.89 moveto 3.20 1.19 lineto closepath stroke 3.17 0.89 moveto 3.35 1.09 lineto closepath stroke 3.43 0.60 moveto 3.19 0.30 lineto closepath stroke 3.43 0.60 moveto 3.09 0.60 lineto closepath stroke 3.43 0.60 moveto 3.30 0.75 lineto closepath stroke 3.43 0.60 moveto 3.58 0.30 lineto closepath stroke 3.43 0.60 moveto 3.48 0.94 lineto closepath stroke 3.43 0.60 moveto 3.63 0.83 lineto closepath stroke 3.43 0.60 moveto 3.81 0.70 lineto closepath stroke 3.72 0.00 moveto 3.33 0.00 lineto closepath stroke 3.72 0.00 moveto 3.58 0.30 lineto closepath stroke 3.72 0.00 moveto 3.95 0.40 lineto closepath stroke 3.72 0.00 moveto 4.14 0.26 lineto closepath stroke 3.72 0.00 moveto 4.35 0.00 lineto closepath stroke 1.99 2.40 moveto 2.01 2.28 lineto closepath stroke 1.99 2.40 moveto 1.94 2.35 lineto closepath stroke 1.99 2.40 moveto 2.07 2.34 lineto closepath stroke 1.99 2.40 moveto 2.02 2.45 lineto closepath stroke 2.15 2.28 moveto 2.16 2.14 lineto closepath stroke 2.15 2.28 moveto 2.09 2.22 lineto closepath stroke 2.15 2.28 moveto 2.07 2.34 lineto closepath stroke 2.15 2.28 moveto 2.24 2.22 lineto closepath stroke 2.15 2.28 moveto 2.10 2.39 lineto closepath stroke 2.15 2.28 moveto 2.19 2.35 lineto closepath stroke 2.33 2.15 moveto 2.25 2.07 lineto closepath stroke 2.33 2.15 moveto 2.24 2.22 lineto closepath stroke 2.33 2.15 moveto 2.42 2.08 lineto closepath stroke 2.33 2.15 moveto 2.28 2.29 lineto closepath stroke 2.33 2.15 moveto 2.38 2.24 lineto closepath stroke 2.52 2.01 moveto 2.52 1.81 lineto closepath stroke 2.52 2.01 moveto 2.43 1.91 lineto closepath stroke 2.52 2.01 moveto 2.35 2.00 lineto closepath stroke 2.52 2.01 moveto 2.42 2.08 lineto closepath stroke 2.52 2.01 moveto 2.63 1.93 lineto closepath stroke 2.52 2.01 moveto 2.48 2.17 lineto closepath stroke 2.52 2.01 moveto 2.59 2.12 lineto closepath stroke 2.52 2.01 moveto 2.71 2.07 lineto closepath stroke 2.74 1.85 moveto 2.73 1.62 lineto closepath stroke 2.74 1.85 moveto 2.63 1.73 lineto closepath stroke 2.74 1.85 moveto 2.63 1.93 lineto closepath stroke 2.74 1.85 moveto 2.85 1.77 lineto closepath stroke 2.74 1.85 moveto 2.82 1.99 lineto closepath stroke 2.74 1.85 moveto 2.95 1.93 lineto closepath stroke 2.97 1.68 moveto 2.95 1.42 lineto closepath stroke 2.97 1.68 moveto 2.85 1.54 lineto closepath stroke 2.97 1.68 moveto 2.85 1.77 lineto closepath stroke 2.97 1.68 moveto 3.10 1.58 lineto closepath stroke 2.97 1.68 moveto 3.07 1.84 lineto closepath stroke 2.97 1.68 moveto 3.22 1.78 lineto closepath stroke 3.23 1.49 moveto 3.20 1.19 lineto closepath stroke 3.23 1.49 moveto 3.08 1.32 lineto closepath stroke 3.23 1.49 moveto 3.10 1.58 lineto closepath stroke 3.23 1.49 moveto 3.38 1.39 lineto closepath stroke 3.23 1.49 moveto 3.35 1.68 lineto closepath stroke 3.23 1.49 moveto 3.51 1.61 lineto closepath stroke 3.52 1.28 moveto 3.48 0.94 lineto closepath stroke 3.52 1.28 moveto 3.35 1.09 lineto closepath stroke 3.52 1.28 moveto 3.38 1.39 lineto closepath stroke 3.52 1.28 moveto 3.68 1.17 lineto closepath stroke 3.52 1.28 moveto 3.65 1.51 lineto closepath stroke 3.52 1.28 moveto 3.83 1.43 lineto closepath stroke 3.84 1.05 moveto 3.63 0.83 lineto closepath stroke 3.84 1.05 moveto 3.68 1.17 lineto closepath stroke 3.84 1.05 moveto 4.01 0.93 lineto closepath stroke 3.84 1.05 moveto 3.99 1.31 lineto closepath stroke 3.84 1.05 moveto 4.18 1.23 lineto closepath stroke 4.18 0.80 moveto 3.95 0.40 lineto closepath stroke 4.18 0.80 moveto 3.81 0.70 lineto closepath stroke 4.18 0.80 moveto 4.01 0.93 lineto closepath stroke 4.18 0.80 moveto 4.37 0.66 lineto closepath stroke 4.18 0.80 moveto 4.36 1.10 lineto closepath stroke 4.18 0.80 moveto 4.57 1.01 lineto closepath stroke 4.56 0.52 moveto 4.14 0.26 lineto closepath stroke 4.56 0.52 moveto 4.37 0.66 lineto closepath stroke 4.56 0.52 moveto 4.77 0.26 lineto closepath stroke 4.56 0.52 moveto 4.76 0.87 lineto closepath stroke 4.56 0.52 moveto 5.00 0.76 lineto closepath stroke 4.98 0.00 moveto 4.35 0.00 lineto closepath stroke 4.98 0.00 moveto 4.77 0.26 lineto closepath stroke 4.98 0.00 moveto 5.21 0.50 lineto closepath stroke 4.98 0.00 moveto 5.47 0.38 lineto closepath stroke 4.98 0.00 moveto 5.76 0.26 lineto closepath stroke 4.98 0.00 moveto 6.07 0.00 lineto closepath stroke 2.05 2.51 moveto 2.10 2.39 lineto closepath stroke 2.05 2.51 moveto 2.02 2.45 lineto closepath stroke 2.05 2.51 moveto 2.14 2.47 lineto closepath stroke 2.05 2.51 moveto 2.07 2.57 lineto closepath stroke 2.23 2.42 moveto 2.28 2.29 lineto closepath stroke 2.23 2.42 moveto 2.19 2.35 lineto closepath stroke 2.23 2.42 moveto 2.14 2.47 lineto closepath stroke 2.23 2.42 moveto 2.33 2.38 lineto closepath stroke 2.23 2.42 moveto 2.16 2.52 lineto closepath stroke 2.23 2.42 moveto 2.26 2.50 lineto closepath stroke 2.43 2.34 moveto 2.48 2.17 lineto closepath stroke 2.43 2.34 moveto 2.38 2.24 lineto closepath stroke 2.43 2.34 moveto 2.33 2.38 lineto closepath stroke 2.43 2.34 moveto 2.54 2.29 lineto closepath stroke 2.43 2.34 moveto 2.36 2.46 lineto closepath stroke 2.43 2.34 moveto 2.46 2.44 lineto closepath stroke 2.65 2.24 moveto 2.59 2.12 lineto closepath stroke 2.65 2.24 moveto 2.54 2.29 lineto closepath stroke 2.65 2.24 moveto 2.77 2.18 lineto closepath stroke 2.65 2.24 moveto 2.58 2.39 lineto closepath stroke 2.65 2.24 moveto 2.69 2.36 lineto closepath stroke 2.65 2.24 moveto 2.82 2.33 lineto closepath stroke 2.90 2.13 moveto 2.82 1.99 lineto closepath stroke 2.90 2.13 moveto 2.71 2.07 lineto closepath stroke 2.90 2.13 moveto 2.77 2.18 lineto closepath stroke 2.90 2.13 moveto 3.03 2.07 lineto closepath stroke 2.90 2.13 moveto 2.95 2.28 lineto closepath stroke 3.16 2.01 moveto 3.07 1.84 lineto closepath stroke 3.16 2.01 moveto 2.95 1.93 lineto closepath stroke 3.16 2.01 moveto 3.03 2.07 lineto closepath stroke 3.16 2.01 moveto 3.31 1.94 lineto closepath stroke 3.16 2.01 moveto 3.08 2.22 lineto closepath stroke 3.16 2.01 moveto 3.22 2.19 lineto closepath stroke 3.46 1.88 moveto 3.35 1.68 lineto closepath stroke 3.46 1.88 moveto 3.22 1.78 lineto closepath stroke 3.46 1.88 moveto 3.31 1.94 lineto closepath stroke 3.46 1.88 moveto 3.62 1.81 lineto closepath stroke 3.46 1.88 moveto 3.37 2.12 lineto closepath stroke 3.46 1.88 moveto 3.53 2.09 lineto closepath stroke 3.46 1.88 moveto 3.70 2.05 lineto closepath stroke 3.78 1.73 moveto 3.65 1.51 lineto closepath stroke 3.78 1.73 moveto 3.51 1.61 lineto closepath stroke 3.78 1.73 moveto 3.62 1.81 lineto closepath stroke 3.78 1.73 moveto 3.96 1.65 lineto closepath stroke 3.78 1.73 moveto 3.86 1.98 lineto closepath stroke 3.78 1.73 moveto 4.05 1.94 lineto closepath stroke 4.14 1.58 moveto 3.99 1.31 lineto closepath stroke 4.14 1.58 moveto 3.83 1.43 lineto closepath stroke 4.14 1.58 moveto 3.96 1.65 lineto closepath stroke 4.14 1.58 moveto 4.33 1.49 lineto closepath stroke 4.14 1.58 moveto 4.23 1.86 lineto closepath stroke 4.14 1.58 moveto 4.44 1.82 lineto closepath stroke 4.53 1.40 moveto 4.64 1.73 lineto closepath stroke 4.53 1.40 moveto 4.87 1.68 lineto closepath stroke 4.53 1.40 moveto 4.36 1.10 lineto closepath stroke 4.53 1.40 moveto 4.18 1.23 lineto closepath stroke 4.53 1.40 moveto 4.33 1.49 lineto closepath stroke 4.53 1.40 moveto 4.74 1.31 lineto closepath stroke 4.96 1.21 moveto 5.08 1.59 lineto closepath stroke 4.96 1.21 moveto 5.34 1.53 lineto closepath stroke 4.96 1.21 moveto 5.20 1.10 lineto closepath stroke 4.96 1.21 moveto 4.76 0.87 lineto closepath stroke 4.96 1.21 moveto 4.57 1.01 lineto closepath stroke 4.96 1.21 moveto 4.74 1.31 lineto closepath stroke 5.43 1.00 moveto 5.57 1.43 lineto closepath stroke 5.43 1.00 moveto 5.85 1.37 lineto closepath stroke 5.43 1.00 moveto 5.69 0.88 lineto closepath stroke 5.43 1.00 moveto 5.20 1.10 lineto closepath stroke 5.43 1.00 moveto 5.21 0.50 lineto closepath stroke 5.43 1.00 moveto 5.00 0.76 lineto closepath stroke 5.96 0.77 moveto 6.11 1.25 lineto closepath stroke 5.96 0.77 moveto 6.42 1.19 lineto closepath stroke 5.96 0.77 moveto 6.24 0.64 lineto closepath stroke 5.96 0.77 moveto 5.69 0.88 lineto closepath stroke 5.96 0.77 moveto 5.47 0.38 lineto closepath stroke 6.53 0.51 moveto 6.71 1.06 lineto closepath stroke 6.53 0.51 moveto 7.04 0.99 lineto closepath stroke 6.53 0.51 moveto 6.84 0.26 lineto closepath stroke 6.53 0.51 moveto 6.24 0.64 lineto closepath stroke 6.53 0.51 moveto 5.76 0.26 lineto closepath stroke 7.16 0.00 moveto 7.73 0.65 lineto closepath stroke 7.16 0.00 moveto 8.14 0.57 lineto closepath stroke 7.16 0.00 moveto 9.08 0.00 lineto closepath stroke 7.16 0.00 moveto 7.36 0.73 lineto closepath stroke 7.16 0.00 moveto 6.84 0.26 lineto closepath stroke 7.16 0.00 moveto 6.07 0.00 lineto closepath stroke 2.09 2.63 moveto 2.16 2.52 lineto closepath stroke 2.09 2.63 moveto 2.07 2.57 lineto closepath stroke 2.09 2.63 moveto 2.09 2.69 lineto closepath stroke 2.09 2.63 moveto 2.18 2.60 lineto closepath stroke 2.28 2.58 moveto 2.36 2.46 lineto closepath stroke 2.28 2.58 moveto 2.26 2.50 lineto closepath stroke 2.28 2.58 moveto 2.19 2.67 lineto closepath stroke 2.28 2.58 moveto 2.29 2.67 lineto closepath stroke 2.28 2.58 moveto 2.18 2.60 lineto closepath stroke 2.28 2.58 moveto 2.39 2.56 lineto closepath stroke 2.50 2.54 moveto 2.58 2.39 lineto closepath stroke 2.50 2.54 moveto 2.46 2.44 lineto closepath stroke 2.50 2.54 moveto 2.40 2.64 lineto closepath stroke 2.50 2.54 moveto 2.51 2.64 lineto closepath stroke 2.50 2.54 moveto 2.39 2.56 lineto closepath stroke 2.50 2.54 moveto 2.62 2.51 lineto closepath stroke 2.73 2.49 moveto 2.63 2.62 lineto closepath stroke 2.73 2.49 moveto 2.75 2.62 lineto closepath stroke 2.73 2.49 moveto 2.62 2.51 lineto closepath stroke 2.73 2.49 moveto 2.69 2.36 lineto closepath stroke 2.73 2.49 moveto 2.86 2.46 lineto closepath stroke 2.99 2.43 moveto 3.08 2.22 lineto closepath stroke 2.99 2.43 moveto 2.95 2.28 lineto closepath stroke 2.99 2.43 moveto 2.88 2.59 lineto closepath stroke 2.99 2.43 moveto 3.01 2.59 lineto closepath stroke 2.99 2.43 moveto 2.86 2.46 lineto closepath stroke 2.99 2.43 moveto 2.82 2.33 lineto closepath stroke 2.99 2.43 moveto 3.14 2.40 lineto closepath stroke 3.28 2.37 moveto 3.37 2.12 lineto closepath stroke 3.28 2.37 moveto 3.22 2.19 lineto closepath stroke 3.28 2.37 moveto 3.15 2.56 lineto closepath stroke 3.28 2.37 moveto 3.30 2.56 lineto closepath stroke 3.28 2.37 moveto 3.14 2.40 lineto closepath stroke 3.28 2.37 moveto 3.44 2.34 lineto closepath stroke 3.60 2.30 moveto 3.46 2.53 lineto closepath stroke 3.60 2.30 moveto 3.62 2.53 lineto closepath stroke 3.60 2.30 moveto 3.44 2.34 lineto closepath stroke 3.60 2.30 moveto 3.53 2.09 lineto closepath stroke 3.60 2.30 moveto 3.77 2.27 lineto closepath stroke 3.94 2.23 moveto 3.79 2.49 lineto closepath stroke 3.94 2.23 moveto 3.97 2.49 lineto closepath stroke 3.94 2.23 moveto 3.77 2.27 lineto closepath stroke 3.94 2.23 moveto 3.86 1.98 lineto closepath stroke 3.94 2.23 moveto 3.70 2.05 lineto closepath stroke 3.94 2.23 moveto 4.13 2.19 lineto closepath stroke 4.32 2.15 moveto 4.16 2.45 lineto closepath stroke 4.32 2.15 moveto 4.36 2.45 lineto closepath stroke 4.32 2.15 moveto 4.13 2.19 lineto closepath stroke 4.32 2.15 moveto 4.23 1.86 lineto closepath stroke 4.32 2.15 moveto 4.05 1.94 lineto closepath stroke 4.32 2.15 moveto 4.53 2.11 lineto closepath stroke 4.74 2.06 moveto 4.97 2.01 lineto closepath stroke 4.74 2.06 moveto 4.64 1.73 lineto closepath stroke 4.74 2.06 moveto 4.57 2.41 lineto closepath stroke 4.74 2.06 moveto 4.78 2.41 lineto closepath stroke 4.74 2.06 moveto 4.53 2.11 lineto closepath stroke 4.74 2.06 moveto 4.44 1.82 lineto closepath stroke 5.20 1.96 moveto 5.46 1.91 lineto closepath stroke 5.20 1.96 moveto 5.08 1.59 lineto closepath stroke 5.20 1.96 moveto 5.25 2.36 lineto closepath stroke 5.20 1.96 moveto 4.87 1.68 lineto closepath stroke 5.20 1.96 moveto 4.97 2.01 lineto closepath stroke 5.20 1.96 moveto 5.01 2.36 lineto closepath stroke 5.71 1.85 moveto 5.99 1.80 lineto closepath stroke 5.71 1.85 moveto 5.57 1.43 lineto closepath stroke 5.71 1.85 moveto 6.04 2.30 lineto closepath stroke 5.71 1.85 moveto 5.34 1.53 lineto closepath stroke 5.71 1.85 moveto 5.46 1.91 lineto closepath stroke 5.71 1.85 moveto 5.50 2.30 lineto closepath stroke 5.71 1.85 moveto 5.76 2.30 lineto closepath stroke 6.27 1.74 moveto 6.58 1.67 lineto closepath stroke 6.27 1.74 moveto 6.11 1.25 lineto closepath stroke 6.27 1.74 moveto 6.64 2.24 lineto closepath stroke 6.27 1.74 moveto 5.85 1.37 lineto closepath stroke 6.27 1.74 moveto 5.99 1.80 lineto closepath stroke 6.27 1.74 moveto 6.32 2.24 lineto closepath stroke 6.88 1.61 moveto 7.29 2.18 lineto closepath stroke 6.88 1.61 moveto 7.22 1.53 lineto closepath stroke 6.88 1.61 moveto 6.71 1.06 lineto closepath stroke 6.88 1.61 moveto 6.42 1.19 lineto closepath stroke 6.88 1.61 moveto 6.58 1.67 lineto closepath stroke 6.88 1.61 moveto 6.94 2.18 lineto closepath stroke 7.56 1.46 moveto 7.63 2.11 lineto closepath stroke 7.56 1.46 moveto 7.93 1.38 lineto closepath stroke 7.56 1.46 moveto 7.36 0.73 lineto closepath stroke 7.56 1.46 moveto 7.22 1.53 lineto closepath stroke 7.56 1.46 moveto 7.04 0.99 lineto closepath stroke 8.30 1.30 moveto 8.38 2.03 lineto closepath stroke 8.30 1.30 moveto 8.71 1.22 lineto closepath stroke 8.30 1.30 moveto 7.73 0.65 lineto closepath stroke 8.30 1.30 moveto 8.00 2.03 lineto closepath stroke 8.30 1.30 moveto 7.93 1.38 lineto closepath stroke 9.12 1.13 moveto 9.20 1.94 lineto closepath stroke 9.12 1.13 moveto 10.06 1.03 lineto closepath stroke 9.12 1.13 moveto 10.06 0.57 lineto closepath stroke 9.12 1.13 moveto 8.79 1.94 lineto closepath stroke 9.12 1.13 moveto 8.71 1.22 lineto closepath stroke 9.12 1.13 moveto 8.14 0.57 lineto closepath stroke 11.00 0.94 moveto 10.14 1.84 lineto closepath stroke 11.00 0.94 moveto 11.00 1.84 lineto closepath stroke 11.00 0.94 moveto 10.06 1.03 lineto closepath stroke 11.00 0.94 moveto 11.00 0.47 lineto closepath stroke 2.29 2.83 moveto 2.20 2.75 lineto closepath stroke 2.29 2.83 moveto 2.19 2.83 lineto closepath stroke 2.29 2.83 moveto 2.39 2.94 lineto closepath stroke 2.29 2.83 moveto 2.40 2.86 lineto closepath stroke 2.20 2.75 moveto 2.19 2.83 lineto closepath stroke 2.20 2.75 moveto 2.19 2.67 lineto closepath stroke 2.20 2.75 moveto 2.29 2.67 lineto closepath stroke 2.19 2.83 moveto 2.18 2.90 lineto closepath stroke 2.19 2.83 moveto 2.09 2.81 lineto closepath stroke 2.18 2.90 moveto 2.09 2.81 lineto closepath stroke 2.18 2.90 moveto 2.17 2.96 lineto closepath stroke 2.18 2.90 moveto 2.07 2.93 lineto closepath stroke 2.51 2.86 moveto 2.41 2.75 lineto closepath stroke 2.51 2.86 moveto 2.40 2.86 lineto closepath stroke 2.51 2.86 moveto 2.62 2.99 lineto closepath stroke 2.51 2.86 moveto 2.63 2.88 lineto closepath stroke 2.41 2.75 moveto 2.40 2.86 lineto closepath stroke 2.41 2.75 moveto 2.40 2.64 lineto closepath stroke 2.41 2.75 moveto 2.51 2.64 lineto closepath stroke 2.40 2.86 moveto 2.39 2.94 lineto closepath stroke 2.39 2.94 moveto 2.36 3.02 lineto closepath stroke 2.39 2.94 moveto 2.26 3.00 lineto closepath stroke 2.75 2.88 moveto 2.64 2.75 lineto closepath stroke 2.75 2.88 moveto 2.63 2.88 lineto closepath stroke 2.75 2.88 moveto 2.86 3.04 lineto closepath stroke 2.75 2.88 moveto 2.88 2.91 lineto closepath stroke 2.64 2.75 moveto 2.63 2.88 lineto closepath stroke 2.64 2.75 moveto 2.63 2.62 lineto closepath stroke 2.64 2.75 moveto 2.75 2.62 lineto closepath stroke 2.63 2.88 moveto 2.62 2.99 lineto closepath stroke 2.62 2.99 moveto 2.58 3.09 lineto closepath stroke 2.62 2.99 moveto 2.46 3.06 lineto closepath stroke 3.01 2.91 moveto 2.90 2.75 lineto closepath stroke 3.01 2.91 moveto 2.88 2.91 lineto closepath stroke 3.01 2.91 moveto 3.14 3.10 lineto closepath stroke 3.01 2.91 moveto 3.15 2.94 lineto closepath stroke 2.90 2.75 moveto 2.88 2.91 lineto closepath stroke 2.90 2.75 moveto 2.88 2.59 lineto closepath stroke 2.90 2.75 moveto 3.01 2.59 lineto closepath stroke 2.88 2.91 moveto 2.86 3.04 lineto closepath stroke 2.86 3.04 moveto 2.82 3.17 lineto closepath stroke 2.86 3.04 moveto 2.69 3.14 lineto closepath stroke 3.30 2.94 moveto 3.17 2.75 lineto closepath stroke 3.30 2.94 moveto 3.15 2.94 lineto closepath stroke 3.30 2.94 moveto 3.44 3.16 lineto closepath stroke 3.30 2.94 moveto 3.46 2.97 lineto closepath stroke 3.17 2.75 moveto 3.15 2.94 lineto closepath stroke 3.17 2.75 moveto 3.15 2.56 lineto closepath stroke 3.17 2.75 moveto 3.30 2.56 lineto closepath stroke 3.15 2.94 moveto 3.14 3.10 lineto closepath stroke 3.14 3.10 moveto 3.09 3.25 lineto closepath stroke 3.14 3.10 moveto 2.95 3.22 lineto closepath stroke 3.62 2.97 moveto 3.48 2.75 lineto closepath stroke 3.62 2.97 moveto 3.46 2.97 lineto closepath stroke 3.62 2.97 moveto 3.77 3.23 lineto closepath stroke 3.62 2.97 moveto 3.79 3.01 lineto closepath stroke 3.48 2.75 moveto 3.46 2.97 lineto closepath stroke 3.48 2.75 moveto 3.46 2.53 lineto closepath stroke 3.48 2.75 moveto 3.62 2.53 lineto closepath stroke 3.46 2.97 moveto 3.44 3.16 lineto closepath stroke 3.44 3.16 moveto 3.38 3.34 lineto closepath stroke 3.44 3.16 moveto 3.22 3.31 lineto closepath stroke 3.97 3.01 moveto 3.82 2.75 lineto closepath stroke 3.97 3.01 moveto 3.79 3.01 lineto closepath stroke 3.97 3.01 moveto 4.13 3.31 lineto closepath stroke 3.97 3.01 moveto 4.16 3.05 lineto closepath stroke 3.82 2.75 moveto 3.79 3.01 lineto closepath stroke 3.82 2.75 moveto 3.79 2.49 lineto closepath stroke 3.82 2.75 moveto 3.97 2.49 lineto closepath stroke 3.79 3.01 moveto 3.77 3.23 lineto closepath stroke 3.77 3.23 moveto 3.70 3.45 lineto closepath stroke 3.77 3.23 moveto 3.53 3.41 lineto closepath stroke 4.36 3.05 moveto 4.19 2.75 lineto closepath stroke 4.36 3.05 moveto 4.16 3.05 lineto closepath stroke 4.36 3.05 moveto 4.53 3.39 lineto closepath stroke 4.36 3.05 moveto 4.57 3.09 lineto closepath stroke 4.19 2.75 moveto 4.16 3.05 lineto closepath stroke 4.19 2.75 moveto 4.16 2.45 lineto closepath stroke 4.19 2.75 moveto 4.36 2.45 lineto closepath stroke 4.16 3.05 moveto 4.13 3.31 lineto closepath stroke 4.13 3.31 moveto 4.05 3.56 lineto closepath stroke 4.13 3.31 moveto 3.86 3.52 lineto closepath stroke 4.78 3.09 moveto 4.60 2.75 lineto closepath stroke 4.78 3.09 moveto 4.57 3.09 lineto closepath stroke 4.78 3.09 moveto 4.97 3.49 lineto closepath stroke 4.78 3.09 moveto 5.01 3.14 lineto closepath stroke 4.60 2.75 moveto 4.57 3.09 lineto closepath stroke 4.60 2.75 moveto 4.57 2.41 lineto closepath stroke 4.60 2.75 moveto 4.78 2.41 lineto closepath stroke 4.57 3.09 moveto 4.53 3.39 lineto closepath stroke 4.53 3.39 moveto 4.44 3.68 lineto closepath stroke 4.53 3.39 moveto 4.23 3.64 lineto closepath stroke 5.25 3.14 moveto 5.05 2.75 lineto closepath stroke 5.25 3.14 moveto 5.01 3.14 lineto closepath stroke 5.25 3.14 moveto 5.46 3.59 lineto closepath stroke 5.25 3.14 moveto 5.50 3.20 lineto closepath stroke 5.05 2.75 moveto 5.01 3.14 lineto closepath stroke 5.05 2.75 moveto 5.01 2.36 lineto closepath stroke 5.05 2.75 moveto 5.25 2.36 lineto closepath stroke 5.01 3.14 moveto 4.97 3.49 lineto closepath stroke 4.97 3.49 moveto 4.87 3.82 lineto closepath stroke 4.97 3.49 moveto 4.64 3.77 lineto closepath stroke 5.76 3.20 moveto 6.04 3.20 lineto closepath stroke 5.76 3.20 moveto 6.09 2.75 lineto closepath stroke 5.76 3.20 moveto 5.50 3.20 lineto closepath stroke 5.76 3.20 moveto 5.55 2.75 lineto closepath stroke 6.04 3.20 moveto 6.09 2.75 lineto closepath stroke 6.04 3.20 moveto 5.99 3.70 lineto closepath stroke 6.04 3.20 moveto 6.32 3.26 lineto closepath stroke 6.09 2.75 moveto 6.04 2.30 lineto closepath stroke 6.09 2.75 moveto 5.76 2.30 lineto closepath stroke 5.50 3.20 moveto 5.55 2.75 lineto closepath stroke 5.50 3.20 moveto 5.46 3.59 lineto closepath stroke 5.55 2.75 moveto 5.76 2.30 lineto closepath stroke 5.55 2.75 moveto 5.50 2.30 lineto closepath stroke 5.46 3.59 moveto 5.34 3.97 lineto closepath stroke 5.46 3.59 moveto 5.08 3.91 lineto closepath stroke 6.32 3.26 moveto 6.64 3.26 lineto closepath stroke 6.32 3.26 moveto 6.69 2.75 lineto closepath stroke 6.32 3.26 moveto 5.99 3.70 lineto closepath stroke 6.64 3.26 moveto 6.69 2.75 lineto closepath stroke 6.64 3.26 moveto 6.58 3.83 lineto closepath stroke 6.64 3.26 moveto 6.94 3.32 lineto closepath stroke 6.69 2.75 moveto 6.64 2.24 lineto closepath stroke 6.69 2.75 moveto 6.32 2.24 lineto closepath stroke 5.99 3.70 moveto 5.85 4.13 lineto closepath stroke 5.99 3.70 moveto 5.57 4.07 lineto closepath stroke 6.58 3.83 moveto 6.94 3.32 lineto closepath stroke 6.58 3.83 moveto 6.42 4.31 lineto closepath stroke 6.58 3.83 moveto 6.11 4.25 lineto closepath stroke 6.94 3.32 moveto 7.22 3.97 lineto closepath stroke 6.94 3.32 moveto 7.28 3.39 lineto closepath stroke 7.28 3.39 moveto 7.63 3.39 lineto closepath stroke 7.28 3.39 moveto 7.35 2.75 lineto closepath stroke 7.28 3.39 moveto 7.22 3.97 lineto closepath stroke 7.63 3.39 moveto 7.35 2.75 lineto closepath stroke 7.63 3.39 moveto 7.93 4.12 lineto closepath stroke 7.63 3.39 moveto 8.00 3.47 lineto closepath stroke 7.35 2.75 moveto 7.29 2.18 lineto closepath stroke 7.35 2.75 moveto 6.94 2.18 lineto closepath stroke 7.22 3.97 moveto 7.04 4.51 lineto closepath stroke 7.22 3.97 moveto 6.71 4.44 lineto closepath stroke 8.00 3.47 moveto 8.38 3.47 lineto closepath stroke 8.00 3.47 moveto 8.07 2.75 lineto closepath stroke 8.00 3.47 moveto 7.93 4.12 lineto closepath stroke 8.38 3.47 moveto 8.07 2.75 lineto closepath stroke 8.38 3.47 moveto 8.71 4.28 lineto closepath stroke 8.38 3.47 moveto 8.79 3.56 lineto closepath stroke 8.07 2.75 moveto 8.38 2.03 lineto closepath stroke 8.07 2.75 moveto 8.00 2.03 lineto closepath stroke 7.93 4.12 moveto 7.36 4.77 lineto closepath stroke 7.93 4.12 moveto 7.73 4.85 lineto closepath stroke 8.79 3.56 moveto 9.20 3.56 lineto closepath stroke 8.79 3.56 moveto 8.87 2.75 lineto closepath stroke 8.79 3.56 moveto 8.71 4.28 lineto closepath stroke 9.20 3.56 moveto 8.87 2.75 lineto closepath stroke 9.20 3.56 moveto 10.06 4.47 lineto closepath stroke 9.20 3.56 moveto 10.14 3.66 lineto closepath stroke 8.87 2.75 moveto 9.20 1.94 lineto closepath stroke 8.87 2.75 moveto 8.79 1.94 lineto closepath stroke 8.71 4.28 moveto 7.73 4.85 lineto closepath stroke 8.71 4.28 moveto 8.14 4.93 lineto closepath stroke 10.06 4.93 moveto 11.00 5.03 lineto closepath stroke 10.06 4.93 moveto 10.06 4.47 lineto closepath stroke 10.06 4.93 moveto 9.08 5.50 lineto closepath stroke 10.06 4.93 moveto 8.14 4.93 lineto closepath stroke 11.00 5.03 moveto 10.06 4.47 lineto closepath stroke 10.06 4.47 moveto 10.14 3.66 lineto closepath stroke 10.14 3.66 moveto 11.00 3.66 lineto closepath stroke 10.14 3.66 moveto 10.14 2.75 lineto closepath stroke 11.00 3.66 moveto 10.14 2.75 lineto closepath stroke 10.14 2.75 moveto 11.00 1.84 lineto closepath stroke 10.14 2.75 moveto 10.14 1.84 lineto closepath stroke 2.17 2.96 moveto 2.07 2.93 lineto closepath stroke 2.17 2.96 moveto 2.14 3.03 lineto closepath stroke 2.17 2.96 moveto 2.26 3.00 lineto closepath stroke 2.36 3.02 moveto 2.26 3.00 lineto closepath stroke 2.36 3.02 moveto 2.33 3.12 lineto closepath stroke 2.36 3.02 moveto 2.46 3.06 lineto closepath stroke 2.26 3.00 moveto 2.14 3.03 lineto closepath stroke 2.14 3.03 moveto 2.19 3.15 lineto closepath stroke 2.14 3.03 moveto 2.10 3.11 lineto closepath stroke 2.58 3.09 moveto 2.46 3.06 lineto closepath stroke 2.58 3.09 moveto 2.54 3.21 lineto closepath stroke 2.58 3.09 moveto 2.69 3.14 lineto closepath stroke 2.46 3.06 moveto 2.33 3.12 lineto closepath stroke 2.33 3.12 moveto 2.38 3.26 lineto closepath stroke 2.33 3.12 moveto 2.28 3.21 lineto closepath stroke 2.82 3.17 moveto 2.69 3.14 lineto closepath stroke 2.82 3.17 moveto 2.77 3.32 lineto closepath stroke 2.82 3.17 moveto 2.95 3.22 lineto closepath stroke 2.69 3.14 moveto 2.54 3.21 lineto closepath stroke 2.54 3.21 moveto 2.59 3.38 lineto closepath stroke 2.54 3.21 moveto 2.48 3.33 lineto closepath stroke 3.09 3.25 moveto 2.95 3.22 lineto closepath stroke 3.09 3.25 moveto 3.03 3.43 lineto closepath stroke 3.09 3.25 moveto 3.22 3.31 lineto closepath stroke 2.95 3.22 moveto 2.77 3.32 lineto closepath stroke 2.77 3.32 moveto 2.82 3.51 lineto closepath stroke 2.77 3.32 moveto 2.69 3.46 lineto closepath stroke 3.38 3.34 moveto 3.22 3.31 lineto closepath stroke 3.38 3.34 moveto 3.31 3.56 lineto closepath stroke 3.38 3.34 moveto 3.53 3.41 lineto closepath stroke 3.22 3.31 moveto 3.03 3.43 lineto closepath stroke 3.03 3.43 moveto 3.07 3.66 lineto closepath stroke 3.03 3.43 moveto 2.93 3.60 lineto closepath stroke 3.70 3.45 moveto 3.53 3.41 lineto closepath stroke 3.70 3.45 moveto 3.62 3.69 lineto closepath stroke 3.70 3.45 moveto 3.86 3.52 lineto closepath stroke 3.53 3.41 moveto 3.31 3.56 lineto closepath stroke 3.31 3.56 moveto 3.35 3.82 lineto closepath stroke 3.31 3.56 moveto 3.20 3.75 lineto closepath stroke 4.05 3.56 moveto 3.86 3.52 lineto closepath stroke 4.05 3.56 moveto 3.96 3.85 lineto closepath stroke 4.05 3.56 moveto 4.23 3.64 lineto closepath stroke 3.86 3.52 moveto 3.62 3.69 lineto closepath stroke 3.62 3.69 moveto 3.51 3.89 lineto closepath stroke 3.62 3.69 moveto 3.35 3.82 lineto closepath stroke 4.44 3.68 moveto 4.23 3.64 lineto closepath stroke 4.44 3.68 moveto 4.33 4.01 lineto closepath stroke 4.44 3.68 moveto 4.64 3.77 lineto closepath stroke 4.23 3.64 moveto 3.96 3.85 lineto closepath stroke 3.96 3.85 moveto 3.99 4.19 lineto closepath stroke 3.96 3.85 moveto 3.81 4.11 lineto closepath stroke 4.87 3.82 moveto 4.64 3.77 lineto closepath stroke 4.87 3.82 moveto 4.74 4.19 lineto closepath stroke 4.87 3.82 moveto 5.08 3.91 lineto closepath stroke 4.64 3.77 moveto 4.33 4.01 lineto closepath stroke 4.33 4.01 moveto 4.36 4.40 lineto closepath stroke 4.33 4.01 moveto 4.16 4.31 lineto closepath stroke 5.34 3.97 moveto 5.08 3.91 lineto closepath stroke 5.34 3.97 moveto 5.20 4.40 lineto closepath stroke 5.34 3.97 moveto 5.57 4.07 lineto closepath stroke 5.08 3.91 moveto 4.74 4.19 lineto closepath stroke 4.74 4.19 moveto 4.76 4.63 lineto closepath stroke 4.74 4.19 moveto 4.55 4.54 lineto closepath stroke 5.85 4.13 moveto 5.57 4.07 lineto closepath stroke 5.85 4.13 moveto 5.69 4.62 lineto closepath stroke 5.85 4.13 moveto 6.11 4.25 lineto closepath stroke 5.57 4.07 moveto 5.20 4.40 lineto closepath stroke 5.20 4.40 moveto 5.00 4.74 lineto closepath stroke 5.20 4.40 moveto 4.76 4.63 lineto closepath stroke 6.42 4.31 moveto 6.11 4.25 lineto closepath stroke 6.42 4.31 moveto 6.24 4.86 lineto closepath stroke 6.42 4.31 moveto 6.71 4.44 lineto closepath stroke 6.11 4.25 moveto 5.69 4.62 lineto closepath stroke 5.69 4.62 moveto 5.47 5.12 lineto closepath stroke 5.69 4.62 moveto 5.21 5.00 lineto closepath stroke 7.04 4.51 moveto 6.71 4.44 lineto closepath stroke 7.04 4.51 moveto 6.84 5.24 lineto closepath stroke 7.04 4.51 moveto 7.36 4.77 lineto closepath stroke 6.71 4.44 moveto 6.24 4.86 lineto closepath stroke 6.24 4.86 moveto 5.76 5.24 lineto closepath stroke 6.24 4.86 moveto 5.47 5.12 lineto closepath stroke 9.08 5.50 moveto 8.14 4.93 lineto closepath stroke 8.14 4.93 moveto 7.73 4.85 lineto closepath stroke 7.73 4.85 moveto 7.36 4.77 lineto closepath stroke 7.36 4.77 moveto 6.84 5.24 lineto closepath stroke 6.84 5.24 moveto 5.76 5.24 lineto closepath stroke 6.84 5.24 moveto 6.07 5.50 lineto closepath stroke 11.00 1.84 moveto 10.14 1.84 lineto closepath stroke 10.14 1.84 moveto 10.06 1.03 lineto closepath stroke 10.14 1.84 moveto 9.20 1.94 lineto closepath stroke 2.19 3.15 moveto 2.10 3.11 lineto closepath stroke 2.19 3.15 moveto 2.24 3.28 lineto closepath stroke 2.19 3.15 moveto 2.28 3.21 lineto closepath stroke 2.10 3.11 moveto 2.07 3.16 lineto closepath stroke 2.10 3.11 moveto 2.02 3.05 lineto closepath stroke 2.07 3.16 moveto 2.02 3.05 lineto closepath stroke 2.07 3.16 moveto 2.09 3.28 lineto closepath stroke 2.07 3.16 moveto 2.01 3.22 lineto closepath stroke 2.38 3.26 moveto 2.28 3.21 lineto closepath stroke 2.38 3.26 moveto 2.42 3.42 lineto closepath stroke 2.38 3.26 moveto 2.48 3.33 lineto closepath stroke 2.28 3.21 moveto 2.24 3.28 lineto closepath stroke 2.24 3.28 moveto 2.25 3.43 lineto closepath stroke 2.24 3.28 moveto 2.16 3.36 lineto closepath stroke 2.59 3.38 moveto 2.48 3.33 lineto closepath stroke 2.59 3.38 moveto 2.63 3.57 lineto closepath stroke 2.59 3.38 moveto 2.69 3.46 lineto closepath stroke 2.48 3.33 moveto 2.42 3.42 lineto closepath stroke 2.42 3.42 moveto 2.43 3.59 lineto closepath stroke 2.42 3.42 moveto 2.33 3.52 lineto closepath stroke 2.82 3.51 moveto 2.69 3.46 lineto closepath stroke 2.82 3.51 moveto 2.85 3.73 lineto closepath stroke 2.82 3.51 moveto 2.93 3.60 lineto closepath stroke 2.69 3.46 moveto 2.63 3.57 lineto closepath stroke 2.63 3.57 moveto 2.63 3.77 lineto closepath stroke 2.63 3.57 moveto 2.52 3.69 lineto closepath stroke 3.07 3.66 moveto 2.93 3.60 lineto closepath stroke 3.07 3.66 moveto 3.10 3.92 lineto closepath stroke 3.07 3.66 moveto 3.20 3.75 lineto closepath stroke 2.93 3.60 moveto 2.85 3.73 lineto closepath stroke 2.85 3.73 moveto 2.85 3.96 lineto closepath stroke 2.85 3.73 moveto 2.73 3.88 lineto closepath stroke 3.51 3.89 moveto 3.35 3.82 lineto closepath stroke 3.51 3.89 moveto 3.38 4.11 lineto closepath stroke 3.51 3.89 moveto 3.65 3.99 lineto closepath stroke 3.35 3.82 moveto 3.20 3.75 lineto closepath stroke 3.20 3.75 moveto 3.10 3.92 lineto closepath stroke 3.10 3.92 moveto 3.08 4.18 lineto closepath stroke 3.10 3.92 moveto 2.95 4.08 lineto closepath stroke 3.38 4.11 moveto 3.65 3.99 lineto closepath stroke 3.38 4.11 moveto 3.23 4.28 lineto closepath stroke 3.38 4.11 moveto 3.08 4.18 lineto closepath stroke 3.65 3.99 moveto 3.68 4.33 lineto closepath stroke 3.65 3.99 moveto 3.81 4.11 lineto closepath stroke 3.99 4.19 moveto 3.81 4.11 lineto closepath stroke 3.99 4.19 moveto 4.01 4.57 lineto closepath stroke 3.99 4.19 moveto 4.16 4.31 lineto closepath stroke 3.81 4.11 moveto 3.68 4.33 lineto closepath stroke 3.68 4.33 moveto 3.50 4.53 lineto closepath stroke 3.68 4.33 moveto 3.35 4.41 lineto closepath stroke 4.36 4.40 moveto 4.16 4.31 lineto closepath stroke 4.36 4.40 moveto 4.37 4.84 lineto closepath stroke 4.36 4.40 moveto 4.55 4.54 lineto closepath stroke 4.16 4.31 moveto 4.01 4.57 lineto closepath stroke 4.01 4.57 moveto 3.81 4.80 lineto closepath stroke 4.01 4.57 moveto 3.63 4.67 lineto closepath stroke 4.76 4.63 moveto 4.55 4.54 lineto closepath stroke 4.76 4.63 moveto 5.00 4.74 lineto closepath stroke 4.55 4.54 moveto 4.37 4.84 lineto closepath stroke 4.37 4.84 moveto 4.14 5.24 lineto closepath stroke 4.37 4.84 moveto 3.95 5.10 lineto closepath stroke 5.00 4.74 moveto 4.77 5.24 lineto closepath stroke 5.00 4.74 moveto 5.21 5.00 lineto closepath stroke 5.76 5.24 moveto 5.47 5.12 lineto closepath stroke 5.76 5.24 moveto 6.07 5.50 lineto closepath stroke 5.47 5.12 moveto 5.21 5.00 lineto closepath stroke 5.21 5.00 moveto 4.77 5.24 lineto closepath stroke 4.77 5.24 moveto 4.14 5.24 lineto closepath stroke 4.77 5.24 moveto 4.35 5.50 lineto closepath stroke 2.09 3.28 moveto 2.01 3.22 lineto closepath stroke 2.09 3.28 moveto 2.11 3.43 lineto closepath stroke 2.09 3.28 moveto 2.16 3.36 lineto closepath stroke 2.01 3.22 moveto 1.97 3.27 lineto closepath stroke 2.01 3.22 moveto 1.94 3.15 lineto closepath stroke 1.97 3.27 moveto 1.94 3.15 lineto closepath stroke 1.97 3.27 moveto 1.97 3.39 lineto closepath stroke 1.97 3.27 moveto 1.90 3.32 lineto closepath stroke 2.25 3.43 moveto 2.16 3.36 lineto closepath stroke 2.25 3.43 moveto 2.26 3.60 lineto closepath stroke 2.25 3.43 moveto 2.33 3.52 lineto closepath stroke 2.16 3.36 moveto 2.11 3.43 lineto closepath stroke 2.11 3.43 moveto 2.04 3.48 lineto closepath stroke 2.11 3.43 moveto 1.97 3.39 lineto closepath stroke 2.43 3.59 moveto 2.33 3.52 lineto closepath stroke 2.43 3.59 moveto 2.43 3.79 lineto closepath stroke 2.43 3.59 moveto 2.52 3.69 lineto closepath stroke 2.33 3.52 moveto 2.26 3.60 lineto closepath stroke 2.26 3.60 moveto 2.24 3.77 lineto closepath stroke 2.26 3.60 moveto 2.16 3.68 lineto closepath stroke 2.63 3.77 moveto 2.52 3.69 lineto closepath stroke 2.63 3.77 moveto 2.62 3.99 lineto closepath stroke 2.63 3.77 moveto 2.73 3.88 lineto closepath stroke 2.52 3.69 moveto 2.43 3.79 lineto closepath stroke 2.43 3.79 moveto 2.33 3.86 lineto closepath stroke 2.43 3.79 moveto 2.24 3.77 lineto closepath stroke 2.85 3.96 moveto 2.73 3.88 lineto closepath stroke 2.85 3.96 moveto 2.83 4.22 lineto closepath stroke 2.85 3.96 moveto 2.95 4.08 lineto closepath stroke 2.73 3.88 moveto 2.62 3.99 lineto closepath stroke 2.62 3.99 moveto 2.49 4.09 lineto closepath stroke 2.62 3.99 moveto 2.39 3.98 lineto closepath stroke 3.23 4.28 moveto 3.08 4.18 lineto closepath stroke 3.23 4.28 moveto 3.05 4.47 lineto closepath stroke 3.23 4.28 moveto 3.35 4.41 lineto closepath stroke 3.08 4.18 moveto 2.95 4.08 lineto closepath stroke 2.95 4.08 moveto 2.83 4.22 lineto closepath stroke 2.83 4.22 moveto 2.67 4.33 lineto closepath stroke 2.83 4.22 moveto 2.56 4.22 lineto closepath stroke 3.50 4.53 moveto 3.35 4.41 lineto closepath stroke 3.50 4.53 moveto 3.30 4.75 lineto closepath stroke 3.50 4.53 moveto 3.63 4.67 lineto closepath stroke 3.35 4.41 moveto 3.05 4.47 lineto closepath stroke 3.05 4.47 moveto 2.96 4.76 lineto closepath stroke 3.05 4.47 moveto 2.84 4.63 lineto closepath stroke 3.81 4.80 moveto 3.63 4.67 lineto closepath stroke 3.81 4.80 moveto 3.58 5.20 lineto closepath stroke 3.81 4.80 moveto 3.95 5.10 lineto closepath stroke 3.63 4.67 moveto 3.30 4.75 lineto closepath stroke 3.30 4.75 moveto 3.09 4.90 lineto closepath stroke 3.30 4.75 moveto 2.96 4.76 lineto closepath stroke 4.14 5.24 moveto 3.95 5.10 lineto closepath stroke 4.14 5.24 moveto 4.35 5.50 lineto closepath stroke 3.95 5.10 moveto 3.58 5.20 lineto closepath stroke 3.58 5.20 moveto 3.19 5.20 lineto closepath stroke 3.58 5.20 moveto 3.33 5.50 lineto closepath stroke 1.97 3.39 moveto 1.90 3.32 lineto closepath stroke 1.97 3.39 moveto 2.04 3.48 lineto closepath stroke 1.90 3.32 moveto 1.85 3.36 lineto closepath stroke 1.90 3.32 moveto 1.85 3.23 lineto closepath stroke 1.85 3.36 moveto 1.85 3.23 lineto closepath stroke 1.85 3.36 moveto 1.82 3.48 lineto closepath stroke 1.85 3.36 moveto 1.77 3.39 lineto closepath stroke 2.04 3.48 moveto 1.95 3.54 lineto closepath stroke 2.04 3.48 moveto 2.10 3.57 lineto closepath stroke 1.95 3.54 moveto 2.10 3.57 lineto closepath stroke 1.95 3.54 moveto 1.88 3.57 lineto closepath stroke 1.95 3.54 moveto 1.82 3.48 lineto closepath stroke 2.10 3.57 moveto 2.07 3.74 lineto closepath stroke 2.10 3.57 moveto 2.16 3.68 lineto closepath stroke 2.33 3.86 moveto 2.24 3.77 lineto closepath stroke 2.33 3.86 moveto 2.20 3.96 lineto closepath stroke 2.33 3.86 moveto 2.39 3.98 lineto closepath stroke 2.24 3.77 moveto 2.16 3.68 lineto closepath stroke 2.16 3.68 moveto 2.07 3.74 lineto closepath stroke 2.07 3.74 moveto 1.97 3.78 lineto closepath stroke 2.07 3.74 moveto 1.91 3.68 lineto closepath stroke 2.49 4.09 moveto 2.39 3.98 lineto closepath stroke 2.49 4.09 moveto 2.34 4.20 lineto closepath stroke 2.49 4.09 moveto 2.56 4.22 lineto closepath stroke 2.39 3.98 moveto 2.20 3.96 lineto closepath stroke 2.20 3.96 moveto 2.08 4.01 lineto closepath stroke 2.20 3.96 moveto 2.01 3.90 lineto closepath stroke 2.67 4.33 moveto 2.56 4.22 lineto closepath stroke 2.67 4.33 moveto 2.49 4.47 lineto closepath stroke 2.67 4.33 moveto 2.75 4.47 lineto closepath stroke 2.56 4.22 moveto 2.34 4.20 lineto closepath stroke 2.34 4.20 moveto 2.24 4.40 lineto closepath stroke 2.34 4.20 moveto 2.16 4.28 lineto closepath stroke 2.49 4.47 moveto 2.75 4.47 lineto closepath stroke 2.49 4.47 moveto 2.37 4.70 lineto closepath stroke 2.49 4.47 moveto 2.29 4.56 lineto closepath stroke 2.75 4.47 moveto 2.66 4.76 lineto closepath stroke 2.75 4.47 moveto 2.84 4.63 lineto closepath stroke 3.09 4.90 moveto 2.96 4.76 lineto closepath stroke 3.09 4.90 moveto 3.19 5.20 lineto closepath stroke 3.09 4.90 moveto 2.85 5.21 lineto closepath stroke 2.96 4.76 moveto 2.84 4.63 lineto closepath stroke 2.84 4.63 moveto 2.66 4.76 lineto closepath stroke 2.66 4.76 moveto 2.51 5.02 lineto closepath stroke 2.66 4.76 moveto 2.42 4.87 lineto closepath stroke 3.19 5.20 moveto 2.85 5.21 lineto closepath stroke 3.19 5.20 moveto 3.33 5.50 lineto closepath stroke 2.85 5.21 moveto 2.61 5.31 lineto closepath stroke 2.85 5.21 moveto 2.51 5.02 lineto closepath stroke 10.06 1.03 moveto 9.20 1.94 lineto closepath stroke 10.06 1.03 moveto 11.00 0.47 lineto closepath stroke 10.06 1.03 moveto 10.06 0.57 lineto closepath stroke 9.20 1.94 moveto 8.79 1.94 lineto closepath stroke 11.00 0.47 moveto 10.06 0.57 lineto closepath stroke 10.06 0.57 moveto 8.14 0.57 lineto closepath stroke 10.06 0.57 moveto 9.08 0.00 lineto closepath stroke 8.79 1.94 moveto 8.71 1.22 lineto closepath stroke 8.79 1.94 moveto 8.38 2.03 lineto closepath stroke 1.82 3.48 moveto 1.77 3.39 lineto closepath stroke 1.82 3.48 moveto 1.88 3.57 lineto closepath stroke 1.77 3.39 moveto 1.72 3.42 lineto closepath stroke 1.77 3.39 moveto 1.74 3.30 lineto closepath stroke 1.72 3.42 moveto 1.74 3.30 lineto closepath stroke 1.72 3.42 moveto 1.65 3.43 lineto closepath stroke 1.72 3.42 moveto 1.62 3.33 lineto closepath stroke 1.88 3.57 moveto 1.78 3.62 lineto closepath stroke 1.88 3.57 moveto 1.91 3.68 lineto closepath stroke 1.97 3.78 moveto 1.91 3.68 lineto closepath stroke 1.97 3.78 moveto 1.85 3.84 lineto closepath stroke 1.97 3.78 moveto 2.01 3.90 lineto closepath stroke 1.91 3.68 moveto 1.78 3.62 lineto closepath stroke 1.78 3.62 moveto 1.70 3.63 lineto closepath stroke 1.78 3.62 moveto 1.67 3.53 lineto closepath stroke 2.08 4.01 moveto 2.01 3.90 lineto closepath stroke 2.08 4.01 moveto 1.93 4.08 lineto closepath stroke 2.08 4.01 moveto 2.12 4.14 lineto closepath stroke 2.01 3.90 moveto 1.85 3.84 lineto closepath stroke 1.85 3.84 moveto 1.75 3.86 lineto closepath stroke 1.85 3.84 moveto 1.71 3.74 lineto closepath stroke 1.93 4.08 moveto 2.12 4.14 lineto closepath stroke 1.93 4.08 moveto 1.82 4.24 lineto closepath stroke 1.93 4.08 moveto 1.77 4.11 lineto closepath stroke 2.12 4.14 moveto 2.02 4.34 lineto closepath stroke 2.12 4.14 moveto 2.16 4.28 lineto closepath stroke 2.24 4.40 moveto 2.16 4.28 lineto closepath stroke 2.24 4.40 moveto 2.11 4.64 lineto closepath stroke 2.24 4.40 moveto 2.29 4.56 lineto closepath stroke 2.16 4.28 moveto 2.02 4.34 lineto closepath stroke 2.02 4.34 moveto 1.88 4.52 lineto closepath stroke 2.02 4.34 moveto 1.83 4.38 lineto closepath stroke 2.37 4.70 moveto 2.29 4.56 lineto closepath stroke 2.37 4.70 moveto 2.22 4.96 lineto closepath stroke 2.37 4.70 moveto 2.42 4.87 lineto closepath stroke 2.29 4.56 moveto 2.11 4.64 lineto closepath stroke 2.11 4.64 moveto 1.94 4.83 lineto closepath stroke 2.11 4.64 moveto 1.89 4.68 lineto closepath stroke 2.61 5.31 moveto 2.51 5.02 lineto closepath stroke 2.61 5.31 moveto 2.61 5.50 lineto closepath stroke 2.61 5.31 moveto 2.27 5.31 lineto closepath stroke 2.51 5.02 moveto 2.42 4.87 lineto closepath stroke 2.42 4.87 moveto 2.22 4.96 lineto closepath stroke 2.22 4.96 moveto 2.00 5.00 lineto closepath stroke 2.22 4.96 moveto 1.94 4.83 lineto closepath stroke 2.61 5.50 moveto 2.27 5.31 lineto closepath stroke 2.27 5.31 moveto 2.02 5.50 lineto closepath stroke 2.27 5.31 moveto 2.02 5.31 lineto closepath stroke 1.65 3.43 moveto 1.62 3.33 lineto closepath stroke 1.65 3.43 moveto 1.57 3.45 lineto closepath stroke 1.65 3.43 moveto 1.67 3.53 lineto closepath stroke 1.70 3.63 moveto 1.67 3.53 lineto closepath stroke 1.70 3.63 moveto 1.60 3.66 lineto closepath stroke 1.70 3.63 moveto 1.71 3.74 lineto closepath stroke 1.67 3.53 moveto 1.57 3.45 lineto closepath stroke 1.57 3.45 moveto 1.50 3.55 lineto closepath stroke 1.57 3.45 moveto 1.49 3.45 lineto closepath stroke 1.75 3.86 moveto 1.71 3.74 lineto closepath stroke 1.75 3.86 moveto 1.62 3.88 lineto closepath stroke 1.75 3.86 moveto 1.76 3.98 lineto closepath stroke 1.71 3.74 moveto 1.60 3.66 lineto closepath stroke 1.60 3.66 moveto 1.50 3.76 lineto closepath stroke 1.60 3.66 moveto 1.49 3.66 lineto closepath stroke 1.62 3.88 moveto 1.76 3.98 lineto closepath stroke 1.62 3.88 moveto 1.50 4.01 lineto closepath stroke 1.62 3.88 moveto 1.49 3.88 lineto closepath stroke 1.76 3.98 moveto 1.65 4.14 lineto closepath stroke 1.76 3.98 moveto 1.77 4.11 lineto closepath stroke 1.82 4.24 moveto 1.77 4.11 lineto closepath stroke 1.82 4.24 moveto 1.68 4.42 lineto closepath stroke 1.82 4.24 moveto 1.83 4.38 lineto closepath stroke 1.77 4.11 moveto 1.65 4.14 lineto closepath stroke 1.65 4.14 moveto 1.50 4.27 lineto closepath stroke 1.65 4.14 moveto 1.49 4.14 lineto closepath stroke 1.88 4.52 moveto 1.83 4.38 lineto closepath stroke 1.88 4.52 moveto 1.71 4.72 lineto closepath stroke 1.88 4.52 moveto 1.89 4.68 lineto closepath stroke 1.83 4.38 moveto 1.68 4.42 lineto closepath stroke 1.68 4.42 moveto 1.52 4.42 lineto closepath stroke 1.68 4.42 moveto 1.50 4.27 lineto closepath stroke 2.00 5.00 moveto 1.94 4.83 lineto closepath stroke 2.00 5.00 moveto 1.74 5.19 lineto closepath stroke 2.00 5.00 moveto 2.02 5.31 lineto closepath stroke 1.94 4.83 moveto 1.89 4.68 lineto closepath stroke 1.89 4.68 moveto 1.71 4.72 lineto closepath stroke 1.71 4.72 moveto 1.52 4.72 lineto closepath stroke 1.71 4.72 moveto 1.50 4.56 lineto closepath stroke 2.02 5.50 moveto 2.02 5.31 lineto closepath stroke 2.02 5.31 moveto 1.74 5.19 lineto closepath stroke 1.74 5.19 moveto 1.52 5.19 lineto closepath stroke 1.74 5.19 moveto 1.50 4.88 lineto closepath stroke 8.71 1.22 moveto 8.38 2.03 lineto closepath stroke 8.71 1.22 moveto 7.73 0.65 lineto closepath stroke 8.71 1.22 moveto 8.14 0.57 lineto closepath stroke 8.38 2.03 moveto 8.00 2.03 lineto closepath stroke 1.50 3.55 moveto 1.49 3.45 lineto closepath stroke 1.50 3.55 moveto 1.40 3.66 lineto closepath stroke 1.50 3.55 moveto 1.49 3.66 lineto closepath stroke 1.49 3.45 moveto 1.43 3.45 lineto closepath stroke 1.49 3.45 moveto 1.50 3.35 lineto closepath stroke 1.43 3.45 moveto 1.50 3.35 lineto closepath stroke 1.43 3.45 moveto 1.37 3.43 lineto closepath stroke 1.43 3.45 moveto 1.38 3.33 lineto closepath stroke 1.50 3.76 moveto 1.49 3.66 lineto closepath stroke 1.50 3.76 moveto 1.38 3.88 lineto closepath stroke 1.50 3.76 moveto 1.49 3.88 lineto closepath stroke 1.49 3.66 moveto 1.40 3.66 lineto closepath stroke 1.40 3.66 moveto 1.32 3.64 lineto closepath stroke 1.40 3.66 moveto 1.33 3.53 lineto closepath stroke 1.50 4.01 moveto 1.49 3.88 lineto closepath stroke 1.50 4.01 moveto 1.35 4.14 lineto closepath stroke 1.50 4.01 moveto 1.49 4.14 lineto closepath stroke 1.49 3.88 moveto 1.38 3.88 lineto closepath stroke 1.38 3.88 moveto 1.28 3.86 lineto closepath stroke 1.38 3.88 moveto 1.29 3.74 lineto closepath stroke 1.52 4.42 moveto 1.50 4.27 lineto closepath stroke 1.52 4.42 moveto 1.32 4.42 lineto closepath stroke 1.52 4.42 moveto 1.50 4.56 lineto closepath stroke 1.50 4.27 moveto 1.49 4.14 lineto closepath stroke 1.49 4.14 moveto 1.35 4.14 lineto closepath stroke 1.35 4.14 moveto 1.23 4.11 lineto closepath stroke 1.35 4.14 moveto 1.24 3.98 lineto closepath stroke 1.52 4.72 moveto 1.50 4.56 lineto closepath stroke 1.52 4.72 moveto 1.29 4.72 lineto closepath stroke 1.52 4.72 moveto 1.50 4.88 lineto closepath stroke 1.50 4.56 moveto 1.32 4.42 lineto closepath stroke 1.32 4.42 moveto 1.17 4.38 lineto closepath stroke 1.32 4.42 moveto 1.18 4.24 lineto closepath stroke 1.52 5.19 moveto 1.50 4.88 lineto closepath stroke 1.52 5.19 moveto 1.50 5.50 lineto closepath stroke 1.52 5.19 moveto 1.26 5.19 lineto closepath stroke 1.50 4.88 moveto 1.29 4.72 lineto closepath stroke 1.29 4.72 moveto 1.06 4.83 lineto closepath stroke 1.29 4.72 moveto 1.07 4.67 lineto closepath stroke 1.50 5.50 moveto 1.26 5.19 lineto closepath stroke 1.26 5.19 moveto 0.98 5.31 lineto closepath stroke 1.26 5.19 moveto 1.00 5.00 lineto closepath stroke 1.37 3.43 moveto 1.38 3.33 lineto closepath stroke 1.37 3.43 moveto 1.28 3.42 lineto closepath stroke 1.37 3.43 moveto 1.33 3.53 lineto closepath stroke 1.32 3.64 moveto 1.33 3.53 lineto closepath stroke 1.32 3.64 moveto 1.22 3.62 lineto closepath stroke 1.32 3.64 moveto 1.29 3.74 lineto closepath stroke 1.33 3.53 moveto 1.28 3.42 lineto closepath stroke 1.28 3.42 moveto 1.18 3.48 lineto closepath stroke 1.28 3.42 moveto 1.21 3.38 lineto closepath stroke 1.28 3.86 moveto 1.29 3.74 lineto closepath stroke 1.28 3.86 moveto 1.15 3.84 lineto closepath stroke 1.28 3.86 moveto 1.24 3.98 lineto closepath stroke 1.29 3.74 moveto 1.22 3.62 lineto closepath stroke 1.22 3.62 moveto 1.09 3.68 lineto closepath stroke 1.22 3.62 moveto 1.12 3.57 lineto closepath stroke 1.23 4.11 moveto 1.24 3.98 lineto closepath stroke 1.23 4.11 moveto 1.07 4.08 lineto closepath stroke 1.23 4.11 moveto 1.18 4.24 lineto closepath stroke 1.24 3.98 moveto 1.15 3.84 lineto closepath stroke 1.15 3.84 moveto 0.99 3.90 lineto closepath stroke 1.15 3.84 moveto 1.03 3.78 lineto closepath stroke 1.17 4.38 moveto 1.18 4.24 lineto closepath stroke 1.17 4.38 moveto 0.98 4.34 lineto closepath stroke 1.17 4.38 moveto 1.12 4.52 lineto closepath stroke 1.18 4.24 moveto 1.07 4.08 lineto closepath stroke 1.07 4.08 moveto 0.88 4.14 lineto closepath stroke 1.07 4.08 moveto 0.92 4.01 lineto closepath stroke 0.98 4.34 moveto 1.12 4.52 lineto closepath stroke 0.98 4.34 moveto 0.76 4.40 lineto closepath stroke 0.98 4.34 moveto 0.81 4.27 lineto closepath stroke 1.12 4.52 moveto 0.89 4.64 lineto closepath stroke 1.12 4.52 moveto 1.07 4.67 lineto closepath stroke 1.06 4.83 moveto 1.07 4.67 lineto closepath stroke 1.06 4.83 moveto 0.78 4.96 lineto closepath stroke 1.06 4.83 moveto 1.00 5.00 lineto closepath stroke 1.07 4.67 moveto 0.89 4.64 lineto closepath stroke 0.89 4.64 moveto 0.71 4.56 lineto closepath stroke 0.89 4.64 moveto 0.76 4.40 lineto closepath stroke 0.98 5.31 moveto 1.00 5.00 lineto closepath stroke 0.98 5.31 moveto 0.98 5.50 lineto closepath stroke 0.98 5.31 moveto 0.73 5.31 lineto closepath stroke 1.00 5.00 moveto 0.78 4.96 lineto closepath stroke 0.78 4.96 moveto 0.58 4.87 lineto closepath stroke 0.78 4.96 moveto 0.63 4.70 lineto closepath stroke 0.98 5.50 moveto 0.73 5.31 lineto closepath stroke 0.73 5.31 moveto 0.36 5.50 lineto closepath stroke 0.73 5.31 moveto 0.36 5.31 lineto closepath stroke 0.36 5.50 moveto 0.36 5.31 lineto closepath stroke 0.36 5.31 moveto 0.49 5.02 lineto closepath stroke 0.36 5.31 moveto 0.13 5.21 lineto closepath stroke 7.73 0.65 moveto 8.14 0.57 lineto closepath stroke 7.73 0.65 moveto 7.36 0.73 lineto closepath stroke 7.73 0.65 moveto 7.93 1.38 lineto closepath stroke 8.14 0.57 moveto 9.08 0.00 lineto closepath stroke 1.18 3.48 moveto 1.21 3.38 lineto closepath stroke 1.18 3.48 moveto 1.04 3.54 lineto closepath stroke 1.18 3.48 moveto 1.12 3.57 lineto closepath stroke 1.21 3.38 moveto 1.15 3.36 lineto closepath stroke 1.21 3.38 moveto 1.26 3.30 lineto closepath stroke 1.15 3.36 moveto 1.26 3.30 lineto closepath stroke 1.15 3.36 moveto 1.10 3.32 lineto closepath stroke 1.15 3.36 moveto 1.15 3.23 lineto closepath stroke 1.09 3.68 moveto 1.12 3.57 lineto closepath stroke 1.09 3.68 moveto 0.93 3.74 lineto closepath stroke 1.09 3.68 moveto 1.03 3.78 lineto closepath stroke 1.12 3.57 moveto 1.04 3.54 lineto closepath stroke 1.04 3.54 moveto 0.98 3.49 lineto closepath stroke 1.04 3.54 moveto 1.03 3.39 lineto closepath stroke 0.99 3.90 moveto 1.03 3.78 lineto closepath stroke 0.99 3.90 moveto 0.80 3.96 lineto closepath stroke 0.99 3.90 moveto 0.92 4.01 lineto closepath stroke 1.03 3.78 moveto 0.93 3.74 lineto closepath stroke 0.93 3.74 moveto 0.76 3.77 lineto closepath stroke 0.93 3.74 moveto 0.82 3.66 lineto closepath stroke 0.88 4.14 moveto 0.92 4.01 lineto closepath stroke 0.88 4.14 moveto 0.66 4.20 lineto closepath stroke 0.88 4.14 moveto 0.81 4.27 lineto closepath stroke 0.92 4.01 moveto 0.80 3.96 lineto closepath stroke 0.80 3.96 moveto 0.61 3.98 lineto closepath stroke 0.80 3.96 moveto 0.67 3.86 lineto closepath stroke 0.71 4.56 moveto 0.76 4.40 lineto closepath stroke 0.71 4.56 moveto 0.51 4.47 lineto closepath stroke 0.71 4.56 moveto 0.63 4.70 lineto closepath stroke 0.76 4.40 moveto 0.81 4.27 lineto closepath stroke 0.81 4.27 moveto 0.66 4.20 lineto closepath stroke 0.66 4.20 moveto 0.44 4.22 lineto closepath stroke 0.66 4.20 moveto 0.51 4.09 lineto closepath stroke 0.58 4.87 moveto 0.63 4.70 lineto closepath stroke 0.58 4.87 moveto 0.49 5.02 lineto closepath stroke 0.58 4.87 moveto 0.34 4.76 lineto closepath stroke 0.63 4.70 moveto 0.51 4.47 lineto closepath stroke 0.51 4.47 moveto 0.35 4.35 lineto closepath stroke 0.51 4.47 moveto 0.44 4.22 lineto closepath stroke 0.49 5.02 moveto 0.34 4.76 lineto closepath stroke 0.49 5.02 moveto 0.13 5.21 lineto closepath stroke 0.34 4.76 moveto 0.13 4.91 lineto closepath stroke 0.34 4.76 moveto 0.21 4.76 lineto closepath stroke 0.13 5.21 moveto 0.00 5.21 lineto closepath stroke 0.13 5.21 moveto 0.13 4.91 lineto closepath stroke 0.13 4.91 moveto 0.21 4.76 lineto closepath stroke 0.13 4.91 moveto 0.00 5.21 lineto closepath stroke 0.21 4.76 moveto 0.21 4.47 lineto closepath stroke 0.21 4.76 moveto 0.00 4.63 lineto closepath stroke 1.10 3.32 moveto 1.15 3.23 lineto closepath stroke 1.10 3.32 moveto 1.03 3.27 lineto closepath stroke 1.10 3.32 moveto 1.03 3.39 lineto closepath stroke 0.98 3.49 moveto 1.03 3.39 lineto closepath stroke 0.98 3.49 moveto 0.89 3.43 lineto closepath stroke 0.98 3.49 moveto 0.90 3.57 lineto closepath stroke 1.03 3.39 moveto 1.03 3.27 lineto closepath stroke 1.03 3.27 moveto 0.91 3.28 lineto closepath stroke 1.03 3.27 moveto 0.98 3.21 lineto closepath stroke 0.89 3.43 moveto 0.90 3.57 lineto closepath stroke 0.89 3.43 moveto 0.75 3.43 lineto closepath stroke 0.89 3.43 moveto 0.82 3.35 lineto closepath stroke 0.90 3.57 moveto 0.74 3.60 lineto closepath stroke 0.90 3.57 moveto 0.82 3.66 lineto closepath stroke 0.76 3.77 moveto 0.82 3.66 lineto closepath stroke 0.76 3.77 moveto 0.57 3.79 lineto closepath stroke 0.76 3.77 moveto 0.67 3.86 lineto closepath stroke 0.82 3.66 moveto 0.74 3.60 lineto closepath stroke 0.74 3.60 moveto 0.57 3.59 lineto closepath stroke 0.74 3.60 moveto 0.65 3.50 lineto closepath stroke 0.61 3.98 moveto 0.67 3.86 lineto closepath stroke 0.61 3.98 moveto 0.38 3.99 lineto closepath stroke 0.61 3.98 moveto 0.51 4.09 lineto closepath stroke 0.67 3.86 moveto 0.57 3.79 lineto closepath stroke 0.57 3.79 moveto 0.48 3.69 lineto closepath stroke 0.57 3.79 moveto 0.57 3.59 lineto closepath stroke 0.35 4.35 moveto 0.44 4.22 lineto closepath stroke 0.35 4.35 moveto 0.21 4.47 lineto closepath stroke 0.35 4.35 moveto 0.14 4.22 lineto closepath stroke 0.44 4.22 moveto 0.51 4.09 lineto closepath stroke 0.51 4.09 moveto 0.38 3.99 lineto closepath stroke 0.38 3.99 moveto 0.27 3.88 lineto closepath stroke 0.38 3.99 moveto 0.37 3.77 lineto closepath stroke 0.21 4.47 moveto 0.14 4.22 lineto closepath stroke 0.21 4.47 moveto 0.00 4.63 lineto closepath stroke 0.14 4.22 moveto 0.14 3.88 lineto closepath stroke 0.14 4.22 moveto 0.00 4.00 lineto closepath stroke 8.00 2.03 moveto 7.93 1.38 lineto closepath stroke 8.00 2.03 moveto 7.63 2.11 lineto closepath stroke 0.91 3.28 moveto 0.98 3.21 lineto closepath stroke 0.91 3.28 moveto 0.76 3.28 lineto closepath stroke 0.91 3.28 moveto 0.82 3.35 lineto closepath stroke 0.98 3.21 moveto 0.93 3.16 lineto closepath stroke 0.98 3.21 moveto 1.06 3.15 lineto closepath stroke 0.93 3.16 moveto 1.06 3.15 lineto closepath stroke 0.93 3.16 moveto 0.90 3.11 lineto closepath stroke 0.93 3.16 moveto 0.98 3.05 lineto closepath stroke 0.75 3.43 moveto 0.82 3.35 lineto closepath stroke 0.75 3.43 moveto 0.58 3.42 lineto closepath stroke 0.75 3.43 moveto 0.65 3.50 lineto closepath stroke 0.82 3.35 moveto 0.76 3.28 lineto closepath stroke 0.76 3.28 moveto 0.72 3.21 lineto closepath stroke 0.76 3.28 moveto 0.81 3.15 lineto closepath stroke 0.48 3.69 moveto 0.57 3.59 lineto closepath stroke 0.48 3.69 moveto 0.37 3.57 lineto closepath stroke 0.48 3.69 moveto 0.37 3.77 lineto closepath stroke 0.57 3.59 moveto 0.65 3.50 lineto closepath stroke 0.65 3.50 moveto 0.58 3.42 lineto closepath stroke 0.58 3.42 moveto 0.52 3.33 lineto closepath stroke 0.58 3.42 moveto 0.62 3.26 lineto closepath stroke 0.27 3.88 moveto 0.37 3.77 lineto closepath stroke 0.27 3.88 moveto 0.14 3.88 lineto closepath stroke 0.27 3.88 moveto 0.13 3.65 lineto closepath stroke 0.37 3.77 moveto 0.37 3.57 lineto closepath stroke 0.37 3.57 moveto 0.31 3.46 lineto closepath stroke 0.37 3.57 moveto 0.41 3.38 lineto closepath stroke 0.14 3.88 moveto 0.13 3.65 lineto closepath stroke 0.14 3.88 moveto 0.00 4.00 lineto closepath stroke 0.13 3.65 moveto 0.13 3.51 lineto closepath stroke 0.13 3.65 moveto 0.00 3.51 lineto closepath stroke 7.93 1.38 moveto 7.63 2.11 lineto closepath stroke 7.93 1.38 moveto 7.36 0.73 lineto closepath stroke 7.63 2.11 moveto 7.22 1.53 lineto closepath stroke 7.63 2.11 moveto 7.29 2.18 lineto closepath stroke 0.90 3.11 moveto 0.98 3.05 lineto closepath stroke 0.90 3.11 moveto 0.86 3.03 lineto closepath stroke 0.90 3.11 moveto 0.81 3.15 lineto closepath stroke 0.72 3.21 moveto 0.81 3.15 lineto closepath stroke 0.72 3.21 moveto 0.67 3.12 lineto closepath stroke 0.72 3.21 moveto 0.62 3.26 lineto closepath stroke 0.81 3.15 moveto 0.86 3.03 lineto closepath stroke 0.86 3.03 moveto 0.74 3.00 lineto closepath stroke 0.86 3.03 moveto 0.83 2.96 lineto closepath stroke 0.52 3.33 moveto 0.62 3.26 lineto closepath stroke 0.52 3.33 moveto 0.41 3.38 lineto closepath stroke 0.52 3.33 moveto 0.46 3.21 lineto closepath stroke 0.62 3.26 moveto 0.67 3.12 lineto closepath stroke 0.67 3.12 moveto 0.64 3.04 lineto closepath stroke 0.67 3.12 moveto 0.74 3.00 lineto closepath stroke 0.31 3.46 moveto 0.41 3.38 lineto closepath stroke 0.31 3.46 moveto 0.13 3.51 lineto closepath stroke 0.31 3.46 moveto 0.17 3.32 lineto closepath stroke 0.41 3.38 moveto 0.46 3.21 lineto closepath stroke 0.46 3.21 moveto 0.31 3.14 lineto closepath stroke 0.46 3.21 moveto 0.42 3.09 lineto closepath stroke 0.13 3.51 moveto 0.17 3.32 lineto closepath stroke 0.13 3.51 moveto 0.00 3.51 lineto closepath stroke 0.17 3.32 moveto 0.13 3.19 lineto closepath stroke 0.17 3.32 moveto 0.31 3.14 lineto closepath stroke 0.74 3.00 moveto 0.83 2.96 lineto closepath stroke 0.74 3.00 moveto 0.64 3.04 lineto closepath stroke 0.83 2.96 moveto 0.82 2.90 lineto closepath stroke 0.83 2.96 moveto 0.93 2.93 lineto closepath stroke 0.82 2.90 moveto 0.93 2.93 lineto closepath stroke 0.82 2.90 moveto 0.81 2.83 lineto closepath stroke 0.82 2.90 moveto 0.91 2.81 lineto closepath stroke 0.64 3.04 moveto 0.61 2.94 lineto closepath stroke 0.64 3.04 moveto 0.54 3.06 lineto closepath stroke 0.61 2.94 moveto 0.54 3.06 lineto closepath stroke 0.61 2.94 moveto 0.60 2.86 lineto closepath stroke 0.61 2.94 moveto 0.71 2.83 lineto closepath stroke 0.54 3.06 moveto 0.38 2.99 lineto closepath stroke 0.54 3.06 moveto 0.42 3.09 lineto closepath stroke 0.13 3.19 moveto 0.31 3.14 lineto closepath stroke 0.13 3.19 moveto 0.00 3.19 lineto closepath stroke 0.13 3.19 moveto 0.13 3.01 lineto closepath stroke 0.31 3.14 moveto 0.42 3.09 lineto closepath stroke 0.42 3.09 moveto 0.38 2.99 lineto closepath stroke 0.38 2.99 moveto 0.37 2.88 lineto closepath stroke 0.38 2.99 moveto 0.49 2.86 lineto closepath stroke 0.00 3.19 moveto 0.13 3.01 lineto closepath stroke 0.13 3.01 moveto 0.13 2.88 lineto closepath stroke 0.13 3.01 moveto 0.00 2.88 lineto closepath stroke 0.81 2.83 moveto 0.91 2.81 lineto closepath stroke 0.81 2.83 moveto 0.80 2.75 lineto closepath stroke 0.81 2.83 moveto 0.71 2.83 lineto closepath stroke 0.60 2.86 moveto 0.71 2.83 lineto closepath stroke 0.60 2.86 moveto 0.59 2.75 lineto closepath stroke 0.60 2.86 moveto 0.49 2.86 lineto closepath stroke 0.71 2.83 moveto 0.80 2.75 lineto closepath stroke 0.80 2.75 moveto 0.81 2.69 lineto closepath stroke 0.80 2.75 moveto 0.91 2.69 lineto closepath stroke 0.37 2.88 moveto 0.49 2.86 lineto closepath stroke 0.37 2.88 moveto 0.13 2.88 lineto closepath stroke 0.37 2.88 moveto 0.24 2.75 lineto closepath stroke 0.49 2.86 moveto 0.59 2.75 lineto closepath stroke 0.59 2.75 moveto 0.60 2.67 lineto closepath stroke 0.59 2.75 moveto 0.71 2.67 lineto closepath stroke 0.13 2.88 moveto 0.24 2.75 lineto closepath stroke 0.13 2.88 moveto 0.00 2.88 lineto closepath stroke 0.24 2.75 moveto 0.13 2.62 lineto closepath stroke 0.24 2.75 moveto 0.37 2.62 lineto closepath stroke 7.36 0.73 moveto 6.84 0.26 lineto closepath stroke 7.36 0.73 moveto 7.04 0.99 lineto closepath stroke 7.22 1.53 moveto 7.29 2.18 lineto closepath stroke 7.22 1.53 moveto 7.04 0.99 lineto closepath stroke 7.22 1.53 moveto 6.71 1.06 lineto closepath stroke 7.29 2.18 moveto 6.94 2.18 lineto closepath stroke 7.04 0.99 moveto 6.71 1.06 lineto closepath stroke 7.04 0.99 moveto 6.84 0.26 lineto closepath stroke 6.71 1.06 moveto 6.24 0.64 lineto closepath stroke 6.71 1.06 moveto 6.42 1.19 lineto closepath stroke 0.81 2.69 moveto 0.91 2.69 lineto closepath stroke 0.81 2.69 moveto 0.82 2.60 lineto closepath stroke 0.81 2.69 moveto 0.71 2.67 lineto closepath stroke 0.60 2.67 moveto 0.71 2.67 lineto closepath stroke 0.60 2.67 moveto 0.61 2.56 lineto closepath stroke 0.60 2.67 moveto 0.49 2.64 lineto closepath stroke 0.71 2.67 moveto 0.82 2.60 lineto closepath stroke 0.82 2.60 moveto 0.83 2.54 lineto closepath stroke 0.82 2.60 moveto 0.93 2.57 lineto closepath stroke 0.61 2.56 moveto 0.49 2.64 lineto closepath stroke 0.61 2.56 moveto 0.54 2.44 lineto closepath stroke 0.61 2.56 moveto 0.64 2.46 lineto closepath stroke 0.49 2.64 moveto 0.38 2.51 lineto closepath stroke 0.49 2.64 moveto 0.37 2.62 lineto closepath stroke 0.13 2.62 moveto 0.37 2.62 lineto closepath stroke 0.13 2.62 moveto 0.00 2.62 lineto closepath stroke 0.13 2.62 moveto 0.13 2.49 lineto closepath stroke 0.37 2.62 moveto 0.38 2.51 lineto closepath stroke 0.38 2.51 moveto 0.31 2.36 lineto closepath stroke 0.38 2.51 moveto 0.42 2.39 lineto closepath stroke 0.00 2.62 moveto 0.13 2.49 lineto closepath stroke 0.13 2.49 moveto 0.00 2.31 lineto closepath stroke 0.13 2.49 moveto 0.13 2.31 lineto closepath stroke 0.83 2.54 moveto 0.93 2.57 lineto closepath stroke 0.83 2.54 moveto 0.86 2.47 lineto closepath stroke 0.83 2.54 moveto 0.74 2.50 lineto closepath stroke 0.86 2.47 moveto 0.74 2.50 lineto closepath stroke 0.86 2.47 moveto 0.89 2.41 lineto closepath stroke 0.86 2.47 moveto 0.98 2.45 lineto closepath stroke 0.74 2.50 moveto 0.67 2.38 lineto closepath stroke 0.74 2.50 moveto 0.64 2.46 lineto closepath stroke 0.54 2.44 moveto 0.64 2.46 lineto closepath stroke 0.54 2.44 moveto 0.46 2.29 lineto closepath stroke 0.54 2.44 moveto 0.42 2.39 lineto closepath stroke 0.64 2.46 moveto 0.67 2.38 lineto closepath stroke 0.67 2.38 moveto 0.71 2.31 lineto closepath stroke 0.67 2.38 moveto 0.81 2.35 lineto closepath stroke 0.31 2.36 moveto 0.42 2.39 lineto closepath stroke 0.31 2.36 moveto 0.17 2.18 lineto closepath stroke 0.31 2.36 moveto 0.13 2.31 lineto closepath stroke 0.42 2.39 moveto 0.46 2.29 lineto closepath stroke 0.46 2.29 moveto 0.51 2.19 lineto closepath stroke 0.46 2.29 moveto 0.62 2.24 lineto closepath stroke 0.00 2.31 moveto 0.13 2.31 lineto closepath stroke 0.13 2.31 moveto 0.17 2.18 lineto closepath stroke 0.17 2.18 moveto 0.13 1.99 lineto closepath stroke 0.17 2.18 moveto 0.31 2.04 lineto closepath stroke 0.89 2.41 moveto 0.98 2.45 lineto closepath stroke 0.89 2.41 moveto 0.93 2.34 lineto closepath stroke 0.89 2.41 moveto 0.81 2.35 lineto closepath stroke 0.71 2.31 moveto 0.81 2.35 lineto closepath stroke 0.71 2.31 moveto 0.76 2.22 lineto closepath stroke 0.71 2.31 moveto 0.62 2.24 lineto closepath stroke 0.81 2.35 moveto 0.93 2.34 lineto closepath stroke 0.93 2.34 moveto 0.99 2.28 lineto closepath stroke 0.93 2.34 moveto 0.91 2.22 lineto closepath stroke 0.51 2.19 moveto 0.62 2.24 lineto closepath stroke 0.51 2.19 moveto 0.58 2.08 lineto closepath stroke 0.51 2.19 moveto 0.41 2.12 lineto closepath stroke 0.62 2.24 moveto 0.76 2.22 lineto closepath stroke 0.76 2.22 moveto 0.75 2.07 lineto closepath stroke 0.76 2.22 moveto 0.84 2.14 lineto closepath stroke 0.58 2.08 moveto 0.41 2.12 lineto closepath stroke 0.58 2.08 moveto 0.57 1.91 lineto closepath stroke 0.58 2.08 moveto 0.67 1.98 lineto closepath stroke 0.41 2.12 moveto 0.37 1.93 lineto closepath stroke 0.41 2.12 moveto 0.31 2.04 lineto closepath stroke 0.13 1.99 moveto 0.31 2.04 lineto closepath stroke 0.13 1.99 moveto 0.00 1.99 lineto closepath stroke 0.13 1.99 moveto 0.13 1.85 lineto closepath stroke 0.31 2.04 moveto 0.37 1.93 lineto closepath stroke 0.37 1.93 moveto 0.37 1.73 lineto closepath stroke 0.37 1.93 moveto 0.48 1.81 lineto closepath stroke 0.00 1.99 moveto 0.13 1.85 lineto closepath stroke 0.13 1.85 moveto 0.14 1.62 lineto closepath stroke 0.13 1.85 moveto 0.27 1.62 lineto closepath stroke 6.84 0.26 moveto 5.76 0.26 lineto closepath stroke 6.84 0.26 moveto 6.07 0.00 lineto closepath stroke 6.58 1.67 moveto 6.42 1.19 lineto closepath stroke 6.58 1.67 moveto 6.11 1.25 lineto closepath stroke 6.58 1.67 moveto 6.94 2.18 lineto closepath stroke 6.58 1.67 moveto 6.64 2.24 lineto closepath stroke 6.42 1.19 moveto 6.11 1.25 lineto closepath stroke 6.42 1.19 moveto 6.24 0.64 lineto closepath stroke 6.11 1.25 moveto 5.69 0.88 lineto closepath stroke 6.11 1.25 moveto 5.85 1.37 lineto closepath stroke 6.24 0.64 moveto 5.47 0.38 lineto closepath stroke 6.24 0.64 moveto 5.76 0.26 lineto closepath stroke 0.99 2.28 moveto 0.91 2.22 lineto closepath stroke 0.99 2.28 moveto 1.06 2.35 lineto closepath stroke 0.99 2.28 moveto 1.03 2.23 lineto closepath stroke 0.91 2.22 moveto 0.89 2.07 lineto closepath stroke 0.91 2.22 moveto 0.84 2.14 lineto closepath stroke 1.06 2.35 moveto 1.03 2.23 lineto closepath stroke 1.03 2.23 moveto 1.15 2.27 lineto closepath stroke 1.03 2.23 moveto 1.08 2.19 lineto closepath stroke 0.75 2.07 moveto 0.84 2.14 lineto closepath stroke 0.75 2.07 moveto 0.74 1.90 lineto closepath stroke 0.75 2.07 moveto 0.67 1.98 lineto closepath stroke 0.84 2.14 moveto 0.89 2.07 lineto closepath stroke 0.89 2.07 moveto 1.03 2.11 lineto closepath stroke 0.89 2.07 moveto 0.96 2.02 lineto closepath stroke 0.57 1.91 moveto 0.67 1.98 lineto closepath stroke 0.57 1.91 moveto 0.57 1.71 lineto closepath stroke 0.57 1.91 moveto 0.48 1.81 lineto closepath stroke 0.67 1.98 moveto 0.74 1.90 lineto closepath stroke 0.74 1.90 moveto 0.90 1.93 lineto closepath stroke 0.74 1.90 moveto 0.82 1.84 lineto closepath stroke 0.37 1.73 moveto 0.48 1.81 lineto closepath stroke 0.37 1.73 moveto 0.38 1.51 lineto closepath stroke 0.37 1.73 moveto 0.27 1.62 lineto closepath stroke 0.48 1.81 moveto 0.57 1.71 lineto closepath stroke 0.57 1.71 moveto 0.67 1.64 lineto closepath stroke 0.57 1.71 moveto 0.76 1.73 lineto closepath stroke 0.14 1.62 moveto 0.27 1.62 lineto closepath stroke 0.14 1.62 moveto 0.00 1.50 lineto closepath stroke 0.14 1.62 moveto 0.14 1.28 lineto closepath stroke 0.27 1.62 moveto 0.38 1.51 lineto closepath stroke 0.38 1.51 moveto 0.51 1.41 lineto closepath stroke 0.38 1.51 moveto 0.61 1.52 lineto closepath stroke 0.00 1.50 moveto 0.14 1.28 lineto closepath stroke 0.14 1.28 moveto 0.21 1.03 lineto closepath stroke 0.14 1.28 moveto 0.35 1.15 lineto closepath stroke 6.94 2.18 moveto 6.64 2.24 lineto closepath stroke 6.64 2.24 moveto 6.32 2.24 lineto closepath stroke 1.15 2.27 moveto 1.08 2.19 lineto closepath stroke 1.08 2.19 moveto 1.15 2.14 lineto closepath stroke 1.08 2.19 moveto 1.03 2.11 lineto closepath stroke 1.03 2.11 moveto 0.96 2.02 lineto closepath stroke 1.03 2.11 moveto 1.15 2.14 lineto closepath stroke 0.96 2.02 moveto 1.05 1.96 lineto closepath stroke 0.96 2.02 moveto 0.90 1.93 lineto closepath stroke 1.15 2.14 moveto 1.26 2.20 lineto closepath stroke 1.15 2.14 moveto 1.21 2.12 lineto closepath stroke 0.90 1.93 moveto 0.82 1.84 lineto closepath stroke 0.90 1.93 moveto 1.05 1.96 lineto closepath stroke 0.82 1.84 moveto 0.93 1.76 lineto closepath stroke 0.82 1.84 moveto 0.76 1.73 lineto closepath stroke 1.05 1.96 moveto 1.18 2.02 lineto closepath stroke 1.05 1.96 moveto 1.12 1.93 lineto closepath stroke 0.67 1.64 moveto 0.76 1.73 lineto closepath stroke 0.67 1.64 moveto 0.80 1.54 lineto closepath stroke 0.67 1.64 moveto 0.61 1.52 lineto closepath stroke 0.76 1.73 moveto 0.93 1.76 lineto closepath stroke 0.93 1.76 moveto 1.09 1.82 lineto closepath stroke 0.93 1.76 moveto 1.03 1.72 lineto closepath stroke 0.51 1.41 moveto 0.61 1.52 lineto closepath stroke 0.51 1.41 moveto 0.66 1.30 lineto closepath stroke 0.51 1.41 moveto 0.44 1.28 lineto closepath stroke 0.61 1.52 moveto 0.80 1.54 lineto closepath stroke 0.80 1.54 moveto 0.99 1.60 lineto closepath stroke 0.80 1.54 moveto 0.92 1.49 lineto closepath stroke 0.66 1.30 moveto 0.44 1.28 lineto closepath stroke 0.66 1.30 moveto 0.88 1.36 lineto closepath stroke 0.66 1.30 moveto 0.81 1.23 lineto closepath stroke 0.44 1.28 moveto 0.51 1.03 lineto closepath stroke 0.44 1.28 moveto 0.35 1.15 lineto closepath stroke 0.21 1.03 moveto 0.35 1.15 lineto closepath stroke 0.21 1.03 moveto 0.00 0.87 lineto closepath stroke 0.21 1.03 moveto 0.21 0.74 lineto closepath stroke 0.35 1.15 moveto 0.51 1.03 lineto closepath stroke 0.51 1.03 moveto 0.76 1.10 lineto closepath stroke 0.51 1.03 moveto 0.68 0.96 lineto closepath stroke 0.00 0.87 moveto 0.21 0.74 lineto closepath stroke 0.21 0.74 moveto 0.13 0.59 lineto closepath stroke 0.21 0.74 moveto 0.34 0.74 lineto closepath stroke 0.13 0.59 moveto 0.34 0.74 lineto closepath stroke 0.13 0.59 moveto 0.00 0.29 lineto closepath stroke 0.13 0.59 moveto 0.13 0.29 lineto closepath stroke 0.34 0.74 moveto 0.63 0.80 lineto closepath stroke 0.34 0.74 moveto 0.54 0.65 lineto closepath stroke 0.00 0.29 moveto 0.13 0.29 lineto closepath stroke 0.13 0.29 moveto 0.49 0.48 lineto closepath stroke 0.13 0.29 moveto 0.36 0.19 lineto closepath stroke 1.26 2.20 moveto 1.21 2.12 lineto closepath stroke 1.21 2.12 moveto 1.28 2.08 lineto closepath stroke 1.21 2.12 moveto 1.18 2.02 lineto closepath stroke 1.18 2.02 moveto 1.12 1.93 lineto closepath stroke 1.18 2.02 moveto 1.28 2.08 lineto closepath stroke 1.12 1.93 moveto 1.22 1.88 lineto closepath stroke 1.12 1.93 moveto 1.09 1.82 lineto closepath stroke 1.28 2.08 moveto 1.37 2.07 lineto closepath stroke 1.28 2.08 moveto 1.33 1.97 lineto closepath stroke 1.09 1.82 moveto 1.03 1.72 lineto closepath stroke 1.09 1.82 moveto 1.22 1.88 lineto closepath stroke 1.03 1.72 moveto 1.15 1.66 lineto closepath stroke 1.03 1.72 moveto 0.99 1.60 lineto closepath stroke 1.22 1.88 moveto 1.32 1.86 lineto closepath stroke 1.22 1.88 moveto 1.29 1.76 lineto closepath stroke 0.99 1.60 moveto 0.92 1.49 lineto closepath stroke 0.99 1.60 moveto 1.15 1.66 lineto closepath stroke 0.92 1.49 moveto 1.07 1.42 lineto closepath stroke 0.92 1.49 moveto 0.88 1.36 lineto closepath stroke 1.15 1.66 moveto 1.28 1.64 lineto closepath stroke 1.15 1.66 moveto 1.24 1.52 lineto closepath stroke 0.88 1.36 moveto 0.81 1.23 lineto closepath stroke 0.88 1.36 moveto 1.07 1.42 lineto closepath stroke 0.81 1.23 moveto 0.98 1.16 lineto closepath stroke 0.81 1.23 moveto 0.76 1.10 lineto closepath stroke 1.07 1.42 moveto 1.23 1.39 lineto closepath stroke 1.07 1.42 moveto 1.18 1.26 lineto closepath stroke 0.76 1.10 moveto 0.68 0.96 lineto closepath stroke 0.76 1.10 moveto 0.98 1.16 lineto closepath stroke 0.68 0.96 moveto 0.89 0.86 lineto closepath stroke 0.68 0.96 moveto 0.63 0.80 lineto closepath stroke 0.98 1.16 moveto 1.17 1.12 lineto closepath stroke 0.98 1.16 moveto 1.12 0.98 lineto closepath stroke 0.63 0.80 moveto 0.54 0.65 lineto closepath stroke 0.63 0.80 moveto 0.89 0.86 lineto closepath stroke 0.54 0.65 moveto 0.49 0.48 lineto closepath stroke 0.54 0.65 moveto 0.78 0.54 lineto closepath stroke 0.89 0.86 moveto 1.11 0.82 lineto closepath stroke 0.89 0.86 moveto 1.06 0.67 lineto closepath stroke 0.49 0.48 moveto 0.78 0.54 lineto closepath stroke 0.49 0.48 moveto 0.36 0.19 lineto closepath stroke 0.78 0.54 moveto 1.06 0.67 lineto closepath stroke 0.78 0.54 moveto 1.00 0.50 lineto closepath stroke 0.36 0.19 moveto 0.73 0.19 lineto closepath stroke 0.36 0.19 moveto 0.36 0.00 lineto closepath stroke 0.73 0.19 moveto 0.36 0.00 lineto closepath stroke 0.73 0.19 moveto 0.98 0.00 lineto closepath stroke 0.73 0.19 moveto 0.98 0.19 lineto closepath stroke 5.99 1.80 moveto 5.85 1.37 lineto closepath stroke 5.99 1.80 moveto 5.57 1.43 lineto closepath stroke 5.99 1.80 moveto 6.32 2.24 lineto closepath stroke 5.99 1.80 moveto 6.04 2.30 lineto closepath stroke 5.85 1.37 moveto 5.57 1.43 lineto closepath stroke 5.85 1.37 moveto 5.69 0.88 lineto closepath stroke 5.57 1.43 moveto 5.20 1.10 lineto closepath stroke 5.57 1.43 moveto 5.34 1.53 lineto closepath stroke 1.37 2.07 moveto 1.33 1.97 lineto closepath stroke 1.37 2.07 moveto 1.38 2.17 lineto closepath stroke 1.37 2.07 moveto 1.43 2.05 lineto closepath stroke 1.33 1.97 moveto 1.40 1.84 lineto closepath stroke 1.33 1.97 moveto 1.32 1.86 lineto closepath stroke 1.38 2.17 moveto 1.43 2.05 lineto closepath stroke 1.43 2.05 moveto 1.50 2.15 lineto closepath stroke 1.43 2.05 moveto 1.49 2.05 lineto closepath stroke 1.32 1.86 moveto 1.29 1.76 lineto closepath stroke 1.32 1.86 moveto 1.40 1.84 lineto closepath stroke 1.29 1.76 moveto 1.38 1.62 lineto closepath stroke 1.29 1.76 moveto 1.28 1.64 lineto closepath stroke 1.40 1.84 moveto 1.50 1.95 lineto closepath stroke 1.40 1.84 moveto 1.49 1.84 lineto closepath stroke 1.28 1.64 moveto 1.24 1.52 lineto closepath stroke 1.28 1.64 moveto 1.38 1.62 lineto closepath stroke 1.24 1.52 moveto 1.35 1.36 lineto closepath stroke 1.24 1.52 moveto 1.23 1.39 lineto closepath stroke 1.38 1.62 moveto 1.50 1.74 lineto closepath stroke 1.38 1.62 moveto 1.49 1.62 lineto closepath stroke 1.23 1.39 moveto 1.18 1.26 lineto closepath stroke 1.23 1.39 moveto 1.35 1.36 lineto closepath stroke 1.18 1.26 moveto 1.32 1.08 lineto closepath stroke 1.18 1.26 moveto 1.17 1.12 lineto closepath stroke 1.35 1.36 moveto 1.50 1.49 lineto closepath stroke 1.35 1.36 moveto 1.49 1.36 lineto closepath stroke 1.17 1.12 moveto 1.12 0.98 lineto closepath stroke 1.17 1.12 moveto 1.32 1.08 lineto closepath stroke 1.12 0.98 moveto 1.29 0.78 lineto closepath stroke 1.12 0.98 moveto 1.11 0.82 lineto closepath stroke 1.32 1.08 moveto 1.50 1.23 lineto closepath stroke 1.32 1.08 moveto 1.48 1.08 lineto closepath stroke 1.06 0.67 moveto 1.00 0.50 lineto closepath stroke 1.06 0.67 moveto 1.11 0.82 lineto closepath stroke 1.00 0.50 moveto 1.26 0.31 lineto closepath stroke 1.00 0.50 moveto 0.98 0.19 lineto closepath stroke 1.11 0.82 moveto 1.29 0.78 lineto closepath stroke 1.29 0.78 moveto 1.52 0.78 lineto closepath stroke 1.29 0.78 moveto 1.50 0.62 lineto closepath stroke 0.98 0.00 moveto 0.98 0.19 lineto closepath stroke 0.98 0.19 moveto 1.26 0.31 lineto closepath stroke 1.26 0.31 moveto 1.50 0.62 lineto closepath stroke 1.26 0.31 moveto 1.48 0.31 lineto closepath stroke 1.50 2.15 moveto 1.49 2.05 lineto closepath stroke 1.49 2.05 moveto 1.57 2.05 lineto closepath stroke 1.49 2.05 moveto 1.50 1.95 lineto closepath stroke 1.50 1.95 moveto 1.49 1.84 lineto closepath stroke 1.50 1.95 moveto 1.57 2.05 lineto closepath stroke 1.49 1.84 moveto 1.60 1.84 lineto closepath stroke 1.49 1.84 moveto 1.50 1.74 lineto closepath stroke 1.57 2.05 moveto 1.62 2.17 lineto closepath stroke 1.57 2.05 moveto 1.63 2.07 lineto closepath stroke 1.50 1.74 moveto 1.49 1.62 lineto closepath stroke 1.50 1.74 moveto 1.60 1.84 lineto closepath stroke 1.49 1.62 moveto 1.62 1.62 lineto closepath stroke 1.49 1.62 moveto 1.50 1.49 lineto closepath stroke 1.60 1.84 moveto 1.67 1.97 lineto closepath stroke 1.60 1.84 moveto 1.68 1.86 lineto closepath stroke 1.50 1.49 moveto 1.49 1.36 lineto closepath stroke 1.50 1.49 moveto 1.62 1.62 lineto closepath stroke 1.49 1.36 moveto 1.65 1.36 lineto closepath stroke 1.49 1.36 moveto 1.50 1.23 lineto closepath stroke 1.62 1.62 moveto 1.71 1.76 lineto closepath stroke 1.62 1.62 moveto 1.72 1.64 lineto closepath stroke 1.50 1.23 moveto 1.48 1.08 lineto closepath stroke 1.50 1.23 moveto 1.65 1.36 lineto closepath stroke 1.48 1.08 moveto 1.68 1.08 lineto closepath stroke 1.48 1.08 moveto 1.50 0.94 lineto closepath stroke 1.65 1.36 moveto 1.76 1.52 lineto closepath stroke 1.65 1.36 moveto 1.77 1.39 lineto closepath stroke 1.68 1.08 moveto 1.50 0.94 lineto closepath stroke 1.68 1.08 moveto 1.82 1.26 lineto closepath stroke 1.68 1.08 moveto 1.83 1.12 lineto closepath stroke 1.50 0.94 moveto 1.71 0.78 lineto closepath stroke 1.50 0.94 moveto 1.52 0.78 lineto closepath stroke 1.52 0.78 moveto 1.50 0.62 lineto closepath stroke 1.52 0.78 moveto 1.71 0.78 lineto closepath stroke 1.50 0.62 moveto 1.48 0.31 lineto closepath stroke 1.71 0.78 moveto 1.88 0.98 lineto closepath stroke 1.71 0.78 moveto 1.89 0.82 lineto closepath stroke 1.48 0.31 moveto 1.74 0.31 lineto closepath stroke 1.48 0.31 moveto 1.50 0.00 lineto closepath stroke 1.74 0.31 moveto 1.50 0.00 lineto closepath stroke 1.74 0.31 moveto 2.00 0.50 lineto closepath stroke 1.74 0.31 moveto 2.02 0.19 lineto closepath stroke 1.62 2.17 moveto 1.63 2.07 lineto closepath stroke 1.63 2.07 moveto 1.72 2.08 lineto closepath stroke 1.63 2.07 moveto 1.67 1.97 lineto closepath stroke 1.67 1.97 moveto 1.68 1.86 lineto closepath stroke 1.67 1.97 moveto 1.72 2.08 lineto closepath stroke 1.68 1.86 moveto 1.78 1.88 lineto closepath stroke 1.68 1.86 moveto 1.71 1.76 lineto closepath stroke 1.72 2.08 moveto 1.79 2.12 lineto closepath stroke 1.72 2.08 moveto 1.82 2.02 lineto closepath stroke 1.71 1.76 moveto 1.72 1.64 lineto closepath stroke 1.71 1.76 moveto 1.78 1.88 lineto closepath stroke 1.72 1.64 moveto 1.85 1.66 lineto closepath stroke 1.72 1.64 moveto 1.76 1.52 lineto closepath stroke 1.78 1.88 moveto 1.88 1.93 lineto closepath stroke 1.78 1.88 moveto 1.91 1.82 lineto closepath stroke 1.76 1.52 moveto 1.77 1.39 lineto closepath stroke 1.76 1.52 moveto 1.85 1.66 lineto closepath stroke 1.77 1.39 moveto 1.93 1.42 lineto closepath stroke 1.77 1.39 moveto 1.82 1.26 lineto closepath stroke 1.85 1.66 moveto 1.97 1.72 lineto closepath stroke 1.85 1.66 moveto 2.01 1.60 lineto closepath stroke 1.82 1.26 moveto 1.83 1.12 lineto closepath stroke 1.82 1.26 moveto 1.93 1.42 lineto closepath stroke 1.83 1.12 moveto 2.02 1.16 lineto closepath stroke 1.83 1.12 moveto 1.88 0.98 lineto closepath stroke 1.93 1.42 moveto 2.08 1.49 lineto closepath stroke 1.93 1.42 moveto 2.12 1.36 lineto closepath stroke 1.88 0.98 moveto 1.89 0.82 lineto closepath stroke 1.88 0.98 moveto 2.02 1.16 lineto closepath stroke 1.89 0.82 moveto 2.11 0.86 lineto closepath stroke 1.89 0.82 moveto 1.94 0.67 lineto closepath stroke 2.02 1.16 moveto 2.19 1.23 lineto closepath stroke 2.02 1.16 moveto 2.24 1.10 lineto closepath stroke 2.11 0.86 moveto 1.94 0.67 lineto closepath stroke 2.11 0.86 moveto 2.32 0.96 lineto closepath stroke 2.11 0.86 moveto 2.37 0.80 lineto closepath stroke 1.94 0.67 moveto 2.22 0.54 lineto closepath stroke 1.94 0.67 moveto 2.00 0.50 lineto closepath stroke 2.00 0.50 moveto 2.02 0.19 lineto closepath stroke 2.00 0.50 moveto 2.22 0.54 lineto closepath stroke 2.02 0.19 moveto 2.27 0.19 lineto closepath stroke 2.02 0.19 moveto 2.02 0.00 lineto closepath stroke 2.22 0.54 moveto 2.46 0.65 lineto closepath stroke 2.22 0.54 moveto 2.51 0.48 lineto closepath stroke 2.27 0.19 moveto 2.02 0.00 lineto closepath stroke 2.27 0.19 moveto 2.61 0.19 lineto closepath stroke 2.27 0.19 moveto 2.61 0.00 lineto closepath stroke 5.69 0.88 moveto 5.21 0.50 lineto closepath stroke 5.69 0.88 moveto 5.47 0.38 lineto closepath stroke 6.32 2.24 moveto 6.04 2.30 lineto closepath stroke 1.79 2.12 moveto 1.82 2.02 lineto closepath stroke 1.79 2.12 moveto 1.74 2.20 lineto closepath stroke 1.79 2.12 moveto 1.85 2.14 lineto closepath stroke 1.82 2.02 moveto 1.96 1.96 lineto closepath stroke 1.82 2.02 moveto 1.88 1.93 lineto closepath stroke 1.74 2.20 moveto 1.85 2.14 lineto closepath stroke 1.85 2.14 moveto 1.92 2.19 lineto closepath stroke 1.85 2.14 moveto 1.97 2.11 lineto closepath stroke 1.88 1.93 moveto 1.91 1.82 lineto closepath stroke 1.88 1.93 moveto 1.96 1.96 lineto closepath stroke 1.91 1.82 moveto 2.07 1.76 lineto closepath stroke 1.91 1.82 moveto 1.97 1.72 lineto closepath stroke 1.96 1.96 moveto 1.97 2.11 lineto closepath stroke 1.96 1.96 moveto 2.02 2.01 lineto closepath stroke 1.97 1.72 moveto 2.01 1.60 lineto closepath stroke 1.97 1.72 moveto 2.07 1.76 lineto closepath stroke 2.01 1.60 moveto 2.20 1.54 lineto closepath stroke 2.01 1.60 moveto 2.08 1.49 lineto closepath stroke 2.07 1.76 moveto 2.10 1.93 lineto closepath stroke 2.07 1.76 moveto 2.16 1.82 lineto closepath stroke 2.08 1.49 moveto 2.12 1.36 lineto closepath stroke 2.08 1.49 moveto 2.20 1.54 lineto closepath stroke 2.12 1.36 moveto 2.34 1.30 lineto closepath stroke 2.12 1.36 moveto 2.19 1.23 lineto closepath stroke 2.20 1.54 moveto 2.24 1.73 lineto closepath stroke 2.20 1.54 moveto 2.30 1.62 lineto closepath stroke 2.19 1.23 moveto 2.24 1.10 lineto closepath stroke 2.19 1.23 moveto 2.34 1.30 lineto closepath stroke 2.24 1.10 moveto 2.49 1.03 lineto closepath stroke 2.24 1.10 moveto 2.32 0.96 lineto closepath stroke 2.34 1.30 moveto 2.39 1.52 lineto closepath stroke 2.34 1.30 moveto 2.47 1.39 lineto closepath stroke 2.32 0.96 moveto 2.37 0.80 lineto closepath stroke 2.32 0.96 moveto 2.49 1.03 lineto closepath stroke 2.37 0.80 moveto 2.66 0.74 lineto closepath stroke 2.37 0.80 moveto 2.46 0.65 lineto closepath stroke 2.49 1.03 moveto 2.56 1.28 lineto closepath stroke 2.49 1.03 moveto 2.65 1.15 lineto closepath stroke 2.46 0.65 moveto 2.51 0.48 lineto closepath stroke 2.46 0.65 moveto 2.66 0.74 lineto closepath stroke 2.51 0.48 moveto 2.85 0.29 lineto closepath stroke 2.51 0.48 moveto 2.61 0.19 lineto closepath stroke 2.66 0.74 moveto 2.75 1.03 lineto closepath stroke 2.66 0.74 moveto 2.84 0.87 lineto closepath stroke 2.61 0.19 moveto 2.61 0.00 lineto closepath stroke 2.61 0.19 moveto 2.85 0.29 lineto closepath stroke 2.85 0.29 moveto 3.09 0.60 lineto closepath stroke 2.85 0.29 moveto 3.19 0.30 lineto closepath stroke 6.04 2.30 moveto 5.76 2.30 lineto closepath stroke 5.46 1.91 moveto 5.34 1.53 lineto closepath stroke 5.46 1.91 moveto 5.08 1.59 lineto closepath stroke 5.46 1.91 moveto 5.50 2.30 lineto closepath stroke 5.46 1.91 moveto 5.25 2.36 lineto closepath stroke 5.34 1.53 moveto 5.08 1.59 lineto closepath stroke 5.34 1.53 moveto 5.20 1.10 lineto closepath stroke 5.08 1.59 moveto 4.74 1.31 lineto closepath stroke 5.08 1.59 moveto 4.87 1.68 lineto closepath stroke 5.20 1.10 moveto 5.00 0.76 lineto closepath stroke 5.20 1.10 moveto 4.76 0.87 lineto closepath stroke 5.76 2.30 moveto 5.50 2.30 lineto closepath stroke 5.50 2.30 moveto 5.25 2.36 lineto closepath stroke 1.92 2.19 moveto 1.97 2.11 lineto closepath stroke 1.92 2.19 moveto 1.85 2.27 lineto closepath stroke 1.92 2.19 moveto 1.97 2.23 lineto closepath stroke 1.97 2.11 moveto 2.02 2.01 lineto closepath stroke 1.85 2.27 moveto 1.97 2.23 lineto closepath stroke 1.97 2.23 moveto 1.94 2.35 lineto closepath stroke 1.97 2.23 moveto 2.01 2.28 lineto closepath stroke 2.02 2.01 moveto 2.11 2.07 lineto closepath stroke 2.02 2.01 moveto 2.10 1.93 lineto closepath stroke 2.10 1.93 moveto 2.16 1.82 lineto closepath stroke 2.10 1.93 moveto 2.11 2.07 lineto closepath stroke 2.16 1.82 moveto 2.26 1.90 lineto closepath stroke 2.16 1.82 moveto 2.24 1.73 lineto closepath stroke 2.11 2.07 moveto 2.09 2.22 lineto closepath stroke 2.11 2.07 moveto 2.16 2.14 lineto closepath stroke 2.24 1.73 moveto 2.30 1.62 lineto closepath stroke 2.24 1.73 moveto 2.26 1.90 lineto closepath stroke 2.30 1.62 moveto 2.43 1.71 lineto closepath stroke 2.30 1.62 moveto 2.39 1.52 lineto closepath stroke 2.26 1.90 moveto 2.35 2.00 lineto closepath stroke 2.26 1.90 moveto 2.43 1.91 lineto closepath stroke 2.39 1.52 moveto 2.47 1.39 lineto closepath stroke 2.39 1.52 moveto 2.43 1.71 lineto closepath stroke 2.47 1.39 moveto 2.62 1.51 lineto closepath stroke 2.47 1.39 moveto 2.56 1.28 lineto closepath stroke 2.43 1.71 moveto 2.43 1.91 lineto closepath stroke 2.43 1.71 moveto 2.52 1.81 lineto closepath stroke 2.56 1.28 moveto 2.65 1.15 lineto closepath stroke 2.56 1.28 moveto 2.62 1.51 lineto closepath stroke 2.65 1.15 moveto 2.83 1.28 lineto closepath stroke 2.65 1.15 moveto 2.75 1.03 lineto closepath stroke 2.62 1.51 moveto 2.63 1.73 lineto closepath stroke 2.62 1.51 moveto 2.73 1.62 lineto closepath stroke 2.75 1.03 moveto 2.84 0.87 lineto closepath stroke 2.75 1.03 moveto 2.83 1.28 lineto closepath stroke 2.84 0.87 moveto 3.05 1.03 lineto closepath stroke 2.84 0.87 moveto 2.96 0.74 lineto closepath stroke 2.83 1.28 moveto 2.85 1.54 lineto closepath stroke 2.83 1.28 moveto 2.95 1.42 lineto closepath stroke 3.05 1.03 moveto 2.96 0.74 lineto closepath stroke 3.05 1.03 moveto 3.08 1.32 lineto closepath stroke 3.05 1.03 moveto 3.20 1.19 lineto closepath stroke 2.96 0.74 moveto 3.30 0.75 lineto closepath stroke 2.96 0.74 moveto 3.09 0.60 lineto closepath stroke 3.09 0.60 moveto 3.19 0.30 lineto closepath stroke 3.09 0.60 moveto 3.30 0.75 lineto closepath stroke 3.19 0.30 moveto 3.58 0.30 lineto closepath stroke 3.19 0.30 moveto 3.33 0.00 lineto closepath stroke 3.30 0.75 moveto 3.35 1.09 lineto closepath stroke 3.30 0.75 moveto 3.48 0.94 lineto closepath stroke 3.58 0.30 moveto 3.33 0.00 lineto closepath stroke 3.58 0.30 moveto 3.95 0.40 lineto closepath stroke 3.58 0.30 moveto 3.81 0.70 lineto closepath stroke 1.94 2.35 moveto 2.01 2.28 lineto closepath stroke 2.01 2.28 moveto 2.07 2.34 lineto closepath stroke 2.01 2.28 moveto 2.09 2.22 lineto closepath stroke 2.09 2.22 moveto 2.16 2.14 lineto closepath stroke 2.09 2.22 moveto 2.07 2.34 lineto closepath stroke 2.16 2.14 moveto 2.24 2.22 lineto closepath stroke 2.16 2.14 moveto 2.25 2.07 lineto closepath stroke 2.07 2.34 moveto 2.02 2.45 lineto closepath stroke 2.07 2.34 moveto 2.10 2.39 lineto closepath stroke 2.24 2.22 moveto 2.25 2.07 lineto closepath stroke 2.24 2.22 moveto 2.19 2.35 lineto closepath stroke 2.24 2.22 moveto 2.28 2.29 lineto closepath stroke 2.25 2.07 moveto 2.42 2.08 lineto closepath stroke 2.25 2.07 moveto 2.35 2.00 lineto closepath stroke 2.43 1.91 moveto 2.52 1.81 lineto closepath stroke 2.43 1.91 moveto 2.35 2.00 lineto closepath stroke 2.52 1.81 moveto 2.63 1.93 lineto closepath stroke 2.52 1.81 moveto 2.63 1.73 lineto closepath stroke 2.35 2.00 moveto 2.42 2.08 lineto closepath stroke 2.42 2.08 moveto 2.38 2.24 lineto closepath stroke 2.42 2.08 moveto 2.48 2.17 lineto closepath stroke 2.63 1.73 moveto 2.73 1.62 lineto closepath stroke 2.63 1.73 moveto 2.63 1.93 lineto closepath stroke 2.73 1.62 moveto 2.85 1.77 lineto closepath stroke 2.73 1.62 moveto 2.85 1.54 lineto closepath stroke 2.63 1.93 moveto 2.71 2.07 lineto closepath stroke 2.63 1.93 moveto 2.82 1.99 lineto closepath stroke 2.85 1.54 moveto 2.95 1.42 lineto closepath stroke 2.85 1.54 moveto 2.85 1.77 lineto closepath stroke 2.95 1.42 moveto 3.10 1.58 lineto closepath stroke 2.95 1.42 moveto 3.08 1.32 lineto closepath stroke 2.85 1.77 moveto 2.95 1.93 lineto closepath stroke 2.85 1.77 moveto 3.07 1.84 lineto closepath stroke 3.08 1.32 moveto 3.20 1.19 lineto closepath stroke 3.08 1.32 moveto 3.10 1.58 lineto closepath stroke 3.20 1.19 moveto 3.38 1.39 lineto closepath stroke 3.20 1.19 moveto 3.35 1.09 lineto closepath stroke 3.10 1.58 moveto 3.22 1.78 lineto closepath stroke 3.10 1.58 moveto 3.35 1.68 lineto closepath stroke 3.35 1.09 moveto 3.48 0.94 lineto closepath stroke 3.35 1.09 moveto 3.38 1.39 lineto closepath stroke 3.48 0.94 moveto 3.68 1.17 lineto closepath stroke 3.48 0.94 moveto 3.63 0.83 lineto closepath stroke 3.38 1.39 moveto 3.51 1.61 lineto closepath stroke 3.38 1.39 moveto 3.65 1.51 lineto closepath stroke 3.68 1.17 moveto 3.63 0.83 lineto closepath stroke 3.68 1.17 moveto 3.83 1.43 lineto closepath stroke 3.68 1.17 moveto 3.99 1.31 lineto closepath stroke 3.63 0.83 moveto 4.01 0.93 lineto closepath stroke 3.63 0.83 moveto 3.81 0.70 lineto closepath stroke 3.95 0.40 moveto 3.81 0.70 lineto closepath stroke 3.95 0.40 moveto 4.37 0.66 lineto closepath stroke 3.95 0.40 moveto 4.14 0.26 lineto closepath stroke 3.81 0.70 moveto 4.01 0.93 lineto closepath stroke 4.01 0.93 moveto 4.18 1.23 lineto closepath stroke 4.01 0.93 moveto 4.36 1.10 lineto closepath stroke 4.37 0.66 moveto 4.14 0.26 lineto closepath stroke 4.37 0.66 moveto 4.76 0.87 lineto closepath stroke 4.37 0.66 moveto 4.57 1.01 lineto closepath stroke 4.14 0.26 moveto 4.77 0.26 lineto closepath stroke 4.14 0.26 moveto 4.35 0.00 lineto closepath stroke 4.77 0.26 moveto 4.35 0.00 lineto closepath stroke 4.77 0.26 moveto 5.21 0.50 lineto closepath stroke 4.77 0.26 moveto 5.00 0.76 lineto closepath stroke 5.25 2.36 moveto 5.01 2.36 lineto closepath stroke 4.97 2.01 moveto 4.87 1.68 lineto closepath stroke 4.97 2.01 moveto 4.64 1.73 lineto closepath stroke 4.97 2.01 moveto 4.78 2.41 lineto closepath stroke 4.97 2.01 moveto 5.01 2.36 lineto closepath stroke 4.87 1.68 moveto 4.64 1.73 lineto closepath stroke 4.87 1.68 moveto 4.74 1.31 lineto closepath stroke 4.64 1.73 moveto 4.44 1.82 lineto closepath stroke 4.64 1.73 moveto 4.33 1.49 lineto closepath stroke 2.02 2.45 moveto 2.10 2.39 lineto closepath stroke 2.10 2.39 moveto 2.14 2.47 lineto closepath stroke 2.10 2.39 moveto 2.19 2.35 lineto closepath stroke 2.19 2.35 moveto 2.28 2.29 lineto closepath stroke 2.19 2.35 moveto 2.14 2.47 lineto closepath stroke 2.28 2.29 moveto 2.33 2.38 lineto closepath stroke 2.28 2.29 moveto 2.38 2.24 lineto closepath stroke 2.14 2.47 moveto 2.07 2.57 lineto closepath stroke 2.14 2.47 moveto 2.16 2.52 lineto closepath stroke 2.38 2.24 moveto 2.48 2.17 lineto closepath stroke 2.38 2.24 moveto 2.33 2.38 lineto closepath stroke 2.48 2.17 moveto 2.54 2.29 lineto closepath stroke 2.48 2.17 moveto 2.59 2.12 lineto closepath stroke 2.33 2.38 moveto 2.26 2.50 lineto closepath stroke 2.33 2.38 moveto 2.36 2.46 lineto closepath stroke 2.54 2.29 moveto 2.59 2.12 lineto closepath stroke 2.54 2.29 moveto 2.46 2.44 lineto closepath stroke 2.54 2.29 moveto 2.58 2.39 lineto closepath stroke 2.59 2.12 moveto 2.77 2.18 lineto closepath stroke 2.59 2.12 moveto 2.71 2.07 lineto closepath stroke 2.71 2.07 moveto 2.82 1.99 lineto closepath stroke 2.71 2.07 moveto 2.77 2.18 lineto closepath stroke 2.82 1.99 moveto 3.03 2.07 lineto closepath stroke 2.82 1.99 moveto 2.95 1.93 lineto closepath stroke 2.77 2.18 moveto 2.82 2.33 lineto closepath stroke 2.77 2.18 moveto 2.95 2.28 lineto closepath stroke 2.95 1.93 moveto 3.07 1.84 lineto closepath stroke 2.95 1.93 moveto 3.03 2.07 lineto closepath stroke 3.07 1.84 moveto 3.31 1.94 lineto closepath stroke 3.07 1.84 moveto 3.22 1.78 lineto closepath stroke 3.03 2.07 moveto 2.95 2.28 lineto closepath stroke 3.03 2.07 moveto 3.08 2.22 lineto closepath stroke 3.22 1.78 moveto 3.35 1.68 lineto closepath stroke 3.22 1.78 moveto 3.31 1.94 lineto closepath stroke 3.35 1.68 moveto 3.62 1.81 lineto closepath stroke 3.35 1.68 moveto 3.51 1.61 lineto closepath stroke 3.31 1.94 moveto 3.22 2.19 lineto closepath stroke 3.31 1.94 moveto 3.37 2.12 lineto closepath stroke 3.51 1.61 moveto 3.65 1.51 lineto closepath stroke 3.51 1.61 moveto 3.62 1.81 lineto closepath stroke 3.65 1.51 moveto 3.96 1.65 lineto closepath stroke 3.65 1.51 moveto 3.83 1.43 lineto closepath stroke 3.62 1.81 moveto 3.70 2.05 lineto closepath stroke 3.62 1.81 moveto 3.86 1.98 lineto closepath stroke 3.83 1.43 moveto 3.99 1.31 lineto closepath stroke 3.83 1.43 moveto 3.96 1.65 lineto closepath stroke 3.99 1.31 moveto 4.33 1.49 lineto closepath stroke 3.99 1.31 moveto 4.18 1.23 lineto closepath stroke 3.96 1.65 moveto 4.05 1.94 lineto closepath stroke 3.96 1.65 moveto 4.23 1.86 lineto closepath stroke 4.18 1.23 moveto 4.36 1.10 lineto closepath stroke 4.18 1.23 moveto 4.33 1.49 lineto closepath stroke 4.36 1.10 moveto 4.74 1.31 lineto closepath stroke 4.36 1.10 moveto 4.57 1.01 lineto closepath stroke 4.33 1.49 moveto 4.44 1.82 lineto closepath stroke 4.76 0.87 moveto 4.57 1.01 lineto closepath stroke 4.76 0.87 moveto 5.00 0.76 lineto closepath stroke 4.57 1.01 moveto 4.74 1.31 lineto closepath stroke 5.21 0.50 moveto 5.00 0.76 lineto closepath stroke 5.21 0.50 moveto 5.47 0.38 lineto closepath stroke 5.47 0.38 moveto 5.76 0.26 lineto closepath stroke 5.76 0.26 moveto 6.07 0.00 lineto closepath stroke 2.07 2.57 moveto 2.16 2.52 lineto closepath stroke 2.16 2.52 moveto 2.18 2.60 lineto closepath stroke 2.16 2.52 moveto 2.26 2.50 lineto closepath stroke 2.26 2.50 moveto 2.36 2.46 lineto closepath stroke 2.26 2.50 moveto 2.18 2.60 lineto closepath stroke 2.36 2.46 moveto 2.39 2.56 lineto closepath stroke 2.36 2.46 moveto 2.46 2.44 lineto closepath stroke 2.19 2.67 moveto 2.29 2.67 lineto closepath stroke 2.19 2.67 moveto 2.09 2.69 lineto closepath stroke 2.19 2.67 moveto 2.18 2.60 lineto closepath stroke 2.29 2.67 moveto 2.40 2.64 lineto closepath stroke 2.29 2.67 moveto 2.39 2.56 lineto closepath stroke 2.09 2.69 moveto 2.18 2.60 lineto closepath stroke 2.46 2.44 moveto 2.58 2.39 lineto closepath stroke 2.46 2.44 moveto 2.39 2.56 lineto closepath stroke 2.58 2.39 moveto 2.62 2.51 lineto closepath stroke 2.58 2.39 moveto 2.69 2.36 lineto closepath stroke 2.40 2.64 moveto 2.51 2.64 lineto closepath stroke 2.40 2.64 moveto 2.39 2.56 lineto closepath stroke 2.51 2.64 moveto 2.63 2.62 lineto closepath stroke 2.51 2.64 moveto 2.62 2.51 lineto closepath stroke 2.63 2.62 moveto 2.75 2.62 lineto closepath stroke 2.63 2.62 moveto 2.62 2.51 lineto closepath stroke 2.75 2.62 moveto 2.88 2.59 lineto closepath stroke 2.75 2.62 moveto 2.86 2.46 lineto closepath stroke 2.62 2.51 moveto 2.69 2.36 lineto closepath stroke 2.69 2.36 moveto 2.86 2.46 lineto closepath stroke 2.69 2.36 moveto 2.82 2.33 lineto closepath stroke 2.95 2.28 moveto 3.08 2.22 lineto closepath stroke 2.95 2.28 moveto 2.82 2.33 lineto closepath stroke 3.08 2.22 moveto 3.14 2.40 lineto closepath stroke 3.08 2.22 moveto 3.22 2.19 lineto closepath stroke 2.88 2.59 moveto 3.01 2.59 lineto closepath stroke 2.88 2.59 moveto 2.86 2.46 lineto closepath stroke 3.01 2.59 moveto 3.15 2.56 lineto closepath stroke 3.01 2.59 moveto 3.14 2.40 lineto closepath stroke 2.86 2.46 moveto 2.82 2.33 lineto closepath stroke 3.22 2.19 moveto 3.37 2.12 lineto closepath stroke 3.22 2.19 moveto 3.14 2.40 lineto closepath stroke 3.37 2.12 moveto 3.44 2.34 lineto closepath stroke 3.37 2.12 moveto 3.53 2.09 lineto closepath stroke 3.15 2.56 moveto 3.30 2.56 lineto closepath stroke 3.15 2.56 moveto 3.14 2.40 lineto closepath stroke 3.30 2.56 moveto 3.46 2.53 lineto closepath stroke 3.30 2.56 moveto 3.44 2.34 lineto closepath stroke 3.46 2.53 moveto 3.62 2.53 lineto closepath stroke 3.46 2.53 moveto 3.44 2.34 lineto closepath stroke 3.62 2.53 moveto 3.79 2.49 lineto closepath stroke 3.62 2.53 moveto 3.77 2.27 lineto closepath stroke 3.44 2.34 moveto 3.53 2.09 lineto closepath stroke 3.53 2.09 moveto 3.77 2.27 lineto closepath stroke 3.53 2.09 moveto 3.70 2.05 lineto closepath stroke 3.79 2.49 moveto 3.97 2.49 lineto closepath stroke 3.79 2.49 moveto 3.77 2.27 lineto closepath stroke 3.97 2.49 moveto 4.16 2.45 lineto closepath stroke 3.97 2.49 moveto 4.13 2.19 lineto closepath stroke 3.77 2.27 moveto 3.70 2.05 lineto closepath stroke 3.70 2.05 moveto 3.86 1.98 lineto closepath stroke 3.86 1.98 moveto 4.13 2.19 lineto closepath stroke 3.86 1.98 moveto 4.05 1.94 lineto closepath stroke 4.16 2.45 moveto 4.36 2.45 lineto closepath stroke 4.16 2.45 moveto 4.13 2.19 lineto closepath stroke 4.36 2.45 moveto 4.57 2.41 lineto closepath stroke 4.36 2.45 moveto 4.53 2.11 lineto closepath stroke 4.13 2.19 moveto 4.05 1.94 lineto closepath stroke 4.05 1.94 moveto 4.23 1.86 lineto closepath stroke 4.23 1.86 moveto 4.53 2.11 lineto closepath stroke 4.23 1.86 moveto 4.44 1.82 lineto closepath stroke 4.57 2.41 moveto 4.78 2.41 lineto closepath stroke 4.57 2.41 moveto 4.53 2.11 lineto closepath stroke 4.78 2.41 moveto 5.01 2.36 lineto closepath stroke 4.53 2.11 moveto 4.44 1.82 lineto closepath stroke showpage %%EndDocument @endspecial 116 x @beginspecial 40 @vscale 40 @hscale 200 @hoffset -180 @voffset @setspecial %%BeginDocument: mat.ps.9 %! %%Creator: PSPLTM routine %%BoundingBox: 264.20 133.88 1290.28 1257.16 %%EndComments /cm {72 mul 2.54 div} def /mc {72 div 2.54 mul} def /pnum { 72 div 2.54 mul 20 string cvs print ( ) print} def /Cshow {dup stringwidth pop -2 div 0 rmoveto show} def gsave /Helvetica findfont 0.500000 cm scalefont setfont 10.7950 cm 16.9700 cm moveto (Assembled Matrix) Cshow 3.81000 cm 2.00000 cm translate 13.9700 cm 1081 div dup scale 0.250000 setlinewidth newpath 0 0 moveto 1081 0 lineto 1081 1081 lineto 0 1081 lineto closepath stroke 0.2 setlinewidth 1 1 translate 0.8 setlinewidth /p {moveto 0 -.40 rmoveto 0 .80 rlineto stroke} def 0 1079 p 801 1079 p 802 1079 p 825 1079 p 827 1079 p 1 1078 p 501 1078 p 500 1078 p 603 1078 p 2 1077 p 352 1077 p 351 1077 p 398 1077 p 3 1076 p 599 1076 p 600 1076 p 626 1076 p 629 1076 p 4 1075 p 288 1075 p 287 1075 p 290 1075 p 1037 1075 p 1039 1075 p 5 1074 p 287 1074 p 286 1074 p 293 1074 p 292 1074 p 1038 1074 p 1043 1074 p 6 1073 p 292 1073 p 291 1073 p 297 1073 p 296 1073 p 1044 1073 p 1046 1073 p 7 1072 p 296 1072 p 295 1072 p 301 1072 p 300 1072 p 1047 1072 p 1052 1072 p 8 1071 p 300 1071 p 299 1071 p 305 1071 p 304 1071 p 1053 1071 p 1058 1071 p 9 1070 p 304 1070 p 303 1070 p 309 1070 p 308 1070 p 1059 1070 p 1061 1070 p 10 1069 p 308 1069 p 307 1069 p 313 1069 p 312 1069 p 1062 1069 p 1065 1069 p 11 1068 p 312 1068 p 311 1068 p 317 1068 p 316 1068 p 1066 1068 p 1070 1068 p 12 1067 p 316 1067 p 315 1067 p 321 1067 p 320 1067 p 1071 1067 p 1075 1067 p 13 1066 p 320 1066 p 319 1066 p 325 1066 p 324 1066 p 1076 1066 p 1079 1066 p 14 1065 p 324 1065 p 323 1065 p 330 1065 p 331 1065 p 933 1065 p 993 1065 p 15 1064 p 327 1064 p 329 1064 p 331 1064 p 932 1064 p 16 1063 p 329 1063 p 328 1063 p 333 1063 p 335 1063 p 901 1063 p 927 1063 p 17 1062 p 335 1062 p 334 1062 p 338 1062 p 339 1062 p 341 1062 p 776 1062 p 777 1062 p 18 1061 p 341 1061 p 340 1061 p 343 1061 p 345 1061 p 650 1061 p 669 1061 p 710 1061 p 19 1060 p 345 1060 p 344 1060 p 347 1060 p 349 1060 p 502 1060 p 552 1060 p 20 1059 p 349 1059 p 348 1059 p 354 1059 p 356 1059 p 404 1059 p 499 1059 p 21 1058 p 356 1058 p 355 1058 p 403 1058 p 22 1057 p 289 1057 p 290 1057 p 358 1057 p 23 1056 p 286 1056 p 288 1056 p 289 1056 p 294 1056 p 357 1056 p 360 1056 p 24 1055 p 291 1055 p 293 1055 p 294 1055 p 298 1055 p 359 1055 p 363 1055 p 25 1054 p 295 1054 p 297 1054 p 298 1054 p 302 1054 p 362 1054 p 366 1054 p 26 1053 p 299 1053 p 301 1053 p 302 1053 p 306 1053 p 365 1053 p 369 1053 p 27 1052 p 303 1052 p 305 1052 p 306 1052 p 310 1052 p 368 1052 p 372 1052 p 28 1051 p 307 1051 p 309 1051 p 310 1051 p 314 1051 p 371 1051 p 375 1051 p 29 1050 p 311 1050 p 313 1050 p 314 1050 p 318 1050 p 374 1050 p 378 1050 p 30 1049 p 315 1049 p 317 1049 p 318 1049 p 322 1049 p 377 1049 p 381 1049 p 31 1048 p 319 1048 p 321 1048 p 322 1048 p 326 1048 p 380 1048 p 384 1048 p 32 1047 p 323 1047 p 325 1047 p 326 1047 p 332 1047 p 383 1047 p 387 1047 p 33 1046 p 328 1046 p 327 1046 p 330 1046 p 332 1046 p 336 1046 p 386 1046 p 390 1046 p 34 1045 p 334 1045 p 333 1045 p 336 1045 p 337 1045 p 389 1045 p 393 1045 p 35 1044 p 338 1044 p 337 1044 p 342 1044 p 392 1044 p 396 1044 p 36 1043 p 340 1043 p 339 1043 p 342 1043 p 346 1043 p 395 1043 p 401 1043 p 37 1042 p 344 1042 p 343 1042 p 346 1042 p 350 1042 p 400 1042 p 38 1041 p 348 1041 p 347 1041 p 350 1041 p 351 1041 p 353 1041 p 399 1041 p 39 1040 p 353 1040 p 352 1040 p 355 1040 p 354 1040 p 40 1039 p 357 1039 p 358 1039 p 361 1039 p 406 1039 p 408 1039 p 41 1038 p 359 1038 p 360 1038 p 361 1038 p 364 1038 p 405 1038 p 410 1038 p 42 1037 p 362 1037 p 363 1037 p 364 1037 p 367 1037 p 409 1037 p 413 1037 p 43 1036 p 365 1036 p 366 1036 p 367 1036 p 370 1036 p 412 1036 p 416 1036 p 44 1035 p 368 1035 p 369 1035 p 370 1035 p 373 1035 p 415 1035 p 419 1035 p 45 1034 p 371 1034 p 372 1034 p 373 1034 p 376 1034 p 418 1034 p 423 1034 p 46 1033 p 374 1033 p 375 1033 p 376 1033 p 379 1033 p 422 1033 p 47 1032 p 377 1032 p 378 1032 p 379 1032 p 382 1032 p 421 1032 p 426 1032 p 428 1032 p 48 1031 p 380 1031 p 381 1031 p 382 1031 p 385 1031 p 427 1031 p 431 1031 p 49 1030 p 383 1030 p 384 1030 p 385 1030 p 388 1030 p 430 1030 p 434 1030 p 50 1029 p 386 1029 p 387 1029 p 388 1029 p 391 1029 p 433 1029 p 51 1028 p 389 1028 p 390 1028 p 391 1028 p 394 1028 p 436 1028 p 440 1028 p 52 1027 p 392 1027 p 393 1027 p 394 1027 p 397 1027 p 438 1027 p 53 1026 p 395 1026 p 396 1026 p 397 1026 p 402 1026 p 437 1026 p 54 1025 p 398 1025 p 399 1025 p 400 1025 p 401 1025 p 402 1025 p 439 1025 p 55 1024 p 407 1024 p 408 1024 p 443 1024 p 445 1024 p 56 1023 p 405 1023 p 406 1023 p 407 1023 p 411 1023 p 442 1023 p 447 1023 p 57 1022 p 409 1022 p 410 1022 p 411 1022 p 414 1022 p 446 1022 p 450 1022 p 58 1021 p 412 1021 p 413 1021 p 414 1021 p 417 1021 p 449 1021 p 453 1021 p 59 1020 p 415 1020 p 416 1020 p 417 1020 p 420 1020 p 452 1020 p 456 1020 p 60 1019 p 418 1019 p 419 1019 p 420 1019 p 424 1019 p 455 1019 p 460 1019 p 61 1018 p 421 1018 p 422 1018 p 423 1018 p 424 1018 p 425 1018 p 459 1018 p 62 1017 p 426 1017 p 425 1017 p 429 1017 p 458 1017 p 463 1017 p 63 1016 p 427 1016 p 428 1016 p 429 1016 p 432 1016 p 462 1016 p 466 1016 p 64 1015 p 430 1015 p 431 1015 p 432 1015 p 435 1015 p 465 1015 p 469 1015 p 65 1014 p 433 1014 p 434 1014 p 435 1014 p 436 1014 p 441 1014 p 468 1014 p 66 1013 p 437 1013 p 438 1013 p 439 1013 p 440 1013 p 441 1013 p 471 1013 p 67 1012 p 444 1012 p 445 1012 p 473 1012 p 475 1012 p 68 1011 p 442 1011 p 443 1011 p 444 1011 p 448 1011 p 472 1011 p 69 1010 p 446 1010 p 447 1010 p 448 1010 p 451 1010 p 476 1010 p 478 1010 p 481 1010 p 70 1009 p 449 1009 p 450 1009 p 451 1009 p 454 1009 p 480 1009 p 71 1008 p 452 1008 p 453 1008 p 454 1008 p 457 1008 p 479 1008 p 484 1008 p 72 1007 p 455 1007 p 456 1007 p 457 1007 p 461 1007 p 483 1007 p 487 1007 p 73 1006 p 458 1006 p 459 1006 p 460 1006 p 461 1006 p 464 1006 p 486 1006 p 490 1006 p 493 1006 p 74 1005 p 462 1005 p 463 1005 p 464 1005 p 467 1005 p 492 1005 p 75 1004 p 465 1004 p 466 1004 p 467 1004 p 470 1004 p 491 1004 p 495 1004 p 76 1003 p 468 1003 p 469 1003 p 470 1003 p 471 1003 p 497 1003 p 77 1002 p 474 1002 p 475 1002 p 504 1002 p 506 1002 p 78 1001 p 472 1001 p 473 1001 p 474 1001 p 476 1001 p 477 1001 p 503 1001 p 79 1000 p 478 1000 p 477 1000 p 482 1000 p 507 1000 p 509 1000 p 80 999 p 479 999 p 480 999 p 481 999 p 482 999 p 485 999 p 508 999 p 512 999 p 81 998 p 483 998 p 484 998 p 485 998 p 488 998 p 511 998 p 515 998 p 517 998 p 82 997 p 486 997 p 487 997 p 488 997 p 489 997 p 516 997 p 520 997 p 83 996 p 490 996 p 489 996 p 494 996 p 519 996 p 524 996 p 84 995 p 491 995 p 492 995 p 493 995 p 494 995 p 496 995 p 523 995 p 85 994 p 495 994 p 496 994 p 497 994 p 522 994 p 526 994 p 86 993 p 505 993 p 506 993 p 529 993 p 87 992 p 503 992 p 504 992 p 505 992 p 507 992 p 510 992 p 528 992 p 531 992 p 88 991 p 508 991 p 509 991 p 510 991 p 513 991 p 530 991 p 534 991 p 89 990 p 511 990 p 512 990 p 513 990 p 514 990 p 533 990 p 537 990 p 539 990 p 90 989 p 515 989 p 514 989 p 518 989 p 538 989 p 542 989 p 91 988 p 516 988 p 517 988 p 518 988 p 521 988 p 541 988 p 546 988 p 92 987 p 519 987 p 520 987 p 521 987 p 525 987 p 545 987 p 93 986 p 522 986 p 523 986 p 524 986 p 525 986 p 527 986 p 544 986 p 549 986 p 94 985 p 526 985 p 527 985 p 548 985 p 95 984 p 528 984 p 529 984 p 532 984 p 554 984 p 556 984 p 96 983 p 530 983 p 531 983 p 532 983 p 535 983 p 553 983 p 558 983 p 97 982 p 533 982 p 534 982 p 535 982 p 536 982 p 557 982 p 561 982 p 98 981 p 537 981 p 536 981 p 540 981 p 560 981 p 565 981 p 99 980 p 538 980 p 539 980 p 540 980 p 543 980 p 564 980 p 100 979 p 541 979 p 542 979 p 543 979 p 547 979 p 563 979 p 568 979 p 101 978 p 544 978 p 545 978 p 546 978 p 547 978 p 550 978 p 567 978 p 571 978 p 102 977 p 548 977 p 549 977 p 550 977 p 570 977 p 573 977 p 103 976 p 555 976 p 556 976 p 576 976 p 104 975 p 553 975 p 554 975 p 555 975 p 559 975 p 575 975 p 578 975 p 105 974 p 557 974 p 558 974 p 559 974 p 562 974 p 577 974 p 581 974 p 106 973 p 560 973 p 561 973 p 562 973 p 566 973 p 580 973 p 584 973 p 107 972 p 563 972 p 564 972 p 565 972 p 566 972 p 569 972 p 583 972 p 587 972 p 108 971 p 567 971 p 568 971 p 569 971 p 572 971 p 586 971 p 590 971 p 592 971 p 109 970 p 570 970 p 571 970 p 572 970 p 574 970 p 591 970 p 595 970 p 110 969 p 573 969 p 574 969 p 594 969 p 597 969 p 111 968 p 575 968 p 576 968 p 579 968 p 605 968 p 607 968 p 112 967 p 577 967 p 578 967 p 579 967 p 582 967 p 604 967 p 609 967 p 113 966 p 580 966 p 581 966 p 582 966 p 585 966 p 608 966 p 612 966 p 114 965 p 583 965 p 584 965 p 585 965 p 588 965 p 611 965 p 615 965 p 115 964 p 586 964 p 587 964 p 588 964 p 589 964 p 614 964 p 619 964 p 116 963 p 590 963 p 589 963 p 593 963 p 618 963 p 117 962 p 591 962 p 592 962 p 593 962 p 596 962 p 617 962 p 622 962 p 118 961 p 594 961 p 595 961 p 596 961 p 598 961 p 600 961 p 621 961 p 624 961 p 119 960 p 597 960 p 598 960 p 599 960 p 120 959 p 606 959 p 607 959 p 631 959 p 121 958 p 604 958 p 605 958 p 606 958 p 610 958 p 630 958 p 633 958 p 122 957 p 608 957 p 609 957 p 610 957 p 613 957 p 632 957 p 636 957 p 638 957 p 123 956 p 611 956 p 612 956 p 613 956 p 616 956 p 637 956 p 641 956 p 124 955 p 614 955 p 615 955 p 616 955 p 620 955 p 640 955 p 645 955 p 125 954 p 617 954 p 618 954 p 619 954 p 620 954 p 623 954 p 644 954 p 126 953 p 621 953 p 622 953 p 623 953 p 625 953 p 628 953 p 643 953 p 647 953 p 127 952 p 624 952 p 625 952 p 626 952 p 627 952 p 128 951 p 627 951 p 628 951 p 629 951 p 649 951 p 129 950 p 630 950 p 631 950 p 634 950 p 652 950 p 654 950 p 130 949 p 632 949 p 633 949 p 634 949 p 635 949 p 651 949 p 656 949 p 131 948 p 636 948 p 635 948 p 639 948 p 655 948 p 660 948 p 132 947 p 637 947 p 638 947 p 639 947 p 642 947 p 659 947 p 133 946 p 640 946 p 641 946 p 642 946 p 646 946 p 658 946 p 663 946 p 134 945 p 643 945 p 644 945 p 645 945 p 646 945 p 648 945 p 662 945 p 665 945 p 135 944 p 647 944 p 648 944 p 649 944 p 667 944 p 136 943 p 653 943 p 654 943 p 671 943 p 137 942 p 651 942 p 652 942 p 653 942 p 657 942 p 670 942 p 673 942 p 138 941 p 655 941 p 656 941 p 657 941 p 661 941 p 672 941 p 676 941 p 139 940 p 658 940 p 659 940 p 660 940 p 661 940 p 664 940 p 675 940 p 679 940 p 140 939 p 662 939 p 663 939 p 664 939 p 666 939 p 678 939 p 681 939 p 141 938 p 665 938 p 666 938 p 667 938 p 683 938 p 142 937 p 670 937 p 671 937 p 674 937 p 685 937 p 687 937 p 143 936 p 672 936 p 673 936 p 674 936 p 677 936 p 684 936 p 144 935 p 675 935 p 676 935 p 677 935 p 680 935 p 688 935 p 690 935 p 693 935 p 145 934 p 678 934 p 679 934 p 680 934 p 682 934 p 692 934 p 146 933 p 681 933 p 682 933 p 683 933 p 691 933 p 695 933 p 147 932 p 686 932 p 687 932 p 698 932 p 148 931 p 684 931 p 685 931 p 686 931 p 688 931 p 689 931 p 697 931 p 700 931 p 149 930 p 690 930 p 689 930 p 694 930 p 699 930 p 703 930 p 150 929 p 691 929 p 692 929 p 693 929 p 694 929 p 696 929 p 702 929 p 705 929 p 151 928 p 695 928 p 696 928 p 707 928 p 152 927 p 697 927 p 698 927 p 701 927 p 714 927 p 153 926 p 699 926 p 700 926 p 701 926 p 704 926 p 713 926 p 716 926 p 154 925 p 702 925 p 703 925 p 704 925 p 706 925 p 715 925 p 719 925 p 721 925 p 155 924 p 705 924 p 706 924 p 707 924 p 720 924 p 723 924 p 156 923 p 713 923 p 714 923 p 717 923 p 726 923 p 157 922 p 715 922 p 716 922 p 717 922 p 718 922 p 725 922 p 728 922 p 730 922 p 158 921 p 719 921 p 718 921 p 722 921 p 729 921 p 733 921 p 159 920 p 720 920 p 721 920 p 722 920 p 724 920 p 732 920 p 736 920 p 160 919 p 723 919 p 724 919 p 735 919 p 161 918 p 725 918 p 726 918 p 727 918 p 739 918 p 162 917 p 728 917 p 727 917 p 731 917 p 738 917 p 741 917 p 163 916 p 729 916 p 730 916 p 731 916 p 734 916 p 740 916 p 744 916 p 164 915 p 732 915 p 733 915 p 734 915 p 737 915 p 743 915 p 747 915 p 749 915 p 165 914 p 735 914 p 736 914 p 737 914 p 748 914 p 751 914 p 166 913 p 738 913 p 739 913 p 742 913 p 758 913 p 760 913 p 167 912 p 740 912 p 741 912 p 742 912 p 745 912 p 759 912 p 763 912 p 168 911 p 743 911 p 744 911 p 745 911 p 746 911 p 762 911 p 766 911 p 169 910 p 747 910 p 746 910 p 750 910 p 765 910 p 769 910 p 170 909 p 748 909 p 749 909 p 750 909 p 752 909 p 768 909 p 772 909 p 171 908 p 751 908 p 752 908 p 771 908 p 774 908 p 172 907 p 761 907 p 760 907 p 778 907 p 173 906 p 759 906 p 758 906 p 761 906 p 764 906 p 779 906 p 780 906 p 174 905 p 762 905 p 763 905 p 764 905 p 767 905 p 781 905 p 783 905 p 175 904 p 765 904 p 766 904 p 767 904 p 770 904 p 784 904 p 787 904 p 176 903 p 768 903 p 769 903 p 770 903 p 773 903 p 786 903 p 790 903 p 177 902 p 771 902 p 772 902 p 773 902 p 775 902 p 789 902 p 793 902 p 795 902 p 178 901 p 774 901 p 775 901 p 794 901 p 797 901 p 179 900 p 779 900 p 778 900 p 782 900 p 803 900 p 180 899 p 781 899 p 780 899 p 782 899 p 785 899 p 804 899 p 805 899 p 181 898 p 784 898 p 783 898 p 785 898 p 788 898 p 806 898 p 808 898 p 182 897 p 786 897 p 787 897 p 788 897 p 791 897 p 809 897 p 811 897 p 183 896 p 789 896 p 790 896 p 791 896 p 792 896 p 812 896 p 814 896 p 184 895 p 793 895 p 792 895 p 796 895 p 815 895 p 817 895 p 185 894 p 794 894 p 795 894 p 796 894 p 798 894 p 800 894 p 818 894 p 820 894 p 186 893 p 799 893 p 800 893 p 802 893 p 821 893 p 823 893 p 187 892 p 797 892 p 798 892 p 799 892 p 801 892 p 188 891 p 804 891 p 803 891 p 807 891 p 831 891 p 833 891 p 189 890 p 806 890 p 805 890 p 807 890 p 810 890 p 832 890 p 835 890 p 190 889 p 809 889 p 808 889 p 810 889 p 813 889 p 836 889 p 838 889 p 191 888 p 812 888 p 811 888 p 813 888 p 816 888 p 839 888 p 841 888 p 192 887 p 815 887 p 814 887 p 816 887 p 819 887 p 842 887 p 844 887 p 193 886 p 818 886 p 817 886 p 819 886 p 822 886 p 845 886 p 849 886 p 194 885 p 821 885 p 820 885 p 822 885 p 824 885 p 847 885 p 195 884 p 823 884 p 824 884 p 825 884 p 826 884 p 848 884 p 852 884 p 196 883 p 827 883 p 826 883 p 851 883 p 197 882 p 834 882 p 833 882 p 854 882 p 198 881 p 832 881 p 831 881 p 834 881 p 837 881 p 855 881 p 856 881 p 199 880 p 836 880 p 835 880 p 837 880 p 840 880 p 857 880 p 859 880 p 200 879 p 839 879 p 838 879 p 840 879 p 843 879 p 860 879 p 862 879 p 201 878 p 842 878 p 841 878 p 843 878 p 846 878 p 863 878 p 865 878 p 202 877 p 845 877 p 844 877 p 846 877 p 850 877 p 866 877 p 869 877 p 870 877 p 203 876 p 848 876 p 847 876 p 849 876 p 850 876 p 853 876 p 871 876 p 204 875 p 851 875 p 852 875 p 853 875 p 873 875 p 875 875 p 205 874 p 855 874 p 854 874 p 858 874 p 876 874 p 206 873 p 857 873 p 856 873 p 858 873 p 861 873 p 877 873 p 878 873 p 207 872 p 860 872 p 859 872 p 861 872 p 864 872 p 879 872 p 881 872 p 208 871 p 863 871 p 862 871 p 864 871 p 867 871 p 882 871 p 884 871 p 209 870 p 866 870 p 865 870 p 867 870 p 868 870 p 885 870 p 887 870 p 210 869 p 869 869 p 868 869 p 872 869 p 888 869 p 890 869 p 211 868 p 871 868 p 870 868 p 872 868 p 873 868 p 874 868 p 891 868 p 894 868 p 895 868 p 212 867 p 875 867 p 874 867 p 896 867 p 899 867 p 213 866 p 877 866 p 876 866 p 880 866 p 902 866 p 904 866 p 214 865 p 879 865 p 878 865 p 880 865 p 883 865 p 903 865 p 906 865 p 215 864 p 882 864 p 881 864 p 883 864 p 886 864 p 907 864 p 909 864 p 216 863 p 885 863 p 884 863 p 886 863 p 889 863 p 910 863 p 912 863 p 217 862 p 888 862 p 887 862 p 889 862 p 892 862 p 913 862 p 915 862 p 218 861 p 891 861 p 890 861 p 892 861 p 893 861 p 916 861 p 918 861 p 219 860 p 894 860 p 893 860 p 897 860 p 919 860 p 921 860 p 220 859 p 896 859 p 895 859 p 897 859 p 898 859 p 922 859 p 924 859 p 221 858 p 899 858 p 898 858 p 925 858 p 222 857 p 905 857 p 904 857 p 934 857 p 936 857 p 223 856 p 903 856 p 902 856 p 905 856 p 908 856 p 935 856 p 224 855 p 907 855 p 906 855 p 908 855 p 911 855 p 938 855 p 939 855 p 225 854 p 910 854 p 909 854 p 911 854 p 914 854 p 940 854 p 942 854 p 226 853 p 913 853 p 912 853 p 914 853 p 917 853 p 943 853 p 945 853 p 227 852 p 916 852 p 915 852 p 917 852 p 920 852 p 946 852 p 948 852 p 228 851 p 919 851 p 918 851 p 920 851 p 923 851 p 949 851 p 951 851 p 229 850 p 922 850 p 921 850 p 923 850 p 926 850 p 952 850 p 955 850 p 956 850 p 230 849 p 925 849 p 924 849 p 926 849 p 957 849 p 960 849 p 231 848 p 937 848 p 936 848 p 961 848 p 232 847 p 935 847 p 934 847 p 937 847 p 938 847 p 941 847 p 962 847 p 963 847 p 233 846 p 940 846 p 939 846 p 941 846 p 944 846 p 964 846 p 967 846 p 970 846 p 234 845 p 943 845 p 942 845 p 944 845 p 947 845 p 968 845 p 235 844 p 946 844 p 945 844 p 947 844 p 950 844 p 969 844 p 972 844 p 236 843 p 949 843 p 948 843 p 950 843 p 953 843 p 973 843 p 975 843 p 237 842 p 952 842 p 951 842 p 953 842 p 954 842 p 976 842 p 978 842 p 238 841 p 955 841 p 954 841 p 958 841 p 979 841 p 981 841 p 239 840 p 957 840 p 956 840 p 958 840 p 959 840 p 982 840 p 985 840 p 987 840 p 240 839 p 960 839 p 959 839 p 986 839 p 990 839 p 992 839 p 241 838 p 962 838 p 961 838 p 965 838 p 997 838 p 242 837 p 964 837 p 963 837 p 965 837 p 966 837 p 998 837 p 999 837 p 243 836 p 967 836 p 966 836 p 971 836 p 1000 836 p 1002 836 p 244 835 p 969 835 p 968 835 p 970 835 p 971 835 p 974 835 p 1003 835 p 1006 835 p 1007 835 p 245 834 p 973 834 p 972 834 p 974 834 p 977 834 p 1008 834 p 1010 834 p 246 833 p 976 833 p 975 833 p 977 833 p 980 833 p 1011 833 p 1013 833 p 247 832 p 979 832 p 978 832 p 980 832 p 983 832 p 1014 832 p 1016 832 p 248 831 p 982 831 p 981 831 p 983 831 p 984 831 p 1017 831 p 1019 831 p 249 830 p 985 830 p 984 830 p 988 830 p 1020 830 p 1022 830 p 250 829 p 986 829 p 987 829 p 988 829 p 989 829 p 1023 829 p 1026 829 p 251 828 p 990 828 p 989 828 p 991 828 p 1025 828 p 1029 828 p 252 827 p 992 827 p 991 827 p 1028 827 p 1030 827 p 1031 827 p 1032 827 p 253 826 p 998 826 p 997 826 p 1001 826 p 1033 826 p 254 825 p 1000 825 p 999 825 p 1001 825 p 1004 825 p 1034 825 p 1035 825 p 255 824 p 1003 824 p 1002 824 p 1004 824 p 1005 824 p 1036 824 p 1041 824 p 256 823 p 1006 823 p 1005 823 p 1009 823 p 1042 823 p 1049 823 p 1055 823 p 257 822 p 1008 822 p 1007 822 p 1009 822 p 1012 822 p 1050 822 p 258 821 p 1011 821 p 1010 821 p 1012 821 p 1015 821 p 1051 821 p 1056 821 p 259 820 p 1014 820 p 1013 820 p 1015 820 p 1018 820 p 1057 820 p 1064 820 p 1068 820 p 260 819 p 1017 819 p 1016 819 p 1018 819 p 1021 819 p 1069 819 p 1073 819 p 261 818 p 1020 818 p 1019 818 p 1021 818 p 1024 818 p 1074 818 p 1078 818 p 262 817 p 996 817 p 995 817 p 1023 817 p 1022 817 p 1024 817 p 1027 817 p 263 816 p 930 816 p 929 816 p 931 816 p 1025 816 p 1026 816 p 1027 816 p 264 815 p 830 815 p 829 815 p 900 815 p 931 815 p 1028 815 p 1029 815 p 265 814 p 756 814 p 755 814 p 757 814 p 900 814 p 1030 814 p 266 813 p 712 813 p 711 813 p 753 813 p 757 813 p 1031 813 p 267 812 p 601 812 p 602 812 p 603 812 p 708 812 p 753 812 p 1032 812 p 268 811 p 1034 811 p 1033 811 p 1039 811 p 1040 811 p 269 810 p 1036 810 p 1035 810 p 1037 810 p 1038 810 p 1040 810 p 1045 810 p 270 809 p 1042 809 p 1041 809 p 1043 809 p 1044 809 p 1045 809 p 1048 809 p 271 808 p 1046 808 p 1047 808 p 1048 808 p 1049 808 p 1054 808 p 272 807 p 1051 807 p 1050 807 p 1052 807 p 1053 807 p 1054 807 p 1055 807 p 1060 807 p 273 806 p 1057 806 p 1056 806 p 1058 806 p 1059 806 p 1060 806 p 1063 806 p 274 805 p 1061 805 p 1062 805 p 1063 805 p 1064 805 p 1067 805 p 275 804 p 1065 804 p 1066 804 p 1067 804 p 1069 804 p 1068 804 p 1072 804 p 276 803 p 1070 803 p 1071 803 p 1072 803 p 1074 803 p 1073 803 p 1077 803 p 277 802 p 994 802 p 996 802 p 1075 802 p 1076 802 p 1077 802 p 1078 802 p 278 801 p 928 801 p 930 801 p 993 801 p 995 801 p 994 801 p 1079 801 p 279 800 p 828 800 p 830 800 p 927 800 p 929 800 p 928 800 p 933 800 p 932 800 p 280 799 p 754 799 p 756 799 p 777 799 p 829 799 p 828 799 p 901 799 p 281 798 p 710 798 p 709 798 p 712 798 p 755 798 p 754 798 p 776 798 p 282 797 p 669 797 p 668 797 p 708 797 p 709 797 p 711 797 p 283 796 p 552 796 p 551 796 p 601 796 p 650 796 p 668 796 p 284 795 p 499 795 p 498 795 p 501 795 p 502 795 p 551 795 p 602 795 p 285 794 p 404 794 p 403 794 p 498 794 p 500 794 p 286 793 p 287 793 p 288 793 p 294 793 p 293 793 p 23 793 p 5 793 p 286 792 p 287 792 p 288 792 p 1037 792 p 1038 792 p 5 792 p 4 792 p 286 791 p 287 791 p 288 791 p 289 791 p 290 791 p 23 791 p 4 791 p 289 790 p 288 790 p 290 790 p 357 790 p 358 790 p 22 790 p 23 790 p 289 789 p 288 789 p 290 789 p 22 789 p 4 789 p 291 788 p 292 788 p 293 788 p 298 788 p 297 788 p 24 788 p 6 788 p 291 787 p 292 787 p 293 787 p 1043 787 p 1044 787 p 6 787 p 5 787 p 291 786 p 292 786 p 293 786 p 294 786 p 286 786 p 24 786 p 5 786 p 294 785 p 293 785 p 286 785 p 359 785 p 360 785 p 23 785 p 24 785 p 295 784 p 296 784 p 297 784 p 302 784 p 301 784 p 25 784 p 7 784 p 295 783 p 296 783 p 297 783 p 1046 783 p 1047 783 p 7 783 p 6 783 p 295 782 p 296 782 p 297 782 p 298 782 p 291 782 p 25 782 p 6 782 p 298 781 p 297 781 p 291 781 p 362 781 p 363 781 p 24 781 p 25 781 p 299 780 p 300 780 p 301 780 p 306 780 p 305 780 p 26 780 p 8 780 p 299 779 p 300 779 p 301 779 p 1052 779 p 1053 779 p 8 779 p 7 779 p 299 778 p 300 778 p 301 778 p 302 778 p 295 778 p 26 778 p 7 778 p 302 777 p 301 777 p 295 777 p 365 777 p 366 777 p 25 777 p 26 777 p 303 776 p 304 776 p 305 776 p 310 776 p 309 776 p 27 776 p 9 776 p 303 775 p 304 775 p 305 775 p 1058 775 p 1059 775 p 9 775 p 8 775 p 303 774 p 304 774 p 305 774 p 306 774 p 299 774 p 27 774 p 8 774 p 306 773 p 305 773 p 299 773 p 368 773 p 369 773 p 26 773 p 27 773 p 307 772 p 308 772 p 309 772 p 314 772 p 313 772 p 28 772 p 10 772 p 307 771 p 308 771 p 309 771 p 1061 771 p 1062 771 p 10 771 p 9 771 p 307 770 p 308 770 p 309 770 p 310 770 p 303 770 p 28 770 p 9 770 p 310 769 p 309 769 p 303 769 p 371 769 p 372 769 p 27 769 p 28 769 p 311 768 p 312 768 p 313 768 p 318 768 p 317 768 p 29 768 p 11 768 p 311 767 p 312 767 p 313 767 p 1065 767 p 1066 767 p 11 767 p 10 767 p 311 766 p 312 766 p 313 766 p 314 766 p 307 766 p 29 766 p 10 766 p 314 765 p 313 765 p 307 765 p 374 765 p 375 765 p 28 765 p 29 765 p 315 764 p 316 764 p 317 764 p 322 764 p 321 764 p 30 764 p 12 764 p 315 763 p 316 763 p 317 763 p 1070 763 p 1071 763 p 12 763 p 11 763 p 315 762 p 316 762 p 317 762 p 318 762 p 311 762 p 30 762 p 11 762 p 318 761 p 317 761 p 311 761 p 377 761 p 378 761 p 29 761 p 30 761 p 319 760 p 320 760 p 321 760 p 326 760 p 325 760 p 31 760 p 13 760 p 319 759 p 320 759 p 321 759 p 1075 759 p 1076 759 p 13 759 p 12 759 p 319 758 p 320 758 p 321 758 p 322 758 p 315 758 p 31 758 p 12 758 p 322 757 p 321 757 p 315 757 p 380 757 p 381 757 p 30 757 p 31 757 p 323 756 p 324 756 p 325 756 p 332 756 p 330 756 p 32 756 p 14 756 p 323 755 p 324 755 p 325 755 p 1079 755 p 993 755 p 14 755 p 13 755 p 323 754 p 324 754 p 325 754 p 326 754 p 319 754 p 32 754 p 13 754 p 326 753 p 325 753 p 319 753 p 383 753 p 384 753 p 31 753 p 32 753 p 327 752 p 328 752 p 329 752 p 330 752 p 331 752 p 15 752 p 33 752 p 327 751 p 328 751 p 329 751 p 336 751 p 333 751 p 33 751 p 16 751 p 327 750 p 328 750 p 329 750 p 927 750 p 932 750 p 15 750 p 16 750 p 330 749 p 327 749 p 331 749 p 323 749 p 332 749 p 14 749 p 33 749 p 330 748 p 327 748 p 331 748 p 932 748 p 933 748 p 14 748 p 15 748 p 323 747 p 332 747 p 330 747 p 386 747 p 387 747 p 32 747 p 33 747 p 333 746 p 334 746 p 335 746 p 328 746 p 336 746 p 16 746 p 34 746 p 333 745 p 334 745 p 335 745 p 337 745 p 338 745 p 34 745 p 17 745 p 333 744 p 334 744 p 335 744 p 777 744 p 901 744 p 16 744 p 17 744 p 328 743 p 336 743 p 333 743 p 389 743 p 390 743 p 33 743 p 34 743 p 334 742 p 337 742 p 338 742 p 392 742 p 393 742 p 34 742 p 35 742 p 334 741 p 337 741 p 338 741 p 342 741 p 339 741 p 17 741 p 35 741 p 339 740 p 340 740 p 341 740 p 338 740 p 342 740 p 17 740 p 36 740 p 339 739 p 340 739 p 341 739 p 346 739 p 343 739 p 36 739 p 18 739 p 339 738 p 340 738 p 341 738 p 710 738 p 776 738 p 17 738 p 18 738 p 338 737 p 342 737 p 339 737 p 395 737 p 396 737 p 35 737 p 36 737 p 343 736 p 344 736 p 345 736 p 340 736 p 346 736 p 18 736 p 37 736 p 343 735 p 344 735 p 345 735 p 350 735 p 347 735 p 37 735 p 19 735 p 343 734 p 344 734 p 345 734 p 552 734 p 650 734 p 18 734 p 19 734 p 340 733 p 346 733 p 343 733 p 401 733 p 400 733 p 36 733 p 37 733 p 347 732 p 348 732 p 349 732 p 344 732 p 350 732 p 19 732 p 38 732 p 347 731 p 348 731 p 349 731 p 353 731 p 354 731 p 38 731 p 20 731 p 347 730 p 348 730 p 349 730 p 499 730 p 502 730 p 19 730 p 20 730 p 344 729 p 350 729 p 347 729 p 400 729 p 399 729 p 37 729 p 38 729 p 351 728 p 352 728 p 353 728 p 398 728 p 399 728 p 38 728 p 2 728 p 351 727 p 352 727 p 353 727 p 2 727 p 39 727 p 351 726 p 352 726 p 353 726 p 348 726 p 354 726 p 38 726 p 39 726 p 354 725 p 355 725 p 356 725 p 348 725 p 353 725 p 20 725 p 39 725 p 354 724 p 355 724 p 356 724 p 39 724 p 21 724 p 354 723 p 355 723 p 356 723 p 403 723 p 404 723 p 20 723 p 21 723 p 357 722 p 289 722 p 358 722 p 361 722 p 360 722 p 40 722 p 23 722 p 357 721 p 289 721 p 358 721 p 40 721 p 22 721 p 359 720 p 294 720 p 360 720 p 364 720 p 363 720 p 41 720 p 24 720 p 359 719 p 294 719 p 360 719 p 361 719 p 357 719 p 41 719 p 23 719 p 361 718 p 360 718 p 357 718 p 405 718 p 406 718 p 40 718 p 41 718 p 362 717 p 298 717 p 363 717 p 367 717 p 366 717 p 42 717 p 25 717 p 362 716 p 298 716 p 363 716 p 364 716 p 359 716 p 42 716 p 24 716 p 364 715 p 363 715 p 359 715 p 409 715 p 410 715 p 41 715 p 42 715 p 365 714 p 302 714 p 366 714 p 370 714 p 369 714 p 43 714 p 26 714 p 365 713 p 302 713 p 366 713 p 367 713 p 362 713 p 43 713 p 25 713 p 367 712 p 366 712 p 362 712 p 412 712 p 413 712 p 42 712 p 43 712 p 368 711 p 306 711 p 369 711 p 373 711 p 372 711 p 44 711 p 27 711 p 368 710 p 306 710 p 369 710 p 370 710 p 365 710 p 44 710 p 26 710 p 370 709 p 369 709 p 365 709 p 415 709 p 416 709 p 43 709 p 44 709 p 371 708 p 310 708 p 372 708 p 376 708 p 375 708 p 45 708 p 28 708 p 371 707 p 310 707 p 372 707 p 373 707 p 368 707 p 45 707 p 27 707 p 373 706 p 372 706 p 368 706 p 418 706 p 419 706 p 44 706 p 45 706 p 374 705 p 314 705 p 375 705 p 379 705 p 378 705 p 46 705 p 29 705 p 374 704 p 314 704 p 375 704 p 376 704 p 371 704 p 46 704 p 28 704 p 376 703 p 375 703 p 371 703 p 422 703 p 423 703 p 45 703 p 46 703 p 377 702 p 318 702 p 378 702 p 382 702 p 381 702 p 47 702 p 30 702 p 377 701 p 318 701 p 378 701 p 379 701 p 374 701 p 47 701 p 29 701 p 379 700 p 378 700 p 374 700 p 421 700 p 422 700 p 46 700 p 47 700 p 380 699 p 322 699 p 381 699 p 385 699 p 384 699 p 48 699 p 31 699 p 380 698 p 322 698 p 381 698 p 382 698 p 377 698 p 48 698 p 30 698 p 382 697 p 381 697 p 377 697 p 427 697 p 428 697 p 47 697 p 48 697 p 383 696 p 326 696 p 384 696 p 388 696 p 387 696 p 49 696 p 32 696 p 383 695 p 326 695 p 384 695 p 385 695 p 380 695 p 49 695 p 31 695 p 385 694 p 384 694 p 380 694 p 430 694 p 431 694 p 48 694 p 49 694 p 386 693 p 332 693 p 387 693 p 391 693 p 390 693 p 50 693 p 33 693 p 386 692 p 332 692 p 387 692 p 388 692 p 383 692 p 50 692 p 32 692 p 388 691 p 387 691 p 383 691 p 433 691 p 434 691 p 49 691 p 50 691 p 389 690 p 336 690 p 390 690 p 394 690 p 393 690 p 51 690 p 34 690 p 389 689 p 336 689 p 390 689 p 391 689 p 386 689 p 51 689 p 33 689 p 391 688 p 390 688 p 386 688 p 436 688 p 433 688 p 50 688 p 51 688 p 392 687 p 337 687 p 393 687 p 397 687 p 396 687 p 52 687 p 35 687 p 392 686 p 337 686 p 393 686 p 394 686 p 389 686 p 52 686 p 34 686 p 394 685 p 393 685 p 389 685 p 438 685 p 440 685 p 51 685 p 52 685 p 395 684 p 342 684 p 396 684 p 402 684 p 401 684 p 53 684 p 36 684 p 395 683 p 342 683 p 396 683 p 397 683 p 392 683 p 53 683 p 35 683 p 397 682 p 396 682 p 392 682 p 437 682 p 438 682 p 52 682 p 53 682 p 398 681 p 351 681 p 399 681 p 54 681 p 2 681 p 398 680 p 351 680 p 399 680 p 400 680 p 350 680 p 54 680 p 38 680 p 400 679 p 399 679 p 350 679 p 401 679 p 346 679 p 37 679 p 54 679 p 401 678 p 400 678 p 346 678 p 395 678 p 402 678 p 36 678 p 54 678 p 395 677 p 402 677 p 401 677 p 437 677 p 439 677 p 53 677 p 54 677 p 356 676 p 403 676 p 404 676 p 21 676 p 285 676 p 356 675 p 403 675 p 404 675 p 498 675 p 499 675 p 20 675 p 285 675 p 405 674 p 361 674 p 406 674 p 411 674 p 410 674 p 56 674 p 41 674 p 405 673 p 361 673 p 406 673 p 407 673 p 408 673 p 56 673 p 40 673 p 407 672 p 406 672 p 408 672 p 442 672 p 443 672 p 55 672 p 56 672 p 407 671 p 406 671 p 408 671 p 55 671 p 40 671 p 409 670 p 364 670 p 410 670 p 414 670 p 413 670 p 57 670 p 42 670 p 409 669 p 364 669 p 410 669 p 411 669 p 405 669 p 57 669 p 41 669 p 411 668 p 410 668 p 405 668 p 446 668 p 447 668 p 56 668 p 57 668 p 412 667 p 367 667 p 413 667 p 417 667 p 416 667 p 58 667 p 43 667 p 412 666 p 367 666 p 413 666 p 414 666 p 409 666 p 58 666 p 42 666 p 414 665 p 413 665 p 409 665 p 449 665 p 450 665 p 57 665 p 58 665 p 415 664 p 370 664 p 416 664 p 420 664 p 419 664 p 59 664 p 44 664 p 415 663 p 370 663 p 416 663 p 417 663 p 412 663 p 59 663 p 43 663 p 417 662 p 416 662 p 412 662 p 452 662 p 453 662 p 58 662 p 59 662 p 418 661 p 373 661 p 419 661 p 424 661 p 423 661 p 60 661 p 45 661 p 418 660 p 373 660 p 419 660 p 420 660 p 415 660 p 60 660 p 44 660 p 420 659 p 419 659 p 415 659 p 455 659 p 456 659 p 59 659 p 60 659 p 421 658 p 379 658 p 422 658 p 425 658 p 426 658 p 61 658 p 47 658 p 421 657 p 379 657 p 422 657 p 376 657 p 423 657 p 61 657 p 46 657 p 422 656 p 376 656 p 423 656 p 424 656 p 418 656 p 61 656 p 45 656 p 424 655 p 423 655 p 418 655 p 459 655 p 460 655 p 60 655 p 61 655 p 425 654 p 426 654 p 421 654 p 458 654 p 459 654 p 61 654 p 62 654 p 425 653 p 426 653 p 421 653 p 429 653 p 428 653 p 62 653 p 47 653 p 427 652 p 382 652 p 428 652 p 432 652 p 431 652 p 63 652 p 48 652 p 427 651 p 382 651 p 428 651 p 429 651 p 426 651 p 63 651 p 47 651 p 429 650 p 428 650 p 426 650 p 462 650 p 463 650 p 62 650 p 63 650 p 430 649 p 385 649 p 431 649 p 435 649 p 434 649 p 64 649 p 49 649 p 430 648 p 385 648 p 431 648 p 432 648 p 427 648 p 64 648 p 48 648 p 432 647 p 431 647 p 427 647 p 465 647 p 466 647 p 63 647 p 64 647 p 433 646 p 388 646 p 434 646 p 436 646 p 391 646 p 65 646 p 50 646 p 433 645 p 388 645 p 434 645 p 435 645 p 430 645 p 65 645 p 49 645 p 435 644 p 434 644 p 430 644 p 468 644 p 469 644 p 64 644 p 65 644 p 436 643 p 391 643 p 433 643 p 441 643 p 440 643 p 65 643 p 51 643 p 437 642 p 397 642 p 438 642 p 402 642 p 439 642 p 66 642 p 53 642 p 437 641 p 397 641 p 438 641 p 394 641 p 440 641 p 66 641 p 52 641 p 402 640 p 437 640 p 439 640 p 54 640 p 66 640 p 438 639 p 394 639 p 440 639 p 441 639 p 436 639 p 66 639 p 51 639 p 441 638 p 440 638 p 436 638 p 468 638 p 471 638 p 65 638 p 66 638 p 442 637 p 407 637 p 443 637 p 448 637 p 447 637 p 68 637 p 56 637 p 442 636 p 407 636 p 443 636 p 444 636 p 445 636 p 68 636 p 55 636 p 444 635 p 443 635 p 445 635 p 472 635 p 473 635 p 67 635 p 68 635 p 444 634 p 443 634 p 445 634 p 67 634 p 55 634 p 446 633 p 411 633 p 447 633 p 451 633 p 450 633 p 69 633 p 57 633 p 446 632 p 411 632 p 447 632 p 448 632 p 442 632 p 69 632 p 56 632 p 448 631 p 447 631 p 442 631 p 476 631 p 472 631 p 68 631 p 69 631 p 449 630 p 414 630 p 450 630 p 454 630 p 453 630 p 70 630 p 58 630 p 449 629 p 414 629 p 450 629 p 451 629 p 446 629 p 70 629 p 57 629 p 451 628 p 450 628 p 446 628 p 480 628 p 481 628 p 69 628 p 70 628 p 452 627 p 417 627 p 453 627 p 457 627 p 456 627 p 71 627 p 59 627 p 452 626 p 417 626 p 453 626 p 454 626 p 449 626 p 71 626 p 58 626 p 454 625 p 453 625 p 449 625 p 479 625 p 480 625 p 70 625 p 71 625 p 455 624 p 420 624 p 456 624 p 461 624 p 460 624 p 72 624 p 60 624 p 455 623 p 420 623 p 456 623 p 457 623 p 452 623 p 72 623 p 59 623 p 457 622 p 456 622 p 452 622 p 483 622 p 484 622 p 71 622 p 72 622 p 458 621 p 425 621 p 459 621 p 464 621 p 463 621 p 73 621 p 62 621 p 458 620 p 425 620 p 459 620 p 424 620 p 460 620 p 73 620 p 61 620 p 459 619 p 424 619 p 460 619 p 461 619 p 455 619 p 73 619 p 60 619 p 461 618 p 460 618 p 455 618 p 486 618 p 487 618 p 72 618 p 73 618 p 462 617 p 429 617 p 463 617 p 467 617 p 466 617 p 74 617 p 63 617 p 462 616 p 429 616 p 463 616 p 464 616 p 458 616 p 74 616 p 62 616 p 464 615 p 463 615 p 458 615 p 492 615 p 493 615 p 73 615 p 74 615 p 465 614 p 432 614 p 466 614 p 470 614 p 469 614 p 75 614 p 64 614 p 465 613 p 432 613 p 466 613 p 467 613 p 462 613 p 75 613 p 63 613 p 467 612 p 466 612 p 462 612 p 491 612 p 492 612 p 74 612 p 75 612 p 468 611 p 435 611 p 469 611 p 441 611 p 471 611 p 76 611 p 65 611 p 468 610 p 435 610 p 469 610 p 470 610 p 465 610 p 76 610 p 64 610 p 470 609 p 469 609 p 465 609 p 495 609 p 497 609 p 75 609 p 76 609 p 441 608 p 468 608 p 471 608 p 66 608 p 76 608 p 472 607 p 444 607 p 473 607 p 476 607 p 448 607 p 78 607 p 68 607 p 472 606 p 444 606 p 473 606 p 474 606 p 475 606 p 78 606 p 67 606 p 474 605 p 473 605 p 475 605 p 503 605 p 504 605 p 77 605 p 78 605 p 474 604 p 473 604 p 475 604 p 77 604 p 67 604 p 476 603 p 448 603 p 472 603 p 477 603 p 478 603 p 78 603 p 69 603 p 477 602 p 478 602 p 476 602 p 507 602 p 503 602 p 78 602 p 79 602 p 477 601 p 478 601 p 476 601 p 482 601 p 481 601 p 79 601 p 69 601 p 479 600 p 454 600 p 480 600 p 485 600 p 484 600 p 80 600 p 71 600 p 479 599 p 454 599 p 480 599 p 451 599 p 481 599 p 80 599 p 70 599 p 480 598 p 451 598 p 481 598 p 482 598 p 478 598 p 80 598 p 69 598 p 482 597 p 481 597 p 478 597 p 508 597 p 509 597 p 79 597 p 80 597 p 483 596 p 457 596 p 484 596 p 488 596 p 487 596 p 81 596 p 72 596 p 483 595 p 457 595 p 484 595 p 485 595 p 479 595 p 81 595 p 71 595 p 485 594 p 484 594 p 479 594 p 511 594 p 512 594 p 80 594 p 81 594 p 486 593 p 461 593 p 487 593 p 489 593 p 490 593 p 82 593 p 73 593 p 486 592 p 461 592 p 487 592 p 488 592 p 483 592 p 82 592 p 72 592 p 488 591 p 487 591 p 483 591 p 516 591 p 517 591 p 81 591 p 82 591 p 489 590 p 490 590 p 486 590 p 519 590 p 520 590 p 82 590 p 83 590 p 489 589 p 490 589 p 486 589 p 494 589 p 493 589 p 83 589 p 73 589 p 491 588 p 467 588 p 492 588 p 495 588 p 496 588 p 84 588 p 75 588 p 491 587 p 467 587 p 492 587 p 464 587 p 493 587 p 84 587 p 74 587 p 492 586 p 464 586 p 493 586 p 494 586 p 490 586 p 84 586 p 73 586 p 494 585 p 493 585 p 490 585 p 523 585 p 524 585 p 83 585 p 84 585 p 495 584 p 491 584 p 496 584 p 470 584 p 497 584 p 85 584 p 75 584 p 495 583 p 491 583 p 496 583 p 522 583 p 523 583 p 85 583 p 84 583 p 470 582 p 495 582 p 497 582 p 76 582 p 85 582 p 404 581 p 498 581 p 499 581 p 500 581 p 501 581 p 285 581 p 284 581 p 404 580 p 498 580 p 499 580 p 349 580 p 502 580 p 20 580 p 284 580 p 498 579 p 500 579 p 501 579 p 285 579 p 1 579 p 498 578 p 500 578 p 501 578 p 602 578 p 603 578 p 284 578 p 1 578 p 349 577 p 499 577 p 502 577 p 551 577 p 552 577 p 19 577 p 284 577 p 503 576 p 474 576 p 504 576 p 507 576 p 477 576 p 87 576 p 78 576 p 503 575 p 474 575 p 504 575 p 505 575 p 506 575 p 87 575 p 77 575 p 505 574 p 504 574 p 506 574 p 528 574 p 529 574 p 86 574 p 87 574 p 505 573 p 504 573 p 506 573 p 86 573 p 77 573 p 507 572 p 477 572 p 503 572 p 510 572 p 509 572 p 87 572 p 79 572 p 508 571 p 482 571 p 509 571 p 513 571 p 512 571 p 88 571 p 80 571 p 508 570 p 482 570 p 509 570 p 510 570 p 507 570 p 88 570 p 79 570 p 510 569 p 509 569 p 507 569 p 530 569 p 531 569 p 87 569 p 88 569 p 511 568 p 485 568 p 512 568 p 514 568 p 515 568 p 89 568 p 81 568 p 511 567 p 485 567 p 512 567 p 513 567 p 508 567 p 89 567 p 80 567 p 513 566 p 512 566 p 508 566 p 533 566 p 534 566 p 88 566 p 89 566 p 514 565 p 515 565 p 511 565 p 538 565 p 539 565 p 89 565 p 90 565 p 514 564 p 515 564 p 511 564 p 518 564 p 517 564 p 90 564 p 81 564 p 516 563 p 488 563 p 517 563 p 521 563 p 520 563 p 91 563 p 82 563 p 516 562 p 488 562 p 517 562 p 518 562 p 515 562 p 91 562 p 81 562 p 518 561 p 517 561 p 515 561 p 541 561 p 542 561 p 90 561 p 91 561 p 519 560 p 489 560 p 520 560 p 525 560 p 524 560 p 92 560 p 83 560 p 519 559 p 489 559 p 520 559 p 521 559 p 516 559 p 92 559 p 82 559 p 521 558 p 520 558 p 516 558 p 545 558 p 546 558 p 91 558 p 92 558 p 522 557 p 496 557 p 523 557 p 526 557 p 527 557 p 93 557 p 85 557 p 522 556 p 496 556 p 523 556 p 494 556 p 524 556 p 93 556 p 84 556 p 523 555 p 494 555 p 524 555 p 525 555 p 519 555 p 93 555 p 83 555 p 525 554 p 524 554 p 519 554 p 544 554 p 545 554 p 92 554 p 93 554 p 526 553 p 522 553 p 527 553 p 94 553 p 85 553 p 526 552 p 522 552 p 527 552 p 548 552 p 549 552 p 94 552 p 93 552 p 528 551 p 505 551 p 529 551 p 532 551 p 531 551 p 95 551 p 87 551 p 528 550 p 505 550 p 529 550 p 95 550 p 86 550 p 530 549 p 510 549 p 531 549 p 535 549 p 534 549 p 96 549 p 88 549 p 530 548 p 510 548 p 531 548 p 532 548 p 528 548 p 96 548 p 87 548 p 532 547 p 531 547 p 528 547 p 553 547 p 554 547 p 95 547 p 96 547 p 533 546 p 513 546 p 534 546 p 536 546 p 537 546 p 97 546 p 89 546 p 533 545 p 513 545 p 534 545 p 535 545 p 530 545 p 97 545 p 88 545 p 535 544 p 534 544 p 530 544 p 557 544 p 558 544 p 96 544 p 97 544 p 536 543 p 537 543 p 533 543 p 560 543 p 561 543 p 97 543 p 98 543 p 536 542 p 537 542 p 533 542 p 540 542 p 539 542 p 98 542 p 89 542 p 538 541 p 514 541 p 539 541 p 543 541 p 542 541 p 99 541 p 90 541 p 538 540 p 514 540 p 539 540 p 540 540 p 537 540 p 99 540 p 89 540 p 540 539 p 539 539 p 537 539 p 564 539 p 565 539 p 98 539 p 99 539 p 541 538 p 518 538 p 542 538 p 547 538 p 546 538 p 100 538 p 91 538 p 541 537 p 518 537 p 542 537 p 543 537 p 538 537 p 100 537 p 90 537 p 543 536 p 542 536 p 538 536 p 563 536 p 564 536 p 99 536 p 100 536 p 544 535 p 525 535 p 545 535 p 550 535 p 549 535 p 101 535 p 93 535 p 544 534 p 525 534 p 545 534 p 521 534 p 546 534 p 101 534 p 92 534 p 545 533 p 521 533 p 546 533 p 547 533 p 541 533 p 101 533 p 91 533 p 547 532 p 546 532 p 541 532 p 567 532 p 568 532 p 100 532 p 101 532 p 548 531 p 527 531 p 549 531 p 102 531 p 94 531 p 548 530 p 527 530 p 549 530 p 550 530 p 544 530 p 102 530 p 93 530 p 550 529 p 549 529 p 544 529 p 570 529 p 571 529 p 101 529 p 102 529 p 502 528 p 551 528 p 552 528 p 601 528 p 602 528 p 284 528 p 283 528 p 502 527 p 551 527 p 552 527 p 345 527 p 650 527 p 19 527 p 283 527 p 553 526 p 532 526 p 554 526 p 559 526 p 558 526 p 104 526 p 96 526 p 553 525 p 532 525 p 554 525 p 555 525 p 556 525 p 104 525 p 95 525 p 555 524 p 554 524 p 556 524 p 575 524 p 576 524 p 103 524 p 104 524 p 555 523 p 554 523 p 556 523 p 103 523 p 95 523 p 557 522 p 535 522 p 558 522 p 562 522 p 561 522 p 105 522 p 97 522 p 557 521 p 535 521 p 558 521 p 559 521 p 553 521 p 105 521 p 96 521 p 559 520 p 558 520 p 553 520 p 577 520 p 578 520 p 104 520 p 105 520 p 560 519 p 536 519 p 561 519 p 566 519 p 565 519 p 106 519 p 98 519 p 560 518 p 536 518 p 561 518 p 562 518 p 557 518 p 106 518 p 97 518 p 562 517 p 561 517 p 557 517 p 580 517 p 581 517 p 105 517 p 106 517 p 563 516 p 543 516 p 564 516 p 569 516 p 568 516 p 107 516 p 100 516 p 563 515 p 543 515 p 564 515 p 540 515 p 565 515 p 107 515 p 99 515 p 564 514 p 540 514 p 565 514 p 566 514 p 560 514 p 107 514 p 98 514 p 566 513 p 565 513 p 560 513 p 583 513 p 584 513 p 106 513 p 107 513 p 567 512 p 547 512 p 568 512 p 572 512 p 571 512 p 108 512 p 101 512 p 567 511 p 547 511 p 568 511 p 569 511 p 563 511 p 108 511 p 100 511 p 569 510 p 568 510 p 563 510 p 586 510 p 587 510 p 107 510 p 108 510 p 570 509 p 550 509 p 571 509 p 573 509 p 574 509 p 109 509 p 102 509 p 570 508 p 550 508 p 571 508 p 572 508 p 567 508 p 109 508 p 101 508 p 572 507 p 571 507 p 567 507 p 591 507 p 592 507 p 108 507 p 109 507 p 573 506 p 570 506 p 574 506 p 110 506 p 102 506 p 573 505 p 570 505 p 574 505 p 594 505 p 595 505 p 110 505 p 109 505 p 575 504 p 555 504 p 576 504 p 579 504 p 578 504 p 111 504 p 104 504 p 575 503 p 555 503 p 576 503 p 111 503 p 103 503 p 577 502 p 559 502 p 578 502 p 582 502 p 581 502 p 112 502 p 105 502 p 577 501 p 559 501 p 578 501 p 579 501 p 575 501 p 112 501 p 104 501 p 579 500 p 578 500 p 575 500 p 604 500 p 605 500 p 111 500 p 112 500 p 580 499 p 562 499 p 581 499 p 585 499 p 584 499 p 113 499 p 106 499 p 580 498 p 562 498 p 581 498 p 582 498 p 577 498 p 113 498 p 105 498 p 582 497 p 581 497 p 577 497 p 608 497 p 609 497 p 112 497 p 113 497 p 583 496 p 566 496 p 584 496 p 588 496 p 587 496 p 114 496 p 107 496 p 583 495 p 566 495 p 584 495 p 585 495 p 580 495 p 114 495 p 106 495 p 585 494 p 584 494 p 580 494 p 611 494 p 612 494 p 113 494 p 114 494 p 586 493 p 569 493 p 587 493 p 589 493 p 590 493 p 115 493 p 108 493 p 586 492 p 569 492 p 587 492 p 588 492 p 583 492 p 115 492 p 107 492 p 588 491 p 587 491 p 583 491 p 614 491 p 615 491 p 114 491 p 115 491 p 589 490 p 590 490 p 586 490 p 618 490 p 619 490 p 115 490 p 116 490 p 589 489 p 590 489 p 586 489 p 593 489 p 592 489 p 116 489 p 108 489 p 591 488 p 572 488 p 592 488 p 596 488 p 595 488 p 117 488 p 109 488 p 591 487 p 572 487 p 592 487 p 593 487 p 590 487 p 117 487 p 108 487 p 593 486 p 592 486 p 590 486 p 617 486 p 618 486 p 116 486 p 117 486 p 594 485 p 574 485 p 595 485 p 597 485 p 598 485 p 118 485 p 110 485 p 594 484 p 574 484 p 595 484 p 596 484 p 591 484 p 118 484 p 109 484 p 596 483 p 595 483 p 591 483 p 621 483 p 622 483 p 117 483 p 118 483 p 597 482 p 594 482 p 598 482 p 119 482 p 110 482 p 597 481 p 594 481 p 598 481 p 599 481 p 600 481 p 119 481 p 118 481 p 599 480 p 598 480 p 600 480 p 3 480 p 119 480 p 599 479 p 598 479 p 600 479 p 624 479 p 626 479 p 3 479 p 118 479 p 601 478 p 551 478 p 602 478 p 708 478 p 668 478 p 267 478 p 283 478 p 601 477 p 551 477 p 602 477 p 501 477 p 603 477 p 267 477 p 284 477 p 602 476 p 501 476 p 603 476 p 267 476 p 1 476 p 604 475 p 579 475 p 605 475 p 610 475 p 609 475 p 121 475 p 112 475 p 604 474 p 579 474 p 605 474 p 606 474 p 607 474 p 121 474 p 111 474 p 606 473 p 605 473 p 607 473 p 630 473 p 631 473 p 120 473 p 121 473 p 606 472 p 605 472 p 607 472 p 120 472 p 111 472 p 608 471 p 582 471 p 609 471 p 613 471 p 612 471 p 122 471 p 113 471 p 608 470 p 582 470 p 609 470 p 610 470 p 604 470 p 122 470 p 112 470 p 610 469 p 609 469 p 604 469 p 632 469 p 633 469 p 121 469 p 122 469 p 611 468 p 585 468 p 612 468 p 616 468 p 615 468 p 123 468 p 114 468 p 611 467 p 585 467 p 612 467 p 613 467 p 608 467 p 123 467 p 113 467 p 613 466 p 612 466 p 608 466 p 637 466 p 638 466 p 122 466 p 123 466 p 614 465 p 588 465 p 615 465 p 620 465 p 619 465 p 124 465 p 115 465 p 614 464 p 588 464 p 615 464 p 616 464 p 611 464 p 124 464 p 114 464 p 616 463 p 615 463 p 611 463 p 640 463 p 641 463 p 123 463 p 124 463 p 617 462 p 593 462 p 618 462 p 623 462 p 622 462 p 125 462 p 117 462 p 617 461 p 593 461 p 618 461 p 589 461 p 619 461 p 125 461 p 116 461 p 618 460 p 589 460 p 619 460 p 620 460 p 614 460 p 125 460 p 115 460 p 620 459 p 619 459 p 614 459 p 644 459 p 645 459 p 124 459 p 125 459 p 621 458 p 596 458 p 622 458 p 624 458 p 625 458 p 126 458 p 118 458 p 621 457 p 596 457 p 622 457 p 623 457 p 617 457 p 126 457 p 117 457 p 623 456 p 622 456 p 617 456 p 643 456 p 644 456 p 125 456 p 126 456 p 624 455 p 621 455 p 625 455 p 600 455 p 626 455 p 127 455 p 118 455 p 624 454 p 621 454 p 625 454 p 627 454 p 628 454 p 127 454 p 126 454 p 600 453 p 624 453 p 626 453 p 629 453 p 627 453 p 3 453 p 127 453 p 627 452 p 625 452 p 628 452 p 629 452 p 626 452 p 128 452 p 127 452 p 627 451 p 625 451 p 628 451 p 647 451 p 649 451 p 128 451 p 126 451 p 629 450 p 626 450 p 627 450 p 128 450 p 3 450 p 630 449 p 606 449 p 631 449 p 634 449 p 633 449 p 129 449 p 121 449 p 630 448 p 606 448 p 631 448 p 129 448 p 120 448 p 632 447 p 610 447 p 633 447 p 635 447 p 636 447 p 130 447 p 122 447 p 632 446 p 610 446 p 633 446 p 634 446 p 630 446 p 130 446 p 121 446 p 634 445 p 633 445 p 630 445 p 651 445 p 652 445 p 129 445 p 130 445 p 635 444 p 636 444 p 632 444 p 655 444 p 656 444 p 130 444 p 131 444 p 635 443 p 636 443 p 632 443 p 639 443 p 638 443 p 131 443 p 122 443 p 637 442 p 613 442 p 638 442 p 642 442 p 641 442 p 132 442 p 123 442 p 637 441 p 613 441 p 638 441 p 639 441 p 636 441 p 132 441 p 122 441 p 639 440 p 638 440 p 636 440 p 659 440 p 660 440 p 131 440 p 132 440 p 640 439 p 616 439 p 641 439 p 646 439 p 645 439 p 133 439 p 124 439 p 640 438 p 616 438 p 641 438 p 642 438 p 637 438 p 133 438 p 123 438 p 642 437 p 641 437 p 637 437 p 658 437 p 659 437 p 132 437 p 133 437 p 643 436 p 623 436 p 644 436 p 647 436 p 648 436 p 134 436 p 126 436 p 643 435 p 623 435 p 644 435 p 620 435 p 645 435 p 134 435 p 125 435 p 644 434 p 620 434 p 645 434 p 646 434 p 640 434 p 134 434 p 124 434 p 646 433 p 645 433 p 640 433 p 662 433 p 663 433 p 133 433 p 134 433 p 647 432 p 643 432 p 648 432 p 628 432 p 649 432 p 135 432 p 126 432 p 647 431 p 643 431 p 648 431 p 665 431 p 667 431 p 135 431 p 134 431 p 628 430 p 647 430 p 649 430 p 128 430 p 135 430 p 345 429 p 552 429 p 650 429 p 668 429 p 669 429 p 18 429 p 283 429 p 651 428 p 634 428 p 652 428 p 657 428 p 656 428 p 137 428 p 130 428 p 651 427 p 634 427 p 652 427 p 653 427 p 654 427 p 137 427 p 129 427 p 653 426 p 652 426 p 654 426 p 670 426 p 671 426 p 136 426 p 137 426 p 653 425 p 652 425 p 654 425 p 136 425 p 129 425 p 655 424 p 635 424 p 656 424 p 661 424 p 660 424 p 138 424 p 131 424 p 655 423 p 635 423 p 656 423 p 657 423 p 651 423 p 138 423 p 130 423 p 657 422 p 656 422 p 651 422 p 672 422 p 673 422 p 137 422 p 138 422 p 658 421 p 642 421 p 659 421 p 664 421 p 663 421 p 139 421 p 133 421 p 658 420 p 642 420 p 659 420 p 639 420 p 660 420 p 139 420 p 132 420 p 659 419 p 639 419 p 660 419 p 661 419 p 655 419 p 139 419 p 131 419 p 661 418 p 660 418 p 655 418 p 675 418 p 676 418 p 138 418 p 139 418 p 662 417 p 646 417 p 663 417 p 665 417 p 666 417 p 140 417 p 134 417 p 662 416 p 646 416 p 663 416 p 664 416 p 658 416 p 140 416 p 133 416 p 664 415 p 663 415 p 658 415 p 678 415 p 679 415 p 139 415 p 140 415 p 665 414 p 662 414 p 666 414 p 648 414 p 667 414 p 141 414 p 134 414 p 665 413 p 662 413 p 666 413 p 681 413 p 683 413 p 141 413 p 140 413 p 648 412 p 665 412 p 667 412 p 135 412 p 141 412 p 650 411 p 668 411 p 669 411 p 708 411 p 601 411 p 283 411 p 282 411 p 650 410 p 668 410 p 669 410 p 709 410 p 710 410 p 18 410 p 282 410 p 670 409 p 653 409 p 671 409 p 674 409 p 673 409 p 142 409 p 137 409 p 670 408 p 653 408 p 671 408 p 142 408 p 136 408 p 672 407 p 657 407 p 673 407 p 677 407 p 676 407 p 143 407 p 138 407 p 672 406 p 657 406 p 673 406 p 674 406 p 670 406 p 143 406 p 137 406 p 674 405 p 673 405 p 670 405 p 684 405 p 685 405 p 142 405 p 143 405 p 675 404 p 661 404 p 676 404 p 679 404 p 680 404 p 144 404 p 139 404 p 675 403 p 661 403 p 676 403 p 677 403 p 672 403 p 144 403 p 138 403 p 677 402 p 676 402 p 672 402 p 688 402 p 684 402 p 143 402 p 144 402 p 678 401 p 664 401 p 679 401 p 681 401 p 682 401 p 145 401 p 140 401 p 678 400 p 664 400 p 679 400 p 675 400 p 680 400 p 145 400 p 139 400 p 679 399 p 675 399 p 680 399 p 692 399 p 693 399 p 145 399 p 144 399 p 681 398 p 678 398 p 682 398 p 666 398 p 683 398 p 146 398 p 140 398 p 681 397 p 678 397 p 682 397 p 691 397 p 692 397 p 146 397 p 145 397 p 666 396 p 681 396 p 683 396 p 141 396 p 146 396 p 684 395 p 674 395 p 685 395 p 688 395 p 677 395 p 148 395 p 143 395 p 684 394 p 674 394 p 685 394 p 686 394 p 687 394 p 148 394 p 142 394 p 686 393 p 685 393 p 687 393 p 697 393 p 698 393 p 147 393 p 148 393 p 686 392 p 685 392 p 687 392 p 147 392 p 142 392 p 688 391 p 677 391 p 684 391 p 689 391 p 690 391 p 148 391 p 144 391 p 689 390 p 690 390 p 688 390 p 699 390 p 700 390 p 148 390 p 149 390 p 689 389 p 690 389 p 688 389 p 694 389 p 693 389 p 149 389 p 144 389 p 691 388 p 682 388 p 692 388 p 695 388 p 696 388 p 150 388 p 146 388 p 691 387 p 682 387 p 692 387 p 680 387 p 693 387 p 150 387 p 145 387 p 692 386 p 680 386 p 693 386 p 694 386 p 690 386 p 150 386 p 144 386 p 694 385 p 693 385 p 690 385 p 702 385 p 703 385 p 149 385 p 150 385 p 695 384 p 691 384 p 696 384 p 151 384 p 146 384 p 695 383 p 691 383 p 696 383 p 705 383 p 707 383 p 151 383 p 150 383 p 697 382 p 686 382 p 698 382 p 701 382 p 700 382 p 152 382 p 148 382 p 697 381 p 686 381 p 698 381 p 152 381 p 147 381 p 699 380 p 689 380 p 700 380 p 704 380 p 703 380 p 153 380 p 149 380 p 699 379 p 689 379 p 700 379 p 701 379 p 697 379 p 153 379 p 148 379 p 701 378 p 700 378 p 697 378 p 713 378 p 714 378 p 152 378 p 153 378 p 702 377 p 694 377 p 703 377 p 705 377 p 706 377 p 154 377 p 150 377 p 702 376 p 694 376 p 703 376 p 704 376 p 699 376 p 154 376 p 149 376 p 704 375 p 703 375 p 699 375 p 715 375 p 716 375 p 153 375 p 154 375 p 705 374 p 702 374 p 706 374 p 696 374 p 707 374 p 155 374 p 150 374 p 705 373 p 702 373 p 706 373 p 720 373 p 721 373 p 155 373 p 154 373 p 696 372 p 705 372 p 707 372 p 151 372 p 155 372 p 708 371 p 668 371 p 601 371 p 753 371 p 711 371 p 267 371 p 282 371 p 669 370 p 709 370 p 710 370 p 711 370 p 712 370 p 282 370 p 281 370 p 669 369 p 709 369 p 710 369 p 341 369 p 776 369 p 18 369 p 281 369 p 709 368 p 711 368 p 712 368 p 708 368 p 753 368 p 282 368 p 266 368 p 709 367 p 711 367 p 712 367 p 757 367 p 755 367 p 281 367 p 266 367 p 713 366 p 701 366 p 714 366 p 717 366 p 716 366 p 156 366 p 153 366 p 713 365 p 701 365 p 714 365 p 156 365 p 152 365 p 715 364 p 704 364 p 716 364 p 718 364 p 719 364 p 157 364 p 154 364 p 715 363 p 704 363 p 716 363 p 717 363 p 713 363 p 157 363 p 153 363 p 717 362 p 716 362 p 713 362 p 725 362 p 726 362 p 156 362 p 157 362 p 718 361 p 719 361 p 715 361 p 729 361 p 730 361 p 157 361 p 158 361 p 718 360 p 719 360 p 715 360 p 722 360 p 721 360 p 158 360 p 154 360 p 720 359 p 706 359 p 721 359 p 723 359 p 724 359 p 159 359 p 155 359 p 720 358 p 706 358 p 721 358 p 722 358 p 719 358 p 159 358 p 154 358 p 722 357 p 721 357 p 719 357 p 732 357 p 733 357 p 158 357 p 159 357 p 723 356 p 720 356 p 724 356 p 160 356 p 155 356 p 723 355 p 720 355 p 724 355 p 735 355 p 736 355 p 160 355 p 159 355 p 725 354 p 717 354 p 726 354 p 727 354 p 728 354 p 161 354 p 157 354 p 725 353 p 717 353 p 726 353 p 161 353 p 156 353 p 727 352 p 728 352 p 725 352 p 738 352 p 739 352 p 161 352 p 162 352 p 727 351 p 728 351 p 725 351 p 731 351 p 730 351 p 162 351 p 157 351 p 729 350 p 718 350 p 730 350 p 734 350 p 733 350 p 163 350 p 158 350 p 729 349 p 718 349 p 730 349 p 731 349 p 728 349 p 163 349 p 157 349 p 731 348 p 730 348 p 728 348 p 740 348 p 741 348 p 162 348 p 163 348 p 732 347 p 722 347 p 733 347 p 737 347 p 736 347 p 164 347 p 159 347 p 732 346 p 722 346 p 733 346 p 734 346 p 729 346 p 164 346 p 158 346 p 734 345 p 733 345 p 729 345 p 743 345 p 744 345 p 163 345 p 164 345 p 735 344 p 724 344 p 736 344 p 165 344 p 160 344 p 735 343 p 724 343 p 736 343 p 737 343 p 732 343 p 165 343 p 159 343 p 737 342 p 736 342 p 732 342 p 748 342 p 749 342 p 164 342 p 165 342 p 738 341 p 727 341 p 739 341 p 742 341 p 741 341 p 166 341 p 162 341 p 738 340 p 727 340 p 739 340 p 166 340 p 161 340 p 740 339 p 731 339 p 741 339 p 745 339 p 744 339 p 167 339 p 163 339 p 740 338 p 731 338 p 741 338 p 742 338 p 738 338 p 167 338 p 162 338 p 742 337 p 741 337 p 738 337 p 758 337 p 759 337 p 166 337 p 167 337 p 743 336 p 734 336 p 744 336 p 746 336 p 747 336 p 168 336 p 164 336 p 743 335 p 734 335 p 744 335 p 745 335 p 740 335 p 168 335 p 163 335 p 745 334 p 744 334 p 740 334 p 762 334 p 763 334 p 167 334 p 168 334 p 746 333 p 747 333 p 743 333 p 765 333 p 766 333 p 168 333 p 169 333 p 746 332 p 747 332 p 743 332 p 750 332 p 749 332 p 169 332 p 164 332 p 748 331 p 737 331 p 749 331 p 751 331 p 752 331 p 170 331 p 165 331 p 748 330 p 737 330 p 749 330 p 750 330 p 747 330 p 170 330 p 164 330 p 750 329 p 749 329 p 747 329 p 768 329 p 769 329 p 169 329 p 170 329 p 751 328 p 748 328 p 752 328 p 171 328 p 165 328 p 751 327 p 748 327 p 752 327 p 771 327 p 772 327 p 171 327 p 170 327 p 708 326 p 753 326 p 711 326 p 1031 326 p 1032 326 p 267 326 p 266 326 p 754 325 p 755 325 p 756 325 p 776 325 p 777 325 p 280 325 p 281 325 p 754 324 p 755 324 p 756 324 p 712 324 p 757 324 p 281 324 p 265 324 p 754 323 p 755 323 p 756 323 p 900 323 p 829 323 p 280 323 p 265 323 p 712 322 p 757 322 p 755 322 p 1030 322 p 1031 322 p 266 322 p 265 322 p 758 321 p 759 321 p 742 321 p 760 321 p 761 321 p 166 321 p 173 321 p 758 320 p 759 320 p 742 320 p 764 320 p 763 320 p 173 320 p 167 320 p 760 319 p 761 319 p 758 319 p 166 319 p 172 319 p 760 318 p 761 318 p 758 318 p 778 318 p 779 318 p 172 318 p 173 318 p 762 317 p 745 317 p 763 317 p 767 317 p 766 317 p 174 317 p 168 317 p 762 316 p 745 316 p 763 316 p 764 316 p 759 316 p 174 316 p 167 316 p 764 315 p 763 315 p 759 315 p 780 315 p 781 315 p 173 315 p 174 315 p 765 314 p 746 314 p 766 314 p 770 314 p 769 314 p 175 314 p 169 314 p 765 313 p 746 313 p 766 313 p 767 313 p 762 313 p 175 313 p 168 313 p 767 312 p 766 312 p 762 312 p 783 312 p 784 312 p 174 312 p 175 312 p 768 311 p 750 311 p 769 311 p 773 311 p 772 311 p 176 311 p 170 311 p 768 310 p 750 310 p 769 310 p 770 310 p 765 310 p 176 310 p 169 310 p 770 309 p 769 309 p 765 309 p 786 309 p 787 309 p 175 309 p 176 309 p 771 308 p 752 308 p 772 308 p 774 308 p 775 308 p 177 308 p 171 308 p 771 307 p 752 307 p 772 307 p 773 307 p 768 307 p 177 307 p 170 307 p 773 306 p 772 306 p 768 306 p 789 306 p 790 306 p 176 306 p 177 306 p 774 305 p 771 305 p 775 305 p 178 305 p 171 305 p 774 304 p 771 304 p 775 304 p 794 304 p 795 304 p 178 304 p 177 304 p 341 303 p 710 303 p 776 303 p 754 303 p 777 303 p 17 303 p 281 303 p 776 302 p 754 302 p 777 302 p 335 302 p 901 302 p 17 302 p 280 302 p 778 301 p 779 301 p 761 301 p 172 301 p 179 301 p 778 300 p 779 300 p 761 300 p 782 300 p 780 300 p 179 300 p 173 300 p 780 299 p 781 299 p 764 299 p 779 299 p 782 299 p 173 299 p 180 299 p 780 298 p 781 298 p 764 298 p 785 298 p 783 298 p 180 298 p 174 298 p 779 297 p 782 297 p 780 297 p 803 297 p 804 297 p 179 297 p 180 297 p 783 296 p 784 296 p 767 296 p 781 296 p 785 296 p 174 296 p 181 296 p 783 295 p 784 295 p 767 295 p 788 295 p 787 295 p 181 295 p 175 295 p 781 294 p 785 294 p 783 294 p 805 294 p 806 294 p 180 294 p 181 294 p 786 293 p 770 293 p 787 293 p 791 293 p 790 293 p 182 293 p 176 293 p 786 292 p 770 292 p 787 292 p 788 292 p 784 292 p 182 292 p 175 292 p 788 291 p 787 291 p 784 291 p 808 291 p 809 291 p 181 291 p 182 291 p 789 290 p 773 290 p 790 290 p 792 290 p 793 290 p 183 290 p 177 290 p 789 289 p 773 289 p 790 289 p 791 289 p 786 289 p 183 289 p 176 289 p 791 288 p 790 288 p 786 288 p 811 288 p 812 288 p 182 288 p 183 288 p 792 287 p 793 287 p 789 287 p 814 287 p 815 287 p 183 287 p 184 287 p 792 286 p 793 286 p 789 286 p 796 286 p 795 286 p 184 286 p 177 286 p 794 285 p 775 285 p 795 285 p 797 285 p 798 285 p 185 285 p 178 285 p 794 284 p 775 284 p 795 284 p 796 284 p 793 284 p 185 284 p 177 284 p 796 283 p 795 283 p 793 283 p 817 283 p 818 283 p 184 283 p 185 283 p 797 282 p 794 282 p 798 282 p 187 282 p 178 282 p 797 281 p 794 281 p 798 281 p 799 281 p 800 281 p 187 281 p 185 281 p 799 280 p 798 280 p 800 280 p 801 280 p 802 280 p 186 280 p 187 280 p 799 279 p 798 279 p 800 279 p 820 279 p 821 279 p 186 279 p 185 279 p 801 278 p 799 278 p 802 278 p 0 278 p 187 278 p 801 277 p 799 277 p 802 277 p 823 277 p 825 277 p 0 277 p 186 277 p 803 276 p 804 276 p 782 276 p 179 276 p 188 276 p 803 275 p 804 275 p 782 275 p 807 275 p 805 275 p 188 275 p 180 275 p 805 274 p 806 274 p 785 274 p 804 274 p 807 274 p 180 274 p 189 274 p 805 273 p 806 273 p 785 273 p 810 273 p 808 273 p 189 273 p 181 273 p 804 272 p 807 272 p 805 272 p 831 272 p 832 272 p 188 272 p 189 272 p 808 271 p 809 271 p 788 271 p 806 271 p 810 271 p 181 271 p 190 271 p 808 270 p 809 270 p 788 270 p 813 270 p 811 270 p 190 270 p 182 270 p 806 269 p 810 269 p 808 269 p 835 269 p 836 269 p 189 269 p 190 269 p 811 268 p 812 268 p 791 268 p 809 268 p 813 268 p 182 268 p 191 268 p 811 267 p 812 267 p 791 267 p 816 267 p 814 267 p 191 267 p 183 267 p 809 266 p 813 266 p 811 266 p 838 266 p 839 266 p 190 266 p 191 266 p 814 265 p 815 265 p 792 265 p 812 265 p 816 265 p 183 265 p 192 265 p 814 264 p 815 264 p 792 264 p 819 264 p 817 264 p 192 264 p 184 264 p 812 263 p 816 263 p 814 263 p 841 263 p 842 263 p 191 263 p 192 263 p 817 262 p 818 262 p 796 262 p 815 262 p 819 262 p 184 262 p 193 262 p 817 261 p 818 261 p 796 261 p 822 261 p 820 261 p 193 261 p 185 261 p 815 260 p 819 260 p 817 260 p 844 260 p 845 260 p 192 260 p 193 260 p 820 259 p 821 259 p 800 259 p 818 259 p 822 259 p 185 259 p 194 259 p 820 258 p 821 258 p 800 258 p 823 258 p 824 258 p 194 258 p 186 258 p 818 257 p 822 257 p 820 257 p 849 257 p 847 257 p 193 257 p 194 257 p 823 256 p 821 256 p 824 256 p 802 256 p 825 256 p 195 256 p 186 256 p 823 255 p 821 255 p 824 255 p 847 255 p 848 255 p 195 255 p 194 255 p 802 254 p 823 254 p 825 254 p 826 254 p 827 254 p 0 254 p 195 254 p 825 253 p 826 253 p 827 253 p 851 253 p 852 253 p 195 253 p 196 253 p 825 252 p 826 252 p 827 252 p 0 252 p 196 252 p 828 251 p 829 251 p 830 251 p 901 251 p 927 251 p 279 251 p 280 251 p 828 250 p 829 250 p 830 250 p 756 250 p 900 250 p 280 250 p 264 250 p 828 249 p 829 249 p 830 249 p 931 249 p 929 249 p 279 249 p 264 249 p 831 248 p 832 248 p 807 248 p 833 248 p 834 248 p 188 248 p 198 248 p 831 247 p 832 247 p 807 247 p 837 247 p 835 247 p 198 247 p 189 247 p 833 246 p 834 246 p 831 246 p 188 246 p 197 246 p 833 245 p 834 245 p 831 245 p 854 245 p 855 245 p 197 245 p 198 245 p 835 244 p 836 244 p 810 244 p 832 244 p 837 244 p 189 244 p 199 244 p 835 243 p 836 243 p 810 243 p 840 243 p 838 243 p 199 243 p 190 243 p 832 242 p 837 242 p 835 242 p 856 242 p 857 242 p 198 242 p 199 242 p 838 241 p 839 241 p 813 241 p 836 241 p 840 241 p 190 241 p 200 241 p 838 240 p 839 240 p 813 240 p 843 240 p 841 240 p 200 240 p 191 240 p 836 239 p 840 239 p 838 239 p 859 239 p 860 239 p 199 239 p 200 239 p 841 238 p 842 238 p 816 238 p 839 238 p 843 238 p 191 238 p 201 238 p 841 237 p 842 237 p 816 237 p 846 237 p 844 237 p 201 237 p 192 237 p 839 236 p 843 236 p 841 236 p 862 236 p 863 236 p 200 236 p 201 236 p 844 235 p 845 235 p 819 235 p 842 235 p 846 235 p 192 235 p 202 235 p 844 234 p 845 234 p 819 234 p 850 234 p 849 234 p 202 234 p 193 234 p 842 233 p 846 233 p 844 233 p 865 233 p 866 233 p 201 233 p 202 233 p 847 232 p 848 232 p 824 232 p 849 232 p 822 232 p 194 232 p 203 232 p 847 231 p 848 231 p 824 231 p 853 231 p 852 231 p 203 231 p 195 231 p 849 230 p 847 230 p 822 230 p 845 230 p 850 230 p 193 230 p 203 230 p 845 229 p 850 229 p 849 229 p 870 229 p 871 229 p 202 229 p 203 229 p 851 228 p 826 228 p 852 228 p 204 228 p 196 228 p 851 227 p 826 227 p 852 227 p 853 227 p 848 227 p 204 227 p 195 227 p 853 226 p 852 226 p 848 226 p 871 226 p 873 226 p 203 226 p 204 226 p 854 225 p 855 225 p 834 225 p 197 225 p 205 225 p 854 224 p 855 224 p 834 224 p 858 224 p 856 224 p 205 224 p 198 224 p 856 223 p 857 223 p 837 223 p 855 223 p 858 223 p 198 223 p 206 223 p 856 222 p 857 222 p 837 222 p 861 222 p 859 222 p 206 222 p 199 222 p 855 221 p 858 221 p 856 221 p 876 221 p 877 221 p 205 221 p 206 221 p 859 220 p 860 220 p 840 220 p 857 220 p 861 220 p 199 220 p 207 220 p 859 219 p 860 219 p 840 219 p 864 219 p 862 219 p 207 219 p 200 219 p 857 218 p 861 218 p 859 218 p 878 218 p 879 218 p 206 218 p 207 218 p 862 217 p 863 217 p 843 217 p 860 217 p 864 217 p 200 217 p 208 217 p 862 216 p 863 216 p 843 216 p 867 216 p 865 216 p 208 216 p 201 216 p 860 215 p 864 215 p 862 215 p 881 215 p 882 215 p 207 215 p 208 215 p 865 214 p 866 214 p 846 214 p 863 214 p 867 214 p 201 214 p 209 214 p 865 213 p 866 213 p 846 213 p 868 213 p 869 213 p 209 213 p 202 213 p 863 212 p 867 212 p 865 212 p 884 212 p 885 212 p 208 212 p 209 212 p 866 211 p 868 211 p 869 211 p 887 211 p 888 211 p 209 211 p 210 211 p 866 210 p 868 210 p 869 210 p 872 210 p 870 210 p 202 210 p 210 210 p 870 209 p 871 209 p 850 209 p 869 209 p 872 209 p 202 209 p 211 209 p 870 208 p 871 208 p 850 208 p 873 208 p 853 208 p 211 208 p 203 208 p 869 207 p 872 207 p 870 207 p 890 207 p 891 207 p 210 207 p 211 207 p 871 206 p 873 206 p 853 206 p 874 206 p 875 206 p 211 206 p 204 206 p 873 205 p 874 205 p 875 205 p 895 205 p 896 205 p 211 205 p 212 205 p 873 204 p 874 204 p 875 204 p 204 204 p 212 204 p 876 203 p 877 203 p 858 203 p 205 203 p 213 203 p 876 202 p 877 202 p 858 202 p 880 202 p 878 202 p 213 202 p 206 202 p 878 201 p 879 201 p 861 201 p 877 201 p 880 201 p 206 201 p 214 201 p 878 200 p 879 200 p 861 200 p 883 200 p 881 200 p 214 200 p 207 200 p 877 199 p 880 199 p 878 199 p 902 199 p 903 199 p 213 199 p 214 199 p 881 198 p 882 198 p 864 198 p 879 198 p 883 198 p 207 198 p 215 198 p 881 197 p 882 197 p 864 197 p 886 197 p 884 197 p 215 197 p 208 197 p 879 196 p 883 196 p 881 196 p 906 196 p 907 196 p 214 196 p 215 196 p 884 195 p 885 195 p 867 195 p 882 195 p 886 195 p 208 195 p 216 195 p 884 194 p 885 194 p 867 194 p 889 194 p 887 194 p 216 194 p 209 194 p 882 193 p 886 193 p 884 193 p 909 193 p 910 193 p 215 193 p 216 193 p 887 192 p 888 192 p 868 192 p 885 192 p 889 192 p 209 192 p 217 192 p 887 191 p 888 191 p 868 191 p 892 191 p 890 191 p 217 191 p 210 191 p 885 190 p 889 190 p 887 190 p 912 190 p 913 190 p 216 190 p 217 190 p 890 189 p 891 189 p 872 189 p 888 189 p 892 189 p 210 189 p 218 189 p 890 188 p 891 188 p 872 188 p 893 188 p 894 188 p 218 188 p 211 188 p 888 187 p 892 187 p 890 187 p 915 187 p 916 187 p 217 187 p 218 187 p 891 186 p 893 186 p 894 186 p 918 186 p 919 186 p 218 186 p 219 186 p 891 185 p 893 185 p 894 185 p 897 185 p 895 185 p 211 185 p 219 185 p 895 184 p 896 184 p 874 184 p 894 184 p 897 184 p 211 184 p 220 184 p 895 183 p 896 183 p 874 183 p 898 183 p 899 183 p 220 183 p 212 183 p 894 182 p 897 182 p 895 182 p 921 182 p 922 182 p 219 182 p 220 182 p 896 181 p 898 181 p 899 181 p 924 181 p 925 181 p 220 181 p 221 181 p 896 180 p 898 180 p 899 180 p 212 180 p 221 180 p 756 179 p 900 179 p 829 179 p 1028 179 p 1030 179 p 265 179 p 264 179 p 335 178 p 777 178 p 901 178 p 828 178 p 927 178 p 16 178 p 280 178 p 902 177 p 903 177 p 880 177 p 904 177 p 905 177 p 213 177 p 223 177 p 902 176 p 903 176 p 880 176 p 908 176 p 906 176 p 223 176 p 214 176 p 904 175 p 905 175 p 902 175 p 213 175 p 222 175 p 904 174 p 905 174 p 902 174 p 934 174 p 935 174 p 222 174 p 223 174 p 906 173 p 907 173 p 883 173 p 903 173 p 908 173 p 214 173 p 224 173 p 906 172 p 907 172 p 883 172 p 911 172 p 909 172 p 224 172 p 215 172 p 903 171 p 908 171 p 906 171 p 935 171 p 938 171 p 223 171 p 224 171 p 909 170 p 910 170 p 886 170 p 907 170 p 911 170 p 215 170 p 225 170 p 909 169 p 910 169 p 886 169 p 914 169 p 912 169 p 225 169 p 216 169 p 907 168 p 911 168 p 909 168 p 939 168 p 940 168 p 224 168 p 225 168 p 912 167 p 913 167 p 889 167 p 910 167 p 914 167 p 216 167 p 226 167 p 912 166 p 913 166 p 889 166 p 917 166 p 915 166 p 226 166 p 217 166 p 910 165 p 914 165 p 912 165 p 942 165 p 943 165 p 225 165 p 226 165 p 915 164 p 916 164 p 892 164 p 913 164 p 917 164 p 217 164 p 227 164 p 915 163 p 916 163 p 892 163 p 920 163 p 918 163 p 227 163 p 218 163 p 913 162 p 917 162 p 915 162 p 945 162 p 946 162 p 226 162 p 227 162 p 918 161 p 919 161 p 893 161 p 916 161 p 920 161 p 218 161 p 228 161 p 918 160 p 919 160 p 893 160 p 923 160 p 921 160 p 228 160 p 219 160 p 916 159 p 920 159 p 918 159 p 948 159 p 949 159 p 227 159 p 228 159 p 921 158 p 922 158 p 897 158 p 919 158 p 923 158 p 219 158 p 229 158 p 921 157 p 922 157 p 897 157 p 926 157 p 924 157 p 229 157 p 220 157 p 919 156 p 923 156 p 921 156 p 951 156 p 952 156 p 228 156 p 229 156 p 924 155 p 925 155 p 898 155 p 922 155 p 926 155 p 220 155 p 230 155 p 924 154 p 925 154 p 898 154 p 230 154 p 221 154 p 922 153 p 926 153 p 924 153 p 956 153 p 957 153 p 229 153 p 230 153 p 901 152 p 828 152 p 927 152 p 329 152 p 932 152 p 16 152 p 279 152 p 928 151 p 929 151 p 930 151 p 933 151 p 993 151 p 278 151 p 279 151 p 928 150 p 929 150 p 930 150 p 830 150 p 931 150 p 279 150 p 263 150 p 928 149 p 929 149 p 930 149 p 1027 149 p 995 149 p 278 149 p 263 149 p 830 148 p 931 148 p 929 148 p 1029 148 p 1025 148 p 264 148 p 263 148 p 331 147 p 932 147 p 933 147 p 329 147 p 927 147 p 15 147 p 279 147 p 331 146 p 932 146 p 933 146 p 928 146 p 993 146 p 14 146 p 279 146 p 934 145 p 935 145 p 905 145 p 936 145 p 937 145 p 222 145 p 232 145 p 934 144 p 935 144 p 905 144 p 938 144 p 908 144 p 232 144 p 223 144 p 936 143 p 937 143 p 934 143 p 222 143 p 231 143 p 936 142 p 937 142 p 934 142 p 961 142 p 962 142 p 231 142 p 232 142 p 935 141 p 938 141 p 908 141 p 941 141 p 939 141 p 232 141 p 224 141 p 939 140 p 940 140 p 911 140 p 938 140 p 941 140 p 224 140 p 233 140 p 939 139 p 940 139 p 911 139 p 944 139 p 942 139 p 233 139 p 225 139 p 938 138 p 941 138 p 939 138 p 963 138 p 964 138 p 232 138 p 233 138 p 942 137 p 943 137 p 914 137 p 940 137 p 944 137 p 225 137 p 234 137 p 942 136 p 943 136 p 914 136 p 947 136 p 945 136 p 234 136 p 226 136 p 940 135 p 944 135 p 942 135 p 970 135 p 968 135 p 233 135 p 234 135 p 945 134 p 946 134 p 917 134 p 943 134 p 947 134 p 226 134 p 235 134 p 945 133 p 946 133 p 917 133 p 950 133 p 948 133 p 235 133 p 227 133 p 943 132 p 947 132 p 945 132 p 968 132 p 969 132 p 234 132 p 235 132 p 948 131 p 949 131 p 920 131 p 946 131 p 950 131 p 227 131 p 236 131 p 948 130 p 949 130 p 920 130 p 953 130 p 951 130 p 236 130 p 228 130 p 946 129 p 950 129 p 948 129 p 972 129 p 973 129 p 235 129 p 236 129 p 951 128 p 952 128 p 923 128 p 949 128 p 953 128 p 228 128 p 237 128 p 951 127 p 952 127 p 923 127 p 954 127 p 955 127 p 237 127 p 229 127 p 949 126 p 953 126 p 951 126 p 975 126 p 976 126 p 236 126 p 237 126 p 952 125 p 954 125 p 955 125 p 978 125 p 979 125 p 237 125 p 238 125 p 952 124 p 954 124 p 955 124 p 958 124 p 956 124 p 229 124 p 238 124 p 956 123 p 957 123 p 926 123 p 955 123 p 958 123 p 229 123 p 239 123 p 956 122 p 957 122 p 926 122 p 959 122 p 960 122 p 239 122 p 230 122 p 955 121 p 958 121 p 956 121 p 981 121 p 982 121 p 238 121 p 239 121 p 957 120 p 959 120 p 960 120 p 986 120 p 987 120 p 239 120 p 240 120 p 957 119 p 959 119 p 960 119 p 230 119 p 240 119 p 961 118 p 962 118 p 937 118 p 231 118 p 241 118 p 961 117 p 962 117 p 937 117 p 965 117 p 963 117 p 241 117 p 232 117 p 963 116 p 964 116 p 941 116 p 962 116 p 965 116 p 232 116 p 242 116 p 963 115 p 964 115 p 941 115 p 966 115 p 967 115 p 242 115 p 233 115 p 962 114 p 965 114 p 963 114 p 997 114 p 998 114 p 241 114 p 242 114 p 964 113 p 966 113 p 967 113 p 999 113 p 1000 113 p 242 113 p 243 113 p 964 112 p 966 112 p 967 112 p 971 112 p 970 112 p 233 112 p 243 112 p 968 111 p 969 111 p 947 111 p 970 111 p 944 111 p 234 111 p 244 111 p 968 110 p 969 110 p 947 110 p 974 110 p 972 110 p 244 110 p 235 110 p 970 109 p 968 109 p 944 109 p 967 109 p 971 109 p 233 109 p 244 109 p 967 108 p 971 108 p 970 108 p 1002 108 p 1003 108 p 243 108 p 244 108 p 972 107 p 973 107 p 950 107 p 969 107 p 974 107 p 235 107 p 245 107 p 972 106 p 973 106 p 950 106 p 977 106 p 975 106 p 245 106 p 236 106 p 969 105 p 974 105 p 972 105 p 1007 105 p 1008 105 p 244 105 p 245 105 p 975 104 p 976 104 p 953 104 p 973 104 p 977 104 p 236 104 p 246 104 p 975 103 p 976 103 p 953 103 p 980 103 p 978 103 p 246 103 p 237 103 p 973 102 p 977 102 p 975 102 p 1010 102 p 1011 102 p 245 102 p 246 102 p 978 101 p 979 101 p 954 101 p 976 101 p 980 101 p 237 101 p 247 101 p 978 100 p 979 100 p 954 100 p 983 100 p 981 100 p 247 100 p 238 100 p 976 99 p 980 99 p 978 99 p 1013 99 p 1014 99 p 246 99 p 247 99 p 981 98 p 982 98 p 958 98 p 979 98 p 983 98 p 238 98 p 248 98 p 981 97 p 982 97 p 958 97 p 984 97 p 985 97 p 248 97 p 239 97 p 979 96 p 983 96 p 981 96 p 1016 96 p 1017 96 p 247 96 p 248 96 p 984 95 p 985 95 p 982 95 p 1019 95 p 1020 95 p 248 95 p 249 95 p 984 94 p 985 94 p 982 94 p 988 94 p 987 94 p 249 94 p 239 94 p 986 93 p 959 93 p 987 93 p 989 93 p 990 93 p 250 93 p 240 93 p 986 92 p 959 92 p 987 92 p 988 92 p 985 92 p 250 92 p 239 92 p 988 91 p 987 91 p 985 91 p 1022 91 p 1023 91 p 249 91 p 250 91 p 986 90 p 989 90 p 990 90 p 1025 90 p 1026 90 p 250 90 p 251 90 p 986 89 p 989 89 p 990 89 p 991 89 p 992 89 p 240 89 p 251 89 p 990 88 p 991 88 p 992 88 p 1028 88 p 1029 88 p 251 88 p 252 88 p 990 87 p 991 87 p 992 87 p 240 87 p 252 87 p 933 86 p 928 86 p 993 86 p 1079 86 p 324 86 p 14 86 p 278 86 p 994 85 p 995 85 p 996 85 p 1076 85 p 1079 85 p 277 85 p 278 85 p 994 84 p 995 84 p 996 84 p 930 84 p 1027 84 p 278 84 p 262 84 p 994 83 p 995 83 p 996 83 p 1078 83 p 1024 83 p 277 83 p 262 83 p 997 82 p 998 82 p 965 82 p 241 82 p 253 82 p 997 81 p 998 81 p 965 81 p 1001 81 p 999 81 p 253 81 p 242 81 p 999 80 p 1000 80 p 966 80 p 998 80 p 1001 80 p 242 80 p 254 80 p 999 79 p 1000 79 p 966 79 p 1004 79 p 1002 79 p 254 79 p 243 79 p 998 78 p 1001 78 p 999 78 p 1033 78 p 1034 78 p 253 78 p 254 78 p 1002 77 p 1003 77 p 971 77 p 1000 77 p 1004 77 p 243 77 p 255 77 p 1002 76 p 1003 76 p 971 76 p 1005 76 p 1006 76 p 255 76 p 244 76 p 1000 75 p 1004 75 p 1002 75 p 1035 75 p 1036 75 p 254 75 p 255 75 p 1003 74 p 1005 74 p 1006 74 p 1041 74 p 1042 74 p 255 74 p 256 74 p 1003 73 p 1005 73 p 1006 73 p 1009 73 p 1007 73 p 244 73 p 256 73 p 1007 72 p 1008 72 p 974 72 p 1006 72 p 1009 72 p 244 72 p 257 72 p 1007 71 p 1008 71 p 974 71 p 1012 71 p 1010 71 p 257 71 p 245 71 p 1006 70 p 1009 70 p 1007 70 p 1055 70 p 1050 70 p 256 70 p 257 70 p 1010 69 p 1011 69 p 977 69 p 1008 69 p 1012 69 p 245 69 p 258 69 p 1010 68 p 1011 68 p 977 68 p 1015 68 p 1013 68 p 258 68 p 246 68 p 1008 67 p 1012 67 p 1010 67 p 1050 67 p 1051 67 p 257 67 p 258 67 p 1013 66 p 1014 66 p 980 66 p 1011 66 p 1015 66 p 246 66 p 259 66 p 1013 65 p 1014 65 p 980 65 p 1018 65 p 1016 65 p 259 65 p 247 65 p 1011 64 p 1015 64 p 1013 64 p 1056 64 p 1057 64 p 258 64 p 259 64 p 1016 63 p 1017 63 p 983 63 p 1014 63 p 1018 63 p 247 63 p 260 63 p 1016 62 p 1017 62 p 983 62 p 1021 62 p 1019 62 p 260 62 p 248 62 p 1014 61 p 1018 61 p 1016 61 p 1068 61 p 1069 61 p 259 61 p 260 61 p 1019 60 p 1020 60 p 984 60 p 1017 60 p 1021 60 p 248 60 p 261 60 p 1019 59 p 1020 59 p 984 59 p 1024 59 p 1022 59 p 261 59 p 249 59 p 1017 58 p 1021 58 p 1019 58 p 1073 58 p 1074 58 p 260 58 p 261 58 p 1022 57 p 1023 57 p 988 57 p 1020 57 p 1024 57 p 249 57 p 262 57 p 1022 56 p 1023 56 p 988 56 p 1027 56 p 1026 56 p 262 56 p 250 56 p 1020 55 p 1024 55 p 1022 55 p 1078 55 p 996 55 p 261 55 p 262 55 p 1025 54 p 989 54 p 1026 54 p 931 54 p 1029 54 p 263 54 p 251 54 p 1025 53 p 989 53 p 1026 53 p 1027 53 p 1023 53 p 263 53 p 250 53 p 1027 52 p 1026 52 p 1023 52 p 930 52 p 995 52 p 262 52 p 263 52 p 1028 51 p 991 51 p 1029 51 p 900 51 p 1030 51 p 264 51 p 252 51 p 1028 50 p 991 50 p 1029 50 p 931 50 p 1025 50 p 264 50 p 251 50 p 1028 49 p 900 49 p 1030 49 p 757 49 p 1031 49 p 252 49 p 265 49 p 1030 48 p 757 48 p 1031 48 p 753 48 p 1032 48 p 252 48 p 266 48 p 1031 47 p 753 47 p 1032 47 p 252 47 p 267 47 p 1033 46 p 1034 46 p 1001 46 p 253 46 p 268 46 p 1033 45 p 1034 45 p 1001 45 p 1040 45 p 1035 45 p 268 45 p 254 45 p 1035 44 p 1036 44 p 1004 44 p 1034 44 p 1040 44 p 254 44 p 269 44 p 1035 43 p 1036 43 p 1004 43 p 1045 43 p 1041 43 p 269 43 p 255 43 p 1037 42 p 287 42 p 1038 42 p 1039 42 p 1040 42 p 269 42 p 4 42 p 1037 41 p 287 41 p 1038 41 p 1043 41 p 1045 41 p 269 41 p 5 41 p 1039 40 p 1037 40 p 1040 40 p 268 40 p 4 40 p 1039 39 p 1037 39 p 1040 39 p 1034 39 p 1035 39 p 268 39 p 269 39 p 1041 38 p 1042 38 p 1005 38 p 1036 38 p 1045 38 p 255 38 p 270 38 p 1041 37 p 1042 37 p 1005 37 p 1048 37 p 1049 37 p 270 37 p 256 37 p 1043 36 p 292 36 p 1044 36 p 1038 36 p 1045 36 p 270 36 p 5 36 p 1043 35 p 292 35 p 1044 35 p 1046 35 p 1048 35 p 270 35 p 6 35 p 1038 34 p 1043 34 p 1045 34 p 1036 34 p 1041 34 p 269 34 p 270 34 p 1046 33 p 296 33 p 1047 33 p 1044 33 p 1048 33 p 271 33 p 6 33 p 1046 32 p 296 32 p 1047 32 p 1052 32 p 1054 32 p 271 32 p 7 32 p 1044 31 p 1046 31 p 1048 31 p 1042 31 p 1049 31 p 270 31 p 271 31 p 1042 30 p 1048 30 p 1049 30 p 1054 30 p 1055 30 p 256 30 p 271 30 p 1050 29 p 1051 29 p 1012 29 p 1055 29 p 1009 29 p 257 29 p 272 29 p 1050 28 p 1051 28 p 1012 28 p 1060 28 p 1056 28 p 272 28 p 258 28 p 1052 27 p 300 27 p 1053 27 p 1047 27 p 1054 27 p 272 27 p 7 27 p 1052 26 p 300 26 p 1053 26 p 1058 26 p 1060 26 p 272 26 p 8 26 p 1047 25 p 1052 25 p 1054 25 p 1049 25 p 1055 25 p 271 25 p 272 25 p 1055 24 p 1050 24 p 1009 24 p 1049 24 p 1054 24 p 256 24 p 272 24 p 1056 23 p 1057 23 p 1015 23 p 1051 23 p 1060 23 p 258 23 p 273 23 p 1056 22 p 1057 22 p 1015 22 p 1063 22 p 1064 22 p 273 22 p 259 22 p 1058 21 p 304 21 p 1059 21 p 1053 21 p 1060 21 p 273 21 p 8 21 p 1058 20 p 304 20 p 1059 20 p 1061 20 p 1063 20 p 273 20 p 9 20 p 1053 19 p 1058 19 p 1060 19 p 1051 19 p 1056 19 p 272 19 p 273 19 p 1061 18 p 308 18 p 1062 18 p 1059 18 p 1063 18 p 274 18 p 9 18 p 1061 17 p 308 17 p 1062 17 p 1065 17 p 1067 17 p 274 17 p 10 17 p 1059 16 p 1061 16 p 1063 16 p 1057 16 p 1064 16 p 273 16 p 274 16 p 1057 15 p 1063 15 p 1064 15 p 1067 15 p 1068 15 p 259 15 p 274 15 p 1065 14 p 312 14 p 1066 14 p 1062 14 p 1067 14 p 275 14 p 10 14 p 1065 13 p 312 13 p 1066 13 p 1070 13 p 1072 13 p 275 13 p 11 13 p 1062 12 p 1065 12 p 1067 12 p 1064 12 p 1068 12 p 274 12 p 275 12 p 1068 11 p 1069 11 p 1018 11 p 1064 11 p 1067 11 p 259 11 p 275 11 p 1068 10 p 1069 10 p 1018 10 p 1072 10 p 1073 10 p 275 10 p 260 10 p 1070 9 p 316 9 p 1071 9 p 1066 9 p 1072 9 p 276 9 p 11 9 p 1070 8 p 316 8 p 1071 8 p 1075 8 p 1077 8 p 276 8 p 12 8 p 1066 7 p 1070 7 p 1072 7 p 1069 7 p 1073 7 p 275 7 p 276 7 p 1073 6 p 1074 6 p 1021 6 p 1069 6 p 1072 6 p 260 6 p 276 6 p 1073 5 p 1074 5 p 1021 5 p 1077 5 p 1078 5 p 276 5 p 261 5 p 1075 4 p 320 4 p 1076 4 p 1071 4 p 1077 4 p 277 4 p 12 4 p 1075 3 p 320 3 p 1076 3 p 1079 3 p 994 3 p 277 3 p 13 3 p 1071 2 p 1075 2 p 1077 2 p 1074 2 p 1078 2 p 276 2 p 277 2 p 1078 1 p 996 1 p 1024 1 p 1074 1 p 1077 1 p 261 1 p 277 1 p 1079 0 p 324 0 p 993 0 p 1076 0 p 994 0 p 278 0 p 13 0 p showpage %%EndDocument @endspecial 883 x Fi(7.3)70 b(Mark)n(o)n(v)25 b(Chains)60 1223 y Fl(Mark)o(o)o(v)15 b(c)o(hain)g(matrices)f(arising)i(from)e(a)i (random)f(w)o(alk)h(on)g(a)g(triangular)g(grid.)21 b(This)16 b(is)f(mainly)60 1283 y(useful)c(for)h(testing)g(nonsymmetric)c(eigen)o(v)m (alue)i(co)q(des.)20 b(It)12 b(has)g(b)q(een)f(suggested)i(b)o(y)e(G.W.)g (Stew)o(art)60 1343 y(in)16 b(one)h(of)g(his)g(pap)q(ers)h([10])e(and)i(w)o (as)f(used)g(b)o(y)f(Y.)g(Saad)i(in)e(a)h(few)g(subsequen)o(t)f(pap)q(ers)i (as)f(a)g(test)60 1404 y(problem)e(for)h(nonsymmetric)d(eigen)o(v)m(alue)i (metho)q(ds,)g(see,)h(e.g.,)f([8].)60 1548 y Fi(7.4)70 b(Other)22 b(Matrices)60 1640 y Fl(Curren)o(tly)d(w)o(e)h(ha)o(v)o(e)f(only)i(one)f (additional)g(set)g(of)h(matrices.)31 b(These)20 b(are)h(the)f(test)g (matrices)1900 1622 y Fd(2)60 1700 y Fl(from)f(Zlatev)g(et.)31 b(al.)h([12])20 b(and)g(Osterb)o(y)f(and)h(Zlatev)f([7].)32 b(The)19 b(\014rst)i(t)o(w)o(o)e(matrix)f(generators)60 1761 y(describ)q(ed)f(in)g(the)g(ab)q(o)o(v)o(e)g(references)f(are)h(referred)f (to)i(as)g Fj(D)q Fl(\()p Fj(n;)8 b(c)p Fl(\))18 b(and)g Fj(E)s Fl(\()p Fj(n;)8 b(c)p Fl(\))17 b(resp)q(ectiv)o(ely)l(.)k(A)60 1821 y(more)d(elab)q(orate)i(class)f(where)g(more)f(than)i(t)o(w)o(o)f (parameters)f(can)i(b)q(e)f(v)m(aried,)g(is)h(referred)e(to)h(as)60 1881 y(the)c(class)h Fj(F)7 b Fl(\()p Fj(m;)h(n;)g(c;)g(r)o(;)g(\013)p Fl(\))13 b(in)i([7,)g(12)q(].)21 b(The)15 b(three)g(subroutines)g(to)h (generate)f(these)g(matrices)f(are)60 1941 y(called)k(MA)l(TRF2)g(\(for)h (the)f(class)h Fj(F)7 b Fl(\()p Fj(m;)h(n;)g(c;)g(r)o(;)g(\013)p Fl(\))17 b(\),)i(DCN)f(\(for)h(the)g(class)f Fj(D)q Fl(\()p Fj(c;)8 b(n)p Fl(\)\))20 b(and)f(ECN)60 2001 y(\(for)d(the)g(class)h Fj(E)s Fl(\()p Fj(c;)8 b(n)p Fl(\)\).)21 b(These)16 b(co)q(des)g(can)h (generate)f(rectangular)g(as)h(w)o(ell)e(as)i(square)f(matrices)60 2062 y(and)h(allo)o(w)f(a)h(go)q(o)q(d)h(\015exibilit)o(y)13 b(in)j(making)f(the)i(matrices)d(more)h(or)i(less)f(dense)g(and)h(more)e(or)h (less)60 2122 y(w)o(ell)f(conditioned.)60 2288 y Fk(8)83 b(The)27 b(ORDERING)h(Routines)60 2398 y Fl(The)16 b(follo)o(wing)g(subroutines)h(are) f(a)o(v)m(ailable)g(in)g(the)g(directory)f(ORDERINGS.)120 2548 y Fh(levset.f)215 b Fl(Reordering)21 b(based)i(on)f(lev)o(el)d(sets,)k (including)e(Cuthill-McKee)e(imple-)510 2608 y(men)o(ted)14 b(with)i(breadth)h(\014rst)f(searc)o(h.)p 60 2642 744 2 v 116 2673 a Fc(2)135 2688 y Fo(These)f(subroutines)g(ha)o(v)o(e)f(b)q(een)h(con)o (tributed)f(to)g(the)g(author)g(b)o(y)g(E.)g(Rothman)d(from)h(Cornell)i(Univ) o(ersit)o(y)m(.)p eop %%Page: 27 27 27 26 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(27)120 132 y Fh(color.f)237 b Fl(Reordering)22 b(based)g(on)g(coloring,)h(including) e(a)h(greedy)g(algorithm)f(for)510 192 y(m)o(ulticolor)14 b(ordering.)120 300 y Fh(ccn.f)276 b Fl(Reordering)27 b(routines)f(based)i(on)f(strongly)g (connected)f(comp)q(onen)o(ts.)510 360 y(Con)o(tributed)16 b(b)o(y)f(Laura)j(C.)e(Dutto)g(from)f(the)h(Univ)o(ersit)o(y)e(of)i(Mon)o (treal.)60 499 y Fk(9)83 b(The)27 b(ITSOL)h(directory)60 609 y Fl(In)16 b(ITSOL,)g(the)g(follo)o(wing)g(is)g(a)o(v)m(ailable.)120 669 y Fh(ILUT)253 b Fl(Preconditioned)16 b(GMRES)g(algorithm)f(with)h(four)h (preconditioners:)120 789 y Fh(pgmres)212 b Fl(Preconditioned)16 b(GMRES)g(solv)o(er.)21 b(This)16 b(solv)o(er)g(ma)o(y)e(b)q(e)j(used)f(with) h(all)510 849 y(four)i(of)g(the)g(precondioners)f(b)q(elo)o(w.)29 b(Supp)q(orts)20 b(righ)o(t)e(preconditioning)510 909 y(only)l(.)120 1018 y Fh(ilut)305 b Fl(A)13 b(robust)i(preconditioner)e(called)g(ILUT)g (whic)o(h)g(uses)i(a)f(dual)g(threshold-)510 1078 y(ing)h(strategy)g(for)g (dropping)h(elemen)o(ts.)i(Arbitrary)c(accuracy)g(is)h(allo)o(w)o(ed)510 1138 y(in)h(ILUT.)120 1237 y Fh(ilutp)274 b Fl(ILUT)16 b(with)g(partial)g (piv)o(oting)120 1357 y Fh(ilu0)299 b Fl(simple)14 b(ILU\(0\))i (preconditioning)120 1477 y Fh(milu0)251 b Fl(MILU\(0\))16 b(preconditioning)120 1597 y Fh(ITERS)220 b Fl(This)15 b(\014le)f(curren)o (tly)f(has)j(sev)o(eral)d(basic)i(iterativ)o(e)e(linear)h(system)g(solv)o (ers)510 1658 y(whic)o(h)i(use)g(rev)o(erse)f(comm)o(uni)o(cation.)k(They)d (are:)120 1766 y Fh(cg)337 b Fl(Conjugate)17 b(Gradien)o(t)f(Metho)q(d)120 1886 y Fh(cgnr)283 b Fl(Conjugate)17 b(Gradien)o(t)f(Metho)q(d-)h(for)g (Normal)d(Residual)i(equation)120 2006 y Fh(b)r(cg)304 b Fl(BiConjugate)16 b(Gradien)o(t)g(Metho)q(d)120 2127 y Fh(b)r(cgstab)202 b Fl(BCG)16 b(stablized)120 2247 y Fh(tfqmr)250 b Fl(T)l(ransp)q(oseF)l(ree)17 b(QuasiMinim)o(um)12 b(Residual)k(metho)q(d)120 2367 y Fh(gmres)243 b Fl(Generalized)15 b(Minim)o(um)d(Residual)k(metho)q(d)120 2487 y Fh(fgmres)226 b Fl(Flexible)14 b(v)o(ersion)h(of)i(Generalized)e (Minim)o(um)d(Residual)k(metho)q(d)120 2607 y Fh(dqgmres)182 b Fl(Direct)15 b(v)o(ersions)h(of)h(Quasi)f(Generalized)f(Minim)o(um)d (Residual)k(metho)q(d)p eop %%Page: 28 28 28 27 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(28)120 132 y Fh(db)r(cg)273 b Fl(BCG)16 b(with)g(partial)h(piv)o(oting)60 296 y Fk(10)83 b(The)27 b(UNSUPP)i(directory)60 406 y Fl(In)16 b(addition)h(to)f(the)h(basic)f(to)q(ols)h(describ)q(ed)f(in)g(the)g (previous)g(sections,)g(SP)l(ARSKIT)g(includes)g(a)60 466 y(directory)e (called)f(UNSUPP)h(includes)f(soft)o(w)o(are)i(that)g(is)f(not)h(necessarily) e(p)q(ortable)i(or)g(that)g(do)q(es)60 526 y(not)21 b(\014t)f(in)f(all)h (previous)g(mo)q(dules.)32 b(F)l(or)20 b(example)e(soft)o(w)o(are)i(for)g (viewing)g(matrix)e(patterns)j(on)60 586 y(some)e(particular)h(w)o (orkstation)g(ma)o(y)f(b)q(e)h(found)g(here.)32 b(Another)20 b(example)e(is)i(routines)g(related)60 647 y(to)f(matrix)d(exp)q(onen)o (tials.)28 b(Man)o(y)18 b(of)g(these)g(are)h(a)o(v)m(ailable)e(from)h(NETLIB) g(but)g(others)h(ma)o(y)e(b)q(e)60 707 y(con)o(tributed)e(b)o(y)h(researc)o (hers)g(for)g(comparison)g(purp)q(oses.)60 850 y Fi(10.1)70 b(Plots)60 942 y Fl(The)16 b(follo)o(wing)g(items)f(are)h(a)o(v)m(ailable)f (in)h(PLOTS.)120 1092 y Fh(PSGRD)192 b Fl(con)o(tains)16 b(subroutine)h ("psgrid")g(whic)o(h)f(plots)g(a)h(symmetri)o(c)c(graph.)120 1212 y Fh(TEXPL)-5 b(T1)138 b Fl(con)o(tains)18 b(subroutine)g("texplt")g (allo)o(ws)g(sev)o(eral)f(matrices)f(in)i(the)g(same)510 1273 y(picture)d(b)o(y)g(calling)g(texplt)g(sev)o(eral)g(times)e(and)k(exploiting) e(job)h(and)g(dif-)510 1333 y(feren)o(t)f(shifts.)120 1432 y Fh(TEX)n(GRID1)96 b Fl(con)o(tains)18 b(subroutine)h("texgrd")g(whic)o(h)f (generates)g(tex)g(commands)f(for)510 1492 y(plotting)h(a)g(symmetri)o(c)d (graph)k(asso)q(ciated)g(with)e(a)h(mesh.)25 b(Allo)o(ws)17 b(sev-)510 1552 y(eral)f(grids)g(in)g(the)g(same)f(picture)g(b)o(y)h(calling) f(texgrd)h(sev)o(eral)f(times)f(and)510 1612 y(exploiting)h(job)i(and)g (di\013eren)o(t)e(shifts.)60 1736 y Fi(10.2)70 b(Matrix)23 b(Exp)r(onen)n(tials)60 1828 y Fl(Tw)o(o)17 b(subroutines)f(are)h(a)o(v)m (ailable)e(in)h(this)g(directory)l(.)120 1978 y Fh(EXPPR)n(O)153 b Fl(A)17 b(subroutine)g(for)h(computing)e(the)h(pro)q(duct)h(of)g(a)f (matrix)f(exp)q(onen)o(tial)510 2038 y(times)e(a)j(v)o(ector,)e(i.e.)20 b Fj(w)15 b Fl(=)f Fj(exp)p Fl(\()p Fj(t)h(A)p Fl(\))h Fj(v)r Fl(.)120 2152 y Fh(PHIPR)n(O)167 b Fl(computes)12 b Fj(w)k Fl(=)d Fj(\036)p Fl(\()p Fj(A)g(t)p Fl(\))h Fj(v)r Fl(,)f(where)g Fj(\036)p Fl(\()p Fj(x)p Fl(\))g(=)h(\(1)6 b Fg(\000)g Fj(exp)p Fl(\()p Fj(x)p Fl(\)\))p Fj(=x)p Fl(;)14 b(Also)f(allo)o(ws)510 2213 y(to)k(solv)o(e)e(the)h(system)f(of)h(ODE's)h Fj(y)1174 2194 y Fb(0)1199 2213 y Fl(=)d Fj(Ay)e Fl(+)f Fj(b)p Fl(.)60 2350 y Fk(11)83 b(Distribution)60 2459 y Fl(The)18 b(SP)l(ARSKIT)g(pac)o(k)m (age)h(follo)o(ws)f(the)g(Linpac)o(k-Eispac)o(k)g(approac)o(h)h(in)f(that)h (it)e(aims)h(at)g(pro-)60 2519 y(viding)d(e\016cien)o(t)e(and)i(w)o(ell)f (tested)h(subroutines)g(written)g(in)g(p)q(ortable)g(F)o(OR)l(TRAN.)e (Similarly)g(to)60 2580 y(the)g(Linpac)o(k)g(and)h(Eispac)o(k)e(pac)o(k)m (ages,)i(the)f(goal)h(is)f(to)h(mak)o(e)d(a)o(v)m(ailable)i(a)g(common)e (base)j(of)f(useful)60 2640 y(co)q(des)j(for)g(a)g(sp)q(eci\014c)f(area)h(of) g(computation,)e(in)i(this)f(case)h(sparse)g(linear)f(algebra.)21 b(The)16 b(pac)o(k)m(age)60 2700 y(is)g(in)g(the)g(public)f(domain)h(and)h (will)e(b)q(e)h(made)f(accessible)g(through)i(the)f(in)o(ternet.)p eop %%Page: 29 29 29 28 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(29)120 132 y(See)12 b(Figure)f(1)i(for)f(an)h(illustration)e(of)i(the)f (organization)h(of)f(SP)l(ARSKIT.)f(Read)h(the)g(README)60 192 y(\014le)k(in)f(the)h(main)f(directory)h(for)g(more)f(information.)120 252 y(F)l(or)h(information)g(concerning)f(distribution)h(con)o(tact)g(the)g (author)i(at)e(saad@cs.umn.edu.)60 418 y Fk(12)83 b(Conclusion)26 b(and)h(F)-7 b(uture)27 b(Plans)60 528 y Fl(It)11 b(is)f(hop)q(ed)i(that)g (SP)l(ARSKIT)e(will)g(b)q(e)h(useful)g(in)g(man)o(y)e(w)o(a)o(ys)i(to)h (researc)o(hers)e(in)h(di\013eren)o(t)f(areas)i(of)60 588 y(scien)o(ti\014c)f (computing.)19 b(In)13 b(this)f(v)o(ersion)g(of)i(SP)l(ARSKIT,)d(there)i(are) g(few)f(sparse)i(problem)d(solv)o(ers,)60 648 y(suc)o(h)16 b(as)g(direct)f(solution)h(metho)q(ds,)g(or)g(eigen)o(v)m(alue)f(solv)o(ers.) 20 b(Some)15 b(of)h(these)g(are)g(a)o(v)m(ailable)f(from)60 708 y(di\013eren)o(t)e(sources)i(and)g(w)o(e)f(felt)f(that)i(it)f(w)o(as)h (not)g(appropriate)f(to)h(pro)o(vide)f(additional)g(ones.)21 b(The)60 769 y(original)16 b(motiv)m(ation)e(for)i(SP)l(ARSKIT)g(is)f(that)h (there)g(is)f(a)h(gap)h(to)f(\014ll)f(in)g(the)h(manipulation)e(and)60 829 y(basic)i(computations)f(with)h(sparse)g(matrices.)j(Once)c(this)h(gap)h (is)e(\014lled)g(with)g(some)g(satisfaction,)60 889 y(then)h(additional)g (functionalit)o(y)f(ma)o(y)g(b)q(e)h(added.)120 949 y(W)l(e)i(brie\015y)f (men)o(tioned)f(in)i(the)f(in)o(tro)q(duction)h(the)g(p)q(ossibilit)o(y)f(of) i(using)f(SP)l(ARSKIT)g(to)g(de-)60 1009 y(v)o(elop)12 b(an)h(in)o(teractiv)o (e)d(pac)o(k)m(age.)20 b(Large)13 b(matrices)e(of)i(dimension)e(tens)h(of)h (of)g(thousands)h(can)f(easily)60 1070 y(b)q(e)19 b(manipulated)f(with)h(the) g(curren)o(t)f(sup)q(ercomputers,)h(in)f(real)h(time.)28 b(One)19 b(of)g(the)g(di\016culties)60 1130 y(with)g(suc)o(h)f(an)i(in)o(teractiv)o(e) c(pac)o(k)m(age)j(is)g(that)g(w)o(e)g(do)g(not)h(y)o(et)e(ha)o(v)o(e)g (reliable)f(routines)i(for)g(com-)60 1190 y(puting)d(eigen)o(v)m(alues/eigen) o(v)o(ectors)d(of)j(large)g(sparse)g(matrices.)k(The)15 b(state)h(of)g(the)g (art)g(in)f(solving)60 1250 y(linear)j(systems)f(is)h(in)g(a)h(m)o(uc)o(h)d (b)q(etter)i(situation.)28 b(Ho)o(w)o(ev)o(er,)16 b(one)j(m)o(ust)e(not)i (con)o(template)d(p)q(er-)60 1310 y(forming)h(the)h(same)f(t)o(yp)q(e)h(of)h (computations)f(as)h(with)f(small)e(dense)i(matrices.)26 b(As)18 b(an)h(example,)60 1370 y(getting)i(all)g(the)g(eigen)o(v)m(alues)f(of)h(a)h (sparse)g(matrix)d(is)i(not)h(lik)o(ely)c(to)k(b)q(e)f(to)q(o)h(useful)f (when)g(the)60 1431 y(matrix)15 b(is)h(v)o(ery)f(large.)120 1491 y(Bey)o(ond)e(in)o(teractiv)o(e)e(soft)o(w)o(are)i(for)h(sparse)g (linear)f(algebra,)h(one)g(can)g(en)o(vision)e(the)h(in)o(tegration)60 1551 y(of)h(SP)l(ARSKIT)g(in)g(a)g(larger)g(pac)o(k)m(age)h(dev)o(oted)e(to)i (solving)f(certain)f(t)o(yp)q(es)h(of)g(P)o(artial)g(Di\013eren)o(tial)60 1611 y(Equations,)i(p)q(ossibly)h(in)o(teractiv)o(ely)l(.)60 2061 y Fh(Ac)n(kno)n(wledgemen)n(ts.)29 b Fl(The)19 b(idea)g(of)h(creating)f (a)g(to)q(ol)h(pac)o(k)m(age)g(for)f(sparse)h(matrices)e(germi-)60 2122 y(nated)12 b(while)e(the)i(author)g(w)o(as)g(at)g(the)g(Cen)o(ter)e(for) i(Sup)q(ercomputing)f(Researc)o(h)g(and)h(Dev)o(elopmen)o(t)60 2182 y(of)k(the)f(Univ)o(ersit)o(y)e(of)j(Illinois)e(\(1986-1987\))19 b(and)d(part)g(of)g(this)f(w)o(ork)h(w)o(as)g(p)q(erformed)e(there.)20 b(Ini-)60 2242 y(tially)i(the)g(author)i(has)g(b)q(ene\014ted)f(from)f (helpful)g(commen)o(ts)e(from)i(Iain)g(Du\013)i(\(then)f(visiting)60 2302 y(CSRD\))17 b(and)h(a)f(n)o(um)o(b)q(er)f(of)h(colleagues)g(at)g(CSRD.)g (Billy)e(Stew)o(art)i(and)g(his)g(studen)o(ts)g(at)h(NCSU)60 2362 y(used)j(a)h(preliminary)c(v)o(ersion)i(of)i(SP)l(ARSKIT)e(in)h(a)g (class)g(pro)s(ject)g(and)g(made)f(some)g(v)m(aluable)60 2423 y(commen)o(ts.)36 b(Ernie)21 b(Rothman)h(\(Cornell\))f(and)i(Laura)h(Dutto)e (\(Mon)o(treal\))g(con)o(tributed)f(some)60 2483 y(soft)o(w)o(are.)g(The)14 b(author)h(has)g(also)f(b)q(ene\014ted)g(from)f(helpful)g(discussions)i(from) e(a)h(n)o(um)o(b)q(er)e(of)j(other)60 2543 y(colleagues,)20 b(including)g(Mik)o(e)e(Heroux,)j(Giusepp)q(e)f(Radicatti,)g(Ahmed)f(Sameh,)g (Horst)i(Simon,)60 2603 y(Ph)o(uong)d(V)l(u,)e(and)i(Harry)e(Wijsho\013.)24 b(Studen)o(ts)17 b(who)g(con)o(tributed)g(to)g(v)o(ersion)f(2)h(of)g(SP)l (ARSKIT)60 2663 y(include)e(Kesheng)h(W)l(u,)g(Edmond)g(Cho)o(w,)g(and)h (Dongli)g(Su.)p eop %%Page: 30 30 30 29 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(30)60 140 y Fk(References)84 249 y Fl([1])24 b(E.)19 b(C.)g(Anderson)h(and)g(Y.)e (Saad.)31 b(Solving)19 b(sparse)h(triangular)g(systems)e(on)i(parallel)e (com-)160 310 y(puters.)j(T)l(ec)o(hnical)15 b(Rep)q(ort)i(794,)g(Univ)o (ersit)o(y)c(of)k(Illinois,)d(CSRD,)j(Urbana,)f(IL,)g(1988.)84 411 y([2])24 b(I.)c(S.)h(Du\013.)35 b(A)20 b(surv)o(ey)g(of)h(sparse)h (matrix)d(researc)o(h.)34 b(In)20 b Fq(Pr)n(o)n(c)n(e)n(e)n(dings)h(of)g(the) h(IEEE,)g(65)p Fl(,)160 471 y(pages)17 b(500{535,)i(New)d(Y)l(ork,)f(1977.)i (Pren)o(tice)e(Hall.)84 573 y([3])24 b(I.)c(S.)g(Du\013,)i(A.)d(M.)h (Erisman,)g(and)h(J.)f(K.)g(Reid.)33 b Fq(Dir)n(e)n(ct)21 b(Metho)n(ds)f(for) h(Sp)n(arse)g(Matric)n(es)p Fl(.)160 633 y(Clarendon)c(Press,)f(Oxford,)g (1986.)84 735 y([4])24 b(I.)13 b(S.)g(Du\013,)h(R.)f(G.)g(Grimes,)f(and)i(J.) f(G.)g(Lewis.)k(Sparse)d(matrix)e(test)h(problems.)i Fq(A)o(CM)g(tr)n(ans.) 160 795 y(Math.)i(Soft.)p Fl(,)g(15:1{14,)g(1989.)84 897 y([5])24 b(T.)18 b(C.)f(Opp)q(e)h(W)l(a)o(yne)f(Joub)q(ert)i(and)f(D.)f(R.)g(Kincaid.) 25 b(Nsp)q(cg)18 b(user's)g(guide.)f(a)h(pac)o(k)m(age)g(for)160 957 y(solving)j(large)g(linear)f(systems)f(b)o(y)h(v)m(arious)i(iterativ)o(e) d(metho)q(ds.)34 b(T)l(ec)o(hnical)19 b(rep)q(ort,)j(The)160 1017 y(Univ)o(ersit)o(y)14 b(of)i(T)l(exas)h(at)g(Austin,)e(1988.)84 1119 y([6])24 b(T.)16 b(C.)g(Opp)q(e)g(and)g(D.)g(R.)f(Kincaid.)20 b(The)c(p)q(erformance)f(of)h(ITP)l(A)o(CK)f(on)h(v)o(ector)f(computers)160 1179 y(for)24 b(solving)e(large)h(sparse)h(linear)e(systems)g(arising)h(in)g (sample)f(oil)g(reserv)o(oir)g(sim)o(ulation)160 1239 y(problems.)e Fq(Communic)n(ations)e(in)f(applie)n(d)h(numeric)n(al)g(metho)n(ds)p Fl(,)d(2:1{7,)i(1986.)84 1341 y([7])24 b(O.)d(Osterb)o(y)f(and)h(Z.)f (Zlatev.)34 b Fq(Dir)n(e)n(ct)21 b(metho)n(ds)g(for)g(sp)n(arse)g(matric)n (es)p Fl(.)34 b(Springer)21 b(V)l(erlag,)160 1401 y(New)16 b(Y)l(ork,)f(1983.)84 1503 y([8])24 b(Y.)19 b(Saad.)31 b(Cheb)o(yshev)19 b(acceleration)f(tec)o(hniques)g(for)i(solving)f(nonsymmetric)d(eigen)o(v)m (alue)160 1563 y(problems.)k Fq(Mathematics)e(of)f(Computation)p Fl(,)f(42:567{588,)j(1984.)84 1665 y([9])24 b(Y.)e(Saad.)42 b(Krylo)o(v)22 b(subspace)i(metho)q(ds)e(on)h(sup)q(ercomputers.)40 b Fq(SIAM)24 b(J.)f(Scient.)i(Stat.)160 1725 y(Comput.)p Fl(,)16 b(10:1200{1232)q(,)j(1989.)60 1827 y([10])24 b(G.W.)15 b(Stew)o(art.)k(SRRIT) 14 b(-)i(a)f(F)o(OR)l(TRAN)e(subroutine)j(to)f(calculate)f(the)h(dominan)o(t) f(in)o(v)m(ari-)160 1887 y(an)o(t)j(subspaces)g(of)g(a)f(real)g(matrix.)k(T)l (ec)o(hnical)15 b(Rep)q(ort)i(TR-514,)g(Univ)o(ersit)o(y)d(of)j(Maryland,)160 1947 y(College)f(P)o(ark,)g(MD,)f(1978.)60 2049 y([11])24 b(D.)13 b(M.)f(Y)l(oung,)i(T.C.)e(Opp)q(e,)h(D.)g(R.)f(Kincaid,)g(and)i(L.)f(J.)f(Ha) o(y)o(es.)j(On)e(the)f(use)h(of)g(v)o(ector)f(com-)160 2109 y(puters)18 b(for)g(solving)g(large)g(sparse)g(linear)f(systems.)25 b(T)l(ec)o(hnical)16 b(Rep)q(ort)i(CNA-199,)h(Cen)o(ter)160 2169 y(for)e(Numerical)c(Analysis,)i(Univ)o(ersit)o(y)f(of)j(T)l(exas)f(at)h (Austin,)e(Austin,)g(T)l(exas,)h(1985.)60 2271 y([12])24 b(Z.)19 b(Zlatev,)h(K.)f(Sc)o(haum)o(burg,)g(and)h(J.)f(W)l(asniewski.)31 b(A)20 b(testing)f(sc)o(heme)f(for)i(subroutines)160 2331 y(solving)c(large)h (linear)e(problems.)20 b Fq(Computers)d(and)h(Chemistry)p Fl(,)d(5:91{100,)j (1981.)p eop %%Page: 31 31 31 30 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(31)540 132 y Fh(APPENDIX:)19 b(QUICK)g(REFERENCE)120 282 y Fl(F)l(or)12 b(con)o(v)o(enience)e(w)o(e)h(list)g(in)h(this)f(app)q(endix)h(the)g(most)f (imp)q(ortan)o(t)g(subroutines)h(in)g(the)f(v)m(arious)60 342 y(mo)q(dules)17 b(of)i(SP)l(ARSKIT.)f(More)g(detailed)f(information)h(can)g (b)q(e)h(found)g(either)e(in)h(the)g(b)q(o)q(dy)i(of)60 402 y(the)c(pap)q(er)h(or)f(in)g(the)g(do)q(cumen)o(tation)g(of)g(the)g(pac)o(k)m (age.)748 552 y Fh(F)n(ORMA)-5 b(TS)21 b(Mo)r(dule)133 660 y Fg(\017)j Fl(CSRDNS)16 b(:)g(con)o(v)o(erts)f(a)i(ro)o(w-stored)g(sparse)g (matrix)e(in)o(to)g(the)h(dense)h(format.)133 760 y Fg(\017)24 b Fl(DNSCSR)16 b(:)g(con)o(v)o(erts)f(a)i(dense)f(matrix)f(to)h(a)h(sparse)g (storage)g(format.)133 860 y Fg(\017)24 b Fl(COOCSR)17 b(:)e(con)o(v)o(erts)h (co)q(ordinate)g(to)h(to)g(csr)f(format)133 960 y Fg(\017)24 b Fl(COICSR)16 b(:)g(in-place)g(con)o(v)o(ersion)f(of)h(co)q(ordinate)h(to)g (csr)f(format)133 1059 y Fg(\017)24 b Fl(CSR)o(COO)16 b(:)g(con)o(v)o(erts)f (compressed)g(sparse)i(ro)o(w)g(to)f(co)q(ordinate)h(format.)133 1159 y Fg(\017)24 b Fl(CSRSSR)17 b(:)e(con)o(v)o(erts)h(compressed)f(sparse)h (ro)o(w)h(to)g(symme)o(tric)c(sparse)k(ro)o(w)f(format.)133 1259 y Fg(\017)24 b Fl(SSR)o(CSR)16 b(:)g(con)o(v)o(erts)f(symmetric)e (sparse)j(ro)o(w)h(to)g(compressed)e(sparse)h(ro)o(w)h(format.)133 1359 y Fg(\017)24 b Fl(CSRELL)18 b(:)d(con)o(v)o(erts)h(compressed)f(sparse)h (ro)o(w)h(to)g(Ellpac)o(k)e(format)133 1459 y Fg(\017)24 b Fl(ELLCSR)18 b(:)d(con)o(v)o(erts)h(Ellpac)o(k)f(format)g(to)i(compressed)e (sparse)i(ro)o(w)f(format.)133 1559 y Fg(\017)24 b Fl(CSRMSR)15 b(:)f(con)o(v)o(erts)g(compressed)f(sparse)i(ro)o(w)g(format)f(to)h(mo)q (di\014ed)f(sparse)h(ro)o(w)g(format.)133 1659 y Fg(\017)24 b Fl(MSR)o(CSR)14 b(:)h(con)o(v)o(erts)f(mo)q(di\014ed)f(sparse)j(ro)o(w)f (format)f(to)h(compressed)f(sparse)h(ro)o(w)g(format.)133 1759 y Fg(\017)24 b Fl(CSR)o(CSC)c(:)f(con)o(v)o(erts)f(compressed)g(sparse)i(ro)o (w)f(format)g(to)h(compressed)e(sparse)i(column)182 1820 y(format)15 b(\(transp)q(osition\).)133 1920 y Fg(\017)24 b Fl(CSRLNK)16 b(:)g(con)o(v)o(erts)f(compressed)g(sparse)i(ro)o(w)g(to)f(link)o(ed)f(list)h (format.)133 2020 y Fg(\017)24 b Fl(LNK)o(CSR)16 b(:)g(con)o(v)o(erts)f(link) o(ed)g(list)g(format)h(to)g(compressed)f(sparse)i(ro)o(w)g(fm)o(t.)133 2119 y Fg(\017)24 b Fl(CSRDIA)16 b(:)g(con)o(v)o(erts)f(the)h(compressed)f (sparse)i(ro)o(w)f(format)g(in)o(to)g(the)g(diagonal)h(format.)133 2219 y Fg(\017)24 b Fl(DIA)o(CSR)15 b(:)h(con)o(v)o(erts)g(the)g(diagonal)h (format)e(in)o(to)h(the)g(compressed)f(sparse)i(ro)o(w)f(format.)133 2319 y Fg(\017)24 b Fl(BSR)o(CSR)18 b(:)h(con)o(v)o(erts)f(the)h(blo)q(c)o (k-ro)o(w)f(sparse)i(format)e(in)o(to)h(the)g(compressed)e(sparse)j(ro)o(w) 182 2380 y(format.)133 2480 y Fg(\017)k Fl(CSRBSR)19 b(:)f(con)o(v)o(erts)g (the)g(compressed)g(sparse)h(ro)o(w)g(format)g(in)o(to)f(the)h(blo)q(c)o (k-ro)o(w)f(sparse)182 2540 y(format.)133 2640 y Fg(\017)24 b Fl(CSRBND)d(:)g(con)o(v)o(erts)g(the)g(compressed)f(sparse)i(ro)o(w)g (format)e(in)o(to)i(the)f(banded)h(format)182 2700 y(\(Linpac)o(k)16 b(st)o(yle\).)p eop %%Page: 32 32 32 31 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(32)133 132 y Fg(\017)24 b Fl(BNDCSR)13 b(:)h(con)o(v)o(erts)e(the)i(banded)g(format) f(\(Linpac)o(k)g(st)o(yle\))g(in)o(to)g(the)h(compressed)e(sparse)182 192 y(ro)o(w)k(storage.)133 293 y Fg(\017)24 b Fl(CSRSSK)c(:)g(con)o(v)o (erts)f(the)h(compressed)f(sparse)h(ro)o(w)h(format)e(to)h(the)g(symmetric)c (skyline)182 354 y(format)133 455 y Fg(\017)24 b Fl(SSKSSR)16 b(:)g(con)o(v)o(erts)g(symme)o(tric)d(skyline)i(format)g(to)i(symmetri)o(c)c (sparse)k(ro)o(w)g(format.)133 557 y Fg(\017)24 b Fl(CSRJAD)16 b(:)g(con)o(v)o(erts)f(the)h(csr)h(format)e(in)o(to)h(the)g(jagged)h (diagonal)g(format.)133 659 y Fg(\017)24 b Fl(JADCSR)16 b(:)g(con)o(v)o(erts) f(the)h(jagged-diagonal)j(format)c(in)o(to)h(the)g(csr)g(format.)133 760 y Fg(\017)24 b Fl(CSR)o(USS)16 b(:)g(con)o(v)o(erts)f(the)h(csr)g(format) g(to)g(unsymmetric)d(sparse)k(skyline)d(format.)133 862 y Fg(\017)24 b Fl(USSCSR)16 b(:)g(con)o(v)o(erts)f(unsymmetric)e(sparse)k(skyline)e (format)g(to)i(the)f(csr)g(format.)133 964 y Fg(\017)24 b Fl(CSRSSS)17 b(:)f(con)o(v)o(erts)f(the)h(csr)g(format)f(to)i(symmetric)12 b(sparse)17 b(skyline)e(format.)133 1066 y Fg(\017)24 b Fl(SSSCSR)17 b(:)f(con)o(v)o(erts)f(symmetri)o(c)e(sparse)k(skyline)e(format)g(to)i(the)f (csr)g(format.)133 1167 y Fg(\017)24 b Fl(CSR)-5 b(VBR)15 b(:)h(con)o(v)o (erts)f(compressed)g(sparse)i(ro)o(w)f(in)o(to)g(v)m(ariable)g(blo)q(c)o(k)g (ro)o(w)g(format.)133 1269 y Fg(\017)24 b Fl(VBR)o(CSR)15 b(:)h(con)o(v)o (erts)f(the)h(v)m(ariable)g(blo)q(c)o(k)g(ro)o(w)g(format)g(in)o(to)g(the)133 1371 y Fg(\017)24 b Fl(COOELL)19 b(:)e(con)o(v)o(erts)g(the)g(co)q(ordinate)i (format)d(in)o(to)i(the)f(Ellpac)o(k/Itpac)o(k)f(format.)25 b(com-)182 1431 y(pressed)16 b(sparse)h(ro)o(w)g(format.)783 1635 y Fh(UNAR)-5 b(Y)20 b(Mo)r(dule)133 1749 y Fg(\017)k Fl(SUBMA)l(T)15 b(:)h(extracts)g(a)g(submatrix)f(from)g(a)i(sparse)g(matrix.)133 1851 y Fg(\017)24 b Fl(FIL)l(TER)16 b(:)g(\014lters)g(elemen)o(ts)d(from)j(a) g(matrix)f(according)h(to)h(their)e(magnitude.)133 1953 y Fg(\017)24 b Fl(FIL)l(TERM:)16 b(Same)f(as)i(ab)q(o)o(v)o(e,)e(but)i(for)f(the)g(MSR)g (format.)133 2054 y Fg(\017)24 b Fl(TRANSP)16 b(:)g(in-place)f(transp)q (osition)j(routine)e(\(see)f(also)i(CSR)o(CSC)g(in)f(formats\))133 2156 y Fg(\017)24 b Fl(GETELM)17 b(:)f(returns)g Fj(a)p Fl(\()p Fj(i;)8 b(j)s Fl(\))16 b(for)g(an)o(y)g(\()p Fj(i;)8 b(j)s Fl(\))16 b(from)f(a)i(CSR-stored)g(matrix.)133 2258 y Fg(\017)24 b Fl(COPMA)l(T)16 b(:)g(copies)g(a)g(matrix)f(in)o(to)h(another)h(matrix)d (\(b)q(oth)j(stored)g(csr\).)133 2359 y Fg(\017)24 b Fl(MSR)o(COP)16 b(:)g(copies)g(a)g(matrix)f(in)h(MSR)g(format)f(in)o(to)h(a)h(matrix)d(in)i (MSR)g(format.)133 2461 y Fg(\017)24 b Fl(GETELM)17 b(:)f(returns)g(a\(i,j\)) g(for)g(an)o(y)h(\(i,j\))e(from)g(a)i(CSR-stored)g(matrix.)133 2563 y Fg(\017)24 b Fl(GETDIA)16 b(:)g(extracts)g(a)h(sp)q(eci\014ed)e (diagonal)i(from)f(a)g(matrix.)133 2664 y Fg(\017)24 b Fl(GETL)17 b(:)f(extracts)g(lo)o(w)o(er)f(triangular)i(part.)p eop %%Page: 33 33 33 32 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(33)133 132 y Fg(\017)24 b Fl(GETU)16 b(:)g(extracts)g(upp)q(er)h(triangular)f(part.) 133 232 y Fg(\017)24 b Fl(LEVELS)17 b(:)f(gets)h(the)f(lev)o(el)e(sc)o (heduling)h(structure)h(for)g(lo)o(w)o(er)g(triangular)g(matrices.)133 332 y Fg(\017)24 b Fl(AMASK)15 b(:)h(extracts)g Fj(C)h Fl(=)d Fj(A)c Fg(\014)h Fj(M)133 433 y Fg(\017)24 b Fl(RPERM)16 b(:)g(p)q(erm)o (utes)e(the)i(ro)o(ws)h(of)g(a)f(matrix)f(\()p Fj(B)h Fl(=)e Fj(P)7 b(A)p Fl(\))133 533 y Fg(\017)24 b Fl(CPERM)16 b(:)g(p)q(erm)o(utes)f (the)h(columns)f(of)h(a)h(matrix)d(\()p Fj(B)j Fl(=)d Fj(AQ)p Fl(\))133 633 y Fg(\017)24 b Fl(DPERM)16 b(:)g(p)q(erm)o(utes)f(a)h(matrix)f (\()p Fj(B)h Fl(=)e Fj(P)7 b(AQ)p Fl(\))16 b(giv)o(en)f(t)o(w)o(o)h(p)q(erm)o (utations)g(P)l(,)g(Q)133 734 y Fg(\017)24 b Fl(DPERM2)17 b(:)k(general)16 b(submatrix)f(p)q(erm)o(utation/extraction)g(routine.)133 834 y Fg(\017)24 b Fl(DMPERM)16 b(:)g(symmetri)o(c)d(p)q(erm)o(utation)i(of)i(ro) o(w)f(and)h(column)e(\(B=P)l(AP'\))g(in)h(MSR)g(fm)o(t.)133 934 y Fg(\017)24 b Fl(D)o(VPERM)16 b(:)f(p)q(erm)o(utes)g(a)i(v)o(ector)e (\(in-place\).)133 1034 y Fg(\017)24 b Fl(IVPERM)15 b(:)h(p)q(erm)o(utes)f (an)h(in)o(teger)g(v)o(ector)f(\(in-place\).)133 1135 y Fg(\017)24 b Fl(RETMX)16 b(:)g(returns)g(the)g(max)f(absolute)i(v)m(alue)f(in)f(eac)o(h) h(ro)o(w)h(of)f(the)g(matrix.)133 1235 y Fg(\017)24 b Fl(DIAPOS)16 b(:)g(returns)g(the)g(p)q(ositions)h(of)g(the)f(diagonal)h(elemen)o(ts)c(in)j (A.)133 1335 y Fg(\017)24 b Fl(EXTBDG)16 b(:)g(extracts)g(the)g(main)f (diagonal)i(blo)q(c)o(ks)f(of)g(a)h(matrix.)133 1436 y Fg(\017)24 b Fl(GETBWD)17 b(:)f(returns)g(the)g(bandwidth)h(information)e(on)i(a)f (matrix.)133 1536 y Fg(\017)24 b Fl(BLKFND)16 b(:)g(\014nds)g(the)g(blo)q(c)o (k-size)f(of)i(a)g(matrix.)133 1636 y Fg(\017)24 b Fl(BLK)o(CHK)15 b(:)h(c)o(hec)o(ks)f(whether)h(a)h(giv)o(en)e(in)o(teger)g(is)h(the)g(blo)q (c)o(k)g(size)f(of)i Fj(A)p Fl(.)133 1737 y Fg(\017)24 b Fl(INFDIA)15 b(:)g(obtains)i(information)f(on)g(the)g(diagonals)i(of)e Fj(A)p Fl(.)133 1837 y Fg(\017)24 b Fl(AMUBDG)15 b(:)h(computes)f(the)h(n)o(um)o(b)q (er)e(of)j(nonzero)g(elemen)n(ts)d(in)i(eac)o(h)g(ro)o(w)g(of)h Fj(A)10 b Fg(\003)h Fj(B)s Fl(.)133 1937 y Fg(\017)24 b Fl(APLBDG)16 b(:)g(computes)f(the)h(n)o(um)o(b)q(er)f(of)h(nonzero)h(elemen)o(ts)c(in)j (eac)o(h)g(ro)o(w)g(of)h Fj(A)11 b Fl(+)g Fj(B)s Fl(.)133 2038 y Fg(\017)24 b Fl(RNRMS)15 b(:)h(computes)f(the)h(norms)g(of)g(the)g(ro)o(ws) h(of)g Fj(A)p Fl(.)133 2138 y Fg(\017)24 b Fl(CNRMS)16 b(:)f(computes)h(the)g (norms)f(of)i(the)f(columns)f(of)h Fj(A)p Fl(.)133 2238 y Fg(\017)24 b Fl(R)o(OSCAL)16 b(:)g(scales)g(the)g(ro)o(ws)h(of)f(a)h(matrix)d(b)o(y)i (their)g(norms.)133 2339 y Fg(\017)24 b Fl(COSCAL)17 b(:)f(scales)g(the)g (columns)f(of)h(a)h(matrix)d(b)o(y)i(their)f(norms.)133 2439 y Fg(\017)24 b Fl(ADDBLK)16 b(:)g(adds)h(a)g(matrix)d(B)i(in)o(to)g(a)h(blo)q (c)o(k)e(of)i(A.)133 2539 y Fg(\017)24 b Fl(GET1UP)18 b(:)f(collects)f(the)h (\014rst)h(elemen)o(ts)d(of)i(eac)o(h)g(ro)o(w)h(of)g(the)f(upp)q(er)g (triangular)h(p)q(ortion)182 2600 y(of)e(the)g(matrix.)133 2700 y Fg(\017)24 b Fl(XTR)o(O)o(WS)15 b(:)h(extracts)g(giv)o(en)f(ro)o(ws)i (from)e(a)i(matrix)d(in)i(CSR)h(format.)p eop %%Page: 34 34 34 33 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(34)793 132 y Fh(INOUT)19 b(Mo)r(dule)133 244 y Fg(\017)24 b Fl(READMT)16 b(:)g(reads)g(matrices)f(in)h(the)g(b)q(o)q(eing/Harw)o(ell)g(format.)133 346 y Fg(\017)24 b Fl(PR)l(TMT)16 b(:)g(prin)o(ts)g(matrices)e(in)i(the)g(b)q (o)q(eing/Harw)o(ell)g(format.)133 447 y Fg(\017)24 b Fl(DUMP)16 b(:)g(prin)o(ts)g(ro)o(ws)g(of)h(a)f(matrix,)f(in)g(a)i(readable)f(format.) 133 548 y Fg(\017)24 b Fl(PL)l(TMT)17 b(:)f(pro)q(duces)h(a)f('pic')f(\014le) h(for)g(plotting)g(a)h(sparse)g(matrix.)133 650 y Fg(\017)24 b Fl(PSPL)l(TM)17 b(:)f(Generates)g(a)h(p)q(ost-script)g(plot)f(of)h(the)f (non-zero)g(pattern)h(of)f(A.)133 751 y Fg(\017)24 b Fl(SMMS)16 b(:)g(W)l(rite)f(the)h(matrix)f(in)g(a)i(format)f(used)g(in)g(SMMS)g(pac)o(k) m(age.)133 852 y Fg(\017)24 b Fl(READSM)16 b(:)g(Reads)g(matrices)f(in)h(co)q (ordinate)g(format)g(\(as)h(in)f(SMMS)f(pac)o(k)m(age\).)133 954 y Fg(\017)24 b Fl(READSK)16 b(:)g(Reads)g(matrices)f(in)h(CSR)g(format)g (\(simpli\014ed)d(H/B)j(formate\).)133 1055 y Fg(\017)24 b Fl(SKIT)16 b(:)g(W)l(rites)g(matrices)e(to)j(a)f(\014le,)f(format)h(same)f (as)i(ab)q(o)o(v)o(e.)133 1157 y Fg(\017)24 b Fl(PR)l(TUNF)15 b(:)h(W)l(rites)g(matrices)e(\(in)i(CSR)h(format\))e(unformatted.)133 1258 y Fg(\017)24 b Fl(READUNF)15 b(:)h(Reads)g(unformatted)g(data)h(of)g (matrices)d(\(in)i(CSR)g(format\).)817 1461 y Fh(INF)n(O)j(Mo)r(dule)133 1574 y Fg(\017)24 b Fl(INF)o(OFUN)14 b(:)i(routines)g(for)g(statistics)g(on)h (a)g(sparse)g(matrix.)760 1776 y Fh(MA)-5 b(TGEN)19 b(Mo)r(dule)133 1889 y Fg(\017)24 b Fl(GEN57PT)17 b(:)f(generates)h(5-p)q(oin)o(t)g(and)f (7-p)q(oin)o(t)h(matrices.)133 1990 y Fg(\017)24 b Fl(GEN57BL)17 b(:)f(generates)g(blo)q(c)o(k)g(5-p)q(oin)o(t)h(and)g(7-p)q(oin)o(t)g (matrices.)133 2092 y Fg(\017)24 b Fl(GENFEA)16 b(:)g(generates)g(\014nite)g (elemen)o(t)d(matrices)h(in)i(assem)o(bled)f(form.)133 2193 y Fg(\017)24 b Fl(GENFEU)16 b(:)g(generates)g(\014nite)g(elemen)o(t)d (matrices)h(in)i(unassem)o(bled)f(form.)133 2295 y Fg(\017)24 b Fl(ASSMB1)16 b(:)21 b(assem)o(bles)14 b(an)j(unassem)o(bled)e(matrix)f (\(as)j(pro)q(duced)g(b)o(y)f(genfeu\).)133 2396 y Fg(\017)24 b Fl(MA)l(TRF2)16 b(:)21 b(Routines)16 b(for)h(generating)f(sparse)h (matrices)d(b)o(y)i(Zlatev)f(et)h(al.)133 2497 y Fg(\017)24 b Fl(DCN:)16 b(Routines)g(for)g(generating)h(sparse)g(matrices)d(b)o(y)i (Zlatev)f(et)h(al.)133 2599 y Fg(\017)24 b Fl(ECN:)16 b(Routines)g(for)g (generating)h(sparse)g(matrices)d(b)o(y)i(Zlatev)f(et)h(al.)133 2700 y Fg(\017)24 b Fl(MARK)o(GEN:)14 b(subroutine)j(to)g(pro)q(duce)f(a)h (Mark)o(o)o(v)e(c)o(hain)h(matrix)e(for)j(a)g(random)e(w)o(alk.)p eop %%Page: 35 35 35 34 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(35)772 132 y Fh(BLASSM)19 b(Mo)r(dule)133 241 y Fg(\017)24 b Fl(AMUB)15 b(:)g(computes)g Fj(C)j Fl(=)13 b Fj(A)e Fg(\003)g Fj(B)19 b Fl(.)133 341 y Fg(\017)24 b Fl(APLB)16 b(:)g(computes)f Fj(C)i Fl(=)d Fj(A)d Fl(+)g Fj(B)18 b Fl(.)133 442 y Fg(\017)24 b Fl(APLSB)16 b(:)g(computes)f Fj(C)i Fl(=)d Fj(A)d Fl(+)g Fj(sB)s Fl(.)133 542 y Fg(\017)24 b Fl(APMBT)15 b(:)h(Computes)g Fj(C)h Fl(=)d Fj(A)d Fg(\006)f Fj(B)884 524 y Ff(T)911 542 y Fl(.)133 643 y Fg(\017)24 b Fl(APLSBT)16 b(:)g(Computes)g Fj(C)h Fl(=)d Fj(A)c Fl(+)h Fj(s)g Fg(\003)g Fj(B)966 625 y Ff(T)1010 643 y Fl(.)133 743 y Fg(\017)24 b Fl(DIAMUA)14 b(:)i(Computes)g Fj(C)h Fl(=)d Fj(D)q(iag)f Fg(\003)e Fj(A)16 b Fl(.)133 844 y Fg(\017)24 b Fl(AMUDIA)14 b(:)i(Computes)g Fj(C)h Fl(=)d Fj(A)d Fg(\003)g Fj(D)q(iag)18 b Fl(.)133 944 y Fg(\017)24 b Fl(APLDIA)16 b(:)g(Computes)f Fj(C)j Fl(=)13 b Fj(A)e Fl(+)g Fj(D)q(iag)18 b Fl(.)133 1045 y Fg(\017)24 b Fl(APLSCA)16 b(:)g(Computes)g Fj(A)d Fl(:=)g Fj(A)e Fl(+)g Fj(sI)20 b Fl(\()p Fj(s)c Fl(=)g(scalar\).)763 1244 y Fh(MA)-5 b(TVEC)20 b(Mo)r(dule)133 1354 y Fg(\017)k Fl(AMUX)15 b(:)g Fj(A)h Fl(times)f(a)h(v)o(ector.)k(Compressed)c(Sparse)h(Ro) o(w)f(\(CSR\))h(format.)133 1454 y Fg(\017)24 b Fl(A)l(TMUX)15 b(:)h Fj(A)451 1436 y Ff(T)494 1454 y Fl(times)e(a)j(v)o(ector.)j(CSR)d (format.)133 1555 y Fg(\017)24 b Fl(AMUXE)15 b(:)h Fj(A)f Fl(times)g(a)h(v)o (ector.)21 b(Ellpac)o(k/Itpac)o(k)14 b(\(ELL\))k(format.)133 1655 y Fg(\017)24 b Fl(AMUXD)15 b(:)h Fj(A)f Fl(times)g(a)h(v)o(ector.)21 b(Diagonal)c(\(DIA\))f(format.)133 1756 y Fg(\017)24 b Fl(AMUXJ)15 b(:)g Fj(A)h Fl(times)f(a)h(v)o(ector.)21 b(Jagged)c(Diagonal)g(\(JAD\))f (format.)133 1856 y Fg(\017)24 b Fl(VBRMV)14 b(:)i Fj(A)g Fl(times)e(a)j(v)o (ector.)j(V)l(ariable)c(Blo)q(c)o(k)f(Ro)o(w)h(\(VBR\))f(format.)133 1957 y Fg(\017)24 b Fl(LSOL)e(:)f(Unit)g(lo)o(w)o(er)f(triangular)i(system)d (solution.)37 b(Compressed)21 b(Sparse)g(Ro)o(w)h(\(CSR\))182 2017 y(format.)133 2117 y Fg(\017)i Fl(LDSOL)17 b(:)f(Lo)o(w)o(er)h (triangular)f(system)f(solution.)21 b(Mo)q(di\014ed)c(Sparse)f(Ro)o(w)h (\(MSR\))f(format.)133 2218 y Fg(\017)24 b Fl(LSOL)16 b(:)e(Unit)g(lo)o(w)o (er)g(triangular)i(system)d(solution.)21 b(Compressed)14 b(Sparse)i(Column)e (\(CSC\))182 2278 y(format.)133 2379 y Fg(\017)24 b Fl(LDSOLC:)17 b(Lo)o(w)o(er)e(triangular)h(system)e(solution.)22 b(Mo)q(di\014ed)15 b(Sparse)h(Column)f(\(MSC\))g(for-)182 2439 y(mat.)133 2539 y Fg(\017)24 b Fl(LDSOLL:)17 b(Lo)o(w)o(er)g(triangular)f(system)f(solution)i (with)f(lev)o(el)e(sc)o(heduling.)20 b(MSR)c(format.)133 2640 y Fg(\017)24 b Fl(USOL)c(:)f(Unit)g(upp)q(er)h(triangular)g(system)f (solution.)32 b(Compressed)19 b(Sparse)h(Ro)o(w)g(\(CSR\))182 2700 y(format.)p eop %%Page: 36 36 36 35 bop 60 0 a Fm(SP)l(ARSKIT)p 60 7 1853 2 v 1564 w Fl(36)133 132 y Fg(\017)24 b Fl(UDSOL)16 b(:)f(Upp)q(er)h(triangular)g(system)e (solution.)21 b(Mo)q(di\014ed)16 b(Sparse)g(Ro)o(w)g(\(MSR\))f(format.)133 233 y Fg(\017)24 b Fl(USOLC)g(:)g(Unit)f(upp)q(er)h(triangular)h(system)d (solution.)45 b(Compressed)23 b(Sparse)i(Column)182 293 y(\(CSC\))17 b(format.)133 395 y Fg(\017)24 b Fl(UDSOLC:)g(Upp)q(er)f(triangular)h(system) f(solution.)43 b(Mo)q(di\014ed)24 b(Sparse)g(Column)f(\(MSC\))182 455 y(format.)715 638 y Fh(ORDERINGS)18 b(Mo)r(dule)133 752 y Fg(\017)24 b Fl(levset.f)15 b(:)21 b(lev)o(el)14 b(set)i(based)h (reordering,)e(including)h(R)o(CM)133 854 y Fg(\017)24 b Fl(color.f)16 b(:)21 b(coloring)16 b(based)h(reordering)133 956 y Fg(\017)24 b Fl(ccn.f)15 b(:)21 b(reordering)16 b(based)h(on)g(strongly)f(connected)g (comp)q(onen)o(ts)804 1148 y Fh(ITSOL)j(Mo)r(dule)133 1262 y Fg(\017)24 b Fl(ILUT:)16 b(ILUT\(k\))f(preconditioned)h(GMRES)g(mini)e(pac) o(k)m(age.)133 1364 y Fg(\017)24 b Fl(ITERS:)16 b(nine)f(basic)i(iterativ)o (e)d(linear)i(system)e(solv)o(ers.)796 1556 y Fh(PLOTS)k(Mo)r(dule)133 1670 y Fg(\017)24 b Fl(PSGRD:)16 b(plots)h(a)g(symmetr)o(ic)c(graph.)133 1772 y Fg(\017)24 b Fl(TEXPL)l(T1:)e(allo)o(ws)17 b(sev)o(eral)e(matrices)f (in)i(the)g(same)f(picture.)133 1874 y Fg(\017)24 b Fl(TEX)o(GRID1:)d(allo)o (ws)16 b(sev)o(eral)g(grids)g(in)g(the)g(same)f(picture.)764 2066 y Fh(MA)-5 b(TEXP)20 b(Mo)r(dule)133 2180 y Fg(\017)k Fl(EXPPR)o(O:)15 b(computes)g Fj(w)g Fl(=)f Fj(exp)p Fl(\()p Fj(t)i(A)p Fl(\))g Fj(v)r Fl(.)133 2282 y Fg(\017)24 b Fl(PHIPR)o(O:)16 b(computes)g Fj(w)h Fl(=)e Fj(\036)p Fl(\()p Fj(A)i(t)p Fl(\))f Fj(v)r Fl(,)h(where)g Fj(\036)p Fl(\()p Fj(x)p Fl(\))e(=)g(\(1)d Fg(\000)g Fj(exp)p Fl(\()p Fj(x)p Fl(\)\))p Fj(=x)p Fl(.)24 b(Also)17 b(solv)o(es)f(the)182 2342 y(P)l(.D.E.)f(system)g Fj(y)526 2324 y Fb(0)551 2342 y Fl(=)f Fj(Ay)e Fl(+)f Fj(b)p Fl(.)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF sparskit-2.0.0/DOC/msh8.pdf0000640000265600020320000005235710213314306014455 0ustar tilleaadmin%PDF-1.3 %Çì¢ 5 0 obj <> stream xœËÎ캜çû)Ö0™¬X¾{ È8Éyƒ¹!=2ÈëÇ"e[Å*º¿ÖgŠVÛb‰ºøÿüþ–?Cý_ûïýüóïþóöç¿ÿ߆?ÿñüÿÿçÿüS øÓþó_?þý¿Nhÿ3þÖqüó¯ÿö_[þŒãòwÝÆ?eþ[¶éÏ¿>ÿü›?ÿö_ÿëŸÿð¯þÓ?ÛßñÏÿ;ÑÿyþóßyŸç?ûk¦¿ã^þüïþÇ?ÿ%üû´·cû3—’2Ë2ý]Žý.qfžÇšÇmý×áï° Qÿ\¦éﺃy.•¹ˆéØ–ÓÙ„¨µÌã¼ÿÝ_‰öçs¿pÝïs·Ûpl§»’±¿Æayþ}šËXÇËȼœ7rÃS1ëñw½ f˜ÿžÌycgã~©«ìßíLãÓzÓr¶Þ7³”ÑìÀ}Ef;ÿ±2]û1³}¯«Ù±ø‹?pïëä ò^Që¸G¯™9¬¾é¬vÈ©mغ‚/¶Ê±v¿Iâ´Á¶}¯-2‹µú˜}´ß×ÜN}ßkjVÊ>~õïü(ë—šq …ýÌ6söCÊ ·Ÿ¶SÎN.õ¸ùw>ÛüwþVQó°øsÖûÍT™Žjë|FÞl3?©­2¯?øí`½ð·ú3ò;öçwýUµ1M‡wþš×^o¦÷™Õ 3UÄú›õÏQÓ>ÙoV޾W«±ä.LûÙHÉ(Ãß!×·ºW¢sKûß%¶4Ù#3mЫC÷8'}mddaJyÎõíîfÿ< [Gµ´Ï}ßN–fëßæÒGÒmv'j}éo#%£ SÊw¢öbÏzÏ~ûuN¥ÔÇ¢jw=/ýÓ¾ïöRÏ.z²Þ—(S˜R¾s‹õPç;þFYܘ·á­>ë¸ç£{çaÚ­a¦÷8P2¾JxÎ5–ÑzhwaËãÇRºç]x¿Ú-/óÑQãð4îƒ!ãKd”ת&øMÈÊbí¸lΑVÖa #„ŽÈbÆ«'ÊÔ2M«?êÞ±š¸Æ÷‘ÙÏ3UGNøÜ33ù“¸tc£«ëo—ê¾™¡˜â»#¦Å§Ç@léè^¼”òqÇ9¼êcwë­£Ò}33*ö0¥|'ªuüØ ²-{xjé ãq ú›iÝüݶ·ž™(}˜R¾sÞí/Cß7 [§¥e^ëó‚e…þ{¨NKkÕ/#¡¢N ”DZžÍ~]èI2;GߊÑÎ`m¸N½?ÇlÝ: íÙU½± (Þ0#ýŽÔ<ŒóWŸš¥õü5öŸ&S([é3.ñÞf½r`d¤‰ y‰Ñ;½mØsf(k½…myófß+³]_â]ú6·þFôð‘È"ÍCH#ãã }Úr_&ï‘÷#æ½¢¿@LSŒ^›æûÙȨ( ¸ ¯1®;Å«c@…"{}¢Tä#FÞÕ7ÙSн°°U{ê>{˜ø4½Ÿ7{èÚË«{|bdDcJù-êó÷kZ^kôçûiá×ÈýtK޵—\÷øÄȘƔò]ׇЋ-yÌnÝWJ-µ3XúÓO­0ëû‰’)ö<«o=`|J–ûýÖ}}ó}]¼œVˆ[CW˜õÿL©øF”ôžm­æè¶¯¶\á|£V TÐkžÁÊ·}ºTºŠDÉÇ”ôžkìÝÙwÈ’-ïîûþbëK÷ ^¹¶cjO³ŽDɈǔðž©ï}¡Úhv†®ß5ž1`>ÇfÎBOÈeÑ(éUbë*HmU§ÿL¥ŸÔÙ’Ó8tïOO=ÇäHHã*â{MÓxôÏù؆åÇÞž'‹Ê-Œ½2o™icyˆ[D•*¹0&‡Gšk­¢-3¬6ˆQwFv\Ù਀-ùSÔ-)µ¹ž‡èwvÄVÁ<^ŠCE[¢„š`FùÎõU=ºì ‚ÈR"Š‹©™²–>#Yëe¤ ŒÔ‘aŸ#q˜ÇëväÞXbDWõl¨OlãAUÑ•(¡ˆ‘>³%&QØ–'B0†1Uó:çØ²é{Md\ ŒT‘^G;®‹0¾E;~ ûùŽX—…Äc„lõhOë1‡ì1ÖF”T DIÏÙÖî½v韶åù•c/¯5®ÕÒÊi®Eë5— "id”VˆŒô:ÖU¡3òÍ ¾‚{’Ξ¤äþxkŸA ¯ëXÍÑ'2’8Ëkb´ßlÉàÓñlíãhÛdÊôóÙUöŠªÝÐ䃵,v%”1Ê÷´¾ò,‘jŠwšûÈ$(ËZ]}?CË~Ù È´R9ËÕû u éwd,vMëgŒ{æŒçháÅ ¯ šÊ:ÜÉÒª\öâãò¾7 «›H´ÉÈTF¦f¼0K;ž>®çL+¢¤&‹”¼3¶5Ñhœ-Ù€jaÆÅ~“u% ÷7EB”T\L ωÙM•¬#´T¤ì÷E]–ŠEB·ÛY·«„6a†õ1ÒomiÇ·ÚšTGuÂÔ:°hJqÛ®'Xª¦X}£<';C‹áÃuޏ\¡lo>µÞç>ÿ1ÏvÓ-üg*…(¡¾˜Q¾3åÉ8ŒãDY[Ãøf©M+dÌŠaËö¦Qˆ’:Œ(é;Ûš-R°ò‹(_3 ÓøZ£žË~UR<«È”Z ŒÐ`Ð^+¶(ï|½^ìø˜èì×Üc=œýMß¹0=GÃê*…(©Ãˆ’ž³-“®çO«#åoÌ9dßjôéOT Ó¶™ÐïV馔cJz϶l,q>ð¯ÔZ'òN F¿LÍö ­Ðïíû)?Öå¾C¡±"#}Švlâîü¹×ÜÎVׂƒz"ÂÛhƒŒ•'§}Ý.©tQRFJú-lÙìaX÷M¶Úøæ€Œã9¶¨‹´¯ü¬X.ˆ  !½ ŒýùVÏ´×yôý1µ‰¥·Õì‘È|é³{=`åìëö;ñV‘ç†QÏF†õl Χ"ÎeIò}eð‰²{†J¨Of¤þ&JÝ•°å”,Qƒ ÃlS¾ fÂÏq«M.´é&­?™Qúš)é;QµEQÉc?Έ1ã+Ö¹ÿ…›£-±–)P¦”¾&JyNŒÏ~´Éò”òŸ g±˜jsJ`k,&¶ãz£¤eJil¢¤÷l«Ž}P§²%`HQ;kÞq¶‡û(k¯×Qƒ2£46QÊsbVR©ÄØ“€U0ž'Ûal?Ö3›¢Õ'SJa¥<'KÅäQ—7ÊŸƒ S™:{Ž`©þTgù­š•ŒRÖ‘^G¦å¿`­]`ü=¿ Æò!sç+3¦É;ïL{%õ5QÚs²U\ôAïJ”§®¤YJYo€90›Çx²WZyFjëÀH¿#cã¹sˆøâO{üèSgð¦ú¸6’ÛÆ+×(´)1RO%½&j™í×Ý'FÊçݦ ÆìLÕGuŸú½e>IrŽ_îl±P{L)+(¡Ò™Òw)žæ‚ka#UsX§T_ßîÐç`É'”Xi‚eJz•ÙBÕJ”÷dQÛÚRËGsZa V¥Hœ]ü@ÄØ2¢¯ ‘)¡‘‰ã JPiFêôÛWϽÚjw‡~7óoú¥~™’ž3åú´f¤®û{·å÷|oka]fú(©€™’¾µPn52×ý½[òû ž/Ì´ad”ö Œò9¦þwÈU sÝÕ›¿§à¯¿`MjMȌһDi¯‰ÚxQ×ݽÛòû ¾ï&†õÚõ!5!SJõ¥}'jßãŒmd®û{·d÷wýy1žkS¡™6$Jh^b”ßdÇSJ¨2#Õîî‹-¿;˜Óm¯O7Ã*u!SJû%}gªÎ¥×lGîÕuï–üþ‚çÖ…œÊãö\©C¦”î%JyNŒ¥#N¡8¿ÔwÝß»-¿¿óK“ƒ÷èFéC¦Xÿ£='Ê3û y¡@]÷÷nËïoƒÕ0žë˜ŽåŠ?B÷1Ãê—í7QÖ—Íeç,ÍC‡©¾/¶üî)Ûüô7eH”ÔµDIß#Õ|ÿJíCðj<æµ&k6f¢%Âþ|µ1ìdcZ»¥ˆ‰¾RTÔ‚þãk½¾ÕæËÅ¿ØÚ×¢ýªÊ»‚¨A_)*êGÁHß™òyþ÷úö}%…,¨-îaßDMú”–¢¢~Œôœ¨!®Ègf÷µz_,틉øàÕ°  J‹™¨#‰>G§ßßêÙ}—Ä«}lëô;åt=¨¤A_)*êGÁ(¿‰jOÛ—úöÑò¡ßl ýàb|æ4êGTXŠŠú‘í9QÛ÷Ú6?…á8Ö¾=‰ÚJWpQ> O –¢¢‚dFyNŒ2ñ­¶­®øbikëú“(Úc}j…"ê+EEýÈŒöœ¨iýZÛ6îa¢`lý÷UpQžl#õêJQQ=2£ü&ÆW¯|©m=¸½‰ñ¬ð²ÀÝÙ¡P½*êJP¤™ÑžGÊߪoõ­KÔÆ‚©ë:·~¦iÜlgiGÔ_‚"íÈŒô›)ë ¾Õ·zByï×M1µx^û€že ÙN¥‰Ñ^Ej±Y¢¹À;ÔÐÐ.;z)Ô1¤4á}Á»•=ƒ8 ÓNL)uÈ”ôЍ±m°y¯±íðn«Å¡à—_Ú)?¥ ˜b}ÈŒô¨Õ¿Ô¶µÝ²ï–6?»v]—vÚOi)¦”BdŠ}'¦FÇoµÕƒ+}™YË"ÂZØó–}Ûå°ßm.”” „V$JyNÌH˜u·'j[öWjvŸJ¯’<°>»>µ–"J(E¶$~„Õ°L­pe-SËbùaX¥{>eý2ÓDE¥½'j¶]ÝóØ¿/LM¯t=ˆ®w«H©ÄˆZ“-ù‰|_,µ8¶Zaz™zbJéC¦”_D-óÎŒ …`ih§ŸÞw¨ôSJù1%¼ŠÌì;J¾ÕW¸¥ÈÒ"Z}öí8í »TEJ*@¶¥|gJ*šHMm_Ô6¾z_OÃVgKm§Ù‚*OÚÓz„)¥³˜R¾5ú¹ñ_lmçW¿‡VPmU.ÆS_†ÜnIkb¤æbKÊw¢Š-±ž†"8QmU-<D ¶Bêì8ÆixâŽÒ&L)ÕÅ”ò¨F˺¿R¾*Ÿ­Hy<„v/‡ÏàŽ×7%¤Né/Áω*ûâK>ûþ]PvvBÿf6 Øêg¡oî¿úd©U˜RJLØR¾µÚˆnZ†_¨±?5Ÿ©¥mç‚–_ë°«mXÊ´J`¤ Œô;0‹ïÎÛúuMÌXnŸ¨ÀLum5¶ö<ÕÅœC©iméM`&_‚{À[™÷€E¦Ø¡Ð~£½Ðó0¶1³Ö]DI=H”ô›¨âªñKƒ/(Úû}µDóø÷رÉ[ñE62%‹Ô~ª¸Z%}ï1ýéqmû5ƒ{²4ð'„­¶ž¡Ÿ‚:Ǻýu[#¥”1Êw¢V?&Ò…W>%_O+^lùˆ”oYFÿ"ÈRÞb,QR=0¥¼'jö3wa ¨ð‹Ž—M-á“5ú+×vÆg1–(©#˜R¾UægO|Æ´|sØ’«h8b¶ `¯ó™²hK”TD ß#³¯-<`“Fì8ß°àñØ}¶fßéWWl6ï_Ú¯¬ƒ2œñßµÖ6ä]!sX·Mü=_¨Ðp`£íPCßg£¾×›Ñþ ÃÁ“ÿ=¬Õµ¾¸}N- ‘‘.Ús`ZöÕN˹ŽS¿Ë¬ìÅãÿzu'I” D)¯˜Z÷9$„WPà«Á-ew5LÒùEFwïD±OÄÌ~f!¶[ªsð=aɳ=HíøœñÊÎê®/Rºs'JùNTëFa"SSû.ò>¿ÕXÇÈ5ü·s/³nÙ¯k|FäàùêÁÌ –|"²Ÿý¦9 Ì:¶ÛhÙµ¬ccŽ;tf´ëÌMg$t®Ÿ`yñ :—{¨kx§;Dü÷¼óî¾õ&ýõÀ°m®e¯cµuwA”ì‰/01‹O®ËüC}#(‰Ì÷‹j´We¼Ì4ö„|-#;žÀÈ{ ÌèYÙW¦Õõ‹Ï¥ŸŒm2­£Ô»Éw8ÌH¿#uœãÙ:€ÿ‚y…¿¹>ô«¡¶ÒúÓ¯%sº bNßs÷+ú…»ëýõ>Hg׸kzáß_ºž/~'v¾ù2ÒPåÚ™{)šÒŸõšæÒ}ov.ý8°Æì׆xOM=•aº“Ï¢K!JÝS¦ŒH:ÓÔá={eJ³ÌoÚh¸Öƒènƒ(Ñ2Þsm®‹Ðs¶d²ËøFU5z0 i§r\_îP}1²S$JzÎõ™:*Gþ°e²ì}ú”)×£ebì|ÚO¬û dd—å5"—0*;d´¥™­Ј\"´lcçÍ¥‡Ê~¥Ptgœî™Óîçõž/ÓòÆU-YÖã'ßÊ Ùó ,Û3 ;Düwí2Wç| ‰ù­ž²¨ìòÝ]x†vXaV>2²[%ªe³±c%ªeƵP°óÊsÞà ²Ëý•XvåD‰;dKó|¿ƒ©Á_XxN”gÏËQ8ß[Žù:F¦È+btP`Êò½¡ÛÔõa÷D–<ÇŽÝSËöž/Á=¿«ºr¢d¨"JúÎ5ÎÞmœ…îmÕ~iÛÞ½²°^6Hty¶·l×ÐMwæD‰`EŒô<«oë7í [–/ë:¿Qže/ ÈÃwÖù€!?öëL©pÅ”ôžk¬ÏöglÉ2ãe™ADʳìe^9S}6Ç–uç„èÈE˜òœjkÝ/NµÄx™‡7cmTìÏHáD¦ëÀ ÑÁ íwR׋?WÖ»Œ½ž uÕ_¤ô]uð·eß˰b®ÿ´z}¾ƒþ»ö™+Ûm§ú6«Ç/ÛË lYÜpM%\ËÔ8á(2*h¦-äMŒç_ØY™Ú–G¿röZ7\+?“ð)yglkŠ! ³ô•æÐ¶…nå¸ÏM‘’(á[Rž(_ævż¾Ã)ب}/ì1kJb¿÷+i!(åQêcËÝθÁ ù:Êžat½²”PY·¸tîê€3iŒô)ÚA>&šÊ:ÆÅ~}MûE|$<@.Añ¥neÙ†79A”ôˆ(Þ¹ÆÁƒß±¿ÕX–¹?BxU[rîOŸ±oež¦7)éO`dXuY_yÜã"½¾.[xÆÿ¸®¿c|aaû3>Ú2·2^»§u&J ¢¤ç\£¿¹’ýlË––;?³Ø'QÓ"¥\_rÒ9@RhDF:íø@b§Ô![X†òbÅ×Ö­ŒW®á´g'ï“”øïÒD®´Án“}ºsÌ»åA¬Ç Ú)7r-Z³Ã=NÝ) æ´òaNûž×kûAo“s¦S^¸kájsËù}Ü‹Á^ÕR‹u3£TVøïÚw¶a{ñuÖvß>z¨í…EÍD”T_lËW8±e;‡ƒŽ3ó—,K•\¤¤ïlkÞï±{jÉö ]ÈÔ$tšï™½„Y¦æˆ:”á9Õfûeƒ¶bKíV@=2å‘m¹8¿d™Ö¡Ì(¯ˆ’º)Û [¶~ÕS¾»øìà¼òk÷!8è4¦lw1ê´–ž» 3½J”ôžm)ýÈ”eëQ‰màð•²1ê¶K6/×ê©X™’~ÅZRÔç’y†3e‰òýŨۄWëPu[Z‹ï—½Ä\¢^™’^EJhIQŸ¥oˆv|ÜÔ¥ç¤à%JúÄ”·¤ç˜jmSJ‚ògeà˜@wv¹?'…8QÒ/¢¤,Îj„4¨ÑÃí'0eÇA–Ž´ÑÓü¨dx`´OÁŽ’Ä‘ñ¡$à"ãÇ7^y„±é(8úÆ%|RoJ|#ý!JŠa®Ï"fߘò#Ë(ŽTì©:_=Â!žuùÄ““Ò;2Ò£À° ¦š|e$ê"ãG7–ŸhŠŒ·õ[©‡ÚǾLIÁé2RúR]v4¡EØ[>DÆÇ¬‡.>&ŒiŸqx’\>žÙÆG´ ™M”ö‰m ÌT ®¶rvLë«?‘}ù ·cGAZ_ùè:?n°ËòIõG””¸DIéNß3í"H?ÕŽy´¼óúÚ‘‘Á–oøEE2%U0QÒûHµ#ƒnµ¯¡4Ñø¹?킚.2Ji¦}þæÕŽ}þ&Xñ/œ|Ñ…DI…Ì”¼7¢|d“)_Ïþͯ}e½êÎ^s™.dJi_¢´÷DÕe;œ ÃL9ʼnkfÚô/XjŽî÷q„R%t/1Âo¶cSÉp¢Ûñ>Öj jv5жf_bŽS ’)¥‰R¾3Ú²©ñÍN{ `í–¢,ílù€gy> ¢´/QÊ«ÈHÊõyKáX¢ìIh¦>Yß,µð<ß#¥{‰’^±-¥GÙ–E­S“îo¶üS9gŒªˆªOLÝVÚ1ö2Þ‡1 LŒö)RR‘r}>>á@M¢|p¤T}®ÐRÚ–{ý®PÀÄHŸˆ’Ú”mù¯<àTW¤ÚãXpº/Rõ“;e“o‡õ„sª†‰Ò^‘-¥R‰òßÙâå£öˆò‡ñ*H©åT¼v¢ù­RëfÉ#›vת80Ò£h‡j´r ­¿N}©i‹m…Ö‰„=¢ëÒOÖÛ‡`{)'­ƒ#!<‰6„ÖŒL]g”ðÞm™÷oÛהЎÏöêQ¨Z¦„GlIéP¢ü39²¯ew r&Õ Ö˜‘ðÏ ¿[©›“‚•),x”Š(©‹™÷EÌ誔Sæù >Þ3¾¶-5óoz¥w‰Òž3åLP{L՜įÚýKÅ×\¾kB¦”â%JûNÔ°GµÇL½¿/>µû –Ìø}4ºT„‘Qz70ÊçH´…ýð¦ÞÕçŠá¹T°â¯Øµ:^«@f”Ê%JzͶüù^ðS«d«Þ,áWLÛ€=:É—i@¦”Î%JûNT}ËQOc÷÷ŧvÁ’¿<Óp´%Ô+1Ê#²£´$[òe„#pN”ÝÝ[–cw,ùëS®3•v%FûD–”–d[uIjIbìîŠÈ€cw,Yr¬Ë•ËÊ•åÙQ*’-Yê!èH¢êÝ]æL½»hÉæxíu³Ùg¥Z‰Ñ>‘%V”Äøl-ñh+¢êÝ]¦Œí¯ –|®ØfµšOJÃ%½"J*L¶å~¡­ˆªwxý™2þ±ö`ɦ¢{õ¨4-QÚ+²¥”(Qöì3 eíTdû³÷!t&ÙXF"Æ–ul;鄿S «^¢¤ÇÄ´-.½šÔòCm« <‡4Rñ)†-Q‰çLY ZNPíL€/¶ö|÷ɹ7ŧV´D%žµDÍ'˜¶AéÝRLxßÍü‹òc‚Õl`¤Ï‘8H?F¦´e¬ýçÖˆ™|­z¼º”zQ|ŠaEKTâ7Qþ´–cÊ"ú½Å6¥VöÝ÷æ¾)>Ű¢%*ñœ¨úž€æc¦¬¿ÔW|Ùó¼À3Ù&é_4ŸbXÑ%=LñÍŠ ùU@Nûôâ÷4úb€©ÿTÇõX—ûS™J­¥½¶¢~–êd>¨>f¬š¯>¾Þ$Ôg¯$)ºXc ¤Wl)êGaǶ¡êcjl9[ˆLY¾ù°=-[Ÿº+Q‰_l+jHaÉÞ,Ô}LOáŸ};Õ'˜É zmj²*àHÑÅú•xE¶HA K{ûR´T¤¦yøc»rϧóEÿcJóalt¡Ð«DiŸØkL²4]ß è¢f¡i­ó"­‰šM¨F‘ð^7§3Æaš”赡ÒWL)I”ô‰)ü°¥\Qû/¶ÖxzP{]{m¨4S¬ ‰ÑžUã>l'Œ¯ ûf©Fª£_cu]Øö…gZ‹)¥ ™žÓ¶;½××âç[cÛøÕ|^jÚ~»>¥Õ– „ždJyOÔ8_ëkq¶Ö Êç=·þ,Õilû»¯ïmhÅ%(Ò“Ä(ωY÷ûô”Œ™|³ l®T^ûo1\7<ßge µÅŒÒ’D)¿#c[³¿Ö7ù¶DØ`/¨Ãžá¹?ZÚoyºN ×j+2JKFú÷zìO‹ŒGܨOŒO•›„x˜¶çé:ZP+D¢´OdKi6¢f_¿ ›ºÕÖôûô™Z|mMé?ž=ƒ—?Ç>´Õ„Z#Fú¡×¢Ëäá6îÈ,¾eèO8‹ÌZ|%B¿žm²Ù‰?–Ísí+µ!QÒ'¶ÅZ{þØv‹ÊÞa£S[Ýî^f¨ÏöqX2ÔfÕ•6$FûD–”¢#Ê[ýe‡b…³‚²¹"\}Ë”m. +y§5äEµÒ$JzOÔî§®ÃT¨Ñ%Øñh$¥Û#ti låÊ8¬Ã sû¾o¯–6?ïz2¢šÂ€c ®Âý>¬]ª,¦”ŽdJyO”K8ç/a`œ`¶5¬º&_ä×ÎÈTQRC²-áwdf?éöQ ªÄ5Å‚ñ\˜)žýðÆõú ƒÖYL±Š$FzÎT[qÚï¢Ôþ,Ö͘¦PI{´º6Wej‹(©#Ù–ò¨Å×DÏýWå[ôq¬@”ÝmTÔK|žîÍ¥ÚŠŒÒ“Ñ~#³¶µÛ’û³Ú1Ë ±ùRú©ÿÞÞ´ú ôñ:SW«-¦”Š$JúM”ëƒk+VJµý SLí¾ jì?‡4m¾Rd¸{X©¸˜Rš’(é=QÖßç>¥Ôf"œKÅÔáslø íu—ÿ2´°J-Bz­(å Sa ,1–gÂëf[ øÇ·Ú„dJÕGÔlâ­O~£,yl ¥^¨Ñb¶æ\NQ0—ýnM¡K£}Šv„ÚŒvÆmýBÔ?¿Û°=2÷LjGÑf6:¢Ú@Å­Š]’œz«"©ú"¥4-YZ«è“4ÇùOc;HôZ”è4¢¤%Jø—â:^A ÏᔩáB%ÞJú‰F#FjP¢”ßD™jBÍ–ê3ã ¶ãšâ <@Ù÷!WhêSÙ@#á±Uud<öc ¦ ³Z­ÛÏT3Ju2¥ü&jiG‘ޝ^r,¶#1«¯!„£ZOqõÈÕL‘EFiN²#¼L“ pÂ1~ޫӔÖÕ„À}ºRdÌ(¥É”ò›(Ÿx ‚ Ö6^(o5º:5ÖNüÙ¦Yd”挌ò;0‡³ {Å"³·Õ 0Nˆv|­ ì¼›_ŸrïÓ:Œ)¥5‰’žGj|&³åLÕõ°Ó™âç\Àz«ð^å •O¤´ncJèQQ£¸C¦FC>œ©²>K£¿XBj‡.kl=¡“"¡ÔadÔ] _på¶ü2]½©ˆÿÚ&Ú°“R‚ŽŠŒGõ"æ.!“Dlb„aFy){èãÊíS¸²T®ÏS Ý칎ÞDIEB”ò( 1Ï(üòi~虄­!Ö×Âã1Ý•ñ›©OˆRže!U'[j'áÂZŠÄæ'ü\ôûë,I'Jê¢Øsb6ßЀ«ØR;OžªÌ®¸Ø‡>Ý›Åq¦”RaJyOÔîçk~±Õ 0ïΔGØ}îó»Ç„G°êˆÎ”Ò*L)ï#ÕÿxRÛj¶¶Úú“^“σO»Ü'ˆ˜NŒT-Â’ð©²ðjXa«­é׌05^§uÏàëålîyÃz¹H͵:ÖWFÅ¢dL2Ut>=ßy)¦¼Ã,8§J”ìÿ#Õ‚Ë—E;0Ѳu˜å:öÝz½«QRÆjÆÈ”ìý#ÕbÒ—e{2Å‘²uOþaó3󰥈ÚKÐS[Üÿ³úy_ê“-Êõ©HéØ绵“½äá“à‚ZüDlÈø0ű€!}«O¶(S/[jïɱ´ì">ÇL•6ï·Œo”Žš,‚~«Q¶¨ Dä<»Çç¶[oŽÏ‚$°úû@”6yùVlÅȨh9›ˆ|ó7ö'ú"ˆ)¹ºÆãš½zçc`uþPm40ö' ªÅØûÈTíw§=88‘ÕGTëã&ÈÀ3ÕúK˜óÀ ²(E”Œ,xÛúû¢'¾N3ŒÁ³ÑG`¼•;öÀ㠻ؖD©¶ìÍg–ÓúåisŒ=ã=|xÀ¸Ž«ÄÈXˆ·ò¨† ×µUcáÔ2'8úÄBôœ);’#¶S¤dKa™-¢Z¬@ï™ò¸3ÁÚ6¬ ÷‘’QoéQ4sߨ¥g˜uEgŸ(Þeñ[‹ÕZh^["¦E°öC1åÑßåÞ|ªAѺnæÒX3κFÆ Ïý)¬ÁÉG5 ×‘jÑ9¶Q¢B‰-¢® w((Õøva‰2"Jª™pK—ò›~ç3nz±ºzÅ~𜆶"J¶Uo>³ûž—H˜ô@ŸÑp¢Ò"#5ÞÆ­BÏ«Ž¾#å:k\ Þߊö;öç ùeˆàu4'¦§§þ+Â=`üÑ23¬ªˆŒŠ‰è@RüîžÇž4-GŒÞ`õ:ú2£î«¿ðÉgbÿ•Ðø£AgØ@”å~粺`>‹oDIÏñÒ'³¹À.¦8 ùG;aE”©°W:uÆu, „ô¹¿ìÎDâ»Ñâé;S=.°S…¨« ?±Ì'}ud¤×xaËjŽë9dbDÌß9ë`‹)/Xû½ã¡‚¬w$Š}ÞyÐqö7Jô£½ñ;g=ný¼w`ZnwÜêÓ×ëÄ&ÑGBzŒ…w®yÜ1'©ÂvÈÇ÷ÝbÖ¦ÍN°B12^WèÙÁøç^ႽSªC'²±ðÓVÍ3¬…"f˜£RFtoJŒ¼»þÂϵf\¦å…QýFêØe?Ó|àx¶7¯{Rb¤ßý…—T‘P} š~¢éŠ+™#å+¯‚-¬ ëO‰žã…¥æ­ˆ’ý`oþã+ªÆµÿÚF$|½Ñ¸Â^D4ô¦LI¿ñÒϵêeÜöûï‡Rý`¨às­©·IäɪI¬+HzU¢¤÷áÒ{ÝËX—Õï/”è[CŸkUUè[‰jãâV¼bI?Í”ô/}bç™k¢|foÜ!s|î”þy÷HùPrúõÁ¬F¢jH†í•ñ@Séçƒù»¾³gïGkDYi©®èjï`%3eúª³yOxá“ÝÇHA”Œ:XÁçž'ÁxÂT½Ù­_=Ìgñ‹(é;^úè"ˆLɘƒ<ù“N "Ê’.;îXóIôbJúŽ—~®½;ÓPúgŠ(qBO>âP«ÌªIØ£ÿ^R¨ ‰^LIïñÒϵƒg*3(š@‰ÌßÏÖÙÇ”7ªî›†~'Ïb%2Òëpá½+gûþž)ŽƒÁüýOæu‰ò=Sg´€\sg>‰¨‘‘~ã…¥²¶DU%0d%Àü­ÉÏî±™åvšGÐrà„®Ÿ'˜VÈLå{¦õ€ÝÅž³XÌÔDã@fTÜCóŸû< 3U÷sã(/ü•©'¡†`Æ—x`~C}vwLù×QW uí3v2Îù:¼R2¦öæ³–ÂÂ{,rv0KE”n œJN$1œ)y‡xéçÚx~6ÿ*3P*ú† n…|ŽÖ`L¤|PpÆ6Øë$‘œ)é=^zëíóÉ|¥|‚æùÁº¨àsŸY¸@•(_j½7²‰ª' …AŒŸ§4­Ð£ùϵà|R`¿| ´òÁÂDù%k —Þ3agZ+Ru'ø´‹=—ùgi(<÷×Qªýà6´Ï}Ñç:uè'Z¤d¦‰qáú+2J£¡ñÏ}B|¨¨:9‰ëð™vj=ÎE1UÏÚÇy¯^’¦÷˜Ú¨å!õšNÛ ?í œbÆ×WáÜ7JÓÌ+¢ü„îqƒÌlK)?¬ i©®èsó³>ñSýÇu擾/yšzDTn`Ή©ûÐ|ÖNXøüÆ8KÃT›Ü[½Dͼ Œ%­1ß­(Ҧ“Vꊮ_5o$üUßÃIà½,Mý!ÊÎL?;<-#PRíaºú¢û— Š72¾Ì毂(Í<"jj XIƶ”Îà Җ‚»'8{­íªZ°„’4óŠ)[:1ÍÐÓ%UVµ~®TÏYާ´EÊ’8˜u ’4ó‹(\c:8Ó+RRYbY{aá=B?Û² DYÇ…9CÁ™WñsÖ§N ŒR‚ÁxÖRXø¹&©¦ ÇñD Õ4ôù(Í2K”RYLù:xú°‚¬°0kQ,üxâêÔÜ0;EÌÙÉŸžo¸Ìs¢¤ŽÄKï~íåG…Q¨iMÆŒEô SJõæ?íkœ¡¶@,Ï‚ó‹è.ú…¸¾ ê‰Ì@V:©—ÞO`|‰ j£È(ý„ÆÓ6†ÂçξRkñ^èe^1µÐ,(1R=¡ù´¥ ð¹¿¯Ôhò{ŒöŠ(ÿVå¸ãסȖÒRXn«¾è¹»/Ì õø“ÔÞ Ó/ÔGÑŽÒPhXøÜÙWê¬m8ÑKµÄ$¼Ë˜ <ÑŠRQ½é¬}°ðùŠæ7ªÞ×kwPî¥>AavwXx{õ•ª^ýˆ<ˆ,©¨cbú'2³Ó«— {~e|Ùh¥Äh 0žøÜUÂSaö¤uÞt`FŸÜžEK "ÀxÚ:PxRû¾’*Ôáb¶_ ÄNæSd†¸Š;±*L§m…Õk_¢öÚâ¾€ v2"ãÏ(¤Äh0ž´PWT=ö%ôïÌbCùk¼)fÚÚH[B ÆÓöÂZÛhéįT[Ï>½êfê¯ê(±úLgm„…'µù‰GzSûP›mâ7äUÑ0³Û) ¨KSè¯㺅ú¢z_uÁ;±Y’Qþoj†™}Zƒ&Jì,3ÝÓ­AuÛ`aõzÜú;Á´åýyAàdf÷Å ŠK À¸n¡¾è$Ö#êÊHl¶¨úTJCÿ‚¼I|‰Œ?ó¨‰KQ}<ƳÖÁÂzgKTŸ‚ñdð²ð½}ÑCŠÁ3þä£úãYaaõ»xA¿.IPu:~›c_õhKíž”}ô,€§Ÿ)Oø^ƒXJ”QdüÅŠ ‹(¥CPÂüNy Aåë4ŸùŽ…÷ü•r¯°µPÈ$^Sãjf”Jè§í…öTí¬#™:xOM3©W‘ªQ'h ¶¤tšOZª+j‘÷Áá‡%À^Õ fR"eµ¡bK¬иn¡¾¨ö»=[ª?1‡%ù`Ýl2ÚbZm¨ˆ’Z¡7¯[¨/ªuµ¥­ý7ˆ™½Á øÓ‰™Ì›À¬>];'ÈŽÒ hza“ù˜fg…÷?Úaµ€¦³6“šZ‚sƒû'ÊS¥Ó5‚°I¼ŠÌ\û ORd¤:ég­„…'5Ú‘i]û_ލ©Ø7З~~R™WL‰`¦&ûH#>s`^·T_t¥Nìý#1Ö´3¬Š j_ú¢“l0sJ›¾SF{üŽ~uzN©JŠÔæ›0ƒâ"Ji”3¿S¾u±SJ+`™÷XøDç{ÞHYàƒÓ@Ò¤>!Óâ%ê ÈHµÆÓv‚Â'†£ü˜L8)›Ì/¢¼3zˆm)Ý€d­……÷8ë,èGÑLµÉDE8©_‘Zü˜8?BPJ=`Y{aaíüжmå¸×·}i ¸÷q¤NæQ³tût…-¥"°‚¬½°ð®wE J¶D'xR¯iѶ,‘:g-……µ¾vøä˜òËÂp<™W7_¸X°6`¤’@ãY;aa­o­ÉÜþÌL¾Åyè¿íDOæQesY´/¯¶”šÀ ²¶ÂÂZ£o)ûÓœå[kÊÚÏs ôÉü"jXl±ëÚŸwÀ”Ðh>k-,¬õù°¢S–ÕЋí娩Ò2ýÁ†Ô0½á¬}°ð¬k÷ôÞ™¢KhL3äƒPle^5ØA¼AwFªì„ƒ’à dKAÑIl>°ƒuœ‘ñºÎÛícº™x Oj¶ÃóØ?L-‹%qaïQZZS³úaesƒFJ*??S˼‡d#Õ˜O}‡ÂjË·F£¼Fl-”>™_D;áÛ’j*ЭÕµlDhóH¨À@ŸùCÔ›Š¸ÏsÔ-€…mÜÚ’™E(lt⎢ã¶qôï)ýQ8üL~êõ7[2&C™÷Xh#|ß2Ôï"ejjÛ´ å{ùy˜b z§a„ÑxÖRXXmµ…šð\5¶¯ NQ:d~5 . Vˆ“D‰x æ³¶ÂÂ;þ…Ê”-µ€¶Bá }ŠLÙm€}R“"•ÄåÇ|ÖNXXë³-üý— ˜±° O]‰GL­6š–¾ï`JÅåPAÒR¡ð©qìOgj³£ðÉ "ó‹¨Å7cmë­ÕúvÜÙ*ÈÚ ­FKô‚B”-òÃç/8›ùEÔ4ð®#AÕ%ÅøD ùÊØ‚ù逧‹(¥›‚äú™š6Þ'ÃTqˆz+ȼÇ“6ÛØµ÷g–0Uêë‹Ïºšy……ŸöS•Zùô³ß$HØ1†áoDGª°ˆj¦€êkŠ³Žš ª¡“?2“MôNˆx‹¦3Ÿ±ðÉaÀ~y¦fߪ;ãxÄAª"UÚÈ%£.V Ûª/z f¨#ÛÅAª"5,"÷ÇG\4ŸµÞ: ¬z jô# `Ïo:àaÎ1½â‹y?¢8ê‚ñ¬°°ÚiK3úS2‰‡ºäöûƒ4HT›}B3~ĨHÛ›NÚ'š%?p²?w…©Ý–ô{‚$È|"ªEYÈø JEY¬ k),¬¶,é8Ö/ðî9µúN’ þ]"CÎ)×Ñ|ÖZXX-ùÖ 8C™©yö…¬+ÄF Ú+b_d ?¦T$îŒgí„…µ6[Î…gf15¶ƒ)û“‚dÐ>Ef;u9Žë¤„é¸d-……§Ò¨3Þp!Ç|ü]jmpÎ@”(™WÌ-gœ©öP¿1wÞïßíØ‚еdK?ÿ¬ûä%°³Ÿ9n’èqæ[,­?ÂòŽÌ\%Ó¾ÃÏ0tiGÍÄÒŽ çpE®ØÑ#Ìj@øÏÔQRY`a˜㙡‚QÑûÏ”ÅB8{3a ^ã‰ß]Qµr¸HDMˆLÙ-U_« A]ÇïÈ”ýš,‡q5Q1Á¸nŸ¾èÎ=5qï!¨ëøMÌ:{2 F£L©8Ù›ÏZ kôöiûe„œB¤š™wˆËÒÓè©Ù’s¸ºSP*NbYkaaßtR+3>LDZCéiôŽT™ãIœÌÈH‰æ³¶ÂÂjËß*PÅLµ|¯0¬§ž(Îw¡‚¬Á°°ö b*SuȆ ;:å3Ór´ûëWƒ0§»¢¾†¬­bi×%CWÄÜ~ƫۢë83¿bivŸ±´uËá‹v‘¹KÀÿðne]Qê¥íŠªó ý³OȨ‡>¼/?S£§[±>¢ø æ3ϱðñªôû"™²F_íSdŽsØXÓÁ©ˆ%Ï^_AÖRXxyUú™ffZóß“Ì+æîçìœSuÕ%0žI†À¸<íôâ/ü™’â/½7®”Ô‘²µ—eî׿3½@”¯L-1À¶_¢êjÎ2ô=mïhâ"Wfc·éËQ2Z ãŸkêac‹1¥jÎk»ÅW”dYÌU ¸ÛáJÊ\%¶åöæb YKÄÒϵÕNY¹o±k‰æj«ç»9‡3×bi[ƒa+=sæ^Ri›zJWßueÆÄÒnçÍîZêm}ÿœ(P«6ô"Hj j(”·¿víÜ9âkçô€Ç›DªíëA /ý™j»Ñ¿Q¶; ýÀ|¢!#Ó3û‹þJ 5.üønö2Ã1?Ä´! ª¾Þ¸VH´<òiõè.û‘4\ø¹ö°ŸúŒSÙeê,˜Ï”Q¾ ú´ÅÛž®K¦”j —>Oª³HµÞ¨ÏB™Ò#ª9:@Š/ý™bÕ.¼çª›y*9eû¼QÌùLÆw\ïC¯‚Â…?S,/Ã…ŸkûfÁrÊg‚~ëÍ'Z02¾CÚâ_§ËàÂ_©DTâµ™ëDµmà¶ç¢b ™d®m̶`¶O×@"\ü3¦¥e¸øsmxGkLùô(SA•&TP"Ñ)¨ú©Å¿mæ«÷È„úÀ|b)0"A —Õº6‹š€&¦®©2´o&s‰²“Ÿ`9ˆ`üNL”¢ùÏu˜e–DIÚ;‘Õ‡…ŸûðÓ/T;ŠÓÅèD&y‰’wˆ—~®ƒ%C*”(){±‚ÏuØh9àŒu¦ìPVœ@dš(í=\ú¹{ ²—¨vÓ›85´Kåúã†s¤LÕG$x…Ndõ%Å8Ûò›´h¨ài-X"(Ÿô~YDÉA^ú¼eë´ðïóP~Q~€&&;Ã¥?S<`~üÔ2Â90Äø¡¥àšÎx"ð#ãGgbn5\ø+%‡ áÒç9à{BLÙñ ‡` n¬ ø‘jiÚYâºÂK¥ä`!\ú¹@µÏ”Ü~ êÔ;›íÄ»•!šÏD>Qu¤¼ÚÒð»­P<':™)=¨€KïVÀd.SRÕbÚ÷¾èãÇ®Z¯ýx ;’ÔŽª¬>ÑÏLÉ{ÃÂÏuTêWÊ$<Ö2·ªÞ–ŸêÏ Ìd‚7$ï‚ð®Ê× °¨˜©Í?ETúSæÂ¥?S¬µ…¥ú™!\‹ÆOfu% µ›éU¢v±öXPî ¾ÅÕ-9p[A=%5æV'ë±ðst*Üc¤Ú³‚÷ ˆ3¿ˆªŸÜ)ûún‰&ÏÚ ?þÑ©°¬‚™}e¿Q kŸ˜±YÓÉDµŸr€)R¼ôgJiîpéÇ?›UÌóc©­ÃúÏ[%£ùL%å?¨…ÀÇ^ú3ÅŠ;\øñOgYO}kVÁŒÃŸm…vêMK͉:#löSOÑO„Ò½pÙçú\ÖºôëA"ãÝÔ2÷ÓÁx¢y™ªë-§¿^ø#£´3\xg ƒ¥ÈجBÖ¼®Z£Bfžû˪ÿ,%h7bš…¬2оLß15ºLCÅ)©¦°‚OûÈ=ÖÇÌ@ºº¿ì7¢î_„y&|M Þ{'³{ Œ>ª¶`G)24žµ3¶; ÊV0¼œ=HÇÔ«HÕ¶z‹-)U†æ³–ÂÂëþPß Æî/xò1õ*RþøǶ”Îà t[õE×ÝÁ‚~&6áu'DSoãׂߴCFê?4žµ^w»tã©t°„Ndz“(yx©Ö€ÄØËŠ ¿î=ŒÝ]ð¨s@שHûËžš‚Ï‘9=žúíóÁ´V‘ÄxR Œð½„þ©FñÂçÎÐ’ jr³`^ëGbêgêÓ_ö!5hÙsWh‡˜áϱök‚i­‰ñT¤º d„öÄËîû vuZÚúõ`<ÓŽñÀn·³þLIŠ—V¿mt°ÅÔyw¶*õaÐ|¦‰jŸo¡5ñÒŸ)¥FÃ¥÷[LÕ'3èZ©nÝ箿”\{IÙš¥õmÓp<Š ê‚…¾©Õ‹¾Lá!sŽ¡Z•bzãÕR¡¬kdšaXØÝ_ö 1=F¨G¨Ž;јßQÏLƒÏµ&íD&lvTm +åSsߨÕþ ʾ“Œ¹W=cm•š´™ÞtÒJ¡°RmïÜjßIÙwr1÷©gÎ;;Xci;‘éË6‚¢“(mN©ÿv#1ƒ N‚¢ïÄbîOÏ\Ϫ+m'2½ñ¤…Baõ{²ôìÚŸÙ§(_h‚о‹¹W=ã¿=ê9m%2½é¤•BaõzeÅŠœÐ*32é½M×¹¶Zõ!s>G6LW¦®”ö©ïAá»æe¡¾üÑ—².¢„ ž–LÿÖm]œÔèË7øþKÈW ‰ÌTêtn$úË~c„…˪Ǿ`(Ü}`Zâ—¢Ìe:SÈLV 3ý…¿RB‹† «ß–ü>L¤L)u>™vÛè;ö~_Æ3ýˆL{#þJ %.¬^OUFÙ¤j÷Û5V›—š{¿/ã™rD¦½k‘ ¥”Å «×ÛúÇ„ðþÂ\Ÿ,é~· 8¥¶dFeX…%? Ž]óõà+Û£êCó™%¢dn/µûã3Ÿ˜ZZåæïúPµ0µ¶Iü9ê„WÕ ï6ƒ×ъЇAZþLµØA[¤Ú‚ùÌs,¼ÇWjœãS€ò2ñ)2Ýq$ÆŒÐn`Q¥LÉ;ÃK3½HTó|ìO5 œÔl¹-<í‹©é0Gçþ“Á¬F¢”’ —V¿ÚŒþt.AùvbݯÓWiP¢fßN€ç>à¥?S¬gÃ…Uø"*ëÌ÷œò GC:#˜Ïth`ì§‹'Và…?S¬hÃ…U¥_^ÒïôÔÌ[4Á¼V¢°—ó,è3ÂpٌԳxaUiõ Ò¯ŒMyâŠì`þn£PQ³Z —þLÙ¾¨°ž\P~`é:@;€°¾ŸÌ³ ƒf‰*~ôtÊMgZ‡1c ƒÆa^)¡z@.ýÈX貃B^ì²Â1¼Úg(¼cžöÊT­m,DJÚ#bÆÝìÛ+%5Hg^·Q_T‰Í·‹Bï™vÖÝT ÷B)ó‡(‹ÄpJ´°¤TšO[ ¯ú`—¥`\áx åRæQ¦Ã^?¦”óº¥ú"‹tÏ’kMÔîWs¹¤}!fn nálIiÞ|Ö>XX©}+£ã‡ÿbÆÅRæQ‹/ñžûÏ1%µ VµÞY0:`ª-ã]Â+󋨵-u€h@”Ö3F™Vöö¶º‚ׂxµ¡ëé k+‚À»ŽDýhCøPÊgª)Îi3cÝ(~[!˜¿£m¬ï€=‰Ú22>w‡Zš¨úláQ×ÁüÇ'‚º%¦ ‰0?Ž’?Q÷‘©i§q€ØÉŒTÓ Ã¦|àæ?˜Rú+H|ïŠZÎ$ÌYÂþÄçm‚ï$ZÓµ8FŠV„®ÃYÛ`a³FšÌÔ¯Xâ±—ÞÚŸ@4¡…££È(EÛ›ÖmÓ=j[82.mñ½èEwª¯‘YÚ©Í#ä#5,OÛ «­…Û™˜âËð@¹¡Üμ"ªÍäÁÙ'‚zѰOn]¶V[~RÎ?0åK{ñ;J½Üμ ŒË<…©^ÁxÖRXøèe8¼_P^#¶JíÌ/¢?möW2¥U.TµV[m‘Œÿ˜òM,Ø^èF¦«‰’÷ˆ—V}ç“f8¿)­­±‚Ïu¤îð%Ê[€=¹A°fÚ4RÒ«péóÁ ˜·”Ц¡‚¤µBaU§~d¬öTŒ‚Uc ¥â‹„TÔX˜µ>Tð(Röé0Ø-D`íµçx¾„`,q3Ž˜5é¤D¢°sƒ¢þ"†âtÞ"ìq+Ž#£¢go:õ /õõRd\ŽÀçCO#z¤¬¿Ža¦TÅ ²–ÂBS#¾Ìz0¦ÊÁ­Õû4®#ãj²½‘P‘Mgí„…Ù¸©ú¥Sl% òiŸ»‚ÕØÄȸ ƳF1¥N‚ tŒfFyÞ_X¿°Ù& à»k‘ñ'ºbªÕgyâËŸ9–3#=ÇÂËÖFŒò ¤B¦ "ÃùHXM'DZݧ#~ad¾ /lcï°O‹˜É?ç^ú³Z Ìg=0¢."DÌÄpû3¥ïŸ(Ždh>i#ø¸n! ¥º.bDôé/Ëî [’#ŒŒŽB~¦t ]õ¯TrÎtŒ?S²Çé_ø¬¿ÁÂÄÒúçÿ©‡Mvendstream endobj 6 0 obj 20731 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 9 0 obj <> endobj 10 0 obj <> endobj 8 0 obj <> endobj 2 0 obj <>endobj xref 0 11 0000000000 65535 f 0000021055 00000 n 0000021267 00000 n 0000020996 00000 n 0000020837 00000 n 0000000015 00000 n 0000020816 00000 n 0000021103 00000 n 0000021203 00000 n 0000021144 00000 n 0000021173 00000 n trailer << /Size 11 /Root 1 0 R /Info 2 0 R /ID [(š¿–¸ [Þ Ÿñd±Â.)(š¿–¸ [Þ Ÿñd±Â.)] >> startxref 21401 %%EOF sparskit-2.0.0/DOC/QUICK_REF0000640000265600020320000003077206203735206014405 0ustar tilleaadminc-------------------------------------------------------------------------------c c c c QUICK REFERENCE c c c c-------------------------------------------------------------------------------c c For convenience we list here the most important subroutines c c in the various modules of SPARSKIT. More detailed information can be c c found either in the body of the paper or in the documentation of the package.c c c c-------------------------------------------------------------------------------c c===============================================================================c c FORMATS Module c c===============================================================================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 format. c c CSRSSR : converts compressed sparse row to symmetric sparse row format. c c SSRCSR : converts symmetric sparse row to compressed sparse row format. c c CSRELL : converts compressed sparse row to Ellpack format c c ELLCSR : converts Ellpack format to compressed sparse row format. c c CSRMSR : converts compressed sparse row format to modified sparse c c row format. c c MSRCSR : converts modified sparse row format to compressed sparse c c row format. c c CSRCSC : converts compressed sparse row format to compressed sparse c c column format (transposition). c c CSRDIA : converts the compressed sparse row format into the diagonal c c format. c c DIACSR : converts the diagonal format into the compressed sparse row c c format. c c BSRCSR : converts the block-row sparse format into the compressed c c sparse row format. c c CSRBSR : converts the compressed sparse row format into the block-row c c sparse format. c c CSRBND : converts the compressed sparse row format into the banded c c format (Linpack style). c c BNDCSR : converts the banded format (Linpack style) into the compressed c c sparse row storage. c c CSRSSK : converts the compressed sparse row format to the symmetric c c skyline format c c SSKSSR : converts symmetric skyline format to symmetric sparse row format. c c CSRJAD : converts the csr format into the jagged diagonal format c c JADCSR : converts the jagged-diagonal format into the csr format c c COOELL : converts the coordinate format into the Ellpack/Itpack format. c c CSRVBR : converts the compressed sparse row format into the c c variable block row format. c c VBRCSR : converts the variable block row format into the c c compressed sparse row format. c c CSORTED : Checks if matrix in CSR format is sorted by columns. c c c c-------------------------------------------------------------------------------c c===============================================================================c c UNARY Module c c===============================================================================c c c c SUBMAT : extracts a submatrix from a sparse matrix. c c FILTER : filters elements from a matrix according to their magnitude. c c FILTERM: Same as above, but for the MSR format. c c TRANSP : in-place transposition routine (see also CSRCSC in formats) c c GETELM : returns a(i,j) for any (i,j) from a CSR-stored matrix. c c COPMAT : copies a matrix into another matrix (both stored csr). c c MSRCOP : copies a matrix in MSR format into a matrix in MSR format. c c GETELM : returns a(i,j) for any (i,j) from a CSR-stored matrix. c c GETDIA : extracts a specified diagonal from a matrix. c c GETL : extracts lower triangular part. c c GETU : extracts upper triangular part. c c LEVELS : gets the level scheduling structure for lower triangular matrices. c c AMASK : extracts C = A * M c c RPERM : permutes the rows of a matrix (B = P A) c c CPERM : permutes the columns of a matrix (B = A Q) c c DPERM : permutes a matrix (B = P A Q) given two permutations P, Q c c DPERM2 : general submatrix permutation/extraction routine. c c DMPERM : symmetric permutation of row and column (B=PAP') in MSR fmt. c c DVPERM : permutes a vector (in-place). c c IVPERM : permutes an integer vector (in-place). c c RETMX : returns the max absolute value in each row of the matrix. c c DIAPOS : returns the positions of the diagonal elements in A. c c EXTBDG : extracts the main diagonal blocks of a matrix. c c GETBWD : returns the bandwidth information on a matrix. c c BLKFND : finds the block-size of a matrix. c c BLKCHK : checks whether a given integer is the block size of A. c c INFDIA : obtains information on the diagonals of A. c c AMUBDG : computes the number of nonzero elements in each row of A*B. c c APLBDG : computes the number of nonzero elements in each row of A+B. c c RNRMS : computes the norms of the rows of A. c c CNRMS : computes the norms of the columns of A. c c ROSCAL : scales the rows of a matrix by their norms. c c COSCAL : scales the columns of a matrix by their norms. c c ADDBLK : adds a matrix B into a block of A. c c GET1UP : collects the first elements of each row of the upper c c triangular portion of the matrix. c c XTROWS : extracts given rows from a matrix in CSR format. c c CSRKVSTR : Finds block row partitioning of matrix in CSR format c c CSRKVSTC : Finds block column partitioning of matrix in CSR format c c KVSTMERGE: Merges block partitionings, for conformal row/col pattern c c c c-------------------------------------------------------------------------------c c===============================================================================c c INOUT Module c c===============================================================================c c c c READMT : reads matrices in the boeing/Harewell format. c c PRTMT : prints matrices in the boeing/Harewell format. c c DUMP : prints rows of a matrix, in a readable format. c c PLTMT : produces a 'pic' file for plotting a sparse matrix. c c PSPLTM : Generates a post-script plot of the non-zero pattern of A. c c SMMS : Write the matrx in a format used in SMMS package. c c READSM : Reads matrices in coordinate format (as in SMMS package). c c READSK : Reads matrices in CSR format (simplified H/B formate). c c SKIT : Writes matrices to a file, format same as above. c c PRTUNF : Writes matrices (in CSR format) unformatted. c c READUNF : Reads unformatted data of matrices (in CSR format). c c c c-------------------------------------------------------------------------------c c===============================================================================c c INFO Module c c===============================================================================c c c c DINFO1 : obtains a number of statistics on a sparse matrix. c c VBRINFO: Print info on matrix in variable block row format c c c c-------------------------------------------------------------------------------c c===============================================================================c c MATGEN Module c c===============================================================================c c c c GEN57PT : generates 5-point and 7-point matrices. c c GEN57BL : generates block 5-point and 7-point matrices. c c GENFEA : generates finite element matrices in assembled form. c c GENFEU : generates finite element matrices in unassembled form. c c ASSMB1 : assembles an unassembled matrix (as produced by genfeu). c c MATRF2 : Routines for generating sparse matrices by Zlatev et al. c c DCN : Routines for generating sparse matrices by Zlatev et al. c c ECN : Routines for generating sparse matrices by Zlatev et al. c c MARKGEN : subroutine to produce a Markov chain matrix for a random walk. c c c c-------------------------------------------------------------------------------c c===============================================================================c c BLASSM Module c c===============================================================================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 APMBT : Computes C = A +(-) B^T c c APLSBT : Computes C = A + s * B^T c c DIAMUA : Computes C = Diag * A c c AMUDIA : Computes C = A* Diag c c APLDIA : Computes C = A + Diag c c APLSCA : Computes A:= A + s I (s = scalar) c c c c-------------------------------------------------------------------------------c c===============================================================================c c MATVEC Module c c===============================================================================c c c c AMUX : A times a vector. Compressed Sparse Row (CSR) format. c c ATMUX : A^T times a vector. CSR format. c c AMUXE : A times a vector. Ellpack/Itpack (ELL) format. c c AMUXD : A times a vector. Diagonal (DIA) format. c c AMUXJ : A times a vector. Jagged Diagonal (JAD) format. c c VBRMV : Sparse matrix-full vector product, in VBR format c c c c LSOL : Unit lower triangular system solution. Compressed Sparse Row c c (CSR) format. c c LDSOL : Lower triangular system solution. Modified Sparse Row (MSR) format. c c LSOL : Unit lower triangular system solution. Compressed Sparse Column c c (CSC) format. c c LDSOLC: Lower triangular system solution. Modif. Sparse Column (MSC) format c c LDSOLL: Lower triangular system solution with level scheduling. MSR format. c c USOL : Unit upper triangular system solution. Compressed Sparse Row c c (CSR) format. c c UDSOL : Upper triangular system solution. Modified Sparse Row (MSR) format. c c USOLC : Unit upper triangular system solution. Compressed Sparse c c Column (CSC) format. c c UDSOLC: Upper triangular system solution. Modif. Sparse Column (MSC) format c c c c-------------------------------------------------------------------------------c c===============================================================================c c ORDERINGS Module c c===============================================================================c c c c LEVSET : The standard Cuthill-McKee ordering algorithm. c c COLOR : A greedy algorithm for multicoloring ordering. c c CCN : Strongly connected components. c c c c-------------------------------------------------------------------------------c c===============================================================================c c ITSOL Module c c===============================================================================c c c c ILUT : ILUT(k) preconditioned GMRES mini package. c c ITERS : Nine Krylov iterative solvers with reverse communication. c c c c-------------------------------------------------------------------------------c c===============================================================================c sparskit-2.0.0/dotests0000755000265600020320000000603406203735315014117 0ustar tilleaadmin#!/bin/sh # # SPARSKIT script for making and running all test programs. # Last modified: May 9, 1994. make all cd BLASSM echo Making tests in BLASSM directory make mvec.ex make tester.ex cd .. cd FORMATS echo Making tests in FORMATS directory make un.ex make fmt.ex make rvbr.ex cd .. cd INFO echo Making tests in INFO directory make info1.ex cd .. cd INOUT echo Making tests in INOUT directory make chk.ex make hb2ps.ex make hb2pic.ex cd .. cd ITSOL echo Making tests in ITSOL directory make riters.ex make rilut.ex make riter2.ex cd .. cd MATGEN/FDIF echo Making tests in MATGEN/FDIF directory make gen5.ex make genbl.ex cd ../.. cd MATGEN/FEM echo Making tests in MATGEN/FEM directory make fem.ex cd ../.. cd MATGEN/MISC echo Making tests in MATGEN/MISC directory make sobel.ex make zlatev.ex make markov.ex cd ../.. cd UNSUPP/MATEXP echo Making tests in UNSUPP/MATEXP directory make exp.ex make phi.ex cd ../.. # run all test programs cd BLASSM echo Testing BLASSM/mvec.ex --------------------------------------- ./mvec.ex echo Testing BLASSM/tester.ex --------------------------------------- ./tester.ex cd .. cd FORMATS echo Testing FORMATS/un.ex --------------------------------------- ./un.ex cat unary.mat echo Testing FORMATS/fmt.ex --------------------------------------- ./fmt.ex grep ERROR *.mat ls -s *.mat echo Testing FORMATS/rvbr.ex --------------------------------------- ./rvbr.ex cd .. cd INFO echo Testing INFO/info1.ex --------------------------------------- ./info1.ex < saylr1 cd .. cd INOUT echo Testing INOUT/chk.ex --------------------------------------- ./chk.ex echo Testing INOUT/hb2ps.ex --------------------------------------- ./hb2ps.ex < ../INFO/saylr1 > saylr1.ps echo Testing INOUT/hb2pic.ex --------------------------------------- ./hb2pic.ex < ../INFO/saylr1 > saylr1.pic cd .. cd ITSOL echo Testing ITSOL/riters.ex --------------------------------------- ./riters.ex echo Testing ITSOL/rilut.ex --------------------------------------- ./rilut.ex echo Testing ITSOL/riter2.ex --------------------------------------- ./riter2.ex < ../INFO/saylr1 cd .. cd MATGEN/FDIF echo Testing MATGEN/FDIF/gen5.ex --------------------------------------- ./gen5.ex << \EOF 10 10 1 testpt.mat EOF echo Testing MATGEN/FDIF/genbl.ex --------------------------------------- ./genbl.ex << \EOF 10 10 1 4 testbl.mat EOF cd ../.. cd MATGEN/FEM echo Testing MATGEN/FEM/fem.ex --------------------------------------- ./fem.ex << \EOF 2 2 EOF cat mat.hb cd ../.. cd MATGEN/MISC echo Testing MATGEN/MISC/sobel.ex --------------------------------------- ./sobel.ex << \EOF 10 EOF echo Testing MATGEN/MISC/zlatev.ex --------------------------------------- ./zlatev.ex cat zlatev1.mat cat zlatev2.mat cat zlatev3.mat echo Testing MATGEN/MISC/markov.ex --------------------------------------- ./markov.ex << \EOF 10 EOF cat markov.mat cd ../.. cd UNSUPP/MATEXP echo Testing UNSUPP/MATEXP/exp.ex --------------------------------------- ./exp.ex << \EOF 0.1 0.00001 10 EOF echo Testing UNSUPP/MATEXP/phi.ex --------------------------------------- ./phi.ex << \EOF 0.1 0.00001 10 EOF cd ../.. sparskit-2.0.0/sgrep0000755000265600020320000000025506203735315013551 0ustar tilleaadmin# Usage: sgrep pattern # Searches all source files for 'pattern'. # Regular expressions should be enclosed in quotes "". find . -name '*.f' -exec grep "$*" /dev/null {} \; sparskit-2.0.0/logfile0000644000265600020320000003202111301043340014024 0ustar tilleaadmin ---------------------------------------------------------------------- SPARSKIT Revision History ------------------------------------------------------------------------ May 9, 1994 (Version 2) Warning: The interface for gen57pt has changed. The interface for csrbnd has changed. The interface for bsrcsr has changed. New or rearranged modules: ITSOL/ilut.f -- four preconditioners (old UNSUPP/SOLVERS plus ilutp) ITSOL/iters.f -- nine iterative solvers using reverse communication MATGEN -- rearranged into three subdirectories: FDIF, FEM, MISC. MATGEN/MISC/sobel.f-- generate matrices from a statistical application ORDERINGS/ccn -- routines for strongly connected components ORDERINGS/color.f -- coloring based routines for reordering ORDERINGS/levset.f -- level set based routines for reordering UNSUPP/PLOTS -- many routines have been moved to the INOUT module New format: VBR (Variable block row) ------------------------------------------------------------------------ May 25, 1994 Fixed a bug in FORMATS/unary.f/levels, found by Aart J.C. Bik, Leiden. ------------------------------------------------------------------------ June 3, 1994 The symmetric and nonsymmetric carpenter square format has been renamed to the symmetric and unsymmetric sparse skyline format. This is simply a name change for the functions: csrucs to csruss ucscsr to usscsr csrscs to csrsss scscsr to ssscsr This is a new format that was not in version 1 of SPARSKIT. ------------------------------------------------------------------------ June 27, 1994 The function ssrcsr has changed, to make it more flexible (K. Wu, UMN). The old version will still be available in xssrcsr, but may be deleted in the near future. Please let us know of any bugs, or errors in the code documentation. The interface to msrcsr has changed, to make the function in place (R. Bramley, Indiana). A number of minor bug fixes to the INOUT module (R. Bramley, Indiana). ICOPY in ccn.f was renamed to CCNICOPY to eliminate name conflicts with other libraries. Very minor typographical fixes were made to the paper.* documentation. ------------------------------------------------------------------------ August 3, 1994 dinfo13.f was modified very slightly to handle skew-symmetric matrices. ------------------------------------------------------------------------ August 8, 1994 Bug fixed in usscsr (D. Su). Bug fixed in ssrcsr (K. Wu). ------------------------------------------------------------------------ August 18, 1994 New, more efficient version of cooell. The old version will still be available in xcooell, but may be deleted in the near future. (K. Wu) Bug fixed in INFO/infofun/ansym. (K. Wu) ------------------------------------------------------------------------ September 22, 1994 Bug fixed in FORMATS/unary/getdia. (John Red-horse, Sandia) Changes to ITSOL/iters.f: Bug fix in TFQMR; initialization of workspace; number of matrix-vector multiplications reported now includes those done in initialization; added routine FOM (Full Orthogonalization Method). (K. Wu) This version has only been tested on Solaris, and the test script output is in out.new. The other outputs are somewhat out of date. The changes have not been major; please let us know if you find any incompatibilities. Thanks. (E. Chow) ------------------------------------------------------------------------ October 10, 1994 formats.f: revised ssrcsr to be able to sort the column of the matrix produced, revised cooell to fill the unused entries in AO,JAO with zero diagonal elements. (K. Wu) unary.f: new routine clncsr for removing duplicate entries, sorting columns of the input matrix, it requires less work space than csort. (K. Wu) iters.f: bug fix in fom. (K. Wu) chkfmt1.f (test program): bug fix in call to ssrcsr. dotests script: slight modification when running fmt.ex matvec.f: added atmuxr, Tranpose(A) times a vector, where A is rectangular in CSR format. Also useful for A times a vector, where A is rectangular in CSC format. Very similar to atmux. (E. Chow) ------------------------------------------------------------------------ October 17, 1994 Minor fix to ilut.f, proper stopping when maxits is a multiple of the Krylov subspace size. A number of changes to iters.f: (1) add reorthgonalization to the Modified Gram-Schmidt procedures; (2) check number of matrix-vector multiplications used at the end of evey Arnoldi step; (3) in the initialization stage of the iterative solvers, clear fpar elements to zero. ------------------------------------------------------------------------ November 16, 1994 Selective reorthogonalization replaces reorthogonalization change of Oct. 17, 1994. ------------------------------------------------------------------------ November 23, 1994 Added csrcsc2, a minor variation on csrcsc for rectangular matrices. csrcsc now calls csrcsc2. Removed a useless line in infofun.f that could give a compiler warning. In the ILUT preconditioner, lfil-1 new fill-ins for rows in the strictly upper part was used. This has been changed to lfil, to be consistent with the strictly lower part. Replaced levset.f with dsepart.f, which adds a number of new partitioners: rdis, dse2way, dse, in addition to the original dblstr. The new perphn subroutine no longer takes the iperm array. ------------------------------------------------------------------------ January 3, 1995 FORMATS/formats.f:ellcsr ia(1) was not set. (Reported by J. Schoon.) ------------------------------------------------------------------------ January 30, 1995 BLASSM/blassm.f:amub fixed the documentation. (Reported by D. O'Leary.) ------------------------------------------------------------------------ February 27, 1995 iters.f: the reverse communication protocol has been augmented to make performing users own convergence test easier. minor bug fixes. unary.f: subroutine clncsr is slightly changed so that it will remove zero entries. also minor corrections to its documentation. formats.f: subroutine ssrcsr is slightly changed so it may optionally remove zero entries. also minor corrections to its documentation. infofun.f: subroutine ansym is rewritten to compute the Frobineus norm of the pattern-nonsymmetric part directly insead of computing it from the difference between the Frobineus of the whole matrix and its pattern-symmetric part. This should make the answer of 'FAN' more reliable. ------------------------------------------------------------------------ March 21, 1995 Bug fix in iters.f:fom. Also, FOM, GMRES, FGMRES modified so that if a zero pivot is encountered in the triangular solve part of the algorithm, the solve is truncated. The latest output of the dotests script as run on a solaris 2 machine is in out.sol2. ------------------------------------------------------------------------ March 27, 1995 Fixes to ILUT and ILUTP. Backed out of the change of Nov. 23, 1994. The original code was correct (lenu includes the diagonal). A smaller drop tolerance than prescribed was used (namely, by the 1-norm of the row); this has now been fixed. ------------------------------------------------------------------------ April 12, 1995 Minor fix in rilut.f. A duplicate call to ilut has been removed. ------------------------------------------------------------------------ April 21, 1995 Cleaner versions of ILUT and ILUTP. Note that the interface has been changed slightly (workspace parameters have been coalesced), and the definition of lfil has changed. ILUK, the standard level ILU(k), has been added to ilut.f. Due to these changes, ilut.f, and rilut.f have changed. Also, riters.f riter2.f have changed where they call ilut. The Block Sparse Row (BSR) format has changed, so that entries are stored in A(ni,ni,nnz), rather than A(nnz,ni,ni), where the blocks are ni by ni, and there are nnz blocks. This stores the entries of the blocks contiguously so that they may be passed to other subroutines. As a result of this change, the following codes have changed: FORMATS/formats.f:bsrcsr - additionally takes extra workspace FORMATS/formats.f:csrbsr MATGEN/FDID/genmat.f:gen57bl - output n is now block dimension FORMATS/chkfmt1.f FORMATS/rvbr.f MATGEN/FDIF/rgenblk.f BLASSM/rmatvec.f The latest output of the dotests script from our Solaris machines here is in out.04-21-95. ------------------------------------------------------------------------ April 22, 1995 Now you can ask csrbsr to tell you the number of block nonzeros beforehand. Also, a minor fix if job.eq.0. ------------------------------------------------------------------------ April 25, 1995 csrbsr cleaned up even more. ------------------------------------------------------------------------ May 22, 1995 iters.f - fixed rare bug in bcg and bcgstab: termination test not done properly if they breakdown on the first step. ------------------------------------------------------------------------ July 27, 1995 Fixed a bug in the header documentation for csrcsc(), describing the appending of data structures. Detected by Dan Stanescu, Concordia. Fixed compilation errors in UNSUPP/PLOTS/texgrid1.f for IBM machines, detected by Regis Gras, Laboratoire CEPHAG. ------------------------------------------------------------------------ Sept. 22, 1995 Fixed a bug in the ILUT/ILUTP routines -- found by Larry Wigton [Boeing] This bug caused small elements to be stored in L factor produced by ILUT. Recall that the ILUT codes have been revised on April 21 line above and there are changes in meanings of the parameters and calling sequences. The drop strategy used has also been modified slightly. We also added two new preconditioning routines named ILUD and ILUDP [The difference between these and ILUT is that there is no control of storage. Drop strategy is controled by only one parameter (tol). [This should be bigger than in ILUT in general.] ----------------------------------------------------------------------- Sept. 26, 1995 infofun.f:ansym was improved again. ----------------------------------------------------------------------- Feb 17th, 1996: Bug fix in getdia (bug reported by Norm Fuchs, Purdue). ----------------------------------------------------------------------- August 13th, 1996 1. A few more fixes to ILUT, ILUTP [ILUTP did not give the same result as ILUT when pivoting is not done. This is now fixed. 2. Small bug in (SPARSKIT2/ITSOL/iters.f) subroutine tidycg reported by Laura Dutto. 3. documentation error in minor (SPARSKIT2/ITSOL/iters.f) subroutine FGMRES requires more storage than stated. Sep. 6, 1997 one routine (dperm1) has been added to FORMATS/unary.f (slightly modified from PSPARSIB).. YS Nov. 20, 1997 Implicit none caused some minor compilation problems because of order of declarations [reported by Stefan Nilsson (Chalmers) and Christer Andersson (NADA, Sweden)]. Fixed by changing order of declarations. YS ----------------------------------------------------------------------- Aug. 16th, 1998. removed useless argument in function mindom (ORDERINGS/dsepart.f) added one option to gen57pt in MATGEN/FDIF/matgen.f Sept. 2nd 1998, - fixed yet other compiler problems with double declarations of integer n in ilut.f -- these show up with gnu f77. - fixed an incorrect declaration of arraw iwk in coicsr in FORMATS/formats (reported by Dan Lee -- bmw) - removed unnecessary declaration of stopbis in tfqmr - lenr was not initialized in nonz() in infofun (reported by Massino Caspari). - a spurious "g" character was inadvertantly introduced in the previous version. [reported by Mike Botchev (CWI, NL).. Sept. 30th, 1998 - fixed a bug in routine apldia (in BLASSM/blassm.f). The code worked only for in place cases. ----------------------------------------------------------------------- June 16, 1999 - the finite element matrix generation suite has been updated (I. Moulistas) - three files have changed elmtlib2.f femgen.f meshes.f in the directory MATGEN/FEM - the finite difference matrix generation routione matgen.f has been changed [SPARSKIT2/MATGEN/FDIF/genmat.f] - bug reported by David Hyson and corrected by Kesheng John Wu.. - Adoption of the GNU general public licencing - GNU licence agreement added and terms in the main README file changed.. March 3, 2001: fix documentation glitch regarding size of w in ilut routine. July 12, 2001: iband was not initialized in bandwidth -- warning: quite a few bugs found so far in infofun! July 24, 2001: another bug in infofun (in ansym).. no fun YS. ----------------------------------------------------------------------- Sep 2003: fixed returned nrhs in readmtc Dec. 29th, 03 -- it looks like the March 3, 2001 correction was not done [mishandled versions!] -- put new version.. Mar. 08, 2005: revamping of the old files in DOC - contributed by Daniel Heiserer (Thanks!) Mar. 08, 2005: Moved to the Lesser GNU license instead of GNU - Oct. 20, 2005: a few bug fixes reported by E. Canot (irisa). Nov. 18, 2009: a bug in csort [made assumption that ncol0 indicates that set is stuck -- c link(idom) = -link(idom) nstuck = nstuck+1 endif c if (nstuck .lt. ndom) goto 100 c c reset sizes -- c do j=1, ndom if (link(j) .gt. 0) link(j) = -link(j) enddo c if (nod .eq. n) return c c stuck. add first non assigned point to smallest domain c 20 ii = ii+1 if (ii .le. n) then if (marker(ii) .eq. 0) then idom = 0 isiz = n+1 do 30 kk=ia(ii), ia(ii+1)-1 i = marker(ja(kk)) if (i .ne. 0) then nsize = abs(link(i)) if (nsize .lt. isiz) then isiz = nsize idom = i endif endif 30 continue c c if no neighboring domain select smallest one c if (idom .eq. 0) idom = mindom(n,ndom,link) c c add ii to sudomain idom at end of linked list c call add_lk(ii,nod,idom,ndom,lkend,levst,link,nodes,marker) goto 3 else goto 20 endif endif return end c----------------------------------------------------------------------- subroutine get_domns2(ndom,nodes,link,levst,riord,iptr) implicit none integer ndom,nodes(*),link(*),levst(*),riord(*),iptr(*) c----------------------------------------------------------------------- c constructs the subdomains from its linked list data structure c----------------------------------------------------------------------- c input: c ndom = number of subdomains c nodes = sequence of nodes are produced by mapper4. c link = link list array as produced by mapper4. c on return: c---------- c riord = contains the nodes in each subdomain in succession. c iptr = pointer in riord for beginnning of each subdomain. c Thus subdomain number i consists of nodes c riord(k1),riord(k1)+1,...,riord(k2) c where k1 = iptr(i), k2= iptr(i+1)-1 c c----------------------------------------------------------------------- c local variables integer nod, j, next, ii nod = 1 iptr(1) = nod do 21 j=1, ndom next = levst(j) 22 ii = nodes(next) riord(nod) = ii nod = nod+1 next = link(next) if (next .gt. 0) goto 22 iptr(j+1) = nod 21 continue c return c----------------------------------------------------------------------- end c----------------------------------------------------------------------- function mindom(n, ndom, link) implicit none integer mindom, n, ndom, link(n) c----------------------------------------------------------------------- c returns the domain with smallest size c----------------------------------------------------------------------- c locals c integer i, nsize, isiz c isiz = n+1 do 10 i=1, ndom nsize = - link(i) if (nsize .lt. 0) goto 10 if (nsize .lt. isiz) then isiz = nsize mindom = i endif 10 continue return end c----------------------------------------------------------------------- subroutine add_lk(new,nod,idom,ndom,lkend,levst,link,nodes,marker) implicit none integer new,nod,idom,ndom,lkend,levst(*),link(*),nodes(*), * marker(*) c----------------------------------------------------------------------- c inserts new element to linked list from the tail. c----------------------------------------------------------------------- c adds one entry (new) to linked list and ipdates everything. c new = node to be added c nod = current number of marked nodes c idom = domain to which new is to be added c ndom = total number of domains c lkend= location of end of structure (link and nodes) c levst= pointer array for link, nodes c link = link array c nodes= nodes array -- c marker = marker array == if marker(k) =0 then node k is not c assigned yet. c----------------------------------------------------------------------- c locals c integer ktop lkend = lkend + 1 nodes(lkend) = new nod = nod+1 marker(new) = idom ktop = levst(idom) link(lkend) = ktop link(idom) = link(idom)-1 levst(idom) = lkend return c----------------------------------------------------------------------- c-------end-of-add_lk--------------------------------------------------- end c----------------------------------------------------------------------- subroutine find_ctr(n,nsiz,ja,ia,init,mask,maskval,riord, * levels,center,iwk) implicit none integer n,nsiz,ja(*),ia(*),init,mask(*),maskval,riord(*), * levels(*),center,iwk(*) c----------------------------------------------------------------------- c finds a center point of a subgraph -- c----------------------------------------------------------------------- c n, ja, ia = graph c nsiz = size of current domain. c init = initial node in search c mask c maskval c----------------------------------------------------------------------- c local variables integer midlev, nlev,newmask, k, kr, kl, init0, nlev0 call perphn(n,ja,ia,init,mask,maskval,nlev,riord,levels) c----------------------------------------------------------------------- c midlevel = level which cuts domain into 2 roughly equal-size c regions c midlev = 1 k = 0 1 continue k = k + levels(midlev+1)-levels(midlev) if (k*2 .lt. nsiz) then midlev = midlev+1 goto 1 endif c----------------------------------------------------------------------- newmask = n+maskval c c assign temporary masks to mid-level elements c do k=levels(midlev),levels(midlev+1)-1 mask(riord(k)) = newmask enddo c c find pseudo-periph node for mid-level `line' c kr = 1 kl = kr + nsiz init0 = riord(levels(midlev)) call perphn(n,ja,ia,init0,mask,newmask,nlev0,iwk(kr),iwk(kl)) c----------------------------------------------------------------------- c restore mask to initial state c----------------------------------------------------------------------- do k=levels(midlev),levels(midlev+1)-1 mask(riord(k)) = maskval enddo c----------------------------------------------------------------------- c define center c----------------------------------------------------------------------- midlev = 1 + (nlev0-1)/2 k = iwk(kl+midlev-1) center = iwk(k) c----------------------------------------------------------------------- return end c----------------------------------------------------------------------- subroutine rversp (n, riord) integer n, riord(n) c----------------------------------------------------------------------- c this routine does an in-place reversing of the permutation array c riord -- c----------------------------------------------------------------------- integer j, k do 26 j=1,n/2 k = riord(j) riord(j) = riord(n-j+1) riord(n-j+1) = k 26 continue return end c----------------------------------------------------------------------- sparskit-2.0.0/ORDERINGS/ccn.f0000644000265600020320000006503006203735306014753 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c REORDERING ROUTINES -- STRONGLY CONNECTED COMPONENTS c c----------------------------------------------------------------------c c Contributed by: C Laura C. Dutto - email: dutto@cerca.umontreal.ca c July 1992 - Update: March 1994 C----------------------------------------------------------------------- c CONTENTS: c -------- c blccnx : Driver routine to reduce the structure of a matrix c to its strongly connected components. c cconex : Main routine to compute the strongly connected components c of a (block diagonal) matrix. c anccnx : We put in ICCNEX the vertices marked in the component MCCNEX. c newcnx : We put in ICCNEX the vertices marked in the component c MCCNEX. We modify also the vector KPW. c blccn1 : Parallel computation of the connected components of a c matrix. The parallel loop is performed only if the matrix c has a block diagonal structure. c ccnicopy:We copy an integer vector into anothoer. c compos : We calculate the composition between two permutation c vectors. c invlpw : We calculate the inverse of a permutation vector. c numini : We initialize a vector to the identity. c tbzero : We initialize to ZERO an integer vector. c iplusa : Given two integers IALPHA and IBETA, for an integer vector c IA we calculate IA(i) = ialpha + ibeta * ia(i) C c----------------------------------------------------------------------c subroutine BLCCNX(n, nbloc, nblcmx, nsbloc, job, lpw, amat, ja, * ia, iout, ier, izs, nw) C----------------------------------------------------------------------- c c This routine determines if the matrix given by the structure c IA et JA is irreductible. If not, it orders the unknowns such c that all the consecutive unknowns in KPW between NSBLOC(i-1)+1 c and NSBLOC(i) belong to the ith component of the matrix. c The numerical values of the matrix are in AMAT. They are modified c only if JOB = 1 and if we have more than one connected component. c c On entry: c -------- c n = row and column dimension of the matrix c nblcmx = maximum number of connected components allowed. The size c of NSBLOC is nblcmx + 1 (in fact, it starts at 0). c job = integer indicating the work to be done: c job = 1 if the permutation LPW is modified, we c permute not only the structure of the matrix c but also its numerical values. c job.ne.1 if the permutation LPW is modified, we permute c the structure of the matrix ignoring real values. c iout = impression parameter. If 0 < iout < 100, we print c comments and error messages on unit IOUT. c nw = length of the work vector IZS. c c Input / output: c -------------- c nbloc = number of connected components of the matrix. If the c matrix is not irreductible, nbloc > 1. We allow c nbloc > 1 on entry; in this case we calculate the c number of connected components in each previous one. c nsbloc = integer array of length NBLOC + 1 containing the pointers c to the first node of each component on the old (input) c and on the new (output) ordering. c lpw = integer array of length N corresponding to the c permutation of the unknowns. We allow LPW to be a vector c different from the identity on input. c amat = real*8 values of the matrix given by the structure IA, JA. c ja = integer array of length NNZERO (= IA(N+1)-IA(1)) corresponding c to the column indices of nonzero elements of the matrix, stored c rowwise. It is modified only if the matrix has more c than one connected component. c ia = integer array of length N+1 corresponding to the c pointer to the beginning of each row in JA (compressed c sparse row storage). It is modified only if c the matrix has more than one connected component. c c On return: c ---------- c ier = integer. Error message. Normal return ier = 0. c c Work space: c ---------- c izs = integer vector of length NW c C----------------------------------------------------------------------- C Laura C. Dutto - email: dutto@cerca.umontreal.ca c July 1992 - Update: March 1994 C----------------------------------------------------------------------- integer izs(nw), lpw(n), nsbloc(0:nblcmx), ia(n+1), ja(*) real*8 amat(*) logical impr character*6 chsubr C----------------------------------------------------------------------- ier = 0 impr = iout.gt.0.and.iout.le.99 ntb = ia(n+1) - 1 mxccex = max(nblcmx,20) c.....The matrix AMAT is a real*8 vector ireal = 2 c c.....MXPTBL: maximal number of vertices by block mxptbl = 0 do ibloc = 1, nbloc mxptbl = max( mxptbl, nsbloc(ibloc) - nsbloc(ibloc-1)) enddo c long1 = nbloc * mxptbl long2 = nbloc * (mxccex+1) c.....Dynamic allocation of memory iend = 1 iiend = iend ilpw = iiend ikpw = ilpw + n ilccnx = ikpw + long1 imark = ilccnx + long2 iend = imark + n if(iend .gt. nw) go to 220 c nbloc0 = nbloc chsubr = 'BLCCN1' c.....We determine if the matrix has more than NBLOC0 connected components. call BLCCN1(n, nbloc, nblcmx, nsbloc, izs(ilpw), izs(ikpw), ia, * ja, izs(imark), mxccex, izs(ilccnx), mxptbl, iout, * ier) if(ier.ne.0) go to 210 c if(nbloc .gt. nbloc0) then c..........The matrix has more than NBLOC0 conneted components. So, we c..........modify the vectors IA and JA to take account of the new permutation. nfree = iend - ikpw call tbzero(izs(ikpw), nfree) iiat = ikpw ijat = iiat + n + 1 iamat = ijat + ntb iend = iamat if(job .eq. 1) iend = iamat + ireal * ntb if(iend .gt. nw) go to 220 c c..........We copy IA and JA on IAT and JAT respectively call ccnicopy(n+1, ia, izs(iiat)) call ccnicopy(ntb, ja, izs(ijat)) if(job .eq. 1) call dcopy(ntb, amat, 1, izs(iamat), 1) call dperm(n, izs(iamat), izs(ijat), izs(iiat), amat, * ja, ia, izs(ilpw), izs(ilpw), job) ipos = 1 c..........We sort columns inside JA. call csrcsc(n, job, ipos, amat, ja, ia, izs(iamat), * izs(ijat), izs(iiat)) call csrcsc(n, job, ipos, izs(iamat), izs(ijat), izs(iiat), * amat, ja, ia) endif c.....We modify the ordering of unknowns in LPW call compos(n, lpw, izs(ilpw)) c 120 nfree = iend - iiend call tbzero(izs(iiend), nfree) iend = iiend return c 210 IF(IMPR) WRITE(IOUT,310) chsubr,ier go to 120 220 IF(IMPR) WRITE(IOUT,320) nw, iend if(ier.eq.0) ier = -1 go to 120 c 310 FORMAT(' ***BLCCNX*** ERROR IN ',a6,'. IER = ',i8) 320 FORMAT(' ***BLCCNX*** THERE IS NOT ENOUGH MEMORY IN THE WORK', 1 ' VECTOR.'/13X,' ALLOWED MEMORY = ',I10,' - NEEDED', 2 ' MEMORY = ',I10) end c ********************************************************************** subroutine CCONEX(n, icol0, mxccnx, lccnex, kpw, ia, ja, mark, * iout, ier) C----------------------------------------------------------------------- c c This routine determines if the matrix given by the structure c IA and JA is irreductible. If not, it orders the unknowns such c that all the consecutive unknowns in KPW between LCCNEX(i-1)+1 c and LCCNEX(i) belong to the ith component of the matrix. c The structure of the matrix could be nonsymmetric. c The diagonal vertices (if any) will belong to the last connected c component (convention). c c On entry: c -------- c n = row and column dimension of the matrix c icol0 = the columns of the matrix are between ICOL0+1 and ICOL0+N c iout = impression parameter. If 0 < IOUT < 100, we print c comments and error messages on unit IOUT. c ia = integer array of length N+1 corresponding to the c pointer to the beginning of each row in JA (compressed c sparse row storage). c ja = integer array of length NNZERO (= IA(N+1)-IA(1)) c corresponding to the column indices of nonzero elements c of the matrix, stored rowwise. c c Input/Output: c ------------ c mxccnx = maximum number of connected components allowed on input, c and number of connected components of the matrix, on output. c c On return: c ---------- c lccnex = integer array of length MXCCNX + 1 containing the pointers c to the first node of each component, in the vector KPW. c kpw = integer array of length N corresponding to the c inverse of permutation vector. c ier = integer. Error message. Normal return ier = 0. c c Work space: c ---------- c mark = integer vector of length N c C----------------------------------------------------------------------- C Laura C. Dutto - email: dutto@cerca.umontreal.ca c July 1992 - Update: March 1994 C----------------------------------------------------------------------- dimension ia(n+1), lccnex(0:mxccnx), kpw(n), ja(*), mark(n) logical impr C----------------------------------------------------------------------- ier = 0 ipos = ia(1) - 1 impr = iout.gt.0.and.iout.le.99 c nccnex = 0 c.....We initialize MARK to zero. At the end of the algorithm, it would c.....indicate the number of connected component associated with the vertex. c.....The number (-1) indicates that the row associated with this vertex c.....is a diagonal row. This value could be modified because we accept c.....a non symmetric matrix. All the diagonal vertices will be put in c.....the same connected component. call tbzero(mark, n) c 5 do i = 1,n if(mark(i) .eq. 0) then ideb = i go to 15 endif enddo go to 35 c 15 if( ia(ideb+1) - ia(ideb) .eq. 1) then c..........The row is a diagonal row. mark(ideb) = -1 go to 5 endif iccnex = nccnex + 1 if(iccnex .gt. mxccnx) go to 220 index = 0 newind = 0 jref = 0 mark(ideb) = iccnex index = index + 1 kpw(index) = ideb c 20 jref = jref + 1 ideb = kpw(jref) do 30 ir = ia(ideb)-ipos, ia(ideb+1)-ipos-1 j = ja(ir) - icol0 mccnex = mark(j) if(mccnex .le. 0) then index = index + 1 kpw(index) = j mark(j) = iccnex else if( mccnex .eq. iccnex) then go to 30 else if( mccnex .gt. iccnex) then c.............We realize that the connected component MCCNX is, c.............in fact, included in this one. We modify MARK and KPW. call NEWCNX(n, mccnex, iccnex, index, kpw, mark) if(mccnex .eq. nccnex) nccnex = nccnex - 1 else c.............We realize that the previously marked vertices belong, c.............in fact, to the connected component ICCNX. We modify MARK. call ANCCNX(n, iccnex, mccnex, mark, nwindx) iccnex = mccnex newind = newind + nwindx endif 30 continue if(jref .lt. index) go to 20 c c.....We have finished with this connected component. index = index + newind if(iccnex .eq. nccnex+1) nccnex = nccnex + 1 go to 5 c....................................................................... c c We have partitioned the graph in its connected components! c c....................................................................... 35 continue c c.....All the vertices have been already marked. Before modifying KPW c.....(if necessary), we put the diagonal vertex (if any) in the last c.....connected component. call tbzero(lccnex(1), nccnex) c idiag = 0 do i = 1, n iccnex = mark(i) if(iccnex .eq. -1) then idiag = idiag + 1 if(idiag .eq. 1) then nccnex = nccnex + 1 if(nccnex .gt. mxccnx) go to 220 if(impr) write(iout,340) endif mark(i) = nccnex else lccnex(iccnex) = lccnex(iccnex) + 1 endif enddo if(idiag .ge. 1) lccnex(nccnex) = idiag c if(nccnex .eq. 1) then lccnex(nccnex) = n go to 40 endif c iccnex = 1 8 if(iccnex .gt. nccnex) go to 12 if(lccnex(iccnex) .le. 0) then do i = 1, n if(mark(i) .ge. iccnex) mark(i) = mark(i) - 1 enddo nccnex = nccnex - 1 do mccnex = iccnex, nccnex lccnex(mccnex) = lccnex(mccnex + 1) enddo else iccnex = iccnex + 1 endif go to 8 c 12 index = 0 do iccnex = 1, nccnex noeicc = lccnex(iccnex) lccnex(iccnex) = index index = index + noeicc enddo if(index .ne. n) go to 210 c c.....We define correctly KPW do i = 1,n iccnex = mark(i) index = lccnex(iccnex) + 1 kpw(index) = i lccnex(iccnex) = index enddo c 40 mxccnx = nccnex lccnex(0) = nccnex if(nccnex .eq. 1) call numini(n, kpw) return c 210 if(impr) write(iout,310) index,n go to 235 220 if(impr) write(iout,320) nccnex, mxccnx go to 235 235 ier = -1 return c 310 format(' ***CCONEX*** ERROR TRYING TO DETERMINE THE NUMBER', * ' OF CONNECTED COMPONENTS.'/13X,' NUMBER OF MARKED', * ' VERTICES =',i7,3x,'TOTAL NUMBER OF VERTICES =',I7) 320 format(' ***CCONEX*** THE ALLOWED NUMBER OF CONNECTED COMPONENTS', * ' IS NOT ENOUGH.'/13X,' NECESSARY NUMBER = ',I4, * 5x,' ALLOWED NUMBER = ',I4) 323 format(' ***CCONEX*** ERROR IN ',A6,'. IER = ',I8) 340 format(/' ***CCONEX*** THE LAST CONNECTED COMPONENT WILL', * ' HAVE THE DIAGONAL VERTICES.') end c ********************************************************************** subroutine ANCCNX(n, mccnex, iccnex, mark, ncount) C----------------------------------------------------------------------- c c We put in ICCNEX the vertices marked in the component MCCNEX. C C----------------------------------------------------------------------- c include "NSIMPLIC" dimension mark(n) C----------------------------------------------------------------------- C Laura C. Dutto - email: dutto@cerca.umontreal.ca - December 1993 C----------------------------------------------------------------------- ncount = 0 do i = 1, n if( mark(i) .eq. mccnex) then mark(i) = iccnex ncount = ncount + 1 endif enddo c return end c ********************************************************************** subroutine NEWCNX(n, mccnex, iccnex, index, kpw, mark) C----------------------------------------------------------------------- c c We put in ICCNEX the vertices marked in the component MCCNEX. We c modify also the vector KPW. C C----------------------------------------------------------------------- c include "NSIMPLIC" dimension kpw(*), mark(n) C----------------------------------------------------------------------- C Laura C. Dutto - email: dutto@cerca.umontreal.ca - December 1993 C----------------------------------------------------------------------- do i = 1, n if( mark(i) .eq. mccnex) then mark(i) = iccnex index = index + 1 kpw(index) = i endif enddo c return end c ********************************************************************** subroutine BLCCN1(n, nbloc, nblcmx, nsbloc, lpw, kpw, ia, ja, * mark, mxccex, lccnex, mxptbl, iout, ier) C----------------------------------------------------------------------- c c This routine determines if the matrix given by the structure c IA et JA is irreductible. If not, it orders the unknowns such c that all the consecutive unknowns in KPW between NSBLOC(i-1)+1 c and NSBLOC(i) belong to the ith component of the matrix. c c On entry: c -------- c n = row and column dimension of the matrix c nblcmx = The size of NSBLOC is nblcmx + 1 (in fact, it starts at 0). c ia = integer array of length N+1 corresponding to the c pointer to the beginning of each row in JA (compressed c sparse row storage). c ja = integer array of length NNZERO (= IA(N+1)-IA(1)) corresponding c to the column indices of nonzero elements of the matrix, c stored rowwise. c mxccex = maximum number of connected components allowed by block. c mxptbl = maximum number of points (or unknowns) in each connected c component (mxptbl .le. n). c iout = impression parameter. If 0 < iout < 100, we print c comments and error messages on unit IOUT. c c Input/Output: c ------------ c nbloc = number of connected components of the matrix. If the c matrix is not irreductible, nbloc > 1. We allow c nbloc > 1 on entry; in this case we calculate the c number of connected components in each previous one. c nsbloc = integer array of length NBLOC + 1 containing the pointers c to the first node of each component on the new ordering. c Normally, on entry you put: NBLOC = 1, NSBLOC(0) = 0, c NSBLOC(NBLOC) = N. c c On return: c ---------- c lpw = integer array of length N corresponding to the c permutation vector (the row i goes to lpw(i)). c ier = integer. Error message. Normal return ier = 0. c c Work space: c ---------- c kpw = integer vector of length MXPTBL*NBLOC necessary for parallel c computation. c mark = integer vector of length N c lccnex = integer vector of length (MXCCEX+1)*NBLOC necessary for parallel c computation. c C----------------------------------------------------------------------- C Laura C. Dutto - e-mail: dutto@cerca.umontreal.ca c Juillet 1992. Update: March 1994 C----------------------------------------------------------------------- dimension lpw(n), kpw(mxptbl*nbloc), ia(n+1), ja(*), * lccnex((mxccex+1)*nbloc), nsbloc(0:nbloc), mark(n) logical impr character chsubr*6 C----------------------------------------------------------------------- ier = 0 impr = iout.gt.0.and.iout.le.99 isor = 0 c chsubr = 'CCONEX' newblc = 0 C$DOACROSS if(nbloc.gt.1), LOCAL(ibloc, ik0, ik1, ins0, ntb0, C$& nccnex, ilccnx, info, kpibl), REDUCTION(ier, newblc) do 100 ibloc = 1,nbloc ik0 = nsbloc(ibloc - 1) ik1 = nsbloc(ibloc) ntb0 = ia(ik0+1) if(ia(ik1+1) - ntb0 .le. 1) go to 100 ntb0 = ntb0 - 1 ins0 = ik1 - ik0 c........We need more memory place for KPW1 because of parallel computation kpibl = (ibloc-1) * mxptbl call numini( ins0, kpw(kpibl+1)) nccnex = mxccex ilccnx = (mxccex+1) * (ibloc-1) + 1 c....................................................................... c c Call to the main routine: CCONEX c c....................................................................... call cconex(ins0, ik0, nccnex, lccnex(ilccnx), kpw(kpibl+1), * ia(ik0+1), ja(ntb0+1), mark(ik0+1), isor, info) ier = ier + info if(info .ne. 0 .or. nccnex .lt. 1) go to 100 c c........We add the new connected components on NEWBLC newblc = newblc + nccnex c........We define LPW different from the identity only if there are more c........than one connected component in this block if(nccnex .eq. 1) then call numini(ins0, lpw(ik0+1)) else call invlpw(ins0, kpw(kpibl+1), lpw(ik0+1)) endif call iplusa(ins0, ik0, 1, lpw(ik0+1)) 100 continue c if(ier .ne. 0) go to 218 if(newblc .eq. nbloc) go to 120 if(newblc .gt. nblcmx) go to 230 c c.....We modify the number of blocks to indicate the number of connected c.....components in the matrix. newblc = 0 nsfin = 0 CDIR$ NEXT SCALAR do ibloc = 1, nbloc ilccnx = (mxccex+1) * (ibloc-1) + 1 nccnex = lccnex(ilccnx) if(nccnex .gt. 1 .and. impr) write(iout,420) ibloc,nccnex lcc0 = 0 CDIR$ NEXT SCALAR do icc = 1,nccnex newblc = newblc + 1 nsb = lccnex(ilccnx+icc) c...........Be careful! In LCCNEX we have the cumulated number of vertices nsbloc(newblc) = nsfin + nsb if(nccnex .gt. 1 .and. impr) write(iout,425) icc,nsb-lcc0 lcc0 = nsb enddo nsfin = nsfin + nsb enddo nbloc = newblc c 120 return c 218 if(impr) write(iout,318) chsubr,ier go to 120 230 if(impr) write(iout,330) newblc,nblcmx if(ier.eq.0) ier = -1 go to 120 c 318 format(' ***BLCCN1*** ERROR IN ',a6,'. IER = ',i8) 330 format(' ***BLCCN1*** THE MEMORY SPACE ALLOWED FOR NSBLOC IS', * ' NOT ENOUGH.'/13X,' NUMBER (NECESSARY) OF CONNECTED', * ' COMPONENTS = ',I5/13X,' MAXIMAL NUMBER OF BLOCKS',14x, * '= ',i5) 420 FORMAT(' *** The block ',i3,' has ',i3,' strongly connected', * ' components. The number of vertices by component is:') 425 format(5x,'Component No.',i3,' - Number of vertices = ',i6) end C*********************************************************************** SUBROUTINE CCNICOPY(N,IX,IY) C....................................................................... C We copy the vector IX on the vector IY C....................................................................... DIMENSION IX(n),IY(n) C....................................................................... IF(N.LE.0) RETURN C$DOACROSS if(n .gt. 250), local(i) DO 10 I = 1,N IY(I) = IX(I) 10 CONTINUE C RETURN END c*********************************************************************** SUBROUTINE COMPOS(n, lpw0, lpw1) C----------------------------------------------------------------------- c c We take account of the original order of unknowns. We put the c final result on LPW0. c C----------------------------------------------------------------------- DIMENSION lpw0(n), lpw1(n) C----------------------------------------------------------------------- c Laura C. Dutto - Mars 1994 C----------------------------------------------------------------------- C$DOACROSS if(n .gt. 250), local(i0) do i0 = 1, n lpw0(i0) = lpw1(lpw0(i0)) enddo c return end C ********************************************************************** SUBROUTINE INVLPW(n, lpw, kpw) c....................................................................... c c KPW is the inverse of LPW c c....................................................................... dimension lpw(n), kpw(n) c....................................................................... c Laura C. Dutto - Novembre 1993 c....................................................................... C$DOACROSS if(n .gt. 200), local(i0, i1) do i0 = 1, n i1 = lpw(i0) kpw(i1) = i0 enddo c return end C ********************************************************************** subroutine NUMINI(n, lpw) c....................................................................... dimension lpw(n) c....................................................................... c c The vector LPW is initialized as the identity. c c....................................................................... c Laura C. Dutto - Novembre 1993 c....................................................................... C$DOACROSS if(n .gt. 250), local(i) do i=1,n lpw(i) = i enddo c return end C*********************************************************************** SUBROUTINE TBZERO(M,NMOT) C....................................................................... C We initialize to ZERO an integer vector of length NMOT. C....................................................................... DIMENSION M(NMOT) C....................................................................... IF(NMOT.le.0) return C$DOACROSS if(nmot.gt.500), LOCAL(i) DO 1 I=1,NMOT M(I)=0 1 CONTINUE RETURN END C ********************************************************************** SUBROUTINE IPLUSA (n, nalpha, nbeta, ia) c....................................................................... C c We add NALPHA to each element of NBETA * IA: c c ia(i) = nalpha + nbeta * ia(i) c c....................................................................... integer ia(n) c....................................................................... c Laura C. Dutto - February 1994 c....................................................................... if(n .le. 0) return c nmax = 500 if(nalpha .eq. 0) then if(nbeta .eq. 1) return if(nbeta .eq. -1) then C$DOACROSS if(n .gt. nmax), local (i) do i = 1, n ia(i) = - ia(i) enddo else C$DOACROSS if(n .gt. nmax/2), local (i) do i = 1, n ia(i) = nbeta * ia(i) enddo endif return endif if(nbeta .eq. 0) then C$DOACROSS if(n .gt. nmax), local (i) do i = 1, n ia(i) = nalpha enddo return endif if(nbeta .eq. -1) then C$DOACROSS if(n .gt. nmax/2), local (i) do i = 1, n ia(i) = nalpha - ia(i) enddo else if(nbeta .eq. 1) then C$DOACROSS if(n .gt. nmax/2), local (i) do i = 1, n ia(i) = nalpha + ia(i) enddo else C$DOACROSS if(n .gt. nmax/3), local (i) do i = 1, n ia(i) = nalpha + nbeta * ia(i) enddo endif c return end sparskit-2.0.0/ORDERINGS/README0000644000265600020320000000534506203735306014724 0ustar tilleaadmin------------------------------------------------------------ SPARSKIT MODULE ORDERINGS ------------------------------------------------------------- The current directory ORDERINGS contains a few subroutines for finding some of the standard reorderings for a given matrix. levset.f -- level set based algorithms dblstr : doubled stripe partitioner rdis : recursive dissection partitioner dse2way : distributed site expansion usuing sites from dblstr dse : distributed site expansion usuing sites from rdis BFS : Breadth-First search traversal algorithm add_lvst : routine to add a level -- used by BFS stripes : finds the level set structure stripes0 : finds a trivial one-way partitioning from level-sets perphn : finds a pseudo-peripheral node and performs a BFS from it. mapper4 : routine used by dse and dse2way to do center expansion get_domns: routine to find subdomaine from linked lists found by mapper4. add_lk : routine to add entry to linked list -- used by mapper4. find_ctr : routine to locate an approximate center of a subgraph. rversp : routine to reverse a given permutation (e.g., for RCMK) maskdeg : integer function to compute the `masked' of a node color.f -- algorithms for independent set ordering and multicolor orderings multic : greedy algorithm for multicoloring indset0 : greedy algorithm for independent set ordering indset1 : independent set ordering using minimal degree traversal indset2 : independent set ordering with local minimization indset3 : independent set ordering by vertex cover algorithm ccn.f -- code for strongly connected components blccnx : Driver routine to reduce the structure of a matrix to its strongly connected components. cconex : Main routine to compute the strongly connected components of a (block diagonal) matrix. anccnx : We put in ICCNEX the vertices marked in the component MCCNEX. newcnx : We put in ICCNEX the vertices marked in the component MCCNEX. We modify also the vector KPW. blccn1 : Parallel computation of the connected components of a matrix. The parallel loop is performed only if the matrix has a block diagonal structure. icopy : We copy an integer vector into anothoer. compos : We calculate the composition between two permutation vectors. invlpw : We calculate the inverse of a permutation vector. numini : We initialize a vector to the identity. tbzero : We initialize to ZERO an integer vector. iplusa : Given two integers IALPHA and IBETA, for an integer vector IA we calculate IA(i) = ialpha + ibeta * ia(i) sparskit-2.0.0/ORDERINGS/color.f0000644000265600020320000007210207260173437015331 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c REORDERING ROUTINES -- COLORING BASED ROUTINES c c----------------------------------------------------------------------c c contents: c c---------- c c multic : greedy algorithm for multicoloring c c indset0 : greedy algorithm for independent set ordering c c indset1 : independent set ordering using minimal degree traversal c c indset2 : independent set ordering with local minimization c c indset3 : independent set ordering by vertex cover algorithm c c HeapSort, FixHeap, HeapInsert, interchange, MoveBack, FiHeapM, c c FixHeapM, HeapInsertM,indsetr,rndperm, are utility c c routines for sorting, generating random permutations, etc. c c----------------------------------------------------------------------c subroutine multic (n,ja,ia,ncol,kolrs,il,iord,maxcol,ierr) integer n, ja(*),ia(n+1),kolrs(n),iord(n),il(maxcol+1),ierr c----------------------------------------------------------------------- c multicoloring ordering -- greedy algorithm -- c determines the coloring permutation and sets up c corresponding data structures for it. c----------------------------------------------------------------------- c on entry c -------- c n = row and column dimention of matrix c ja = column indices of nonzero elements of matrix, stored rowwise. c ia = pointer to beginning of each row in ja. c maxcol= maximum number of colors allowed -- the size of il is c maxcol+1 at least. Note: the number of colors does not c exceed the maximum degree of each node +1. c iord = en entry iord gives the order of traversal of the nodes c in the multicoloring algorithm. If there is no preference c then set iord(j)=j for j=1,...,n c c on return c --------- c ncol = number of colours found c kolrs = integer array containing the color number assigned to each node c il = integer array containing the pointers to the c beginning of each color set. In the permuted matrix c the rows /columns il(kol) to il(kol+1)-1 have the same color. c iord = permutation array corresponding to the multicolor ordering. c row number i will become row nbumber iord(i) in permuted c matrix. (iord = destination permutation array). c ierr = integer. Error message. normal return ierr = 0. If ierr .eq.1 c then the array il was overfilled. c c----------------------------------------------------------------------- c integer kol, i, j, k, maxcol, mycol c ierr = 0 do 1 j=1, n kolrs(j) = 0 1 continue do 11 j=1, maxcol il(j) = 0 11 continue c ncol = 0 c c scan all nodes c do 4 ii=1, n i = iord(ii) c c look at adjacent nodes to determine colors already assigned c mcol = 0 do 2 k=ia(i), ia(i+1)-1 j = ja(k) icol = kolrs(j) if (icol .ne. 0) then mcol = max(mcol,icol) c c il used as temporary to record already assigned colors. c il(icol) = 1 endif 2 continue c c taken colors determined. scan il until a slot opens up. c mycol = 1 3 if (il(mycol) .eq. 1) then mycol = mycol+1 if (mycol .gt. maxcol) goto 99 if (mycol .le. mcol) goto 3 endif c c reset il to zero for next nodes c do 35 j=1, mcol il(j) = 0 35 continue c c assign color and update number of colors so far c kolrs(i) = mycol ncol = max(ncol,mycol) 4 continue c c every node has now been colored. Count nodes of each color c do 6 j=1, n kol = kolrs(j)+1 il(kol) = il(kol)+1 6 continue c c set pointers il c il(1) = 1 do 7 j=1, ncol il(j+1) = il(j)+il(j+1) 7 continue c c set iord c do 8 j=1, n kol = kolrs(j) iord(j) = il(kol) il(kol) = il(kol)+1 8 continue c c shift il back c do 9 j=ncol,1,-1 il(j+1) = il(j) 9 continue il(1) = 1 c return 99 ierr = 1 return c----end-of-multic------------------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine indset0 (n,ja,ia,nset,iord,riord,sym,iptr) integer n, nset, ja(*),ia(*),riord(*),iord(*) logical sym c---------------------------------------------------------------------- c greedy algorithm for independent set ordering c---------------------------------------------------------------------- c parameters: c ---------- c n = row dimension of matrix c ja, ia = matrix pattern in CRS format c nset = (output) number of elements in the independent set c iord = permutation array corresponding to the independent set c ordering. Row number i will become row number iord(i) in c permuted matrix. c riord = reverse permutation array. Row number i in the permutated c matrix is row number riord(i) in original matrix. c---------------------------------------------------------------------- c notes: works for CSR, MSR, and CSC formats but assumes that the c matrix has a symmetric structure. c---------------------------------------------------------------------- c local variables c integer j, k1, k2, nod, k, mat do 1 j=1, n iord(j) = 0 1 continue nummat = 1 if (.not. sym) nummat = 2 c c iord used as a marker c nset = 0 do 12 nod=1, n if (iord(nod) .ne. 0) goto 12 nset = nset+1 iord(nod) = 1 c c visit all neighbors of current nod c ipos = 0 do 45 mat=1, nummat do 4 k=ia(ipos+nod), ia(ipos+nod+1)-1 j = ja(k) if (j .ne. nod) iord(j) = 2 4 continue ipos = iptr-1 45 continue 12 continue c c get permutation c k1 = 0 k2 = nset do 6 j=1,n if (iord(j) .eq. 1) then k1 = k1+1 k = k1 else k2 = k2+1 k = k2 endif riord(k) = j iord(j) = k 6 continue return c---------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine indset1 (n,ja,ia,nset,iord,riord,iw,sym,iptr) integer n, nset, iptr, ja(*),ia(*),riord(*),iord(*),iw(*) logical sym c---------------------------------------------------------------------- c greedy algorithm for independent set ordering -- with intial c order of traversal given by that of min degree. c---------------------------------------------------------------------- c parameters: c ---------- c n = row dimension of matrix c ja, ia = matrix pattern in CRS format c nset = (output) number of elements in the independent set c iord = permutation array corresponding to the independent set c ordering. Row number i will become row number iord(i) in c permuted matrix. c riord = reverse permutation array. Row number i in the permutated c matrix is row number riord(i) in original matrix. c---------------------------------------------------------------------- c notes: works for CSR, MSR, and CSC formats but assumes that the c matrix has a symmetric structure. c---------------------------------------------------------------------- c local variables integer j,k1,k2,nummat,nod,k,ipos c c nummat is the number of matrices to loop through (A in symmetric c pattern case (nummat=1) or A,and transp(A) otherwise (mummat=2) c if (sym) then nummat = 1 else nummat = 2 endif iptrm1 = iptr-1 c c initialize arrays c do 1 j=1,n iord(j) = j riord(j) = j iw(j) = 0 1 continue c c initialize degrees of all nodes c ipos = 0 do 100 imat =1,nummat do 15 j=1,n iw(j) = iw(j) + ia(ipos+j+1)-ia(ipos+j) 15 continue ipos = iptrm1 100 continue c c call heapsort -- sorts nodes in increasing degree. c call HeapSort (iw,iord,riord,n,n) c c weights no longer needed -- use iw to store order of traversal. c do 16 j=1, n iw(n-j+1) = iord(j) iord(j) = 0 16 continue c c iord used as a marker c nset = 0 do 12 ii = 1, n nod = iw(ii) if (iord(nod) .ne. 0) goto 12 nset = nset+1 iord(nod) = 1 c c visit all neighbors of current nod c ipos = 0 do 45 mat=1, nummat do 4 k=ia(ipos+nod), ia(ipos+nod+1)-1 j = ja(k) if (j .ne. nod) iord(j) = 2 4 continue ipos = iptrm1 45 continue 12 continue c c get permutation c k1 = 0 k2 = nset do 6 j=1,n if (iord(j) .eq. 1) then k1 = k1+1 k = k1 else k2 = k2+1 k = k2 endif riord(k) = j iord(j) = k 6 continue return c---------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine indset2(n,ja,ia,nset,iord,riord,iw,sym,iptr) integer n,nset,iptr,ja(*),ia(*),riord(n),iord(n),iw(n) logical sym c---------------------------------------------------------------------- c greedy algorithm for independent set ordering -- local minimization c using heap strategy -- c---------------------------------------------------------------------- c This version for BOTH unsymmetric and symmetric patterns c---------------------------------------------------------------------- c on entry c -------- c n = row and column dimension of matrix c ja = column indices of nonzero elements of matrix,stored rowwise. c ia = pointer to beginning of each row in ja. c sym = logical indicating whether the matrix has a symmetric pattern. c If not the transpose must also be provided -- appended to the c ja, ia structure -- see description of iptr next. c iptr = in case the matrix has an unsymmetric pattern,the transpose c is assumed to be stored in the same arrays ia,ja. iptr is the c location in ia of the pointer to the first row of transp(A). c more generally, ia(iptr),...,ia(iptr+n) are the pointers to c the beginnings of rows 1, 2, ...., n+1 (row n+1 is fictitious) c of the transpose of A in the array ja. For example,when using c the msr format,one can write: c iptr = ja(n+1) c ipos = iptr+n+2 ! get the transpose of A: c call csrcsc (n,0,ipos,a,ja,ja,a,ja,ja(iptr)) ! and then: c call indset(n,ja,ja,nset,iord,riord,iwk,.false.,iptr) c c iw = work space of length n. c c on return: c---------- c nset = integer. The number of unknowns in the independent set. c iord = permutation array corresponding to the new ordering. The c first nset unknowns correspond to the independent set. c riord = reverse permutation array. c---------------------------------------------------------------------- c local variables -- c integer j,k1,k2,nummat,nod,k,ipos,i,last,lastlast,jold,jnew, * jo,jn c c nummat is the number of matrices to loop through (A in symmetric c pattern case (nummat=1) or A,and transp(A) otherwise (mummat=2) c if (sym) then nummat = 1 else nummat = 2 endif iptrm1 = iptr-1 c c initialize arrays c do 1 j=1,n iord(j) = j riord(j) = j iw(j) = 0 1 continue c c initialize degrees of all nodes c ipos = 0 do 100 imat =1,nummat do 15 j=1,n iw(j) = iw(j) + ia(ipos+j+1)-ia(ipos+j) 15 continue 100 ipos = iptrm1 c c start by constructing a heap c do 2 i=n/2,1,-1 j = i call FixHeap (iw,iord,riord,j,j,n) 2 continue c c main loop -- remove nodes one by one. c last = n nset = 0 3 continue lastlast = last nod = iord(1) c c move first element to end c call moveback (iw,iord,riord,last) last = last -1 nset = nset + 1 c c scan all neighbors of accepted node -- move them to back -- c ipos = 0 do 101 imat =1,nummat do 5 k=ia(ipos+nod),ia(ipos+nod+1)-1 jold = ja(k) jnew = riord(jold) if (jold .eq. nod .or. jnew .gt. last) goto 5 iw(jnew) = -1 call HeapInsert (iw,iord,riord,jnew,ichild,jnew) call moveback (iw,iord,riord,last) last = last -1 5 continue ipos = iptrm1 101 continue c c update the degree of each edge c do 6 k=last+1,lastlast-1 jold = iord(k) c c scan the neighbors of current node c ipos = 0 do 102 imat =1,nummat do 61 i=ia(ipos+jold),ia(ipos+jold+1)-1 jo = ja(i) jn = riord(jo) c c consider this node only if it has not been moved c if (jn .gt. last) goto 61 c update degree of this neighbor iw(jn) = iw(jn)-1 c and fix the heap accordingly call HeapInsert (iw,iord,riord,jn,ichild,jn) 61 continue ipos = iptrm1 102 continue 6 continue c c stopping test -- end main "while"loop c if (last .gt. 1) goto 3 nset = nset + last c c rescan all nodes one more time to determine the permutations c k1 = 0 k2 = nset do 7 j=n,1,-1 if (iw(j) .ge. 0) then k1 = k1+1 k = k1 else k2 = k2+1 k = k2 endif riord(k) = iord(j) 7 continue do j=1,n iord(riord(j)) = j enddo return c---------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine indset3(n,ja,ia,nset,iord,riord,iw,sym,iptr) integer n,nset,iptr,ja(*),ia(*),riord(n),iord(n),iw(n) logical sym c---------------------------------------------------------------------- c greedy algorithm for independent set ordering -- local minimization c using heap strategy -- VERTEX COVER ALGORITHM -- c ASSUMES MSR FORMAT (no diagonal element) -- ADD A SWITCH FOR CSR -- c---------------------------------------------------------------------- c This version for BOTH unsymmetric and symmetric patterns c---------------------------------------------------------------------- c on entry c -------- c n = row and column dimension of matrix c ja = column indices of nonzero elements of matrix,stored rowwise. c ia = pointer to beginning of each row in ja. c sym = logical indicating whether the matrix has a symmetric pattern. c If not the transpose must also be provided -- appended to the c ja, ia structure -- see description of iptr next. c iptr = in case the matrix has an unsymmetric pattern,the transpose c is assumed to be stored in the same arrays ia,ja. iptr is the c location in ia of the pointer to the first row of transp(A). c more generally, ia(iptr),...,ia(iptr+n) are the pointers to c the beginnings of rows 1, 2, ...., n+1 (row n+1 is fictitious) c of the transpose of A in the array ja. For example,when using c the msr format,one can write: c iptr = ja(n+1) c ipos = iptr+n+2 ! get the transpose of A: c call csrcsc (n,0,ipos,a,ja,ja,a,ja,ja(iptr)) ! and then: c call indset(n,ja,ja,nset,iord,riord,iwk,.false.,iptr) c c iw = work space of length n. c c on return: c---------- c nset = integer. The number of unknowns in the independent set. c iord = permutation array corresponding to the new ordering. The c first nset unknowns correspond to the independent set. c riord = reverse permutation array. c---------------------------------------------------------------------- c local variables -- c integer j,nummat,nod,k,ipos,i,lastnset,jold,jnew c c nummat is the number of matrices to loop through (A in symmetric c pattern case (nummat=1) or A,and transp(A) otherwise (mummat=2) c if (sym) then nummat = 1 else nummat = 2 endif iptrm1 = iptr-1 c c initialize arrays c do 1 j=1,n riord(j) = j iord(j) = j iw(j) = 0 1 continue c c initialize degrees of all nodes c nnz = 0 ipos = 0 do 100 imat =1,nummat do 15 j=1,n ideg = ia(ipos+j+1)-ia(ipos+j) iw(j) = iw(j) + ideg nnz = nnz + ideg 15 continue 100 ipos = iptrm1 c c number of edges c if (sym) then nnz = 2*nnz c c start by constructing a Max heap c do 2 i=n/2,1,-1 j = i call FixHeapM (iw,riord,iord,j,j,n) 2 continue nset = n c---------------------------------------------------------------------- c main loop -- remove nodes one by one. c---------------------------------------------------------------------- 3 continue lastnset = nset nod = riord(1) c c move first element to end c call movebackM (iw,riord,iord,nset) nnz = nnz - iw(nset) nset = nset -1 c c scan all neighbors of accepted node -- c ipos = 0 do 101 imat =1,nummat do 5 k=ia(ipos+nod),ia(ipos+nod+1)-1 jold = ja(k) jnew = iord(jold) if (jold .eq. nod .or. jnew .gt. nset) goto 5 iw(jnew) = iw(jnew) - 1 nnz = nnz-1 call FixHeapM (iw,riord,iord,jnew,jnew,nset) 5 continue ipos = iptrm1 101 continue c if (nnz .gt. 0) goto 3 return c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine HeapSort (a,ind,rind,n,ncut) integer a(*),ind(n),rind(n),n, ncut c---------------------------------------------------------------------- c integer version -- min heap sorts decreasinly. c---------------------------------------------------------------------- c sorts inger keys in array a increasingly and permutes the companion c array ind rind accrodingly. c n = size of array c ncut = integer indicating when to cut the process.the process is c stopped after ncut outer steps of the heap-sort algorithm. c The first ncut values are sorted and they are the smallest c ncut values of the array. c---------------------------------------------------------------------- c local variables c integer i,last, j,jlast c c Heap sort algorithm --- c c build heap do 1 i=n/2,1,-1 j = i call FixHeap (a,ind,rind,j,j,n) 1 continue c c done -- now remove keys one by one c jlast = max(2,n-ncut+1) do 2 last=n,jlast,-1 call moveback (a,ind,rind,last) 2 continue return end c---------------------------------------------------------------------- subroutine FixHeap (a,ind,rind,jkey,vacant,last) integer a(*),ind(*),rind(*),jkey,vacant,last c---------------------------------------------------------------------- c inserts a key (key and companion index) at the vacant position c in a (min) heap - c arguments c a(1:last) = real array c ind(1:last) = integer array -- permutation of initial data c rind(1:last) = integer array -- reverse permutation c jkey = position of key to be inserted. a(jkey) c will be inserted into the heap c vacant = vacant where a key is to be inserted c last = number of elements in the heap. c---------------------------------------------------------------------- c local variables c integer child,lchild,rchild,xkey xkey = a(jkey) ikey = ind(jkey) lchild = 2*vacant 1 continue rchild = lchild+1 child = lchild if (rchild .le. last .and. a(rchild) .lt. a(child)) * child = rchild if (xkey .le. a(child) .or. child .gt. last) goto 2 a(vacant) = a(child) ind(vacant) = ind(child) rind(ind(vacant)) = vacant vacant = child lchild = 2*vacant if (lchild .le. last) goto 1 2 continue a(vacant) = xkey ind(vacant) = ikey rind(ikey) = vacant return c---------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine HeapInsert (a,ind,rind,jkey,child,node) integer a(*),ind(*),rind(*),jkey,child,node c---------------------------------------------------------------------- c inserts a key to a heap from `node'. Checks values up c only -- i.e.,assumes that the subtree (if any) whose root c is node is such that the keys are all inferior to those c to ge inserted. c c child is where the key ended up. c---------------------------------------------------------------------- c---- local variables integer parent,xkey,ikey xkey = a(jkey) ikey = ind(jkey) c node = node + 1 a(node) = xkey ind(node) = ikey rind(ikey) = node if (node .le. 1) return child=node 1 parent = child/2 if (a(parent) .le. a(child)) goto 2 call interchange(a,ind,rind,child,parent) child = parent if (child .gt. 1) goto 1 2 continue return end c----------------------------------------------------------------------- subroutine interchange (a,ind,rind,i,j) integer a(*),ind(*),rind(*),i,j integer tmp,itmp tmp = a(i) itmp = ind(i) c a(i) = a(j) ind(i) = ind(j) c a(j) = tmp ind(j) = itmp rind(ind(j)) = j rind(ind(i)) = i c return end c---------------------------------------------------------------------- subroutine moveback (a,ind,rind,last) integer a(*),ind(*),rind(*),last c moves the front key to the back and inserts the last c one back in from the top -- c c local variables c integer vacant,xmin c vacant = 1 xmin = a(vacant) imin = ind(vacant) call FixHeap(a,ind,rind,last,vacant,last-1) a(last) = xmin ind(last) = imin rind(ind(last)) = last c return end c---------------------------------------------------------------------- subroutine FixHeapM (a,ind,rind,jkey,vacant,last) integer a(*),ind(*),rind(*),jkey,vacant,last c---- c inserts a key (key and companion index) at the vacant position c in a heap - THIS IS A MAX HEAP VERSION c arguments c a(1:last) = real array c ind(1:last) = integer array -- permutation of initial data c rind(1:last) = integer array -- reverse permutation c jkey = position of key to be inserted. a(jkey) c will be inserted into the heap c vacant = vacant where a key is to be inserted c last = number of elements in the heap. c---- c local variables c integer child,lchild,rchild,xkey xkey = a(jkey) ikey = ind(jkey) lchild = 2*vacant 1 continue rchild = lchild+1 child = lchild if (rchild .le. last .and. a(rchild) .gt. a(child)) * child = rchild if (xkey .ge. a(child) .or. child .gt. last) goto 2 a(vacant) = a(child) ind(vacant) = ind(child) rind(ind(vacant)) = vacant vacant = child lchild = 2*vacant if (lchild .le. last) goto 1 2 continue a(vacant) = xkey ind(vacant) = ikey rind(ikey) = vacant return end c subroutine HeapInsertM (a,ind,rind,jkey,child,node) integer a(*),ind(*),rind(*),jkey,child,node c---------------------------------------------------------------------- c inserts a key to a heap from `node'. Checks values up c only -- i.e.,assumes that the subtree (if any) whose root c is node is such that the keys are all inferior to those c to ge inserted. c c child is where the key ended up. c---------------------------------------------------------------------- c---- local variables integer parent,xkey,ikey xkey = a(jkey) ikey = ind(jkey) c node = node + 1 a(node) = xkey ind(node) = ikey rind(ikey) = node if (node .le. 1) return child=node 1 parent = child/2 if (a(parent) .ge. a(child)) goto 2 call interchange(a,ind,rind,child,parent) child = parent if (child .gt. 1) goto 1 2 continue return end c---------------------------------------------------------------------- subroutine movebackM (a,ind,rind,last) integer a(*),ind(*),rind(*),last c---------------------------------------------------------------------- c moves the front key to the back and inserts the last c one back in from the top -- MAX HEAP VERSION c---------------------------------------------------------------------- c c local variables c integer vacant,xmin c vacant = 1 xmin = a(vacant) imin = ind(vacant) call FixHeapM(a,ind,rind,last,vacant,last-1) a(last) = xmin ind(last) = imin rind(ind(last)) = last c---------------------------------------------------------------------- return end c---------------------------------------------------------------------- subroutine indsetr (n,ja,ia,nset,iord,riord,sym,iptr) integer n, nset, ja(*),ia(*),riord(*),iord(*) logical sym c---------------------------------------------------------------------- c greedy algorithm for independent set ordering -- RANDOM TRAVERSAL -- c---------------------------------------------------------------------- c parameters: c ---------- c n = row dimension of matrix c ja, ia = matrix pattern in CRS format c nset = (output) number of elements in the independent set c iord = permutation array corresponding to the independent set c ordering. Row number i will become row number iord(i) in c permuted matrix. c riord = reverse permutation array. Row number i in the permutated c matrix is row number riord(i) in original matrix. c---------------------------------------------------------------------- c notes: works for CSR, MSR, and CSC formats but assumes that the c matrix has a symmetric structure. c---------------------------------------------------------------------- c local variables c integer j, k1, k2, nod, k, mat do 1 j=1, n iord(j) = 0 1 continue c c generate random permutation c iseed = 0 call rndperm(n, riord, iseed) write (8,'(10i6)') (riord(j),j=1,n) c nummat = 1 if (.not. sym) nummat = 2 c c iord used as a marker c nset = 0 do 12 ii=1, n nod = riord(ii) if (iord(nod) .ne. 0) goto 12 nset = nset+1 iord(nod) = 1 c c visit all neighbors of current nod c ipos = 0 do 45 mat=1, nummat do 4 k=ia(ipos+nod), ia(ipos+nod+1)-1 j = ja(k) if (j .ne. nod) iord(j) = 2 4 continue ipos = iptr-1 45 continue 12 continue c c get permutation c k1 = 0 k2 = nset do 6 j=1,n if (iord(j) .eq. 1) then k1 = k1+1 k = k1 else k2 = k2+1 k = k2 endif riord(k) = j iord(j) = k 6 continue return c---------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine rndperm(n,iord,iseed) integer n, iseed, iord(n) c---------------------------------------------------------------------- c this subroutine will generate a pseudo random permutation of the c n integers 1,2, ...,n. c iseed is the initial seed. any integer. c---------------------------------------------------------------------- c local c integer i, j, itmp c---------------------------------------------------------------------- do j=1, n iord(j) = j enddo c do i=1, n j = mod(irand(0),n) + 1 itmp = iord(i) iord(i) = iord(j) iord(j) = itmp enddo c---------------------------------------------------------------------- return c---------------------------------------------------------------------- end sparskit-2.0.0/INOUT/0000755000265600020320000000000011301043347013367 5ustar tilleaadminsparskit-2.0.0/INOUT/makefile0000644000265600020320000000114211063776720015102 0ustar tilleaadminFFLAGS = F77 = f77 #F77 = cf77 #FFLAGS = -Wf"-dp" FILES1 = chkio.o FILES2 = hb2ps.o FILES3 = hb2pic.o chk.ex: $(FILES1) ../MATGEN/FDIF/functns.o ../libskit.a $(F77) $(FFLAGS) -o chk.ex $(FILES1) ../MATGEN/FDIF/functns.o ../libskit.a hb2ps.ex: $(FILES2) ../libskit32.a $(F77) $(FFLAGS) -o hb2ps.ex $(FILES2) ../libskit32.a hb2pic.ex: $(FILES3) ../libskit.a $(F77) $(FFLAGS) -o hb2pic.ex $(FILES3) ../libskit.a clean: rm -f *.o *.ex core *.trace *.pic *.mat *.ps ../MATGEN/FDIF/functns.o: (cd ../MATGEN/FDIF; $(F77) $(FFLAGS) -c functns.f) ../libskit.a: (cd ..; $(MAKE) $(MAKEFLAGS) libskit.a) sparskit-2.0.0/INOUT/hb2pic.f0000644000265600020320000000221506203735243014715 0ustar tilleaadmin program hb2pic c------------------------------------------------------------------c c c reads a harwell-Boeing matrix and creates a pic file for pattern. c c------------------------------------------------------------------c implicit real*8 (a-h,o-z) parameter (nmax = 5000, nzmax = 70000) integer ia(nmax+1), ja(nzmax) real*8 a(nzmax), rhs(1) character title*72, key*8, guesol*2 logical valued c-------------- data iin /5/, iout/6/ c-------------- job = 2 nrhs = 0 call readmt (nmax,nzmax,job,iin,a,ja,ia, rhs, nrhs, * guesol,nrow,ncol,nnz,title,key,type,ierr) c---- if not readable return if (ierr .ne. 0) then write (iout,100) ierr 100 format(' **ERROR: Unable to read matrix',/, * ' Message returned fom readmt was ierr =',i3) stop endif valued = (job .ge. 2) c------- mode = 1 iounit = 6 job = 11 call pltmt (nrow,ncol,mode,ja,ia,title,key,type,job,iout) c----------------------------------------------------------------------- stop end sparskit-2.0.0/INOUT/semantic.cache0000644000265600020320000000175011063776721016200 0ustar tilleaadmin;; Object INOUT/ ;; SEMANTICDB Tags save file (semanticdb-project-database-file "INOUT/" :tables (list (semanticdb-table "makefile" :major-mode 'makefile-mode :tags '(("FFLAGS" variable nil nil [1 11]) ("F77" variable (:default-value ("f77")) nil [11 21]) ("FILES1" variable (:default-value ("chkio.o")) nil [54 71]) ("FILES2" variable (:default-value ("hb2ps.o")) nil [71 89]) ("FILES3" variable (:default-value ("hb2pic.o")) nil [89 108]) ("chk.ex" function (:arguments ("$(FILES1)" "../MATGEN/FDIF/functns.o" "../libskit.a")) nil [109 242]) ("hb2ps.ex" function (:arguments ("$(FILES2)" "../libskit32.a")) nil [242 333]) ("hb2pic.ex" function (:arguments ("$(FILES3)" "../libskit.a")) nil [333 422]) ("clean" function nil nil [422 476]) ("../MATGEN/FDIF/functns.o" function nil nil [476 555]) ("../libskit.a" function nil nil [555 611])) :file "makefile" :pointmax 611 ) ) :file "semantic.cache" :semantic-tag-version "2.0pre3" :semanticdb-version "2.0pre3" ) sparskit-2.0.0/INOUT/chkio.f0000644000265600020320000000571106203735243014647 0ustar tilleaadmin program chkio c------------------------------------------------------------------c c test suite for Part I : I/O routines. c c tests the following : gen5pt.f, prtmt, readmt, amd pltmt. c c 1) generates a 100 x 100 5pt matrix, c c 2) prints it with a given format in file 'first.mat' c c 3) reads the matrix from 'first.mat' using readmat c c 4) prints it again in file 'second.mat' in a different format c c 5) makes 4 pic files to show the different options of pltmt. c c these are in job0.pic, job01.pic, job10.pic, job11.pic c c coded by Y. Saad, RIACS, 08/31/1989. c c------------------------------------------------------------------c parameter (nxmax = 20, nmx = nxmax*nxmax) implicit real*8 (a-h,o-z) integer ia(nmx),ja(7*nmx),iau(nmx) real*8 a(7*nmx),rhs(3*nmx),al(6) character title*72, key*8, type*3, guesol*2 c----- open statements ---------------- open (unit=7,file='first.mat') open (unit=8,file='second.mat') open (unit=20,file='job00.pic') open (unit=21,file='job01.pic') open (unit=22,file='job10.pic') open (unit=23,file='job11.pic') c c---- dimension of grid c nx = 10 ny = 10 nz = 1 al(1) = 1.0D0 al(2) = 0.0D0 al(3) = 2.3D1 al(4) = 0.4D0 al(5) = 0.0D0 al(6) = 8.2D-2 c c---- generate grid problem. c call gen57pt (nx,ny,nz,al,0,n,a,ja,ia,iau,rhs) c c---- create the Harwell-Boeing matrix. Start by defining title, c and type. them define format and print it. c write (title,9) nx, ny 9 format('Five-point matrix on a square region', * ' using a ',I2,' by ',I2,' grid *SPARSKIT*') key = 'Fivept10' type= 'RSA' ifmt = 5 job = 3 guesol = 'GX' c c define a right hand side of ones, an initial guess of two's c and an exact solution of three's. c do 2 k=1, 3*n rhs(k) = real( 1 + (k-1)/n ) 2 continue c call prtmt (n,n,a,ja,ia,rhs,guesol,title,key,type, 1 ifmt,job,7) c---- read it again in same matrix a, ja, ia nmax = nmx nzmax = 7*nmx do 3 k=1, 3*n rhs(k) = 0.0 3 continue job = 3 c rewind 7 c nrhs = 3*n c call readmt (nmax,nzmax,job,7,a,ja,ia,rhs,nrhs,guesol, 1 nrow,ncol,nnz,title,key,type,ierr) print *, ' ierr = ', ierr, ' nrhs ' , nrhs c c matrix read. print it again in a different format c ifmt = 102 ncol = nrow job = 3 c call prtmt (nrow,ncol,a,ja,ia,rhs,guesol,title,key,type, 1 ifmt,job,8) c c---- print four pic files c mode = 0 do 10 i=1, 2 do 11 j=1, 2 job = (i-1)*10 +j-1 iout = 20+(i-1)*2+j-1 call pltmt (nrow,ncol,mode,ja,ia,title,key,type,job,iout) 11 continue 10 continue c-------- stop end sparskit-2.0.0/INOUT/README0000644000265600020320000000307206203735243014261 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c C INPUT-OUTPUT MODULE c c----------------------------------------------------------------------c c contents: c c---------- c c readmt : reads matrices in the Boeing/Harwell format. c c prtmt : prints matrices in the Boeing/Harwell format. c c dump : outputs matrix rows in a simple format (debugging purposes)c c pspltm : generates a post-script plot of the non-zero pattern of A c c pltmt : produces a 'pic' file for plotting a sparse matrix c c smms : write the matrx in a format used in SMMS package c c readsm : reads matrics in coordinate format (as in SMMS package) c c readsk : reads matrices in CSR format (simplified H/B formate). c c skit : writes matrics to a file, format same as above. c c prtunf : writes matrics (in CSR format) unformatted c c readunf: reads unformatted data of matrics (in CSR format) c c----------------------------------------------------------------------c To visualize a Harwell-Boeing matrix on a Unix workstation, it is easiest to convert it to a postscript file and then view it with ghostview or gs. The program hb2ps.ex may be used for the former purpose. sparskit-2.0.0/INOUT/hb2ps.f0000644000265600020320000000274607663205602014577 0ustar tilleaadmin program hb2ps c---------------------------------------------------------------------- c translates a harwell - boeing file into a post-script file. Usage: c hb2ps < HB_file > Postscript_file c where hb2ps is the executable generated from this program, c HB_file is a file containing a matrix stored in Harwell-Boeing c format and Postscript_file is a file to contain the post-script file. c---------------------------------------------------------------------- parameter (nmax = 10000, nzmax = 100000) integer ia(nmax+1),ja(nzmax), idummy(1), ptitle real*8 a(1),rhs(1) real size character title*72, key*8, guesol*2, munt*2 data iin /5/, iout/6/, size/5.0/, nlines/0/, ptitle/0/,mode/0/ data munt/'in'/ c----------------------------------------------------------------------- job = 1 nrhs = 0 c c read matrix in Harwell-Boeing format c call readmt (nmax,nzmax,job,iin,a,ja,ia, rhs, nrhs, * guesol,nrow,ncol,nnz,title,key,type,ierr) c c if not readable return c if (ierr .ne. 0) then write (iout,100) ierr stop endif c c call post script generator c call pspltm(nrow,ncol,mode,ja,ia,title,ptitle,size,munt, * nlines,idummy,iout) c 100 format(' **ERROR: Unable to read matrix',/, * ' Message returned fom readmt was ierr =',i3) c----------------------------------------------------------------------- stop end sparskit-2.0.0/INOUT/inout.f0000644000265600020320000015446507726144544014734 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c C INPUT-OUTPUT MODULE c c----------------------------------------------------------------------c c contents: c c---------- c c readmt : reads matrices in the Boeing/Harwell format. c c prtmt : prints matrices in the Boeing/Harwell format. c c dump : outputs matrix rows in a simple format (debugging purposes)c c pspltm : generates a post-script plot of the non-zero pattern of A c c pltmt : produces a 'pic' file for plotting a sparse matrix c c smms : write the matrx in a format used in SMMS package c c readsm : reads matrics in coordinate format (as in SMMS package) c c readsk : reads matrices in CSR format (simplified H/B formate). c c skit : writes matrics to a file, format same as above. c c prtunf : writes matrics (in CSR format) unformatted c c readunf: reads unformatted data of matrics (in CSR format) c c----------------------------------------------------------------------c subroutine readmt (nmax,nzmax,job,iounit,a,ja,ia,rhs,nrhs, * guesol,nrow,ncol,nnz,title,key,type,ierr) c----------------------------------------------------------------------- c this subroutine reads a boeing/harwell matrix. handles right hand c sides in full format only (no sparse right hand sides). c Also the matrix must be in assembled forms. c Author: Youcef Saad - Date: Sept., 1989 c updated Oct 31, 1989. c----------------------------------------------------------------------- c on entry: c--------- c nmax = max column dimension allowed for matrix. The array ia should c be of length at least ncol+1 (see below) if job.gt.0 c nzmax = max number of nonzeros elements allowed. the arrays a, c and ja should be of length equal to nnz (see below) if these c arrays are to be read (see job). c c job = integer to indicate what is to be read. (note: job is an c input and output parameter, it can be modified on return) c job = 0 read the values of ncol, nrow, nnz, title, key, c type and return. matrix is not read and arrays c a, ja, ia, rhs are not touched. c job = 1 read srtucture only, i.e., the arrays ja and ia. c job = 2 read matrix including values, i.e., a, ja, ia c job = 3 read matrix and right hand sides: a,ja,ia,rhs. c rhs may contain initial guesses and exact c solutions appended to the actual right hand sides. c this will be indicated by the output parameter c guesol [see below]. c c nrhs = integer. nrhs is an input as well as ouput parameter. c at input nrhs contains the total length of the array rhs. c See also ierr and nrhs in output parameters. c c iounit = logical unit number where to read the matrix from. c c on return: c---------- c job = on return job may be modified to the highest job it could c do: if job=2 on entry but no matrix values are available it c is reset to job=1 on return. Similarly of job=3 but no rhs c is provided then it is rest to job=2 or job=1 depending on c whether or not matrix values are provided. c Note that no error message is triggered (i.e. ierr = 0 c on return in these cases. It is therefore important to c compare the values of job on entry and return ). c c a = the a matrix in the a, ia, ja (column) storage format c ja = row number of element a(i,j) in array a. c ia = pointer array. ia(i) points to the beginning of column i. c c rhs = real array of size nrow + 1 if available (see job) c c nrhs = integer containing the number of right-hand sides found c each right hand side may be accompanied with an intial guess c and also the exact solution. c c guesol = a 2-character string indicating whether an initial guess c (1-st character) and / or the exact solution (2-nd c character) is provided with the right hand side. c if the first character of guesol is 'G' it means that an c an intial guess is provided for each right-hand side. c These are appended to the right hand-sides in the array rhs. c if the second character of guesol is 'X' it means that an c exact solution is provided for each right-hand side. c These are appended to the right hand-sides c and the initial guesses (if any) in the array rhs. c c nrow = number of rows in matrix c ncol = number of columns in matrix c nnz = number of nonzero elements in A. This info is returned c even if there is not enough space in a, ja, ia, in order c to determine the minimum storage needed. c c title = character*72 = title of matrix test ( character a*72). c key = character*8 = key of matrix c type = charatcer*3 = type of matrix. c for meaning of title, key and type refer to documentation c Harwell/Boeing matrices. c c ierr = integer used for error messages c * ierr = 0 means that the matrix has been read normally. c * ierr = 1 means that the array matrix could not be read c because ncol+1 .gt. nmax c * ierr = 2 means that the array matrix could not be read c because nnz .gt. nzmax c * ierr = 3 means that the array matrix could not be read c because both (ncol+1 .gt. nmax) and (nnz .gt. nzmax ) c * ierr = 4 means that the right hand side (s) initial c guesse (s) and exact solution (s) could not be c read because they are stored in sparse format (not handled c by this routine ...) c * ierr = 5 means that the right-hand-sides, initial guesses c and exact solutions could not be read because the length of c rhs as specified by the input value of nrhs is not c sufficient to store them. The rest of the matrix may have c been read normally. c c Notes: c------- c 1) The file inout must be open (and possibly rewound if necessary) c prior to calling readmt. c 2) Refer to the documentation on the Harwell-Boeing formats c for details on the format assumed by readmt. c We summarize the format here for convenience. c c a) all lines in inout are assumed to be 80 character long. c b) the file consists of a header followed by the block of the c column start pointers followed by the block of the c row indices, followed by the block of the real values and c finally the numerical values of the right-hand-side if a c right hand side is supplied. c c) the file starts by a header which contains four lines if no c right hand side is supplied and five lines otherwise. c * first line contains the title (72 characters long) followed by c the 8-character identifier (name of the matrix, called key) c [ A72,A8 ] c * second line contains the number of lines for each c of the following data blocks (4 of them) and the total number c of lines excluding the header. c [5i4] c * the third line contains a three character string identifying c the type of matrices as they are referenced in the Harwell c Boeing documentation [e.g., rua, rsa,..] and the number of c rows, columns, nonzero entries. c [A3,11X,4I14] c * The fourth line contains the variable fortran format c for the following data blocks. c [2A16,2A20] c * The fifth line is only present if right-hand-sides are c supplied. It consists of three one character-strings containing c the storage format for the right-hand-sides c ('F'= full,'M'=sparse=same as matrix), an initial guess c indicator ('G' for yes), an exact solution indicator c ('X' for yes), followed by the number of right-hand-sides c and then the number of row indices. c [A3,11X,2I14] c d) The three following blocks follow the header as described c above. c e) In case the right hand-side are in sparse formats then c the fourth block uses the same storage format as for the matrix c to describe the NRHS right hand sides provided, with a column c being replaced by a right hand side. c----------------------------------------------------------------------- character title*72, key*8, type*3, ptrfmt*16, indfmt*16, 1 valfmt*20, rhsfmt*20, rhstyp*3, guesol*2 integer totcrd, ptrcrd, indcrd, valcrd, rhscrd, nrow, ncol, 1 nnz, neltvl, nrhs, nmax, nzmax, nrwindx integer ia (nmax+1), ja (nzmax) real*8 a(nzmax), rhs(*) c----------------------------------------------------------------------- ierr = 0 lenrhs = nrhs c read (iounit,10) title, key, totcrd, ptrcrd, indcrd, valcrd, 1 rhscrd, type, nrow, ncol, nnz, neltvl, ptrfmt, indfmt, 2 valfmt, rhsfmt 10 format (a72, a8 / 5i14 / a3, 11x, 4i14 / 2a16, 2a20) c if (rhscrd .gt. 0) read (iounit,11) rhstyp, nrhs, nrwindx 11 format (a3,11x,i14,i14) c c anything else to read ? c if (job .le. 0) return c ---- check whether matrix is readable ------ n = ncol if (ncol .gt. nmax) ierr = 1 if (nnz .gt. nzmax) ierr = ierr + 2 if (ierr .ne. 0) return c ---- read pointer and row numbers ---------- read (iounit,ptrfmt) (ia (i), i = 1, n+1) read (iounit,indfmt) (ja (i), i = 1, nnz) c --- reading values of matrix if required.... if (job .le. 1) return c --- and if available ----------------------- if (valcrd .le. 0) then job = 1 return endif read (iounit,valfmt) (a(i), i = 1, nnz) c --- reading rhs if required ---------------- if (job .le. 2) return c --- and if available ----------------------- if ( rhscrd .le. 0) then job = 2 nrhs = 0 return endif c c --- read right-hand-side.-------------------- c if (rhstyp(1:1) .eq. 'M') then ierr = 4 return endif c guesol = rhstyp(2:3) c nvec = 1 if (guesol(1:1) .eq. 'G' .or. guesol(1:1) .eq. 'g') nvec=nvec+1 if (guesol(2:2) .eq. 'X' .or. guesol(2:2) .eq. 'x') nvec=nvec+1 c len = nrhs*nrow c if (len*nvec .gt. lenrhs) then ierr = 5 return endif c c read right-hand-sides c next = 1 iend = len read(iounit,rhsfmt) (rhs(i), i = next, iend) c c read initial guesses if available c if (guesol(1:1) .eq. 'G' .or. guesol(1:1) .eq. 'g') then next = next+len iend = iend+ len read(iounit,valfmt) (rhs(i), i = next, iend) endif c c read exact solutions if available c if (guesol(2:2) .eq. 'X' .or. guesol(2:2) .eq. 'x') then next = next+len iend = iend+ len read(iounit,valfmt) (rhs(i), i = next, iend) endif c return c--------- end of readmt ----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine prtmt (nrow,ncol,a,ja,ia,rhs,guesol,title,key,type, 1 ifmt,job,iounit) c----------------------------------------------------------------------- c writes a matrix in Harwell-Boeing format into a file. c assumes that the matrix is stored in COMPRESSED SPARSE COLUMN FORMAT. c some limited functionality for right hand sides. c Author: Youcef Saad - Date: Sept., 1989 - updated Oct. 31, 1989 to c cope with new format. c----------------------------------------------------------------------- c on entry: c--------- c nrow = number of rows in matrix c ncol = number of columns in matrix c a = real*8 array containing the values of the matrix stored c columnwise c ja = integer array of the same length as a containing the column c indices of the corresponding matrix elements of array a. c ia = integer array of containing the pointers to the beginning of c the row in arrays a and ja. c rhs = real array containing the right-hand-side (s) and optionally c the associated initial guesses and/or exact solutions c in this order. See also guesol for details. the vector rhs will c be used only if job .gt. 2 (see below). Only full storage for c the right hand sides is supported. c c guesol = a 2-character string indicating whether an initial guess c (1-st character) and / or the exact solution (2-nd) c character) is provided with the right hand side. c if the first character of guesol is 'G' it means that an c an intial guess is provided for each right-hand sides. c These are assumed to be appended to the right hand-sides in c the array rhs. c if the second character of guesol is 'X' it means that an c exact solution is provided for each right-hand side. c These are assumed to be appended to the right hand-sides c and the initial guesses (if any) in the array rhs. c c title = character*72 = title of matrix test ( character a*72 ). c key = character*8 = key of matrix c type = charatcer*3 = type of matrix. c c ifmt = integer specifying the format chosen for the real values c to be output (i.e., for a, and for rhs-guess-sol if c applicable). The meaning of ifmt is as follows. c * if (ifmt .lt. 100) then the D descriptor is used, c format Dd.m, in which the length (m) of the mantissa is c precisely the integer ifmt (and d = ifmt+6) c * if (ifmt .gt. 100) then prtmt will use the c F- descriptor (format Fd.m) in which the length of the c mantissa (m) is the integer mod(ifmt,100) and the length c of the integer part is k=ifmt/100 (and d = k+m+2) c Thus ifmt= 4 means D10.4 +.xxxxD+ee while c ifmt=104 means F7.4 +x.xxxx c ifmt=205 means F9.5 +xx.xxxxx c Note: formats for ja, and ia are internally computed. c c job = integer to indicate whether matrix values and c a right-hand-side is available to be written c job = 1 write srtucture only, i.e., the arrays ja and ia. c job = 2 write matrix including values, i.e., a, ja, ia c job = 3 write matrix and one right hand side: a,ja,ia,rhs. c job = nrhs+2 write matrix and nrhs successive right hand sides c Note that there cannot be any right-hand-side if the matrix c has no values. Also the initial guess and exact solutions when c provided are for each right hand side. For example if nrhs=2 c and guesol='GX' there are 6 vectors to write. c c c iounit = logical unit number where to write the matrix into. c c on return: c---------- c the matrix a, ja, ia will be written in output unit iounit c in the Harwell-Boeing format. None of the inputs is modofied. c c Notes: 1) This code attempts to pack as many elements as possible per c 80-character line. c 2) this code attempts to avoid as much as possible to put c blanks in the formats that are written in the 4-line header c (This is done for purely esthetical reasons since blanks c are ignored in format descriptors.) c 3) sparse formats for right hand sides and guesses are not c supported. c----------------------------------------------------------------------- character title*72,key*8,type*3,ptrfmt*16,indfmt*16,valfmt*20, 1 guesol*2, rhstyp*3 integer totcrd, ptrcrd, indcrd, valcrd, rhscrd, nrow, ncol, 1 nnz, nrhs, len, nperli, nrwindx integer ja(*), ia(*) real*8 a(*),rhs(*) c-------------- c compute pointer format c-------------- nnz = ia(ncol+1) -1 if (nnz .eq. 0) then return endif len = int ( alog10(0.1+real(nnz+1))) + 1 nperli = 80/len ptrcrd = ncol/nperli + 1 if (len .gt. 9) then assign 101 to ix else assign 100 to ix endif write (ptrfmt,ix) nperli,len 100 format(1h(,i2,1HI,i1,1h) ) 101 format(1h(,i2,1HI,i2,1h) ) c---------------------------- c compute ROW index format c---------------------------- len = int ( alog10(0.1+real(nrow) )) + 1 nperli = min0(80/len,nnz) indcrd = (nnz-1)/nperli+1 write (indfmt,100) nperli,len c--------------- c compute values and rhs format (using the same for both) c--------------- valcrd = 0 rhscrd = 0 c quit this part if no values provided. if (job .le. 1) goto 20 c if (ifmt .ge. 100) then ihead = ifmt/100 ifmt = ifmt-100*ihead len = ihead+ifmt+2 nperli = 80/len c if (len .le. 9 ) then assign 102 to ix elseif (ifmt .le. 9) then assign 103 to ix else assign 104 to ix endif c write(valfmt,ix) nperli,len,ifmt 102 format(1h(,i2,1hF,i1,1h.,i1,1h) ) 103 format(1h(,i2,1hF,i2,1h.,i1,1h) ) 104 format(1h(,i2,1hF,i2,1h.,i2,1h) ) C else len = ifmt + 6 nperli = 80/len c try to minimize the blanks in the format strings. if (nperli .le. 9) then if (len .le. 9 ) then assign 105 to ix elseif (ifmt .le. 9) then assign 106 to ix else assign 107 to ix endif else if (len .le. 9 ) then assign 108 to ix elseif (ifmt .le. 9) then assign 109 to ix else assign 110 to ix endif endif c----------- write(valfmt,ix) nperli,len,ifmt 105 format(1h(,i1,1hD,i1,1h.,i1,1h) ) 106 format(1h(,i1,1hD,i2,1h.,i1,1h) ) 107 format(1h(,i1,1hD,i2,1h.,i2,1h) ) 108 format(1h(,i2,1hD,i1,1h.,i1,1h) ) 109 format(1h(,i2,1hD,i2,1h.,i1,1h) ) 110 format(1h(,i2,1hD,i2,1h.,i2,1h) ) c endif valcrd = (nnz-1)/nperli+1 nrhs = job -2 if (nrhs .ge. 1) then i = (nrhs*nrow-1)/nperli+1 rhscrd = i if (guesol(1:1) .eq. 'G' .or. guesol(1:1) .eq. 'g') + rhscrd = rhscrd+i if (guesol(2:2) .eq. 'X' .or. guesol(2:2) .eq. 'x') + rhscrd = rhscrd+i rhstyp = 'F'//guesol endif 20 continue c totcrd = ptrcrd+indcrd+valcrd+rhscrd c write 4-line or five line header write(iounit,10) title,key,totcrd,ptrcrd,indcrd,valcrd, 1 rhscrd,type,nrow,ncol,nnz,nrhs,ptrfmt,indfmt,valfmt,valfmt c----------------------------------------------------------------------- nrwindx = 0 if (nrhs .ge. 1) write (iounit,11) rhstyp, nrhs, nrwindx 10 format (a72, a8 / 5i14 / a3, 11x, 4i14 / 2a16, 2a20) 11 format(A3,11x,i14,i14) c write(iounit,ptrfmt) (ia (i), i = 1, ncol+1) write(iounit,indfmt) (ja (i), i = 1, nnz) if (job .le. 1) return write(iounit,valfmt) (a(i), i = 1, nnz) if (job .le. 2) return len = nrow*nrhs next = 1 iend = len write(iounit,valfmt) (rhs(i), i = next, iend) c c write initial guesses if available c if (guesol(1:1) .eq. 'G' .or. guesol(1:1) .eq. 'g') then next = next+len iend = iend+ len write(iounit,valfmt) (rhs(i), i = next, iend) endif c c write exact solutions if available c if (guesol(2:2) .eq. 'X' .or. guesol(2:2) .eq. 'x') then next = next+len iend = iend+ len write(iounit,valfmt) (rhs(i), i = next, iend) endif c return c----------end of prtmt ------------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine dump (i1,i2,values,a,ja,ia,iout) integer i1, i2, ia(*), ja(*), iout real*8 a(*) logical values c----------------------------------------------------------------------- c outputs rows i1 through i2 of a sparse matrix stored in CSR format c (or columns i1 through i2 of a matrix stored in CSC format) in a file, c one (column) row at a time in a nice readable format. c This is a simple routine which is useful for debugging. c----------------------------------------------------------------------- c on entry: c--------- c i1 = first row (column) to print out c i2 = last row (column) to print out c values= logical. indicates whether or not to print real values. c if value = .false. only the pattern will be output. c a, c ja, c ia = matrix in CSR format (or CSC format) c iout = logical unit number for output. c---------- c the output file iout will have written in it the rows or columns c of the matrix in one of two possible formats (depending on the max c number of elements per row. The values are output with only c two digits of accuracy (D9.2). ) c----------------------------------------------------------------------- c local variables integer maxr, i, k1, k2 c c select mode horizontal or vertical c maxr = 0 do 1 i=i1, i2 maxr = max0(maxr,ia(i+1)-ia(i)) 1 continue if (maxr .le. 8) then c c able to do one row acros line c do 2 i=i1, i2 write(iout,100) i k1=ia(i) k2 = ia(i+1)-1 write (iout,101) (ja(k),k=k1,k2) if (values) write (iout,102) (a(k),k=k1,k2) 2 continue else c c unable to one row acros line. do three items at a time c across a line do 3 i=i1, i2 if (values) then write(iout,200) i else write(iout,203) i endif k1=ia(i) k2 = ia(i+1)-1 if (values) then write (iout,201) (ja(k),a(k),k=k1,k2) else write (iout,202) (ja(k),k=k1,k2) endif 3 continue endif c c formats : c 100 format (1h ,34(1h-),' row',i6,1x,34(1h-) ) 101 format(' col:',8(i5,6h : )) 102 format(' val:',8(D9.2,2h :) ) 200 format (1h ,30(1h-),' row',i3,1x,30(1h-),/ * 3(' columns : values * ') ) c-------------xiiiiiihhhhhhddddddddd-*- 201 format(3(1h ,i6,6h : ,D9.2,3h * ) ) 202 format(6(1h ,i5,6h * ) ) 203 format (1h ,30(1h-),' row',i3,1x,30(1h-),/ * 3(' column : column *') ) return c----end-of-dump-------------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine pspltm(nrow,ncol,mode,ja,ia,title,ptitle,size,munt, * nlines,lines,iunt) c----------------------------------------------------------------------- integer nrow,ncol,ptitle,mode,iunt, ja(*), ia(*), lines(nlines) real size character title*(*), munt*2 c----------------------------------------------------------------------- c PSPLTM - PostScript PLoTer of a (sparse) Matrix c This version by loris renggli (renggli@masg1.epfl.ch), Dec 1991 c and Youcef Saad c------ c Loris RENGGLI, Swiss Federal Institute of Technology, Math. Dept c CH-1015 Lausanne (Switzerland) -- e-mail: renggli@masg1.epfl.ch c Modified by Youcef Saad -- June 24, 1992 to add a few features: c separation lines + acceptance of MSR format. c----------------------------------------------------------------------- c input arguments description : c c nrow = number of rows in matrix c c ncol = number of columns in matrix c c mode = integer indicating whether the matrix is stored in c CSR mode (mode=0) or CSC mode (mode=1) or MSR mode (mode=2) c c ja = column indices of nonzero elements when matrix is c stored rowise. Row indices if stores column-wise. c ia = integer array of containing the pointers to the c beginning of the columns in arrays a, ja. c c title = character*(*). a title of arbitrary length to be printed c as a caption to the figure. Can be a blank character if no c caption is desired. c c ptitle = position of title; 0 under the drawing, else above c c size = size of the drawing c c munt = units used for size : 'cm' or 'in' c c nlines = number of separation lines to draw for showing a partionning c of the matrix. enter zero if no partition lines are wanted. c c lines = integer array of length nlines containing the coordinates of c the desired partition lines . The partitioning is symmetric: c a horizontal line across the matrix will be drawn in c between rows lines(i) and lines(i)+1 for i=1, 2, ..., nlines c an a vertical line will be similarly drawn between columns c lines(i) and lines(i)+1 for i=1,2,...,nlines c c iunt = logical unit number where to write the matrix into. c----------------------------------------------------------------------- c additional note: use of 'cm' assumes european format for paper size c (21cm wide) and use of 'in' assumes american format (8.5in wide). c The correct centering of the figure depends on the proper choice. Y.S. c----------------------------------------------------------------------- c external integer LENSTR external LENSTR c local variables --------------------------------------------------- integer n,nr,nc,maxdim,istart,ilast,ii,k,ltit real lrmrgn,botmrgn,xtit,ytit,ytitof,fnstit,siz real xl,xr, yb,yt, scfct,u2dot,frlw,delt,paperx,conv,xx,yy logical square c change square to .true. if you prefer a square frame around c a rectangular matrix data haf /0.5/, zero/0.0/, conv/2.54/,square/.false./ c----------------------------------------------------------------------- siz = size nr = nrow nc = ncol n = nc if (mode .eq. 0) n = nr c nnz = ia(n+1) - ia(1) maxdim = max(nrow, ncol) m = 1 + maxdim nc = nc+1 nr = nr+1 c c units (cm or in) to dot conversion factor and paper size c if (munt.eq.'cm' .or. munt.eq.'CM') then u2dot = 72.0/conv paperx = 21.0 else u2dot = 72.0 paperx = 8.5*conv siz = siz*conv end if c c left and right margins (drawing is centered) c lrmrgn = (paperx-siz)/2.0 c c bottom margin : 2 cm c botmrgn = 2.0 c scaling factor scfct = siz*u2dot/m c matrix frame line witdh frlw = 0.25 c font size for title (cm) fnstit = 0.5 ltit = LENSTR(title) c position of title : centered horizontally c at 1.0 cm vertically over the drawing ytitof = 1.0 xtit = paperx/2.0 ytit = botmrgn+siz*nr/m + ytitof c almost exact bounding box xl = lrmrgn*u2dot - scfct*frlw/2 xr = (lrmrgn+siz)*u2dot + scfct*frlw/2 yb = botmrgn*u2dot - scfct*frlw/2 yt = (botmrgn+siz*nr/m)*u2dot + scfct*frlw/2 if (ltit.gt.0) then yt = yt + (ytitof+fnstit*0.70)*u2dot end if c add some room to bounding box delt = 10.0 xl = xl-delt xr = xr+delt yb = yb-delt yt = yt+delt c c correction for title under the drawing if (ptitle.eq.0 .and. ltit.gt.0) then ytit = botmrgn + fnstit*0.3 botmrgn = botmrgn + ytitof + fnstit*0.7 end if c begin of output c write(iunt,10) '%!' write(iunt,10) '%%Creator: PSPLTM routine' write(iunt,12) '%%BoundingBox:',xl,yb,xr,yt write(iunt,10) '%%EndComments' write(iunt,10) '/cm {72 mul 2.54 div} def' write(iunt,10) '/mc {72 div 2.54 mul} def' write(iunt,10) '/pnum { 72 div 2.54 mul 20 string' write(iunt,10) 'cvs print ( ) print} def' write(iunt,10) 1 '/Cshow {dup stringwidth pop -2 div 0 rmoveto show} def' c c we leave margins etc. in cm so it is easy to modify them if c needed by editing the output file write(iunt,10) 'gsave' if (ltit.gt.0) then write(iunt,*) '/Helvetica findfont ',fnstit, & ' cm scalefont setfont ' write(iunt,*) xtit,' cm ',ytit,' cm moveto ' write(iunt,'(3A)') '(',title(1:ltit),') Cshow' end if write(iunt,*) lrmrgn,' cm ',botmrgn,' cm translate' write(iunt,*) siz,' cm ',m,' div dup scale ' c------- c draw a frame around the matrix write(iunt,*) frlw,' setlinewidth' write(iunt,10) 'newpath' write(iunt,11) 0, 0, ' moveto' if (square) then write(iunt,11) m,0,' lineto' write(iunt,11) m, m, ' lineto' write(iunt,11) 0,m,' lineto' else write(iunt,11) nc,0,' lineto' write(iunt,11) nc,nr,' lineto' write(iunt,11) 0,nr,' lineto' end if write(iunt,10) 'closepath stroke' c c drawing the separation lines c write(iunt,*) ' 0.2 setlinewidth' do 22 kol=1, nlines isep = lines(kol) c c horizontal lines c yy = real(nrow-isep) + haf xx = real(ncol+1) write(iunt,13) zero, yy, ' moveto ' write(iunt,13) xx, yy, ' lineto stroke ' c c vertical lines c xx = real(isep) + haf yy = real(nrow+1) write(iunt,13) xx, zero,' moveto ' write(iunt,13) xx, yy, ' lineto stroke ' 22 continue c c----------- plotting loop --------------------------------------------- c write(iunt,10) '1 1 translate' write(iunt,10) '0.8 setlinewidth' write(iunt,10) '/p {moveto 0 -.40 rmoveto ' write(iunt,10) ' 0 .80 rlineto stroke} def' c do 1 ii=1, n istart = ia(ii) ilast = ia(ii+1)-1 if (mode .eq. 1) then do 2 k=istart, ilast write(iunt,11) ii-1, nrow-ja(k), ' p' 2 continue else do 3 k=istart, ilast write(iunt,11) ja(k)-1, nrow-ii, ' p' 3 continue c add diagonal element if MSR mode. if (mode .eq. 2) * write(iunt,11) ii-1, nrow-ii, ' p' c endif 1 continue c----------------------------------------------------------------------- write(iunt,10) 'showpage' return c 10 format (A) 11 format (2(I6,1x),A) 12 format (A,4(1x,F9.2)) 13 format (2(F9.2,1x),A) c----------------------------------------------------------------------- end c integer function lenstr(s) c----------------------------------------------------------------------- c return length of the string S c----------------------------------------------------------------------- character*(*) s integer len intrinsic len integer n c----------------------------------------------------------------------- n = len(s) 10 continue if (s(n:n).eq.' ') then n = n-1 if (n.gt.0) go to 10 end if lenstr = n c return c--------end-of-pspltm-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine pltmt (nrow,ncol,mode,ja,ia,title,key,type, 1 job, iounit) c----------------------------------------------------------------------- c this subroutine creates a 'pic' file for plotting the pattern of c a sparse matrix stored in general sparse format. it is not intended c to be a means of plotting large matrices (it is very inefficient). c It is however useful for small matrices and can be used for example c for inserting matrix plots in a text. The size of the plot can be c 7in x 7in or 5 in x 5in .. There is also an option for writing a c 3-line header in troff (see description of parameter job). c Author: Youcef Saad - Date: Sept., 1989 c See SPARSKIT/UNSUPP/ for a version of this to produce a post-script c file. c----------------------------------------------------------------------- c nrow = number of rows in matrix c c ncol = number of columns in matrix c c mode = integer indicating whether the matrix is stored c row-wise (mode = 0) or column-wise (mode=1) c c ja = column indices of nonzero elements when matrix is c stored rowise. Row indices if stores column-wise. c ia = integer array of containing the pointers to the c beginning of the columns in arrays a, ja. c c title = character*71 = title of matrix test ( character a*71 ). c key = character*8 = key of matrix c type = character*3 = type of matrix. c c job = this integer parameter allows to set a few minor c options. First it tells pltmt whether or not to c reduce the plot. The standard size of 7in is then c replaced by a 5in plot. It also tells pltmt whether or c not to append to the pic file a few 'troff' lines that c produce a centered caption includingg the title, key and c types as well as the size and number of nonzero elements. c job = 0 : do not reduce and do not make caption. c job = 1 : reduce and do not make caption. c job = 10 : do not reduce and make caption c job = 11 : reduce and make caption. c (i.e. trailing digit for reduction, leading digit for caption) c c iounit = logical unit number where to write the matrix into. c c----------------------------------------------------------------------- c example of usage . c----------------- c In the fortran code: c a) read a Harwell/Boeing matrix c call readmt (.....) c iout = 13 c b) generate pic file: c call pltmt (nrow,ncol,mode,ja,ia,title,key,type,iout) c stop c --------- c Then in a unix environment plot the matrix by the command c c pic FOR013.DAT | troff -me | lpr -Ppsx c c----------------------------------------------------------------------- c notes: 1) Plots square as well as rectangular matrices. c (however not as much tested with rectangular matrices.) c 2) the dot-size is adapted according to the size of the c matrix. c 3) This is not meant at all as a way of plotting large c matrices. The pic file generaled will have one line for c each nonzero element. It is only meant for use in c such things as document poreparations etc.. c 4) The caption written will print the 71 character long c title. This may not be centered correctly if the c title has trailing blanks (a problem with Troff). c if you want the title centered then you can center c the string in title before calling pltmt. c c----------------------------------------------------------------------- integer ja(*), ia(*) character key*8,title*72,type*3 real x, y c------- n = ncol if (mode .eq. 0) n = nrow nnz = ia(n+1) - ia(1) maxdim = max0 (nrow, ncol) xnrow = real(nrow) ptsize = 0.08 hscale = (7.0 -2.0*ptsize)/real(maxdim-1) vscale = hscale xwid = ptsize + real(ncol-1)*hscale + ptsize xht = ptsize + real(nrow-1)*vscale + ptsize xshift = (7.0-xwid)/2.0 yshift = (7.0-xht)/2.0 c------ if (mod(job,10) .eq. 1) then write (iounit,88) else write (iounit,89) endif 88 format('.PS 5in',/,'.po 1.8i') 89 format('.PS',/,'.po 0.7i') write(iounit,90) 90 format('box invisible wid 7.0 ht 7.0 with .sw at (0.0,0.0) ') write(iounit,91) xwid, xht, xshift, yshift 91 format('box wid ',f5.2,' ht ',f5.2, * ' with .sw at (',f5.2,',',f5.2,')' ) c c shift points slightly to account for size of dot , etc.. c tiny = 0.03 if (mod(job,10) .eq. 1) tiny = 0.05 xshift = xshift + ptsize - tiny yshift = yshift + ptsize + tiny c c----------------------------------------------------------------------- c ips = 8 if (maxdim .le. 500) ips = 10 if (maxdim .le. 300) ips = 12 if (maxdim .le. 100) ips = 16 if (maxdim .lt. 50) ips = 24 write(iounit,92) ips 92 format ('.ps ',i2) c c-----------plottingloop --------------------------------------------- c do 1 ii=1, n istart = ia(ii) ilast = ia(ii+1)-1 if (mode .ne. 0) then x = real(ii-1) do 2 k=istart, ilast y = xnrow-real(ja(k)) write(iounit,128) xshift+x*hscale, yshift+y*vscale 2 continue else y = xnrow - real(ii) do 3 k=istart, ilast x = real(ja(k)-1) write(iounit,128) xshift+x*hscale, yshift+y*vscale 3 continue endif 1 continue c----------------------------------------------------------------------- 128 format(7h"." at ,f6.3,1h,,f6.3,8h ljust ) write (iounit, 129) 129 format('.PE') c quit if caption not desired. if ( (job/10) .ne. 1) return c write(iounit,127) key, type, title write(iounit,130) nrow,ncol,nnz 127 format('.sp 4'/'.ll 7i'/'.ps 12'/'.po 0.7i'/'.ce 3'/, * 'Matrix: ',a8,', Type: ',a3,/,a72) 130 format('Dimension: ',i4,' x ',i4,', Nonzero elements: ',i5) return c----------------end-of-pltmt ------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine smms (n,first,last,mode,a,ja,ia,iout) integer ia(*), ja(*), n, first, last, mode, iout real*8 a(*) c----------------------------------------------------------------------- c writes a matrix in Coordinate (SMMS) format -- c----------------------------------------------------------------------- c on entry: c--------- c n = integer = size of matrix -- number of rows (columns if matrix c is stored columnwise) c first = first row (column) to be output. This routine will output c rows (colums) first to last. c last = last row (column) to be output. c mode = integer giving some information about the storage of the c matrix. A 3-digit decimal number. 'htu' c * u = 0 means that matrix is stored row-wise c * u = 1 means that matrix is stored column-wise c * t = 0 indicates that the matrix is stored in CSR format c * t = 1 indicates that the matrix is stored in MSR format. c * h = ... to be added. c a, c ja, c ia = matrix in CSR or MSR format (see mode) c iout = output unit number. c c on return: c---------- c the output file iout will have written in it the matrix in smms c (coordinate format) c c----------------------------------------------------------------------- logical msr, csc c c determine mode ( msr or csr ) c msr = .false. csc = .false. if (mod(mode,10) .eq. 1) csc = .true. if ( (mode/10) .eq. 1) msr = .true. write (iout,*) n do 2 i=first, last k1=ia(i) k2 = ia(i+1)-1 c write (iout,*) ' row ', i if (msr) write(iout,'(2i6,e22.14)') i, i, a(i) do 10 k=k1, k2 if (csc) then write(iout,'(2i6,e22.14)') ja(k), i, a(k) else write(iout,'(2i6,e22.14)') i, ja(k), a(k) endif 10 continue 2 continue c----end-of-smms-------------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine readsm (nmax,nzmax,n,nnz,ia,ja,a,iout,ierr) integer nmax, nzmax, row, n, iout, i, j, k, ierr integer ia(nmax+1), ja(nzmax) real*8 a(nzmax), x c----------------------------------------------------------------------- c read a matrix in coordinate format as is used in the SMMS c package (F. Alvarado), i.e. the row is in ascending order. c Outputs the matrix in CSR format. c----------------------------------------------------------------------- c coded by Kesheng Wu on Oct 21, 1991 with the supervision of Y. Saad c----------------------------------------------------------------------- c on entry: c--------- c nmax = the maximum size of array c nzmax = the maximum number of nonzeros c iout = the I/O unit that has the data file c c on return: c---------- c n = integer = size of matrix c nnz = number of non-zero entries in the matrix c a, c ja, c ia = matrix in CSR format c ierr = error code, c 0 -- subroutine end with intended job done c 1 -- error in I/O unit iout c 2 -- end-of-file reached while reading n, i.e. a empty data file c 3 -- n non-positive or too large c 4 -- nnz is zero or larger than nzmax c 5 -- data file is not orgnized in the order of ascending c row indices c c in case of errors: c n will be set to zero (0). In case the data file has more than nzmax c number of entries, the first nzmax entries will be read, and are not c cleared on return. The total number of entry is determined. c Ierr is set. c----------------------------------------------------------------------- c rewind(iout) nnz = 0 ia(1) = 1 row = 1 c read (iout,*, err=1000, end=1010) n if ((n.le.0) .or. (n.gt.nmax)) goto 1020 c 10 nnz = nnz + 1 read (iout, *, err=1000, end=100) i, j, x c set the pointers when needed if (i.gt.row) then do 20 k = row+1, i ia(k) = nnz 20 continue row = i else if (i.lt.row) then goto 1040 endif ja(nnz) = j a (nnz) = x if (nnz.lt.nzmax) then goto 10 else goto 1030 endif c normal return -- end of file reached 100 ia(row+1) = nnz nnz = nnz - 1 if (nnz.eq.0) goto 1030 c c everything seems to be OK. c ierr = 0 return c c error handling code c c error in reading data entries c 1000 ierr = 1 goto 2000 c c empty file c 1010 ierr = 2 goto 2000 c c problem with n c 1020 ierr = 3 goto 2000 c c problem with nnz c 1030 ierr = 4 c c try to determine the real number of entries, in case needed c if (nnz.ge.nzmax) then 200 read(iout, *, err=210, end=210) i, j, x nnz = nnz + 1 goto 200 210 continue endif goto 2000 c c data entries not ordered c 1040 ierr = 5 2000 n = 0 return c----end-of-readsm------------------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine readsk (nmax,nzmax,n,nnz,a,ja,ia,iounit,ierr) integer nmax, nzmax, iounit, n, nnz, i, ierr integer ia(nmax+1), ja(nzmax) real*8 a(nzmax) c----------------------------------------------------------------------- c Reads matrix in Compressed Saprse Row format. The data is supposed to c appear in the following order -- n, ia, ja, a c Only square matrices accepted. Format has following features c (1) each number is separated by at least one space (or end-of-line), c (2) each array starts with a new line. c----------------------------------------------------------------------- c coded by Kesheng Wu on Oct 21, 1991 with supervision of Y. Saad c----------------------------------------------------------------------- c on entry: c--------- c nmax = max column dimension allowed for matrix. c nzmax = max number of nonzeros elements allowed. the arrays a, c and ja should be of length equal to nnz (see below). c iounit = logical unit number where to read the matrix from. c c on return: c---------- c ia, c ja, c a = matrx in CSR format c n = number of rows(columns) in matrix c nnz = number of nonzero elements in A. This info is returned c even if there is not enough space in a, ja, ia, in order c to determine the minimum storage needed. c ierr = error code, c 0 : OK; c 1 : error when try to read the specified I/O unit. c 2 : end-of-file reached during reading of data file. c 3 : array size in data file is negtive or larger than nmax; c 4 : nunmer of nonzeros in data file is negtive or larger than nzmax c in case of errors: c--------- c n is set to 0 (zero), at the same time ierr is set. c----------------------------------------------------------------------- c c read the size of the matrix c rewind(iounit) read (iounit, *, err=1000, end=1010) n if ((n.le.0).or.(n.gt.nmax)) goto 1020 c c read the pointer array ia(*) c read (iounit, *, err=1000, end=1010) (ia(i), i=1, n+1) c c Number of None-Zeros c nnz = ia(n+1) - 1 if ((nnz.le.0).or.(nnz.gt.nzmax)) goto 1030 c c read the column indices array c read (iounit, *, err=1000, end=1010) (ja(i), i=1, nnz) c c read the matrix elements c read (iounit, *, err=1000, end=1010) (a(i), i=1, nnz) c c normal return c ierr = 0 return c c error handling code c c error in reading I/O unit 1000 ierr = 1 goto 2000 c c EOF reached in reading 1010 ierr =2 goto 2000 c c n non-positive or too large 1020 ierr = 3 n = 0 goto 2000 c c NNZ non-positive or too large 1030 ierr = 4 c c the real return statement c 2000 n = 0 return c---------end of readsk ------------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine skit (n, a, ja, ia, ifmt, iounit, ierr) c----------------------------------------------------------------------- c Writes a matrix in Compressed Sparse Row format to an I/O unit. c It tryes to pack as many number as possible into lines of less than c 80 characters. Space is inserted in between numbers for separation c to avoid carrying a header in the data file. This can be viewed c as a simplified Harwell-Boeing format. c----------------------------------------------------------------------- c Modified from subroutine prtmt written by Y. Saad c----------------------------------------------------------------------- c on entry: c--------- c n = number of rows(columns) in matrix c a = real*8 array containing the values of the matrix stored c columnwise c ja = integer array of the same length as a containing the column c indices of the corresponding matrix elements of array a. c ia = integer array of containing the pointers to the beginning of c the row in arrays a and ja. c ifmt = integer specifying the format chosen for the real values c to be output (i.e., for a, and for rhs-guess-sol if c applicable). The meaning of ifmt is as follows. c * if (ifmt .lt. 100) then the D descriptor is used, c format Dd.m, in which the length (m) of the mantissa is c precisely the integer ifmt (and d = ifmt+6) c * if (ifmt .gt. 100) then prtmt will use the c F- descriptor (format Fd.m) in which the length of the c mantissa (m) is the integer mod(ifmt,100) and the length c of the integer part is k=ifmt/100 (and d = k+m+2) c Thus ifmt= 4 means D10.4 +.xxxxD+ee while c ifmt=104 means F7.4 +x.xxxx c ifmt=205 means F9.5 +xx.xxxxx c Note: formats for ja, and ia are internally computed. c c iounit = logical unit number where to write the matrix into. c c on return: c---------- c ierr = error code, 0 for normal 1 for error in writing to iounit. c c on error: c-------- c If error is encontacted when writing the matrix, the whole matrix c is written to the standard output. c ierr is set to 1. c----------------------------------------------------------------------- character ptrfmt*16,indfmt*16,valfmt*20 integer iounit, n, ifmt, len, nperli, nnz, i, ihead integer ja(*), ia(*), ierr real*8 a(*) c-------------- c compute pointer format c-------------- nnz = ia(n+1) len = int ( alog10(0.1+real(nnz))) + 2 nnz = nnz - 1 nperli = 80/len print *, ' skit entries:', n, nnz, len, nperli if (len .gt. 9) then assign 101 to ix else assign 100 to ix endif write (ptrfmt,ix) nperli,len 100 format(1h(,i2,1HI,i1,1h) ) 101 format(1h(,i2,1HI,i2,1h) ) c---------------------------- c compute ROW index format c---------------------------- len = int ( alog10(0.1+real(n) )) + 2 nperli = min0(80/len,nnz) write (indfmt,100) nperli,len c--------------------------- c compute value format c--------------------------- if (ifmt .ge. 100) then ihead = ifmt/100 ifmt = ifmt-100*ihead len = ihead+ifmt+3 nperli = 80/len c if (len .le. 9 ) then assign 102 to ix elseif (ifmt .le. 9) then assign 103 to ix else assign 104 to ix endif c write(valfmt,ix) nperli,len,ifmt 102 format(1h(,i2,1hF,i1,1h.,i1,1h) ) 103 format(1h(,i2,1hF,i2,1h.,i1,1h) ) 104 format(1h(,i2,1hF,i2,1h.,i2,1h) ) C else len = ifmt + 7 nperli = 80/len c try to minimize the blanks in the format strings. if (nperli .le. 9) then if (len .le. 9 ) then assign 105 to ix elseif (ifmt .le. 9) then assign 106 to ix else assign 107 to ix endif else if (len .le. 9 ) then assign 108 to ix elseif (ifmt .le. 9) then assign 109 to ix else assign 110 to ix endif endif c----------- write(valfmt,ix) nperli,len,ifmt 105 format(1h(,i1,1hD,i1,1h.,i1,1h) ) 106 format(1h(,i1,1hD,i2,1h.,i1,1h) ) 107 format(1h(,i1,1hD,i2,1h.,i2,1h) ) 108 format(1h(,i2,1hD,i1,1h.,i1,1h) ) 109 format(1h(,i2,1hD,i2,1h.,i1,1h) ) 110 format(1h(,i2,1hD,i2,1h.,i2,1h) ) c endif c c output the data c write(iounit, *) n write(iounit,ptrfmt,err=1000) (ia(i), i = 1, n+1) write(iounit,indfmt,err=1000) (ja(i), i = 1, nnz) write(iounit,valfmt,err=1000) ( a(i), i = 1, nnz) c c done, if no trouble is encounted in writing data c ierr = 0 return c c if can't write the data to the I/O unit specified, should be able to c write everything to standard output (unit 6) c 1000 write(0, *) 'Error, Can''t write data to sepcified unit',iounit write(0, *) 'Write the matrix into standard output instead!' ierr = 1 write(6,*) n write(6,ptrfmt) (ia(i), i=1, n+1) write(6,indfmt) (ja(i), i=1, nnz) write(6,valfmt) ( a(i), i=1, nnz) return c----------end of skit ------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine prtunf(n, a, ja, ia, iout, ierr) c----------------------------------------------------------------------- c This subroutine dumps the arrays used for storing sparse compressed row c format in machine code, i.e. unformatted using standard FORTRAN term. c----------------------------------------------------------------------- c First coded by Kesheng Wu on Oct 21, 1991 under the instruction of c Prof. Y. Saad c----------------------------------------------------------------------- c On entry: c n: the size of the matrix (matrix is n X n) c ia: integer array stores the stariting position of each row. c ja: integer array stores the column indices of each entry. c a: the non-zero entries of the matrix. c iout: the unit number opened for storing the matrix. c On return: c ierr: a error, 0 if everything's OK, else 1 if error in writing data. c On error: c set ierr to 1. c No redirection is made, since direct the machine code to the standard c output may cause unpridictable consequences. c----------------------------------------------------------------------- integer iout, n, nnz, ierr, ia(*), ja(*) real*8 a(*) nnz = ia(n+1)-ia(1) c write(unit=iout, err=1000) n write(unit=iout, err=1000) (ia(k),k=1,n+1) if (nnz .gt. 0) then write(unit=iout, err=1000) (ja(k),k=1,nnz) write(unit=iout, err=1000) ( a(k),k=1,nnz) endif c ierr = 0 return c 1000 ierr = 1 return end c---------end of prtunf ------------------------------------------------ c c----------------------------------------------------------------------- subroutine readunf(nmax,nzmax,n,nnz,a,ja,ia,iounit,ierr) c----------------------------------------------------------------------- c This subroutine reads a matix store in machine code (FORTRAN c unformatted form). The matrix is in CSR format. c----------------------------------------------------------------------- c First coded by Kesheng Wu on Oct 21, 1991 under the instruction of c Prof. Y. Saad c----------------------------------------------------------------------- c On entry: c nmax: the maximum value of matrix size. c nzmax: the maximum number of non-zero entries. c iounit: the I/O unit that opened for reading. c On return: c n: the actual size of array. c nnz: the actual number of non-zero entries. c ia,ja,a: the matrix in CSR format. c ierr: a error code, it's same as that used in reaadsk c 0 -- OK c 1 -- error in reading iounit c 2 -- end-of-file reached while reading data file c 3 -- n is non-positive or too large c 4 -- nnz is non-positive or too large c On error: c return with n set to 0 (zero). nnz is kept if it's set already, c in case one want to use it to determine the size of array needed c to hold the data. c----------------------------------------------------------------------- c integer nmax, nzmax, n, iounit, nnz, k integer ia(nmax+1), ja(nzmax) real*8 a(nzmax) c rewind iounit c read (unit=iounit, err=1000, end=1010) n if ((n.le.0) .or. (n.gt.nmax)) goto 1020 c read(unit=iounit, err=1000, end=1010) (ia(k),k=1,n+1) c nnz = ia(n+1) - 1 if ((nnz.le.0) .or. (nnz.gt.nzmax)) goto 1030 c read(unit=iounit, err=1000, end=1010) (ja(k),k=1,nnz) read(unit=iounit, err=1000, end=1010) (a(k),k=1,nnz) c c everything seems to be OK. c ierr = 0 return c c error handling c 1000 ierr = 1 goto 2000 1010 ierr = 2 goto 2000 1020 ierr = 3 goto 2000 1030 ierr = 4 2000 n = 0 return end c---------end of readunf ---------------------------------------------- sparskit-2.0.0/ITSOL/0000755000265600020320000000000011063776343013401 5ustar tilleaadminsparskit-2.0.0/ITSOL/itaux.f0000644000265600020320000001312706602034256014677 0ustar tilleaadmin subroutine runrc(n,rhs,sol,ipar,fpar,wk,guess,a,ja,ia, + au,jau,ju,solver) implicit none integer n,ipar(16),ia(n+1),ja(*),ju(*),jau(*) real*8 fpar(16),rhs(n),sol(n),guess(n),wk(*),a(*),au(*) external solver c----------------------------------------------------------------------- c the actual tester. It starts the iterative linear system solvers c with a initial guess suppied by the user. c c The structure {au, jau, ju} is assumed to have the output from c the ILU* routines in ilut.f. c c----------------------------------------------------------------------- c local variables c integer i, iou, its real*8 res, dnrm2 c real dtime, dt(2), time c external dtime external dnrm2 save its,res c c ipar(2) can be 0, 1, 2, please don't use 3 c if (ipar(2).gt.2) then print *, 'I can not do both left and right preconditioning.' return endif c c normal execution c its = 0 res = 0.0D0 c do i = 1, n sol(i) = guess(i) enddo c iou = 6 ipar(1) = 0 c time = dtime(dt) 10 call solver(n,rhs,sol,ipar,fpar,wk) c c output the residuals c if (ipar(7).ne.its) then write (iou, *) its, real(res) its = ipar(7) endif res = fpar(5) c if (ipar(1).eq.1) then call amux(n, wk(ipar(8)), wk(ipar(9)), a, ja, ia) goto 10 else if (ipar(1).eq.2) then call atmux(n, wk(ipar(8)), wk(ipar(9)), a, ja, ia) goto 10 else if (ipar(1).eq.3 .or. ipar(1).eq.5) then call lusol(n,wk(ipar(8)),wk(ipar(9)),au,jau,ju) goto 10 else if (ipar(1).eq.4 .or. ipar(1).eq.6) then call lutsol(n,wk(ipar(8)),wk(ipar(9)),au,jau,ju) goto 10 else if (ipar(1).le.0) then if (ipar(1).eq.0) then print *, 'Iterative sovler has satisfied convergence test.' else if (ipar(1).eq.-1) then print *, 'Iterative solver has iterated too many times.' else if (ipar(1).eq.-2) then print *, 'Iterative solver was not given enough work space.' print *, 'The work space should at least have ', ipar(4), & ' elements.' else if (ipar(1).eq.-3) then print *, 'Iterative sovler is facing a break-down.' else print *, 'Iterative solver terminated. code =', ipar(1) endif endif c time = dtime(dt) write (iou, *) ipar(7), real(fpar(6)) write (iou, *) '# retrun code =', ipar(1), + ' convergence rate =', fpar(7) c write (iou, *) '# total execution time (sec)', time c c check the error c call amux(n,sol,wk,a,ja,ia) do i = 1, n wk(n+i) = sol(i) -1.0D0 wk(i) = wk(i) - rhs(i) enddo write (iou, *) '# the actual residual norm is', dnrm2(n,wk,1) write (iou, *) '# the error norm is', dnrm2(n,wk(1+n),1) c if (iou.ne.6) close(iou) return end c-----end-of-runrc c----------------------------------------------------------------------- function distdot(n,x,ix,y,iy) integer n, ix, iy real*8 distdot, x(*), y(*), ddot external ddot distdot = ddot(n,x,ix,y,iy) return end c-----end-of-distdot c----------------------------------------------------------------------- c function afun (x,y,z) real*8 afun, x,y, z afun = -1.0D0 return end function bfun (x,y,z) real*8 bfun, x,y, z bfun = -1.0D0 return end function cfun (x,y,z) real*8 cfun, x,y, z cfun = -1.0D0 return end function dfun (x,y,z) real*8 dfun, x,y, z, gammax, gammay, alpha common /func/ gammax, gammay, alpha dfun = gammax*exp(x*y) return end function efun (x,y,z) real*8 efun, x,y, z, gammax, gammay, alpha common /func/ gammax, gammay, alpha efun = gammay*exp(-x*y) return end function ffun (x,y,z) real*8 ffun, x,y, z ffun = 0.0D0 return end function gfun (x,y,z) real*8 gfun, x,y, z, gammax, gammay, alpha common /func/ gammax, gammay, alpha gfun = alpha return end function hfun (x,y,z) real*8 hfun, x,y, z, gammax, gammay, alpha common /func/ gammax, gammay, alpha hfun = alpha * sin(gammax*x+gammay*y-z) return end function betfun(side, x, y, z) real*8 betfun, x, y, z character*2 side betfun = 1.0 return end function gamfun(side, x, y, z) real*8 gamfun, x, y, z character*2 side if (side.eq.'x2') then gamfun = 5.0 else if (side.eq.'y1') then gamfun = 2.0 else if (side.eq.'y2') then gamfun = 7.0 else gamfun = 0.0 endif return end c----------------------------------------------------------------------- c functions for the block PDE's c----------------------------------------------------------------------- subroutine afunbl (nfree,x,y,z,coeff) return end c subroutine bfunbl (nfree,x,y,z,coeff) return end subroutine cfunbl (nfree,x,y,z,coeff) c return end subroutine dfunbl (nfree,x,y,z,coeff) return end c subroutine efunbl (nfree,x,y,z,coeff) return end c subroutine ffunbl (nfree,x,y,z,coeff) return end c subroutine gfunbl (nfree,x,y,z,coeff) return end sparskit-2.0.0/ITSOL/riter2.f0000644000265600020320000000661106203735252014755 0ustar tilleaadmin program riters c----------------------------------------------------------------------- c test program for iters -- the basic iterative solvers c c this program reads a Harwell/Boeing matrix from standard input c and solves the linear system with an artifical right-hand side c (the solution is a vector of (1,1,...,1)^T) c----------------------------------------------------------------------- c implicit none c implicit real*8 (a-h,o-z) integer nmax, nzmax, maxits,lwk parameter (nmax=5000,nzmax=100000,maxits=60,lwk=nmax*40) integer ia(nmax),ja(nzmax),jau(nzmax),ju(nzmax),iw(nmax*3) integer ipar(16),i,lfil,nwk,nrow,ierr real*8 a(nzmax),sol(nmax),rhs(nmax),au(nzmax),wk(nmax*40) real*8 xran(nmax), fpar(16), tol character guesol*2, title*72, key*8, type*3 external cg,bcg,dbcg,bcgstab,tfqmr,gmres,fgmres,dqgmres external cgnr, fom, runrc, ilut c c set the parameters for the iterative solvers c ipar(2) = 2 ipar(3) = 1 ipar(4) = lwk ipar(5) = 16 ipar(6) = maxits fpar(1) = 1.0D-5 fpar(2) = 1.0D-10 c-------------------------------------------------------------- c read in a matrix from standard input c-------------------------------------------------------------- iounit = 5 job = 2 nrhs = 0 call readmt (nmax,nzmax,job,iounit,a,ja,ia,a,nrhs, * guesol,nrow,ncol,nnz,title,key,type,ierr) print *, 'READ the matrix ', key, type print *, title print * c c set-up the preconditioner ILUT(15, 1E-4) ! new definition of lfil c lfil = 15 tol = 1.0D-4 ! this is too high for ilut for saylr1 tol = 1.0D-7 nwk = nzmax call ilut (nrow,a,ja,ia,lfil,tol,au,jau,ju,nwk, * wk,iw,ierr) ipar(2) = 2 c c generate a linear system with known solution c do i = 1, nrow sol(i) = 1.0D0 xran(i) = 0.D0 end do call amux(nrow, sol, rhs, a, ja, ia) print *, ' ' print *, ' *** CG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + cg) print *, ' ' print *, ' *** BCG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + bcg) print *, ' ' print *, ' *** DBCG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + dbcg) print *, ' ' print *, ' *** CGNR ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + cgnr) print *, ' ' print *, ' *** BCGSTAB ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + bcgstab) print *, ' ' print *, ' *** TFQMR ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + tfqmr) print *, ' ' print *, ' *** FOM ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + fom) print *, ' ' print *, ' *** GMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + gmres) print *, ' ' print *, ' *** FGMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + fgmres) print *, ' ' print *, ' *** DQGMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + dqgmres) stop end c-----end-of-main c----------------------------------------------------------------------- sparskit-2.0.0/ITSOL/makefile0000644000265600020320000000111606203735252015072 0ustar tilleaadminFFLAGS = F77 = f77 #F77 = cf77 #FFLAGS = -Wf"-dp" LIBS = ../libskit.a ../UNSUPP/BLAS1/blas1.o riters.ex: riters.o iters.o ilut.o itaux.o $(LIBS) $(F77) $(FFLAGS) -o riters.ex riters.o itaux.o $(LIBS) rilut.ex: rilut.o ilut.o iters.o itaux.o $(LIBS) $(F77) $(FFLAGS) -o rilut.ex rilut.o itaux.o $(LIBS) riter2.ex: riter2.o iters.o ilut.o itaux.o $(LIBS) $(F77) $(FFLAGS) -o riter2.ex riter2.o itaux.o $(LIBS) clean: rm -f *.o *.ex core *.trace ../UNSUPP/BLAS1/blas1.o: (cd ../UNSUPP/BLAS1; $(F77) $(FFLAGS) -c blas1.f) ../libskit.a: (cd ..; $(MAKE) $(MAKEFLAGS) libskit.a) sparskit-2.0.0/ITSOL/runilut.f0000644000265600020320000002176506203735262015260 0ustar tilleaadmin program runall c----------------------------------------------------------------------- c not present: CG and FGMRES c----------------------------------------------------------------------- c program for running all examples -- for book tables. c----------------------------------------------------------------------- parameter (nmax=10000,np1=nmax+1,nt2=2*nmax,nzmax = 100000, * lw=31*nmax,nzumax = 20*nzmax) c----------------------------------------------------------------------- implicit none c integer ia(nt2),ja(nzmax),jlu(nzumax),levs(nzumax),ju(nmax+1) real*8 wk(lw),rhs(nmax),a(nzmax),alu(nzumax) integer jw(nt2), iperm(nt2) real*8 w(nt2),sol(nt2) integer n, mbloc character guesol*2, title*72, key*8, type*3 c----------------------------------------------------------------------- integer iout,lfil,j,k,maxits,i,ncol,numat,mat,iwk,nnz,ipo,ipi,iin, * job,nrhs,im,outf,ipre,its,ierr,ipre1,ipre2,lf,it,itp, * icode,imat,kk,lfinc, niter character*50 filnam integer iters(20) c c up to 10 matrices c real*8 droptol, dropinc, t, permtol, tol, eps, rand, alph, dnrm2 c c----------------------------------------------------------------------- data iin/4/, iout/8/ c----------------------------------------------------------------------- iwk = nzumax c c read in matrix pathname from file. == then read matrix itself c open (2, file ='matfile') read (2,*) numat i=20 c----------------------------------------------------------------------- open (iin,file='inputs') read (iin,*) alph read (iin,*) im, maxits read (iin,*) eps read (iin,*) ipre1, ipre2, niter read (iin,*) tol, dropinc, permtol read (iin,*) lf, lfinc outf = 30 c c BIG MATRIX LOOP c c----------------------------------------------------------------------- c LOOP THROUGH MATRICES c----------------------------------------------------------------------- do 300 mat =1, numat read (2,'(a50)') filnam imat = 20 open (imat,file =filnam) write (7,*) filnam job = 3 nrhs = nmax call readmt (nmax,nzmax,job,imat,a,ja,ia, rhs, nrhs, * guesol,n,ncol,nnz,title,key,type,ierr) c----------------------------------------------------------------------- rewind(imat) write (7,*) ' -- read -- returned with ierr = ', ierr write (7,*) ' matrix ', filnam write (7,*) ' *** n = ', n, ' nnz ', nnz if (ierr .ne. 0) stop ' not able to read *** ' c c sort matrix c call csort(n,a,ja,ia,jlu,.true.) job = 0 call roscal(n,job,1,a,ja,ia,wk,a,ja,ia,ierr) call coscal(n,job,1,a,ja,ia,wk,a,ja,ia,ierr) c----------------------------------------------------------------------- c LOOP THROUGH PRECONDITONERS c----------------------------------------------------------------------- droptol = tol lfil = lf kk = 0 do 500 ipre = ipre1, ipre2 c----------------------------------------------------------------------- c ipre = 1 --> ILUD c ipre = 2 --> ILUT c ipre = 3 --> ILUDP c ipre = 4 --> ILUTP c ipre = 5 --> ILUK c----------------------------------------------------------------------- lfil = lf droptol = tol do 350 itp =1, niter do k=1,n sol(k) = 1.0 enddo c call amux (n, sol, rhs, a, ja, ia) c goto (1,2,3,4) ipre c 1 continue call ilud (n,a,ja,ia,alph,droptol,alu,jlu,ju,iwk, * w,jw,ierr) if (ierr .ne. 0) write (7,*) ' ilud ierr = ', ierr call stb_test(n,rhs,alu,jlu,ju,t) write (7,*) ' ILUD-drpt =', droptol, ' stbtest = ', t write (7,*) ' --- fill-in =', jlu(n+1)-jlu(1) c goto 100 2 continue c call ilutn (n,a,ja,ia,lfil,droptol,alu,jlu,ju,iwk,w,jw, * ierr) if (ierr .ne. 0) write (7,*) ' ILUT ierr = ', ierr call stb_test(n,rhs,alu,jlu,ju,t) write (7,*) ' ILUT-drpt =', droptol, * ' lfil = ', lfil, ' stbtest = ', t write (7,*) ' --- fill-in =', jlu(n+1)-jlu(1) c goto 100 c c pivoting codes c 3 continue mbloc = n call iludp (n,a,ja,ia,alph,droptol,permtol,mbloc,alu, * jlu,ju,iwk,w,jw,iperm,ierr) if (ierr .ne. 0) write (7,*) ' ilud ierr = ', ierr call stb_test(n,rhs,alu,jlu,ju,t) write (7,*) ' ILUD-drpt =', droptol, ' stbtest = ', t write (7,*) ' --- fill-in =', jlu(n+1)-jlu(1) goto 100 4 continue mbloc = n call ilutpn (n,a,ja,ia,lfil,droptol,permtol,mbloc,alu, * jlu,ju,iwk,w,jw,iperm,ierr) if (ierr .ne. 0) write (7,*) ' milutp ierr = ', ierr c call stb_test(n,rhs,alu,jlu,ju,t) write (7,*) ' ILUTP-drpt =', droptol, * ' lfil = ', lfil, ' stbtest = ', t write (7,*) ' --- fill-in =', jlu(n+1)-jlu(1) goto 100 5 continue c call ilukn(n,a,ja,ia,lfil,alu,jlu,ju,levs,iwk,w,jw,ierr) if (ierr .ne. 0) write (7,*) ' ILUT ierr = ', ierr call stb_test(n,rhs,alu,jlu,ju,t) write (7,*) ' ILUK -- lfil = ', lfil,' stbtest = ', t write (7,*) ' --- fill-in =', jlu(n+1)-jlu(1) c goto 100 c ----------- c big loop -- c ----------- 100 continue do 11 k=1,n sol(k) = 1.0 11 continue call amux (n, sol, rhs, a, ja, ia) do 12 j=1, n sol(j) = rand(j) 12 continue its = 0 c----------------------------------------------------------------------- 10 continue c call fgmr (n,im,rhs,sol,it,wk,ipo,ipi,eps,maxits,0,icode) c----------------------------------------------------------------------- if (icode.eq.1) then call amux(n, wk(ipo), wk(ipi), a, ja, ia) its = its+1 goto 10 else if (icode.eq.3 .or. icode.eq.5) then c c output the residuals here ... c if (ipre .eq. 0) then c NOPRE call dcopy(n, wk(ipo),1,wk(ipi),1) else call lusol(n,wk(ipo),wk(ipi),alu,jlu,ju) endif goto 10 endif c c done *** c call amux(n,sol,wk,a,ja,ia) c do i = 1, n wk(n+i) = sol(i) -1.0D0 wk(i) = wk(i) - rhs(i) end do c kk = kk+1 iters(kk) = its c res(kk) = dnrm2(n,wk,1) c err(kk) = dnrm2(n,wk(n+1),1) write (iout, *) '# actual residual norm ', dnrm2(n,wk,1) write (iout, *) '# error norm ', dnrm2(n,wk(1+n),1) c droptol = droptol*dropinc lfil = lfil + lfinc c c pivoting codes c if (ipre .ge. 3) then do k=1, ia(n+1)-1 ja(k) = iperm(ja(k)) enddo endif 350 continue c 500 continue call entline(outf,filnam,iters,kk) close (imat) 300 continue stop c-------------end-of-main-program-ilut_solve_new------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- function distdot(n,x,ix,y,iy) integer n, ix, iy real*8 distdot, x(*), y(*), ddot external ddot distdot = ddot(n,x,ix,y,iy) return c-----end-of-distdot c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine entline(outf,mat,its,kk) implicit none integer outf, kk,its(kk),k character mat*70 c real*8 err(kk), res(kk) c----------------------------------------------------------------------- write(outf,100) mat(19:29),(its(k),k=1,8) 100 format * (a,' & ', 8(i4,' & '),'\\\\ \\hline') return end c----------------------------------------------------------------------- subroutine stb_test(n,sol,alu,jlu,ju,tmax) implicit none integer n, jlu(*),ju(*) real*8 sol(n),alu(*),tmax c----------------------------------------------------------------------- real*8 max, t, abs integer j c call lusol(n,sol,sol,alu,jlu,ju) c tmax = 0.0 do j=1, n t = abs(sol(j)) tmax = max(t,tmax) enddo return end sparskit-2.0.0/ITSOL/riters.f0000644000265600020320000001022106752641122015047 0ustar tilleaadmin program riters c----------------------------------------------------------------------- c test program for iters -- the basic iterative solvers c c this program generates a sparse matrix using c GEN57PT and then solves a linear system with an c artificial rhs (the solution is a vector of (1,1,...,1)^T). c----------------------------------------------------------------------- c implicit none c implicit real*8 (a-h,o-z) integer nmax, nzmax, maxits,lwk parameter (nmax=5000,nzmax=100000,maxits=60,lwk=nmax*40) integer ia(nmax),ja(nzmax),jau(nzmax),ju(nzmax),iw(nmax*3) integer ipar(16),nx,ny,nz,i,lfil,nwk,nrow,ierr real*8 a(nzmax),sol(nmax),rhs(nmax),au(nzmax),wk(nmax*40) real*8 xran(nmax), fpar(16), al(nmax) real*8 gammax,gammay,alpha,tol external gen57pt,cg,bcg,dbcg,bcgstab,tfqmr,gmres,fgmres,dqgmres external cgnr, fom, runrc, ilut c common /func/ gammax, gammay, alpha c----------------------------------------------------------------------- c pde to be discretized is : c--------------------------- c c -Lap u + gammax exp (xy)delx u + gammay exp (-xy) dely u +alpha u c c where Lap = 2-D laplacean, delx = part. der. wrt x, c dely = part. der. wrt y. c gammax, gammay, and alpha are passed via the commun func. c c----------------------------------------------------------------------- c c data for PDE: c nx = 6 ny = 6 nz = 1 alpha = 0.0 gammax = 0.0 gammay = 0.0 c c set the parameters for the iterative solvers c ipar(2) = 2 ipar(3) = 1 ipar(4) = lwk ipar(5) = 10 ipar(6) = maxits fpar(1) = 1.0D-5 fpar(2) = 1.0D-10 c-------------------------------------------------------------- c call GEN57PT to generate matrix in compressed sparse row format c c al(1:6) are used to store part of the boundary conditions c (see documentation on GEN57PT.) c-------------------------------------------------------------- al(1) = 0.0 al(2) = 0.0 al(3) = 0.0 al(4) = 0.0 al(5) = 0.0 al(6) = 0.0 nrow = nx * ny * nz call gen57pt(nx,ny,nz,al,0,nrow,a,ja,ia,ju,rhs) print *, 'RITERS: generated a finite difference matrix' print *, ' grid size = ', nx, ' X ', ny, ' X ', nz print *, ' matrix size = ', nrow c c set-up the preconditioner ILUT(15, 1E-4) ! new definition of lfil c lfil = 3 tol = 1.0D-4 nwk = nzmax call ilut (nrow,a,ja,ia,lfil,tol,au,jau,ju,nwk, * wk,iw,ierr) ipar(2) = 2 c c generate a linear system with known solution c do i = 1, nrow sol(i) = 1.0D0 xran(i) = 0.d0 end do call amux(nrow, sol, rhs, a, ja, ia) print *, ' ' print *, ' *** CG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + cg) print *, ' ' print *, ' *** BCG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + bcg) print *, ' ' print *, ' *** DBCG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + dbcg) print *, ' ' print *, ' *** CGNR ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + cgnr) print *, ' ' print *, ' *** BCGSTAB ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + bcgstab) print *, ' ' print *, ' *** TFQMR ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + tfqmr) print *, ' ' print *, ' *** FOM ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + fom) print *, ' ' print *, ' *** GMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + gmres) print *, ' ' print *, ' *** FGMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + fgmres) print *, ' ' print *, ' *** DQGMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + dqgmres) stop end c-----end-of-main c----------------------------------------------------------------------- sparskit-2.0.0/ITSOL/saylr10000644000265600020320000007171306203735253014543 0ustar tilleaadmin1UNSYMMETRIC MATRIX OF PAUL SAYLOR - 14 BY 17 2D GRID MAY, 1983 SAYLR1 363 24 113 226 0 RUA 238 238 1128 0 (10I8) (10I8) (5E16.8) 1 4 8 12 16 20 24 28 32 36 40 44 48 52 55 59 64 69 74 79 84 89 94 99 104 109 114 119 123 127 132 137 142 147 152 157 162 167 172 177 182 187 191 195 200 205 210 215 220 225 230 235 240 245 250 255 259 263 268 273 278 283 288 293 298 303 308 313 318 323 327 331 336 341 346 351 356 361 366 371 376 381 386 391 395 399 404 409 414 419 424 429 434 439 444 449 454 459 463 467 472 477 482 487 492 497 502 507 512 517 522 527 531 535 540 545 550 555 560 565 570 575 580 585 590 595 599 603 608 613 618 623 628 633 638 643 648 653 658 663 667 671 676 681 686 691 696 701 706 711 716 721 726 731 735 739 744 749 754 759 764 769 774 779 784 789 794 799 803 807 812 817 822 827 832 837 842 847 852 857 862 867 871 875 880 885 890 895 900 905 910 915 920 925 930 935 939 943 948 953 958 963 968 973 978 983 988 993 998 1003 1007 1011 1016 1021 1026 1031 1036 1041 1046 1051 1056 1061 1066 1071 1075 1078 1082 1086 1090 1094 1098 1102 1106 1110 1114 1118 1122 1126 1129 1 2 15 1 2 3 16 2 3 4 17 3 4 5 18 4 5 6 19 5 6 7 20 6 7 8 21 7 8 9 22 8 9 10 23 9 10 11 24 10 11 12 25 11 12 13 26 12 13 14 27 13 14 28 1 15 16 29 2 15 16 17 30 3 16 17 18 31 4 17 18 19 32 5 18 19 20 33 6 19 20 21 34 7 20 21 22 35 8 21 22 23 36 9 22 23 24 37 10 23 24 25 38 11 24 25 26 39 12 25 26 27 40 13 26 27 28 41 14 27 28 42 15 29 30 43 16 29 30 31 44 17 30 31 32 45 18 31 32 33 46 19 32 33 34 47 20 33 34 35 48 21 34 35 36 49 22 35 36 37 50 23 36 37 38 51 24 37 38 39 52 25 38 39 40 53 26 39 40 41 54 27 40 41 42 55 28 41 42 56 29 43 44 57 30 43 44 45 58 31 44 45 46 59 32 45 46 47 60 33 46 47 48 61 34 47 48 49 62 35 48 49 50 63 36 49 50 51 64 37 50 51 52 65 38 51 52 53 66 39 52 53 54 67 40 53 54 55 68 41 54 55 56 69 42 55 56 70 43 57 58 71 44 57 58 59 72 45 58 59 60 73 46 59 60 61 74 47 60 61 62 75 48 61 62 63 76 49 62 63 64 77 50 63 64 65 78 51 64 65 66 79 52 65 66 67 80 53 66 67 68 81 54 67 68 69 82 55 68 69 70 83 56 69 70 84 57 71 72 85 58 71 72 73 86 59 72 73 74 87 60 73 74 75 88 61 74 75 76 89 62 75 76 77 90 63 76 77 78 91 64 77 78 79 92 65 78 79 80 93 66 79 80 81 94 67 80 81 82 95 68 81 82 83 96 69 82 83 84 97 70 83 84 98 71 85 86 99 72 85 86 87 100 73 86 87 88 101 74 87 88 89 102 75 88 89 90 103 76 89 90 91 104 77 90 91 92 105 78 91 92 93 106 79 92 93 94 107 80 93 94 95 108 81 94 95 96 109 82 95 96 97 110 83 96 97 98 111 84 97 98 112 85 99 100 113 86 99 100 101 114 87 100 101 102 115 88 101 102 103 116 89 102 103 104 117 90 103 104 105 118 91 104 105 106 119 92 105 106 107 120 93 106 107 108 121 94 107 108 109 122 95 108 109 110 123 96 109 110 111 124 97 110 111 112 125 98 111 112 126 99 113 114 127 100 113 114 115 128 101 114 115 116 129 102 115 116 117 130 103 116 117 118 131 104 117 118 119 132 105 118 119 120 133 106 119 120 121 134 107 120 121 122 135 108 121 122 123 136 109 122 123 124 137 110 123 124 125 138 111 124 125 126 139 112 125 126 140 113 127 128 141 114 127 128 129 142 115 128 129 130 143 116 129 130 131 144 117 130 131 132 145 118 131 132 133 146 119 132 133 134 147 120 133 134 135 148 121 134 135 136 149 122 135 136 137 150 123 136 137 138 151 124 137 138 139 152 125 138 139 140 153 126 139 140 154 127 141 142 155 128 141 142 143 156 129 142 143 144 157 130 143 144 145 158 131 144 145 146 159 132 145 146 147 160 133 146 147 148 161 134 147 148 149 162 135 148 149 150 163 136 149 150 151 164 137 150 151 152 165 138 151 152 153 166 139 152 153 154 167 140 153 154 168 141 155 156 169 142 155 156 157 170 143 156 157 158 171 144 157 158 159 172 145 158 159 160 173 146 159 160 161 174 147 160 161 162 175 148 161 162 163 176 149 162 163 164 177 150 163 164 165 178 151 164 165 166 179 152 165 166 167 180 153 166 167 168 181 154 167 168 182 155 169 170 183 156 169 170 171 184 157 170 171 172 185 158 171 172 173 186 159 172 173 174 187 160 173 174 175 188 161 174 175 176 189 162 175 176 177 190 163 176 177 178 191 164 177 178 179 192 165 178 179 180 193 166 179 180 181 194 167 180 181 182 195 168 181 182 196 169 183 184 197 170 183 184 185 198 171 184 185 186 199 172 185 186 187 200 173 186 187 188 201 174 187 188 189 202 175 188 189 190 203 176 189 190 191 204 177 190 191 192 205 178 191 192 193 206 179 192 193 194 207 180 193 194 195 208 181 194 195 196 209 182 195 196 210 183 197 198 211 184 197 198 199 212 185 198 199 200 213 186 199 200 201 214 187 200 201 202 215 188 201 202 203 216 189 202 203 204 217 190 203 204 205 218 191 204 205 206 219 192 205 206 207 220 193 206 207 208 221 194 207 208 209 222 195 208 209 210 223 196 209 210 224 197 211 212 225 198 211 212 213 226 199 212 213 214 227 200 213 214 215 228 201 214 215 216 229 202 215 216 217 230 203 216 217 218 231 204 217 218 219 232 205 218 219 220 233 206 219 220 221 234 207 220 221 222 235 208 221 222 223 236 209 222 223 224 237 210 223 224 238 211 225 226 212 225 226 227 213 226 227 228 214 227 228 229 215 228 229 230 216 229 230 231 217 230 231 232 218 231 232 233 219 232 233 234 220 233 234 235 221 234 235 236 222 235 236 237 223 236 237 238 224 237 238 -.19315000E+02 .19311000E+02 .44227000E-02 .19311000E+02 -.38640000E+02 .19311000E+02 .17691000E-01 .19311000E+02 -.38693000E+02 .19311000E+02 .70763000E-01 .19311000E+02 -.38905000E+02 .19311000E+02 .28305000E+00 .19311000E+02 -.39755000E+02 .19311000E+02 .11322000E+01 .19311000E+02 -.43156000E+02 .19311000E+02 .45289000E+01 .19311000E+02 -.56756000E+02 .19311000E+02 .18115000E+02 .19311000E+02 -.11116000E+03 .19311000E+02 .72462000E+02 .19311000E+02 -.32877000E+03 .19311000E+02 .28985000E+03 .19311000E+02 -.11992000E+04 .19310000E+02 .11593000E+04 .19310000E+02 -.46805000E+04 .19309000E+02 .46370000E+04 .19309000E+02 -.18586000E+05 .11061000E+02 .18536000E+05 .11060000E+02 -.75788000E+05 .19722000E+02 .75689000E+05 .19699000E+02 -.41574000E+08 .41579000E+08 .44227000E-02 -.10241000E+04 .10230000E+04 .11876000E+01 .17691000E-01 .10230000E+04 -.20507000E+04 .10230000E+04 .47506000E+01 .70763000E-01 .10230000E+04 -.20650000E+04 .10230000E+04 .19002000E+02 .28305000E+00 .10230000E+04 -.21222000E+04 .10230000E+04 .76009000E+02 .11322000E+01 .10230000E+04 -.23511000E+04 .10230000E+04 .30404000E+03 .45288000E+01 .10230000E+04 -.32666000E+04 .10230000E+04 .12161000E+04 .18115000E+02 .10230000E+04 -.69286000E+04 .10229000E+04 .48646000E+04 .72461000E+02 .10229000E+04 -.21577000E+05 .10230000E+04 .19458000E+05 .28984000E+03 .10230000E+04 -.80170000E+05 .10229000E+04 .77833000E+05 .11593000E+04 .10229000E+04 -.31474000E+06 .10229000E+04 .31153000E+06 .46369000E+04 .10229000E+04 -.12527000E+07 .10229000E+04 .12460000E+07 .18536000E+05 .10229000E+04 -.50005000E+07 .34724000E+03 .49805000E+07 .75682000E+05 .34710000E+03 -.27150000E+08 .13908000E+04 .27075000E+08 .41574000E+08 .13891000E+04 -.90850000E+08 .49273000E+08 .11876000E+01 -.19842000E+03 .19612000E+03 .11083000E+01 .47505000E+01 .19612000E+03 -.40143000E+03 .19612000E+03 .44330000E+01 .19002000E+02 .19612000E+03 -.42898000E+03 .19612000E+03 .17732000E+02 .76008000E+02 .19612000E+03 -.53918000E+03 .19612000E+03 .70928000E+02 .30403000E+03 .19612000E+03 -.97999000E+03 .19612000E+03 .28371000E+03 .12161000E+04 .19612000E+03 -.27432000E+04 .19612000E+03 .11348000E+04 .48645000E+04 .19612000E+03 -.97962000E+04 .19612000E+03 .45394000E+04 .19458000E+05 .19612000E+03 -.38008000E+05 .19612000E+03 .18158000E+05 .77832000E+05 .19612000E+03 -.15086000E+06 .19612000E+03 .72630000E+05 .31152000E+06 .19612000E+03 -.60243000E+06 .19612000E+03 .29051000E+06 .12460000E+07 .19612000E+03 -.24083000E+07 .19611000E+03 .11619000E+07 .49805000E+07 .19610000E+03 -.96025000E+07 .19986000E+03 .46215000E+07 .27072000E+08 .19977000E+03 -.52340000E+08 .26683000E+03 .25265000E+08 .49269000E+08 .26651000E+03 -.20234000E+09 .15307000E+09 .11082000E+01 -.61428000E+02 .59668000E+02 .65184000E+00 .44330000E+01 .59668000E+02 -.12638000E+03 .59667000E+02 .26074000E+01 .17732000E+02 .59667000E+02 -.14750000E+03 .59667000E+02 .10429000E+02 .70928000E+02 .59667000E+02 -.23198000E+03 .59667000E+02 .41718000E+02 .28371000E+03 .59667000E+02 -.56992000E+03 .59667000E+02 .16687000E+03 .11348000E+04 .59667000E+02 -.19217000E+04 .59668000E+02 .66748000E+03 .45394000E+04 .59668000E+02 -.73287000E+04 .59667000E+02 .26699000E+04 .18158000E+05 .59667000E+02 -.28957000E+05 .59668000E+02 .10680000E+05 .72630000E+05 .59668000E+02 -.11547000E+06 .59667000E+02 .42719000E+05 .29051000E+06 .59667000E+02 -.46144000E+06 .59645000E+02 .17081000E+06 .11619000E+07 .59645000E+02 -.18448000E+07 .59602000E+02 .68272000E+06 .46215000E+07 .59601000E+02 -.73360000E+07 .60828000E+02 .27143000E+07 .25264000E+08 .60800000E+02 -.40130000E+08 .81211000E+02 .14866000E+08 .15306000E+09 .81113000E+02 -.30614000E+09 .15307000E+09 .65184000E+00 -.60995000E+02 .59561000E+02 .78233000E+00 .26073000E+01 .59561000E+02 -.12486000E+03 .59561000E+02 .31293000E+01 .10429000E+02 .59561000E+02 -.14207000E+03 .59561000E+02 .12517000E+02 .41718000E+02 .59561000E+02 -.21091000E+03 .59561000E+02 .50069000E+02 .16687000E+03 .59561000E+02 -.48627000E+03 .59561000E+02 .20028000E+03 .66748000E+03 .59561000E+02 -.15877000E+04 .59561000E+02 .80110000E+03 .26699000E+04 .59561000E+02 -.59935000E+04 .59561000E+02 .32044000E+04 .10680000E+05 .59561000E+02 -.23616000E+05 .59561000E+02 .12818000E+05 .42719000E+05 .59561000E+02 -.94109000E+05 .59561000E+02 .51271000E+05 .17081000E+06 .59561000E+02 -.37593000E+06 .59539000E+02 .20500000E+06 .68272000E+06 .59539000E+02 -.15022000E+07 .59496000E+02 .81940000E+06 .27143000E+07 .59495000E+02 -.59721000E+07 .60830000E+02 .32577000E+07 .14865000E+08 .60802000E+02 -.32739000E+08 .81214000E+02 .17875000E+08 .15307000E+09 .81116000E+02 -.21674000E+09 .63673000E+08 .78232000E+00 -.66882000E+03 .66802000E+03 .10723000E-01 .31293000E+01 .66802000E+03 -.13392000E+04 .66802000E+03 .42892000E-01 .12517000E+02 .66802000E+03 -.13487000E+04 .66802000E+03 .17157000E+00 .50069000E+02 .66802000E+03 -.13868000E+04 .66802000E+03 .68627000E+00 .20027000E+03 .66802000E+03 -.15391000E+04 .66802000E+03 .27451000E+01 .80110000E+03 .66802000E+03 -.21482000E+04 .66803000E+03 .10980000E+02 .32044000E+04 .66803000E+03 -.45844000E+04 .66802000E+03 .43921000E+02 .12818000E+05 .66802000E+03 -.14330000E+05 .66803000E+03 .17569000E+03 .51270000E+05 .66803000E+03 -.53311000E+05 .66802000E+03 .70274000E+03 .20500000E+06 .66802000E+03 -.20915000E+06 .66777000E+03 .28099000E+04 .81939000E+06 .66777000E+03 -.83198000E+06 .66729000E+03 .11231000E+05 .32577000E+07 .66729000E+03 -.33028000E+07 .68526000E+03 .43718000E+05 .17873000E+08 .68492000E+03 -.18122000E+08 .91488000E+03 .24607000E+06 .63668000E+08 .91379000E+03 -.11417000E+09 .50497000E+08 .10723000E-01 -.73415000E+02 .73396000E+02 .79713000E-02 .42892000E-01 .73396000E+02 -.14687000E+03 .73396000E+02 .31885000E-01 .17157000E+00 .73396000E+02 -.14709000E+03 .73396000E+02 .12754000E+00 .68626000E+00 .73396000E+02 -.14799000E+03 .73396000E+02 .51016000E+00 .27451000E+01 .73396000E+02 -.15158000E+03 .73396000E+02 .20406000E+01 .10980000E+02 .73396000E+02 -.16594000E+03 .73396000E+02 .81626000E+01 .43921000E+02 .73396000E+02 -.22340000E+03 .73395000E+02 .32650000E+02 .17568000E+03 .73395000E+02 -.45321000E+03 .73396000E+02 .13060000E+03 .70273000E+03 .73396000E+02 -.13725000E+04 .73396000E+02 .52240000E+03 .28099000E+04 .73396000E+02 -.50431000E+04 .73214000E+02 .20845000E+04 .11231000E+05 .73214000E+02 -.19682000E+05 .72862000E+02 .82963000E+04 .43717000E+05 .72861000E+02 -.75025000E+05 .76553000E+02 .31124000E+05 .24605000E+06 .76514000E+02 -.43229000E+06 .10220000E+03 .18599000E+06 .50492000E+08 .10208000E+03 -.14275000E+09 .92259000E+08 .79712000E-02 -.18212000E+02 .18188000E+02 .16022000E-01 .31885000E-01 .18188000E+02 -.36471000E+02 .18188000E+02 .64087000E-01 .12754000E+00 .18188000E+02 -.36759000E+02 .18188000E+02 .25635000E+00 .51016000E+00 .18188000E+02 -.37911000E+02 .18188000E+02 .10254000E+01 .20406000E+01 .18188000E+02 -.42518000E+02 .18188000E+02 .41016000E+01 .81625000E+01 .18188000E+02 -.60947000E+02 .18188000E+02 .16406000E+02 .32650000E+02 .18188000E+02 -.13466000E+03 .18187000E+02 .65625000E+02 .13060000E+03 .18187000E+02 -.42953000E+03 .18188000E+02 .26250000E+03 .52240000E+03 .18188000E+02 -.16090000E+04 .18188000E+02 .10500000E+04 .20845000E+04 .18188000E+02 -.63057000E+04 .17983000E+02 .41843000E+04 .82963000E+04 .17983000E+02 -.24946000E+05 .17992000E+02 .16611000E+05 .31123000E+05 .17992000E+02 -.91145000E+05 .19391000E+02 .59971000E+05 .18598000E+06 .19380000E+02 -.56810000E+06 .25884000E+02 .38205000E+06 .92255000E+08 .25853000E+02 -.23912000E+09 .14687000E+09 .16022000E-01 -.17169000E+02 .17139000E+02 .13402000E-01 .64087000E-01 .17139000E+02 -.34396000E+02 .17139000E+02 .53610000E-01 .25635000E+00 .17139000E+02 -.34750000E+02 .17139000E+02 .21444000E+00 .10254000E+01 .17139000E+02 -.36162000E+02 .17139000E+02 .85776000E+00 .41015000E+01 .17139000E+02 -.41812000E+02 .17139000E+02 .34310000E+01 .16406000E+02 .17139000E+02 -.64412000E+02 .17139000E+02 .13724000E+02 .65625000E+02 .17139000E+02 -.15481000E+03 .17139000E+02 .54897000E+02 .26250000E+03 .17139000E+02 -.51641000E+03 .17139000E+02 .21959000E+03 .10500000E+04 .17139000E+02 -.19628000E+04 .17139000E+02 .87835000E+03 .41842000E+04 .17139000E+02 -.77191000E+04 .16943000E+02 .35000000E+04 .16611000E+05 .16943000E+02 -.29996000E+05 .16965000E+02 .13348000E+05 .59971000E+05 .16965000E+02 -.10824000E+06 .18620000E+02 .48224000E+05 .38204000E+06 .18610000E+02 -.70770000E+06 .24850000E+02 .32559000E+06 .14686000E+09 .24820000E+02 -.27202000E+09 .12516000E+09 .13402000E-01 -.23312000E+02 .23288000E+02 .10209000E-01 .53610000E-01 .23288000E+02 -.46670000E+02 .23288000E+02 .40838000E-01 .21444000E+00 .23288000E+02 -.46954000E+02 .23288000E+02 .16335000E+00 .85776000E+00 .23288000E+02 -.48087000E+02 .23288000E+02 .65341000E+00 .34310000E+01 .23288000E+02 -.52622000E+02 .23288000E+02 .26136000E+01 .13724000E+02 .23288000E+02 -.70759000E+02 .23288000E+02 .10454000E+02 .54896000E+02 .23288000E+02 -.14331000E+03 .23288000E+02 .41818000E+02 .21959000E+03 .23288000E+02 -.43350000E+03 .23288000E+02 .16727000E+03 .87834000E+03 .23288000E+02 -.15943000E+04 .23289000E+02 .66909000E+03 .35000000E+04 .23289000E+02 -.62015000E+04 .22727000E+02 .26543000E+04 .13348000E+05 .22727000E+02 -.23849000E+05 .22786000E+02 .10451000E+05 .48224000E+05 .22786000E+02 -.82693000E+05 .26002000E+02 .34403000E+05 .32558000E+06 .25988000E+02 -.58040000E+06 .34688000E+02 .25473000E+06 .12516000E+09 .34646000E+02 -.22308000E+09 .97921000E+08 .10209000E-01 -.26199000E+02 .26172000E+02 .17566000E-01 .40838000E-01 .26172000E+02 -.52454000E+02 .26171000E+02 .70262000E-01 .16335000E+00 .26171000E+02 -.52787000E+02 .26171000E+02 .28105000E+00 .65340000E+00 .26171000E+02 -.54121000E+02 .26172000E+02 .11242000E+01 .26136000E+01 .26172000E+02 -.59455000E+02 .26171000E+02 .44968000E+01 .10454000E+02 .26171000E+02 -.80790000E+02 .26172000E+02 .17987000E+02 .41818000E+02 .26172000E+02 -.16613000E+03 .26171000E+02 .71949000E+02 .16727000E+03 .26171000E+02 -.50749000E+03 .26172000E+02 .28779000E+03 .66908000E+03 .26172000E+02 -.18729000E+04 .26173000E+02 .11512000E+04 .26543000E+04 .26173000E+02 -.72783000E+04 .25355000E+02 .45712000E+04 .10451000E+05 .25355000E+02 -.28384000E+05 .25518000E+02 .17877000E+05 .34402000E+05 .25518000E+02 -.91977000E+05 .31083000E+02 .57497000E+05 .25472000E+06 .31065000E+02 -.72041000E+06 .41421000E+02 .46560000E+06 .97916000E+08 .41371000E+02 -.18360000E+09 .85686000E+08 .17566000E-01 -.20525000E+03 .20514000E+03 .10188000E+00 .70262000E-01 .20514000E+03 -.41075000E+03 .20513000E+03 .40752000E+00 .28105000E+00 .20513000E+03 -.41218000E+03 .20513000E+03 .16301000E+01 .11242000E+01 .20513000E+03 -.41791000E+03 .20513000E+03 .65203000E+01 .44968000E+01 .20513000E+03 -.44085000E+03 .20513000E+03 .26081000E+02 .17987000E+02 .20513000E+03 -.53259000E+03 .20514000E+03 .10433000E+03 .71948000E+02 .20514000E+03 -.89955000E+03 .20513000E+03 .41730000E+03 .28779000E+03 .20513000E+03 -.23674000E+04 .20514000E+03 .16692000E+04 .11512000E+04 .20514000E+03 -.82388000E+04 .20519000E+03 .66768000E+04 .45711000E+04 .20519000E+03 -.31292000E+05 .19413000E+03 .26319000E+05 .17877000E+05 .19413000E+03 -.11990000E+06 .20783000E+03 .10161000E+06 .57497000E+05 .20783000E+03 -.62841000E+06 .27437000E+03 .57044000E+06 .46557000E+06 .27421000E+03 -.34580000E+07 .35999000E+03 .29918000E+07 .85682000E+08 .35955000E+03 -.16566000E+09 .79979000E+08 .10188000E+00 -.64083000E+01 .62616000E+01 .44813000E-01 .40752000E+00 .62616000E+01 -.13110000E+02 .62616000E+01 .17925000E+00 .16301000E+01 .62616000E+01 -.14870000E+02 .62616000E+01 .71701000E+00 .65203000E+01 .62616000E+01 -.21912000E+02 .62616000E+01 .28681000E+01 .26081000E+02 .62616000E+01 -.50077000E+02 .62616000E+01 .11472000E+02 .10432000E+03 .62616000E+01 -.16274000E+03 .62617000E+01 .45889000E+02 .41730000E+03 .62617000E+01 -.61339000E+03 .62616000E+01 .18356000E+03 .16692000E+04 .62616000E+01 -.24160000E+04 .62617000E+01 .73422000E+03 .66768000E+04 .62617000E+01 -.96263000E+04 .62676000E+01 .29369000E+04 .26319000E+05 .62676000E+01 -.38082000E+05 .57582000E+01 .11750000E+05 .10161000E+06 .57582000E+01 -.14865000E+06 .98239000E+01 .47020000E+05 .57041000E+06 .98231000E+01 -.82070000E+06 .13079000E+02 .25026000E+06 .29917000E+07 .13071000E+02 -.39935000E+07 .13096000E+02 .10017000E+07 .79974000E+08 .13080000E+02 -.13032000E+09 .50342000E+08 .44811000E-01 -.15302000E+03 .15298000E+03 .17261000E-02 .17924000E+00 .15298000E+03 -.30614000E+03 .15298000E+03 .69044000E-02 .71697000E+00 .15298000E+03 -.30670000E+03 .15298000E+03 .27618000E-01 .28679000E+01 .15298000E+03 -.30893000E+03 .15298000E+03 .11047000E+00 .11472000E+02 .15298000E+03 -.31787000E+03 .15298000E+03 .44188000E+00 .45886000E+02 .15298000E+03 -.35362000E+03 .15298000E+03 .17675000E+01 .18354000E+03 .15298000E+03 -.49660000E+03 .15298000E+03 .70701000E+01 .73418000E+03 .15298000E+03 -.10685000E+04 .15298000E+03 .28280000E+02 .29367000E+04 .15298000E+03 -.33563000E+04 .15298000E+03 .11312000E+03 .11749000E+05 .15298000E+03 -.12510000E+05 .15298000E+03 .45249000E+03 .47017000E+05 .15298000E+03 -.49142000E+05 .15300000E+03 .18100000E+04 .25023000E+06 .15298000E+03 -.25783000E+06 .15310000E+03 .72408000E+04 .10016000E+07 .15301000E+03 -.10311000E+07 .15331000E+03 .28983000E+05 .50337000E+08 .15312000E+03 -.87166000E+08 .36828000E+08 .17259000E-02 -.27385000E+02 .27382000E+02 .12300000E-02 .69035000E-02 .27382000E+02 -.54775000E+02 .27382000E+02 .49201000E-02 .27614000E-01 .27382000E+02 -.54811000E+02 .27382000E+02 .19680000E-01 .11046000E+00 .27382000E+02 -.54953000E+02 .27382000E+02 .78722000E-01 .44183000E+00 .27382000E+02 -.55521000E+02 .27382000E+02 .31489000E+00 .17673000E+01 .27382000E+02 -.57794000E+02 .27382000E+02 .12595000E+01 .70692000E+01 .27382000E+02 -.66887000E+02 .27381000E+02 .50382000E+01 .28277000E+02 .27381000E+02 -.10326000E+03 .27382000E+02 .20153000E+02 .11311000E+03 .27382000E+02 -.24875000E+03 .27382000E+02 .80611000E+02 .45243000E+03 .27381000E+02 -.83072000E+03 .27382000E+02 .32245000E+03 .18098000E+04 .27382000E+02 -.31587000E+04 .27385000E+02 .12898000E+04 .72399000E+04 .27382000E+02 -.12472000E+05 .27403000E+02 .51598000E+04 .28980000E+05 .27387000E+02 -.49758000E+05 .27440000E+02 .20654000E+05 .36824000E+08 .27407000E+02 -.87893000E+08 .51069000E+08 .12299000E-02 -.11818000E+02 .11816000E+02 .71977000E-03 .49197000E-02 .11816000E+02 -.23639000E+02 .11816000E+02 .28791000E-02 .19679000E-01 .11816000E+02 -.23662000E+02 .11816000E+02 .11516000E-01 .78714000E-01 .11816000E+02 -.23756000E+02 .11816000E+02 .46065000E-01 .31486000E+00 .11816000E+02 -.24131000E+02 .11816000E+02 .18426000E+00 .12594000E+01 .11816000E+02 -.25630000E+02 .11816000E+02 .73704000E+00 .50377000E+01 .11816000E+02 -.31624000E+02 .11816000E+02 .29482000E+01 .20151000E+02 .11816000E+02 -.55603000E+02 .11816000E+02 .11793000E+02 .80604000E+02 .11816000E+02 -.15152000E+03 .11816000E+02 .47171000E+02 .32242000E+03 .11816000E+02 -.53519000E+03 .11816000E+02 .18868000E+03 .12897000E+04 .11816000E+02 -.20699000E+04 .11817000E+02 .75475000E+03 .51594000E+04 .11816000E+02 -.82096000E+04 .11825000E+02 .30193000E+04 .20652000E+05 .11818000E+02 -.32791000E+05 .11841000E+02 .12086000E+05 .51064000E+08 .11827000E+02 -.80948000E+08 .29884000E+08 .71965000E-03 -.55197000E+02 .55196000E+02 .28786000E-02 .55196000E+02 -.11039000E+03 .55196000E+02 .11514000E-01 .55196000E+02 -.11040000E+03 .55196000E+02 .46058000E-01 .55196000E+02 -.11044000E+03 .55196000E+02 .18423000E+00 .55196000E+02 -.11058000E+03 .55196000E+02 .73693000E+00 .55196000E+02 -.11114000E+03 .55196000E+02 .29477000E+01 .55196000E+02 -.11337000E+03 .55195000E+02 .11791000E+02 .55195000E+02 -.12232000E+03 .55196000E+02 .47163000E+02 .55196000E+02 -.15809000E+03 .55196000E+02 .18865000E+03 .55195000E+02 -.30120000E+03 .55197000E+02 .75463000E+03 .55196000E+02 -.87365000E+03 .55203000E+02 .30189000E+04 .55197000E+02 -.31638000E+04 .55240000E+02 .12084000E+05 .55206000E+02 -.12333000E+05 .55315000E+02 .29879000E+08 .55248000E+02 -.29912000E+08 sparskit-2.0.0/ITSOL/riters_sav0000644000265600020320000001022706752640475015514 0ustar tilleaadmin program riters c----------------------------------------------------------------------- c test program for iters -- the basic iterative solvers c c this program generates a sparse matrix using c GEN57PT and then solves a linear system with an c artificial rhs (the solution is a vector of (1,1,...,1)^T). c----------------------------------------------------------------------- c implicit none c implicit real*8 (a-h,o-z) integer nmax, nzmax, maxits,lwk parameter (nmax=5000,nzmax=100000,maxits=60,lwk=nmax*40) integer ia(nmax),ja(nzmax),jau(nzmax),ju(nzmax),iw(nmax*3) integer ipar(16),nx,ny,nz,i,lfil,nwk,nrow,ierr real*8 a(nzmax),sol(nmax),rhs(nmax),au(nzmax),wk(nmax*40) real*8 xran(nmax), fpar(16), al(nmax) real*8 gammax,gammay,alpha,tol external gen57pt,cg,bcg,dbcg,bcgstab,tfqmr,gmres,fgmres,dqgmres external cgnr, fom, runrc, ilut c common /func/ gammax, gammay, alpha c----------------------------------------------------------------------- c pde to be discretized is : c--------------------------- c c -Lap u + gammax exp (xy)delx u + gammay exp (-xy) dely u +alpha u c c where Lap = 2-D laplacean, delx = part. der. wrt x, c dely = part. der. wrt y. c gammax, gammay, and alpha are passed via the commun func. c c----------------------------------------------------------------------- c c data for PDE: c nx = 50 ny = 50 nz = 1 alpha = -50.0 gammax = 10.0 gammay = 10.0 c c set the parameters for the iterative solvers c ipar(2) = 2 ipar(3) = 1 ipar(4) = lwk ipar(5) = 16 ipar(6) = maxits fpar(1) = 1.0D-5 fpar(2) = 1.0D-10 c-------------------------------------------------------------- c call GEN57PT to generate matrix in compressed sparse row format c c al(1:6) are used to store part of the boundary conditions c (see documentation on GEN57PT.) c-------------------------------------------------------------- al(1) = 0.0 al(2) = 0.0 al(3) = 0.0 al(4) = 0.0 al(5) = 0.0 al(6) = 0.0 nrow = nx * ny * nz call gen57pt(nx,ny,nz,al,0,nrow,a,ja,ia,ju,rhs) print *, 'RITERS: generated a finite difference matrix' print *, ' grid size = ', nx, ' X ', ny, ' X ', nz print *, ' matrix size = ', nrow c c set-up the preconditioner ILUT(15, 1E-4) ! new definition of lfil c lfil = 15 tol = 1.0D-4 nwk = nzmax call ilut (nrow,a,ja,ia,lfil,tol,au,jau,ju,nwk, * wk,iw,ierr) ipar(2) = 2 c c generate a linear system with known solution c do i = 1, nrow sol(i) = 1.0D0 xran(i) = 0.d0 end do call amux(nrow, sol, rhs, a, ja, ia) print *, ' ' print *, ' *** CG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + cg) print *, ' ' print *, ' *** BCG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + bcg) print *, ' ' print *, ' *** DBCG ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + dbcg) print *, ' ' print *, ' *** CGNR ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + cgnr) print *, ' ' print *, ' *** BCGSTAB ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + bcgstab) print *, ' ' print *, ' *** TFQMR ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + tfqmr) print *, ' ' print *, ' *** FOM ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + fom) print *, ' ' print *, ' *** GMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + gmres) print *, ' ' print *, ' *** FGMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + fgmres) print *, ' ' print *, ' *** DQGMRES ***' call runrc(nrow,rhs,sol,ipar,fpar,wk,xran,a,ja,ia,au,jau,ju, + dqgmres) stop end c-----end-of-main c----------------------------------------------------------------------- sparskit-2.0.0/ITSOL/rilut.f0000644000265600020320000002244106564652350014713 0ustar tilleaadmin program rilut c----------------------------------------------------------------------- c test program for ilut preconditioned gmres. c this program generates a sparse matrix using c matgen and then solves a linear system with an c artificial rhs. c----------------------------------------------------------------------- implicit none c integer nmax, nzmax parameter (nmax=5000,nzmax=100000) integer ia(nmax),ja(nzmax),jau(nzmax),ju(nzmax),iw(nmax*3), & iperm(nmax*2),ipar(16), levs(nzmax) real*8 a(nzmax),x(nmax),y(nmax),au(nzmax),vv(nmax,20), * xran(nmax),rhs(nmax),al(nmax),fpar(16) c real t(2), t1, etime c integer nx,ny,nz,n,j,k,ierr,meth,lfil,nwk,im,maxits,iout real*8 tol,permtol,eps,alph,gammax,gammay,alpha external gmres c common /func/ gammax, gammay, alpha c----------------------------------------------------------------------- c pde to be discretized is : c--------------------------- c c -Lap u + gammax exp (xy)delx u + gammay exp (-xy) dely u +alpha u c c where Lap = 2-D laplacean, delx = part. der. wrt x, c dely = part. der. wrt y. c gammax, gammay, and alpha are passed via the commun func. c c----------------------------------------------------------------------- c c data for PDE: c nx = 30 ny = 30 nz = 1 alpha = -50.0 gammax = 10.0 gammay = 10.0 c c data for preconditioner c nwk = nzmax c c data for GMRES c im = 10 eps = 1.0D-07 maxits = 100 iout = 6 permtol = 1.0 ipar(2) = 2 ipar(3) = 2 ipar(4) = 20*nmax ipar(5) = im ipar(6) = maxits fpar(1) = eps fpar(2) = 2.22D-16 c c same initial guess for gmres c c-------------------------------------------------------------- c call gen57 to generate matrix in compressed sparse row format c-------------------------------------------------------------- c c define part of the boundary condition here c al(1) = 0.0 al(2) = 1.0 al(3) = 0.0 al(4) = 0.0 al(5) = 0.0 al(6) = 0.0 call gen57pt(nx,ny,nz,al,0,n,a,ja,ia,ju,rhs) c c zero initial guess to the iterative solvers c do j=1, n xran(j) = 0.d0 enddo print *, 'RILUT: generated a finite difference matrix' print *, ' grid size = ', nx, ' X ', ny, ' X ', nz print *, ' matrix size = ', n c-------------------------------------------------------------- c gnerate right han side = A * (1,1,1,...,1)**T c-------------------------------------------------------------- do k=1,n x(k) = 1.0 enddo call amux(n, x, y, a, ja, ia) c-------------------------------------------------------------- c test all different methods available: c ILU0, MILU0, ILUT and with different values of tol and lfil c ( from cheaper to more expensive preconditioners) c The more accurate the preconditioner the fewer iterations c are required in pgmres, in general. c c-------------------------------------------------------------- do 200 meth = 1, 15 goto (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) meth 1 continue write (iout,*) ' +++++ ILU(0) Preconditioner ++++ ' c t1 = etime(t) call ilu0 (n, a, ja, ia, au, jau, ju, iw, ierr) c t1 = etime(t) - t1 goto 100 2 continue write (iout,*) ' +++++ MILU(0) Preconditioner ++++ ' c t1 = etime(t) call milu0 (n, a, ja, ia, au, jau, ju, iw, ierr) c t1 = etime(t) - t1 goto 100 3 continue write (iout,*) ' +++++ ILUT Preconditioner ++++ ' write (iout,*) ' +++++ tol = 0.0001, lfil=5 ++++ ' tol = 0.0001 lfil = 5 c c t1 = etime(t) call ilut (n,a,ja,ia,lfil,tol,au,jau,ju,nwk,vv,iw,ierr) c t1 = etime(t) - t1 goto 100 4 continue write (iout,*) ' +++++ ILUT Preconditioner ++++ ' write (iout,*) ' +++++ tol = 0.0001, lfil=10 ++++ ' tol = 0.0001 lfil = 10 c c t1 = etime(t) call ilut (n,a,ja,ia,lfil,tol,au,jau,ju,nwk,vv,iw,ierr) c t1 = etime(t) - t1 goto 100 5 continue write (iout,*) ' +++++ ILUT Preconditioner ++++ ' write (iout,*) ' +++++ tol = .0001, lfil=15 ++++ ' tol = 0.0001 lfil = 15 c c t1 = etime(t) call ilut (n,a,ja,ia,lfil,tol,au,jau,ju,nwk,vv,iw,ierr) c t1 = etime(t) - t1 goto 100 6 continue write (iout,*) ' +++++ ILUTP Preconditioner ++++ ' write (iout,*) ' +++++ tol = 0.0001, lfil=5 ++++ ' tol = 0.0001 lfil = 5 c c t1 = etime(t) call ilutp(n,a,ja,ia,lfil,tol,permtol,n,au,jau,ju,nwk, * vv,iw,iperm,ierr) c t1 = etime(t) - t1 goto 100 7 continue write (iout,*) ' +++++ ILUTP Preconditioner ++++ ' write (iout,*) ' +++++ tol = 0.0001, lfil=10 ++++ ' tol = 0.0001 lfil = 10 c c t1 = etime(t) call ilutp(n,a,ja,ia,lfil,tol,permtol,n,au,jau,ju,nwk, * vv,iw,iperm,ierr) c t1 = etime(t) - t1 goto 100 c----------------------------------------------------------------------------- 8 continue write (iout,*) ' +++++ ILUTP Preconditioner ++++ ' write (iout,*) ' +++++ tol = .0001, lfil=15 ++++ ' tol = 0.0001 lfil = 15 c c t1 = etime(t) call ilutp(n,a,ja,ia,lfil,tol,permtol,n,au,jau,ju,nwk, * vv,iw,iperm,ierr) c t1 = etime(t) - t1 goto 100 9 continue write (iout,*) ' +++++ ILUK Preconditioner ++++ ' write (iout,*) ' +++++ lfil=0 ++++ ' lfil = 0 c t1 = etime(t) call iluk(n,a,ja,ia,lfil,au,jau,ju,levs,nwk,vv,iw,ierr) print *, ' nnz for a =', ia(n+1) - ia(1) print *, ' nnz for ilu =', jau(n+1) -jau(1) + n c t1 = etime(t) - t1 goto 100 c 10 continue write (iout,*) ' +++++ ILUK Preconditioner ++++ ' write (iout,*) ' +++++ lfil=1 ++++ ' lfil = 1 c t1 = etime(t) call iluk(n,a,ja,ia,lfil,au,jau,ju,levs,nwk,vv,iw,ierr) print *, ' nnz for a =', ia(n+1) - ia(1) print *, ' nnz for ilu =', jau(n+1) -jau(1) + n c t1 = etime(t) - t1 goto 100 c 11 continue write (iout,*) ' +++++ ILUK Preconditioner ++++ ' write (iout,*) ' +++++ lfil=3 ++++ ' lfil = 3 c t1 = etime(t) call iluk(n,a,ja,ia,lfil,au,jau,ju,levs,nwk,vv,iw,ierr) print *, ' nnz for a =', ia(n+1) - ia(1) print *, ' nnz for ilu =', jau(n+1) -jau(1) + n c t1 = etime(t) - t1 goto 100 c 12 continue write (iout,*) ' +++++ ILUK Preconditioner ++++ ' write (iout,*) ' +++++ lfil=6 ++++ ' lfil = 6 c t1 = etime(t) call iluk(n,a,ja,ia,lfil,au,jau,ju,levs,nwk,vv,iw,ierr) print *, ' nnz for a =', ia(n+1) - ia(1) print *, ' nnz for ilu =', jau(n+1) -jau(1) + n c t1 = etime(t) - t1 goto 100 c 13 continue c----------------------------------------------------------------------- write (iout,*) ' +++++ ILUD Preconditioner ++++ ' write (iout,*) ' +++++ tol=0.075, alpha=0.0 ++++ ' tol = 0.075 alph= 0.0 c t1 = etime(t) call ilud(n,a,ja,ia,alph,tol,au,jau,ju,nwk,vv,iw,ierr) c print *, ' nnz for a =', ia(n+1) - ia(1) print *, ' nnz for ilu =', jau(n+1) -jau(1) + n c t1 = etime(t) - t1 goto 100 c 14 continue write (iout,*) ' +++++ ILUD Preconditioner ++++ ' write (iout,*) ' +++++ tol=0.075, alpha=1.0 ++++ ' tol = 0.075 alph=1.0 c t1 = etime(t) call ilud(n,a,ja,ia,alph,tol,au,jau,ju,nwk,vv,iw,ierr) print *, ' nnz for a =', ia(n+1) - ia(1) print *, ' nnz for ilu =', jau(n+1) -jau(1) + n c t1 = etime(t) - t1 goto 100 15 continue write (iout,*) ' +++++ ILUD Preconditioner ++++ ' write (iout,*) ' +++++ tol=0.01, alpha=1.0 ++++ ' tol = 0.01 c t1 = etime(t) call ilud(n,a,ja,ia,alph,tol,au,jau,ju,nwk,vv,iw,ierr) print *, ' nnz for a =', ia(n+1) - ia(1) print *, ' nnz for ilu =', jau(n+1) -jau(1) + n c t1 = etime(t) - t1 c goto 100 c 100 continue c c check that return was succesful c c print *, ' ILU factorization time ', t1 print *, ' Precon set-up returned with ierr ', ierr if (ierr .ne. 0) goto 200 c-------------------------------------------------------------- c call GMRES c-------------------------------------------------------------- call runrc(n,y,x,ipar,fpar,vv,xran,a,ja,ia,au,jau,ju, + gmres) print *, 'GMRES return status = ', ipar(1) write (iout,*) ' ' 200 continue c c---------------------------------------------------------- c write (iout,*) ' **** SOLUTION **** ' write(iout, 111) (x(k),k=1,n) 111 format (5d15.5) stop end sparskit-2.0.0/ITSOL/README0000644000265600020320000000426006203735251014254 0ustar tilleaadmin ----------------- Current contents: ----------------- Solvers ------- iters.f : This file currently has several basic iterative linear system solvers. They are: CG -- Conjugate Gradient Method CGNR -- Conjugate Gradient Method on Normal Residual equation BCG -- Bi-Conjugate Gradient Method BCGSTAB -- BCG stablized TFQMR -- Transpose-Free Quasi-Minimum Residual method GMRES -- Generalized Minimum RESidual method FGMRES -- Flexible version of Generalized Minimum RESidual method DQGMRES -- Direct verions of Quasi Generalized Minimum Residual method DBCG -- BCG with partial pivoting Preconditioners --------------- ilut.f : ILUT + GMRES: a combination of a robust preconditioner using dual thresholding for dropping strategy and the GMRES algorithm. ILU0 and MILU0 are also provided for comparison purposes. large number of updates on Feb 10, 1992 Y.S. ILUTP, or ILUT with partial pivoting is also provided. Drivers ------- rilut.f : test program for GMRES/ILU*. It tests three preconditioners ilu0, milu0 and ilut using GMRES as the solver. riters.f : test program for ITERS -- the basic iterative solvers with reverse communication. The test matrix is generated with GEN57PT. riter2.f : test program for ITERS. It reads a Harwell/Boeing matrix from the standard input. Other ----- itaux.f : The file contains some of the auxiliary functions that is required to run the test prgram rilut.f and riters.f It includes the routine that drive the reverse-communincation routines and the definitions of the partial differential equations used to generate the matrix in rilut.f and riters.f. executables ----------- rilut.ex : generated by "make rilut.ex" from the driver rilut.f riters.ex : generated by "make riters.ex" from the driver riters.f riter2.ex : generated by "make riter2.ex" from the driver riter2.f see makefile for the details of the dependencies. sparskit-2.0.0/ITSOL/ilut.f0000644000265600020320000023242207710007171014520 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c ITERATIVE SOLVERS MODULE c c----------------------------------------------------------------------c c This Version Dated: August 13, 1996. Warning: meaning of some c c ============ arguments have changed w.r.t. earlier versions. Some c c Calling sequences may also have changed c c----------------------------------------------------------------------c c Contents: c c-------------------------preconditioners------------------------------c c c c ILUT : Incomplete LU factorization with dual truncation strategy c c ILUTP : ILUT with column pivoting c c ILUD : ILU with single dropping + diagonal compensation (~MILUT) c c ILUDP : ILUD with column pivoting c c ILUK : level-k ILU c c ILU0 : simple ILU(0) preconditioning c c MILU0 : MILU(0) preconditioning c c c c----------sample-accelerator-and-LU-solvers---------------------------c c c c PGMRES : preconditioned GMRES solver c c LUSOL : forward followed by backward triangular solve (Precond.) c c LUTSOL : solving v = (LU)^{-T} u (used for preconditioning) c c c c-------------------------utility-routine------------------------------c c c c QSPLIT : quick split routine used by ilut to sort out the k largest c c elements in absolute value c c c c----------------------------------------------------------------------c c c c Note: all preconditioners are preprocessors to pgmres. c c usage: call preconditioner then call pgmres c c c c----------------------------------------------------------------------c subroutine ilut(n,a,ja,ia,lfil,droptol,alu,jlu,ju,iwk,w,jw,ierr) c----------------------------------------------------------------------- implicit none integer n real*8 a(*),alu(*),w(n+1),droptol integer ja(*),ia(n+1),jlu(*),ju(n),jw(2*n),lfil,iwk,ierr c----------------------------------------------------------------------* c *** ILUT preconditioner *** * c incomplete LU factorization with dual truncation mechanism * c----------------------------------------------------------------------* c Author: Yousef Saad *May, 5, 1990, Latest revision, August 1996 * c----------------------------------------------------------------------* c PARAMETERS c----------- c c on entry: c========== c n = integer. The row dimension of the matrix A. The matrix c c a,ja,ia = matrix stored in Compressed Sparse Row format. c c lfil = integer. The fill-in parameter. Each row of L and each row c of U will have a maximum of lfil elements (excluding the c diagonal element). lfil must be .ge. 0. c ** WARNING: THE MEANING OF LFIL HAS CHANGED WITH RESPECT TO c EARLIER VERSIONS. c c droptol = real*8. Sets the threshold for dropping small terms in the c factorization. See below for details on dropping strategy. c c c iwk = integer. The lengths of arrays alu and jlu. If the arrays c are not big enough to store the ILU factorizations, ilut c will stop with an error message. c c On return: c=========== c c alu,jlu = matrix stored in Modified Sparse Row (MSR) format containing c the L and U factors together. The diagonal (stored in c alu(1:n) ) is inverted. Each i-th row of the alu,jlu matrix c contains the i-th row of L (excluding the diagonal entry=1) c followed by the i-th row of U. c c ju = integer array of length n containing the pointers to c the beginning of each row of U in the matrix alu,jlu. c c ierr = integer. Error message with the following meaning. c ierr = 0 --> successful return. c ierr .gt. 0 --> zero pivot encountered at step number ierr. c ierr = -1 --> Error. input matrix may be wrong. c (The elimination process has generated a c row in L or U whose length is .gt. n.) c ierr = -2 --> The matrix L overflows the array al. c ierr = -3 --> The matrix U overflows the array alu. c ierr = -4 --> Illegal value for lfil. c ierr = -5 --> zero row encountered. c c work arrays: c============= c jw = integer work array of length 2*n. c w = real work array of length n+1. c c---------------------------------------------------------------------- c w, ju (1:n) store the working array [1:ii-1 = L-part, ii:n = u] c jw(n+1:2n) stores nonzero indicators c c Notes: c ------ c The diagonal elements of the input matrix must be nonzero (at least c 'structurally'). c c----------------------------------------------------------------------* c---- Dual drop strategy works as follows. * c * c 1) Theresholding in L and U as set by droptol. Any element whose * c magnitude is less than some tolerance (relative to the abs * c value of diagonal element in u) is dropped. * c * c 2) Keeping only the largest lfil elements in the i-th row of L * c and the largest lfil elements in the i-th row of U (excluding * c diagonal elements). * c * c Flexibility: one can use droptol=0 to get a strategy based on * c keeping the largest elements in each row of L and U. Taking * c droptol .ne. 0 but lfil=n will give the usual threshold strategy * c (however, fill-in is then mpredictible). * c----------------------------------------------------------------------* c locals integer ju0,k,j1,j2,j,ii,i,lenl,lenu,jj,jrow,jpos,len real*8 tnorm, t, abs, s, fact if (lfil .lt. 0) goto 998 c----------------------------------------------------------------------- c initialize ju0 (points to next element to be added to alu,jlu) c and pointer array. c----------------------------------------------------------------------- ju0 = n+2 jlu(1) = ju0 c c initialize nonzero indicator array. c do 1 j=1,n jw(n+j) = 0 1 continue c----------------------------------------------------------------------- c beginning of main loop. c----------------------------------------------------------------------- do 500 ii = 1, n j1 = ia(ii) j2 = ia(ii+1) - 1 tnorm = 0.0d0 do 501 k=j1,j2 tnorm = tnorm+abs(a(k)) 501 continue if (tnorm .eq. 0.0) goto 999 tnorm = tnorm/real(j2-j1+1) c c unpack L-part and U-part of row of A in arrays w c lenu = 1 lenl = 0 jw(ii) = ii w(ii) = 0.0 jw(n+ii) = ii c do 170 j = j1, j2 k = ja(j) t = a(j) if (k .lt. ii) then lenl = lenl+1 jw(lenl) = k w(lenl) = t jw(n+k) = lenl else if (k .eq. ii) then w(ii) = t else lenu = lenu+1 jpos = ii+lenu-1 jw(jpos) = k w(jpos) = t jw(n+k) = jpos endif 170 continue jj = 0 len = 0 c c eliminate previous rows c 150 jj = jj+1 if (jj .gt. lenl) goto 160 c----------------------------------------------------------------------- c in order to do the elimination in the correct order we must select c the smallest column index among jw(k), k=jj+1, ..., lenl. c----------------------------------------------------------------------- jrow = jw(jj) k = jj c c determine smallest column index c do 151 j=jj+1,lenl if (jw(j) .lt. jrow) then jrow = jw(j) k = j endif 151 continue c if (k .ne. jj) then c exchange in jw j = jw(jj) jw(jj) = jw(k) jw(k) = j c exchange in jr jw(n+jrow) = jj jw(n+j) = k c exchange in w s = w(jj) w(jj) = w(k) w(k) = s endif c c zero out element in row by setting jw(n+jrow) to zero. c jw(n+jrow) = 0 c c get the multiplier for row to be eliminated (jrow). c fact = w(jj)*alu(jrow) if (abs(fact) .le. droptol) goto 150 c c combine current row and row jrow c do 203 k = ju(jrow), jlu(jrow+1)-1 s = fact*alu(k) j = jlu(k) jpos = jw(n+j) if (j .ge. ii) then c c dealing with upper part. c if (jpos .eq. 0) then c c this is a fill-in element c lenu = lenu+1 if (lenu .gt. n) goto 995 i = ii+lenu-1 jw(i) = j jw(n+j) = i w(i) = - s else c c this is not a fill-in element c w(jpos) = w(jpos) - s endif else c c dealing with lower part. c if (jpos .eq. 0) then c c this is a fill-in element c lenl = lenl+1 if (lenl .gt. n) goto 995 jw(lenl) = j jw(n+j) = lenl w(lenl) = - s else c c this is not a fill-in element c w(jpos) = w(jpos) - s endif endif 203 continue c c store this pivot element -- (from left to right -- no danger of c overlap with the working elements in L (pivots). c len = len+1 w(len) = fact jw(len) = jrow goto 150 160 continue c c reset double-pointer to zero (U-part) c do 308 k=1, lenu jw(n+jw(ii+k-1)) = 0 308 continue c c update L-matrix c lenl = len len = min0(lenl,lfil) c c sort by quick-split c call qsplit (w,jw,lenl,len) c c store L-part c do 204 k=1, len if (ju0 .gt. iwk) goto 996 alu(ju0) = w(k) jlu(ju0) = jw(k) ju0 = ju0+1 204 continue c c save pointer to beginning of row ii of U c ju(ii) = ju0 c c update U-matrix -- first apply dropping strategy c len = 0 do k=1, lenu-1 if (abs(w(ii+k)) .gt. droptol*tnorm) then len = len+1 w(ii+len) = w(ii+k) jw(ii+len) = jw(ii+k) endif enddo lenu = len+1 len = min0(lenu,lfil) c call qsplit (w(ii+1), jw(ii+1), lenu-1,len) c c copy c t = abs(w(ii)) if (len + ju0 .gt. iwk) goto 997 do 302 k=ii+1,ii+len-1 jlu(ju0) = jw(k) alu(ju0) = w(k) t = t + abs(w(k) ) ju0 = ju0+1 302 continue c c store inverse of diagonal element of u c if (w(ii) .eq. 0.0) w(ii) = (0.0001 + droptol)*tnorm c alu(ii) = 1.0d0/ w(ii) c c update pointer to beginning of next row of U. c jlu(ii+1) = ju0 c----------------------------------------------------------------------- c end main loop c----------------------------------------------------------------------- 500 continue ierr = 0 return c c incomprehensible error. Matrix must be wrong. c 995 ierr = -1 return c c insufficient storage in L. c 996 ierr = -2 return c c insufficient storage in U. c 997 ierr = -3 return c c illegal lfil entered. c 998 ierr = -4 return c c zero row encountered c 999 ierr = -5 return c----------------end-of-ilut-------------------------------------------- c----------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine ilutp(n,a,ja,ia,lfil,droptol,permtol,mbloc,alu, * jlu,ju,iwk,w,jw,iperm,ierr) c----------------------------------------------------------------------- c implicit none integer n,ja(*),ia(n+1),lfil,jlu(*),ju(n),jw(2*n),iwk, * iperm(2*n),ierr real*8 a(*), alu(*), w(n+1), droptol c----------------------------------------------------------------------* c *** ILUTP preconditioner -- ILUT with pivoting *** * c incomplete LU factorization with dual truncation mechanism * c----------------------------------------------------------------------* c author Yousef Saad *Sep 8, 1993 -- Latest revision, August 1996. * c----------------------------------------------------------------------* c on entry: c========== c n = integer. The dimension of the matrix A. c c a,ja,ia = matrix stored in Compressed Sparse Row format. c ON RETURN THE COLUMNS OF A ARE PERMUTED. SEE BELOW FOR c DETAILS. c c lfil = integer. The fill-in parameter. Each row of L and each row c of U will have a maximum of lfil elements (excluding the c diagonal element). lfil must be .ge. 0. c ** WARNING: THE MEANING OF LFIL HAS CHANGED WITH RESPECT TO c EARLIER VERSIONS. c c droptol = real*8. Sets the threshold for dropping small terms in the c factorization. See below for details on dropping strategy. c c lfil = integer. The fill-in parameter. Each row of L and c each row of U will have a maximum of lfil elements. c WARNING: THE MEANING OF LFIL HAS CHANGED WITH RESPECT TO c EARLIER VERSIONS. c lfil must be .ge. 0. c c permtol = tolerance ratio used to determne whether or not to permute c two columns. At step i columns i and j are permuted when c c abs(a(i,j))*permtol .gt. abs(a(i,i)) c c [0 --> never permute; good values 0.1 to 0.01] c c mbloc = if desired, permuting can be done only within the diagonal c blocks of size mbloc. Useful for PDE problems with several c degrees of freedom.. If feature not wanted take mbloc=n. c c c iwk = integer. The lengths of arrays alu and jlu. If the arrays c are not big enough to store the ILU factorizations, ilut c will stop with an error message. c c On return: c=========== c c alu,jlu = matrix stored in Modified Sparse Row (MSR) format containing c the L and U factors together. The diagonal (stored in c alu(1:n) ) is inverted. Each i-th row of the alu,jlu matrix c contains the i-th row of L (excluding the diagonal entry=1) c followed by the i-th row of U. c c ju = integer array of length n containing the pointers to c the beginning of each row of U in the matrix alu,jlu. c c iperm = contains the permutation arrays. c iperm(1:n) = old numbers of unknowns c iperm(n+1:2*n) = reverse permutation = new unknowns. c c ierr = integer. Error message with the following meaning. c ierr = 0 --> successful return. c ierr .gt. 0 --> zero pivot encountered at step number ierr. c ierr = -1 --> Error. input matrix may be wrong. c (The elimination process has generated a c row in L or U whose length is .gt. n.) c ierr = -2 --> The matrix L overflows the array al. c ierr = -3 --> The matrix U overflows the array alu. c ierr = -4 --> Illegal value for lfil. c ierr = -5 --> zero row encountered. c c work arrays: c============= c jw = integer work array of length 2*n. c w = real work array of length n c c IMPORTANR NOTE: c -------------- c TO AVOID PERMUTING THE SOLUTION VECTORS ARRAYS FOR EACH LU-SOLVE, C THE MATRIX A IS PERMUTED ON RETURN. [all column indices are c changed]. SIMILARLY FOR THE U MATRIX. c To permute the matrix back to its original state use the loop: c c do k=ia(1), ia(n+1)-1 c ja(k) = iperm(ja(k)) c enddo c c----------------------------------------------------------------------- c local variables c integer k,i,j,jrow,ju0,ii,j1,j2,jpos,len,imax,lenu,lenl,jj,mbloc, * icut real*8 s, tmp, tnorm,xmax,xmax0, fact, abs, t, permtol c if (lfil .lt. 0) goto 998 c----------------------------------------------------------------------- c initialize ju0 (points to next element to be added to alu,jlu) c and pointer array. c----------------------------------------------------------------------- ju0 = n+2 jlu(1) = ju0 c c integer double pointer array. c do 1 j=1, n jw(n+j) = 0 iperm(j) = j iperm(n+j) = j 1 continue c----------------------------------------------------------------------- c beginning of main loop. c----------------------------------------------------------------------- do 500 ii = 1, n j1 = ia(ii) j2 = ia(ii+1) - 1 tnorm = 0.0d0 do 501 k=j1,j2 tnorm = tnorm+abs(a(k)) 501 continue if (tnorm .eq. 0.0) goto 999 tnorm = tnorm/(j2-j1+1) c c unpack L-part and U-part of row of A in arrays w -- c lenu = 1 lenl = 0 jw(ii) = ii w(ii) = 0.0 jw(n+ii) = ii c do 170 j = j1, j2 k = iperm(n+ja(j)) t = a(j) if (k .lt. ii) then lenl = lenl+1 jw(lenl) = k w(lenl) = t jw(n+k) = lenl else if (k .eq. ii) then w(ii) = t else lenu = lenu+1 jpos = ii+lenu-1 jw(jpos) = k w(jpos) = t jw(n+k) = jpos endif 170 continue jj = 0 len = 0 c c eliminate previous rows c 150 jj = jj+1 if (jj .gt. lenl) goto 160 c----------------------------------------------------------------------- c in order to do the elimination in the correct order we must select c the smallest column index among jw(k), k=jj+1, ..., lenl. c----------------------------------------------------------------------- jrow = jw(jj) k = jj c c determine smallest column index c do 151 j=jj+1,lenl if (jw(j) .lt. jrow) then jrow = jw(j) k = j endif 151 continue c if (k .ne. jj) then c exchange in jw j = jw(jj) jw(jj) = jw(k) jw(k) = j c exchange in jr jw(n+jrow) = jj jw(n+j) = k c exchange in w s = w(jj) w(jj) = w(k) w(k) = s endif c c zero out element in row by resetting jw(n+jrow) to zero. c jw(n+jrow) = 0 c c get the multiplier for row to be eliminated: jrow c fact = w(jj)*alu(jrow) c c drop term if small c if (abs(fact) .le. droptol) goto 150 c c combine current row and row jrow c do 203 k = ju(jrow), jlu(jrow+1)-1 s = fact*alu(k) c new column number j = iperm(n+jlu(k)) jpos = jw(n+j) if (j .ge. ii) then c c dealing with upper part. c if (jpos .eq. 0) then c c this is a fill-in element c lenu = lenu+1 i = ii+lenu-1 if (lenu .gt. n) goto 995 jw(i) = j jw(n+j) = i w(i) = - s else c no fill-in element -- w(jpos) = w(jpos) - s endif else c c dealing with lower part. c if (jpos .eq. 0) then c c this is a fill-in element c lenl = lenl+1 if (lenl .gt. n) goto 995 jw(lenl) = j jw(n+j) = lenl w(lenl) = - s else c c this is not a fill-in element c w(jpos) = w(jpos) - s endif endif 203 continue c c store this pivot element -- (from left to right -- no danger of c overlap with the working elements in L (pivots). c len = len+1 w(len) = fact jw(len) = jrow goto 150 160 continue c c reset double-pointer to zero (U-part) c do 308 k=1, lenu jw(n+jw(ii+k-1)) = 0 308 continue c c update L-matrix c lenl = len len = min0(lenl,lfil) c c sort by quick-split c call qsplit (w,jw,lenl,len) c c store L-part -- in original coordinates .. c do 204 k=1, len if (ju0 .gt. iwk) goto 996 alu(ju0) = w(k) jlu(ju0) = iperm(jw(k)) ju0 = ju0+1 204 continue c c save pointer to beginning of row ii of U c ju(ii) = ju0 c c update U-matrix -- first apply dropping strategy c len = 0 do k=1, lenu-1 if (abs(w(ii+k)) .gt. droptol*tnorm) then len = len+1 w(ii+len) = w(ii+k) jw(ii+len) = jw(ii+k) endif enddo lenu = len+1 len = min0(lenu,lfil) call qsplit (w(ii+1), jw(ii+1), lenu-1,len) c c determine next pivot -- c imax = ii xmax = abs(w(imax)) xmax0 = xmax icut = ii - 1 + mbloc - mod(ii-1,mbloc) do k=ii+1,ii+len-1 t = abs(w(k)) if (t .gt. xmax .and. t*permtol .gt. xmax0 .and. * jw(k) .le. icut) then imax = k xmax = t endif enddo c c exchange w's c tmp = w(ii) w(ii) = w(imax) w(imax) = tmp c c update iperm and reverse iperm c j = jw(imax) i = iperm(ii) iperm(ii) = iperm(j) iperm(j) = i c c reverse iperm c iperm(n+iperm(ii)) = ii iperm(n+iperm(j)) = j c----------------------------------------------------------------------- c if (len + ju0 .gt. iwk) goto 997 c c copy U-part in original coordinates c do 302 k=ii+1,ii+len-1 jlu(ju0) = iperm(jw(k)) alu(ju0) = w(k) ju0 = ju0+1 302 continue c c store inverse of diagonal element of u c if (w(ii) .eq. 0.0) w(ii) = (1.0D-4 + droptol)*tnorm alu(ii) = 1.0d0/ w(ii) c c update pointer to beginning of next row of U. c jlu(ii+1) = ju0 c----------------------------------------------------------------------- c end main loop c----------------------------------------------------------------------- 500 continue c c permute all column indices of LU ... c do k = jlu(1),jlu(n+1)-1 jlu(k) = iperm(n+jlu(k)) enddo c c ...and of A c do k=ia(1), ia(n+1)-1 ja(k) = iperm(n+ja(k)) enddo c ierr = 0 return c c incomprehensible error. Matrix must be wrong. c 995 ierr = -1 return c c insufficient storage in L. c 996 ierr = -2 return c c insufficient storage in U. c 997 ierr = -3 return c c illegal lfil entered. c 998 ierr = -4 return c c zero row encountered c 999 ierr = -5 return c----------------end-of-ilutp------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine ilud(n,a,ja,ia,alph,tol,alu,jlu,ju,iwk,w,jw,ierr) c----------------------------------------------------------------------- implicit none integer n real*8 a(*),alu(*),w(2*n),tol, alph integer ja(*),ia(n+1),jlu(*),ju(n),jw(2*n),iwk,ierr c----------------------------------------------------------------------* c *** ILUD preconditioner *** * c incomplete LU factorization with standard droppoing strategy * c----------------------------------------------------------------------* c Author: Yousef Saad * Aug. 1995 -- * c----------------------------------------------------------------------* c This routine computes the ILU factorization with standard threshold * c dropping: at i-th step of elimination, an element a(i,j) in row i is * c dropped if it satisfies the criterion: * c * c abs(a(i,j)) < tol * [average magnitude of elements in row i of A] * c * c There is no control on memory size required for the factors as is * c done in ILUT. This routines computes also various diagonal compensa- * c tion ILU's such MILU. These are defined through the parameter alph * c----------------------------------------------------------------------* c on entry: c========== c n = integer. The row dimension of the matrix A. The matrix c c a,ja,ia = matrix stored in Compressed Sparse Row format c c alph = diagonal compensation parameter -- the term: c c alph*(sum of all dropped out elements in a given row) c c is added to the diagonal element of U of the factorization c Thus: alph = 0 ---> ~ ILU with threshold, c alph = 1 ---> ~ MILU with threshold. c c tol = Threshold parameter for dropping small terms in the c factorization. During the elimination, a term a(i,j) is c dropped whenever abs(a(i,j)) .lt. tol * [weighted norm of c row i]. Here weighted norm = 1-norm / number of nnz c elements in the row. c c iwk = The length of arrays alu and jlu -- this routine will stop c if storage for the factors L and U is not sufficient c c On return: c=========== c c alu,jlu = matrix stored in Modified Sparse Row (MSR) format containing c the L and U factors together. The diagonal (stored in c alu(1:n) ) is inverted. Each i-th row of the alu,jlu matrix c contains the i-th row of L (excluding the diagonal entry=1) c followed by the i-th row of U. c c ju = integer array of length n containing the pointers to c the beginning of each row of U in the matrix alu,jlu. c c ierr = integer. Error message with the following meaning. c ierr = 0 --> successful return. c ierr .gt. 0 --> zero pivot encountered at step number ierr. c ierr = -1 --> Error. input matrix may be wrong. c (The elimination process has generated a c row in L or U whose length is .gt. n.) c ierr = -2 --> Insufficient storage for the LU factors -- c arrays alu/ jalu are overflowed. c ierr = -3 --> Zero row encountered. c c Work Arrays: c============= c jw = integer work array of length 2*n. c w = real work array of length n c c---------------------------------------------------------------------- c c w, ju (1:n) store the working array [1:ii-1 = L-part, ii:n = u] c jw(n+1:2n) stores the nonzero indicator. c c Notes: c ------ c All diagonal elements of the input matrix must be nonzero. c c----------------------------------------------------------------------- c locals integer ju0,k,j1,j2,j,ii,i,lenl,lenu,jj,jrow,jpos,len real*8 tnorm, t, abs, s, fact, dropsum c----------------------------------------------------------------------- c initialize ju0 (points to next element to be added to alu,jlu) c and pointer array. c----------------------------------------------------------------------- ju0 = n+2 jlu(1) = ju0 c c initialize nonzero indicator array. c do 1 j=1,n jw(n+j) = 0 1 continue c----------------------------------------------------------------------- c beginning of main loop. c----------------------------------------------------------------------- do 500 ii = 1, n j1 = ia(ii) j2 = ia(ii+1) - 1 dropsum = 0.0d0 tnorm = 0.0d0 do 501 k=j1,j2 tnorm = tnorm + abs(a(k)) 501 continue if (tnorm .eq. 0.0) goto 997 tnorm = tnorm / real(j2-j1+1) c c unpack L-part and U-part of row of A in arrays w c lenu = 1 lenl = 0 jw(ii) = ii w(ii) = 0.0 jw(n+ii) = ii c do 170 j = j1, j2 k = ja(j) t = a(j) if (k .lt. ii) then lenl = lenl+1 jw(lenl) = k w(lenl) = t jw(n+k) = lenl else if (k .eq. ii) then w(ii) = t else lenu = lenu+1 jpos = ii+lenu-1 jw(jpos) = k w(jpos) = t jw(n+k) = jpos endif 170 continue jj = 0 len = 0 c c eliminate previous rows c 150 jj = jj+1 if (jj .gt. lenl) goto 160 c----------------------------------------------------------------------- c in order to do the elimination in the correct order we must select c the smallest column index among jw(k), k=jj+1, ..., lenl. c----------------------------------------------------------------------- jrow = jw(jj) k = jj c c determine smallest column index c do 151 j=jj+1,lenl if (jw(j) .lt. jrow) then jrow = jw(j) k = j endif 151 continue c if (k .ne. jj) then c exchange in jw j = jw(jj) jw(jj) = jw(k) jw(k) = j c exchange in jr jw(n+jrow) = jj jw(n+j) = k c exchange in w s = w(jj) w(jj) = w(k) w(k) = s endif c c zero out element in row by setting resetting jw(n+jrow) to zero. c jw(n+jrow) = 0 c c drop term if small c c if (abs(w(jj)) .le. tol*tnorm) then c dropsum = dropsum + w(jj) c goto 150 c endif c c get the multiplier for row to be eliminated (jrow). c fact = w(jj)*alu(jrow) c c drop term if small c if (abs(fact) .le. tol) then dropsum = dropsum + w(jj) goto 150 endif c c combine current row and row jrow c do 203 k = ju(jrow), jlu(jrow+1)-1 s = fact*alu(k) j = jlu(k) jpos = jw(n+j) if (j .ge. ii) then c c dealing with upper part. c if (jpos .eq. 0) then c c this is a fill-in element c lenu = lenu+1 if (lenu .gt. n) goto 995 i = ii+lenu-1 jw(i) = j jw(n+j) = i w(i) = - s else c c this is not a fill-in element c w(jpos) = w(jpos) - s endif else c c dealing with lower part. c if (jpos .eq. 0) then c c this is a fill-in element c lenl = lenl+1 if (lenl .gt. n) goto 995 jw(lenl) = j jw(n+j) = lenl w(lenl) = - s else c c this is not a fill-in element c w(jpos) = w(jpos) - s endif endif 203 continue len = len+1 w(len) = fact jw(len) = jrow goto 150 160 continue c c reset double-pointer to zero (For U-part only) c do 308 k=1, lenu jw(n+jw(ii+k-1)) = 0 308 continue c c update l-matrix c do 204 k=1, len if (ju0 .gt. iwk) goto 996 alu(ju0) = w(k) jlu(ju0) = jw(k) ju0 = ju0+1 204 continue c c save pointer to beginning of row ii of U c ju(ii) = ju0 c c go through elements in U-part of w to determine elements to keep c len = 0 do k=1, lenu-1 c if (abs(w(ii+k)) .gt. tnorm*tol) then if (abs(w(ii+k)) .gt. abs(w(ii))*tol) then len = len+1 w(ii+len) = w(ii+k) jw(ii+len) = jw(ii+k) else dropsum = dropsum + w(ii+k) endif enddo c c now update u-matrix c if (ju0 + len-1 .gt. iwk) goto 996 do 302 k=ii+1,ii+len jlu(ju0) = jw(k) alu(ju0) = w(k) ju0 = ju0+1 302 continue c c define diagonal element c w(ii) = w(ii) + alph*dropsum c c store inverse of diagonal element of u c if (w(ii) .eq. 0.0) w(ii) = (0.0001 + tol)*tnorm c alu(ii) = 1.0d0/ w(ii) c c update pointer to beginning of next row of U. c jlu(ii+1) = ju0 c----------------------------------------------------------------------- c end main loop c----------------------------------------------------------------------- 500 continue ierr = 0 return c c incomprehensible error. Matrix must be wrong. c 995 ierr = -1 return c c insufficient storage in alu/ jlu arrays for L / U factors c 996 ierr = -2 return c c zero row encountered c 997 ierr = -3 return c----------------end-of-ilud ------------------------------------------ c----------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine iludp(n,a,ja,ia,alph,droptol,permtol,mbloc,alu, * jlu,ju,iwk,w,jw,iperm,ierr) c----------------------------------------------------------------------- implicit none integer n,ja(*),ia(n+1),mbloc,jlu(*),ju(n),jw(2*n),iwk, * iperm(2*n),ierr real*8 a(*), alu(*), w(2*n), alph, droptol, permtol c----------------------------------------------------------------------* c *** ILUDP preconditioner *** * c incomplete LU factorization with standard droppoing strategy * c and column pivoting * c----------------------------------------------------------------------* c author Yousef Saad -- Aug 1995. * c----------------------------------------------------------------------* c on entry: c========== c n = integer. The dimension of the matrix A. c c a,ja,ia = matrix stored in Compressed Sparse Row format. c ON RETURN THE COLUMNS OF A ARE PERMUTED. c c alph = diagonal compensation parameter -- the term: c c alph*(sum of all dropped out elements in a given row) c c is added to the diagonal element of U of the factorization c Thus: alph = 0 ---> ~ ILU with threshold, c alph = 1 ---> ~ MILU with threshold. c c droptol = tolerance used for dropping elements in L and U. c elements are dropped if they are .lt. norm(row) x droptol c row = row being eliminated c c permtol = tolerance ratio used for determning whether to permute c two columns. Two columns are permuted only when c abs(a(i,j))*permtol .gt. abs(a(i,i)) c [0 --> never permute; good values 0.1 to 0.01] c c mbloc = if desired, permuting can be done only within the diagonal c blocks of size mbloc. Useful for PDE problems with several c degrees of freedom.. If feature not wanted take mbloc=n. c c iwk = integer. The declared lengths of arrays alu and jlu c if iwk is not large enough the code will stop prematurely c with ierr = -2 or ierr = -3 (see below). c c On return: c=========== c c alu,jlu = matrix stored in Modified Sparse Row (MSR) format containing c the L and U factors together. The diagonal (stored in c alu(1:n) ) is inverted. Each i-th row of the alu,jlu matrix c contains the i-th row of L (excluding the diagonal entry=1) c followed by the i-th row of U. c c ju = integer array of length n containing the pointers to c the beginning of each row of U in the matrix alu,jlu. c iperm = contains the permutation arrays .. c iperm(1:n) = old numbers of unknowns c iperm(n+1:2*n) = reverse permutation = new unknowns. c c ierr = integer. Error message with the following meaning. c ierr = 0 --> successful return. c ierr .gt. 0 --> zero pivot encountered at step number ierr. c ierr = -1 --> Error. input matrix may be wrong. c (The elimination process has generated a c row in L or U whose length is .gt. n.) c ierr = -2 --> The L/U matrix overflows the arrays alu,jlu c ierr = -3 --> zero row encountered. c c work arrays: c============= c jw = integer work array of length 2*n. c w = real work array of length 2*n c c Notes: c ------ c IMPORTANT: TO AVOID PERMUTING THE SOLUTION VECTORS ARRAYS FOR EACH c LU-SOLVE, THE MATRIX A IS PERMUTED ON RETURN. [all column indices are c changed]. SIMILARLY FOR THE U MATRIX. c To permute the matrix back to its original state use the loop: c c do k=ia(1), ia(n+1)-1 c ja(k) = perm(ja(k)) c enddo c c----------------------------------------------------------------------- c local variables c integer k,i,j,jrow,ju0,ii,j1,j2,jpos,len,imax,lenu,lenl,jj,icut real*8 s,tmp,tnorm,xmax,xmax0,fact,abs,t,dropsum c----------------------------------------------------------------------- c initialize ju0 (points to next element to be added to alu,jlu) c and pointer array. c----------------------------------------------------------------------- ju0 = n+2 jlu(1) = ju0 c c integer double pointer array. c do 1 j=1,n jw(n+j) = 0 iperm(j) = j iperm(n+j) = j 1 continue c----------------------------------------------------------------------- c beginning of main loop. c----------------------------------------------------------------------- do 500 ii = 1, n j1 = ia(ii) j2 = ia(ii+1) - 1 dropsum = 0.0d0 tnorm = 0.0d0 do 501 k=j1,j2 tnorm = tnorm+abs(a(k)) 501 continue if (tnorm .eq. 0.0) goto 997 tnorm = tnorm/(j2-j1+1) c c unpack L-part and U-part of row of A in arrays w -- c lenu = 1 lenl = 0 jw(ii) = ii w(ii) = 0.0 jw(n+ii) = ii c do 170 j = j1, j2 k = iperm(n+ja(j)) t = a(j) if (k .lt. ii) then lenl = lenl+1 jw(lenl) = k w(lenl) = t jw(n+k) = lenl else if (k .eq. ii) then w(ii) = t else lenu = lenu+1 jpos = ii+lenu-1 jw(jpos) = k w(jpos) = t jw(n+k) = jpos endif 170 continue jj = 0 len = 0 c c eliminate previous rows c 150 jj = jj+1 if (jj .gt. lenl) goto 160 c----------------------------------------------------------------------- c in order to do the elimination in the correct order we must select c the smallest column index among jw(k), k=jj+1, ..., lenl. c----------------------------------------------------------------------- jrow = jw(jj) k = jj c c determine smallest column index c do 151 j=jj+1,lenl if (jw(j) .lt. jrow) then jrow = jw(j) k = j endif 151 continue c if (k .ne. jj) then c exchange in jw j = jw(jj) jw(jj) = jw(k) jw(k) = j c exchange in jr jw(n+jrow) = jj jw(n+j) = k c exchange in w s = w(jj) w(jj) = w(k) w(k) = s endif c c zero out element in row by resetting jw(n+jrow) to zero. c jw(n+jrow) = 0 c c drop term if small c if (abs(w(jj)) .le. droptol*tnorm) then dropsum = dropsum + w(jj) goto 150 endif c c get the multiplier for row to be eliminated: jrow c fact = w(jj)*alu(jrow) c c combine current row and row jrow c do 203 k = ju(jrow), jlu(jrow+1)-1 s = fact*alu(k) c new column number j = iperm(n+jlu(k)) jpos = jw(n+j) c c if fill-in element is small then disregard: c if (j .ge. ii) then c c dealing with upper part. c if (jpos .eq. 0) then c this is a fill-in element lenu = lenu+1 i = ii+lenu-1 if (lenu .gt. n) goto 995 jw(i) = j jw(n+j) = i w(i) = - s else c no fill-in element -- w(jpos) = w(jpos) - s endif else c c dealing with lower part. c if (jpos .eq. 0) then c this is a fill-in element lenl = lenl+1 if (lenl .gt. n) goto 995 jw(lenl) = j jw(n+j) = lenl w(lenl) = - s else c no fill-in element -- w(jpos) = w(jpos) - s endif endif 203 continue len = len+1 w(len) = fact jw(len) = jrow goto 150 160 continue c c reset double-pointer to zero (U-part) c do 308 k=1, lenu jw(n+jw(ii+k-1)) = 0 308 continue c c update L-matrix c do 204 k=1, len if (ju0 .gt. iwk) goto 996 alu(ju0) = w(k) jlu(ju0) = iperm(jw(k)) ju0 = ju0+1 204 continue c c save pointer to beginning of row ii of U c ju(ii) = ju0 c c update u-matrix -- first apply dropping strategy c len = 0 do k=1, lenu-1 if (abs(w(ii+k)) .gt. tnorm*droptol) then len = len+1 w(ii+len) = w(ii+k) jw(ii+len) = jw(ii+k) else dropsum = dropsum + w(ii+k) endif enddo c imax = ii xmax = abs(w(imax)) xmax0 = xmax icut = ii - 1 + mbloc - mod(ii-1,mbloc) c c determine next pivot -- c do k=ii+1,ii+len t = abs(w(k)) if (t .gt. xmax .and. t*permtol .gt. xmax0 .and. * jw(k) .le. icut) then imax = k xmax = t endif enddo c c exchange w's c tmp = w(ii) w(ii) = w(imax) w(imax) = tmp c c update iperm and reverse iperm c j = jw(imax) i = iperm(ii) iperm(ii) = iperm(j) iperm(j) = i c reverse iperm iperm(n+iperm(ii)) = ii iperm(n+iperm(j)) = j c----------------------------------------------------------------------- if (len + ju0-1 .gt. iwk) goto 996 c c copy U-part in original coordinates c do 302 k=ii+1,ii+len jlu(ju0) = iperm(jw(k)) alu(ju0) = w(k) ju0 = ju0+1 302 continue c c define diagonal element c w(ii) = w(ii) + alph*dropsum c c store inverse of diagonal element of u c if (w(ii) .eq. 0.0) w(ii) = (1.0D-4 + droptol)*tnorm c alu(ii) = 1.0d0/ w(ii) c c update pointer to beginning of next row of U. c jlu(ii+1) = ju0 c----------------------------------------------------------------------- c end main loop c----------------------------------------------------------------------- 500 continue c c permute all column indices of LU ... c do k = jlu(1),jlu(n+1)-1 jlu(k) = iperm(n+jlu(k)) enddo c c ...and of A c do k=ia(1), ia(n+1)-1 ja(k) = iperm(n+ja(k)) enddo c ierr = 0 return c c incomprehensible error. Matrix must be wrong. c 995 ierr = -1 return c c insufficient storage in arrays alu, jlu to store factors c 996 ierr = -2 return c c zero row encountered c 997 ierr = -3 return c----------------end-of-iludp---------------------------!---------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine iluk(n,a,ja,ia,lfil,alu,jlu,ju,levs,iwk,w,jw,ierr) implicit none integer n real*8 a(*),alu(*),w(n) integer ja(*),ia(n+1),jlu(*),ju(n),levs(*),jw(3*n),lfil,iwk,ierr c----------------------------------------------------------------------* c SPARSKIT ROUTINE ILUK -- ILU WITH LEVEL OF FILL-IN OF K (ILU(k)) * c----------------------------------------------------------------------* c c on entry: c========== c n = integer. The row dimension of the matrix A. The matrix c c a,ja,ia = matrix stored in Compressed Sparse Row format. c c lfil = integer. The fill-in parameter. Each element whose c leve-of-fill exceeds lfil during the ILU process is dropped. c lfil must be .ge. 0 c c tol = real*8. Sets the threshold for dropping small terms in the c factorization. See below for details on dropping strategy. c c iwk = integer. The minimum length of arrays alu, jlu, and levs. c c On return: c=========== c c alu,jlu = matrix stored in Modified Sparse Row (MSR) format containing c the L and U factors together. The diagonal (stored in c alu(1:n) ) is inverted. Each i-th row of the alu,jlu matrix c contains the i-th row of L (excluding the diagonal entry=1) c followed by the i-th row of U. c c ju = integer array of length n containing the pointers to c the beginning of each row of U in the matrix alu,jlu. c c levs = integer (work) array of size iwk -- which contains the c levels of each element in alu, jlu. c c ierr = integer. Error message with the following meaning. c ierr = 0 --> successful return. c ierr .gt. 0 --> zero pivot encountered at step number ierr. c ierr = -1 --> Error. input matrix may be wrong. c (The elimination process has generated a c row in L or U whose length is .gt. n.) c ierr = -2 --> The matrix L overflows the array al. c ierr = -3 --> The matrix U overflows the array alu. c ierr = -4 --> Illegal value for lfil. c ierr = -5 --> zero row encountered in A or U. c c work arrays: c============= c jw = integer work array of length 3*n. c w = real work array of length n c c Notes/known bugs: This is not implemented efficiently storage-wise. c For example: Only the part of the array levs(*) associated with c the U-matrix is needed in the routine.. So some storage can c be saved if needed. The levels of fills in the LU matrix are c output for information only -- they are not needed by LU-solve. c c---------------------------------------------------------------------- c w, ju (1:n) store the working array [1:ii-1 = L-part, ii:n = u] c jw(n+1:2n) stores the nonzero indicator. c c Notes: c ------ c All the diagonal elements of the input matrix must be nonzero. c c----------------------------------------------------------------------* c locals integer ju0,k,j1,j2,j,ii,i,lenl,lenu,jj,jrow,jpos,n2, * jlev, min real*8 t, s, fact if (lfil .lt. 0) goto 998 c----------------------------------------------------------------------- c initialize ju0 (points to next element to be added to alu,jlu) c and pointer array. c----------------------------------------------------------------------- n2 = n+n ju0 = n+2 jlu(1) = ju0 c c initialize nonzero indicator array + levs array -- c do 1 j=1,2*n jw(j) = 0 1 continue c----------------------------------------------------------------------- c beginning of main loop. c----------------------------------------------------------------------- do 500 ii = 1, n j1 = ia(ii) j2 = ia(ii+1) - 1 c c unpack L-part and U-part of row of A in arrays w c lenu = 1 lenl = 0 jw(ii) = ii w(ii) = 0.0 jw(n+ii) = ii c do 170 j = j1, j2 k = ja(j) t = a(j) if (t .eq. 0.0) goto 170 if (k .lt. ii) then lenl = lenl+1 jw(lenl) = k w(lenl) = t jw(n2+lenl) = 0 jw(n+k) = lenl else if (k .eq. ii) then w(ii) = t jw(n2+ii) = 0 else lenu = lenu+1 jpos = ii+lenu-1 jw(jpos) = k w(jpos) = t jw(n2+jpos) = 0 jw(n+k) = jpos endif 170 continue c jj = 0 c c eliminate previous rows c 150 jj = jj+1 if (jj .gt. lenl) goto 160 c----------------------------------------------------------------------- c in order to do the elimination in the correct order we must select c the smallest column index among jw(k), k=jj+1, ..., lenl. c----------------------------------------------------------------------- jrow = jw(jj) k = jj c c determine smallest column index c do 151 j=jj+1,lenl if (jw(j) .lt. jrow) then jrow = jw(j) k = j endif 151 continue c if (k .ne. jj) then c exchange in jw j = jw(jj) jw(jj) = jw(k) jw(k) = j c exchange in jw(n+ (pointers/ nonzero indicator). jw(n+jrow) = jj jw(n+j) = k c exchange in jw(n2+ (levels) j = jw(n2+jj) jw(n2+jj) = jw(n2+k) jw(n2+k) = j c exchange in w s = w(jj) w(jj) = w(k) w(k) = s endif c c zero out element in row by resetting jw(n+jrow) to zero. c jw(n+jrow) = 0 c c get the multiplier for row to be eliminated (jrow) + its level c fact = w(jj)*alu(jrow) jlev = jw(n2+jj) if (jlev .gt. lfil) goto 150 c c combine current row and row jrow c do 203 k = ju(jrow), jlu(jrow+1)-1 s = fact*alu(k) j = jlu(k) jpos = jw(n+j) if (j .ge. ii) then c c dealing with upper part. c if (jpos .eq. 0) then c c this is a fill-in element c lenu = lenu+1 if (lenu .gt. n) goto 995 i = ii+lenu-1 jw(i) = j jw(n+j) = i w(i) = - s jw(n2+i) = jlev+levs(k)+1 else c c this is not a fill-in element c w(jpos) = w(jpos) - s jw(n2+jpos) = min(jw(n2+jpos),jlev+levs(k)+1) endif else c c dealing with lower part. c if (jpos .eq. 0) then c c this is a fill-in element c lenl = lenl+1 if (lenl .gt. n) goto 995 jw(lenl) = j jw(n+j) = lenl w(lenl) = - s jw(n2+lenl) = jlev+levs(k)+1 else c c this is not a fill-in element c w(jpos) = w(jpos) - s jw(n2+jpos) = min(jw(n2+jpos),jlev+levs(k)+1) endif endif 203 continue w(jj) = fact jw(jj) = jrow goto 150 160 continue c c reset double-pointer to zero (U-part) c do 308 k=1, lenu jw(n+jw(ii+k-1)) = 0 308 continue c c update l-matrix c do 204 k=1, lenl if (ju0 .gt. iwk) goto 996 if (jw(n2+k) .le. lfil) then alu(ju0) = w(k) jlu(ju0) = jw(k) ju0 = ju0+1 endif 204 continue c c save pointer to beginning of row ii of U c ju(ii) = ju0 c c update u-matrix c do 302 k=ii+1,ii+lenu-1 if (jw(n2+k) .le. lfil) then jlu(ju0) = jw(k) alu(ju0) = w(k) levs(ju0) = jw(n2+k) ju0 = ju0+1 endif 302 continue if (w(ii) .eq. 0.0) goto 999 c alu(ii) = 1.0d0/ w(ii) c c update pointer to beginning of next row of U. c jlu(ii+1) = ju0 c----------------------------------------------------------------------- c end main loop c----------------------------------------------------------------------- 500 continue ierr = 0 return c c incomprehensible error. Matrix must be wrong. c 995 ierr = -1 return c c insufficient storage in L. c 996 ierr = -2 return c c insufficient storage in U. c 997 ierr = -3 return c c illegal lfil entered. c 998 ierr = -4 return c c zero row encountered in A or U. c 999 ierr = -5 return c----------------end-of-iluk-------------------------------------------- c----------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine ilu0(n, a, ja, ia, alu, jlu, ju, iw, ierr) implicit real*8 (a-h,o-z) real*8 a(*), alu(*) integer ja(*), ia(*), ju(*), jlu(*), iw(*) c------------------ right preconditioner ------------------------------* c *** ilu(0) preconditioner. *** * c----------------------------------------------------------------------* c Note that this has been coded in such a way that it can be used c with pgmres. Normally, since the data structure of the L+U matrix is c the same as that the A matrix, savings can be made. In fact with c some definitions (not correct for general sparse matrices) all we c need in addition to a, ja, ia is an additional diagonal. c ILU0 is not recommended for serious problems. It is only provided c here for comparison purposes. c----------------------------------------------------------------------- c c on entry: c--------- c n = dimension of matrix c a, ja, c ia = original matrix in compressed sparse row storage. c c on return: c----------- c alu,jlu = matrix stored in Modified Sparse Row (MSR) format containing c the L and U factors together. The diagonal (stored in c alu(1:n) ) is inverted. Each i-th row of the alu,jlu matrix c contains the i-th row of L (excluding the diagonal entry=1) c followed by the i-th row of U. c c ju = pointer to the diagonal elements in alu, jlu. c c ierr = integer indicating error code on return c ierr = 0 --> normal return c ierr = k --> code encountered a zero pivot at step k. c work arrays: c------------- c iw = integer work array of length n. c------------ c IMPORTANT c----------- c it is assumed that the the elements in the input matrix are stored c in such a way that in each row the lower part comes first and c then the upper part. To get the correct ILU factorization, it is c also necessary to have the elements of L sorted by increasing c column number. It may therefore be necessary to sort the c elements of a, ja, ia prior to calling ilu0. This can be c achieved by transposing the matrix twice using csrcsc. c c----------------------------------------------------------------------- ju0 = n+2 jlu(1) = ju0 c c initialize work vector to zero's c do 31 i=1, n iw(i) = 0 31 continue c c main loop c do 500 ii = 1, n js = ju0 c c generating row number ii of L and U. c do 100 j=ia(ii),ia(ii+1)-1 c c copy row ii of a, ja, ia into row ii of alu, jlu (L/U) matrix. c jcol = ja(j) if (jcol .eq. ii) then alu(ii) = a(j) iw(jcol) = ii ju(ii) = ju0 else alu(ju0) = a(j) jlu(ju0) = ja(j) iw(jcol) = ju0 ju0 = ju0+1 endif 100 continue jlu(ii+1) = ju0 jf = ju0-1 jm = ju(ii)-1 c c exit if diagonal element is reached. c do 150 j=js, jm jrow = jlu(j) tl = alu(j)*alu(jrow) alu(j) = tl c c perform linear combination c do 140 jj = ju(jrow), jlu(jrow+1)-1 jw = iw(jlu(jj)) if (jw .ne. 0) alu(jw) = alu(jw) - tl*alu(jj) 140 continue 150 continue c c invert and store diagonal element. c if (alu(ii) .eq. 0.0d0) goto 600 alu(ii) = 1.0d0/alu(ii) c c reset pointer iw to zero c iw(ii) = 0 do 201 i = js, jf 201 iw(jlu(i)) = 0 500 continue ierr = 0 return c c zero pivot : c 600 ierr = ii c return c------- end-of-ilu0 --------------------------------------------------- c----------------------------------------------------------------------- end c---------------------------------------------------------------------- subroutine milu0(n, a, ja, ia, alu, jlu, ju, iw, ierr) implicit real*8 (a-h,o-z) real*8 a(*), alu(*) integer ja(*), ia(*), ju(*), jlu(*), iw(*) c----------------------------------------------------------------------* c *** simple milu(0) preconditioner. *** * c----------------------------------------------------------------------* c Note that this has been coded in such a way that it can be used c with pgmres. Normally, since the data structure of a, ja, ia is c the same as that of a, ja, ia, savings can be made. In fact with c some definitions (not correct for general sparse matrices) all we c need in addition to a, ja, ia is an additional diagonal. c Ilu0 is not recommended for serious problems. It is only provided c here for comparison purposes. c----------------------------------------------------------------------- c c on entry: c---------- c n = dimension of matrix c a, ja, c ia = original matrix in compressed sparse row storage. c c on return: c---------- c alu,jlu = matrix stored in Modified Sparse Row (MSR) format containing c the L and U factors together. The diagonal (stored in c alu(1:n) ) is inverted. Each i-th row of the alu,jlu matrix c contains the i-th row of L (excluding the diagonal entry=1) c followed by the i-th row of U. c c ju = pointer to the diagonal elements in alu, jlu. c c ierr = integer indicating error code on return c ierr = 0 --> normal return c ierr = k --> code encountered a zero pivot at step k. c work arrays: c------------- c iw = integer work array of length n. c------------ c Note (IMPORTANT): c----------- C it is assumed that the the elements in the input matrix are ordered c in such a way that in each row the lower part comes first and c then the upper part. To get the correct ILU factorization, it is c also necessary to have the elements of L ordered by increasing c column number. It may therefore be necessary to sort the c elements of a, ja, ia prior to calling milu0. This can be c achieved by transposing the matrix twice using csrcsc. c----------------------------------------------------------- ju0 = n+2 jlu(1) = ju0 c initialize work vector to zero's do 31 i=1, n 31 iw(i) = 0 c c-------------- MAIN LOOP ---------------------------------- c do 500 ii = 1, n js = ju0 c c generating row number ii or L and U. c do 100 j=ia(ii),ia(ii+1)-1 c c copy row ii of a, ja, ia into row ii of alu, jlu (L/U) matrix. c jcol = ja(j) if (jcol .eq. ii) then alu(ii) = a(j) iw(jcol) = ii ju(ii) = ju0 else alu(ju0) = a(j) jlu(ju0) = ja(j) iw(jcol) = ju0 ju0 = ju0+1 endif 100 continue jlu(ii+1) = ju0 jf = ju0-1 jm = ju(ii)-1 c s accumulates fill-in values s = 0.0d0 do 150 j=js, jm jrow = jlu(j) tl = alu(j)*alu(jrow) alu(j) = tl c-----------------------perform linear combination -------- do 140 jj = ju(jrow), jlu(jrow+1)-1 jw = iw(jlu(jj)) if (jw .ne. 0) then alu(jw) = alu(jw) - tl*alu(jj) else s = s + tl*alu(jj) endif 140 continue 150 continue c----------------------- invert and store diagonal element. alu(ii) = alu(ii)-s if (alu(ii) .eq. 0.0d0) goto 600 alu(ii) = 1.0d0/alu(ii) c----------------------- reset pointer iw to zero iw(ii) = 0 do 201 i = js, jf 201 iw(jlu(i)) = 0 500 continue ierr = 0 return c zero pivot : 600 ierr = ii return c------- end-of-milu0 -------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine pgmres(n, im, rhs, sol, vv, eps, maxits, iout, * aa, ja, ia, alu, jlu, ju, ierr) c----------------------------------------------------------------------- implicit real*8 (a-h,o-z) integer n, im, maxits, iout, ierr, ja(*), ia(n+1), jlu(*), ju(n) real*8 vv(n,*), rhs(n), sol(n), aa(*), alu(*), eps c----------------------------------------------------------------------* c * c *** ILUT - Preconditioned GMRES *** * c * c----------------------------------------------------------------------* c This is a simple version of the ILUT preconditioned GMRES algorithm. * c The ILUT preconditioner uses a dual strategy for dropping elements * c instead of the usual level of-fill-in approach. See details in ILUT * c subroutine documentation. PGMRES uses the L and U matrices generated * c from the subroutine ILUT to precondition the GMRES algorithm. * c The preconditioning is applied to the right. The stopping criterion * c utilized is based simply on reducing the residual norm by epsilon. * c This preconditioning is more reliable than ilu0 but requires more * c storage. It seems to be much less prone to difficulties related to * c strong nonsymmetries in the matrix. We recommend using a nonzero tol * c (tol=.005 or .001 usually give good results) in ILUT. Use a large * c lfil whenever possible (e.g. lfil = 5 to 10). The higher lfil the * c more reliable the code is. Efficiency may also be much improved. * c Note that lfil=n and tol=0.0 in ILUT will yield the same factors as * c Gaussian elimination without pivoting. * c * c ILU(0) and MILU(0) are also provided for comparison purposes * c USAGE: first call ILUT or ILU0 or MILU0 to set up preconditioner and * c then call pgmres. * c----------------------------------------------------------------------* c Coded by Y. Saad - This version dated May, 7, 1990. * c----------------------------------------------------------------------* c parameters * c----------- * c on entry: * c========== * c * c n == integer. The dimension of the matrix. * c im == size of krylov subspace: should not exceed 50 in this * c version (can be reset by changing parameter command for * c kmax below) * c rhs == real vector of length n containing the right hand side. * c Destroyed on return. * c sol == real vector of length n containing an initial guess to the * c solution on input. approximate solution on output * c eps == tolerance for stopping criterion. process is stopped * c as soon as ( ||.|| is the euclidean norm): * c || current residual||/||initial residual|| <= eps * c maxits== maximum number of iterations allowed * c iout == output unit number number for printing intermediate results * c if (iout .le. 0) nothing is printed out. * c * c aa, ja, * c ia == the input matrix in compressed sparse row format: * c aa(1:nnz) = nonzero elements of A stored row-wise in order * c ja(1:nnz) = corresponding column indices. * c ia(1:n+1) = pointer to beginning of each row in aa and ja. * c here nnz = number of nonzero elements in A = ia(n+1)-ia(1) * c * c alu,jlu== A matrix stored in Modified Sparse Row format containing * c the L and U factors, as computed by subroutine ilut. * c * c ju == integer array of length n containing the pointers to * c the beginning of each row of U in alu, jlu as computed * c by subroutine ILUT. * c * c on return: * c========== * c sol == contains an approximate solution (upon successful return). * c ierr == integer. Error message with the following meaning. * c ierr = 0 --> successful return. * c ierr = 1 --> convergence not achieved in itmax iterations. * c ierr =-1 --> the initial guess seems to be the exact * c solution (initial residual computed was zero) * c * c----------------------------------------------------------------------* c * c work arrays: * c============= * c vv == work array of length n x (im+1) (used to store the Arnoli * c basis) * c----------------------------------------------------------------------* c subroutines called : * c amux : SPARSKIT routine to do the matrix by vector multiplication * c delivers y=Ax, given x -- see SPARSKIT/BLASSM/amux * c lusol : combined forward and backward solves (Preconditioning ope.) * c BLAS1 routines. * c----------------------------------------------------------------------* parameter (kmax=50) real*8 hh(kmax+1,kmax), c(kmax), s(kmax), rs(kmax+1),t c------------------------------------------------------------- c arnoldi size should not exceed kmax=50 in this version.. c to reset modify paramter kmax accordingly. c------------------------------------------------------------- data epsmac/1.d-16/ n1 = n + 1 its = 0 c------------------------------------------------------------- c outer loop starts here.. c-------------- compute initial residual vector -------------- call amux (n, sol, vv, aa, ja, ia) do 21 j=1,n vv(j,1) = rhs(j) - vv(j,1) 21 continue c------------------------------------------------------------- 20 ro = dnrm2(n, vv, 1) if (iout .gt. 0 .and. its .eq. 0) * write(iout, 199) its, ro if (ro .eq. 0.0d0) goto 999 t = 1.0d0/ ro do 210 j=1, n vv(j,1) = vv(j,1)*t 210 continue if (its .eq. 0) eps1=eps*ro c ** initialize 1-st term of rhs of hessenberg system.. rs(1) = ro i = 0 4 i=i+1 its = its + 1 i1 = i + 1 call lusol (n, vv(1,i), rhs, alu, jlu, ju) call amux (n, rhs, vv(1,i1), aa, ja, ia) c----------------------------------------- c modified gram - schmidt... c----------------------------------------- do 55 j=1, i t = ddot(n, vv(1,j),1,vv(1,i1),1) hh(j,i) = t call daxpy(n, -t, vv(1,j), 1, vv(1,i1), 1) 55 continue t = dnrm2(n, vv(1,i1), 1) hh(i1,i) = t if ( t .eq. 0.0d0) goto 58 t = 1.0d0/t do 57 k=1,n vv(k,i1) = vv(k,i1)*t 57 continue c c done with modified gram schimd and arnoldi step.. c now update factorization of hh c 58 if (i .eq. 1) goto 121 c--------perfrom previous transformations on i-th column of h do 66 k=2,i k1 = k-1 t = hh(k1,i) hh(k1,i) = c(k1)*t + s(k1)*hh(k,i) hh(k,i) = -s(k1)*t + c(k1)*hh(k,i) 66 continue 121 gam = sqrt(hh(i,i)**2 + hh(i1,i)**2) c c if gamma is zero then any small value will do... c will affect only residual estimate c if (gam .eq. 0.0d0) gam = epsmac c c get next plane rotation c c(i) = hh(i,i)/gam s(i) = hh(i1,i)/gam rs(i1) = -s(i)*rs(i) rs(i) = c(i)*rs(i) c c detrermine residual norm and test for convergence- c hh(i,i) = c(i)*hh(i,i) + s(i)*hh(i1,i) ro = abs(rs(i1)) 131 format(1h ,2e14.4) if (iout .gt. 0) * write(iout, 199) its, ro if (i .lt. im .and. (ro .gt. eps1)) goto 4 c c now compute solution. first solve upper triangular system. c rs(i) = rs(i)/hh(i,i) do 30 ii=2,i k=i-ii+1 k1 = k+1 t=rs(k) do 40 j=k1,i t = t-hh(k,j)*rs(j) 40 continue rs(k) = t/hh(k,k) 30 continue c c form linear combination of v(*,i)'s to get solution c t = rs(1) do 15 k=1, n rhs(k) = vv(k,1)*t 15 continue do 16 j=2, i t = rs(j) do 161 k=1, n rhs(k) = rhs(k)+t*vv(k,j) 161 continue 16 continue c c call preconditioner. c call lusol (n, rhs, rhs, alu, jlu, ju) do 17 k=1, n sol(k) = sol(k) + rhs(k) 17 continue c c restart outer loop when necessary c if (ro .le. eps1) goto 990 if (its .ge. maxits) goto 991 c c else compute residual vector and continue.. c do 24 j=1,i jj = i1-j+1 rs(jj-1) = -s(jj-1)*rs(jj) rs(jj) = c(jj-1)*rs(jj) 24 continue do 25 j=1,i1 t = rs(j) if (j .eq. 1) t = t-1.0d0 call daxpy (n, t, vv(1,j), 1, vv, 1) 25 continue 199 format(' its =', i4, ' res. norm =', d20.6) c restart outer loop. goto 20 990 ierr = 0 return 991 ierr = 1 return 999 continue ierr = -1 return c-----------------end of pgmres --------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine lusol(n, y, x, alu, jlu, ju) real*8 x(n), y(n), alu(*) integer n, jlu(*), ju(*) c----------------------------------------------------------------------- c c This routine solves the system (LU) x = y, c given an LU decomposition of a matrix stored in (alu, jlu, ju) c modified sparse row format c c----------------------------------------------------------------------- c on entry: c n = dimension of system c y = the right-hand-side vector c alu, jlu, ju c = the LU matrix as provided from the ILU routines. c c on return c x = solution of LU x = y. c----------------------------------------------------------------------- c c Note: routine is in place: call lusol (n, x, x, alu, jlu, ju) c will solve the system with rhs x and overwrite the result on x . c c----------------------------------------------------------------------- c local variables c integer i,k c c forward solve c do 40 i = 1, n x(i) = y(i) do 41 k=jlu(i),ju(i)-1 x(i) = x(i) - alu(k)* x(jlu(k)) 41 continue 40 continue c c backward solve. c do 90 i = n, 1, -1 do 91 k=ju(i),jlu(i+1)-1 x(i) = x(i) - alu(k)*x(jlu(k)) 91 continue x(i) = alu(i)*x(i) 90 continue c return c----------------end of lusol ------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine lutsol(n, y, x, alu, jlu, ju) real*8 x(n), y(n), alu(*) integer n, jlu(*), ju(*) c----------------------------------------------------------------------- c c This routine solves the system Transp(LU) x = y, c given an LU decomposition of a matrix stored in (alu, jlu, ju) c modified sparse row format. Transp(M) is the transpose of M. c----------------------------------------------------------------------- c on entry: c n = dimension of system c y = the right-hand-side vector c alu, jlu, ju c = the LU matrix as provided from the ILU routines. c c on return c x = solution of transp(LU) x = y. c----------------------------------------------------------------------- c c Note: routine is in place: call lutsol (n, x, x, alu, jlu, ju) c will solve the system with rhs x and overwrite the result on x . c c----------------------------------------------------------------------- c local variables c integer i,k c do 10 i = 1, n x(i) = y(i) 10 continue c c forward solve (with U^T) c do 20 i = 1, n x(i) = x(i) * alu(i) do 30 k=ju(i),jlu(i+1)-1 x(jlu(k)) = x(jlu(k)) - alu(k)* x(i) 30 continue 20 continue c c backward solve (with L^T) c do 40 i = n, 1, -1 do 50 k=jlu(i),ju(i)-1 x(jlu(k)) = x(jlu(k)) - alu(k)*x(i) 50 continue 40 continue c return c----------------end of lutsol ----------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine qsplit(a,ind,n,ncut) real*8 a(n) integer ind(n), n, ncut c----------------------------------------------------------------------- c does a quick-sort split of a real array. c on input a(1:n). is a real array c on output a(1:n) is permuted such that its elements satisfy: c c abs(a(i)) .ge. abs(a(ncut)) for i .lt. ncut and c abs(a(i)) .le. abs(a(ncut)) for i .gt. ncut c c ind(1:n) is an integer array which permuted in the same way as a(*). c----------------------------------------------------------------------- real*8 tmp, abskey integer itmp, first, last c----- first = 1 last = n if (ncut .lt. first .or. ncut .gt. last) return c c outer loop -- while mid .ne. ncut do c 1 mid = first abskey = abs(a(mid)) do 2 j=first+1, last if (abs(a(j)) .gt. abskey) then mid = mid+1 c interchange tmp = a(mid) itmp = ind(mid) a(mid) = a(j) ind(mid) = ind(j) a(j) = tmp ind(j) = itmp endif 2 continue c c interchange c tmp = a(mid) a(mid) = a(first) a(first) = tmp c itmp = ind(mid) ind(mid) = ind(first) ind(first) = itmp c c test for while loop c if (mid .eq. ncut) return if (mid .gt. ncut) then last = mid-1 else first = mid+1 endif goto 1 c----------------end-of-qsplit------------------------------------------ c----------------------------------------------------------------------- end sparskit-2.0.0/ITSOL/iters.f0000644000265600020320000031261406651734324014705 0ustar tilleaadminc----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c Basic Iterative Solvers with Reverse Communication c c----------------------------------------------------------------------c c This file currently has several basic iterative linear system c c solvers. They are: c c CG -- Conjugate Gradient Method c c CGNR -- Conjugate Gradient Method (Normal Residual equation) c c BCG -- Bi-Conjugate Gradient Method c c DBCG -- BCG with partial pivoting c c BCGSTAB -- BCG stabilized c c TFQMR -- Transpose-Free Quasi-Minimum Residual method c c FOM -- Full Orthogonalization Method c c GMRES -- Generalized Minimum RESidual method c c FGMRES -- Flexible version of Generalized Minimum c c RESidual method c c DQGMRES -- Direct versions of Quasi Generalize Minimum c c Residual method c c----------------------------------------------------------------------c c They all have the following calling sequence: c subroutine solver(n, rhs, sol, ipar, fpar, w) c integer n, ipar(16) c real*8 rhs(n), sol(n), fpar(16), w(*) c Where c (1) 'n' is the size of the linear system, c (2) 'rhs' is the right-hand side of the linear system, c (3) 'sol' is the solution to the linear system, c (4) 'ipar' is an integer parameter array for the reverse c communication protocol, c (5) 'fpar' is an floating-point parameter array storing c information to and from the iterative solvers. c (6) 'w' is the work space (size is specified in ipar) c c They are preconditioned iterative solvers with reverse c communication. The preconditioners can be applied from either c from left or right or both (specified by ipar(2), see below). c c Author: Kesheng John Wu (kewu@mail.cs.umn.edu) 1993 c c NOTES: c c (1) Work space required by each of the iterative solver c routines is as follows: c CG == 5 * n c CGNR == 5 * n c BCG == 7 * n c DBCG == 11 * n c BCGSTAB == 8 * n c TFQMR == 11 * n c FOM == (n+3)*(m+2) + (m+1)*m/2 (m = ipar(5), default m=15) c GMRES == (n+3)*(m+2) + (m+1)*m/2 (m = ipar(5), default m=15) c FGMRES == 2*n*(m+1) + (m+1)*m/2 + 3*m + 2 (m = ipar(5), c default m=15) c DQGMRES == n + lb * (2*n+4) (lb=ipar(5)+1, default lb = 16) c c (2) ALL iterative solvers require a user-supplied DOT-product c routine named DISTDOT. The prototype of DISTDOT is c c real*8 function distdot(n,x,ix,y,iy) c integer n, ix, iy c real*8 x(1+(n-1)*ix), y(1+(n-1)*iy) c c This interface of DISTDOT is exactly the same as that of c DDOT (or SDOT if real == real*8) from BLAS-1. It should have c same functionality as DDOT on a single processor machine. On a c parallel/distributed environment, each processor can perform c DDOT on the data it has, then perform a summation on all the c partial results. c c (3) To use this set of routines under SPMD/MIMD program paradigm, c several things are to be noted: (a) 'n' should be the number of c vector elements of 'rhs' that is present on the local processor. c (b) if RHS(i) is on processor j, it is expected that SOL(i) c will be on the same processor, i.e. the vectors are distributed c to each processor in the same way. (c) the preconditioning and c stopping criteria specifications have to be the same on all c processor involved, ipar and fpar have to be the same on each c processor. (d) DISTDOT should be replaced by a distributed c dot-product function. c c .................................................................. c Reverse Communication Protocols c c When a reverse-communication routine returns, it could be either c that the routine has terminated or it simply requires the caller c to perform one matrix-vector multiplication. The possible matrices c that involve in the matrix-vector multiplications are: c A (the matrix of the linear system), c A^T (A transposed), c Ml^{-1} (inverse of the left preconditioner), c Ml^{-T} (inverse of the left preconditioner transposed), c Mr^{-1} (inverse of the right preconditioner), c Mr^{-T} (inverse of the right preconditioner transposed). c For all the matrix vector multiplication, v = A u. The input and c output vectors are supposed to be part of the work space 'w', and c the starting positions of them are stored in ipar(8:9), see below. c c The array 'ipar' is used to store the information about the solver. c Here is the list of what each element represents: c c ipar(1) -- status of the call/return. c A call to the solver with ipar(1) == 0 will initialize the c iterative solver. On return from the iterative solver, ipar(1) c carries the status flag which indicates the condition of the c return. The status information is divided into two categories, c (1) a positive value indicates the solver requires a matrix-vector c multiplication, c (2) a non-positive value indicates termination of the solver. c Here is the current definition: c 1 == request a matvec with A, c 2 == request a matvec with A^T, c 3 == request a left preconditioner solve (Ml^{-1}), c 4 == request a left preconditioner transposed solve (Ml^{-T}), c 5 == request a right preconditioner solve (Mr^{-1}), c 6 == request a right preconditioner transposed solve (Mr^{-T}), c 10 == request the caller to perform stopping test, c 0 == normal termination of the solver, satisfied the stopping c criteria, c -1 == termination because iteration number is greater than the c preset limit, c -2 == return due to insufficient work space, c -3 == return due to anticipated break-down / divide by zero, c in the case where Arnoldi procedure is used, additional c error code can be found in ipar(12), where ipar(12) is c the error code of orthogonalization procedure MGSRO: c -1: zero input vector c -2: input vector contains abnormal numbers c -3: input vector is a linear combination of others c -4: trianguler system in GMRES/FOM/etc. has nul rank c -4 == the values of fpar(1) and fpar(2) are both <= 0, the valid c ranges are 0 <= fpar(1) < 1, 0 <= fpar(2), and they can c not be zero at the same time c -9 == while trying to detect a break-down, an abnormal number is c detected. c -10 == return due to some non-numerical reasons, e.g. invalid c floating-point numbers etc. c c ipar(2) -- status of the preconditioning: c 0 == no preconditioning c 1 == left preconditioning only c 2 == right preconditioning only c 3 == both left and right preconditioning c c ipar(3) -- stopping criteria (details of this will be c discussed later). c c ipar(4) -- number of elements in the array 'w'. if this is less c than the desired size, it will be over-written with the minimum c requirement. In which case the status flag ipar(1) = -2. c c ipar(5) -- size of the Krylov subspace (used by GMRES and its c variants), e.g. GMRES(ipar(5)), FGMRES(ipar(5)), c DQGMRES(ipar(5)). c c ipar(6) -- maximum number of matrix-vector multiplies, if not a c positive number the iterative solver will run till convergence c test is satisfied. c c ipar(7) -- current number of matrix-vector multiplies. It is c incremented after each matrix-vector multiplication. If there c is preconditioning, the counter is incremented after the c preconditioning associated with each matrix-vector multiplication. c c ipar(8) -- pointer to the input vector to the requested matrix- c vector multiplication. c c ipar(9) -- pointer to the output vector of the requested matrix- c vector multiplication. c c To perform v = A * u, it is assumed that u is w(ipar(8):ipar(8)+n-1) c and v is stored as w(ipar(9):ipar(9)+n-1). c c ipar(10) -- the return address (used to determine where to go to c inside the iterative solvers after the caller has performed the c requested services). c c ipar(11) -- the result of the external convergence test c On final return from the iterative solvers, this value c will be reflected by ipar(1) = 0 (details discussed later) c c ipar(12) -- error code of MGSRO, it is c 1 if the input vector to MGSRO is linear combination c of others, c 0 if MGSRO was successful, c -1 if the input vector to MGSRO is zero, c -2 if the input vector contains invalid number. c c ipar(13) -- number of initializations. During each initilization c residual norm is computed directly from M_l(b - A x). c c ipar(14) to ipar(16) are NOT defined, they are NOT USED by c any iterative solver at this time. c c Information about the error and tolerance are stored in the array c FPAR. So are some internal variables that need to be saved from c one iteration to the next one. Since the internal variables are c not the same for each routine, we only define the common ones. c c The first two are input parameters: c fpar(1) -- the relative tolerance, c fpar(2) -- the absolute tolerance (details discussed later), c c When the iterative solver terminates, c fpar(3) -- initial residual/error norm, c fpar(4) -- target residual/error norm, c fpar(5) -- current residual norm (if available), c fpar(6) -- current residual/error norm, c fpar(7) -- convergence rate, c c fpar(8:10) are used by some of the iterative solvers to save some c internal information. c c fpar(11) -- number of floating-point operations. The iterative c solvers will add the number of FLOPS they used to this variable, c but they do NOT initialize it, nor add the number of FLOPS due to c matrix-vector multiplications (since matvec is outside of the c iterative solvers). To insure the correct FLOPS count, the c caller should set fpar(11) = 0 before invoking the iterative c solvers and account for the number of FLOPS from matrix-vector c multiplications and preconditioners. c c fpar(12:16) are not used in current implementation. c c Whether the content of fpar(3), fpar(4) and fpar(6) are residual c norms or error norms depends on ipar(3). If the requested c convergence test is based on the residual norm, they will be c residual norms. If the caller want to test convergence based the c error norms (estimated by the norm of the modifications applied c to the approximate solution), they will be error norms. c Convergence rate is defined by (Fortran 77 statement) c fpar(7) = log10(fpar(3) / fpar(6)) / (ipar(7)-ipar(13)) c If fpar(7) = 0.5, it means that approximately every 2 (= 1/0.5) c steps the residual/error norm decrease by a factor of 10. c c .................................................................. c Stopping criteria, c c An iterative solver may be terminated due to (1) satisfying c convergence test; (2) exceeding iteration limit; (3) insufficient c work space; (4) break-down. Checking of the work space is c only done in the initialization stage, i.e. when it is called with c ipar(1) == 0. A complete convergence test is done after each c update of the solutions. Other conditions are monitored c continuously. c c With regard to the number of iteration, when ipar(6) is positive, c the current iteration number will be checked against it. If c current iteration number is greater the ipar(6) than the solver c will return with status -1. If ipar(6) is not positive, the c iteration will continue until convergence test is satisfied. c c Two things may be used in the convergence tests, one is the c residual 2-norm, the other one is 2-norm of the change in the c approximate solution. The residual and the change in approximate c solution are from the preconditioned system (if preconditioning c is applied). The DQGMRES and TFQMR use two estimates for the c residual norms. The estimates are not accurate, but they are c acceptable in most of the cases. Generally speaking, the error c of the TFQMR's estimate is less accurate. c c The convergence test type is indicated by ipar(3). There are four c type convergence tests: (1) tests based on the residual norm; c (2) tests based on change in approximate solution; (3) caller c does not care, the solver choose one from above two on its own; c (4) caller will perform the test, the solver should simply continue. c Here is the complete definition: c -2 == || dx(i) || <= rtol * || rhs || + atol c -1 == || dx(i) || <= rtol * || dx(1) || + atol c 0 == solver will choose test 1 (next) c 1 == || residual || <= rtol * || initial residual || + atol c 2 == || residual || <= rtol * || rhs || + atol c 999 == caller will perform the test c where dx(i) denote the change in the solution at the ith update. c ||.|| denotes 2-norm. rtol = fpar(1) and atol = fpar(2). c c If the caller is to perform the convergence test, the outcome c should be stored in ipar(11). c ipar(11) = 0 -- failed the convergence test, iterative solver c should continue c ipar(11) = 1 -- satisfied convergence test, iterative solver c should perform the clean up job and stop. c c Upon return with ipar(1) = 10, c ipar(8) points to the starting position of the change in c solution Sx, where the actual solution of the step is c x_j = x_0 + M_r^{-1} Sx. c Exception: ipar(8) < 0, Sx = 0. It is mostly used by c GMRES and variants to indicate (1) Sx was not necessary, c (2) intermediate result of Sx is not computed. c ipar(9) points to the starting position of a work vector that c can be used by the caller. c c NOTE: the caller should allow the iterative solver to perform c clean up job after the external convergence test is satisfied, c since some of the iterative solvers do not directly c update the 'sol' array. A typical clean-up stage includes c performing the final update of the approximate solution and c computing the convergence information (e.g. values of fpar(3:7)). c c NOTE: fpar(4) and fpar(6) are not set by the accelerators (the c routines implemented here) if ipar(3) = 999. c c .................................................................. c Usage: c c To start solving a linear system, the user needs to specify c first 6 elements of the ipar, and first 2 elements of fpar. c The user may optionally set fpar(11) = 0 if one wants to count c the number of floating-point operations. (Note: the iterative c solvers will only add the floating-point operations inside c themselves, the caller will have to add the FLOPS from the c matrix-vector multiplication routines and the preconditioning c routines in order to account for all the arithmetic operations.) c c Here is an example: c ipar(1) = 0 ! always 0 to start an iterative solver c ipar(2) = 2 ! right preconditioning c ipar(3) = 1 ! use convergence test scheme 1 c ipar(4) = 10000 ! the 'w' has 10,000 elements c ipar(5) = 10 ! use *GMRES(10) (e.g. FGMRES(10)) c ipar(6) = 100 ! use at most 100 matvec's c fpar(1) = 1.0E-6 ! relative tolerance 1.0E-6 c fpar(2) = 1.0E-10 ! absolute tolerance 1.0E-10 c fpar(11) = 0.0 ! clearing the FLOPS counter c c After the above specifications, one can start to call an iterative c solver, say BCG. Here is a piece of pseudo-code showing how it can c be done, c c 10 call bcg(n,rhs,sol,ipar,fpar,w) c if (ipar(1).eq.1) then c call amux(n,w(ipar(8)),w(ipar(9)),a,ja,ia) c goto 10 c else if (ipar(1).eq.2) then c call atmux(n,w(ipar(8)),w(ipar(9)),a,ja,ia) c goto 10 c else if (ipar(1).eq.3) then c left preconditioner solver c goto 10 c else if (ipar(1).eq.4) then c left preconditioner transposed solve c goto 10 c else if (ipar(1).eq.5) then c right preconditioner solve c goto 10 c else if (ipar(1).eq.6) then c right preconditioner transposed solve c goto 10 c else if (ipar(1).eq.10) then c call my own stopping test routine c goto 10 c else if (ipar(1).gt.0) then c ipar(1) is an unspecified code c else c the iterative solver terminated with code = ipar(1) c endif c c This segment of pseudo-code assumes the matrix is in CSR format, c AMUX and ATMUX are two routines from the SPARSKIT MATVEC module. c They perform matrix-vector multiplications for CSR matrices, c where w(ipar(8)) is the first element of the input vectors to the c two routines, and w(ipar(9)) is the first element of the output c vectors from them. For simplicity, we did not show the name of c the routine that performs the preconditioning operations or the c convergence tests. c----------------------------------------------------------------------- subroutine cg(n, rhs, sol, ipar, fpar, w) implicit none integer n, ipar(16) real*8 rhs(n), sol(n), fpar(16), w(n,*) c----------------------------------------------------------------------- c This is a implementation of the Conjugate Gradient (CG) method c for solving linear system. c c NOTE: This is not the PCG algorithm. It is a regular CG algorithm. c To be consistent with the other solvers, the preconditioners are c applied by performing Ml^{-1} A Mr^{-1} P in place of A P in the c CG algorithm. PCG uses the preconditioner differently. c c fpar(7) is used here internally to store . c w(:,1) -- residual vector c w(:,2) -- P, the conjugate direction c w(:,3) -- A P, matrix multiply the conjugate direction c w(:,4) -- temporary storage for results of preconditioning c w(:,5) -- change in the solution (sol) is stored here until c termination of this solver c----------------------------------------------------------------------- c external functions used c real*8 distdot logical stopbis, brkdn external distdot, stopbis, brkdn, bisinit c c local variables c integer i real*8 alpha logical lp,rp save c c check the status of the call c if (ipar(1).le.0) ipar(10) = 0 goto (10, 20, 40, 50, 60, 70, 80), ipar(10) c c initialization c call bisinit(ipar,fpar,5*n,1,lp,rp,w) if (ipar(1).lt.0) return c c request for matrix vector multiplication A*x in the initialization c ipar(1) = 1 ipar(8) = n+1 ipar(9) = ipar(8) + n ipar(10) = 1 do i = 1, n w(i,2) = sol(i) enddo return 10 ipar(7) = ipar(7) + 1 ipar(13) = 1 do i = 1, n w(i,2) = rhs(i) - w(i,3) enddo fpar(11) = fpar(11) + n c c if left preconditioned c if (lp) then ipar(1) = 3 ipar(9) = 1 ipar(10) = 2 return endif c 20 if (lp) then do i = 1, n w(i,2) = w(i,1) enddo else do i = 1, n w(i,1) = w(i,2) enddo endif c fpar(7) = distdot(n,w,1,w,1) fpar(11) = fpar(11) + 2 * n fpar(3) = sqrt(fpar(7)) fpar(5) = fpar(3) if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2 * n else if (ipar(3).ne.999) then fpar(4) = fpar(1) * fpar(3) + fpar(2) endif c c before iteration can continue, we need to compute A * p, which c includes the preconditioning operations c 30 if (rp) then ipar(1) = 5 ipar(8) = n + 1 if (lp) then ipar(9) = ipar(8) + n else ipar(9) = 3*n + 1 endif ipar(10) = 3 return endif c 40 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = n + 1 endif if (lp) then ipar(9) = 3*n+1 else ipar(9) = n+n+1 endif ipar(10) = 4 return c 50 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = n+n+1 ipar(10) = 5 return endif c c continuing with the iterations c 60 ipar(7) = ipar(7) + 1 alpha = distdot(n,w(1,2),1,w(1,3),1) fpar(11) = fpar(11) + 2*n if (brkdn(alpha,ipar)) goto 900 alpha = fpar(7) / alpha do i = 1, n w(i,5) = w(i,5) + alpha * w(i,2) w(i,1) = w(i,1) - alpha * w(i,3) enddo fpar(11) = fpar(11) + 4*n c c are we ready to terminate ? c if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = 4*n + 1 ipar(9) = 3*n + 1 ipar(10) = 6 return endif 70 if (ipar(3).eq.999) then if (ipar(11).eq.1) goto 900 else if (stopbis(n,ipar,1,fpar,w,w(1,2),alpha)) then goto 900 endif c c continue the iterations c alpha = fpar(5)*fpar(5) / fpar(7) fpar(7) = fpar(5)*fpar(5) do i = 1, n w(i,2) = w(i,1) + alpha * w(i,2) enddo fpar(11) = fpar(11) + 2*n goto 30 c c clean up -- necessary to accommodate the right-preconditioning c 900 if (rp) then if (ipar(1).lt.0) ipar(12) = ipar(1) ipar(1) = 5 ipar(8) = 4*n + 1 ipar(9) = ipar(8) - n ipar(10) = 7 return endif 80 if (rp) then call tidycg(n,ipar,fpar,sol,w(1,4)) else call tidycg(n,ipar,fpar,sol,w(1,5)) endif c return end c-----end-of-cg c----------------------------------------------------------------------- subroutine cgnr(n,rhs,sol,ipar,fpar,wk) implicit none integer n, ipar(16) real*8 rhs(n),sol(n),fpar(16),wk(n,*) c----------------------------------------------------------------------- c CGNR -- Using CG algorithm solving A x = b by solving c Normal Residual equation: A^T A x = A^T b c As long as the matrix is not singular, A^T A is symmetric c positive definite, therefore CG (CGNR) will converge. c c Usage of the work space: c wk(:,1) == residual vector R c wk(:,2) == the conjugate direction vector P c wk(:,3) == a scratch vector holds A P, or A^T R c wk(:,4) == a scratch vector holds intermediate results of the c preconditioning c wk(:,5) == a place to hold the modification to SOL c c size of the work space WK is required = 5*n c----------------------------------------------------------------------- c external functions used c real*8 distdot logical stopbis, brkdn external distdot, stopbis, brkdn, bisinit c c local variables c integer i real*8 alpha, zz, zzm1 logical lp, rp save c c check the status of the call c if (ipar(1).le.0) ipar(10) = 0 goto (10, 20, 40, 50, 60, 70, 80, 90, 100, 110), ipar(10) c c initialization c call bisinit(ipar,fpar,5*n,1,lp,rp,wk) if (ipar(1).lt.0) return c c request for matrix vector multiplication A*x in the initialization c ipar(1) = 1 ipar(8) = 1 ipar(9) = 1 + n ipar(10) = 1 do i = 1, n wk(i,1) = sol(i) enddo return 10 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 do i = 1, n wk(i,1) = rhs(i) - wk(i,2) enddo fpar(11) = fpar(11) + n c c if left preconditioned, precondition the initial residual c if (lp) then ipar(1) = 3 ipar(10) = 2 return endif c 20 if (lp) then do i = 1, n wk(i,1) = wk(i,2) enddo endif c zz = distdot(n,wk,1,wk,1) fpar(11) = fpar(11) + 2 * n fpar(3) = sqrt(zz) fpar(5) = fpar(3) if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2 * n else if (ipar(3).ne.999) then fpar(4) = fpar(1) * fpar(3) + fpar(2) endif c c normal iteration begins here, first half of the iteration c computes the conjugate direction c 30 continue c c request the caller to perform a A^T r --> wk(:,3) c if (lp) then ipar(1) = 4 ipar(8) = 1 if (rp) then ipar(9) = n + n + 1 else ipar(9) = 3*n + 1 endif ipar(10) = 3 return endif c 40 ipar(1) = 2 if (lp) then ipar(8) = ipar(9) else ipar(8) = 1 endif if (rp) then ipar(9) = 3*n + 1 else ipar(9) = n + n + 1 endif ipar(10) = 4 return c 50 if (rp) then ipar(1) = 6 ipar(8) = ipar(9) ipar(9) = n + n + 1 ipar(10) = 5 return endif c 60 ipar(7) = ipar(7) + 1 zzm1 = zz zz = distdot(n,wk(1,3),1,wk(1,3),1) fpar(11) = fpar(11) + 2 * n if (brkdn(zz,ipar)) goto 900 if (ipar(7).gt.3) then alpha = zz / zzm1 do i = 1, n wk(i,2) = wk(i,3) + alpha * wk(i,2) enddo fpar(11) = fpar(11) + 2 * n else do i = 1, n wk(i,2) = wk(i,3) enddo endif c c before iteration can continue, we need to compute A * p c if (rp) then ipar(1) = 5 ipar(8) = n + 1 if (lp) then ipar(9) = ipar(8) + n else ipar(9) = 3*n + 1 endif ipar(10) = 6 return endif c 70 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = n + 1 endif if (lp) then ipar(9) = 3*n+1 else ipar(9) = n+n+1 endif ipar(10) = 7 return c 80 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = n+n+1 ipar(10) = 8 return endif c c update the solution -- accumulate the changes in w(:,5) c 90 ipar(7) = ipar(7) + 1 alpha = distdot(n,wk(1,3),1,wk(1,3),1) fpar(11) = fpar(11) + 2 * n if (brkdn(alpha,ipar)) goto 900 alpha = zz / alpha do i = 1, n wk(i,5) = wk(i,5) + alpha * wk(i,2) wk(i,1) = wk(i,1) - alpha * wk(i,3) enddo fpar(11) = fpar(11) + 4 * n c c are we ready to terminate ? c if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = 4*n + 1 ipar(9) = 3*n + 1 ipar(10) = 9 return endif 100 if (ipar(3).eq.999) then if (ipar(11).eq.1) goto 900 else if (stopbis(n,ipar,1,fpar,wk,wk(1,2),alpha)) then goto 900 endif c c continue the iterations c goto 30 c c clean up -- necessary to accommodate the right-preconditioning c 900 if (rp) then if (ipar(1).lt.0) ipar(12) = ipar(1) ipar(1) = 5 ipar(8) = 4*n + 1 ipar(9) = ipar(8) - n ipar(10) = 10 return endif 110 if (rp) then call tidycg(n,ipar,fpar,sol,wk(1,4)) else call tidycg(n,ipar,fpar,sol,wk(1,5)) endif return end c-----end-of-cgnr c----------------------------------------------------------------------- subroutine bcg(n,rhs,sol,ipar,fpar,w) implicit none integer n, ipar(16) real*8 fpar(16), rhs(n), sol(n), w(n,*) c----------------------------------------------------------------------- c BCG: Bi Conjugate Gradient method. Programmed with reverse c communication, see the header for detailed specifications c of the protocol. c c in this routine, before successful return, the fpar's are c fpar(3) == initial residual norm c fpar(4) == target residual norm c fpar(5) == current residual norm c fpar(7) == current rho (rhok = ) c fpar(8) == previous rho (rhokm1) c c w(:,1) -- r, the residual c w(:,2) -- s, the dual of the 'r' c w(:,3) -- p, the projection direction c w(:,4) -- q, the dual of the 'p' c w(:,5) -- v, a scratch vector to store A*p, or A*q. c w(:,6) -- a scratch vector to store intermediate results c w(:,7) -- changes in the solution c----------------------------------------------------------------------- c external routines used c real*8 distdot logical stopbis,brkdn external distdot, stopbis, brkdn c real*8 one parameter(one=1.0D0) c c local variables c integer i real*8 alpha logical rp, lp save c c status of the program c if (ipar(1).le.0) ipar(10) = 0 goto (10, 20, 40, 50, 60, 70, 80, 90, 100, 110), ipar(10) c c initialization, initial residual c call bisinit(ipar,fpar,7*n,1,lp,rp,w) if (ipar(1).lt.0) return c c compute initial residual, request a matvecc c ipar(1) = 1 ipar(8) = 3*n+1 ipar(9) = ipar(8) + n do i = 1, n w(i,4) = sol(i) enddo ipar(10) = 1 return 10 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 do i = 1, n w(i,1) = rhs(i) - w(i,5) enddo fpar(11) = fpar(11) + n if (lp) then ipar(1) = 3 ipar(8) = 1 ipar(9) = n+1 ipar(10) = 2 return endif c 20 if (lp) then do i = 1, n w(i,1) = w(i,2) w(i,3) = w(i,2) w(i,4) = w(i,2) enddo else do i = 1, n w(i,2) = w(i,1) w(i,3) = w(i,1) w(i,4) = w(i,1) enddo endif c fpar(7) = distdot(n,w,1,w,1) fpar(11) = fpar(11) + 2 * n fpar(3) = sqrt(fpar(7)) fpar(5) = fpar(3) fpar(8) = one if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2 * n else if (ipar(3).ne.999) then fpar(4) = fpar(1) * fpar(3) + fpar(2) endif if (ipar(3).ge.0.and.fpar(5).le.fpar(4)) then fpar(6) = fpar(5) goto 900 endif c c end of initialization, begin iteration, v = A p c 30 if (rp) then ipar(1) = 5 ipar(8) = n + n + 1 if (lp) then ipar(9) = 4*n + 1 else ipar(9) = 5*n + 1 endif ipar(10) = 3 return endif c 40 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = n + n + 1 endif if (lp) then ipar(9) = 5*n + 1 else ipar(9) = 4*n + 1 endif ipar(10) = 4 return c 50 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = 4*n + 1 ipar(10) = 5 return endif c 60 ipar(7) = ipar(7) + 1 alpha = distdot(n,w(1,4),1,w(1,5),1) fpar(11) = fpar(11) + 2 * n if (brkdn(alpha,ipar)) goto 900 alpha = fpar(7) / alpha do i = 1, n w(i,7) = w(i,7) + alpha * w(i,3) w(i,1) = w(i,1) - alpha * w(i,5) enddo fpar(11) = fpar(11) + 4 * n if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = 6*n + 1 ipar(9) = 5*n + 1 ipar(10) = 6 return endif 70 if (ipar(3).eq.999) then if (ipar(11).eq.1) goto 900 else if (stopbis(n,ipar,1,fpar,w,w(1,3),alpha)) then goto 900 endif c c A^t * x c if (lp) then ipar(1) = 4 ipar(8) = 3*n + 1 if (rp) then ipar(9) = 4*n + 1 else ipar(9) = 5*n + 1 endif ipar(10) = 7 return endif c 80 ipar(1) = 2 if (lp) then ipar(8) = ipar(9) else ipar(8) = 3*n + 1 endif if (rp) then ipar(9) = 5*n + 1 else ipar(9) = 4*n + 1 endif ipar(10) = 8 return c 90 if (rp) then ipar(1) = 6 ipar(8) = ipar(9) ipar(9) = 4*n + 1 ipar(10) = 9 return endif c 100 ipar(7) = ipar(7) + 1 do i = 1, n w(i,2) = w(i,2) - alpha * w(i,5) enddo fpar(8) = fpar(7) fpar(7) = distdot(n,w,1,w(1,2),1) fpar(11) = fpar(11) + 4 * n if (brkdn(fpar(7), ipar)) return alpha = fpar(7) / fpar(8) do i = 1, n w(i,3) = w(i,1) + alpha * w(i,3) w(i,4) = w(i,2) + alpha * w(i,4) enddo fpar(11) = fpar(11) + 4 * n c c end of the iterations c goto 30 c c some clean up job to do c 900 if (rp) then if (ipar(1).lt.0) ipar(12) = ipar(1) ipar(1) = 5 ipar(8) = 6*n + 1 ipar(9) = ipar(8) - n ipar(10) = 10 return endif 110 if (rp) then call tidycg(n,ipar,fpar,sol,w(1,6)) else call tidycg(n,ipar,fpar,sol,w(1,7)) endif return c-----end-of-bcg end c----------------------------------------------------------------------- subroutine bcgstab(n, rhs, sol, ipar, fpar, w) implicit none integer n, ipar(16) real*8 rhs(n), sol(n), fpar(16), w(n,8) c----------------------------------------------------------------------- c BCGSTAB --- Bi Conjugate Gradient stabilized (BCGSTAB) c This is an improved BCG routine. (1) no matrix transpose is c involved. (2) the convergence is smoother. c c c Algorithm: c Initialization - r = b - A x, r0 = r, p = r, rho = (r0, r), c Iterate - c (1) v = A p c (2) alpha = rho / (r0, v) c (3) s = r - alpha v c (4) t = A s c (5) omega = (t, s) / (t, t) c (6) x = x + alpha * p + omega * s c (7) r = s - omega * t c convergence test goes here c (8) beta = rho, rho = (r0, r), beta = rho * alpha / (beta * omega) c p = r + beta * (p - omega * v) c c in this routine, before successful return, the fpar's are c fpar(3) == initial (preconditionied-)residual norm c fpar(4) == target (preconditionied-)residual norm c fpar(5) == current (preconditionied-)residual norm c fpar(6) == current residual norm or error c fpar(7) == current rho (rhok = ) c fpar(8) == alpha c fpar(9) == omega c c Usage of the work space W c w(:, 1) = r0, the initial residual vector c w(:, 2) = r, current residual vector c w(:, 3) = s c w(:, 4) = t c w(:, 5) = v c w(:, 6) = p c w(:, 7) = tmp, used in preconditioning, etc. c w(:, 8) = delta x, the correction to the answer is accumulated c here, so that the right-preconditioning may be applied c at the end c----------------------------------------------------------------------- c external routines used c real*8 distdot logical stopbis, brkdn external distdot, stopbis, brkdn c real*8 one parameter(one=1.0D0) c c local variables c integer i real*8 alpha,beta,rho,omega logical lp, rp save lp, rp c c where to go c if (ipar(1).gt.0) then goto (10, 20, 40, 50, 60, 70, 80, 90, 100, 110) ipar(10) else if (ipar(1).lt.0) then goto 900 endif c c call the initialization routine c call bisinit(ipar,fpar,8*n,1,lp,rp,w) if (ipar(1).lt.0) return c c perform a matvec to compute the initial residual c ipar(1) = 1 ipar(8) = 1 ipar(9) = 1 + n do i = 1, n w(i,1) = sol(i) enddo ipar(10) = 1 return 10 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 do i = 1, n w(i,1) = rhs(i) - w(i,2) enddo fpar(11) = fpar(11) + n if (lp) then ipar(1) = 3 ipar(10) = 2 return endif c 20 if (lp) then do i = 1, n w(i,1) = w(i,2) w(i,6) = w(i,2) enddo else do i = 1, n w(i,2) = w(i,1) w(i,6) = w(i,1) enddo endif c fpar(7) = distdot(n,w,1,w,1) fpar(11) = fpar(11) + 2 * n fpar(5) = sqrt(fpar(7)) fpar(3) = fpar(5) if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2 * n else if (ipar(3).ne.999) then fpar(4) = fpar(1) * fpar(3) + fpar(2) endif if (ipar(3).ge.0) fpar(6) = fpar(5) if (ipar(3).ge.0 .and. fpar(5).le.fpar(4) .and. + ipar(3).ne.999) then goto 900 endif c c beginning of the iterations c c Step (1), v = A p 30 if (rp) then ipar(1) = 5 ipar(8) = 5*n+1 if (lp) then ipar(9) = 4*n + 1 else ipar(9) = 6*n + 1 endif ipar(10) = 3 return endif c 40 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = 5*n+1 endif if (lp) then ipar(9) = 6*n + 1 else ipar(9) = 4*n + 1 endif ipar(10) = 4 return 50 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = 4*n + 1 ipar(10) = 5 return endif c 60 ipar(7) = ipar(7) + 1 c c step (2) alpha = distdot(n,w(1,1),1,w(1,5),1) fpar(11) = fpar(11) + 2 * n if (brkdn(alpha, ipar)) goto 900 alpha = fpar(7) / alpha fpar(8) = alpha c c step (3) do i = 1, n w(i,3) = w(i,2) - alpha * w(i,5) enddo fpar(11) = fpar(11) + 2 * n c c Step (4): the second matvec -- t = A s c if (rp) then ipar(1) = 5 ipar(8) = n+n+1 if (lp) then ipar(9) = ipar(8)+n else ipar(9) = 6*n + 1 endif ipar(10) = 6 return endif c 70 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = n+n+1 endif if (lp) then ipar(9) = 6*n + 1 else ipar(9) = 3*n + 1 endif ipar(10) = 7 return 80 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = 3*n + 1 ipar(10) = 8 return endif 90 ipar(7) = ipar(7) + 1 c c step (5) omega = distdot(n,w(1,4),1,w(1,4),1) fpar(11) = fpar(11) + n + n if (brkdn(omega,ipar)) goto 900 omega = distdot(n,w(1,4),1,w(1,3),1) / omega fpar(11) = fpar(11) + n + n if (brkdn(omega,ipar)) goto 900 fpar(9) = omega alpha = fpar(8) c c step (6) and (7) do i = 1, n w(i,7) = alpha * w(i,6) + omega * w(i,3) w(i,8) = w(i,8) + w(i,7) w(i,2) = w(i,3) - omega * w(i,4) enddo fpar(11) = fpar(11) + 6 * n + 1 c c convergence test if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = 7*n + 1 ipar(9) = 6*n + 1 ipar(10) = 9 return endif if (stopbis(n,ipar,2,fpar,w(1,2),w(1,7),one)) goto 900 100 if (ipar(3).eq.999.and.ipar(11).eq.1) goto 900 c c step (8): computing new p and rho rho = fpar(7) fpar(7) = distdot(n,w(1,2),1,w(1,1),1) omega = fpar(9) beta = fpar(7) * fpar(8) / (fpar(9) * rho) do i = 1, n w(i,6) = w(i,2) + beta * (w(i,6) - omega * w(i,5)) enddo fpar(11) = fpar(11) + 6 * n + 3 if (brkdn(fpar(7),ipar)) goto 900 c c end of an iteration c goto 30 c c some clean up job to do c 900 if (rp) then if (ipar(1).lt.0) ipar(12) = ipar(1) ipar(1) = 5 ipar(8) = 7*n + 1 ipar(9) = ipar(8) - n ipar(10) = 10 return endif 110 if (rp) then call tidycg(n,ipar,fpar,sol,w(1,7)) else call tidycg(n,ipar,fpar,sol,w(1,8)) endif c return c-----end-of-bcgstab end c----------------------------------------------------------------------- subroutine tfqmr(n, rhs, sol, ipar, fpar, w) implicit none integer n, ipar(16) real*8 rhs(n), sol(n), fpar(16), w(n,*) c----------------------------------------------------------------------- c TFQMR --- transpose-free Quasi-Minimum Residual method c This is developed from BCG based on the principle of Quasi-Minimum c Residual, and it is transpose-free. c c It uses approximate residual norm. c c Internally, the fpar's are used as following: c fpar(3) --- initial residual norm squared c fpar(4) --- target residual norm squared c fpar(5) --- current residual norm squared c c w(:,1) -- R, residual c w(:,2) -- R0, the initial residual c w(:,3) -- W c w(:,4) -- Y c w(:,5) -- Z c w(:,6) -- A * Y c w(:,7) -- A * Z c w(:,8) -- V c w(:,9) -- D c w(:,10) -- intermediate results of preconditioning c w(:,11) -- changes in the solution c----------------------------------------------------------------------- c external functions c real*8 distdot logical brkdn external brkdn, distdot c real*8 one,zero parameter(one=1.0D0,zero=0.0D0) c c local variables c integer i logical lp, rp real*8 eta,sigma,theta,te,alpha,rho,tao save c c status of the call (where to go) c if (ipar(1).le.0) ipar(10) = 0 goto (10,20,40,50,60,70,80,90,100,110), ipar(10) c c initializations c call bisinit(ipar,fpar,11*n,2,lp,rp,w) if (ipar(1).lt.0) return ipar(1) = 1 ipar(8) = 1 ipar(9) = 1 + 6*n do i = 1, n w(i,1) = sol(i) enddo ipar(10) = 1 return 10 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 do i = 1, n w(i,1) = rhs(i) - w(i,7) w(i,9) = zero enddo fpar(11) = fpar(11) + n c if (lp) then ipar(1) = 3 ipar(9) = n+1 ipar(10) = 2 return endif 20 continue if (lp) then do i = 1, n w(i,1) = w(i,2) w(i,3) = w(i,2) enddo else do i = 1, n w(i,2) = w(i,1) w(i,3) = w(i,1) enddo endif c fpar(5) = sqrt(distdot(n,w,1,w,1)) fpar(3) = fpar(5) tao = fpar(5) fpar(11) = fpar(11) + n + n if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + n + n else if (ipar(3).ne.999) then fpar(4) = fpar(1) * tao + fpar(2) endif te = zero rho = zero c c begin iteration c 30 sigma = rho rho = distdot(n,w(1,2),1,w(1,3),1) fpar(11) = fpar(11) + n + n if (brkdn(rho,ipar)) goto 900 if (ipar(7).eq.1) then alpha = zero else alpha = rho / sigma endif do i = 1, n w(i,4) = w(i,3) + alpha * w(i,5) enddo fpar(11) = fpar(11) + n + n c c A * x -- with preconditioning c if (rp) then ipar(1) = 5 ipar(8) = 3*n + 1 if (lp) then ipar(9) = 5*n + 1 else ipar(9) = 9*n + 1 endif ipar(10) = 3 return endif c 40 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = 3*n + 1 endif if (lp) then ipar(9) = 9*n + 1 else ipar(9) = 5*n + 1 endif ipar(10) = 4 return c 50 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = 5*n + 1 ipar(10) = 5 return endif 60 ipar(7) = ipar(7) + 1 do i = 1, n w(i,8) = w(i,6) + alpha * (w(i,7) + alpha * w(i,8)) enddo sigma = distdot(n,w(1,2),1,w(1,8),1) fpar(11) = fpar(11) + 6 * n if (brkdn(sigma,ipar)) goto 900 alpha = rho / sigma do i = 1, n w(i,5) = w(i,4) - alpha * w(i,8) enddo fpar(11) = fpar(11) + 2*n c c the second A * x c if (rp) then ipar(1) = 5 ipar(8) = 4*n + 1 if (lp) then ipar(9) = 6*n + 1 else ipar(9) = 9*n + 1 endif ipar(10) = 6 return endif c 70 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = 4*n + 1 endif if (lp) then ipar(9) = 9*n + 1 else ipar(9) = 6*n + 1 endif ipar(10) = 7 return c 80 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = 6*n + 1 ipar(10) = 8 return endif 90 ipar(7) = ipar(7) + 1 do i = 1, n w(i,3) = w(i,3) - alpha * w(i,6) enddo c c update I c theta = distdot(n,w(1,3),1,w(1,3),1) / (tao*tao) sigma = one / (one + theta) tao = tao * sqrt(sigma * theta) fpar(11) = fpar(11) + 4*n + 6 if (brkdn(tao,ipar)) goto 900 eta = sigma * alpha sigma = te / alpha te = theta * eta do i = 1, n w(i,9) = w(i,4) + sigma * w(i,9) w(i,11) = w(i,11) + eta * w(i,9) w(i,3) = w(i,3) - alpha * w(i,7) enddo fpar(11) = fpar(11) + 6 * n + 6 if (ipar(7).eq.1) then if (ipar(3).eq.-1) then fpar(3) = eta * sqrt(distdot(n,w(1,9),1,w(1,9),1)) fpar(4) = fpar(1)*fpar(3) + fpar(2) fpar(11) = fpar(11) + n + n + 4 endif endif c c update II c theta = distdot(n,w(1,3),1,w(1,3),1) / (tao*tao) sigma = one / (one + theta) tao = tao * sqrt(sigma * theta) fpar(11) = fpar(11) + 8 + 2*n if (brkdn(tao,ipar)) goto 900 eta = sigma * alpha sigma = te / alpha te = theta * eta do i = 1, n w(i,9) = w(i,5) + sigma * w(i,9) w(i,11) = w(i,11) + eta * w(i,9) enddo fpar(11) = fpar(11) + 4*n + 3 c c this is the correct over-estimate c fpar(5) = sqrt(real(ipar(7)+1)) * tao c this is an approximation fpar(5) = tao if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = 10*n + 1 ipar(9) = 9*n + 1 ipar(10) = 9 return else if (ipar(3).lt.0) then fpar(6) = eta * sqrt(distdot(n,w(1,9),1,w(1,9),1)) fpar(11) = fpar(11) + n + n + 2 else fpar(6) = fpar(5) endif if (fpar(6).gt.fpar(4) .and. (ipar(7).lt.ipar(6) + .or. ipar(6).le.0)) goto 30 100 if (ipar(3).eq.999.and.ipar(11).eq.0) goto 30 c c clean up c 900 if (rp) then if (ipar(1).lt.0) ipar(12) = ipar(1) ipar(1) = 5 ipar(8) = 10*n + 1 ipar(9) = ipar(8) - n ipar(10) = 10 return endif 110 if (rp) then call tidycg(n,ipar,fpar,sol,w(1,10)) else call tidycg(n,ipar,fpar,sol,w(1,11)) endif c return end c-----end-of-tfqmr c----------------------------------------------------------------------- subroutine fom(n, rhs, sol, ipar, fpar, w) implicit none integer n, ipar(16) real*8 rhs(n), sol(n), fpar(16), w(*) c----------------------------------------------------------------------- c This a version of The Full Orthogonalization Method (FOM) c implemented with reverse communication. It is a simple restart c version of the FOM algorithm and is implemented with plane c rotations similarly to GMRES. c c parameters: c ----------- c ipar(5) == the dimension of the Krylov subspace c after every ipar(5) iterations, the FOM will restart with c the updated solution and recomputed residual vector. c c the work space in `w' is used as follows: c (1) the basis for the Krylov subspace, size n*(m+1); c (2) the Hessenberg matrix, only the upper triangular c portion of the matrix is stored, size (m+1)*m/2 + 1 c (3) three vectors, all are of size m, they are c the cosine and sine of the Givens rotations, the third one holds c the residuals, it is of size m+1. c c TOTAL SIZE REQUIRED == (n+3)*(m+2) + (m+1)*m/2 c Note: m == ipar(5). The default value for this is 15 if c ipar(5) <= 1. c----------------------------------------------------------------------- c external functions used c real*8 distdot external distdot c real*8 one, zero parameter(one=1.0D0, zero=0.0D0) c c local variables, ptr and p2 are temporary pointers, c hes points to the Hessenberg matrix, c vc, vs point to the cosines and sines of the Givens rotations c vrn points to the vectors of residual norms, more precisely c the right hand side of the least square problem solved. c integer i,ii,idx,k,m,ptr,p2,prs,hes,vc,vs,vrn real*8 alpha, c, s logical lp, rp save c c check the status of the call c if (ipar(1).le.0) ipar(10) = 0 goto (10, 20, 30, 40, 50, 60, 70) ipar(10) c c initialization c if (ipar(5).le.1) then m = 15 else m = ipar(5) endif idx = n * (m+1) hes = idx + n vc = hes + (m+1) * m / 2 + 1 vs = vc + m vrn = vs + m i = vrn + m + 1 call bisinit(ipar,fpar,i,1,lp,rp,w) if (ipar(1).lt.0) return c c request for matrix vector multiplication A*x in the initialization c 100 ipar(1) = 1 ipar(8) = n+1 ipar(9) = 1 ipar(10) = 1 k = 0 do i = 1, n w(n+i) = sol(i) enddo return 10 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 if (lp) then do i = 1, n w(n+i) = rhs(i) - w(i) enddo ipar(1) = 3 ipar(10) = 2 return else do i = 1, n w(i) = rhs(i) - w(i) enddo endif fpar(11) = fpar(11) + n c 20 alpha = sqrt(distdot(n,w,1,w,1)) fpar(11) = fpar(11) + 2*n + 1 if (ipar(7).eq.1 .and. ipar(3).ne.999) then if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2*n else fpar(4) = fpar(1) * alpha + fpar(2) endif fpar(3) = alpha endif fpar(5) = alpha w(vrn+1) = alpha if (alpha.le.fpar(4) .and. ipar(3).ge.0 .and. ipar(3).ne.999) then ipar(1) = 0 fpar(6) = alpha goto 300 endif alpha = one / alpha do ii = 1, n w(ii) = alpha * w(ii) enddo fpar(11) = fpar(11) + n c c request for (1) right preconditioning c (2) matrix vector multiplication c (3) left preconditioning c 110 k = k + 1 if (rp) then ipar(1) = 5 ipar(8) = k*n - n + 1 if (lp) then ipar(9) = k*n + 1 else ipar(9) = idx + 1 endif ipar(10) = 3 return endif c 30 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = (k-1)*n + 1 endif if (lp) then ipar(9) = idx + 1 else ipar(9) = 1 + k*n endif ipar(10) = 4 return c 40 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = k*n + 1 ipar(10) = 5 return endif c c Modified Gram-Schmidt orthogonalization procedure c temporary pointer 'ptr' is pointing to the current column of the c Hessenberg matrix. 'p2' points to the new basis vector c 50 ipar(7) = ipar(7) + 1 ptr = k * (k - 1) / 2 + hes p2 = ipar(9) call mgsro(.false.,n,n,k+1,k+1,fpar(11),w,w(ptr+1), $ ipar(12)) if (ipar(12).lt.0) goto 200 c c apply previous Givens rotations to column. c p2 = ptr + 1 do i = 1, k-1 ptr = p2 p2 = p2 + 1 alpha = w(ptr) c = w(vc+i) s = w(vs+i) w(ptr) = c * alpha + s * w(p2) w(p2) = c * w(p2) - s * alpha enddo c c end of one Arnoldi iteration, alpha will store the estimated c residual norm at current stage c fpar(11) = fpar(11) + 6*k prs = vrn+k alpha = fpar(5) if (w(p2) .ne. zero) alpha = abs(w(p2+1)*w(prs)/w(p2)) fpar(5) = alpha c if (k.ge.m .or. (ipar(3).ge.0 .and. alpha.le.fpar(4)) + .or. (ipar(6).gt.0 .and. ipar(7).ge.ipar(6))) + goto 200 c call givens(w(p2), w(p2+1), c, s) w(vc+k) = c w(vs+k) = s alpha = - s * w(prs) w(prs) = c * w(prs) w(prs+1) = alpha c if (w(p2).ne.zero) goto 110 c c update the approximate solution, first solve the upper triangular c system, temporary pointer ptr points to the Hessenberg matrix, c prs points to the right-hand-side (also the solution) of the system. c 200 ptr = hes + k * (k + 1) / 2 prs = vrn + k if (w(ptr).eq.zero) then c c if the diagonal elements of the last column is zero, reduce k by 1 c so that a smaller trianguler system is solved c k = k - 1 if (k.gt.0) then goto 200 else ipar(1) = -3 ipar(12) = -4 goto 300 endif endif w(prs) = w(prs) / w(ptr) do i = k-1, 1, -1 ptr = ptr - i - 1 do ii = 1, i w(vrn+ii) = w(vrn+ii) - w(prs) * w(ptr+ii) enddo prs = prs - 1 w(prs) = w(prs) / w(ptr) enddo c do ii = 1, n w(ii) = w(ii) * w(prs) enddo do i = 1, k-1 prs = prs + 1 ptr = i*n do ii = 1, n w(ii) = w(ii) + w(prs) * w(ptr+ii) enddo enddo fpar(11) = fpar(11) + 2*(k-1)*n + n + k*(k+1) c if (rp) then ipar(1) = 5 ipar(8) = 1 ipar(9) = idx + 1 ipar(10) = 6 return endif c 60 if (rp) then do i = 1, n sol(i) = sol(i) + w(idx+i) enddo else do i = 1, n sol(i) = sol(i) + w(i) enddo endif fpar(11) = fpar(11) + n c c process the complete stopping criteria c if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = -1 ipar(9) = idx + 1 ipar(10) = 7 return else if (ipar(3).lt.0) then if (ipar(7).le.m+1) then fpar(3) = abs(w(vrn+1)) if (ipar(3).eq.-1) fpar(4) = fpar(1)*fpar(3)+fpar(2) endif alpha = abs(w(vrn+k)) endif fpar(6) = alpha c c do we need to restart ? c 70 if (ipar(12).ne.0) then ipar(1) = -3 goto 300 endif if (ipar(7).lt.ipar(6) .or. ipar(6).le.0) then if (ipar(3).ne.999) then if (fpar(6).gt.fpar(4)) goto 100 else if (ipar(11).eq.0) goto 100 endif endif c c termination, set error code, compute convergence rate c if (ipar(1).gt.0) then if (ipar(3).eq.999 .and. ipar(11).eq.1) then ipar(1) = 0 else if (ipar(3).ne.999 .and. fpar(6).le.fpar(4)) then ipar(1) = 0 else if (ipar(7).ge.ipar(6) .and. ipar(6).gt.0) then ipar(1) = -1 else ipar(1) = -10 endif endif 300 if (fpar(3).ne.zero .and. fpar(6).ne.zero .and. + ipar(7).gt.ipar(13)) then fpar(7) = log10(fpar(3) / fpar(6)) / dble(ipar(7)-ipar(13)) else fpar(7) = zero endif return end c-----end-of-fom-------------------------------------------------------- c----------------------------------------------------------------------- subroutine gmres(n, rhs, sol, ipar, fpar, w) implicit none integer n, ipar(16) real*8 rhs(n), sol(n), fpar(16), w(*) c----------------------------------------------------------------------- c This a version of GMRES implemented with reverse communication. c It is a simple restart version of the GMRES algorithm. c c ipar(5) == the dimension of the Krylov subspace c after every ipar(5) iterations, the GMRES will restart with c the updated solution and recomputed residual vector. c c the space of the `w' is used as follows: c (1) the basis for the Krylov subspace, size n*(m+1); c (2) the Hessenberg matrix, only the upper triangular c portion of the matrix is stored, size (m+1)*m/2 + 1 c (3) three vectors, all are of size m, they are c the cosine and sine of the Givens rotations, the third one holds c the residuals, it is of size m+1. c c TOTAL SIZE REQUIRED == (n+3)*(m+2) + (m+1)*m/2 c Note: m == ipar(5). The default value for this is 15 if c ipar(5) <= 1. c----------------------------------------------------------------------- c external functions used c real*8 distdot external distdot c real*8 one, zero parameter(one=1.0D0, zero=0.0D0) c c local variables, ptr and p2 are temporary pointers, c hess points to the Hessenberg matrix, c vc, vs point to the cosines and sines of the Givens rotations c vrn points to the vectors of residual norms, more precisely c the right hand side of the least square problem solved. c integer i,ii,idx,k,m,ptr,p2,hess,vc,vs,vrn real*8 alpha, c, s logical lp, rp save c c check the status of the call c if (ipar(1).le.0) ipar(10) = 0 goto (10, 20, 30, 40, 50, 60, 70) ipar(10) c c initialization c if (ipar(5).le.1) then m = 15 else m = ipar(5) endif idx = n * (m+1) hess = idx + n vc = hess + (m+1) * m / 2 + 1 vs = vc + m vrn = vs + m i = vrn + m + 1 call bisinit(ipar,fpar,i,1,lp,rp,w) if (ipar(1).lt.0) return c c request for matrix vector multiplication A*x in the initialization c 100 ipar(1) = 1 ipar(8) = n+1 ipar(9) = 1 ipar(10) = 1 k = 0 do i = 1, n w(n+i) = sol(i) enddo return 10 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 if (lp) then do i = 1, n w(n+i) = rhs(i) - w(i) enddo ipar(1) = 3 ipar(10) = 2 return else do i = 1, n w(i) = rhs(i) - w(i) enddo endif fpar(11) = fpar(11) + n c 20 alpha = sqrt(distdot(n,w,1,w,1)) fpar(11) = fpar(11) + 2*n if (ipar(7).eq.1 .and. ipar(3).ne.999) then if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2*n else fpar(4) = fpar(1) * alpha + fpar(2) endif fpar(3) = alpha endif fpar(5) = alpha w(vrn+1) = alpha if (alpha.le.fpar(4) .and. ipar(3).ge.0 .and. ipar(3).ne.999) then ipar(1) = 0 fpar(6) = alpha goto 300 endif alpha = one / alpha do ii = 1, n w(ii) = alpha * w(ii) enddo fpar(11) = fpar(11) + n c c request for (1) right preconditioning c (2) matrix vector multiplication c (3) left preconditioning c 110 k = k + 1 if (rp) then ipar(1) = 5 ipar(8) = k*n - n + 1 if (lp) then ipar(9) = k*n + 1 else ipar(9) = idx + 1 endif ipar(10) = 3 return endif c 30 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = (k-1)*n + 1 endif if (lp) then ipar(9) = idx + 1 else ipar(9) = 1 + k*n endif ipar(10) = 4 return c 40 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = k*n + 1 ipar(10) = 5 return endif c c Modified Gram-Schmidt orthogonalization procedure c temporary pointer 'ptr' is pointing to the current column of the c Hessenberg matrix. 'p2' points to the new basis vector c 50 ipar(7) = ipar(7) + 1 ptr = k * (k - 1) / 2 + hess p2 = ipar(9) call mgsro(.false.,n,n,k+1,k+1,fpar(11),w,w(ptr+1), $ ipar(12)) if (ipar(12).lt.0) goto 200 c c apply previous Givens rotations and generate a new one to eliminate c the subdiagonal element. c p2 = ptr + 1 do i = 1, k-1 ptr = p2 p2 = p2 + 1 alpha = w(ptr) c = w(vc+i) s = w(vs+i) w(ptr) = c * alpha + s * w(p2) w(p2) = c * w(p2) - s * alpha enddo call givens(w(p2), w(p2+1), c, s) w(vc+k) = c w(vs+k) = s p2 = vrn + k alpha = - s * w(p2) w(p2) = c * w(p2) w(p2+1) = alpha c c end of one Arnoldi iteration, alpha will store the estimated c residual norm at current stage c fpar(11) = fpar(11) + 6*k + 2 alpha = abs(alpha) fpar(5) = alpha if (k.lt.m .and. .not.(ipar(3).ge.0 .and. alpha.le.fpar(4)) + .and. (ipar(6).le.0 .or. ipar(7).lt.ipar(6))) goto 110 c c update the approximate solution, first solve the upper triangular c system, temporary pointer ptr points to the Hessenberg matrix, c p2 points to the right-hand-side (also the solution) of the system. c 200 ptr = hess + k * (k + 1) / 2 p2 = vrn + k if (w(ptr).eq.zero) then c c if the diagonal elements of the last column is zero, reduce k by 1 c so that a smaller trianguler system is solved [It should only c happen when the matrix is singular, and at most once!] c k = k - 1 if (k.gt.0) then goto 200 else ipar(1) = -3 ipar(12) = -4 goto 300 endif endif w(p2) = w(p2) / w(ptr) do i = k-1, 1, -1 ptr = ptr - i - 1 do ii = 1, i w(vrn+ii) = w(vrn+ii) - w(p2) * w(ptr+ii) enddo p2 = p2 - 1 w(p2) = w(p2) / w(ptr) enddo c do ii = 1, n w(ii) = w(ii) * w(p2) enddo do i = 1, k-1 ptr = i*n p2 = p2 + 1 do ii = 1, n w(ii) = w(ii) + w(p2) * w(ptr+ii) enddo enddo fpar(11) = fpar(11) + 2*k*n - n + k*(k+1) c if (rp) then ipar(1) = 5 ipar(8) = 1 ipar(9) = idx + 1 ipar(10) = 6 return endif c 60 if (rp) then do i = 1, n sol(i) = sol(i) + w(idx+i) enddo else do i = 1, n sol(i) = sol(i) + w(i) enddo endif fpar(11) = fpar(11) + n c c process the complete stopping criteria c if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = -1 ipar(9) = idx + 1 ipar(10) = 7 return else if (ipar(3).lt.0) then if (ipar(7).le.m+1) then fpar(3) = abs(w(vrn+1)) if (ipar(3).eq.-1) fpar(4) = fpar(1)*fpar(3)+fpar(2) endif fpar(6) = abs(w(vrn+k)) else fpar(6) = fpar(5) endif c c do we need to restart ? c 70 if (ipar(12).ne.0) then ipar(1) = -3 goto 300 endif if ((ipar(7).lt.ipar(6) .or. ipar(6).le.0) .and. + ((ipar(3).eq.999.and.ipar(11).eq.0) .or. + (ipar(3).ne.999.and.fpar(6).gt.fpar(4)))) goto 100 c c termination, set error code, compute convergence rate c if (ipar(1).gt.0) then if (ipar(3).eq.999 .and. ipar(11).eq.1) then ipar(1) = 0 else if (ipar(3).ne.999 .and. fpar(6).le.fpar(4)) then ipar(1) = 0 else if (ipar(7).ge.ipar(6) .and. ipar(6).gt.0) then ipar(1) = -1 else ipar(1) = -10 endif endif 300 if (fpar(3).ne.zero .and. fpar(6).ne.zero .and. + ipar(7).gt.ipar(13)) then fpar(7) = log10(fpar(3) / fpar(6)) / dble(ipar(7)-ipar(13)) else fpar(7) = zero endif return end c-----end-of-gmres c----------------------------------------------------------------------- subroutine dqgmres(n, rhs, sol, ipar, fpar, w) implicit none integer n, ipar(16) real*8 rhs(n), sol(n), fpar(16), w(*) c----------------------------------------------------------------------- c DQGMRES -- Flexible Direct version of Quasi-General Minimum c Residual method. The right preconditioning can be varied from c step to step. c c Work space used = n + lb * (2*n+4) c where lb = ipar(5) + 1 (default 16 if ipar(5) <= 1) c----------------------------------------------------------------------- c local variables c real*8 one,zero,deps parameter(one=1.0D0,zero=0.0D0) parameter(deps=1.0D-33) c integer i,ii,j,jp1,j0,k,ptrw,ptrv,iv,iw,ic,is,ihm,ihd,lb,ptr real*8 alpha,beta,psi,c,s,distdot logical lp,rp,full external distdot,bisinit save c c where to go c if (ipar(1).le.0) ipar(10) = 0 goto (10, 20, 40, 50, 60, 70) ipar(10) c c locations of the work arrays. The arrangement is as follows: c w(1:n) -- temporary storage for the results of the preconditioning c w(iv+1:iw) -- the V's c w(iw+1:ic) -- the W's c w(ic+1:is) -- the COSINEs of the Givens rotations c w(is+1:ihm) -- the SINEs of the Givens rotations c w(ihm+1:ihd) -- the last column of the Hessenberg matrix c w(ihd+1:i) -- the inverse of the diagonals of the Hessenberg matrix c if (ipar(5).le.1) then lb = 16 else lb = ipar(5) + 1 endif iv = n iw = iv + lb * n ic = iw + lb * n is = ic + lb ihm = is + lb ihd = ihm + lb i = ihd + lb c c parameter check, initializations c full = .false. call bisinit(ipar,fpar,i,1,lp,rp,w) if (ipar(1).lt.0) return ipar(1) = 1 if (lp) then do ii = 1, n w(iv+ii) = sol(ii) enddo ipar(8) = iv+1 ipar(9) = 1 else do ii = 1, n w(ii) = sol(ii) enddo ipar(8) = 1 ipar(9) = iv+1 endif ipar(10) = 1 return c 10 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 if (lp) then do i = 1, n w(i) = rhs(i) - w(i) enddo ipar(1) = 3 ipar(8) = 1 ipar(9) = iv+1 ipar(10) = 2 return else do i = 1, n w(iv+i) = rhs(i) - w(iv+i) enddo endif fpar(11) = fpar(11) + n c 20 alpha = sqrt(distdot(n, w(iv+1), 1, w(iv+1), 1)) fpar(11) = fpar(11) + (n + n) if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2*n else if (ipar(3).ne.999) then fpar(4) = fpar(1) * alpha + fpar(2) endif fpar(3) = alpha fpar(5) = alpha psi = alpha if (alpha.le.fpar(4)) then ipar(1) = 0 fpar(6) = alpha goto 80 endif alpha = one / alpha do i = 1, n w(iv+i) = w(iv+i) * alpha enddo fpar(11) = fpar(11) + n j = 0 c c iterations start here c 30 j = j + 1 if (j.gt.lb) j = j - lb jp1 = j + 1 if (jp1.gt.lb) jp1 = jp1 - lb ptrv = iv + (j-1)*n + 1 ptrw = iv + (jp1-1)*n + 1 if (.not.full) then if (j.gt.jp1) full = .true. endif if (full) then j0 = jp1+1 if (j0.gt.lb) j0 = j0 - lb else j0 = 1 endif c c request the caller to perform matrix-vector multiplication and c preconditioning c if (rp) then ipar(1) = 5 ipar(8) = ptrv ipar(9) = ptrv + iw - iv ipar(10) = 3 return else do i = 0, n-1 w(ptrv+iw-iv+i) = w(ptrv+i) enddo endif c 40 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = ptrv endif if (lp) then ipar(9) = 1 else ipar(9) = ptrw endif ipar(10) = 4 return c 50 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = ptrw ipar(10) = 5 return endif c c compute the last column of the Hessenberg matrix c modified Gram-schmidt procedure, orthogonalize against (lb-1) c previous vectors c 60 continue call mgsro(full,n,n,lb,jp1,fpar(11),w(iv+1),w(ihm+1), $ ipar(12)) if (ipar(12).lt.0) then ipar(1) = -3 goto 80 endif beta = w(ihm+jp1) c c incomplete factorization (QR factorization through Givens rotations) c (1) apply previous rotations [(lb-1) of them] c (2) generate a new rotation c if (full) then w(ihm+jp1) = w(ihm+j0) * w(is+jp1) w(ihm+j0) = w(ihm+j0) * w(ic+jp1) endif i = j0 do while (i.ne.j) k = i+1 if (k.gt.lb) k = k - lb c = w(ic+i) s = w(is+i) alpha = w(ihm+i) w(ihm+i) = c * alpha + s * w(ihm+k) w(ihm+k) = c * w(ihm+k) - s * alpha i = k enddo call givens(w(ihm+j), beta, c, s) if (full) then fpar(11) = fpar(11) + 6 * lb else fpar(11) = fpar(11) + 6 * j endif c c detect whether diagonal element of this column is zero c if (abs(w(ihm+j)).lt.deps) then ipar(1) = -3 goto 80 endif w(ihd+j) = one / w(ihm+j) w(ic+j) = c w(is+j) = s c c update the W's (the conjugate directions) -- essentially this is one c step of triangular solve. c ptrw = iw+(j-1)*n + 1 if (full) then do i = j+1, lb alpha = -w(ihm+i)*w(ihd+i) ptr = iw+(i-1)*n+1 do ii = 0, n-1 w(ptrw+ii) = w(ptrw+ii) + alpha * w(ptr+ii) enddo enddo endif do i = 1, j-1 alpha = -w(ihm+i)*w(ihd+i) ptr = iw+(i-1)*n+1 do ii = 0, n-1 w(ptrw+ii) = w(ptrw+ii) + alpha * w(ptr+ii) enddo enddo c c update the solution to the linear system c alpha = psi * c * w(ihd+j) psi = - s * psi do i = 1, n sol(i) = sol(i) + alpha * w(ptrw-1+i) enddo if (full) then fpar(11) = fpar(11) + lb * (n+n) else fpar(11) = fpar(11) + j * (n+n) endif c c determine whether to continue, c compute the desired error/residual norm c ipar(7) = ipar(7) + 1 fpar(5) = abs(psi) if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = -1 ipar(9) = 1 ipar(10) = 6 return endif if (ipar(3).lt.0) then alpha = abs(alpha) if (ipar(7).eq.2 .and. ipar(3).eq.-1) then fpar(3) = alpha*sqrt(distdot(n, w(ptrw), 1, w(ptrw), 1)) fpar(4) = fpar(1) * fpar(3) + fpar(2) fpar(6) = fpar(3) else fpar(6) = alpha*sqrt(distdot(n, w(ptrw), 1, w(ptrw), 1)) endif fpar(11) = fpar(11) + 2 * n else fpar(6) = fpar(5) endif if (ipar(1).ge.0 .and. fpar(6).gt.fpar(4) .and. (ipar(6).le.0 + .or. ipar(7).lt.ipar(6))) goto 30 70 if (ipar(3).eq.999 .and. ipar(11).eq.0) goto 30 c c clean up the iterative solver c 80 fpar(7) = zero if (fpar(3).ne.zero .and. fpar(6).ne.zero .and. + ipar(7).gt.ipar(13)) + fpar(7) = log10(fpar(3) / fpar(6)) / dble(ipar(7)-ipar(13)) if (ipar(1).gt.0) then if (ipar(3).eq.999 .and. ipar(11).ne.0) then ipar(1) = 0 else if (fpar(6).le.fpar(4)) then ipar(1) = 0 else if (ipar(6).gt.0 .and. ipar(7).ge.ipar(6)) then ipar(1) = -1 else ipar(1) = -10 endif endif return end c-----end-of-dqgmres c----------------------------------------------------------------------- subroutine fgmres(n, rhs, sol, ipar, fpar, w) implicit none integer n, ipar(16) real*8 rhs(n), sol(n), fpar(16), w(*) c----------------------------------------------------------------------- c This a version of FGMRES implemented with reverse communication. c c ipar(5) == the dimension of the Krylov subspace c c the space of the `w' is used as follows: c >> V: the bases for the Krylov subspace, size n*(m+1); c >> W: the above bases after (left-)multiplying with the c right-preconditioner inverse, size m*n; c >> a temporary vector of size n; c >> the Hessenberg matrix, only the upper triangular portion c of the matrix is stored, size (m+1)*m/2 + 1 c >> three vectors, first two are of size m, they are the cosine c and sine of the Givens rotations, the third one holds the c residuals, it is of size m+1. c c TOTAL SIZE REQUIRED == n*(2m+1) + (m+1)*m/2 + 3*m + 2 c Note: m == ipar(5). The default value for this is 15 if c ipar(5) <= 1. c----------------------------------------------------------------------- c external functions used c real*8 distdot external distdot c real*8 one, zero parameter(one=1.0D0, zero=0.0D0) c c local variables, ptr and p2 are temporary pointers, c hess points to the Hessenberg matrix, c vc, vs point to the cosines and sines of the Givens rotations c vrn points to the vectors of residual norms, more precisely c the right hand side of the least square problem solved. c integer i,ii,idx,iz,k,m,ptr,p2,hess,vc,vs,vrn real*8 alpha, c, s logical lp, rp save c c check the status of the call c if (ipar(1).le.0) ipar(10) = 0 goto (10, 20, 30, 40, 50, 60) ipar(10) c c initialization c if (ipar(5).le.1) then m = 15 else m = ipar(5) endif idx = n * (m+1) iz = idx + n hess = iz + n*m vc = hess + (m+1) * m / 2 + 1 vs = vc + m vrn = vs + m i = vrn + m + 1 call bisinit(ipar,fpar,i,1,lp,rp,w) if (ipar(1).lt.0) return c c request for matrix vector multiplication A*x in the initialization c 100 ipar(1) = 1 ipar(8) = n+1 ipar(9) = 1 ipar(10) = 1 k = 0 do ii = 1, n w(ii+n) = sol(ii) enddo return 10 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 fpar(11) = fpar(11) + n if (lp) then do i = 1, n w(n+i) = rhs(i) - w(i) enddo ipar(1) = 3 ipar(10) = 2 return else do i = 1, n w(i) = rhs(i) - w(i) enddo endif c 20 alpha = sqrt(distdot(n,w,1,w,1)) fpar(11) = fpar(11) + n + n if (ipar(7).eq.1 .and. ipar(3).ne.999) then if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2*n else fpar(4) = fpar(1) * alpha + fpar(2) endif fpar(3) = alpha endif fpar(5) = alpha w(vrn+1) = alpha if (alpha.le.fpar(4) .and. ipar(3).ge.0 .and. ipar(3).ne.999) then ipar(1) = 0 fpar(6) = alpha goto 300 endif alpha = one / alpha do ii = 1, n w(ii) = w(ii) * alpha enddo fpar(11) = fpar(11) + n c c request for (1) right preconditioning c (2) matrix vector multiplication c (3) left preconditioning c 110 k = k + 1 if (rp) then ipar(1) = 5 ipar(8) = k*n - n + 1 ipar(9) = iz + ipar(8) ipar(10) = 3 return else do ii = 0, n-1 w(iz+k*n-ii) = w(k*n-ii) enddo endif c 30 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = (k-1)*n + 1 endif if (lp) then ipar(9) = idx + 1 else ipar(9) = 1 + k*n endif ipar(10) = 4 return c 40 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = k*n + 1 ipar(10) = 5 return endif c c Modified Gram-Schmidt orthogonalization procedure c temporary pointer 'ptr' is pointing to the current column of the c Hessenberg matrix. 'p2' points to the new basis vector c 50 ptr = k * (k - 1) / 2 + hess p2 = ipar(9) ipar(7) = ipar(7) + 1 call mgsro(.false.,n,n,k+1,k+1,fpar(11),w,w(ptr+1), $ ipar(12)) if (ipar(12).lt.0) goto 200 c c apply previous Givens rotations and generate a new one to eliminate c the subdiagonal element. c p2 = ptr + 1 do i = 1, k-1 ptr = p2 p2 = p2 + 1 alpha = w(ptr) c = w(vc+i) s = w(vs+i) w(ptr) = c * alpha + s * w(p2) w(p2) = c * w(p2) - s * alpha enddo call givens(w(p2), w(p2+1), c, s) w(vc+k) = c w(vs+k) = s p2 = vrn + k alpha = - s * w(p2) w(p2) = c * w(p2) w(p2+1) = alpha fpar(11) = fpar(11) + 6 * k c c end of one Arnoldi iteration, alpha will store the estimated c residual norm at current stage c alpha = abs(alpha) fpar(5) = alpha if (k.lt.m .and. .not.(ipar(3).ge.0 .and. alpha.le.fpar(4)) + .and. (ipar(6).le.0 .or. ipar(7).lt.ipar(6))) goto 110 c c update the approximate solution, first solve the upper triangular c system, temporary pointer ptr points to the Hessenberg matrix, c p2 points to the right-hand-side (also the solution) of the system. c 200 ptr = hess + k * (k + 1 ) / 2 p2 = vrn + k if (w(ptr).eq.zero) then c c if the diagonal elements of the last column is zero, reduce k by 1 c so that a smaller trianguler system is solved [It should only c happen when the matrix is singular!] c k = k - 1 if (k.gt.0) then goto 200 else ipar(1) = -3 ipar(12) = -4 goto 300 endif endif w(p2) = w(p2) / w(ptr) do i = k-1, 1, -1 ptr = ptr - i - 1 do ii = 1, i w(vrn+ii) = w(vrn+ii) - w(p2) * w(ptr+ii) enddo p2 = p2 - 1 w(p2) = w(p2) / w(ptr) enddo c do i = 0, k-1 ptr = iz+i*n do ii = 1, n sol(ii) = sol(ii) + w(p2)*w(ptr+ii) enddo p2 = p2 + 1 enddo fpar(11) = fpar(11) + 2*k*n + k*(k+1) c c process the complete stopping criteria c if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = -1 ipar(9) = idx + 1 ipar(10) = 6 return else if (ipar(3).lt.0) then if (ipar(7).le.m+1) then fpar(3) = abs(w(vrn+1)) if (ipar(3).eq.-1) fpar(4) = fpar(1)*fpar(3)+fpar(2) endif fpar(6) = abs(w(vrn+k)) else if (ipar(3).ne.999) then fpar(6) = fpar(5) endif c c do we need to restart ? c 60 if (ipar(12).ne.0) then ipar(1) = -3 goto 300 endif if ((ipar(7).lt.ipar(6) .or. ipar(6).le.0).and. + ((ipar(3).eq.999.and.ipar(11).eq.0) .or. + (ipar(3).ne.999.and.fpar(6).gt.fpar(4)))) goto 100 c c termination, set error code, compute convergence rate c if (ipar(1).gt.0) then if (ipar(3).eq.999 .and. ipar(11).eq.1) then ipar(1) = 0 else if (ipar(3).ne.999 .and. fpar(6).le.fpar(4)) then ipar(1) = 0 else if (ipar(7).ge.ipar(6) .and. ipar(6).gt.0) then ipar(1) = -1 else ipar(1) = -10 endif endif 300 if (fpar(3).ne.zero .and. fpar(6).ne.zero .and. $ ipar(7).gt.ipar(13)) then fpar(7) = log10(fpar(3) / fpar(6)) / dble(ipar(7)-ipar(13)) else fpar(7) = zero endif return end c-----end-of-fgmres c----------------------------------------------------------------------- subroutine dbcg (n,rhs,sol,ipar,fpar,w) implicit none integer n,ipar(16) real*8 rhs(n), sol(n), fpar(16), w(n,*) c----------------------------------------------------------------------- c Quasi GMRES method for solving a linear c system of equations a * sol = y. double precision version. c this version is without restarting and without preconditioning. c parameters : c ----------- c n = dimension of the problem c c y = w(:,1) a temporary storage used for various operations c z = w(:,2) a work vector of length n. c v = w(:,3:4) size n x 2 c w = w(:,5:6) size n x 2 c p = w(:,7:9) work array of dimension n x 3 c del x = w(:,10) accumulation of the changes in solution c tmp = w(:,11) a temporary vector used to hold intermediate result of c preconditioning, etc. c c sol = the solution of the problem . at input sol must contain an c initial guess to the solution. c *** note: y is destroyed on return. c c----------------------------------------------------------------------- c subroutines and functions called: c 1) matrix vector multiplication and preconditioning through reverse c communication c c 2) implu, uppdir, distdot (blas) c----------------------------------------------------------------------- c aug. 1983 version. author youcef saad. yale university computer c science dept. some changes made july 3, 1986. c references: siam j. sci. stat. comp., vol. 5, pp. 203-228 (1984) c----------------------------------------------------------------------- c local variables c real*8 one,zero parameter(one=1.0D0,zero=0.0D0) c real*8 t,sqrt,distdot,ss,res,beta,ss1,delta,x,zeta,umm integer k,j,i,i2,ip2,ju,lb,lbm1,np,indp logical lp,rp,full, perm(3) real*8 ypiv(3),u(3),usav(3) external tidycg save c c where to go c if (ipar(1).le.0) ipar(10) = 0 goto (110, 120, 130, 140, 150, 160, 170, 180, 190, 200) ipar(10) c c initialization, parameter checking, clear the work arrays c call bisinit(ipar,fpar,11*n,1,lp,rp,w) if (ipar(1).lt.0) return perm(1) = .false. perm(2) = .false. perm(3) = .false. usav(1) = zero usav(2) = zero usav(3) = zero ypiv(1) = zero ypiv(2) = zero ypiv(3) = zero c----------------------------------------------------------------------- c initialize constants for outer loop : c----------------------------------------------------------------------- lb = 3 lbm1 = 2 c c get initial residual vector and norm c ipar(1) = 1 ipar(8) = 1 ipar(9) = 1 + n do i = 1, n w(i,1) = sol(i) enddo ipar(10) = 1 return 110 ipar(7) = ipar(7) + 1 ipar(13) = ipar(13) + 1 if (lp) then do i = 1, n w(i,1) = rhs(i) - w(i,2) enddo ipar(1) = 3 ipar(8) = 1 ipar(9) = n+n+1 ipar(10) = 2 return else do i = 1, n w(i,3) = rhs(i) - w(i,2) enddo endif fpar(11) = fpar(11) + n c 120 fpar(3) = sqrt(distdot(n,w(1,3),1,w(1,3),1)) fpar(11) = fpar(11) + n + n fpar(5) = fpar(3) fpar(7) = fpar(3) zeta = fpar(3) if (abs(ipar(3)).eq.2) then fpar(4) = fpar(1) * sqrt(distdot(n,rhs,1,rhs,1)) + fpar(2) fpar(11) = fpar(11) + 2*n else if (ipar(3).ne.999) then fpar(4) = fpar(1) * zeta + fpar(2) endif if (ipar(3).ge.0.and.fpar(5).le.fpar(4)) then fpar(6) = fpar(5) goto 900 endif c c normalize first arnoldi vector c t = one/zeta do 22 k=1,n w(k,3) = w(k,3)*t w(k,5) = w(k,3) 22 continue fpar(11) = fpar(11) + n c c initialize constants for main loop c beta = zero delta = zero i2 = 1 indp = 0 i = 0 c c main loop: i = index of the loop. c c----------------------------------------------------------------------- 30 i = i + 1 c if (rp) then ipar(1) = 5 ipar(8) = (1+i2)*n+1 if (lp) then ipar(9) = 1 else ipar(9) = 10*n + 1 endif ipar(10) = 3 return endif c 130 ipar(1) = 1 if (rp) then ipar(8) = ipar(9) else ipar(8) = (1+i2)*n + 1 endif if (lp) then ipar(9) = 10*n + 1 else ipar(9) = 1 endif ipar(10) = 4 return c 140 if (lp) then ipar(1) = 3 ipar(8) = ipar(9) ipar(9) = 1 ipar(10) = 5 return endif c c A^t * x c 150 ipar(7) = ipar(7) + 1 if (lp) then ipar(1) = 4 ipar(8) = (3+i2)*n + 1 if (rp) then ipar(9) = n + 1 else ipar(9) = 10*n + 1 endif ipar(10) = 6 return endif c 160 ipar(1) = 2 if (lp) then ipar(8) = ipar(9) else ipar(8) = (3+i2)*n + 1 endif if (rp) then ipar(9) = 10*n + 1 else ipar(9) = n + 1 endif ipar(10) = 7 return c 170 if (rp) then ipar(1) = 6 ipar(8) = ipar(9) ipar(9) = n + 1 ipar(10) = 8 return endif c----------------------------------------------------------------------- c orthogonalize current v against previous v's and c determine relevant part of i-th column of u(.,.) the c upper triangular matrix -- c----------------------------------------------------------------------- 180 ipar(7) = ipar(7) + 1 u(1) = zero ju = 1 k = i2 if (i .le. lbm1) ju = 0 if (i .lt. lb) k = 0 31 if (k .eq. lbm1) k=0 k=k+1 c if (k .ne. i2) then ss = delta ss1 = beta ju = ju + 1 u(ju) = ss else ss = distdot(n,w(1,1),1,w(1,4+k),1) fpar(11) = fpar(11) + 2*n ss1= ss ju = ju + 1 u(ju) = ss endif c do 32 j=1,n w(j,1) = w(j,1) - ss*w(j,k+2) w(j,2) = w(j,2) - ss1*w(j,k+4) 32 continue fpar(11) = fpar(11) + 4*n c if (k .ne. i2) goto 31 c c end of Mod. Gram. Schmidt loop c t = distdot(n,w(1,2),1,w(1,1),1) c beta = sqrt(abs(t)) delta = t/beta c ss = one/beta ss1 = one/ delta c c normalize and insert new vectors c ip2 = i2 if (i2 .eq. lbm1) i2=0 i2=i2+1 c do 315 j=1,n w(j,i2+2)=w(j,1)*ss w(j,i2+4)=w(j,2)*ss1 315 continue fpar(11) = fpar(11) + 4*n c----------------------------------------------------------------------- c end of orthogonalization. c now compute the coefficients u(k) of the last c column of the l . u factorization of h . c----------------------------------------------------------------------- np = min0(i,lb) full = (i .ge. lb) call implu(np, umm, beta, ypiv, u, perm, full) c----------------------------------------------------------------------- c update conjugate directions and solution c----------------------------------------------------------------------- do 33 k=1,n w(k,1) = w(k,ip2+2) 33 continue call uppdir(n, w(1,7), np, lb, indp, w, u, usav, fpar(11)) c----------------------------------------------------------------------- if (i .eq. 1) goto 34 j = np - 1 if (full) j = j-1 if (.not.perm(j)) zeta = -zeta*ypiv(j) 34 x = zeta/u(np) if (perm(np))goto 36 do 35 k=1,n w(k,10) = w(k,10) + x*w(k,1) 35 continue fpar(11) = fpar(11) + 2 * n c----------------------------------------------------------------------- 36 if (ipar(3).eq.999) then ipar(1) = 10 ipar(8) = 9*n + 1 ipar(9) = 10*n + 1 ipar(10) = 9 return endif res = abs(beta*zeta/umm) fpar(5) = res * sqrt(distdot(n, w(1,i2+2), 1, w(1,i2+2), 1)) fpar(11) = fpar(11) + 2 * n if (ipar(3).lt.0) then fpar(6) = x * sqrt(distdot(n,w,1,w,1)) fpar(11) = fpar(11) + 2 * n if (ipar(7).le.3) then fpar(3) = fpar(6) if (ipar(3).eq.-1) then fpar(4) = fpar(1) * sqrt(fpar(3)) + fpar(2) endif endif else fpar(6) = fpar(5) endif c---- convergence test ----------------------------------------------- 190 if (ipar(3).eq.999.and.ipar(11).eq.0) then goto 30 else if (fpar(6).gt.fpar(4) .and. (ipar(6).gt.ipar(7) .or. + ipar(6).le.0)) then goto 30 endif c----------------------------------------------------------------------- c here the fact that the last step is different is accounted for. c----------------------------------------------------------------------- if (.not. perm(np)) goto 900 x = zeta/umm do 40 k = 1,n w(k,10) = w(k,10) + x*w(k,1) 40 continue fpar(11) = fpar(11) + 2 * n c c right preconditioning and clean-up jobs c 900 if (rp) then if (ipar(1).lt.0) ipar(12) = ipar(1) ipar(1) = 5 ipar(8) = 9*n + 1 ipar(9) = ipar(8) + n ipar(10) = 10 return endif 200 if (rp) then call tidycg(n,ipar,fpar,sol,w(1,11)) else call tidycg(n,ipar,fpar,sol,w(1,10)) endif return end c-----end-of-dbcg------------------------------------------------------- c----------------------------------------------------------------------- subroutine implu(np,umm,beta,ypiv,u,permut,full) real*8 umm,beta,ypiv(*),u(*),x, xpiv logical full, perm, permut(*) integer np,k,npm1 c----------------------------------------------------------------------- c performs implicitly one step of the lu factorization of a c banded hessenberg matrix. c----------------------------------------------------------------------- if (np .le. 1) goto 12 npm1 = np - 1 c c -- perform previous step of the factorization- c do 6 k=1,npm1 if (.not. permut(k)) goto 5 x=u(k) u(k) = u(k+1) u(k+1) = x 5 u(k+1) = u(k+1) - ypiv(k)*u(k) 6 continue c----------------------------------------------------------------------- c now determine pivotal information to be used in the next call c----------------------------------------------------------------------- 12 umm = u(np) perm = (beta .gt. abs(umm)) if (.not. perm) goto 4 xpiv = umm / beta u(np) = beta goto 8 4 xpiv = beta/umm 8 permut(np) = perm ypiv(np) = xpiv if (.not. full) return c shift everything up if full... do 7 k=1,npm1 ypiv(k) = ypiv(k+1) permut(k) = permut(k+1) 7 continue return c-----end-of-implu end c----------------------------------------------------------------------- subroutine uppdir(n,p,np,lbp,indp,y,u,usav,flops) real*8 p(n,lbp), y(*), u(*), usav(*), x, flops integer k,np,n,npm1,j,ju,indp,lbp c----------------------------------------------------------------------- c updates the conjugate directions p given the upper part of the c banded upper triangular matrix u. u contains the non zero c elements of the column of the triangular matrix.. c----------------------------------------------------------------------- real*8 zero parameter(zero=0.0D0) c npm1=np-1 if (np .le. 1) goto 12 j=indp ju = npm1 10 if (j .le. 0) j=lbp x = u(ju) /usav(j) if (x .eq. zero) goto 115 do 11 k=1,n y(k) = y(k) - x*p(k,j) 11 continue flops = flops + 2*n 115 j = j-1 ju = ju -1 if (ju .ge. 1) goto 10 12 indp = indp + 1 if (indp .gt. lbp) indp = 1 usav(indp) = u(np) do 13 k=1,n p(k,indp) = y(k) 13 continue 208 return c----------------------------------------------------------------------- c-------end-of-uppdir--------------------------------------------------- end subroutine givens(x,y,c,s) real*8 x,y,c,s c----------------------------------------------------------------------- c Given x and y, this subroutine generates a Givens' rotation c, s. c And apply the rotation on (x,y) ==> (sqrt(x**2 + y**2), 0). c (See P 202 of "matrix computation" by Golub and van Loan.) c----------------------------------------------------------------------- real*8 t,one,zero parameter (zero=0.0D0,one=1.0D0) c if (x.eq.zero .and. y.eq.zero) then c = one s = zero else if (abs(y).gt.abs(x)) then t = x / y x = sqrt(one+t*t) s = sign(one / x, y) c = t*s else if (abs(y).le.abs(x)) then t = y / x y = sqrt(one+t*t) c = sign(one / y, x) s = t*c else c c X or Y must be an invalid floating-point number, set both to zero c x = zero y = zero c = one s = zero endif x = abs(x*y) c c end of givens c return end c-----end-of-givens c----------------------------------------------------------------------- logical function stopbis(n,ipar,mvpi,fpar,r,delx,sx) implicit none integer n,mvpi,ipar(16) real*8 fpar(16), r(n), delx(n), sx, distdot external distdot c----------------------------------------------------------------------- c function for determining the stopping criteria. return value of c true if the stopbis criteria is satisfied. c----------------------------------------------------------------------- if (ipar(11) .eq. 1) then stopbis = .true. else stopbis = .false. endif if (ipar(6).gt.0 .and. ipar(7).ge.ipar(6)) then ipar(1) = -1 stopbis = .true. endif if (stopbis) return c c computes errors c fpar(5) = sqrt(distdot(n,r,1,r,1)) fpar(11) = fpar(11) + 2 * n if (ipar(3).lt.0) then c c compute the change in the solution vector c fpar(6) = sx * sqrt(distdot(n,delx,1,delx,1)) fpar(11) = fpar(11) + 2 * n if (ipar(7).lt.mvpi+mvpi+1) then c c if this is the end of the first iteration, set fpar(3:4) c fpar(3) = fpar(6) if (ipar(3).eq.-1) then fpar(4) = fpar(1) * fpar(3) + fpar(2) endif endif else fpar(6) = fpar(5) endif c c .. the test is struct this way so that when the value in fpar(6) c is not a valid number, STOPBIS is set to .true. c if (fpar(6).gt.fpar(4)) then stopbis = .false. ipar(11) = 0 else stopbis = .true. ipar(11) = 1 endif c return end c-----end-of-stopbis c----------------------------------------------------------------------- subroutine tidycg(n,ipar,fpar,sol,delx) implicit none integer i,n,ipar(16) real*8 fpar(16),sol(n),delx(n) c----------------------------------------------------------------------- c Some common operations required before terminating the CG routines c----------------------------------------------------------------------- real*8 zero parameter(zero=0.0D0) c if (ipar(12).ne.0) then ipar(1) = ipar(12) else if (ipar(1).gt.0) then if ((ipar(3).eq.999 .and. ipar(11).eq.1) .or. + fpar(6).le.fpar(4)) then ipar(1) = 0 else if (ipar(7).ge.ipar(6) .and. ipar(6).gt.0) then ipar(1) = -1 else ipar(1) = -10 endif endif if (fpar(3).gt.zero .and. fpar(6).gt.zero .and. + ipar(7).gt.ipar(13)) then fpar(7) = log10(fpar(3) / fpar(6)) / dble(ipar(7)-ipar(13)) else fpar(7) = zero endif do i = 1, n sol(i) = sol(i) + delx(i) enddo return end c-----end-of-tidycg c----------------------------------------------------------------------- logical function brkdn(alpha, ipar) implicit none integer ipar(16) real*8 alpha, beta, zero, one parameter (zero=0.0D0, one=1.0D0) c----------------------------------------------------------------------- c test whether alpha is zero or an abnormal number, if yes, c this routine will return .true. c c If alpha == 0, ipar(1) = -3, c if alpha is an abnormal number, ipar(1) = -9. c----------------------------------------------------------------------- brkdn = .false. if (alpha.gt.zero) then beta = one / alpha if (.not. beta.gt.zero) then brkdn = .true. ipar(1) = -9 endif else if (alpha.lt.zero) then beta = one / alpha if (.not. beta.lt.zero) then brkdn = .true. ipar(1) = -9 endif else if (alpha.eq.zero) then brkdn = .true. ipar(1) = -3 else brkdn = .true. ipar(1) = -9 endif return end c-----end-of-brkdn c----------------------------------------------------------------------- subroutine bisinit(ipar,fpar,wksize,dsc,lp,rp,wk) implicit none integer i,ipar(16),wksize,dsc logical lp,rp real*8 fpar(16),wk(*) c----------------------------------------------------------------------- c some common initializations for the iterative solvers c----------------------------------------------------------------------- real*8 zero, one parameter(zero=0.0D0, one=1.0D0) c c ipar(1) = -2 inidcate that there are not enough space in the work c array c if (ipar(4).lt.wksize) then ipar(1) = -2 ipar(4) = wksize return endif c if (ipar(2).gt.2) then lp = .true. rp = .true. else if (ipar(2).eq.2) then lp = .false. rp = .true. else if (ipar(2).eq.1) then lp = .true. rp = .false. else lp = .false. rp = .false. endif if (ipar(3).eq.0) ipar(3) = dsc c .. clear the ipar elements used ipar(7) = 0 ipar(8) = 0 ipar(9) = 0 ipar(10) = 0 ipar(11) = 0 ipar(12) = 0 ipar(13) = 0 c c fpar(1) must be between (0, 1), fpar(2) must be positive, c fpar(1) and fpar(2) can NOT both be zero c Normally return ipar(1) = -4 to indicate any of above error c if (fpar(1).lt.zero .or. fpar(1).ge.one .or. fpar(2).lt.zero .or. & (fpar(1).eq.zero .and. fpar(2).eq.zero)) then if (ipar(1).eq.0) then ipar(1) = -4 return else fpar(1) = 1.0D-6 fpar(2) = 1.0D-16 endif endif c .. clear the fpar elements do i = 3, 10 fpar(i) = zero enddo if (fpar(11).lt.zero) fpar(11) = zero c .. clear the used portion of the work array to zero do i = 1, wksize wk(i) = zero enddo c return c-----end-of-bisinit end c----------------------------------------------------------------------- subroutine mgsro(full,lda,n,m,ind,ops,vec,hh,ierr) implicit none logical full integer lda,m,n,ind,ierr real*8 ops,hh(m),vec(lda,m) c----------------------------------------------------------------------- c MGSRO -- Modified Gram-Schmidt procedure with Selective Re- c Orthogonalization c The ind'th vector of VEC is orthogonalized against the rest of c the vectors. c c The test for performing re-orthogonalization is performed for c each indivadual vectors. If the cosine between the two vectors c is greater than 0.99 (REORTH = 0.99**2), re-orthogonalization is c performed. The norm of the 'new' vector is kept in variable NRM0, c and updated after operating with each vector. c c full -- .ture. if it is necessary to orthogonalize the ind'th c against all the vectors vec(:,1:ind-1), vec(:,ind+2:m) c .false. only orthogonalize againt vec(:,1:ind-1) c lda -- the leading dimension of VEC c n -- length of the vector in VEC c m -- number of vectors can be stored in VEC c ind -- index to the vector to be changed c ops -- operation counts c vec -- vector of LDA X M storing the vectors c hh -- coefficient of the orthogonalization c ierr -- error code c 0 : successful return c -1: zero input vector c -2: input vector contains abnormal numbers c -3: input vector is a linear combination of others c c External routines used: real*8 distdot c----------------------------------------------------------------------- integer i,k real*8 nrm0, nrm1, fct, thr, distdot, zero, one, reorth parameter (zero=0.0D0, one=1.0D0, reorth=0.98D0) external distdot c c compute the norm of the input vector c nrm0 = distdot(n,vec(1,ind),1,vec(1,ind),1) ops = ops + n + n thr = nrm0 * reorth if (nrm0.le.zero) then ierr = - 1 return else if (nrm0.gt.zero .and. one/nrm0.gt.zero) then ierr = 0 else ierr = -2 return endif c c Modified Gram-Schmidt loop c if (full) then do 40 i = ind+1, m fct = distdot(n,vec(1,ind),1,vec(1,i),1) hh(i) = fct do 20 k = 1, n vec(k,ind) = vec(k,ind) - fct * vec(k,i) 20 continue ops = ops + 4 * n + 2 if (fct*fct.gt.thr) then fct = distdot(n,vec(1,ind),1,vec(1,i),1) hh(i) = hh(i) + fct do 30 k = 1, n vec(k,ind) = vec(k,ind) - fct * vec(k,i) 30 continue ops = ops + 4*n + 1 endif nrm0 = nrm0 - hh(i) * hh(i) if (nrm0.lt.zero) nrm0 = zero thr = nrm0 * reorth 40 continue endif c do 70 i = 1, ind-1 fct = distdot(n,vec(1,ind),1,vec(1,i),1) hh(i) = fct do 50 k = 1, n vec(k,ind) = vec(k,ind) - fct * vec(k,i) 50 continue ops = ops + 4 * n + 2 if (fct*fct.gt.thr) then fct = distdot(n,vec(1,ind),1,vec(1,i),1) hh(i) = hh(i) + fct do 60 k = 1, n vec(k,ind) = vec(k,ind) - fct * vec(k,i) 60 continue ops = ops + 4*n + 1 endif nrm0 = nrm0 - hh(i) * hh(i) if (nrm0.lt.zero) nrm0 = zero thr = nrm0 * reorth 70 continue c c test the resulting vector c nrm1 = sqrt(distdot(n,vec(1,ind),1,vec(1,ind),1)) ops = ops + n + n 75 hh(ind) = nrm1 if (nrm1.le.zero) then ierr = -3 return endif c c scale the resulting vector c fct = one / nrm1 do 80 k = 1, n vec(k,ind) = vec(k,ind) * fct 80 continue ops = ops + n + 1 c c normal return c ierr = 0 return c end surbotine mgsro end