final class jdk.jfr.internal.tool.Summary extends jdk.jfr.internal.tool.Command
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.tool.Summary
  super_class: jdk.jfr.internal.tool.Command
{
  private final java.time.format.DateTimeFormatter DATE_FORMAT;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.tool.Summary this
         0: .line 48
            aload 0 /* this */
            invokespecial jdk.jfr.internal.tool.Command.<init>:()V
         1: .line 49
            aload 0 /* this */
            ldc "yyyy-MM-dd HH:mm:ss"
            invokestatic java.time.format.DateTimeFormatter.ofPattern:(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
            getstatic java.util.Locale.UK:Ljava/util/Locale;
            invokevirtual java.time.format.DateTimeFormatter.withLocale:(Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;
            getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
            invokevirtual java.time.format.DateTimeFormatter.withZone:(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;
            putfield jdk.jfr.internal.tool.Summary.DATE_FORMAT:Ljava/time/format/DateTimeFormatter;
         2: .line 48
            return
        end local 0 // jdk.jfr.internal.tool.Summary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/internal/tool/Summary;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.tool.Summary this
         0: .line 53
            ldc "summary"
            areturn
        end local 0 // jdk.jfr.internal.tool.Summary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/tool/Summary;

  public java.util.List<java.lang.String> getOptionSyntax();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.tool.Summary this
         0: .line 67
            ldc "<file>"
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // jdk.jfr.internal.tool.Summary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/tool/Summary;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public void displayOptionUsage(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.tool.Summary this
        start local 1 // java.io.PrintStream stream
         0: .line 72
            aload 1 /* stream */
            ldc "  <file>   Location of the recording file (.jfr) to display information about"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 73
            return
        end local 1 // java.io.PrintStream stream
        end local 0 // jdk.jfr.internal.tool.Summary this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/internal/tool/Summary;
            0    2     1  stream  Ljava/io/PrintStream;
    MethodParameters:
        Name  Flags
      stream  

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.tool.Summary this
         0: .line 77
            ldc "Display general information about a recording file (.jfr)"
            areturn
        end local 0 // jdk.jfr.internal.tool.Summary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/tool/Summary;

  public void execute(java.util.Deque<java.lang.String>);
    descriptor: (Ljava/util/Deque;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.jfr.internal.tool.Summary this
        start local 1 // java.util.Deque options
         0: .line 82
            aload 0 /* this */
            aload 1 /* options */
            iconst_1
            invokevirtual jdk.jfr.internal.tool.Summary.ensureMaxArgumentCount:(Ljava/util/Deque;I)V
         1: .line 83
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual jdk.jfr.internal.tool.Summary.getJFRInputFile:(Ljava/util/Deque;)Ljava/nio/file/Path;
            astore 2 /* p */
        start local 2 // java.nio.file.Path p
         2: .line 85
            aload 0 /* this */
            aload 2 /* p */
            invokevirtual jdk.jfr.internal.tool.Summary.printInformation:(Ljava/nio/file/Path;)V
         3: .line 86
            goto 6
      StackMap locals: jdk.jfr.internal.tool.Summary java.util.Deque java.nio.file.Path
      StackMap stack: java.io.IOException
         4: astore 3 /* e */
        start local 3 // java.io.IOException e
         5: .line 87
            aload 0 /* this */
            aload 2 /* p */
            aload 3 /* e */
            invokevirtual jdk.jfr.internal.tool.Summary.couldNotReadError:(Ljava/nio/file/Path;Ljava/io/IOException;)V
        end local 3 // java.io.IOException e
         6: .line 89
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.nio.file.Path p
        end local 1 // java.util.Deque options
        end local 0 // jdk.jfr.internal.tool.Summary this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljdk/jfr/internal/tool/Summary;
            0    7     1  options  Ljava/util/Deque<Ljava/lang/String;>;
            2    7     2        p  Ljava/nio/file/Path;
            5    6     3        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
    Exceptions:
      throws jdk.jfr.internal.tool.UserSyntaxException, jdk.jfr.internal.tool.UserDataException
    Signature: (Ljava/util/Deque<Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      options  

  private void printInformation(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=23, args_size=2
        start local 0 // jdk.jfr.internal.tool.Summary this
        start local 1 // java.nio.file.Path p
         0: .line 92
            lconst_0
            lstore 2 /* totalDuration */
        start local 2 // long totalDuration
         1: .line 93
            lconst_0
            lstore 4 /* chunks */
        start local 4 // long chunks
         2: .line 95
            aconst_null
            astore 6
            aconst_null
            astore 7
         3: new jdk.jfr.internal.consumer.RecordingInput
            dup
            aload 1 /* p */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            getstatic jdk.jfr.internal.consumer.FileAccess.UNPRIVILEGED:Ljdk/jfr/internal/consumer/FileAccess;
            invokespecial jdk.jfr.internal.consumer.RecordingInput.<init>:(Ljava/io/File;Ljdk/jfr/internal/consumer/FileAccess;)V
            astore 8 /* input */
        start local 8 // jdk.jfr.internal.consumer.RecordingInput input
         4: .line 96
            new jdk.jfr.internal.consumer.ChunkHeader
            dup
            aload 8 /* input */
            invokespecial jdk.jfr.internal.consumer.ChunkHeader.<init>:(Ljdk/jfr/internal/consumer/RecordingInput;)V
            astore 9 /* first */
        start local 9 // jdk.jfr.internal.consumer.ChunkHeader first
         5: .line 97
            aload 9 /* first */
            astore 10 /* ch */
        start local 10 // jdk.jfr.internal.consumer.ChunkHeader ch
         6: .line 98
            ldc "jdk."
            astore 11 /* eventPrefix */
        start local 11 // java.lang.String eventPrefix
         7: .line 99
            aload 9 /* first */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getMajor:()S
            iconst_1
            if_icmpne 9
         8: .line 100
            ldc "com.oracle.jdk."
            astore 11 /* eventPrefix */
         9: .line 102
      StackMap locals: jdk.jfr.internal.tool.Summary java.nio.file.Path long long java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput jdk.jfr.internal.consumer.ChunkHeader jdk.jfr.internal.consumer.ChunkHeader java.lang.String
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 12 /* stats */
        start local 12 // java.util.HashMap stats
        10: .line 103
            aload 12 /* stats */
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            new jdk.jfr.internal.tool.Summary$Statistics
            dup
            new java.lang.StringBuilder
            dup
            aload 11 /* eventPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Metadata"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jfr.internal.tool.Summary$Statistics.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 104
            aload 12 /* stats */
            lconst_1
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            new jdk.jfr.internal.tool.Summary$Statistics
            dup
            new java.lang.StringBuilder
            dup
            aload 11 /* eventPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "CheckPoint"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jfr.internal.tool.Summary$Statistics.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 105
            iconst_0
            istore 13 /* minWidth */
        start local 13 // int minWidth
        13: .line 107
      StackMap locals: java.util.HashMap int
      StackMap stack:
            aload 10 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getEnd:()J
            lstore 14 /* chunkEnd */
        start local 14 // long chunkEnd
        14: .line 108
            aload 10 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.readMetadata:()Ljdk/jfr/internal/MetadataDescriptor;
            astore 16 /* md */
        start local 16 // jdk.jfr.internal.MetadataDescriptor md
        15: .line 110
            aload 16 /* md */
            invokevirtual jdk.jfr.internal.MetadataDescriptor.getEventTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 18
            goto 19
      StackMap locals: jdk.jfr.internal.tool.Summary java.nio.file.Path long long java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput jdk.jfr.internal.consumer.ChunkHeader jdk.jfr.internal.consumer.ChunkHeader java.lang.String java.util.HashMap int long jdk.jfr.internal.MetadataDescriptor top java.util.Iterator
      StackMap stack:
        16: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.EventType
            astore 17 /* eventType */
        start local 17 // jdk.jfr.EventType eventType
        17: .line 111
            aload 12 /* stats */
            aload 17 /* eventType */
            invokevirtual jdk.jfr.EventType.getId:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 17 /* eventType */
            invokedynamic apply(Ljdk/jfr/EventType;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/jfr/internal/tool/Summary.lambda$0(Ljdk/jfr/EventType;Ljava/lang/Long;)Ljdk/jfr/internal/tool/Summary$Statistics; (6)
                  (Ljava/lang/Long;)Ljdk/jfr/internal/tool/Summary$Statistics;
            invokevirtual java.util.HashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            pop
        18: .line 112
            iload 13 /* minWidth */
            aload 17 /* eventType */
            invokevirtual jdk.jfr.EventType.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.max:(II)I
            istore 13 /* minWidth */
        end local 17 // jdk.jfr.EventType eventType
        19: .line 110
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        20: .line 115
            lload 2 /* totalDuration */
            aload 10 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getDurationNanos:()J
            ladd
            lstore 2 /* totalDuration */
        21: .line 116
            lload 4 /* chunks */
            lconst_1
            ladd
            lstore 4 /* chunks */
        22: .line 117
            aload 8 /* input */
            aload 10 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getEventStart:()J
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:(J)V
        23: .line 118
            goto 35
        24: .line 119
      StackMap locals: jdk.jfr.internal.tool.Summary java.nio.file.Path long long java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput jdk.jfr.internal.consumer.ChunkHeader jdk.jfr.internal.consumer.ChunkHeader java.lang.String java.util.HashMap int long jdk.jfr.internal.MetadataDescriptor
      StackMap stack:
            aload 8 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:()J
            lstore 17 /* pos */
        start local 17 // long pos
        25: .line 120
            aload 8 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readInt:()I
            istore 19 /* size */
        start local 19 // int size
        26: .line 121
            aload 8 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readLong:()J
            lstore 20 /* eventTypeId */
        start local 20 // long eventTypeId
        27: .line 122
            aload 12 /* stats */
            lload 20 /* eventTypeId */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.jfr.internal.tool.Summary$Statistics
            astore 22 /* s */
        start local 22 // jdk.jfr.internal.tool.Summary$Statistics s
        28: .line 123
            aload 22 /* s */
            ifnonnull 31
        29: .line 124
            new jdk.jfr.internal.tool.Summary$Statistics
            dup
            new java.lang.StringBuilder
            dup
            lload 20 /* eventTypeId */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " (missing event metadata)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.jfr.internal.tool.Summary$Statistics.<init>:(Ljava/lang/String;)V
            astore 22 /* s */
        30: .line 125
            aload 12 /* stats */
            lload 20 /* eventTypeId */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 22 /* s */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 127
      StackMap locals: jdk.jfr.internal.tool.Summary java.nio.file.Path long long java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput jdk.jfr.internal.consumer.ChunkHeader jdk.jfr.internal.consumer.ChunkHeader java.lang.String java.util.HashMap int long jdk.jfr.internal.MetadataDescriptor long int long jdk.jfr.internal.tool.Summary$Statistics
      StackMap stack:
            aload 22 /* s */
            ifnull 34
        32: .line 128
            aload 22 /* s */
            dup
            getfield jdk.jfr.internal.tool.Summary$Statistics.count:J
            lconst_1
            ladd
            putfield jdk.jfr.internal.tool.Summary$Statistics.count:J
        33: .line 129
            aload 22 /* s */
            dup
            getfield jdk.jfr.internal.tool.Summary$Statistics.size:J
            iload 19 /* size */
            i2l
            ladd
            putfield jdk.jfr.internal.tool.Summary$Statistics.size:J
        34: .line 131
      StackMap locals:
      StackMap stack:
            aload 8 /* input */
            lload 17 /* pos */
            iload 19 /* size */
            i2l
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:(J)V
        end local 22 // jdk.jfr.internal.tool.Summary$Statistics s
        end local 20 // long eventTypeId
        end local 19 // int size
        end local 17 // long pos
        35: .line 118
      StackMap locals: jdk.jfr.internal.tool.Summary java.nio.file.Path long long java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput jdk.jfr.internal.consumer.ChunkHeader jdk.jfr.internal.consumer.ChunkHeader java.lang.String java.util.HashMap int long jdk.jfr.internal.MetadataDescriptor
      StackMap stack:
            aload 8 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:()J
            lload 14 /* chunkEnd */
            lcmp
            iflt 24
        36: .line 133
            aload 10 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.isLastChunk:()Z
            ifeq 38
        37: .line 134
            goto 40
        38: .line 136
      StackMap locals:
      StackMap stack:
            aload 10 /* ch */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.nextHeader:()Ljdk/jfr/internal/consumer/ChunkHeader;
            astore 10 /* ch */
        end local 16 // jdk.jfr.internal.MetadataDescriptor md
        end local 14 // long chunkEnd
        39: .line 106
            goto 13
        40: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.tool.Summary.println:()V
        41: .line 139
            aload 9 /* first */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getStartNanos:()J
            ldc 1000000000
            ldiv
            lstore 14 /* epochSeconds */
        start local 14 // long epochSeconds
        42: .line 140
            aload 9 /* first */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getStartNanos:()J
            lload 14 /* epochSeconds */
            ldc 1000000000
            lmul
            lsub
            lstore 16 /* adjustNanos */
        start local 16 // long adjustNanos
        43: .line 141
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc " Version: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* first */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getMajor:()S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* first */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getMinor:()S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.jfr.internal.tool.Summary.println:(Ljava/lang/String;)V
        44: .line 142
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc " Chunks: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* chunks */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.jfr.internal.tool.Summary.println:(Ljava/lang/String;)V
        45: .line 143
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc " Start: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.tool.Summary.DATE_FORMAT:Ljava/time/format/DateTimeFormatter;
            lload 14 /* epochSeconds */
            lload 16 /* adjustNanos */
            invokestatic java.time.Instant.ofEpochSecond:(JJ)Ljava/time/Instant;
            invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " (UTC)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.jfr.internal.tool.Summary.println:(Ljava/lang/String;)V
        46: .line 144
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc " Duration: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* totalDuration */
            ldc 500000000
            ladd
            ldc 1000000000
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " s"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.jfr.internal.tool.Summary.println:(Ljava/lang/String;)V
        47: .line 145
            new java.util.ArrayList
            dup
            aload 12 /* stats */
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 18 /* statsList */
        start local 18 // java.util.List statsList
        48: .line 146
            aload 18 /* statsList */
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  jdk/jfr/internal/tool/Summary.lambda$1(Ljdk/jfr/internal/tool/Summary$Statistics;Ljdk/jfr/internal/tool/Summary$Statistics;)I (6)
                  (Ljdk/jfr/internal/tool/Summary$Statistics;Ljdk/jfr/internal/tool/Summary$Statistics;)I
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        49: .line 147
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.tool.Summary.println:()V
        50: .line 148
            ldc "      Count  Size (bytes) "
            astore 19 /* header */
        start local 19 // java.lang.String header
        51: .line 149
            ldc " Event Type"
            astore 20 /* typeHeader */
        start local 20 // java.lang.String typeHeader
        52: .line 150
            iload 13 /* minWidth */
            aload 20 /* typeHeader */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.max:(II)I
            istore 13 /* minWidth */
        53: .line 151
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 20 /* typeHeader */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            iload 13 /* minWidth */
            aload 20 /* typeHeader */
            invokevirtual java.lang.String.length:()I
            isub
            bipush 32
            invokevirtual jdk.jfr.internal.tool.Summary.pad:(IC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 19 /* header */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.jfr.internal.tool.Summary.println:(Ljava/lang/String;)V
        54: .line 152
            aload 0 /* this */
            aload 0 /* this */
            iload 13 /* minWidth */
            aload 19 /* header */
            invokevirtual java.lang.String.length:()I
            iadd
            bipush 61
            invokevirtual jdk.jfr.internal.tool.Summary.pad:(IC)Ljava/lang/String;
            invokevirtual jdk.jfr.internal.tool.Summary.println:(Ljava/lang/String;)V
        55: .line 153
            aload 18 /* statsList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 22
            goto 58
      StackMap locals: jdk.jfr.internal.tool.Summary java.nio.file.Path long long java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput jdk.jfr.internal.consumer.ChunkHeader jdk.jfr.internal.consumer.ChunkHeader java.lang.String java.util.HashMap int long long java.util.List java.lang.String java.lang.String top java.util.Iterator
      StackMap stack:
        56: aload 22
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.tool.Summary$Statistics
            astore 21 /* s */
        start local 21 // jdk.jfr.internal.tool.Summary$Statistics s
        57: .line 154
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc " %-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* minWidth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s%10d  %12d\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 21 /* s */
            getfield jdk.jfr.internal.tool.Summary$Statistics.name:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 21 /* s */
            getfield jdk.jfr.internal.tool.Summary$Statistics.count:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            aload 21 /* s */
            getfield jdk.jfr.internal.tool.Summary$Statistics.size:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 21 // jdk.jfr.internal.tool.Summary$Statistics s
        58: .line 153
      StackMap locals:
      StackMap stack:
            aload 22
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 56
        end local 20 // java.lang.String typeHeader
        end local 19 // java.lang.String header
        end local 18 // java.util.List statsList
        end local 16 // long adjustNanos
        end local 14 // long epochSeconds
        end local 13 // int minWidth
        end local 12 // java.util.HashMap stats
        end local 11 // java.lang.String eventPrefix
        end local 10 // jdk.jfr.internal.consumer.ChunkHeader ch
        end local 9 // jdk.jfr.internal.consumer.ChunkHeader first
        59: .line 156
            aload 8 /* input */
            ifnull 65
            aload 8 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.close:()V
            goto 65
      StackMap locals: jdk.jfr.internal.tool.Summary java.nio.file.Path long long java.lang.Throwable java.lang.Throwable jdk.jfr.internal.consumer.RecordingInput
      StackMap stack: java.lang.Throwable
        60: astore 6
            aload 8 /* input */
            ifnull 61
            aload 8 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.close:()V
        end local 8 // jdk.jfr.internal.consumer.RecordingInput input
      StackMap locals:
      StackMap stack:
        61: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: astore 7
            aload 6
            ifnonnull 63
            aload 7
            astore 6
            goto 64
      StackMap locals:
      StackMap stack:
        63: aload 6
            aload 7
            if_acmpeq 64
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        64: aload 6
            athrow
        65: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long chunks
        end local 2 // long totalDuration
        end local 1 // java.nio.file.Path p
        end local 0 // jdk.jfr.internal.tool.Summary this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   66     0           this  Ljdk/jfr/internal/tool/Summary;
            0   66     1              p  Ljava/nio/file/Path;
            1   66     2  totalDuration  J
            2   66     4         chunks  J
            4   61     8          input  Ljdk/jfr/internal/consumer/RecordingInput;
            5   59     9          first  Ljdk/jfr/internal/consumer/ChunkHeader;
            6   59    10             ch  Ljdk/jfr/internal/consumer/ChunkHeader;
            7   59    11    eventPrefix  Ljava/lang/String;
           10   59    12          stats  Ljava/util/HashMap<Ljava/lang/Long;Ljdk/jfr/internal/tool/Summary$Statistics;>;
           13   59    13       minWidth  I
           14   39    14       chunkEnd  J
           15   39    16             md  Ljdk/jfr/internal/MetadataDescriptor;
           17   19    17      eventType  Ljdk/jfr/EventType;
           25   35    17            pos  J
           26   35    19           size  I
           27   35    20    eventTypeId  J
           28   35    22              s  Ljdk/jfr/internal/tool/Summary$Statistics;
           42   59    14   epochSeconds  J
           43   59    16    adjustNanos  J
           48   59    18      statsList  Ljava/util/List<Ljdk/jfr/internal/tool/Summary$Statistics;>;
           51   59    19         header  Ljava/lang/String;
           52   59    20     typeHeader  Ljava/lang/String;
           57   58    21              s  Ljdk/jfr/internal/tool/Summary$Statistics;
      Exception table:
        from    to  target  type
           4    59      60  any
           3    62      62  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      p     

  private java.lang.String pad(int, char);
    descriptor: (IC)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // jdk.jfr.internal.tool.Summary this
        start local 1 // int count
        start local 2 // char c
         0: .line 160
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         1: .line 161
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 162
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* sb */
            iload 2 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 161
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 3
        end local 4 // int i
         6: .line 164
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // char c
        end local 1 // int count
        end local 0 // jdk.jfr.internal.tool.Summary this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljdk/jfr/internal/tool/Summary;
            0    7     1  count  I
            0    7     2      c  C
            1    7     3     sb  Ljava/lang/StringBuilder;
            2    6     4      i  I
    MethodParameters:
       Name  Flags
      count  
      c      

  private static jdk.jfr.internal.tool.Summary$Statistics lambda$0(jdk.jfr.EventType, java.lang.Long);
    descriptor: (Ljdk/jfr/EventType;Ljava/lang/Long;)Ljdk/jfr/internal/tool/Summary$Statistics;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // java.lang.Long e
         0: .line 111
            new jdk.jfr.internal.tool.Summary$Statistics
            dup
            aload 0
            invokevirtual jdk.jfr.EventType.getName:()Ljava/lang/String;
            invokespecial jdk.jfr.internal.tool.Summary$Statistics.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.Long e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     e  Ljava/lang/Long;

  private static int lambda$1(jdk.jfr.internal.tool.Summary$Statistics, jdk.jfr.internal.tool.Summary$Statistics);
    descriptor: (Ljdk/jfr/internal/tool/Summary$Statistics;Ljdk/jfr/internal/tool/Summary$Statistics;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.tool.Summary$Statistics u
        start local 1 // jdk.jfr.internal.tool.Summary$Statistics v
         0: .line 146
            aload 1 /* v */
            getfield jdk.jfr.internal.tool.Summary$Statistics.count:J
            aload 0 /* u */
            getfield jdk.jfr.internal.tool.Summary$Statistics.count:J
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        end local 1 // jdk.jfr.internal.tool.Summary$Statistics v
        end local 0 // jdk.jfr.internal.tool.Summary$Statistics u
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     u  Ljdk/jfr/internal/tool/Summary$Statistics;
            0    1     1     v  Ljdk/jfr/internal/tool/Summary$Statistics;
}
SourceFile: "Summary.java"
NestMembers:
  jdk.jfr.internal.tool.Summary$Statistics
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private Statistics = jdk.jfr.internal.tool.Summary$Statistics of jdk.jfr.internal.tool.Summary