4  +  * !" # $ %& +'( +)*+ ,-. / 0 1 2 3456 7 89: ; <=> 8? @ A BC *D *E %FGH IJLMN 0,OP +QR 5; 5S 5T *U *VW ;; X Y Z [\ ;] ^_ ` a bc d ef 3g 8h ij +kl 8m n oHp bq rs t uv wx by bz {|} ~  b     bB@?(\) ?zG{ r      Y b b 3  b  8 b    0/   s T  r; % % % / %    r] ! +     T r T  r r              +  b ;   T    /       ; r r  u w * 5/ * * *   * *  5  w w *   * *     ; !"#$  b% b&' *() *+,VersioningType InnerClassespatternLjava/util/regex/Pattern;regexLjava/lang/String; gzpatternparentLorg/das2/fsm/FileStorageModel;root%Lorg/das2/util/filesystem/FileSystem; timeParserLorg/das2/datum/TimeParser;templateloggerLjava/util/logging/Logger; fileNameMapLjava/util/HashMap;allowGzZ oldVersionsLjava/util/List; Signature$Ljava/util/List;versioningType.Lorg/das2/fsm/FileStorageModel$VersioningType; versionGe versionLt getFileSystem'()Lorg/das2/util/filesystem/FileSystem;CodeLineNumberTableLocalVariableTablethisgetChildFileSystem(Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;Lorg/das2/util/monitor/ProgressMonitor;)Lorg/das2/util/filesystem/FileSystem; localRootLjava/io/File;resultexLjava/net/URISyntaxException;childmonitor'Lorg/das2/util/monitor/ProgressMonitor; StackMapTable*H ExceptionsgetRepresentativeFile;(Lorg/das2/util/monitor/ProgressMonitor;)Ljava/lang/String;M(Lorg/das2/util/monitor/ProgressMonitor;Ljava/lang/String;)Ljava/lang/String; childRegexh(Lorg/das2/util/monitor/ProgressMonitor;Ljava/lang/String;Lorg/das2/datum/DatumRange;)Ljava/lang/String;rangeLorg/das2/datum/DatumRange;(Lorg/das2/fsm/FileStorageModel;Lorg/das2/util/monitor/ProgressMonitor;Ljava/lang/String;Lorg/das2/datum/DatumRange;I)Ljava/lang/String;eLjava/io/IOException;iIone listRegex fileSystems&[Lorg/das2/util/filesystem/FileSystem;names[Ljava/lang/String;kidsextratr versionOk$Ljava/lang/IllegalArgumentException;fffiles1jlastLjava/lang/Exception;range1thsdepth parentRegexLocalVariableTypeTable9Ljava/util/HashMap;-GWW+p. setContext(Lorg/das2/datum/DatumRange;)VtrdrgetDatumRangeFor>(Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/DatumRange;e2filenameLjava/util/Map;5Ljava/util/Map;d(Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/DatumRange;](Lorg/das2/fsm/FileStorageModel;Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/DatumRange;(Lorg/das2/fsm/FileStorageModel;Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/DatumRange;getFilenameFor@(Lorg/das2/datum/Datum;Lorg/das2/datum/Datum;)Ljava/lang/String;startLorg/das2/datum/Datum;endgenerateNamesFor0(Lorg/das2/datum/DatumRange;)[Ljava/lang/String;sstartdrddLjava/text/ParseException;scurroldCurrtpcurr countLimit approxCount/0quantize8(Lorg/das2/datum/DatumRange;)Lorg/das2/datum/DatumRange;dr1dr2tp1tp2extrastf1tf2 timeRange1 getNamesFor targetRangeW(Lorg/das2/datum/DatumRange;Lorg/das2/util/monitor/ProgressMonitor;)[Ljava/lang/String;getBestNamesForX(Lorg/das2/datum/DatumRange;ZLorg/das2/util/monitor/ProgressMonitor;)[Ljava/lang/String;slfsfiles2 deleteRemote remoteFileswfs(Lorg/das2/util/filesystem/WebFileSystem;f theListRegexrmkeythssbestcompLjava/util/Comparator; bestVersions bestFiles versioninglist versionList rangeList*Ljava/util/Comparator;-Ljava/util/List;"2getCacheTagForh(Lorg/das2/fsm/FileStorageModel;Lorg/das2/datum/DatumRange;[Ljava/lang/String;)Lorg/das2/datum/CacheTag;rnamefsmminmax3d(Lorg/das2/fsm/FileStorageModel;Lorg/das2/datum/DatumRange;[Ljava/io/File;)Lorg/das2/datum/CacheTag;files[Ljava/io/File; getFilesFor,(Lorg/das2/datum/DatumRange;)[Ljava/io/File;getBestFilesFor cacheCleanup()V4 getRangeFor/(Ljava/lang/String;)Lorg/das2/datum/DatumRange;hasField(Ljava/lang/String;)ZfieldgetField8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;hh containsFile(Ljava/io/File;)Zfile containsNamemLjava/util/regex/Matcher; getNameFor"(Ljava/io/File;)Ljava/lang/String;getRoot()Ljava/lang/String;maybeGetGzFileI(Ljava/lang/String;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/io/File;fzsfzmonf0oz%Lorg/das2/util/filesystem/FileObject;5 getFileFor"(Ljava/lang/String;)Ljava/io/File;K([Ljava/lang/String;Lorg/das2/util/monitor/ProgressMonitor;)[Ljava/io/File;onumwarnLjava/util/ArrayList;%Ljava/util/ArrayList;S(Lorg/das2/datum/DatumRange;Lorg/das2/util/monitor/ProgressMonitor;)[Ljava/io/File; countGroups(Ljava/lang/String;)IpgetParentRegex&(Ljava/lang/String;)Ljava/lang/String;dirRegexLjava/lang/StringBuilder;R getParent!()Lorg/das2/fsm/FileStorageModel; makeCanonical hideParams withinArg splitIndexsurl6createX(Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;)Lorg/das2/fsm/FileStorageModel;parentTemplate parentFSM templatebri27 FieldHandler(Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;Ljava/lang/String;Lorg/das2/datum/TimeParser$FieldHandler;)Lorg/das2/fsm/FileStorageModel; fieldName fieldHandler(Lorg/das2/datum/TimeParser$FieldHandler;(Lorg/das2/fsm/FileStorageModel;Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;Ljava/lang/String;Lorg/das2/datum/TimeParser$FieldHandler;[Ljava/lang/Object;)V moreHandler[Ljava/lang/Object;vh7Y(Lorg/das2/fsm/FileStorageModel;Lorg/das2/util/filesystem/FileSystem;Ljava/lang/String;)VtoString SourceFileFileStorageModel.java !" 89: ; <=(org/das2/util/filesystem/LocalFileSystem >? java/io/File @ A9- BC D&org/das2/util/filesystem/SubFileSystem EFjava/net/URISyntaxException"java/lang/IllegalArgumentException G&org/das2/util/filesystem/ZipFileSystem not supported, should not happen H IJ HO &'K LM*get representative from {0} {1} range: {2}java/lang/Object 45N OP)org/das2/util/monitor/NullProgressMonitor Q RSAFileSystem use on the GUI event thread will often cause problems. TH   get representative file UV WX Yjava/lang/String#org/das2/util/filesystem/FileSystem :;>org/das2/util/filesystem/FileSystem$FileSystemOfflineExceptionFileSystemOfflineExceptionjava/net/UnknownHostExceptionjava/io/FileNotFoundExceptionjava/lang/RuntimeException/ Z[java/lang/StringBuilder \]  ^ W_java/util/HashMap w~ 2 01 v `a2 bc 3 #$/ de fg hglist directory iM Oj *+.gz Zk0fall back to old code that would list everything lH  mejava/lang/Exception tu1 n o pq6 rS st ue  file name "%" doesn't match model specification ( %)java/text/ParseExceptionjava/lang/NumberFormatException), parse error in field v w xy z{ |x3 }~ s Ptoo many intervals would be created, this is limited to about 1000000 intervals.java/util/ArrayList  e x0 = V   w M1Strange bug shown in test033: {2} >>{0}<< >>{1}<< tp1 start {0}    O tp1 end {0}  tp1 tr {0} tp2 start {0} tp2 end {0} tp2 tr {0} <  {this shouldn't happen getNamesFor {0} ,-parent {0} yields: {1}    Sjava/io/InterruptedIOExceptioncancel pressed (.gz)?listDirectory({0})->{1}  wx 1expected version add {0}- skip {0} because it does not parse properly&org/das2/util/filesystem/WebFileSystem   ,local files that do not exist on remote: {0}  `org/das2/datum/DatumRangecheck format exception: {0}   f= org/das2/fsm/FileStorageModel$1  getNamesFor {0} -> {1}  org/das2/datum/CacheTag     local filesystems do not cache 4 S  5 S#removeLocalFile returned false: {0}  =field is not in template: () +File didn't come from this FileStorageModel S     failed to set last modified   Mlisting returns result that cannot be resolved file file (e.g. bad link): {0}java/io/IOException  get names  V $Y f$y\$% //+  ;each folder of template must have fields marked by $ or %:  H  _ \([\$][yYmdjxv\(\{]) S V    $\%  org/das2/fsm/FileStorageModel    #template cannot start with space: ""//\/\/\+\\+org/das2/fsm/FileStorageModel$2  \.gz das2.system.fsm ,org/das2/fsm/FileStorageModel$VersioningType%org/das2/util/monitor/ProgressMonitorjava/lang/Throwableorg/das2/datum/TimeParserjava/util/List java/util/Mapjava/util/Comparatororg/das2/datum/Datumjava/util/Iterator#org/das2/util/filesystem/FileObjectjava/util/regex/Matcher&org/das2/datum/TimeParser$FieldHandler getRootURI()Ljava/net/URI; java/net/URI getSchemeequals(Ljava/lang/Object;)Z getLocalRoot()Ljava/io/File;#(Ljava/io/File;Ljava/lang/String;)VtoURIgetSubtaskMonitor;(Ljava/lang/String;)Lorg/das2/util/monitor/ProgressMonitor;\(Ljava/net/URI;Lorg/das2/util/monitor/ProgressMonitor;)Lorg/das2/util/filesystem/FileSystem;createFileSystem9(Ljava/lang/String;)Lorg/das2/util/filesystem/FileSystem;(Ljava/lang/Throwable;)V(Ljava/lang/String;)Vresolve"(Ljava/lang/String;)Ljava/net/URI;java/util/logging/LevelFINELjava/util/logging/Level;java/util/logging/LoggerlogA(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)Vjava/awt/EventQueueisDispatchThread()Zinfolength()I substring(I)Ljava/lang/String;finished listDirectory`(Ljava/lang/String;Ljava/lang/String;Lorg/das2/util/monitor/ProgressMonitor;)[Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;endsWith(II)Ljava/lang/String;get&(Ljava/lang/Object;)Ljava/lang/Object;compare'(Ljava/lang/Object;Ljava/lang/Object;)I getValidRange()Lorg/das2/datum/DatumRange;contains(Lorg/das2/datum/DatumRange;)Z intersectsFINERC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V9(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;finepreviousclearjava/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;matchesparse>(Ljava/lang/String;Ljava/util/Map;)Lorg/das2/datum/TimeParser; getTimeRange*(Ljava/lang/String;Ljava/lang/Throwable;)Vformat()Lorg/das2/datum/Datum;org/das2/datum/DatumRangeUtilsloppyIntersectionS(Lorg/das2/datum/DatumRange;Lorg/das2/datum/DatumRange;)Lorg/das2/datum/DatumRange;widthvalue()D/(Ljava/lang/String;)Lorg/das2/datum/TimeParser;divide.(Lorg/das2/datum/Datum;)Lorg/das2/datum/Datum;(I)VnextaddsizetoArray(([Ljava/lang/Object;)[Ljava/lang/Object;getExampleExtras()Ljava/util/Map;O(Lorg/das2/datum/Datum;Lorg/das2/datum/Datum;Ljava/util/Map;)Ljava/lang/String;WARNINGorg/das2/datum/Unitsus2000"Lorg/das2/datum/TimeLocationUnits;getTime(Lorg/das2/datum/Units;)Djava/lang/DoublevalueOf(D)Ljava/lang/Double;@(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V getEndTime(Lorg/das2/datum/Datum;)ZunionN(Lorg/das2/datum/DatumRange;Lorg/das2/datum/Datum;)Lorg/das2/datum/DatumRange;java/lang/Integer(I)Ljava/lang/Integer; setTaskSize(J)Vstarted isCancelledsetTaskProgressjava/util/Arrayssort([Ljava/lang/Object;)Vnone5(Ljava/net/URI;)Lorg/das2/util/filesystem/FileSystem;asList%([Ljava/lang/Object;)Ljava/util/List;indexOf(Ljava/lang/Object;)IaddAll(Ljava/util/Collection;)Z(I)Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; getMessagevalues()Ljava/util/Collection;java/util/Collection"(Lorg/das2/fsm/FileStorageModel;)Vjava/util/Collections)(Ljava/util/List;Ljava/util/Comparator;)VgtltE(Lorg/das2/datum/Datum;Lorg/das2/datum/Datum;Lorg/das2/datum/Datum;)Viterator()Ljava/util/Iterator;hasNext()Ljava/lang/Object; getFileObject9(Ljava/lang/String;)Lorg/das2/util/filesystem/FileObject;removeLocalFile containsKeyexistsgetFile7(Lorg/das2/util/monitor/ProgressMonitor;)Ljava/io/File;getPath'org/das2/util/filesystem/FileSystemUtilgunzip(Ljava/io/File;Ljava/io/File;)V lastModified()JsetLastModified(J)Z$org/das2/util/monitor/SubTaskMonitorQ(Lorg/das2/util/monitor/ProgressMonitor;JJ)Lorg/das2/util/monitor/SubTaskMonitor;compile-(Ljava/lang/String;)Ljava/util/regex/Pattern; groupCountsplit'(Ljava/lang/String;)[Ljava/lang/String;(Ljava/lang/CharSequence;)Z replaceAlljava/lang/SystemerrLjava/io/PrintStream;java/io/PrintStreamprintln startsWithcharAt(I)C(C)Ljava/lang/StringBuilder;find lastIndexOf(II)I(Ljava/lang/String;I)I|(Ljava/lang/String;Ljava/lang/String;Lorg/das2/datum/TimeParser$FieldHandler;[Ljava/lang/Object;)Lorg/das2/datum/TimeParser;getRegex&(Ljava/lang/Object;)Ljava/lang/String;org/das2/util/LoggerManager getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;! !"#$%&'()*+,-./0123/456/*78 9 :;6*q*(*:Y+ ,  NY**+NI:Y**+N-:YY*+,  N-BHK^dg7F8BHKMW^dgis}8f <=8>"H>"M ?@d>"i ?@!"ABC>"D;OE OE FG-./HI6= *+78 9 BCGHJ6G *+,78  9 BC KGHL6Q *+,-78* 9 BC K MNG HO6Y*SY,SY-S+ YL: !": *#*$%:*#+& *$'`(-`:  : +) *Y S:+:6  1 * 2+ ,S: 0Y 1 *$'`(:!+Y*S:*Y2S:*$: d6  L G 23+ 4:  d6    22   2"5Y6 2737  278:39'd::;Y<:*=:6*> *?@AB*>C6*D *?@AB*DC6L*EFG=- -H0,( 2  2,+I 4:: : :JK  *L d6    235Y67M78N:  h d6  22   2"5Y6 2737  278:39'd::'d:: h *#: +) OP*#2Q:  R: -- H: +) *#+S *$'`( `:  : +) *Y S:+:6  1 * 2+ ,S: 0Y 1 ͧ)+):+) -./8;T>z LU7v]*-3;>ENrzi    ,"3#=$s%'()*+, -.'/-0124388;6=7I9Q:TZ=a>f?w@ABCDE?K LMiM O(P5Q<RISLiRSUU\WgXuUz[i[\]^`cab^eijijl8j$ PQ 6RS rmT ULVWTXY' ZY[)\N]+= ?^s_,(`Y 3!aS  NRS ^bS (_k`Y mRS  Pc 6RS z]T 5dN UVWXYe BCKMNfSUVWXY-g>> h [iD)* jklmlGll jklmnzlllco  jklmll jklmlnzll &z^ll9pm# %Bq Kz^ll4 jklmlnzlml5lcr  jklmlnzll jklmlls jklmlnzllGtu6A *E+U7 uv8 9 vN"wx6,V*W+XY*E+,ZW*E[*\-*\+XY*E++'d:,ZW*E[Y5Y6]7+7^7*_7`78NY5Y6]7+7^7*_7c78-d:%a%b&Va&VbWaWb7. &;OW84y^1Pc9 z[{h [|D&0kr.} w~6,V*W+XY*E+,ZW*E[*\-*\+XY*E++'d:,ZW*E[Y5Y6]7+7^7*_7`78NY5Y6]7+7^7*_7c78-d:%a%b&Va&VbWaWb7. &;OW84y^1Pce z[{h [|D&0kr.6H *E+,e78  9  6 *EN-+feM0:-F:+g:hi*-feM-,jW:0Y1-[:k6l+hhnik6ok YqrYs:+H t:+H8-fue:vW: t: wx*yzT?EHa7z"/4?EHJTZ^t8%N"N+?cJ ?"N 9 MN?$ZN^StSc>-h c>/DJ jmr!rmm jmlH 7m:!6 '*E{M*E+f+f,|N*E+u+u,|:*E-j[:*Ej[::}~Y-SYSY*ES*E-j:}}}[*Ej: } } } [f+ufM0Y+FIaa7Z+8FIKjt  "#8 8NFNt$?$ K?^{+"N"N ?'9 'Nh |D5Ijmllqmmjm6B*+Y7/89 NG6F*+,7;8 9 NBCG6F*+,7G8 9 NBCG6B*+Y7R89 NG6 *- YN**#*#+Y:Y*#SYS+:6**2-,S:0Y1*$%:*$'`(:!+Y*S:*Y2S:*$:rY:rY:rY: - h-;Y<: 6   - Y-  h: *L5Y6 778:  23 N: JY SY S 6   22  2"5Y6 2737 278:39'd::* :+ +HuM9*L'd::vW vW*?* A 0Y AvWJ:J-  h h l` 2 2::x :3 N:rY: ::66'2: vWز*W *?*?@: ;Y<: ;Y<: 6xG*: :*: *:zJ C*> *>C2*D *DC W W:}K*> *>C^*D *DCG C9 W *:**vW:}K  *:Y*Y*SYxS-)x*yzzrThk  T!T7g`bi$k+l=m_ngorqtrsovwxyz{~ (48?Uc *4J[hkmz  ,2@IR[jx  !GU]iy8* Pcj/RSgUgNVW=xXYNm P^_aSk"`YW-P-z=8 c`Y  %RS ?cy?cx0_^PaSI Rw{ [n{ 9 N+BCDUUVWJXY;-2-)-   [{ h\ W/P/I Rw| [n| ;/2/)   [| D(Njmknz\r lnz9 jmklnz,l2z^llm3 BqQjmklnzlzFzz$ jmklnz+jmklnz{jmklnzllllBrCBrjmklnzG 68 k+fN+u:,:66E2:*Q: -+f  f-N+u  u:Y-7" $,AY_8H,-N $5k kMNkXYf `DEjmzz(lm@Ajmz 6),*N6,-*,2S*+-7    "84 RS) )MN)#XYD  z6A *+Y°78 9 NG6A *+Yð78 9 NG6P*ĶP=*L+*+*M*,ȶɚJ,ӱ7# $&2'@(L*O,82P9 D  ,6A *+;Y<758 9 6= *E+ˬ7>8 9 6;;YDl65 *Ѱ78  9 6wN, YM*5Y6+7M78:ҙF,:Զ'd::YN--׶ؚ Yٷ-7. *2:OY_ku8H:;=O&w9 wwCu=*MDfG6w**Y+SYM,,278 9  _DG6{**Y+S,N--278*9 BC _DG6 L, YM+N**;Y<6+,+ h,6+, Y*+2:ҙ!-, h` h۶S,*L%*+2, h` h۷:-S-2}+2*-2+2W:0Y1I,)rY-s:6-:66    2:   W [7  $'8>HQ[hp (-58>8z =h~ PQARS(= L9 LXYLBC:'%S @>=RSh  @>DW 2(jzko  jzkG6k*+N*-,:7849 NBC XY_G6, YM*+, N-:**;Y<-,- h,6-, Y*-2:ҙ", h` h۶S-*L&*-2, h` h۷:S*2-2W:0Y1e,)h7Z "4EKU^hu}!$"#&'8\ =ub PQNRS9 NBCXY"D7 'z3)jmkzo G 6g<*M,2XN-7+,-.8*>S  6G*3L+.5Y+2M>+d,37+27WM,,87"68 9:";/:8>:@84RS G@Y: DzCl6/*#7K8 9 6n* **L*L+3L+3=++!5Y67+:78+3 +(L+7* Z[] _)`0a?b]dfelg8*>n% N>0>RSD l< 6`5Y6L=>*'J**)= +7W&+*W*(=+*W+87* st uvw$x?zK{Uu[8* ORS`%X> V+D   6&L+*XM,,>*/>`7  $8* RS&# D $l 6m+L+M,3>+ ++L,M,6+::*:Y*+Y*+72  #-7@FNVb8HNV  m!"m% c\RS@-SD 7l*  6< +L+:36+"++L:6(+::*,-:Y*+,-Y*+,-72  &0<GMV`r8\ V` !"%   xoRSG<SD <l56m K***L*rY*>*D*,*+#-%Y5Y6 7-7 78-3 -(N- - 3N*- _A:*?Y*:*-EJ  *-YSYSE"*-YSYSYSE**E$**$W-M9*L*L!*5Y6*$778\7zD EG}~#(-7YbhrJKMNPX YZ [%],^J`8\ K9 K K!"K%K K KD. YjjFll:l #$6Z*+,-7 p q8*9  !"%6F5Y6*7*_787u8 9 6" 7B*@ b  -+K