4 wx y ,z ,{ ,| }~    ,      y           , ,    x  4  4      4     4 4 4  4 4 4  S      k   d  x x x x x x   ,  ,w  , , , k      `,        ,     !" # ,$ % & ' x( )*+ ,-. S /0 12 34 56  y 7 8 9: ;< ,= >?@ A BCD E F  GHI JK L MNO ,PQRS T ,U VW VXY Z [ \[ ]^' _`a bc def ghijklmn opqrstuv 4w ,x yz ,{ | }~     4  b 4'  , S   , , , ,   x     V  ,  , ,   ,  , B Dy   H , , , , OJ O[ R Ty T T T T ,  3 [ ,   Ry  jy     ~   , ,   , ~ j j3 jG   , , ,        V   loggerLjava/util/logging/Logger;listingEntriesLjava/util/Map; SignatureDirectoryEntry InnerClassesWLjava/util/Map;listingEntryFreshness3Ljava/util/Map;cookieLjava/lang/String;(Ljava/net/URI;Ljava/io/File;)VCodeLineNumberTableLocalVariableTablethis)Lorg/das2/util/filesystem/HttpFileSystem;rootLjava/net/URI; localRootLjava/io/File; getCookie()Ljava/lang/String;createHttpFileSystem9(Ljava/net/URI;)Lorg/das2/util/filesystem/HttpFileSystem;iIrooturi2exLjava/net/URISyntaxException;userInfoLjava/lang/StringBuilder;parent3Lorg/das2/util/monitor/CancelledOperationException;encodeLjava/io/IOException;!Ljava/net/SocketTimeoutException;msgex2code rootAuthUriportrootAuthLjava/net/URL;urlcLjava/net/HttpURLConnection; responseCodelocalauthss[Ljava/lang/String;doCheckZ parentURIofflineofflineMessageofflineResponseCoderesulterooturi StackMapTable6D ExceptionswaitDownloadExternalF(Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Z Ljava/lang/InterruptedException;fpartFilemonitor'Lorg/das2/util/monitor/ProgressMonitor;getRequestProperties()Ljava/util/Map;7()Ljava/util/Map; reduceMeta)(Ljava/net/URLConnection;)Ljava/util/Map;connectLjava/net/URLConnection;LocalVariableTypeTable5Ljava/util/Map;O(Ljava/net/URLConnection;)Ljava/util/Map; doTryDownload(Ljava/net/URLConnection;Ljava/net/URL;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map;dLjava/util/Date; ageMillisJLjava/lang/Exception;contentLocation contentTypedoUnziptotalBytesReadoutLjava/io/FileOutputStream; remoteURLfilenameinLjava/io/InputStream;hurlcsdLjava/util/List;expectedContentLength$Ljava/util/List;24I`(Ljava/net/URLConnection;Ljava/net/URL;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map; doDownloadt(Ljava/lang/String;Ljava/net/URL;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map;EntryLjava/util/Map$Entry;!Ljava/lang/IllegalStateException;ex1theUrl newConnectionhaveItpropsoldurlc;Ljava/util/Map$Entry;(Ljava/lang/String;Ljava/net/URL;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map; downloadFilef(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map;exgzLjava/io/FileNotFoundException; targetFilelock!Ljava/util/concurrent/locks/Lock;meta(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map; getHeadMeta#(Ljava/lang/String;)Ljava/util/Map;ur Ljava/net/MalformedURLException;5Ljava/util/Map;~I(Ljava/lang/String;)Ljava/util/Map; isDirectory(Ljava/lang/String;)ZlookForlist1 parentFilelisthideExtensions()Ljava/util/List;&()Ljava/util/List; listDirectory'(Ljava/lang/String;)[Ljava/lang/String;[Ljava/net/URL;urlnfinLjava/io/FileInputStream;de14Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;listingf1[Ljava/io/File;result1$Ljava/lang/IllegalArgumentException;hidesmetaznewlistLjava/util/ArrayList; localFile directorycached5[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;successOrCancelP isRegexNoWildregex9(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;cpatternLjava/util/regex/Pattern;maybeUpdateDirectoryEntryI(Ljava/lang/String;Z)Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;deodateosizeforcefreshLjava/lang/Long;()V SourceFileHttpFileSystem.java java/util/HashMap t    java/net/MalformedURLException-URL does not contain authority, check for ///  $Y   -somehow template leaked into FileSystem code.  @  F"java/lang/IllegalArgumentException8user info section can contain at most two at (@) symbolsjava/lang/StringBuilder%40   java/net/URI :// java/net/URISyntaxExceptionunable to handle:    6See https://www.draw.io/#G0B1Ywc5_Vexx1d3ctdGZxZDNkM3M URL Reference: {0}   'org/das2/util/filesystem/HttpFileSystem "parent is offline, do not check...  ! "# $%java/net/HttpURLConnection &' () *' +)Check keychain: , -. /01org/das2/util/monitor/CancelledOperationException"user cancelled credentials for {0}1 24 567 89 AuthorizationBasic :; 0CookieVerify Credentials {0}: <urlc={0}1userInfo does not appear to contain password: {0}userInfo.length={0} ='> ?@ t A'0made connection, now consume rest of stream: {0} BCD EFjava/io/IOExceptionorg/das2/util/filesystem/FileSystem$FileSystemOfflineExceptionFileSystemOfflineException  Q: truejava.awt.headlessR ST UV&Headless mode means we have to give up.root returns 404, indicating it does not exist WX Y' java/net/URL Z://user@ [ \ ]^java/lang/RuntimeException _ ` ainitializing httpfs {0} at {1} b&initializing httpfs {0} in applet mode cfilesystem is offline: {0}   java/net/UnknownHostException dwaiting for other process load e f gh ih+org/das2/util/filesystem/FileSystemSettingsj kl m,waiting for external process to download {0} =h nl ojava/lang/InterruptedException*timeout waiting for partFile to be deleted5successfully waited for external download to complete0part file removed but complete file is not found p qr s$org/das2/util/filesystem/WebProtocolETag tT uv ContentType _ResponseCode ?w x y z{ |/ }=GET to get listing {0}GET to get data {0} {0} URL: {1} not found:  ~ Last-Modified java/util/List 'java/util/Date java/lang/String h l  make dirs {0} partFile exists {0}  java/io/InterruptedIOException9interrupt while waiting for external process to download 1timeout waiting for external process to download =Unable to delete part file {0}, using new name for part file. java/io/File.part.   transferring bytes of {0}java/io/FileOutputStream downloading file  tContent-Location Content-Type .gzapplication/x-gzipjava/util/zip/GZIPInputStream F  '0fewer bytes downloaded than expected: {0} of {1} ?3fewer bytes in HTTP response than stated in header. t t h&org/das2/util/filesystem/WebFileSystem java/lang/Exceptionunable to setLastModified <file was once a directory. 'unable to folder to make way for file:  )another thread must have downloaded file.Hexisting file didn't have a proper timetag, copy timetag from part file."unable to set last modified on {0}unable to delete 3another thread must have downloaded different file.deleting old file {0} rename failed {0} to {1}rename failed  to "deleting partial download file {0}could not create local file: doDownload {0}open connection to {0}   /#user cancelled at credentials entry     java/util/Map$Entry   ;  0java/lang/IllegalStateExceptionVWe are already connected, so resetting credentials would cause Already connected error   user:pass / +not closing, because it was a listing file.  T*downloadFile {0}, using temporary file {1} |  w t  EXISTexist = ? ContentLength  LastModified    EF =.css.php.jnlp.part ** listDirectory({0}{1})   +org/das2/util/filesystem/AppletHttpProtocol&org/das2/util/filesystem/WebFileObject )org/das2/util/monitor/NullProgressMonitor B java/lang/Throwable _ 0 T =using cached listing for {0} java/io/FileInputStreamjava/util/LinkedHashMap )2org/das2/util/filesystem/FileSystem$DirectoryEntryjava/lang/Long          4this filesystem is offline, using local listing: {0} unable to list  when offlinejava/util/ArrayList %expected resource to be a directory: .listing   V list {0}  *+ failed to setLastModified: {0} T BCuser cancelled at credentials6** using local listing because remote is not available or some other error occurred. ** Ashould not get here screen.pnglistDirectory({0},{1})  <=is not a directory: b= 56      h DateContent-Length ijdas2.filesystem.httpjava/util/logging/Loggerjava/util/logging/Leveljava/net/URLConnection java/util/Mapjava/io/InputStream%org/das2/util/monitor/ProgressMonitorjava/util/Iteratorjava/util/concurrent/locks/Lockjava/util/regex/Pattern getAuthority(Ljava/lang/String;)VtoStringcontains(Ljava/lang/CharSequence;)Zfinesplitappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getSchemegetPath-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toURL()Ljava/net/URL;FINERLjava/util/logging/Level;log.(Ljava/util/logging/Level;Ljava/lang/String;)V@(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V'org/das2/util/filesystem/FileSystemUtil getParentUri(Ljava/net/URI;)Ljava/net/URI;peek5(Ljava/net/URI;)Lorg/das2/util/filesystem/FileSystem; isOffline()Zfiner#org/das2/util/filesystem/FileSystemsettings/()Lorg/das2/util/filesystem/FileSystemSettings;openConnection()Ljava/net/URLConnection;getConnectTimeoutMs()IsetConnectTimeout(I)VgetReadTimeoutMssetReadTimeout!org/das2/util/filesystem/KeyChain getDefault%()Lorg/das2/util/filesystem/KeyChain; getUserInfo"(Ljava/net/URL;)Ljava/lang/String;org/das2/util/Base64 getEncoderEncoder ()Lorg/das2/util/Base64$Encoder;getBytes()[Borg/das2/util/Base64$EncoderencodeToString([B)Ljava/lang/String;setRequestProperty'(Ljava/lang/String;Ljava/lang/String;)VINFOlengthjava/lang/IntegervalueOf(I)Ljava/lang/Integer;getResponseCodegetInputStream()Ljava/io/InputStream;!org/das2/util/filesystem/HttpUtil consumeStream(Ljava/io/InputStream;)V disconnectgetErrorStreamgetResponseMessageSEVERE getMessageC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;isAllowOfflineinfo(I)Ljava/lang/StringBuilder;java/lang/System getProperty&(Ljava/lang/String;)Ljava/lang/String;equals(Ljava/lang/Object;)ZclearUserPassword(Ljava/net/URL;)VgetPort getProtocolgetHostgetFiletoURI()Ljava/net/URI;(Ljava/lang/Throwable;)VhasAllPermission(Ljava/net/URI;)Ljava/io/File;A(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)VWARNING&(Ljava/io/IOException;Ljava/net/URI;)VsetProgressMessageexistscurrentTimeMillis()J lastModifiedjava/lang/Threadsleep(J)VFINESTsetTaskProgress isCancelledjava/util/Collections singletonMap5(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;emptyMapgetHeaderFieldput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(I)Ljava/lang/String; loggerUrlFINE isLoggable(Ljava/util/logging/Level;)ZgetURLendsWithgetHeaderFieldsget&(Ljava/lang/Object;)Ljava/lang/Object;size(I)Ljava/lang/Object;getContentLengthLong setTaskSize getParentFile()Ljava/io/File; maybeMkdirs(Ljava/io/File;)V EMPTY_MAPdelete(J)Ljava/lang/StringBuilder; createNewFilesetLabelstarted copyStreamU(Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/das2/util/monitor/ProgressMonitor;)JgetContentLength(J)Ljava/lang/Long;finishedclosegetTimesetLastModified(J)Zorg/das2/util/FileUtildeleteFileTree(Ljava/io/File;)Zorg/das2/util/OsUtil contentEquals(Ljava/io/File;Ljava/io/File;)ZrenameTo setUseCaches(Z)V"(Ljava/net/URI;)Ljava/lang/String;entrySet()Ljava/util/Set; java/util/Setiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;getKeygetValueaddRequestProperty checkRedirect2(Ljava/net/URLConnection;)Ljava/net/URLConnection; checkUserInfogetCause()Ljava/lang/Throwable;4(Ljava/net/URL;Ljava/lang/String;)Ljava/lang/String;copyConnectProperties;(Ljava/net/HttpURLConnection;Ljava/net/HttpURLConnection;)VgetDownloadLockj(Ljava/lang/String;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/concurrent/locks/Lock;toCanonicalFilename"(Ljava/lang/String;)Ljava/net/URL; substringunlock getMetadata.(Ljava/net/URL;Ljava/util/Map;)Ljava/util/Map;putAll(Ljava/util/Map;)Vjava/lang/Boolean parseBoolean(Z)Ljava/lang/Boolean; parseLong(Ljava/lang/String;)J#(Ljava/io/File;Ljava/lang/String;)V getLocalName"(Ljava/io/File;)Ljava/lang/String; startsWithjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;listDirectoryFromMemoryI(Ljava/lang/String;)[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry; getListingJ([Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;)[Ljava/lang/String;protocol&Lorg/das2/util/filesystem/WebProtocol;M(Lorg/das2/util/filesystem/WebFileSystem;Ljava/lang/String;Ljava/util/Date;)Vf(Lorg/das2/util/filesystem/WebFileObject;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/io/InputStream;!org/das2/util/filesystem/HtmlUtilgetDirectoryListing4(Ljava/net/URL;Ljava/io/InputStream;)[Ljava/net/URL; addSuppressedtoCanonicalFolderNameisListingCached listingFile"(Ljava/lang/String;)Ljava/io/File;modifiednametypeCaddRoCacheEntries2(Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;values()Ljava/util/Collection;java/util/CollectiontoArray(([Ljava/lang/Object;)[Ljava/lang/Object; cacheListingJ(Ljava/lang/String;[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;)V$(Ljava/util/Map;)[Ljava/lang/String;getCanonicalFileisEmpty listFiles()[Ljava/io/File;getName(C)Ljava/lang/StringBuilder;addcharAt(I)C getPartFile(Ljava/io/File;)Ljava/io/File;parseInt(Ljava/lang/String;)I uriEncode()[Ljava/lang/String;(II)Ljava/lang/String;TRUELjava/lang/Boolean;java/lang/Class getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;compile-(Ljava/lang/String;)Ljava/util/regex/Pattern;matcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/Matchermatches longValueremoveorg/das2/util/LoggerManager!,p"*+,*Y*Y*\RS_!] """/*f   U*L+ Y *  +M, Y,Y,2:6,2W,2LYY*+* :K :YY"*#*$N%&'%(-)6**:%+,:-./660:6: 12-34:  156 178%9-):-;: : %=*)] +> ?@:  AYB C:-D:   E C6 %F ) * G HI )HJ )%K  LM) N O6 %P ) QR : T%U' V66W/: Y/ ZR6 [:66w: \/6 O6 ]::^_`_: ZR.^abYMSY-SYSc ` d2e:^fbYMSY-SYSc `6jb^gbYMSY-SYSc `1hijbkYY0lmnopqrJ Es/1hijkYY0lmnL:6  dYtu  ȟ   :-v -w0YG-wl: xYY-yz-{ -|}:~:K*$N:Y  6 66S$*: %bY-SY S: %-),Y* : *)      L+LkY+* r!Rgj<08;ScfXcSS!FGkFGdFGFJSBuv wz{'~.4>DPnr "%3<GR^gjlx{#08;=EPUX[cfhpx} /5=bksv     *27 >"C#h$&'(,*+-./148<=>@A CEF(I/J6K=LDNGPHQJRKSt%SP|g l  = h! g=r  hP < {W   B.v\V,("%%" H 0 HK U/u@K uD u,; u uc `eu:6@%-% +UEu  &Bkd<-,Q,eB,)-,-:^`, /+ //DHNbce$f0g:hCiEmHkJlZm]odplqnsut}uwx4J  >C++bY+SbY+S+:+4:  O<HbY OMSY,SdYY,#u OȟQHbY OMSY,SSYY Olm ],#+:  , "Y  d·: Y: +7  Ƕ%Ƕ)Ǹ%)e7V*˙̰YYζ#ϿSYYж#њ6H)YYԶնֶ:ؙo%-)Y:ܹ+߶:+:*+:- r 6Y:*7+煔,bYSY SSY aW:^`//˻YY#p^/ %/H)њYY#/%)њYY#EbYSYSYY##L:%)'њYY# SYY#RKSHKS^W4JPVa1:@ITdlt#+7BKRZbi$,4P^hpz    H(K M!R"W#e$u%')*,.  ZbiMGBR   Pg  Va :}  @w *i 4OX= 19%:g@?b;K#0KE   SU,):,),34:156178:*  :: SY +>?@: AYB C* :   :  + :   ¶: 4: K::9>?@: AYB C: j6  *,+-:6 :   < O Y:OW: : v: ::  34:>?@:AYBCV: 74M, 5V-:4 , VBNQ<#&9KNS<1((*(@< =?@&A1B<EBINLQJSK^McNpORSTUWXZ[\]_#b&`(a1h4i9kHlKNnPocpfrqstuwx{yz|}~ (2>JORNS  p  (  ) _  8!$P 4" UU U UUUE&/^# $  % E# Q ,&1T ' Y0DG(!( Sd)*+ *+,!:̰:+"L%#bY+SY-S*+$:*+,-%:L:+AxYY* +&}:*+,-%W: ': ' <ILdd5V 5<ILNWf ,- NG-<Y  . /01 1W2823C 233I( S456ʻxYY* $(+L +&+}M,)NY:-*+-,¸-.W,-,¸-.W/-/¸0W1-1¸0WMY,2. 28AIf>2781A 881A97':S<;<= *3 +Y*3+4M,,+,N*-5:Y:*6:+7Y+&:Y+::66   2:  r R"'027>H^fo    \ > ? 7@>fhA.> +  +,u uSBCJ Y8SY9SY:SY;S<  DEFp=bY* SY+S*+>M,,?*@*@A*@BY*+YķCDYEF::*+$GNUH:I<4:::!:I:Y2-:+L66--2:*J&S+KL*+L.%M+)*+N:OYP::*+$G:UQH:I<Q4::: !Q:  IQ :Y2RYSN+L6:66  N 2: TYU:  WY * J&Z f[ W\- Z W *+-]N*+-^-_T`ab-c6*-Y*3+4d:%e)*+RYf]N/-g&kYYh#injYk:l: YYm#:6 6   X 2:  no: %Y n/pqW nqW -^r:{T:[dUZL6  $Z ds/ZqW"YZ/pqWZqW¹tut%v+)*+N:*+*wDYEx:: y*+$: : vz)OYP: : *+$ G: U  QH:   I< Q4:  :  :  !  Q:   I Q +{L6 jYk: *|: :  6 6  2:6|5 }:":|6*J &:6:6  ~W|  x:RYfN:  6 6 N 2:TYU:WY*J &Zf[W\-ZW*+-]N*+-^-_T`ab-c:SY:*-)jjY*3+4:YSuz}H`kH`kH;<LQTH6BhH6Bq}Hhsq(<HuHuHLhkK&<N%&<K3SN%3S(*!+%,*/;1`2k31353489:;<:>A EF!H(K6LBMhKqMOMNQRSTUVWXYS\^:`?cBeIfZghiukmopqruvwx8zEuKnx,<CKNYgu  9ILYehkmp}!&(35<EN\be3k&AG]e  AG H#6AG/)IB&AG3fJKAG 5LM >H (NAGIHO NPEI niOMZ=QuzC   &AGrfJK 9YmR pS sT5LM>HNU,EI <VW 6B NAG( \X50ppY!OZ[B.\>=QuzU6B B*aRa(( a((H(a((( aa u"La](( a]((H( a]((( aa  aQ'ai9^ ^) a &O_ a^ a+ a]((  a]((H( a](((  a#a`&&%Ba (a`Q'aL.S b=2*r cEdS $bY+SY,S,,,LdM+"L*+YY+,I*Y+,N-, Y,SN,^-`*+6N,:jYk:-:66I2:  :   Lds/  Ld:    ~W¶uu]<Z%'-)2*:+V.]0t126459:;<=>?@ <Cf t15e 9T $$Y$c{NufglW t197 -(8B uh`u1Sij *+VN-PYĶ-e*+T*Y:*+W*+Wç :*+:TYU:::+df[^YYöY0\*Y:*+W*+YĶWç :  *+:*+;TWW\W_ < <bQRS(T6V;WFXQY_]f^o_~`abcdefghik m n\ f1okM~l|m  nop f19 6q qr(=q__q__W q_r(qSst" Muv"T  k 3