1 =l mno pqrst muvw xy z{ l | }~ } }       } (l (    (  m : x : : MyFileFilter InnerClassesLOGLorg/slf4j/Logger;()VCodeLineNumberTableLocalVariableTablethis)Lorg/apache/zookeeper/server/PurgeTxnLog; printUsagepurge (Ljava/io/File;Ljava/io/File;I)VfLjava/io/File;i$Ljava/util/Iterator;dataDirsnapDirnumItxnLog8Lorg/apache/zookeeper/server/persistence/FileTxnSnapLog;excLjava/util/Set;snapsLjava/util/List;snapShotzxidJexcludefilesLocalVariableTypeTableLjava/util/Set; Ljava/util/List; Exceptionsmain([Ljava/lang/String;)Vargs[Ljava/lang/String;i SourceFilePurgeTxnLog.java BC )PurgeTxnLog dataLogDir [snapDir] -n count , dataLogDir -- path to the txn log directory* snapDir -- path to the snapshot directory7 count -- the number of old snaps/logs you want to keep "java/lang/IllegalArgumentExceptioncount should be greater than 3 B6org/apache/zookeeper/server/persistence/FileTxnSnapLog Bjava/util/HashSet   java/io/File   snapshot  java/util/ArrayList 5org/apache/zookeeper/server/PurgeTxnLog$1MyFileFilterlog. B B  snapshot.java/lang/StringBuilderRemoving file:    Failed to remove IC JK'org/apache/zookeeper/server/PurgeTxnLog @Ajava/lang/Objectjava/io/IOExceptionjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Vexit(I)V(Ljava/io/File;Ljava/io/File;)VfindNRecentSnapshots(I)Ljava/util/List;java/util/Listsize()Iget(I)Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; java/util/Setadd(Ljava/lang/Object;)ZgetName()Ljava/lang/String;,org/apache/zookeeper/server/persistence/UtilgetZxidFromName'(Ljava/lang/String;Ljava/lang/String;)JgetSnapshotLogs(J)[Ljava/io/File;java/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;addAll(Ljava/util/Collection;)Z getDataDir()Ljava/io/File;$(Ljava/lang/String;Ljava/util/Set;)V listFiles%(Ljava/io/FileFilter;)[Ljava/io/File;(Ljava/util/Collection;)V getSnapDirappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/text/DateFormatgetDateTimeInstance()Ljava/text/DateFormat; lastModified()Jjava/lang/LongvalueOf(J)Ljava/lang/Long;format&(Ljava/lang/Object;)Ljava/lang/String;getPathtoStringdeleteerrjava/lang/IntegerparseInt(Ljava/lang/String;)Iorg/slf4j/LoggerFactory getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;!:=@ABCD/*E,F GHICDQ%E0123 4$5 JKD| L Y Y*+ NY:-:d:::W7-W: Y- Y! "#$:  -% Y& "#'W :  j : (Y)*+, -./+0+ 1+2 3 4(Y)5+ 1+2EZ@ADI"J)K3L4MINhOrPuQRTadfh#k+lHnKpFh LMR#NOXLM qNO LPMLQMLRS3TU"*VW)#XYIZM[\]W ^Y _*"*V`)#Xa]` ^a bc deDH* *6<Y*27M,N*Y*27N*286,-9E2 x yz{|}$~'28@GF4Hfg7hS,PM*QM@RSbciCD" :;<E-jk?  >