4      ! ^         ' ^ ^ ^      ! "#$ #%& #' #() #" "* +,-./ /01 .2 -3 -45 6 7 8 9:;<= * ->?  @ @A B C DE F G H IJ K%K LMN O% O OP OQ OR S OT UV UW XY XZ L[  \]^ ^_` `% a b c de +fg i% hi l% j kl pmn rmo tp q  rs t  uv "wx y Lz{ | } ~    d  w             * *   L   L "  '        @*     KV K Ko     u  *   #*  " "   tB@  %  A.  @@         InnerClassesLocalReentrantLockListingsLastAccessTimeLastAccessTimeloggerLjava/util/logging/Logger;LISTING_TIMEOUT_MSI ConstantValue'MEMORY_LISTING_TIMEOUT_MSHTTP_CHECK_TIMESTAMP_LIMIT_MS accessCache+Lorg/das2/util/filesystem/ExpensiveOpCache; localRootLjava/io/File;appletZprotocol&Lorg/das2/util/filesystem/WebProtocol;offlineofflineMessageLjava/lang/String; PROP_OFFLINEofflineResponseCodePROP_READ_ONLY_CACHE readOnlyCachepropertyChangeSupport"Ljava/beans/PropertyChangeSupport; downloadsLjava/util/Map;idlistings SignatureDirectoryEntryXLjava/util/Map;listingFreshness3Ljava/util/Map;getDownloadDirectory()Ljava/io/File;CodeLineNumberTableLocalVariableTablelocal isOffline()Zthis(Lorg/das2/util/filesystem/WebFileSystem; setOffline(Z)V oldOfflinegetOfflineMessage()Ljava/lang/String;getOfflineResponseCode()IsetReadOnlyCache(Ljava/io/File;)VfoldValuegetReadOnlyCacheaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)Vlistener#Ljava/beans/PropertyChangeListener;removePropertyChangeListener isGitClone4(Ljava/io/File;Ljava/lang/String;)Ljava/lang/String; configFilerootpathgitDirisGit StackMapTablelookForROCache(Ljava/io/File;)Ljava/io/File;sfisexLjava/io/IOException;readLjava/io/BufferedReader; localPathtailstartstopFileresult-?addRoCacheEntries2(Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;de14Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;f1ss[Ljava/lang/String;addLjava/util/List; directory remoteListLocalVariableTypeTableFLjava/util/List;WLjava/util/Map;N(Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;(Ljava/net/URI;Ljava/io/File;)V accessTimeOp.Lorg/das2/util/filesystem/ExpensiveOpCache$Op;Ljava/net/URI;(Ljava/net/URI;)Ljava/io/File;waitForDownload<(Lorg/das2/util/monitor/ProgressMonitor;Ljava/lang/String;)Ve Ljava/lang/InterruptedException; isCancelledmonitor'Lorg/das2/util/monitor/ProgressMonitor;filenamedownloadMonitor{ getPartFile localFilegetDownloadLockj(Ljava/lang/String;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/concurrent/locks/Lock;mon Exceptions downloadFilef(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map;(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map;getLocalRootAbsPath Deprecated getLocalRoot getProtocol(()Lorg/das2/util/filesystem/WebProtocol;resetListingCache()VresetListCache(Ljava/lang/String;)V listingFile"(Ljava/lang/String;)Ljava/io/File;listingisListingCached(Ljava/lang/String;)ZageMsJ cacheListingJ(Ljava/lang/String;[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;)V5[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;listDirectoryFromMemoryI(Ljava/lang/String;)[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry; freshnessLjava/lang/Long; ageMillismaybeUpdateDirectoryEntryI(Ljava/lang/String;Z)Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;fnameforcedesitry isDirectory listDirectory'(Ljava/lang/String;)[Ljava/lang/String;9(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;regexnamespatternLjava/util/regex/Pattern;Ljava/util/ArrayList;JgetURL"(Ljava/lang/String;)Ljava/net/URL; Ljava/net/MalformedURLException;getURI"(Ljava/lang/String;)Ljava/net/URI;Ljava/net/URISyntaxException; getRootURL()Ljava/net/URL;rooturi2ex2Ljava/lang/Exception; userInfo_Ljava/lang/StringBuilder;authuserInfo$ getLocalName"(Ljava/io/File;)Ljava/lang/String;file"(Ljava/net/URL;)Ljava/lang/String;urlLjava/net/URL; getFileObject9(Ljava/lang/String;)Lorg/das2/util/filesystem/FileObject;getLastAccessed(Ljava/lang/String;)J copyStreamU(Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/das2/util/monitor/ProgressMonitor;)JmbtmbpsisLjava/io/InputStream;outLjava/io/OutputStream;reportIncrementBytesbuffer[B bytesReadtotalBytesReadt0reportSpeedTotalBytesRead consumeStream(Ljava/io/InputStream;)VerrtoString isAppletMode setAppletMode access$3009(Lorg/das2/util/filesystem/WebFileSystem;)Ljava/util/Map;x0 SourceFileWebFileSystem.java *+  4 ! ()&org/das2/util/filesystem/WebFileSystem  "# %    using read only cache at {0}  A  '  IJ MJ java/io/File.git } : :config /blob/master   /blob/main /raw/master /raw/main A"java/lang/IllegalArgumentExceptionjava/lang/StringBuilder }localRoot filename (   ) must be parent of local root: }  ro_cache.txtjava/io/BufferedReaderjava/io/InputStreamReaderjava/io/FileInputStream }EUTF-8 } } A#  ! "A #Chttp:https:ftp:2ro_cache should contain the name of a local folder $java/io/IOException % &A ' (4 )A/blob/ *4 NO H4 +,java/util/ArrayList/ -2org/das2/util/filesystem/FileSystem$DirectoryEntry ./ 0 1# 23 #/ 4 p 56 7: 89 :; }< java/beans/PropertyChangeSupport }=java/util/HashMap -+ 1+  >Ahttphttps+org/das2/util/filesystem/AppletHttpProtocol  ,org/das2/util/filesystem/DefaultHttpProtocol WX DE5org/das2/util/filesystem/WebFileSystem$LastAccessTime }?=org/das2/util/filesystem/WebFileSystem$ListingsLastAccessTime)org/das2/util/filesystem/ExpensiveOpCache }@  A WFS localRoot={0} BAC DE }Ewaiting for file to download F GH%org/das2/util/monitor/ProgressMonitor I J/ KL : M N/ OL PLjava/lang/InterruptedExceptionjava/lang/RuntimeException Q:=watched downloadMonitor is finished but is not being unlocked R!file is downloaded, just a moment S. ,#.part T ,{0} wants download lock for {1} wfs impl {2}java/lang/ObjectU VW XA YCZ [\ ]-another thread is downloading {0}, waiting... java/io/InterruptedIOExceptionrequest was cancelledjava/io/FileNotFoundExceptionexpected to find this thread will download {0}.9org/das2/util/filesystem/WebFileSystem$LocalReentrantLock }^.listing_ `a#unable to delete all .listing files b cd e: unable to delete .listing file: fHunable to mkdir }g h i/ listing date is {0} millisec old [j kdjava/lang/Long l/"list directory from memory for {0},remove old ({0}ms) directory listing for {1} m  unable to get listing:  no p qrs t: 4Cjava/lang/String uv java/net/URL Q w xd }yjava/net/MalformedURLException java/net/URIjava/net/URISyntaxException zA@ {8user info section can contain at most two at (@) symbols%40://file ""is not of this web file system\\ |}url "&org/das2/util/filesystem/WebFileObjectjava/util/Date }L }~ java/lang/Exceptionreturning 1970-01-01 ^  %.1f MB [ %.2f MBytesPerSecond+transferring data transferred={0} speed={1} transferring data  wfs 9: (offline) das2.filesystem.wfs %014d_%s #org/das2/util/filesystem/FileSystem(org/das2/util/filesystem/WebFileSystem$1java/lang/Throwable java/util/Mapjava/util/Listjava/util/Iterator,org/das2/util/filesystem/ExpensiveOpCache$Opjava/util/regex/Patternjava/io/InputStreamjava/io/OutputStreamsettings/()Lorg/das2/util/filesystem/FileSystemSettings;+org/das2/util/filesystem/FileSystemSettingsgetLocalCacheDirfirePropertyChange(Ljava/lang/String;ZZ)Vjava/util/logging/LevelINFOLjava/util/logging/Level;getPathjava/util/logging/Loggerlog@(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V#(Ljava/io/File;Ljava/lang/String;)Vexists startsWith substring(I)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;equals(Ljava/lang/Object;)Z*(Ljava/io/InputStream;Ljava/lang/String;)V(Ljava/io/Reader;)VreadLineindexOf(Ljava/lang/String;)I(II)Ljava/lang/String;trimlengthcloseSEVERE getMessageC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V getParentFilegetAbsolutePathgetAbsoluteFilelist()[Ljava/lang/String; containsKey lastModified()JmodifiednametypeCsizeiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Ljava/net/URI;)V(Ljava/lang/Object;)V getSchemeU(Lorg/das2/util/filesystem/WebFileSystem;Lorg/das2/util/filesystem/WebFileSystem$1;)V2(Lorg/das2/util/filesystem/ExpensiveOpCache$Op;I)VFINEgetHost'org/das2/util/filesystem/FileSystemUtil maybeMkdirs(Ljava/lang/Throwable;)VsetProgressMessageget&(Ljava/lang/Object;)Ljava/lang/Object;started getTaskSize setTaskSize(J)VcancelgetTaskProgresssetTaskProgresswait isFinishedwarningfinishedFINERjava/lang/Thread currentThread()Ljava/lang/Thread;getNamehashCodejava/lang/IntegervalueOf(I)Ljava/lang/Integer;A(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)Vg(Lorg/das2/util/filesystem/WebFileSystem;Ljava/lang/String;Lorg/das2/util/filesystem/WebFileSystem$1;)Vorg/das2/util/FileUtildeleteWithinFileTree#(Ljava/io/File;Ljava/lang/String;)ZcleartoCanonicalFolderName&(Ljava/lang/String;)Ljava/lang/String;deleteremove*(Ljava/lang/String;Ljava/lang/Throwable;)Vjava/lang/SystemcurrentTimeMillis(J)Ljava/lang/Long;toCanonicalFilename longValue lastIndexOfcompile-(Ljava/lang/String;)Ljava/util/regex/Pattern;endsWithmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/MatchermatchestoArray(([Ljava/lang/Object;)[Ljava/lang/Object;toURL uriEncode#(Ljava/net/URL;Ljava/lang/String;)V getAuthoritysplit replaceAll8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;M(Lorg/das2/util/filesystem/WebFileSystem;Ljava/lang/String;Ljava/util/Date;)VdoOp&(Ljava/lang/String;)Ljava/lang/Object;([BII)Iwrite([BII)V isLoggable(Ljava/util/logging/Level;)Zjava/lang/Double(D)Ljava/lang/Double;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;java/lang/Mathceil(D)Dfinest!org/das2/util/filesystem/HtmlUtilorg/das2/util/LoggerManager getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;&java/lang/management/ManagementFactorygetRuntimeMXBean&()Ljava/lang/management/RuntimeMXBean;"java/lang/management/RuntimeMXBean!  !"#$#%&#'()*+,#-+.01+.2- 3457 K*6 XY7 89:5/*6}7 ;<=>5]=**67 ;<!?@A5/* 67 ;<BC5/* 67 ;<DE5v(  +*M*+*,*6'7 (;<(FGH45/*67 ;<IJ5A *+6 7 ;< KLMJ5A *+6 7 ;< KL NO5sY*M>,,Y,:>C+ + + + + + +  + 6> '-1:AJQZajq74'PsQsR# hS fTU -V WX5 *LMN+!,!'"Y#Y$%&,'(&*')*+,+0Y+,::-Y.Y/Y0123:4:m566 7:89?:; < "Y=*8:Y>N 4:?p: ABC[: ABC?<: ABC': ?: A B C +DL--*E+E9:F!+G:-H:Y-9Y--@\@!+.@\C!CEOR@CEC66 =EQY\w~ !+.0@CEORTdgjorvx     7 Y#^Z~o[#\]\]0\]T\] \^_QF`[#=a#b c dU=VVV@Vef(  BgTgBgTh VVVVVehBgVVVVVe7fij5 *IN-Y-+J:,KYL::662: Y-#Y$+& &):  #Y$ &M&): , NEOYP:   QR  S  dfT  UV WWgX:Y ZO:,S[W,6V!" #$%'&A'^(f)|+-./012&56797f 9kl ^km A[# klno'pq;<r#s+Ft'pusvU V wfxVyHfV3 wfxVyfVzz wfxVyfVzz{&.|}~5*+\**] * **^Y*_*`Ya*`Yab*`Yac*,d,)+efg+ehgB*iYjk4+efg+ehg*lYmk,nN-*-o+efg+ehgpY*qN rY*sN*tY-'uv6fAo t&1u<vGBLCPD]EhFvIJKMNOUVXZ\7> F;<QUhwV    5ZL wx+#Y$*e&M&*y&M&*z&)MY+,L+{ N"Y-|+GKN@6& =GKNOX7*O \]ZQS8=[#UNVfg 5h+}~*,N+-x+-+6 -+-*:Y*,N-- +~+NX[6R ,49BNX[]gu7>] 4^;<#U% L *X5])Y#Y$+!&&&&)>67);<)5² YSY+SY*S*Y:*+:O +*-+,ð- YY#Y$&,') +*+-[W-Y*+ð:._`6B&.=BNT[`is   74=};<#FU&`+wfVh@@.A52*dE6:7 ;<45/*d6?7 ;<5/*k6H7 ;<!5l)*d "Y**b*c6O PRS(T7 );<U!5d+LY*d#Y$+&&)M,%,"Y#Y$&,')**b+W*c+W6[]$^2_MaXbcc7 d;<dr#$@FUMV5RY*d+M,{ N"Y#Y$&,')-Y*d#Y$+&&)N- @6k mpno1qPr74\]R;<Rr# EFPUwfVg!5SY*d+M,*+N-1-Qe7 * w6*  #-=MOQ74-$S;<Sr# FF7UV&V!5d*b+,[W*c+[W6 7 ;<r#$5+L*c+M,,eB,e! +*b+: Y!SY+S*b+W*c+W62 "1=LOit74Ld;<r#n"_U 55 +N-M6*-`7: 60+#*-`7W*-`7:2-@Y#Y$¶&*ö'-`7&)Ŀ:5-`:6 2Sg 2:6F  1?QZ7\ (#;<#R# Z :dlU' wff02zf@@@5$s*+N,:KYL:6-C-2Mƙ--2-29d7S-2Ƕș -2Wʽ˶Ͱ6*  +@OY_7HGZs;<sr#s#mo g^dU!wff'@5&+LY*ж+ҷӰMY,67  \&;<&#U\53+LY#Y$*ж'+Ҷ&)ְMY,()6  ) * 7 * 3;<3#Ui5*жѰL*жM,ٶN:- "Y۷*-#Y-2:6ݶ&-2&W-2MY#Y$*жe&޶&)&ٶ&,&*жz&):Ѱ:YY+__6B ! +!1#=$[%_'()*-7\ @Z =q#no# \;<U/H"wffF 5N+!*d!#"Y#Y$߶&+'&)*+!*d!9M,MM,69:1<C=L>7 N;<NC #U15H+*ж#"Y#Y$&+'&)*+*ж9M,6BC1EFF7 H;<HF#U15HY*+Y6S7;<#$5 *v+OM,RM A,C 6a bcde7* dl\ ;< #UQ5 7:+677 7 - Y-,+6 a7 y YoS:Y eoooS: YSYScoi7 C 86Zst uvw"x&y,z5{=}E~NZhp|7z O#+#;< " & U#& w*} @ 53*6 7 @A5p*#Y$&*ж'* ]&)67 *;<Uawf:5/*67 ;<>5>*6 7;<5/*6D7 <5G+ YSY  S6 F  2 rpO / t