PK 1 META-INF/PK 1Ξ\FFMETA-INF/MANIFEST.MFManifest-Version: 1.0 Created-By: 1.4.2_05 (Apple Computer, Inc.) PK 1 k.fAfASEGYTexans.javaimport java.io.*; import java.util.*; class SEGYTexans { static boolean P3=false; public static void main(String[] argv) { if (argv.length < 5 || argv.length > 6) { System.err.println("Usage: java SEGYTexans serials.txt records.txt" + " year startsec intersec [-P3]\n" + "Run above the following default directory structure,\n" + "generated by placing raw files in daily subdirectories\n" + "and there running:\n" + " 125_segy InnnnRAW.TRD -P1\n" + "for each raw TRD file:\n" + "./day/SEGY/Ryear_day/year_day_hr_mn_sc_1nnnn_1.RSY\n" + "With the -P3 option at the end the run and directory structure are:\n" + " 125_segy InnnnRAW.TRD -P3\n" + "./year-day/Ryear_day/hr_mn/year_day_hr_mn_sc_1nnnn_1.RSY"); return; } int year = Integer.parseInt(argv[2]); if (year < 1985 || year > 2020) { System.err.println("SEGYTexans Aborting: the year must be\n" + "between 1985 and 2020 (simple to rewire in java source)."); return; } int startsec = Integer.parseInt(argv[3]); int intersec = Integer.parseInt(argv[4]); if (startsec < 0 || intersec < 0 || startsec > intersec || intersec < 4 || intersec > 3600) { System.err.println("SEGYTexans Aborting: startsec is number\n" + "of seconds after each even hour that records begin;\n" + "intersec is seconds between records.\n" + "Usually startsec=0 and intersec=150\n" + "(for 120-second records)."); return; } String reclines = readRecords(argv[1]); if (reclines == null) { System.err.println("SEGYTexans: Aborting."); return; } int serials[] = readSerials(argv[0]); if (serials == null) { System.err.println("SEGYTexans: Aborting."); return; } if (argv.length == 6) if (argv[5].equals("-P3")) SEGYTexans.P3 = true; StringBufferInputStream sbis = new StringBufferInputStream(reclines); InputStreamReader isr = new InputStreamReader(sbis); BufferedReader br = new BufferedReader(isr); StringTokenizer st; int lines = 0; String line = null; int sta, nflags, serial0, serialf, day, hr0, min0, hrf, minf; try { while ((line = br.readLine()) != null) { if (line.length() < 17) continue; st = new StringTokenizer(line); if (st.hasMoreTokens()) { try {sta = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (st.hasMoreTokens()) { try {nflags = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (st.hasMoreTokens()) { try {serial0 = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (st.hasMoreTokens()) { try {serialf = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (st.hasMoreTokens()) { try {day = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (st.hasMoreTokens()) { try {hr0 = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (st.hasMoreTokens()) { try {min0 = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (st.hasMoreTokens()) { try {hrf = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (st.hasMoreTokens()) { try {minf = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } } else continue; if (makeRec(serials, year, startsec, intersec, serial0, serialf, sta, nflags, day, hr0, min0, hrf, minf)) lines++; else System.err.println("Could not assemble record for entry:\n" + sta + " " + nflags + " " + serial0 + " " + serialf + " " + day + " " + hr0 + " " + min0 + " " + hrf + " " + minf + "\nin records file " + argv[1]); } } catch (IOException ioe) { System.err.println("Internal IOException parsing record file text:\n" + ioe); } System.err.println("Assembled " + lines + " records based on file " + argv[1] + " Done."); return; } static int getNTraces(int sta, int serials[], int nflags, int serial0, int serialf, int year, int day, int hr, int min, int sec) { int ntraces=0, index, serial; File trace; index = getSerialIndex(serials, serial0); int i; for (i=index; i<(index+nflags); i++) { serial = serials[i]; trace = new File(makePath(serial, year, day, hr, min, sec)); /*System.err.println("Checking " + trace.getAbsolutePath());*/ if (trace.exists()) if (trace.canRead() && trace.isFile() && trace.length() > 240) ntraces++; } if (serials[i-1] != serialf) { System.err.println("Entry at index " + (i-1) + " in serials list is " + serials[i-1] + " but final serial number in record is " + serialf); System.err.println("" + sta + " " + nflags + " " + serial0 + " " + serialf + " " + day); return -1; } return ntraces; } static int getSerialIndex(int serials[], int number) { if (serials == null) return -1; int i; for (i=0; i 240) { traces[i] = hdrarray[i].importSEGYFile (makePath(serial, year, day, hr, min, sec), false, false, 1, 111111, 2); if (traces[i] == null || traces[i].headers[0] == null) { traces[i] = null; break; } mindelays[i] = 0; ntraces++; } else /* Search back in 2-min increments, three times */ { tyear = year; tday = day; thr = hr; tmin = min; /* Going back 2 minutes might require decrementing the hour, day, and year (not valid for year 2100 */ for (int t=0; t<3; t++) { if (tmin < 2) { tmin = 60 + tmin - 2; if (thr < 1) { thr = 24 + thr - 1; if (tday < 1) { tday = (tyear-1)%4 == 0 ? 366 : 365; tyear = tyear - 1; } else tday = tday - 1; } else thr = thr - 1; } else tmin = tmin - 2; /* Compose file path */ trace = new File( makePath(serial, tyear, tday, thr, tmin, sec)); /* Read SEG-Y single trace if exists */ if (trace.exists() && trace.canRead() && trace.isFile() && trace.length() > 240) { traces[i] = hdrarray[i].importSEGYFile (makePath(serial, tyear, tday, thr, tmin, sec), false, false, 1, 111111, 2); if (traces[i] == null || traces[i].headers[0] == null) { traces[i] = null; break; } mindelays[i] = (t+1)*2; ntraces++; break; } } } } int missing; missing = 0; if (ntraces < nflags && ntraces != 0) missing = nflags - ntraces; if (missing > 0) System.err.println("Rec " + year + " " + day + " " + hr + " " + min + " " + sec + " is missing " + missing + " of " + nflags + " possible traces."); /* create record for output and save */ int maxsamp, minsamp, validindex; maxsamp = 0; minsamp = (int)(1e11); validindex = -1; for (int i=0; i 0) continue; if (validindex < 0) validindex = i; if (traces[i].ne > maxsamp) maxsamp = traces[i].ne; if (traces[i].ne < minsamp) minsamp = traces[i].ne; } if (maxsamp < 1 || maxsamp > 1e10) { System.err.println("Max samples/trace=" + maxsamp + " improper, no record from " + year + " " + day + " " + hr + " " + min + " " + sec); return; } float dt; dt = traces[validindex].DElem; System.err.println("Max samples/trace=" + maxsamp + ", Min=" + minsamp + "; intersec/dt=" + (int)(intersec/dt)); /* Establish blank record, set units */ if (maxsamp > intersec/dt) maxsamp = (int)(intersec/dt); System.err.println("Allocating FltPlane with " + nflags + " traces and " + maxsamp + " samples/trace"); FltPlane record = new FltPlane(nflags, maxsamp); record.headers = new RgHead[nflags]; record.copyunits(traces[validindex]); record.DElem = dt; System.err.println("Assembling FltPlane with " + record.vecs + " traces, " + record.ne + " samples, for " + record.vec.length + " samples total"); int t, t1, ffid; for (int i=0; i 3600/4) return false; int winmin[] = new int[hourlywindows]; int winsec[] = new int[hourlywindows]; int hrsec, i; for (i=0, hrsec=startsec; i 4000 || hrf < hr0) return false; int planes = 0; int tracespresent; int hr, min, iwin; for (hr=hr0; hr<=hrf; hr++) { for (min=(hr==hr0?min0:0); min<=(hr==hrf?minf:59); min++) { for (i=0; i nflags/4) { writeRecord(planes, sta, serials, nflags, serial0, serialf, year, day, hr, min, winsec[i], intersec); planes++; } else continue; } else break; } } } if (planes == 0) { System.err.println("Could not assemble any records from entry:\n" + sta + " " + nflags + " " + serial0 + " " + serialf + " " + day + " " + hr0 + " " + min0 + " " + hrf + " " + minf); return false; } else System.err.println("Assembled " + planes + " records of " + nflags + " traces each from entry:\n" + sta + " " + nflags + " " + serial0 + " " + serialf + " " + day + " " + hr0 + " " + min0 + " " + hrf + " " + minf); return true; } static String readRecords(String records) { FileReader fr; try {fr = new FileReader(records); } catch(FileNotFoundException fnf) { System.err.println("Can't find records file " + records); return null; } String buf = ""; String temp = ""; BufferedReader in; try { in = new BufferedReader(fr); while (temp != null) { temp = in.readLine(); if (temp != null) buf += temp + "\n"; } } catch(IOException ioe) { System.err.println("Can't read records file " + records); return null; } try { in.close(); fr.close(); } catch(IOException ioe) { System.err.println("Can't close records file " + records + " after reading."); } if (buf.length() <= 0) { System.err.println("File " + records + " does not appear to contain any text."); return null; } return buf; } static int[] readSerials(String serialsfile) { FileReader fr; try {fr = new FileReader(serialsfile); } catch(FileNotFoundException fnf) { System.err.println("Can't find serial-number list file " + serialsfile); return null; } String buf = ""; String temp = ""; BufferedReader in; try { in = new BufferedReader(fr); while (temp != null) { temp = in.readLine(); if (temp != null) buf += temp + "\n"; } } catch(IOException ioe) { System.err.println("Can't read serial-number list file " + serialsfile); return null; } try { in.close(); fr.close(); } catch(IOException ioe) { System.err.println("Can't close serial-number list file " + serialsfile + " after reading."); } if (buf.length() <= 0) { System.err.println("File " + serialsfile + " does not appear to contain any text."); return null; } StringBufferInputStream sbis = new StringBufferInputStream(buf); InputStreamReader isr = new InputStreamReader(sbis); BufferedReader br = new BufferedReader(isr); StringTokenizer st; int lines = 0; String line = null; int serial, nserials; nserials = 0; try { while ((line = br.readLine()) != null) { if (line.length() < 2) continue; st = new StringTokenizer(line); while (st.hasMoreTokens()) { try {serial = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } nserials++; } } } catch (IOException ioe) { System.err.println("Internal IOException parsing serial-number list file text:\n" + ioe); } if (nserials < 1 || nserials > 10000) { System.err.println("" + nserials + " serial numbers found in file " + serialsfile + ", but there are not more than a few thousand instruments!"); return null; } int serials[] = new int[nserials]; int index; index = 0; sbis = new StringBufferInputStream(buf); isr = new InputStreamReader(sbis); br = new BufferedReader(isr); try { while ((line = br.readLine()) != null) { if (line.length() < 2) continue; st = new StringTokenizer(line); while (st.hasMoreTokens()) { try {serials[index] = Integer.valueOf(st.nextToken()).intValue(); } catch (NumberFormatException nfe) {continue; } index++; } } } catch (IOException ioe) { System.err.println("Internal IOException parsing serial-number list file text:\n" + ioe); } System.err.println("found " + nserials + " serial numbers based on file " + serialsfile + " ."); return serials; } /* End of SEGYTexans class */ } PK C1C/AifFileHead.class. X W W W W W W W W W W W W W W W W W W WD W W W W W W W W W W W W " " " "   1 3 5 7 W 1 : 7 7 7 N N N  H : L N W N L H :b00Bb01b02b03fbytesIb08b09b10b11b12b13b14b15 commbyteschanSframesbitsw28Hzw32w34w36b38b39b40b41sdcbytesboffsetbsizeAIFFILEHEADBYTES ConstantValue6()VCodeLineNumberTablesetvalssetsizes(I)V(LAifFileHead;)V(II)VtoString()Ljava/lang/String;isValid()ZreadAifFileHead(Ljava/lang/String;)Vread(Ljava/io/DataInputStream;)V Exceptionswrite(Ljava/io/DataOutputStream;)VcreateAifFileHead SourceFileAifFileHead.java |} } YZ [Z \Z ]Z ^_ `Z aZ bZ cZ dZ eZ fZ gZ h_ ij k_ lj mj n_ oj pj qj rZ sZ tZ uZ v_ w_ x_ java/lang/StringBufferAIFF  bytes:  chan  samp/chan of  bits/samp at  samp/second  *readAifFileHead: reading header from file  ...  java/io/FileInputStream |java/io/FileNotFoundExceptionjava/io/BufferedInputStream |java/io/DataInputStream java/io/IOException%Could not read AIFF header from file }readAifFileHead done. 7createAifFileHead: writing 54-byte AIFF header to file ... java/io/FileOutputStreamCan't create file java/io/BufferedOutputStream |java/io/DataOutputStream !Could not write 54 bytes to file }done. AifFileHeadjava/lang/Objectappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuffer;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/io/InputStream;)VclosereadByte()BreadInt()IreadUnsignedShort writeBytewriteInt writeShortprint(Ljava/io/OutputStream;)Vflush!WXYZ[Z\Z]Z^_`ZaZbZcZdZeZfZgZh_ijk_ljmjn_ojpjqjrZsZtZuZv_w_x_y_z{ |}~) **?@A}~>*F*O*R*M*.*A*I *F *F *C *O *M*M*****@*****S*S*N*D*** *!~DE FGHI$J*K0L6M<NBOHPNQTRYS^TdUkVqWvX{YZ[\]^_`ab~M%**h*lh=*`*.`ghij$k|~w;***+*+*+*+** *+!* nopqr s(t-u2v:w|~;****!z{| }~~gO"Y#$%*`&'%*&(%*&)%*&*%*&+%,~F&**F* *"$~MN:-"Y#.%+%/%,01Y+2M:-405Y,6N7Y-8:*9:-"Y#;%+%,0,<:-=0->0%.13RX[:w{~:F%1>?HR[vw~~{*+?*+?*+?*+?*+@*+?*+? *+? *+? *+? *+? *+?*+?*+@*+A*+@*+A*+A*+A*+A*+A*+A*+?*+?*+?*+?*+@*+@*+@ z (08@HPX`hpy:~+*B+*B+*B+*B+*C+*B+* B+* B+* B+* B+* B+*B+*B+*C+*D+*C+*D+*D+*zB+**zxdB+*D+*D+*D+*B+*B+*B+*B+*C+*C+* C~ (08@HPX`hpx:~C:::-"Y#E%+%F%,GHY+I:*:-"Y#J%+%,0-K0LYM:NYO:*P:-"Y#Q%+%,0RST:-U0-V0'14:qwz::Z '4OZ[fqwz   PK C1 2AX;X;CMPStack.class.! , - . / 0 1 2 3 4 5 6 7 8 9B : ; < =@ >D ? @CH A B C D E F 2G 20 &H 2I 2J?K &, &L &M &N &O &PQ -,R -S -TU 2V 2W XYZ 6[ 2\] 2\ 2^ 2_` 2a 2b 2cde -f ghi -jklmn 2o 20 p &q &r &s &t &u &v 20 20 wx wy 20 20 20 20 20 20 z { 2| 2@ 2}~ 2 2 2 2 2 2 2 6 2 2\ 2\ 2^ 2^ 2_ 2_<5 2W 2W 2o 20 20 20 20 20 20 20 20 20 2 2 20@ w w?!TD- w@ !TD-@|3! - 2@!TD-? 2 2 20 20 20 & 20 20 20      [   [   - 2 2  2         , dtF geomexistsZheaders [LRgHead; midpointsoff0doffs0dsntauItau0VP0 VP0projdistmanglem0nmdmarcv0nvdvfvolLFltVol;picktextLjava/lang/String;velinfo[LVInfo;dixvel pickformat()VCodeLineNumberTablesetNull (LFltVol;)Vmakevels ()LFltVol;cvstackcmpstackstackgetvp (I)LRgHead;velocity (LRgHead;D)Dvpick(DI)Ddixeqn(II)D parseVelinfo sortVelinfo(IIZ)Vswap(II)VparseVInfoLine$(Ljava/util/StringTokenizer;)LVInfo; Exceptions SourceFile CMPStack.java                   RgHead     java/lang/StringBufferICopy and paste your complete set of NMO velocity picks into this window.  FltVol   !java/lang/StringDix Interval Velocity   Interpolated Velocity  Tau, sec   Dist. N  E of VP , mE of X=m/s NMO Velocitym/s Vnmo Adjustment              stack: stacking  labeled records of  traces of  samples each with dt=   ntau= tau0= records of & geometry from plot parameters: off0= doff= s0= ds= VP0= mangle= m0= nm= dm= arc= v0= nv= dv=...  Using $ characters of velocity pick text...Stacked  Time, secstack: stacking record  of  stacking trace   stack: ignoring trace : cannot locate midpoint x=   y= , get im= from linedist=, m0=, dm=, nm= stack: done.          java/io/StringBufferInputStreamjava/io/InputStreamReader java/io/BufferedReader java/util/StringTokenizer &' java/io/IOExceptionIInternal IOException reading velocity pick text; attempting to continue:  MNo valid lines of velocity picks could be read, using a constant velocity of  m/s. (Copy and paste your complete set of NMO *velocity picks into the pick text window. VInfo  "# $%    java/lang/NumberFormatException    5Use the format below, which is what would result from saving picks made from a cvstack display. The amplitude and indices columns must exist, although their values will be ignored. Amp itau Tau(s) im Mdist(m) iv Vnmo(m/s) 0 0 0.0 0 0.0 0 1500.0 This example will apply a constant NMO velocity of 1500 m/s.CMPStackjava/lang/Object getDUnitofDim(I)FgetMidpointArray([LRgHead;)[LRgHead; getUnit0ofDim getNMembofDim(I)I getProjection ([LRgHead;)VsvpgyDoffgzappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString()Ljava/lang/String;(III)Vvec[F(Ljava/lang/String;)VAmpUnitsAmp0AmpFac setUnitsofDim(ILjava/lang/String;)V setUnit0ofDim(IF)V setDUnitofDim(F)Ljava/lang/StringBuffer;Viewmat getSignif'(Ljava/lang/String;I)Ljava/lang/String;(I)Ljava/lang/StringBuffer;vecsgvpsxgxsyszallsetjava/lang/Mathsin(D)DcosneplanesNoticeln getOffsetslength()Isqrtasinacos(D)Ljava/lang/StringBuffer; (LRgHead;)Vdisttauvel(Ljava/io/InputStream;)V(Ljava/io/Reader;)VreadLine,(Ljava/lang/Object;)Ljava/lang/StringBuffer;Errout (LVInfo;)V hasMoreTokens()Z nextTokenjava/lang/DoublevalueOf&(Ljava/lang/String;)Ljava/lang/Double; doubleValue()Djava/lang/Integer'(Ljava/lang/String;)Ljava/lang/Integer;intValueset(DDD)V!      ) **345r ***       j****f89 :;<=>?#@'A+B/C3D8E<F@GDHMIRJVK[L`MgNlOqP**++ *+ + *+!* ***!   **"P+# +#+ + +# +# + + * +$ +$l +$ +#  +$j +# + %+ j +  v*\&Y'M,*(,) ,*,+o,,,, j[,,jM +$jb+$d   +$jn j t**-Y./0019ST U VYZ&[.\5]=_B`IbMcQdUeYfgjqkylmnopqrtuvwyz{!|(}/7?FN[coz'9 6 2Y 3:!!4:"* *!*5!:#*#6Y789#6Y:8;# <# =#>?# @#A*G#-Y.B0-Y.C0D1E0F0 GH01?d#-Y.B0-Y.C0D1E0I0-Y.C0 jbD1E0H01?#@#A* #J?#@#A'#K?#dljv@#A##L&M** N:$V&Y':$$+$$ Z)O$$ jb]PQ$$]R*$$]S,$T*|6k6Z#Uh`&Y'S#Vh`2:%%jb+$"% )%$PP%$RR%$SS%$P%+WkcQ%$R%+Xkc*%$S],9*Y2:&%&)O%Q&Pg%Q&Pgk%*&Rg%*&Rgkc9<X*Z2:&%Q$Pg%Q$Pgk%*$Rg%*$Rgkc99%&)O*[%T66#\h`&Y'S#]h`2:%%jb+% )%`O% jbP%R%S%%P%+WkcQ%%+Xk*%,%T[J=*L6;<,jb9"h h h``Q ӄçp6b<Sjdljf*#^h`2 jb_c9"h h h``Q <!b!(.26=N\bhpy.7@GOXdl #4EJMT^hr6>BL[alz#.9$>'E)K+P-^.v+)57;=75$B& **` HI% *` NOP %*a<*b=*c6*t*-Y.d0Ge0Gf0Gg0D1h*-Y.i0*j0k0 Gl0 D1m*-Y.d0Gn0Gf0Gg0D1o*-Y.p0Dq0Dr0 Ds0 Dk0 Gl0 D1t*-Y.u0 Gv0Dw0Dx0Gy0Dz0D1{*=*-Y.|0D}0G~0D01(*-Y.0*G012Y 3:6Y-Y.0*018**? @A*G-Y.B0-Y.C0D1E0F0 GH01?d-Y.B0-Y.C0D1E0I0-Y.C0 jbD1E0H01?@A* J?@A'K?dljv@A*596 6Fjh h:G*:H:I&**FN:JV&Y':JJ+JJ Z)OJJ jb]PQJJ]R*JJ]S,JT*6 n6 ] h `&Y'S h `2:KK jb+J%KF)KJPPKJRRKJSSKJPK+WkcQKJRK+Xkc*KJS],96*2:LKL)OKQLPgKQLPgkK*LRgK*LRgkc96Y*2:LKQJPgKQJPgkK*JRgK*JRgkc99KL)O*KT    6 6  h `&Y'S h `2:KK jb+K )K `OK jbPKRKSKKPK+WkcQKK+Xk*K,KT  [  J9B 9D*#8LLn6#66*D6 36" jb9GkQ ܄  ˧j6 \6K jdljf* h`2 jb_c9GkQ  I:M6N*-Y.0N`G0G16  p  *-Y.0 G1Nh `6OOh6*S*O2:MMQMPco9,M*MRco9.M,MSco90MS92M,94+ Njb jb nb9,9.909294,JPg,JPgk.JRg.JRgkc9 nfdjb nb 9g,JPg?.JRg2,JPgo9999,JPgC.JRg6,JPgo999c9,JPgC.JRg6JP,go999c9,JPgC.JRg6.JRgo999c97*-Y.0 `G0,0.1E 9:g9!!!!w9!! !g!9!!k9 ngoc6 dX*-Y.0 `G0G00D0D0G1y*-M+M+k9@M+ M+ M+w9() jb9((((w9(((k9@6 06gGh h h``0o98 h h h`66DBkc9:Gh h h``09 @o9<::k> {>:g8c9&&o6 & jgo9*:Bo `#d6d 1H`0*gkH``0*kc9I\0cQ 0    8NN*^UVWX ZX]cfmosvty} $,5>E  (;DHKPYhqx$5:=DNXbz(04>NT_msy !,28BKNT[ a g u  %')>+D-R.m0v1|46789:;?@ABCG#INJQLXM`NzPQRSTUWYZ[\]^` b c $d 'e 0f 5g Ci ]k jl qm tn }o p t w z { ~       , ;           " ( 3 M T W Z a k r u x            + '  "*>*2)6&Y*2M,,)O,,PQ,,R*,,S,,*2O6&Y*2M,,O),,QP,,*R,,,S,*ľnN  !2:BJRTdu} e9*++*2Ř*(99++**d2ŗ*(*d966++*2ŗ++*`2Ř*(9*f++*2g9    w 9 *`2++g9    w 9   9}*(`9o++*2g*`2*2go*(`gkc93++*2ŗ*(9*dn !,CTW]    /2DMPSbQi6'*2Ǘ* *2ȯ**66*d6Ml6d69*ldd*d6*d6ld6l`666 *29* 296F*2*296*2*296 '** 2ȯ'*2ȯ*'g9'g96l'*2Ǘ''*2g'*2g96 '*2ǘ'*2'g*2'g96* 9\9 96*2*2g*2*2gk'*2g'*2gk*2*2kkc9  *2ȯ*2 oc9  oc9 q o95)+,#--/4071C3K5N6W8g:q;}?@BCDEFHJKMOPFS TUV)W0Y6Z<[C]d_r`vbde[hlms(w/x:yLzUm_|f~ *2*2Ǘ ><=*2*2Ǘ*2*2k*2k*2*2k*2kg*2*2go9* 57!= q*6Y*LY+MY,N. !Y:*:-Y:Χ#:*-Y.ն0ֶ1ק:*-Y.ض0Dٶ0ڶ0۶001**ݵY*LY+MY,N6> 1Y:*:*YS-Y:#:*-Y.ն0ֶ1ߧ**d**d)ad36*  ),69DLQTWad)36SVcp"#*`l6`6Q(*2*2ǘ3*%*2*2Ř***d*`>6D[fov$%?*2N**2S*-S&' ++9 : ++6 : ++9 : ++6 : ++I : ++6 : ++9 : Y:  ( #/2?KN[gjw!  #268?NRT[j n#p$w&'*+-.124589:;<=()'*+PK C1I 00 Complex.class.< , - . /0 1 /2@Lc 3 4 56reFimMINVALtempadd(LComplex;LComplex;)VCodeLineNumberTablesubscale(F)Vconj()Vmulcmuldivpow()Fampphasephasedeg (LComplex;)V(FF)V(DD)V(D)V SourceFile Complex.java   7 89  :; " $Complexjava/lang/Objectjava/lang/Mathsqrt(D)Datan2(DD)D! ;*+,b*+,bA BC;*+,f*+,fF GH5*Y#j*Y#jK LM& **v P QY5+,j+,jf*+,j+,jb*TU-V4WY5+,j+,jb*+,j+,jf*Z[-\4]]+,j+,jb,,j,,jbn*+,j+,jf,,j,,jbn*`*aUb\c ,**j**jbf! 1**j**jbj" _?*(*v**v **n.p0r# # * kv$3* * * z{ |}$%9* *+*+ $&3* *#*$ $'5* *'*) $3* *#*  $(4* *'*  ) <*+PK C1q * *ComplexPlane.class.     )  )                            )  ) @ !TD-    )            )   )                           \                                       )                  )                  )                 )                                                         L                                                                   neIvecsVecUnitsLjava/lang/String;Vec0FDVecfilt(LComplexPlane;IIIII)VCodeLineNumberTableft2dc(LComplexPlane;FF)Vcolmfttwid1"(ILComplexPlane;ILComplexPlane;I)Vtwid2+(ILComplex;LComplexPlane;ILComplexPlane;I)Vfftr(LComplexPlane;IIFF)V getPowerof2(I)IsetElem(IILComplex;)V setElemReal(IIF)V setElemImgetElem (II)LComplex; getElemReal(II)F getElemImrealtoFltPlane (LFltPlane;)V imtoFltPlane powtoFltPlane amptoFltPlanephasetoFltPlanephasedegtoFltPlanescalebyFltPlane scalebyFltVec (LFltVec;)Vdemult()LComplexPlane;windowof(LComplexPlane;IIII)V(II)V(LComplexPlane;)V(LFltPlane;LFltPlane;)V getNMembofDim getUnitsofDim(I)Ljava/lang/String; setUnitsofDim(ILjava/lang/String;)V getUnit0ofDim(I)F setUnit0ofDim(IF)V getDUnitofDim setDUnitofDim SourceFileComplexPlane.java MN  `a  S S ON c java/lang/StringBuffer |ft2dc: starting  x 2-d FFT...   [ZDone. Complex  \]   ^_     Njava/lang/String Real Part of Q | Q S S S S PQ RS TSImaginary Part of  Power of  Magnitude of Phase, radians Phase, degreesdemult: demultiplexing  vectors of $ complex elements to new plane with  elements...  ComplexPlane |}done. windowof: windowing  elements and % vectors from complex plane, with v0= dv= e0= de=... |Vector ComplexVecvec [LComplex;reimjava/lang/SystemoutLjava/io/PrintStream;()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuffer;toString()Ljava/lang/String;java/io/PrintStreamprint(Ljava/lang/String;)Vprintlnscale(F)Vjava/lang/Mathcos(D)Dsinmul(LComplex;LComplex;)VsubaddFltPlane[FNDimsAmpUnits ElemUnitsAmp0AmpFacElem0DElempow()FampphasephasedegFltVecNoticeNoticeln(I)V!LMNONPQRSTS" UVWS6F**h**'6,**h`2 **h`2 6h* *h`2* *h`2`djdn* *h`2* *h`2`djdn6h* *h`2**h`2djdn**h`2**h`2djdn6,**h`2 **h`2 *l**h`2 **h*l`2 **h*l`2 6Y**h*`d2**h`2**h*`d2**h`2v*l**h* *n n*n n*XzDHI(J+K1MDNWK`PfRTPWY[9WC^J`]ap^~cdefhjf%oFDRrYZW*>*6Y !" !# $%# *8 *n nn n86*h## *8 *n nn n8*$&'(X> 5;EV\jsy[ZW3)Y*: )Y*:*6 *6 6'6*+ h`2$,  6>O * h`* h`- l6d6l6 d`6 6h6   #.ko8  0 168>   * h`*` h`2 `>   3 6 X&  &,=GQTY_sy| '+2\]W)Y*:6~+4`2+5`2+6`2-7`2+8`2-9`2-:`2-;`2X*  1Jcu^_WZ)Y*:6G+<`23=`2,>`2?,@`2,A`2BX  9PY`aW ~)Y*: )Y*: 666 *C`2j *D`2j*E`2*F`2j*G`2*H`2j*I`2 *J`2 l6d6l6 d`6Eh6 6.%kko8   0  16N  *K``23*L``2*M`2 ?*N`2*O`2 B `6x 6bX# % 9 M h  !"#&+(E*\#is-w/}1 bcW8<h<X567 68deWI)*P*h`2-*Q*h`2-X=>(?fgW.*R*h`2%X BChgW.*S*h`2%X FGijW&*T*h`2XJklW)*U*h`2XNmlW)*V*h`2XRnoW=+W*X2Q*Y+*Z[+\YY] *^ $_`+\Y*a_b+*cd+*ef+*gh+*ij+*k+*l+\Y*m_n+*op+*qrXBWXW Y(ZI[X\`]h^p_x`abcdepoW=+s*t2Q*u+*vw+\YYx *y $_z+\Y*{_|+*}~+*+*+*+*k+*l+\Y*m_n+*op+*qrXBiji k(lImXn`ohppqxrstuvwqoW=+*2Q*+*+\YY * $_+\Y*_+*+*+*+*+*k+*l+\Y*m_n+*op+*qrXB{|{ }(~IX`hpxroW=+*2Q*+*+\YY * $_+\Y*_+*+*+*+*+*k+*l+\Y*m_n+*op+*qrXB (IX`hpxsoW=+*2Q*+*+\Y_+\Y*_+*+*+*+*+*k+*l+\Y*m_n+*op+*qrXB (5DLT\dlttoW=+*2Q*+*+\Y÷_+\Y*ŷ_+*ǵ+*ɵ+*˵+*͵+*k+*l+\Y*m_n+*op+*qrXB (5DLT\dltuoWE!=*2+0,*ѾX vwWc7>,=**h`2+0,**ұX  +6xyWx*YԶ *!ն *!ֶ *!ն *!׶ $ػY**N-\Y*۷_-\Y*m_-\Y*޷_m-*ߵ-*-*o-*q-*o-*q=V<F--h`2**h`2--h`2**h`2--*-XNCSbqz{WC*Y *! *! ! ! ! ! $6t6b**h`2++h`hh``2**h`2++h`hh``2***\Y+_*+*+*\Y+_*+b*+j*\Y+m_m*+obo*+qjq*XJQW] &1<B|}Wc/*h****\Y_m* o* qX"   $).|~W*+ =** 2+ 2* 2+ 2+*+*+*+*\Y+_*+*+*\Y+_*+*+*\Y+m_m*+oo*+qqXJ  2>FNV e!m"u#$%&'()|oW*+=*2+0* 2 +!*+"#*+l*+k*\Y+$_%*+&'*+()*\Y+*_+*+,-*+./*\Y+n_m*+po*+rqXJ- /12'/34;5C6K7Z8b9j:y;<=>?@|W *+0>$*12+20*32,40+5*+67*+l*+k*\Y+8_9*+:;*+<=*\Y+>_?*+@A*+BC*\Y+n_m*+po*+rqXJD FHI,F8K@LHMPN_OgPoQ~RSTUVWcWO***DX\] ^_`acW?*E*mFXgh ijkWM%*\Y,_G*\Y,_mXopqr$sW=*H*o Xvw xyzW? *$I *$oX~ W=*J*q X W? *$K *$qX PK C1i9ComplexVec.class. X X X    X@ !TD-    X    X   X X X X X        X X   Y X    NDimsIAmpUnitsLjava/lang/String;Amp0FAmpFac ElemUnitsElem0DElemnoticeonZvec [LComplex;filt(LComplexVec;IIIII)VCodeLineNumberTablefft(LComplexVec;FF)V getPowerof2(I)IsetElem (ILComplex;)V setElemReal(IF)V setElemImgetElem (I)LComplex; getElemReal(I)F getElemIm realtoFltVec (LFltVec;)V imtoFltVec powtoFltVec amptoFltVec phasetoFltVecphasedegtoFltVec scalebyFltVecwindowof(LComplexVec;II)V(LComplexPlane;III)Vtileto(I)V(LComplexVec;)V(LFltVec;LFltVec;)VgetNDims()I getNMembofDim getAmpUnits()Ljava/lang/String; setAmpUnits(Ljava/lang/String;)VgetAmp0()FsetAmp0(F)V getAmpFac setAmpFac getUnitsofDim(I)Ljava/lang/String; setUnitsofDim(ILjava/lang/String;)V getUnit0ofDim setUnit0ofDim getDUnitofDim setDUnitofDimErroutNoticelnNotice setNoticeOn(Z)V SourceFileComplexVec.java z no hi a aComplex q  h \]java/lang/Stringjava/lang/StringBuffer Real Part of ^_  c_ `a ba da eaImaginary Part of  Power of  Magnitude of Phase, radians Phase, degrees windowof: windowing  elements from complex array of , e0= de=... done.  elements from vector , of  ]%elements, from complex plane with e0=windowof: copying  elements into vector #elements, to complex plane with e0=Complex AmplitudeElement fg          ComplexVecjava/lang/ObjectRGDataRGNoticereim()Vjava/lang/Mathcos(D)Dsinmul(LComplex;LComplex;)VsubaddFltVec[Fappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toStringpowampphasephasedegscale(I)Ljava/lang/StringBuffer; ComplexPlanene (LComplex;)V(FF)Vjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlnflushprint!XYZ[ \]^_`abac_daeafghi) jkl** 6*2 *2 6H*2*2`djdn*2*2`djdn6H*2*2djdn*2*2djdn6*2 *2 *l*2 **l2 **l2 6;**d2*2**d2*2v*l* *n n*n nmrD EFGI)J4G=LCNdPLSUWSZ\]Z _`&a6b<dVfqbjknol [Y: Y: * 666>k $*2j $*2j*2$*2j*2$*2j*2 *2 l6d6l6 d`6]h66u #kko8     >=  *`2*`2*2 *2*2 `>Ä6sm$t uxz{|$~*;Lav|):EOSZ pql8<h<m rsl;*2,*2,m tul' *2$m  vul' *2$m  wxl*2myzl" *2m{zl" *2m|}ly=+*2Q*+*+YY*+Y*+* +*!"+*#$+*%&m.  (IX`hpx~}ly=+*2Q*+*+YY'*+Y*+* +*!"+*#$+*%&m.  (IX`hpx}ly=+*2(Q*+*+YY)*+Y*+* +*!"+*#$+*%&m.  (IX`hpx}ly=+*2*Q*+*+YY+*+Y*+* +*!"+*#$+*%&m.  (IX`hpx}le=+*2,Q*+*+Y-+Y*+* +*!"+*#$+*%&m.  (5DLT\ d }le=+*2.Q*+*+Y/+Y*+* +*!"+*#$+*%&m.  (5DLT\d}lE!=*2+00*m l*Y1*23+242526766*2+h`2*2+h`2**Y+*+*+!!*Y+*+#b#*+%j%*89m6 !?$E&]'u$)*+,-./0l/*Y1*2:2;+<2=252676F*2+>+<hh``2*2+?+<hh``2**Y+@*+A*+B!*Y+C*+Db#*+Ej%*89m6 4H8N:n;8=>?@ABCDl*YF*2G2;+<2H252676F+I+<hh``2*2+J+<hh``2*2**89mHHLNNnOLQRl_*K*=*YS**YL*YM* * !* #* %*Nm:VX YZY&[+\8]E^J_O`TaYb^cl*K*+=*Y+2OS+*+*Y+*Y+*+*+!!*+##*+%%*+NNm:fhij(i4k<lKmZnbojprqzrs}l*K*+=*Y+0PS+*+*Y+*Y+*+ *+"!*+$#*+&%*+QNm:vxyz(y4{<|K}Z~bjrzl*K*+>*Y+0,0RS+*+*Y+*Y+*+ *+"!*+$#*+&%*+QNm:.:BQ`hpxl*mql> **m l*ml) *Y+m  l*ml"*#m l*!ml"*#!m l, *Sm l1*Y,mzl+ *# m ul* *$#m zl+ *% m ul* *$%m l.T+UTVm l9*NT+UTVml9*NT+WTVml"*Nm PK C1 Coord.class.!     ?Ӂ staIxDyzMPF ConstantValue(IDDD)VCodeLineNumberTableconvertFeetToMeters()V SourceFileViewmatGeom.java    Coordjava/lang/Object      G***(**=> ?@ABI%*Yk*Yk*YkF GH$IPK C1^]-!!DixieSimultmod.class.N ! "#$ %&' () * +, -. /Ap 012< 3 45@ 678()VCodeLineNumberTablemain([Ljava/lang/String;)V SourceFile FltVol.java 9 :;"Starting construction and reading.< =>FltVol ? simult.ts @A BCAcoustic Amplitude D>"Distance from 1954 Rupture, meters EF GHDepth, msecondsSo. Dixie Val. src101 SyntheticI JK LMDixieSimultmodjava/lang/Objectjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)V(III)VreadBinaryFile(Ljava/lang/String;I)Vrms()F setAmpUnits setUnitsofDim(ILjava/lang/String;)V setDUnitofDim(IF)VRgCtabyglobe[LRgRGB; viewinFrame!(Ljava/lang/String;ZF[LRgRGB;ZF)V *D dYJPM,, F, , ,, ,, ,, %j6 IKLM#N)O0P7Q>RESLTSUcW PK C1UῚFPApplet.class.J #$ %& '( %) *+ % , -. % /0 1 23 % 2 4567()VCodeLineNumberTableinitRg(Ljava/awt/Graphics;)VpaintRg SourceFile FPApplet.java Starting construction... 89FltPlane :Reading file... dixie-migvels ;<Adding constant... => ?@Creating plot...A BC DE FG Plot Started.H IFPAppletRgApplet showStatus(Ljava/lang/String;)V(II)VreadBinaryFile(Ljava/lang/String;I)Vmin()Faddc(F)VRgCtabyglobe[LRgRGB; putinAppletE(Ljava/applet/Applet;Ljava/lang/String;ZF[LRgRGB;ZF)Ljava/awt/Canvas;cvsLjava/awt/Canvas;java/awt/Canvaspaint!* O*YdM*, * ,, v **,* **  ! "&#/$5%H'N( % *+ +,!"PK C1\79sFsFFltPlane.class. $    %(,09=AK 2 " 2 0 " " ) )  d d d d d d d d d d d d d d d d d d d d d d d  2 ) 2  d d 2 ) 2 ) U )  U ) 2 ) ) ) ) 2 ) 0 0 d d  2  0 0 0 0 0 h h d h h  d d d d d d d d d d d d  d d d d d d d  d     d d d  d d d ) 2 d d d d d  d d  d d d  d d d d h@ d d@ff h h d h h d d d d d d ) 2 ) 2 2 : 2 < 2 > 0   0 B   0 B : 0 0@@ d d 0 : d   2 " " ! d" d# d$% d$ d$& d$' d()* 2+,-./012345678 9 ):  ;<  )= >?  @ )A BC  )D  EF )G  )H I )J K )L A  M NO NPQ R  M  M ST SU dV 2WX YZ[ d" d\ d]^ d( d$_ d$ d(:o?w8ѷ d` 2abcdefgh i  j  k  "l m n )o  )p q )r  )s   M  M  M  M  M 2tu vw d( dxyz d({ d$ d|} d~ d d( 2   d d )  M d( d d( d$ d| d( d ? d  d   d   d d( d(  d       d( d d( d d d d d d d$ d$ d d d d( d$ d$ d( d  2            )  )  )  )  M  M ) d  d   M  M  M  M d 2   d    M d  d  d d" d d$ d$ d d d d d d d d d d d d d d d d d  d( d" d d d d( 2  d" d$ d$ d d d d d d d d d d d d d d d( d d d d d d$ d$ d d d d d d d d d d d d d d 2  d@I@ d" d d d d d$ d$ d(= 2                  M  M d 2     d  d  )                      M  M                 ! " d # d $B % & ' ( ) d"@@ !TD- * + d? d d d d(=L d , 2 - . /  0   1  2  3   M 4  M 5 d  M d  M 6  M 7 d  M d d 8  9 : d" d d d d d ; d < d d( 2 = > ? @ A   B  C  D   d d d   M  M d d 2 E F  G    MB_ d H I d" d d d( 2 J  2 K L    M N   O ) P  Q   R  S   T  U   V  W  " X 0 Y  Z   [  0 \ ) ]  ^ ) _  ) `  a ) b  ) c  d ) e  ) f  g ) h  ) i   M j  M k l d  M  M  M  M  M  M  M  M  M  M  m n o  p    M  M q d r   s  t  u  v w x y z { | } ~   d"   d" d d d d d d d   d d| d( ;    <# 2                                        d d d d d d d d d d d d  d   M  M  M  M  M  M  M  M  M d    d   d"  d d|  d d n d  d d( d 2                $ )  $    $  M $  M d  d    d" d  d( d d d d d d 2                    d d @f      d" *  d|   d| d(AB@A   2                       MDx@  M  M  M  M`x  Mx  M  MC   2                     @4    < d   dA  M  M  M  M  MNnk(  M  M  MDz d d d d 2            M <        d  d <        d             ! " # " $ d  %   & d  ' ( ) d * + d , d - . / d( 0 1 d(   2 3 d   4 d d  5 6 7 d  8 9 :  ; <  d = d( > d ? d( @ 0 A B 2 C d D E 5 F 2 G H I 0 J K : L M < L N > L O @ P B Q R D S B T 0 U 0 V @ W @ @ X 2 W 2 2 T 0 0 Y 2 Z 2 d [ d( d \ d  ] ^ d _ d( d D 2 G B ` d a d( b d d( d D c G 0 d c d e d( d  f g d h i d( j k t l m n d o p q d r ~ s t t u v " w x d t y z { | } ~ d   d ~ d  d  d d d   d  d( t ;  d d(   d  d    d"           d   d  d        d  d  d d d d d d d    ;  d d( d" t    d  d  d    d d d d  d d d d  d  t    d t   d  s  d   d   d  d d(      d d      d" d d d$ d$ d d d d d d d d d d d d d d(   2                     ~ 2         < <  e e e       2         d d d d  d   M  M  M  M  M  M d d d d d d d d  d  d d d  M  M d d d d d     d" d d d d d d d(  d" d       d  d( d  d  d d d d d d d d d  d    d d d d  d  d d d d d  d  d$ d$ d d d d d d d d d d d d d d d d dneIvecsVecUnitsLjava/lang/String;Vec0FDVec fpviewmat LViewmat;headers [LRgHead;geogrZmakeMethodsMenu(LFltVol;)Ljava/awt/Menu;CodeLineNumberTable handleMethod$(LViewmatFrame;ZLjava/lang/String;)Vagc(IZIF)VagcPanel3(LViewmatAction;LViewmatFrame;ZLjava/lang/String;)Vdoagc(LViewmatAction;)V tegainPaneltegain()Vale (IIZFFF)ValePaneldoale autocorPanelautocor xcorPaneldoxcorbpfilter (FIFFFFI)V bpfilterPanel dobpfilter powerspectra(F)VpowerspectraPaneldopowerspectracopy (I)LFltPlane;ctrdemeanctrPaneldemult ()LFltPlane;demultto (LFltPlane;)V demultPaneldipfil(FFZ)Vtri (FFF[FIIIII)V dipfilPaneldodipfilfixCoordsPanel dofixCoordshann hannPaneldohannmirror(II)V mirrorPaneldomirrorpadpadPaneldopad(LViewmatAction;)LFltPlane;revrevPanelsetHeaderPanel dosetHeader checkHeadermakeRgFileHead()LRgFileHead; makeRgHead (I)LRgHead;slant(FFFFFIFIFZ)LFltPlane; slantPaneldoslantsmooth(III)V smoothPaneldosmoothsort(I)V quickSort(IIILRgHead;[F)V compareHead(LRgHead;LRgHead;I)Iswap(IILRgHead;[F)V sortPaneldosortsweep(IIFFFF)LFltPlane;(IIFFFFII)LFltPlane; sweepPaneldosweepsweepTrigPanel dosweepTrig traceditPanel dotracedit readRGFile(Ljava/lang/String;Z)V viewinFrame!(Ljava/lang/String;ZF[LRgRGB;ZF)V3(Ljava/lang/String;Ljava/lang/String;ZF[LRgRGB;ZF)V replotinFrame(LViewmatFrame;)V putinAppletE(Ljava/applet/Applet;Ljava/lang/String;ZF[LRgRGB;ZF)Ljava/awt/Canvas; readSEGYFile(Ljava/lang/String;[JI)VcreateBinaryFile(IIZLjava/lang/String;)VappendBinaryFile getOffsets()Ljava/lang/String;setElem(IIF)VgetElem(II)Fwindowof(LFltPlane;IIII)V windowPanel cutTimePanelstackHitsPaneldowindow docutTime dostackHits(LFltVol;IIIII)V(LFltPlane;[F)Vcopyvals copyunits copyheaders getNMembofDim(I)I getUnitsofDim(I)Ljava/lang/String; setUnitsofDim(ILjava/lang/String;)V getUnit0ofDim(I)F setUnit0ofDim(IF)V getDUnitofDim setDUnitofDim SourceFile FltPlane.java java/awt/MenuOn Each Vector qUjava/awt/MenuItem q   cutTime fixCoords setHeader stackHits sweepTrigtraceditvspectwindowxcor Bjava/lang/StringBuffer q    + c ViewmatAction qZ          k  ! # & * -  1 2 ; ? I l N P  RReMi    java/lang/ClassNotFoundExceptionqReMi not licensed to this system. Please contact John N. Louie at louie@seismo.unr.edu for licensing information.     j   on c in-place   to new windowjava/awt/Button           ! " # $ % &FltPlane ' ( qr MethodRun ) * + ,c - . / 0 1 2 q 3 q 4      n/ s 5 6  " $ ' + ./  7 8 0 9 :FltVol q ; 0 3 </ @ J o/ O/ Q/  S < =   m/   > ? Properties @ A Picks B C Geometry D E F  G H Ijava/lang/String J K L M N M O : YZ P E3*rms Qjava/lang/Thread q R SFltPlane.agc: gaining T vectors of  elements by L1 norm of -element moving window; Detect= U... V   W X after Trace-Equalize after AGCdone. Y java/awt/TextArea of  in-place  in new window  The  method on class FltPlane data .irreversibly gains each vector by the L1 norm &of a moving window. Parameters below: 7Window is the length in elements of the moving window. ;Detect if checked will detect the first significant energy 3by comparing a short moving window with an initial 8average, and set the output ahead of detection to zero. @DetectWindow is the length in elements of the detection window. ;Threshold is the amplitude factor over the initial average required for detection. q Z [ \java/awt/LabelWindow Length (pos. integer): ] ^java/awt/TextField q _ ` Ejava/awt/CheckboxDetect Initial Energy? a b c dDetectWindow (pos. integer): e ^ f EThreshold (pos. float): g ^25.0 h E ic j k l m njava/lang/NumberFormatException o p q k r s : /of the whole trace. It is equivalent to an AGC /with the window length set to the trace length.5FltPlane.ale: computing adaptive line enhancement on  elements in  vectors... fg deProcessed trace  after ALE +implements the adaptive line enhancer with 3TDL structure of Byong Kun Chang, UNR EE, 9/20/93, separately on each vector. .Algorithm: W(k+1) = W(k)+(alpha/var)e(k)X(k) &where W(k) is weight vector at time k e(k) is error signal at time k &X(k) is input signal vector at time k $var is the estimate of input power. !Number of Weights (pos. integer):#Decorrelation Delay Samples (+int):#Convergence Parameter (pos. float): tTime-Varying Weights?!Smoothing Parameter (pos. float): u ^ v E!Minimum Input Power (pos. float): w ^ x E+separately computes the autocorrelation of  each trace, without any scaling.Autocorrelating  elements each... ) trace  done.Autocorrelated y Lag xy z{ Autocor done./cross-correlates each trace of the curent data .against the first trace of the selected file. 0If the file has the same total number of traces .as the current data, corresponding traces are individually correlated. z { | }DCould not crosscorrelate the selected file against the current data. Correlating  elements each against  all vectors first vector ~ E ...   Correlated  Xcor done.bpfilter: pad=; must be 1 or greater w/bpfilter: 0<=lowdown<=lowup<=highup<=highdown<= must be true ComplexVec qB } FltVec q) dpowespectra: transforming # elements to the Fourier domain... bpfilter: filtering # elements in the Fourier domain... '    h 6 !powerspectra: transformed vector .bpfilter: filtered vector   Power of   Frequency, Hz powerspectra done. after - Hz BP Filterbpfilter done.*irreversibly bandpass filters each vector *through scaling by a trapezoidal, tapered &frequency band in the Fourier domain. Parameters below: .Pad, a positive integer factor, enlarges each 0vector to prevent Fourier wraparound artifacts; +larger values demand more time and memory. ,Dt, the sampling interval between elements, -in seconds, should be supplied or corrected. 4Low, Down is the complete-cut low frequency, in Hz. /Low, Up is the top of the low-cut ramp, in Hz. 1High, Up is the top of the high-cut ramp, in Hz. 6High, Down is the complete-cut high frequency, in Hz. 30<=(Low, Down)<=(Low, Up)<=(High, Up)<=(High, Down)<=Nyquist=0.5/dt must be true.Pad (pos. integer):Dt (sec., pos. float):0< Low, Down (Hz, pos. float): < Low, Up: < High, Up: < High, Down: ^ EDip Cut dip-cutoff (3db point) in samples/trace (pos. float). / (default is at 45 degrees based on vertical exaggeration of plot.) 1Frequency is frequency in cycles/sample at which ?a dip of rho is attenuated by 3db (Nyquist = .5) (pos. float). 4 (This value should be the dominate frequency of =the phases most needing filtering, estimated from the data.) 5High-dip reject is the default; check Reject Low Dip for the reverse effect.$Dip Cut (samples/trace, pos. float):&Dom. Freq. (cycles/sample, >0, <0.5): Reject Low Dip?"(Reject high dips if not checked.) Always in-place. )will alter trace-header geometry values, 7and re-calculate all offsets. Offsets will be fully 3-D bc This FltPlane has no headers. q Multiply Coordinates By:1.0Multiply Elevations By:Present Offset Range:Coords will be Lat/Lon Degrees?  hann: NVecs= is < 4, cannot taper. hann: NElem=FltPlane.hann:  % tapering acrossalong traces with % raised cosine...  %*tapers the element amplitudes at the ends -of the traces, or across the side traces, by (applying a raised cosine Hanning window.#Taper Portion (float, >0.0, <=1.0):Rise (float, >=0.0, <0.5):0.05Taper Across Traces?#hann: Cannot taper with portion of # - must be a positive float <= 1.0. hann: Cannot taper with rise of " - must be a positive float < 0.5. ()(FltPlane.mirror: reversing the order of  vectors within |} ~,mirror-images by reversing the vector order -across the whole data set. A range of vector 2indices (first vector has index 0) can optionally 5limit the area of reversal. If present, header order is reversed as well.Vector Range: Index0to*appends the requested number of zero data samples to each vector."No. of Padding Samples (+Integer): ,%FltPlane.rev: reversing the order of .reverses the order of elements in each vector.*can examine trace-header geometry values, and individually set them.Header Index (int. 0-): Check Header Field Record No.: Source Point No.: Receiver Point No.: Source X Coord., m: Source Y Coord., m:Source Elevation, m: EReceiver X Coord., m: ^ EReceiver Y Coord., m: ^ EReceiver Elevation, m: ^ E Offset, m: ^ EsetHeader: Trace header index= not between 0 and , no values changed.  , showing index 0. RgFileHead    slant: slantstacking  elements each with t0= dt= x0= dx= tau0= ntau= p0= np= dp= scale= labeled traces of  samples each with t0= Intercept Time, sSlowness, sec/meter Slantstacked cDone.-computes the slantstack (or p-tau transform) across all vectors t0=0: data start time, s "dt=0.004: time between samples, s 8If traces are labeled with headers, the offset is used;  otherwise supply the following: & x0=0: distance of first vector, m & dx=1: distance between vectors, m 8ntau=nt: number of elements in intercept time for stack dtau=dt tau0=0: initial intercept time "np=nx: number of slowness vectors p0=0: first p slowness, s/m #dp=0.01/np: slowness interval, s/m .scale=false: no scaling applied to slantstack 2 true: apply scaling by averaging values summed  into slantstack t0 (sec): dt (sec): x0 (meter): dx (meter):Labeled Traces: tau0 (sec): p0 (s/m): dp (s/m): ntau (+int): np (+int):scale? 9: smooth: xw= and tw=*; must be positive ints, no smoothing donesmooth: applying  -vector by -element kernel, norm=x -Smoothed smooth: norm type  not 0, 1, or 2, abort =>*smooths the amplitudes using an averaging kernel of adjustable size. Parameters are: 0xw=1: width of averaging kernel across vectors,  will be made odd 0tw=11 width of averaging kernel across elements #norm=2 2: uses L-2 norm (average)  1: uses L-1 norm (median) $ 0: uses a faster scheme that often  finds the median. Kernel Vector Width (+ odd int):"Kernel Element Length (+ odd int):Smoothing Operator:java/awt/Choice Fast Approx. Median  L-1 Norm (Median)L-2 Norm (Average) B n+This FltPlane has no headers, sort aborted. Sort: basis= not between 0 and 10, aborted.Sorting  traces of  elements each by basis  ... CD Done. GH EF!will sort all traces and headers 'according to the selected header value.Sort Traces by:MidpointField Record NumberSource Location NumberReceiver Location NumberSource X-CoordinateSource Y-CoordinateSource Z-CoordinateReceiver X-CoordinateReceiver Y-CoordinateReceiver Z-CoordinateOffset AB KM Computing -sec  Hz sweeps from  degrees with -point taper and -point listen...  -Hz Raw Sweep Time, sec-Point Tapered  -Hz Sweep& method creates a new FltPlane object *of one or more (identical) vibrator sweep -traces, from the linear specifications below.Number of Traces (+int):Time Points per Sweep (+int):Start Frequency, Hz (+flt):End Frequency, Hz (+flt):Sweep Length, seconds (+flt): Initial Phase, degrees (+/-flt):Sweep Taper, samples (+int):"Addl. Listen Time, samples (+int):+traces, alternating with traces containing 1just a trigger pulse. This object can be written )as a sound file and played to control an /acoustic vibrator (left channel) and trigger a seismograph (right channel).Number of Stacks (+int):!Recorder Reset Time, sec. (+flt):0.5Trigger Length, seconds (+flt):Sweep Taper, seconds (+flt):"Addl. Listen Time, seconds (+flt):-multiplies the factor supplied by each trace 4having a pick; optionally by each trace not picked. 'A multiplier of zero achieves editing; (a multiplier of -1.0 does sign reversal.Edit: Picked TracesTraces Not Picked Multiplier:0.0 ]There are no valid picks of this data set. Check the text in the Pick Window. The multiplier  will be applied to noneall of the  traces.ZAll traces in this data set have picks. Check the text in the Pick Window. The multiplier  java/io/FileInputStreamjava/io/FileNotFoundExceptionRG file  not found: java/io/BufferedInputStream q java/io/DataInputStream OldRGFileHeadOldRGTraceHead java/io/IOException+Could not read 12-byte RG file header from  : +Could not read 16-byte RG file header from pFile , does not appear to have an RG file header: 6 does not declare enough traces in the RG file header; needed: H declares a different number of samples per trace in the RG file header;Warning: file 5 declares more traces in the RG file header than the  now being read: readRGFile: reading  samples each from RG file .Could not read (old-format) header from trace  of RG file !Could not read header from trace :Could not read  bytes from trace Trace Sequence Plane Index Could not close RG file readRGFile done.viewinFrame: displaying -element plane in new frame... Viewmat q  ViewmatFrame q  java/awt/image/MemoryImageSource q  Z ViewmatProps q  ViewmatPicks ViewmatGeomjava/awt/ScrollPaneFltPlaneCanvas q java/awt/Color q>   )  viewinFrame done. VW replotinFrame: redisplaying -element plane... replotinFrame done.putinApplet: displaying  q putinApplet done. Cannot read a SEG-Y file that does not scan consistently, yielding headers attached to the FltPlane or FltVol object. Likely cause is an incorrect tape header block and/or traces not sorted by FFID. Try opening a single FFID. readSEGYFile: reading  samples each from java/io/RandomAccessFiler q Cannot open file  for random read access: java/lang/SecurityExceptionRead access to file  not permitted: java/io/ByteArrayInputStream q Cannot seek in file  to trace at  bytes: java/io/EOFExceptionHit end of file  while reading SEG-Y trace at  bytes, i=: IO Exception reading file  at  bytes for SEG-Y trace, i=  n }8Internal Error: Could not read trace from memory buffer.trace  read.Could not close file  after random read access.readSEGYFile Done.java/io/FileOutputStreamCan't create file , data not saved: q createBinaryFile: writing  elements each to file java/io/BufferedOutputStream q java/io/DataOutputStream q q     Could not write  samples to Rg file  Data not saved. SEGYFileHead   SEGYTraceHead   B  samples to SEG-Y file  bytes to binary file appendBinaryFile: appending rw java/lang/ExceptionCould not seek end of file , data not saved.java/io/ByteArrayOutputStreamCould not buffer * bytes of RG traces prior to writing file : - bytes of SEG-Y traces prior to writing file * bytes of raw float prior to writing file    Could not append  bytes to file  file header bytes from file ( bytes of header prior to updating file  file header bytes to file Vector0= Vector= Min. Offset= m, Max. Offset= mwindowof: windowing  elements and  vectors from plane, with v0= dv= e0= de=3windows out and/or decimates vectors and elements. > v0=0 index of the first vector in each plane to be copied - nv=all the number of vectors to be copied ) dv=1 increment between input vectors @ e0=0 index of the first element of each vector to be copied ? ne=all the number of elements from each vector to be copied ) de=1 increment between input elementsv0 (+integer):nv (+integer):dv (+integer):e0 (+integer):ne (+integer):de (+integer):.cuts each trace down to the new starting time 5and length you specify. Below are the current values:Traces Start at: Trace Length:Trace Units are         PickData    n: No traces are picked; make picks of hit times on one $zero-offset trace per record plane. ! traces are picked; pick at most  , or one trace for each plane. Make picks of hit times on one  method on class  data will cut out records  samples () long after each pick, and sum them to create  stacked hammer shot records. hiestackHits: No traces are picked; make picks of hit times on one zero-offset trace per record plane.  stackHits: stackHits: cutting out records  samples ( and summing them to create  stacked hammer shot records...  6 t u vectors from plane  of volume, with v0= !Vector  " q #(Ljava/lang/String;)Vadd((Ljava/awt/MenuItem;)Ljava/awt/MenuItem; setCursorvmtitleappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString beginPanelequals(Ljava/lang/Object;)Zjava/lang/ClassforName%(Ljava/lang/String;)Ljava/lang/Class;Erroutdispose vspectPanelgetTitlesetTitleppLjava/awt/Panel;java/awt/Panel*(Ljava/awt/Component;)Ljava/awt/Component;addActionListener"(Ljava/awt/event/ActionListener;)V finishPanelcentershowdone noticeonlyfvolLFltVol;fp LFltPlane;vec[FfdLjava/awt/FileDialog;java/awt/FileDialog getDirectoryrowsdownvectab[LRgRGB;positiveclip=(LFltPlane;Ljava/lang/String;Ljava/lang/String;ZF[LRgRGB;ZF)V;(LFltVol;Ljava/lang/String;Ljava/lang/String;ZF[LRgRGB;ZF)Vcopyvec (LFltVec;)VRgCtabyglobemax()F (LFltVol;[F)V dovspectSum%(LFltPlane;LViewmatAction;)LFltPlane;propsLViewmatProps;picksLViewmatPicks;geom LViewmatGeom;titletfLjava/awt/TextField;setTextcvsLFltPlaneCanvas;vmatfzoomzoomresetPropsPanel!(LViewmatProps;Ljava/awt/Panel;)V setParametersrmscliptf applyChanges(Ljava/lang/Runnable;)Vstart(I)Ljava/lang/StringBuffer;(Z)Ljava/lang/StringBuffer;Notice (IIIZIF)VAmpUnitsNoticeln(Ljava/lang/String;II)VexplLjava/awt/TextArea;lab0Ljava/awt/Label;(Ljava/lang/String;I)Vtf0cb0Ljava/awt/Checkbox;setState(Z)Vlab1tf1lab2tf2getTextjava/lang/IntegervalueOf'(Ljava/lang/String;)Ljava/lang/Integer;intValue()IgetState()Zjava/lang/Float%(Ljava/lang/String;)Ljava/lang/Float; floatValue(F)Ljava/lang/StringBuffer;lab3tf3lab4tf4 setAmpUnitssetupReadBinaryFile4(LViewmatAction;LViewmatFrame;ZLjava/lang/String;Z)V readEqualFile(LViewmatAction;Z)LFltPlane;nametf(IILFltVec;II)V getPowerof2 setNoticeOn [LComplex;Complexreimfilt(LComplexVec;IIIII)V(LComplexVec;II)V powtoFltVectileto(LFltPlane;III)VAmp0AmpFacElem0DElem ElemUnitslab5tf5lab6heightfLViewmatFrame; (LRgHead;)VsxDsygxgyszgz calcOffset(Z)Doffjava/lang/Mathcos(D)D checkheadLjava/awt/Button;recsvpgvp(D)Ljava/lang/StringBuffer; getSignif'(Ljava/lang/String;I)Ljava/lang/String;&(Ljava/lang/String;)Ljava/lang/String;tf6lab7tf7lab8tf8lab9tf9lab10tf10allsetjava/lang/SystemoutLjava/io/PrintStream;print(Ljava/io/PrintStream;)Vntracent starttimedt getAmpUnits arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)Vquant(I[FI)Fch0Ljava/awt/Choice;selectgetSelectedIndexsin getNPicked (LFltPlane;)I(LFltPlane;ZF)V(Ljava/io/InputStream;)Vread(Ljava/io/DataInputStream;)V,(Ljava/lang/Object;)Ljava/lang/StringBuffer;copyOldRGFileHead(LOldRGFileHead;)VisValid readFloat copyOldRG(LOldRGTraceHead;)Vclose+(LFltPlane;Ljava/lang/String;ZF[LRgRGB;ZF)V(Ljava/lang/String;LViewmat;)V makeIntImage([I[LRgRGB;ZF)V (II[III)V getToolkit()Ljava/awt/Toolkit;java/awt/Toolkit createImage0(Ljava/awt/image/ImageProducer;)Ljava/awt/Image; makeScale(LViewmatFrame;LViewmat;)V(LViewmat;Ljava/awt/Image;)V setBackground(Ljava/awt/Color;)VfwfhsetSizedoLayoutspLjava/awt/ScrollPane;setNextLocation setDirectoryimgLjava/awt/Image;java/applet/Applet?(LFltPlane;Ljava/lang/String;ZF[LRgRGB;ZFLjava/applet/Applet;)VSEGY_HEAD_SIZE'(Ljava/lang/String;Ljava/lang/String;)V([B)Vseek(J)V(J)Ljava/lang/StringBuffer; readFullyresetreadInt readShort()SintBitsIBMToFloat(ILFltPlane;)V(Ljava/io/OutputStream;)V(LRgFileHead;)Vwrite(Ljava/io/DataOutputStream;)V copyRgHead writeFloatcopyRgFileHead(LRgHead;LRgFileHead;IDDZ)VwriteIntfloatToIntBitsIBM(F)Iflushlength()J toByteArray()[B([BII)V([BII)ISEGY_THEAD_SIZEplanesnv planetext[Ljava/lang/String; parsePicks&(Ljava/lang/String;)Ljava/util/Vector;java/util/Vector elementAt(I)Ljava/lang/Object;isampiveciplanesizeNDimsnoticeon (LFltVec;[F)V!di EYL+YW+YW+Y W+Y W+Y W*+Y W+Y W*+YW+YW+YW*+YW*+YW+YW+YW+YW+YW*+YW*+YW*+YW+YW+YW+YW+YW*+YW*+YW+Y W+%: ;<'=5>C?Q@UAcBqCuDEFGHIJKLMNOP QRS#T1U?VMW[XiYmZ{[\]`  *!>6"Y#*$%&'&,&(:)Y**:+,,*,-C,,*,./, ,*,/, ,*,0, ,*,1, ,<*,2, ,<>*,3,,*,4,,<*,5,,*,6,,*,7s,,<*,8],,<>*,9E,,*,:1,,<*,;,,<>*,<,,*,=,,<*,>,,<*,?,,<>*,@,,<>*,A,,*,B,,*,Ck,,;:DE: ::*GHI*J<*,K*,,<*,L, , *,M*"Y#,&N&*O&P&(Q'"Y#,&N&*R&S&(TUY,V:WXWYZ*[\]^ _*`:: : : : a%*$b*$c:,*$b: Y*$b)*$c: dY*$c*$cef:*$b: dY*$b*$bgf:*$b_hY*$c*ij*$k*$l*$m*$n*$op:  q: dY q qrf:\hY*$b*ij*$k*$l*$m*$n*$os:  t: dY t tuf:,,v6,, w, , x, , y, , z, ,:{:   |}  ~ ~   : o, ,b*$b*$c:*$b:hY*ij*$k*$l*$m*$n*$op: ,, ,, ,, ,, ,,F: hY *ij*$k*$l*$m*$n*$op: o,,*$bRdY*$c*$cf:hY*ij*$k*$lp:  Y*$b*$b:  hY *ij*$k*$l s: ,, ,, ,,f*$b*$c:*$b:hY*ij*$k*$l*$m*$n*$op: .,, ,, ,,J:  *    ~ ~   : ,,^*$b*$c:*$b:hY*ij*$k*$l*$mp: T,,^*$b*$c:*$b:hY*ij*$k*$l*$mp: ,,6,, ,,p:     ~ ~   :    j nn    S,,::     ~ ~   : , , a*  ~**"Y#&&(*»"Y#&ö&(*Ż"Y#&ƶ&(*$*$ʴ˻Y͵%*$*$ζ*$**ж*$**ж*$b0*$ʴ*$cjo*$c*է<*$׶*ا! jY ۶*ݱ07:Fdfh i)j3k8lAmLnUo`piqtr}stuvxy{}~%'2;=?JS^git}$-0:BGMRWXZenp{ !$'*-6@LX\fo  X_u~ !#$%&'()*+-./012 357&85:A;{?@ABCDEFGIJNP&R@SGTuZ[\abcdegh jkTo]pgqprzsuvxyz|}~.7AR`   $ / 8 A N U \ c i o x                1 C U _ d ~        *"Y#޶&*&*&&&&(6**h***$ *"Y#*&&(*"Y#*&&(*& BH\ht06 6*Y"Y#-&&+&&&&-&&&&&&&&&&&(#*W*W+$b+$c6+$b6 l6 l6*Y*W* W* Y"Y# &߶(  *W* W*Y*W*W**Y*W*W* Y"Y# &߶( *W*W*Y*W*W* Y *W*Wj     !-5COq}  > 6 8+ !"#= :=>**>+%6U+&"#= :=6l6+'()8 :8 v88** $BPS$ix{$V"# %'%(')/*4+=,B.S0[1^2d3i4{6789;<g*Y"Y#-&&++&&&&-&&&,&-&(#*W*.W@ZHfI+**  * LM$ 8 *"Y#/&*0&*1&(2*6*6 f8 8 8``::::`6 6  t6   ` Q  6  Q  6   `*  3Q  6  Q6 $  0 0  ` dd0jbQ     `0 0fQ/j   `d0j  `d0jb886 *  0 0j  ` dd0jnbQ  ք  P6 *   04   7 1 * 2# d ȟ   p(*"Y#5& `&߶(6  w*"Y#*7&8&(9*:.fg1i7j=kAmGnMqPrZs`tfukvpwvz~{z|}|4<@Fjs}w#/*d;<=>  )d666;8<8 =8 *Y"Y#-&&+?&&&&-&&@&A&B&C&D&E&F&G&(#*W*HW*YI*W*JW* Y"Y# &߶(  *W* KW*YL*W*MW* Y"Y# &߶( *W*NW*YO*W*PW* Y"Y# &Q( *W*RW*YS*W*TW**YUV*W*VWW* Y"Y# & Q( X*W*XYW*YZ[*W*[\W* Y"Y# & Q( ]*W*]^Wv ".<Hjv(* Jd=>6;8<8=8+ _"#6 : 6t6*h6=+`"#6 : 6t6*h6>+a()8 : 8   v8  8  8+%6+Xb()8 : 8   v8  8  8+]c()8 : 8   v8  8  8*>'*$Tcf$$$$) *27<NQTfnsx ',37;Ib*Y"Y#-&&+d&&&&-&&e&f&(#*W*gWU a *"Y#h&*&*i&(j<R**h*k `p/*"Y#l&`&*m&(n**"Y#o&*p&(q*"Y#r&*s&(t*uv*  -2@R~ |*Y"Y#-&&+w&&&&-&&x&y&z&{&|&(#*W*}W*+-~g&s'{( k*+N- **-==*"Y#&*&*& &&+&&(6k**h*--h- `p0*"Y#l&`&*m&(**"Y#&*&(N*F,- /023#5%6w:}<=>:@ A BC  c: : : *6*6"*"Y#&&(h6  l6 #n n8%n6n6n6n6  3-'*"Y#& jQ&(Y :* dY : Y : dY :    *"Y#&& &(,*"Y#&& &(6.6*2*h`02 62 2   V     `p*"Y#&`&&(`6*h`2Q`p.*"Y#&`&&( v* **h* : : : *Y*j*Y*j*"Y#&*&(* **µ*Ķŧ;*"Y#*ƶ&Ƕ&Qȶ&Qɶ&(*˶:EIJK MNQS8T9VBWHXSYZZb[j\r]acefgijk lmnoGspuvw|yzw|~| AG_isu 'X_b b 6 8 8+$b+$c8+$b8n88 *Y"Y#-&&+϶&&&&-&&ж&Ѷ&Ҷ&Ӷ&Զ&ն&ֶ&׶&ض&ٶ&ڶ&۶&ܶ&ݶ&޶&(#*W*W*Y*W*W* Y"Y# &߶(  *W* W*Y*W*W* Y"Y# &Q( *W*W*Y*W*W* Y"Y# &Q( *W*W*YV*W*VW* Y"Y# &Q( X*W*XW*Y[*W*[W* Y"Y# &Q( ]*W*]W*Y*W*W* Y"Y# & Q( *W*W*Y*W*W*% ".6:$0>Jlx"DP^j: V+ "#= : == t=+()F4: +$b+$cF+$bF% 2+$b+$cF+$bF % %vF%8+()F : F% %vF%8+X()F : F% %vF%8+]()F: nF% %vF%8+()F: nF% %vF%8*$(69$$$$*-$(!%(9HYgjp}    -9?BEU( *#    %*Y"Y#-&&+&&&&-&&&&& &(#*W* W*Y *W* W+$b0* Y"Y# &+$c Q(  -* Y"Y# &+$bQ(  *W* W& $Y-e.s/01345+ ()E3N+$b+$cE+$bE$ 2+$b+$cE+$bE $ $vE*$$6 9<=0?>@AAGCTDeFvH|IJKG*"Y#&*&*&&(dY*h*:**hY*͵* *!"Y*#͵$Y*%͵%*&'*()****+n+*,->b6S='.h`h`*/*h`0Q**h`2*20**1fP8SKTRU`VpWyXYZ[\]^_`acdcfg*a3`>iDj*"Y#2&*0&*1&(3>Q D=#*4*h`0bD*#*nD=*5*h`\0#fQ*** 6*7:q.s3u5v:wJvUx]yb{sy~s~*zb*Y"Y#-&&+8&&&&-&&9&:&(#*W*;WUa]*"Y#<&*&*=&*&*>&(?dY**N-Y*@͵A-Y*%͵B-Y*C͵%-*DE-*FG-**H-*+I-*J*-*K+-*LM=0< -N-h`*O*h`0Q-ބ-*P-NFVetP+Q*R.*"Y#S&+TU&*V߶(W+*+*+Y*X͵Y+Y*%͵Z+Y*[͵%+*\]+*^_+**`+*+a+*b*+*c++*de>0= +f+h`*g*h`0Q+ބ+αV 78@HWfu}f*Y"Y#-&&+h&&&&-&&i&j&k&l&(#*W*mWYe~ *6*6 *n6 *n66 #8 $8 h:6`6`6`6`6o8pj j j j8 q8 b8*"Y#r&s&& t&#Qu&$Qv&&(w666$`*xh h h``0Q` f`0j`0b `0`0fjbQ`d`d0 f`d0jb `d0`d0fjbQ6F``d0 f`0jb``0b `0`0fjbQdy M6=``0`0fQ*zh h h```0Q§16$*{h h h```0Q666666 dT:*"Y#*|&Ƕ& }~&&(*.  #&)14;BIPUfkq    *gm!"(#)A(K-W.c mw1z245   -`$#nQ-`-`0#nQ6 ? #"- `d0jfn8 - `$ jQ- `- `0"- `d0jf jQ  -`d-`d0Qd6 &- `- `0- `0- ``0jfQ  ۱2 C DEG.H9IVE`KrL{MLN! +$ln886*Y"Y#-&&+&&&&-&&&&&Ӷ&&&&&&&&&&(#*W*W*Y*W*W* Y"Y# &Q(  *W* W*Y*W*W* Y"Y# &Q( *W*W*Y*W*W**Y*W*WNT UVWijklmn op:qFrTs`tiuwvw" +$lnEF6+ ()8 :$8 v8E+()8 :%8%8 v8F+%6*$%#&$=LO$J| }~&.5:=OW`cjor{#:*a*Y"Y#-&&+&&&&-&&&&(#*W*W+$b5*Y+$cV+$c:*+$c2*Y+$bV+$b:*+$b*Y*W*WY2:*Y*W*W* Y  *W* W*Y*W*W* Y *W*W*Y*W*W*W*VW*Y*W*W**zR^h} ,:FVbp|$S *+ ()I : I(9+()I : I(9+%6 * 6*2Yk*2Yk*2Yk*2Yk*2Yk*2Yk*2*2 *z$$36$R!$6=@IOUfw% L*6*6)#*"Y#¶&ö&(ı)#*"Y#Ŷ&ö&(Ʊ*"Y#Ƕ&#jQɶ& ʧ˶&̶&$jQͶ&(66Dkk#djog9*h`\0$c$gkcjQ#jo#jog6M #fjdkk#djog9*h`\0$c$gkcjQ=66Dkk#djog9*h`\0$c$gkcjQ#jo#jog6M #fjdkk#djog9*h`\0$c$gkcjQ=*ڱ  56@_`Ably  1 ;EK%& * ܱ  &@*Y"Y#-&&+ݶ&&&&-&&޶&߶&&(#*W*W*Y*W*W* Y  *W* W*Y*W*W* Y *W*W*Y*W*W*:[%g&u'()*+,-./01'[ F8+ ()E*:*"Y#&+ &&($ $ (*"Y#&+ &&($F+()E*:*"Y#&+&&($ $(*"Y#&+&&($8*%+%ܱ$r$J567:><?>K@oBpDrEHJLNPRST(( **d X Y()$ *NY: 6<=<*d *d=d`6*"Y#&&*&*>&(66-**h`0Q*6(**h`*dd*h`0Q*6*dd*h`-0Q*l`sN67*20*2*dd20*dd20*l`*$****jb**v*"]^`bcdf!g#h-i4j;ksnypqprtruwun y {}2B{W`v*e*Y"Y#-&&+&&&&-&&&& & & &(#*W* W+$b+$cd6+$b d6*Y*W*W* Y  *W* W*Y*W*W* Y"Y# &߶( *W*W:gs} +=*$b*$c6*$b6d>+ "#6 :6=+"#6 :6> 6=>=dd>*5DG$Rad$V!05GORdlotwy|,c*>*`=dY:*~646"h`**h`0Q*ۄ.  #)/KW`-*Y"Y#-&&+&&&&-&&&&(#*W* W*Y!*W*"W* Y  *W* #WUao{./c/+ $"#= := %=>*'$%')0*L*"Y#(&*0&*1&()>M=+*dd***h`0Q*=*+*h`+0Q**L****jb**v*,>5:?Vafv1|\*Y"Y#-&&+-&&&&-&&.&(#*W*/WO [ 2:6*a*Y"Y#-&&+0&&&&-&&1&2&(#*W*3W+$b+$c:+$b4:*Y*W*5WY2:*Y"Y#6&d7&(*W*8W* Y  *W* 9W*UY:V;*W*;W* Y"Y# &?߶( *W*@W*YA*W*BW* Y"Y# &C߶( *W*DW*YEV*W*VFW* Y"Y# &G߶( X*W*XHW*YI[*W*[JW* Y"Y# &K( L  ]*W*]MW*YN*W*OW* Y"Y# &K( L  *W*PW*YQ*W*RW* Y"Y# &K(S T*W*TUW*YVW*W*WXW* Y"Y# &K( L  Y*W*YZW*Y[\*W*\]W* Y"Y# &K( L  ^*W*^_W*Y`a*W*abW* Y"Y# &K(S c*W*cdW*Yef*W*fgW* Y"Y# &K(S h*W*hiW*<R^hw !"$%'()*+,#-1.=/b0n1|23456789:;H<T=b>n?@ABCDEF G6HBIPJ\KLMNOPQRS"T.U5V3*6+ j"#6 :6 *8*"Y#k&+ l&m&*dn&(oY*2:+p"#=:?= ?=?+q"#=:C=C+Xr"#=:G=G+]s()J:J)+t()J:J)+Tu()J:J)+Yv()J:J)+^w()J:J)+cx()J:J)+hy()J:J)z*20{| $y$$$$ $0?B$Sbe$v$$$-[\] ^`%a4chfihyiklmnoqrsuvwyz {}*~0BMSepv4 *$b*$cM*$b}M,*~>* "#> :> ,c*$b*$c *$b"Y#k&* &m&,d&(* >Y,2L*"Y# &+?߶(*"Y# &+C߶(*X"Y# &+G߶(*]"Y# &+K(S*"Y# &+K(S*T"Y# &+K(S*Y"Y# &+K(S*^"Y# &+K(S*c"Y# &+K(S*h"Y# &+K(Sɱ=KN$f ,0:;=NU_$Ef 56X,YL+*+*+*+*+!*78YM,*nl`?,,?C,*n,?dhd`G,*,Cd*jb,,,*,Gd*jb,,,,,z,6 1INSkpu}9:#*6 *6 #8 **"Y#& & &#Q&$Q&%Q&Q&Q&&Q&& Q& &(*"Y#& & &#Q&$Q&*&&Q&&Q&& Q& &($n6:6dY:"66:6 h :6 jbQ6*%jb8*28*h66j0j8$n6$jf$n8 $nd6   `6 `) Nh` `d6 h` `d66`  `  d ` dd6Ch`6 h`6 d6`  `  dddd6 R6B"\0*`0 fj*``0jbbQ\.`OC66"\0*`0 fj*``0jbbQɄ [ >666&."\0.nQh:"t""$"t"" ""Y#&*&(*"2L 8?EHUX[^afou     -0S]bls "$&'()".023.'1;8@:D;H<N>W?h@kAn<{D~EFGHIJKLM;+$b^+$c8+$c8+$c8+$c8+$c6 +$c6 +$c:[+$b8+$b8+$b8+$b8+$b6 +$b6 +$b:8 8  n8 6 *Y"Y#-&&+&&&-&&&&Ӷ&&&&&&&&&&&&&&&&(#*W*W*Y*W*W* Y"Y# &Q(  *W* W*Y÷*W*W* Y"Y# &Q( *W*W*YƷ*W*W* Y"Y# &Q( *W*W*YɷV*W*VW* Y"Y# &Q( X*W*XW`*Y̷*W*W+$b*Y+$cV*Y+$bηV*W*VW*Yз[*W*[W* Y"Y# &Q( ]*W*]W*Yӷ*W*W* Y"Y# & Q( *W*W*Yַ*W*W* Y"Y# & Q( T*W*TW*YٷW*W*WW* Y"Y# & ߶( Y*W*YW*Yܷ\*W*\W* Y"Y# & ߶( ^*W*^W*Y߷*W*W* *EV XY$Z1[>\J]V^ebrcdefghjklmn .:[gu(IUco ,:Fgs</b 2*$bb*$cE*$cF*$c8*$c8*$c6 *$c6 _*$bE*$bF*$b8*$b8*$b6 *$b6 $8 8 n86 + ()8 :$8  E+()8 :%8   v8  F*A+()8 :8  8+X()8 :8  8+]()8 :8  8+()8 :8  8+T()8 :8  8+Y"#6 : 6   6  6 +^"#6 : 6   6  6 +%6 *$%    $ $'69$FUX$etw$$$$$5 +;KZl{  '9BFXaew      =>*6*6*n6 *n6,*"Y#&&&(<=*"Y#&&&N&s&&>&(*"Y# &&&*&(l<h`6l="*"Y#&&(h:h`h:: :666 O6 .* hh` h `6 O  6dh66Ld0+* hh` `6O O6 6 86 Y .Mt6 @  `6  1 * h `6  08Q8     l0Q$    d0Q  Q  Z|6 l66 I .=t6 0  `6  !  h `6  0Q  Є   l Q  6 6 86 I .=t6 0  `6  !  h `6  0b8  Є   nQ   d0Q  Q  s`6 66* hhh` h`6E::::*s     ( P Q W Z ` c  ! # $ % & ( ) +# ,/ -5 .; /A 1D 2J 3P 2Z 4` 6{ 7 8 4 : ; < > @ B C E F G I K L M O Q S T V) W0 X8 Z? [C \F QO MY b_ cn dz e g I j l n o q s u v x z | s o  l  # & , 5 < C O Y c f o y ~             < /      =% *    ?6 66*Y"Y#-&&+&&&-&&&&&&&&&&&&&(#*W*W*Y*W*W* Y"Y# &߶(  *W* W*Y*W* W* Y"Y# &߶( *W*!W*Y"*W*#W*$Y%&*&'(*&)(*&*(*W*&+W*&,Z    * 8 D O Y c m y  @= >6+ -"#6 :66t6p=+&.6+/"#6 :66t6p>+&.6*$JY\$f     " ' * / 4 ; > A J \ d i l q v } AB* *01  "*"Y#2&3&(4*"Y#5&*6&*7&8&(9YM*N**d,-:MN*;<:     7 8 p x      CDt*`l=6`6**2*2>*=*=*d:*`:2      4 C L W e !s " EF;[o**co9 **co9 ++co9 ++co9  k  kc9  kkc9KF*?>+?6!*C>+C6*G>+G6*9+9w*9+9c*9+9N*9+99*9+9$ *9+9*9+93 ' ) *" +1 ,@ -M .Z /b 0d 1l 2n 4p 6z 8 : ; = ? @ D E G H I J L P R S U W X Z \ ] _ a b d f g$ i* k0 l9 p? qE sM tO uW vY xGH-*20*2*20*2-06*?*h`0Q*6"*@*h`*A*h`0Q*6*B*h`0Q*6 ~  # ) < H N j v | I7*Y"Y#-&&+C&&&&-&&D&E&(#*W*FW+$b'*Y+$c+$c:$*Y+$bG+$bH:*Y*W*IWY2:*YJ*W*KW*$Y%&*&L(*&M(*&N(*&O(*&P(*&Q(*&R(*&S(*&T(*&U(*&V(*W*&WW*&,*Y*W*XW*W*YW M Y c x    " , 6 @ J T ^ h t |    J>*+&.=*Z     KL( *%[ KM k\o9 n9%fn9 *"Y#^&&Q_&%Qȶ&Q`&Qa&b&c&(ddY:6 @6 1%  kkc9  k kk ce4  τ  "Y# &%Qȶ&Qf&(g htNhko"Y# &i&%Qȶ&Qj&(k':::*lb   ~     0 e j s y }  N m8n8o8 8 +$b++$c6+$c6+$c8 (+$bp6+$bq6+$b8  j8*Y"Y#-&&+r&&&&-&s&t&u&(#*W*vW*Yw*W*xW* Y"Y# &߶(  *W* yW*Yz*W*{W* Y"Y# &߶( *W*|W*Y}*W*~W* Y"Y# &Q( *W*W*YV*W*VW* Y"Y# &Q( X*W*XW*Y[*W*[W* Y"Y# &Q( ]*W*]W*Y*W*W* Y"Y# & Q( *W*W*Y*W*W* Y T*W*TW*YW*W*WW* Y"Y# &߶( Y*W*YW*-   ( 4 D P \ i q     ( 4 U a o {         * 6 D P q }  ! " # $ % & ' ( )O/G m8n8o8 8 +$b"+$c=+$c>+$b=+$b>+ "#6 : 6t6 6=+"#6 : 6t6 6>+()8 : 8   v8  8+X()8 : 8   v8  8+]()8 :  8   v8    8  8 +()8 :  8     8  8 +T"#6 : 6t666+Y"#6 : 6t666*  [Zil$$$ $"14$aps$$$9 - . 0- 1> 5L 6Z 8l :t ;y <~ = > ? @ B C D E F G H J K L M N P Q R S" T4 V= WD XI YY Z] [a \s ^| _ ` a b d e f g h i j l m n o p q rP (88o8 8 +$b++$c6+$c6+$c8 (+$b6+$b6+$b8 l6 j8*Y"Y#-&&+&&&&-&s&t&&&&&&(#*W*W*Y*W*W* Y"Y# &߶(  *W* W*Y*W*W* Y *W*W*Y}*W*W* Y"Y# &Q( *W*W*YV*W*VW* Y"Y# &Q( X*W*XW*Y[*W*[W* Y"Y# &goK( ]*W*]W*Y*W*W* Y *W*W*Y*W*W* Y"Y# &goK( T*W*TW*YW*W*WW* Y"Y# &goK( Y*W*YW*. x y {( |4 }D P \ i o w  , 8 F R a m {          ? K Y e t          ' Q/R m8 n8 o8 888+$b2+$c=+$c>*$c8/+$b=+$b>*ô$b8l=jf n8  8  n8 + Ÿ"#6 :6t6 6=+Ƹ()8 :8 v888+Ǹ()8 : 8 v88 +Xȸ()8 : 8 v8  p j8  88     n n8  n n8n6+]ɸ()8 : 8 v8 ʕ 88  n>+˸()8 :8 v8 ʕ88n6+T̸()8 : 8 v8 n 88  n6+Y͸()8 : 8v8Ε 88  n6*   [:dYh`:~h`6dp56"h``0Qڧ(6h`` Q:$$ #$<KN$$ $ETW$$z^   ) 7 E X f t     # , 3 8 < N W ^ c r }                   % 5 9 = E W ` g l v z ~                  8 H !N "c !m z % & 'R<*Y"Y#-&&+Ӷ&&&&-&&Զ&ն&ֶ&׶&(#*W*W*Yٷ*W*W*$Y%&*&۶(*&ܶ(*W*&W*&,*Y޷*W*W* Y  *W* W: -a 6m 7{ 8 9 : ; < = > ? @ A BS(+&.>> 8+ ()8 :88*=H*"Y#&Q& &&*&(M*E*"Y#&Q& &&*&(*$'$: H I K L M' O0 P4 Q9 R= S W X \ ]TU ~:::Y+:,:*"Y#&+&&&(Y:Y:Y:Y: Y: Y: **=): *"Y#&+&& ( 3 ): *"Y#&+&& ( '*"Y#&+& & (  *5*"Y#&+& &* & (  *4*"Y#&+&&* & ( *4*"Y#&+&&*& (*"Y#&*6&*&+&&(63 Y: *"Y#&&+&( ): *"Y#&&+&(>Q**h`Q8: *"Y# &*h!&&+&("*   #*Y S** * *ht* *$t* * *%t* &,: *"Y#'&+&& (&()**+ "%KRUEJMA b c d e h> i? kJ lU m^ ng op py q r t w y {    , ] ^ j        % J K U z {              # + 1 7 ? E M u v } VW d*"Y#,&*-.&(/0Y*+%1:2Y+3: *: *:   h :   45Y    6: 7 8: 9:Y;Y?: : @YA: BY C:DYܷE:F GHI JW KGHL MWNO PQR*S*TU" " 5 A E N Q ` m     / 7 > E L Q V \ c VX:*,V*Wi+X   YZ(*"Y#Y&*Z[&(\+$k *M*M,,h N,-+$m+$n+$o]5Y,,-,6:+^8::+$ʴ_+$_+$_+$+9+$kMN*+`*abN " , 4 6 B \ s ~   ! " # $ % & '