public class org.h2.mvstore.MVStoreTool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.mvstore.MVStoreTool
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.MVStoreTool this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.h2.mvstore.MVStoreTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/MVStoreTool;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 53
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 27
         2: .line 54
      StackMap locals: int
      StackMap stack:
            ldc "-dump"
            aload 0 /* args */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 55
            aload 0 /* args */
            iinc 1 /* i */ 1
            iload 1 /* i */
            aaload
            astore 2 /* fileName */
        start local 2 // java.lang.String fileName
         4: .line 56
            aload 2 /* fileName */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            iconst_1
            invokestatic org.h2.mvstore.MVStoreTool.dump:(Ljava/lang/String;Ljava/io/Writer;Z)V
        end local 2 // java.lang.String fileName
         5: .line 57
            goto 26
      StackMap locals:
      StackMap stack:
         6: ldc "-info"
            aload 0 /* args */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 58
            aload 0 /* args */
            iinc 1 /* i */ 1
            iload 1 /* i */
            aaload
            astore 2 /* fileName */
        start local 2 // java.lang.String fileName
         8: .line 59
            aload 2 /* fileName */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            invokestatic org.h2.mvstore.MVStoreTool.info:(Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
            pop
        end local 2 // java.lang.String fileName
         9: .line 60
            goto 26
      StackMap locals:
      StackMap stack:
        10: ldc "-compact"
            aload 0 /* args */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 61
            aload 0 /* args */
            iinc 1 /* i */ 1
            iload 1 /* i */
            aaload
            astore 2 /* fileName */
        start local 2 // java.lang.String fileName
        12: .line 62
            aload 2 /* fileName */
            iconst_0
            invokestatic org.h2.mvstore.MVStoreTool.compact:(Ljava/lang/String;Z)V
        end local 2 // java.lang.String fileName
        13: .line 63
            goto 26
      StackMap locals:
      StackMap stack:
        14: ldc "-compress"
            aload 0 /* args */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        15: .line 64
            aload 0 /* args */
            iinc 1 /* i */ 1
            iload 1 /* i */
            aaload
            astore 2 /* fileName */
        start local 2 // java.lang.String fileName
        16: .line 65
            aload 2 /* fileName */
            iconst_1
            invokestatic org.h2.mvstore.MVStoreTool.compact:(Ljava/lang/String;Z)V
        end local 2 // java.lang.String fileName
        17: .line 66
            goto 26
      StackMap locals:
      StackMap stack:
        18: ldc "-rollback"
            aload 0 /* args */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        19: .line 67
            aload 0 /* args */
            iinc 1 /* i */ 1
            iload 1 /* i */
            aaload
            astore 2 /* fileName */
        start local 2 // java.lang.String fileName
        20: .line 68
            aload 0 /* args */
            iinc 1 /* i */ 1
            iload 1 /* i */
            aaload
            invokestatic java.lang.Long.decode:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lstore 3 /* targetVersion */
        start local 3 // long targetVersion
        21: .line 69
            aload 2 /* fileName */
            lload 3 /* targetVersion */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            invokestatic org.h2.mvstore.MVStoreTool.rollback:(Ljava/lang/String;JLjava/io/Writer;)J
            pop2
        end local 3 // long targetVersion
        end local 2 // java.lang.String fileName
        22: .line 70
            goto 26
      StackMap locals:
      StackMap stack:
        23: ldc "-repair"
            aload 0 /* args */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 71
            aload 0 /* args */
            iinc 1 /* i */ 1
            iload 1 /* i */
            aaload
            astore 2 /* fileName */
        start local 2 // java.lang.String fileName
        25: .line 72
            aload 2 /* fileName */
            invokestatic org.h2.mvstore.MVStoreTool.repair:(Ljava/lang/String;)V
        end local 2 // java.lang.String fileName
        26: .line 53
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 1 /* i */
            aload 0 /* args */
            arraylength
            if_icmplt 2
        end local 1 // int i
        28: .line 75
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           args  [Ljava/lang/String;
            1   28     1              i  I
            4    5     2       fileName  Ljava/lang/String;
            8    9     2       fileName  Ljava/lang/String;
           12   13     2       fileName  Ljava/lang/String;
           16   17     2       fileName  Ljava/lang/String;
           20   22     2       fileName  Ljava/lang/String;
           21   22     3  targetVersion  J
           25   26     2       fileName  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  public static void dump(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String fileName
        start local 1 // boolean details
         0: .line 84
            aload 0 /* fileName */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            iload 1 /* details */
            invokestatic org.h2.mvstore.MVStoreTool.dump:(Ljava/lang/String;Ljava/io/Writer;Z)V
         1: .line 85
            return
        end local 1 // boolean details
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  fileName  Ljava/lang/String;
            0    2     1   details  Z
    MethodParameters:
          Name  Flags
      fileName  
      details   

  public static void info(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 93
            aload 0 /* fileName */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            invokestatic org.h2.mvstore.MVStoreTool.info:(Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
            pop
         1: .line 94
            return
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  public static void dump(java.lang.String, java.io.Writer, boolean);
    descriptor: (Ljava/lang/String;Ljava/io/Writer;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=47, args_size=3
        start local 0 // java.lang.String fileName
        start local 1 // java.io.Writer writer
        start local 2 // boolean details
         0: .line 105
            new java.io.PrintWriter
            dup
            aload 1 /* writer */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
            astore 3 /* pw */
        start local 3 // java.io.PrintWriter pw
         1: .line 106
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            invokevirtual org.h2.store.fs.FilePath.exists:()Z
            ifne 4
         2: .line 107
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "File not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 108
            return
         4: .line 110
      StackMap locals: java.io.PrintWriter
      StackMap stack:
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.size:(Ljava/lang/String;)J
            lstore 4 /* size */
        start local 4 // long size
         5: .line 111
            aload 3 /* pw */
            ldc "File %s, %d bytes, %d MB\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* fileName */
            aastore
            dup
            iconst_1
            lload 4 /* size */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 4 /* size */
            ldc 1024
            ldiv
            ldc 1024
            ldiv
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         6: .line 112
            aconst_null
            astore 6 /* file */
        start local 6 // java.nio.channels.FileChannel file
         7: .line 113
            sipush 4096
            istore 7 /* blockSize */
        start local 7 // int blockSize
         8: .line 115
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
         9: .line 114
            astore 8 /* mapSizesTotal */
        start local 8 // java.util.TreeMap mapSizesTotal
        10: .line 116
            lconst_0
            lstore 9 /* pageSizeTotal */
        start local 9 // long pageSizeTotal
        11: .line 118
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            ldc "r"
            invokevirtual org.h2.store.fs.FilePath.open:(Ljava/lang/String;)Ljava/nio/channels/FileChannel;
            astore 6 /* file */
        12: .line 119
            aload 6 /* file */
            invokevirtual java.nio.channels.FileChannel.size:()J
            lstore 11 /* fileSize */
        start local 11 // long fileSize
        13: .line 120
            lload 11 /* fileSize */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 13 /* len */
        start local 13 // int len
        14: .line 121
            sipush 4096
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 14 /* block */
        start local 14 // java.nio.ByteBuffer block
        15: .line 122
            lconst_0
            lstore 15 /* pageCount */
        start local 15 // long pageCount
        16: .line 123
            lconst_0
            lstore 17 /* pos */
        start local 17 // long pos
        17: goto 214
        18: .line 124
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long
      StackMap stack:
            aload 14 /* block */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        19: .line 125
            aload 6 /* file */
            lload 17 /* pos */
            aload 14 /* block */
            invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
        20: .line 126
            aload 14 /* block */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        21: .line 127
            aload 14 /* block */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 19 /* headerType */
        start local 19 // int headerType
        22: .line 128
            iload 19 /* headerType */
            bipush 72
            if_icmpne 29
        23: .line 129
            new java.lang.String
            dup
            aload 14 /* block */
            invokevirtual java.nio.ByteBuffer.array:()[B
            getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 20 /* header */
        start local 20 // java.lang.String header
        24: .line 130
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x fileHeader %s%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        25: .line 131
            lload 17 /* pos */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 20 /* header */
            aastore
        26: .line 130
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        27: .line 132
            lload 17 /* pos */
            iload 7 /* blockSize */
            i2l
            ladd
            lstore 17 /* pos */
        28: .line 133
            goto 214
        end local 20 // java.lang.String header
        29: .line 135
      StackMap locals: int
      StackMap stack:
            iload 19 /* headerType */
            bipush 99
            if_icmpeq 32
        30: .line 136
            lload 17 /* pos */
            iload 7 /* blockSize */
            i2l
            ladd
            lstore 17 /* pos */
        31: .line 137
            goto 214
        32: .line 139
      StackMap locals:
      StackMap stack:
            aload 14 /* block */
            iconst_0
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 140
            aconst_null
            astore 20 /* c */
        start local 20 // org.h2.mvstore.Chunk c
        34: .line 142
            aload 14 /* block */
            lload 17 /* pos */
            invokestatic org.h2.mvstore.Chunk.readChunkHeader:(Ljava/nio/ByteBuffer;J)Lorg/h2/mvstore/Chunk;
            astore 20 /* c */
        35: .line 143
            goto 39
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk
      StackMap stack: java.lang.IllegalStateException
        36: pop
        37: .line 144
            lload 17 /* pos */
            iload 7 /* blockSize */
            i2l
            ladd
            lstore 17 /* pos */
        38: .line 145
            goto 214
        39: .line 147
      StackMap locals:
      StackMap stack:
            aload 20 /* c */
            getfield org.h2.mvstore.Chunk.len:I
            ifgt 42
        40: .line 149
            lload 17 /* pos */
            iload 7 /* blockSize */
            i2l
            ladd
            lstore 17 /* pos */
        41: .line 150
            goto 214
        42: .line 152
      StackMap locals:
      StackMap stack:
            aload 20 /* c */
            getfield org.h2.mvstore.Chunk.len:I
            sipush 4096
            imul
            istore 21 /* length */
        start local 21 // int length
        43: .line 153
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "%n%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x chunkHeader %s%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        44: .line 154
            lload 17 /* pos */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 20 /* c */
            invokevirtual org.h2.mvstore.Chunk.toString:()Ljava/lang/String;
            aastore
        45: .line 153
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        46: .line 155
            iload 21 /* length */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 22 /* chunk */
        start local 22 // java.nio.ByteBuffer chunk
        47: .line 156
            aload 6 /* file */
            lload 17 /* pos */
            aload 22 /* chunk */
            invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
        48: .line 157
            aload 14 /* block */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 23 /* p */
        start local 23 // int p
        49: .line 158
            lload 17 /* pos */
            iload 21 /* length */
            i2l
            ladd
            lstore 17 /* pos */
        50: .line 159
            aload 20 /* c */
            getfield org.h2.mvstore.Chunk.pageCount:I
            istore 24 /* remaining */
        start local 24 // int remaining
        51: .line 160
            lload 15 /* pageCount */
            aload 20 /* c */
            getfield org.h2.mvstore.Chunk.pageCount:I
            i2l
            ladd
            lstore 15 /* pageCount */
        52: .line 162
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
        53: .line 161
            astore 25 /* mapSizes */
        start local 25 // java.util.TreeMap mapSizes
        54: .line 163
            iconst_0
            istore 26 /* pageSizeSum */
        start local 26 // int pageSizeSum
        55: .line 164
            goto 194
        56: .line 165
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int
      StackMap stack:
            iload 23 /* p */
            istore 27 /* start */
        start local 27 // int start
        57: .line 167
            aload 22 /* chunk */
            iload 23 /* p */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        58: .line 168
            goto 62
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int
      StackMap stack: java.lang.IllegalArgumentException
        59: pop
        60: .line 170
            aload 3 /* pw */
            ldc "ERROR illegal position %d%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 23 /* p */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        61: .line 171
            goto 195
        62: .line 173
      StackMap locals:
      StackMap stack:
            aload 22 /* chunk */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 28 /* pageSize */
        start local 28 // int pageSize
        63: .line 175
            aload 22 /* chunk */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            pop
        64: .line 176
            aload 22 /* chunk */
            invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
            istore 29 /* mapId */
        start local 29 // int mapId
        65: .line 177
            aload 22 /* chunk */
            invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
            istore 30 /* entries */
        start local 30 // int entries
        66: .line 178
            aload 22 /* chunk */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 31 /* type */
        start local 31 // int type
        67: .line 179
            iload 31 /* type */
            iconst_2
            iand
            ifeq 68
            iconst_1
            goto 69
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int
      StackMap stack:
        68: iconst_0
      StackMap locals:
      StackMap stack: int
        69: istore 32 /* compressed */
        start local 32 // boolean compressed
        70: .line 180
            iload 31 /* type */
            iconst_1
            iand
            ifeq 71
            iconst_1
            goto 72
      StackMap locals: int
      StackMap stack:
        71: iconst_0
      StackMap locals:
      StackMap stack: int
        72: istore 33 /* node */
        start local 33 // boolean node
        73: .line 181
            iload 2 /* details */
            ifeq 93
        74: .line 182
            aload 3 /* pw */
        75: .line 183
            new java.lang.StringBuilder
            dup
            ldc "+%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        76: .line 184
            ldc "x %s, map %x, %d entries, %d bytes, maxLen %x%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        77: .line 183
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
        78: .line 185
            iload 23 /* p */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
        79: .line 186
            new java.lang.StringBuilder
            dup
            iload 33 /* node */
            ifeq 80
            ldc "node"
            goto 81
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int new 79 new 79
        80: ldc "leaf"
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int new 79 new 79 java.lang.String
        81: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        82: .line 187
            iload 32 /* compressed */
            ifeq 83
            ldc " compressed"
            goto 84
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.StringBuilder
        83: ldc ""
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.StringBuilder java.lang.String
        84: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        85: .line 186
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        86: .line 188
            iload 29 /* mapId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        87: .line 189
            iload 33 /* node */
            ifeq 88
            iload 30 /* entries */
            iconst_1
            iadd
            goto 89
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
        88: iload 30 /* entries */
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
        89: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
        90: .line 190
            iload 28 /* pageSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_5
        91: .line 191
            iconst_0
            iconst_0
            iload 28 /* pageSize */
            iconst_0
            invokestatic org.h2.mvstore.DataUtils.getPagePos:(IIII)J
            invokestatic org.h2.mvstore.DataUtils.getPageMaxLength:(J)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        92: .line 182
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        93: .line 194
      StackMap locals:
      StackMap stack:
            iload 23 /* p */
            iload 28 /* pageSize */
            iadd
            istore 23 /* p */
        94: .line 195
            aload 25 /* mapSizes */
            iload 29 /* mapId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 34 /* mapSize */
        start local 34 // java.lang.Integer mapSize
        95: .line 196
            aload 34 /* mapSize */
            ifnonnull 97
        96: .line 197
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 34 /* mapSize */
        97: .line 199
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 25 /* mapSizes */
            iload 29 /* mapId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 34 /* mapSize */
            invokevirtual java.lang.Integer.intValue:()I
            iload 28 /* pageSize */
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        98: .line 200
            aload 8 /* mapSizesTotal */
            iload 29 /* mapId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 35 /* total */
        start local 35 // java.lang.Long total
        99: .line 201
            aload 35 /* total */
            ifnonnull 101
       100: .line 202
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 35 /* total */
       101: .line 204
      StackMap locals: java.lang.Long
      StackMap stack:
            aload 8 /* mapSizesTotal */
            iload 29 /* mapId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 35 /* total */
            invokevirtual java.lang.Long.longValue:()J
            iload 28 /* pageSize */
            i2l
            ladd
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       102: .line 205
            iload 26 /* pageSizeSum */
            iload 28 /* pageSize */
            iadd
            istore 26 /* pageSizeSum */
       103: .line 206
            lload 9 /* pageSizeTotal */
            iload 28 /* pageSize */
            i2l
            ladd
            lstore 9 /* pageSizeTotal */
       104: .line 207
            iinc 24 /* remaining */ -1
       105: .line 208
            aconst_null
            astore 36 /* children */
        start local 36 // long[] children
       106: .line 209
            aconst_null
            astore 37 /* counts */
        start local 37 // long[] counts
       107: .line 210
            iload 33 /* node */
            ifeq 121
       108: .line 211
            iload 30 /* entries */
            iconst_1
            iadd
            newarray 11
            astore 36 /* children */
       109: .line 212
            iconst_0
            istore 38 /* i */
        start local 38 // int i
       110: goto 113
       111: .line 213
      StackMap locals: long[] long[] int
      StackMap stack:
            aload 36 /* children */
            iload 38 /* i */
            aload 22 /* chunk */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lastore
       112: .line 212
            iinc 38 /* i */ 1
      StackMap locals:
      StackMap stack:
       113: iload 38 /* i */
            iload 30 /* entries */
            if_icmple 111
        end local 38 // int i
       114: .line 215
            iload 30 /* entries */
            iconst_1
            iadd
            newarray 11
            astore 37 /* counts */
       115: .line 216
            iconst_0
            istore 38 /* i */
        start local 38 // int i
       116: goto 120
       117: .line 217
      StackMap locals:
      StackMap stack:
            aload 22 /* chunk */
            invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
            lstore 39 /* s */
        start local 39 // long s
       118: .line 218
            aload 37 /* counts */
            iload 38 /* i */
            lload 39 /* s */
            lastore
        end local 39 // long s
       119: .line 216
            iinc 38 /* i */ 1
      StackMap locals:
      StackMap stack:
       120: iload 38 /* i */
            iload 30 /* entries */
            if_icmple 117
        end local 38 // int i
       121: .line 221
      StackMap locals:
      StackMap stack:
            iload 30 /* entries */
            anewarray java.lang.String
            astore 38 /* keys */
        start local 38 // java.lang.String[] keys
       122: .line 222
            iload 29 /* mapId */
            ifne 182
            iload 2 /* details */
            ifeq 182
       123: .line 224
            iload 32 /* compressed */
            ifeq 136
       124: .line 225
            iload 31 /* type */
            bipush 6
            iand
            bipush 6
            if_icmpeq 125
            iconst_1
            goto 126
      StackMap locals: java.lang.String[]
      StackMap stack:
       125: iconst_0
      StackMap locals:
      StackMap stack: int
       126: istore 40 /* fast */
        start local 40 // boolean fast
       127: .line 226
            iload 40 /* fast */
            invokestatic org.h2.mvstore.MVStoreTool.getCompressor:(Z)Lorg/h2/compress/Compressor;
            astore 41 /* compressor */
        start local 41 // org.h2.compress.Compressor compressor
       128: .line 227
            aload 22 /* chunk */
            invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
            istore 42 /* lenAdd */
        start local 42 // int lenAdd
       129: .line 228
            iload 28 /* pageSize */
            iload 27 /* start */
            iadd
            aload 22 /* chunk */
            invokevirtual java.nio.ByteBuffer.position:()I
            isub
            istore 43 /* compLen */
        start local 43 // int compLen
       130: .line 229
            iload 43 /* compLen */
            invokestatic org.h2.util.Utils.newBytes:(I)[B
            astore 44 /* comp */
        start local 44 // byte[] comp
       131: .line 230
            aload 22 /* chunk */
            aload 44 /* comp */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
       132: .line 231
            iload 43 /* compLen */
            iload 42 /* lenAdd */
            iadd
            istore 45 /* l */
        start local 45 // int l
       133: .line 232
            iload 45 /* l */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 39 /* data */
        start local 39 // java.nio.ByteBuffer data
       134: .line 233
            aload 41 /* compressor */
            aload 44 /* comp */
            iconst_0
            iload 43 /* compLen */
            aload 39 /* data */
            invokevirtual java.nio.ByteBuffer.array:()[B
            iconst_0
            iload 45 /* l */
            invokeinterface org.h2.compress.Compressor.expand:([BII[BII)V
        end local 45 // int l
        end local 44 // byte[] comp
        end local 43 // int compLen
        end local 42 // int lenAdd
        end local 41 // org.h2.compress.Compressor compressor
        end local 40 // boolean fast
       135: .line 234
            goto 137
        end local 39 // java.nio.ByteBuffer data
       136: .line 235
      StackMap locals:
      StackMap stack:
            aload 22 /* chunk */
            astore 39 /* data */
        start local 39 // java.nio.ByteBuffer data
       137: .line 237
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            iconst_0
            istore 40 /* i */
        start local 40 // int i
       138: goto 142
       139: .line 238
      StackMap locals: int
      StackMap stack:
            getstatic org.h2.mvstore.type.StringDataType.INSTANCE:Lorg/h2/mvstore/type/StringDataType;
            aload 39 /* data */
            invokevirtual org.h2.mvstore.type.StringDataType.read:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            astore 41 /* k */
        start local 41 // java.lang.String k
       140: .line 239
            aload 38 /* keys */
            iload 40 /* i */
            aload 41 /* k */
            aastore
        end local 41 // java.lang.String k
       141: .line 237
            iinc 40 /* i */ 1
      StackMap locals:
      StackMap stack:
       142: iload 40 /* i */
            iload 30 /* entries */
            if_icmplt 139
        end local 40 // int i
       143: .line 241
            iload 33 /* node */
            ifeq 167
       144: .line 243
            iconst_0
            istore 40 /* i */
        start local 40 // int i
       145: goto 155
       146: .line 244
      StackMap locals:
      StackMap stack:
            aload 36 /* children */
            iload 40 /* i */
            laload
            lstore 41 /* cp */
        start local 41 // long cp
       147: .line 245
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "    %d children < %s @ chunk %x +%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       148: .line 247
            iload 13 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
       149: .line 248
            aload 37 /* counts */
            iload 40 /* i */
            laload
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
       150: .line 249
            aload 38 /* keys */
            iload 40 /* i */
            aaload
            aastore
            dup
            iconst_2
       151: .line 250
            lload 41 /* cp */
            invokestatic org.h2.mvstore.DataUtils.getPageChunkId:(J)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
       152: .line 251
            lload 41 /* cp */
            invokestatic org.h2.mvstore.DataUtils.getPageOffset:(J)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
       153: .line 245
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 41 // long cp
       154: .line 243
            iinc 40 /* i */ 1
      StackMap locals:
      StackMap stack:
       155: iload 40 /* i */
            iload 30 /* entries */
            if_icmplt 146
        end local 40 // int i
       156: .line 253
            aload 36 /* children */
            iload 30 /* entries */
            laload
            lstore 40 /* cp */
        start local 40 // long cp
       157: .line 254
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "    %d children >= %s @ chunk %x +%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       158: .line 255
            iload 13 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
       159: .line 256
            aload 37 /* counts */
            iload 30 /* entries */
            laload
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
       160: .line 257
            aload 38 /* keys */
            arraylength
            iload 30 /* entries */
            if_icmplt 161
            aconst_null
            goto 162
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int java.lang.Integer java.lang.Long long[] long[] java.lang.String[] java.nio.ByteBuffer long
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
       161: aload 38 /* keys */
            iload 30 /* entries */
            aaload
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int java.lang.Integer java.lang.Long long[] long[] java.lang.String[] java.nio.ByteBuffer long
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
       162: aastore
            dup
            iconst_2
       163: .line 258
            lload 40 /* cp */
            invokestatic org.h2.mvstore.DataUtils.getPageChunkId:(J)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
       164: .line 259
            lload 40 /* cp */
            invokestatic org.h2.mvstore.DataUtils.getPageOffset:(J)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
       165: .line 254
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 40 // long cp
       166: .line 260
            goto 194
       167: .line 262
      StackMap locals:
      StackMap stack:
            iload 30 /* entries */
            anewarray java.lang.String
            astore 40 /* values */
        start local 40 // java.lang.String[] values
       168: .line 263
            iconst_0
            istore 41 /* i */
        start local 41 // int i
       169: goto 173
       170: .line 264
      StackMap locals: java.lang.String[] int
      StackMap stack:
            getstatic org.h2.mvstore.type.StringDataType.INSTANCE:Lorg/h2/mvstore/type/StringDataType;
            aload 39 /* data */
            invokevirtual org.h2.mvstore.type.StringDataType.read:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            astore 42 /* v */
        start local 42 // java.lang.String v
       171: .line 265
            aload 40 /* values */
            iload 41 /* i */
            aload 42 /* v */
            aastore
        end local 42 // java.lang.String v
       172: .line 263
            iinc 41 /* i */ 1
      StackMap locals:
      StackMap stack:
       173: iload 41 /* i */
            iload 30 /* entries */
            if_icmplt 170
        end local 41 // int i
       174: .line 267
            iconst_0
            istore 41 /* i */
        start local 41 // int i
       175: goto 180
       176: .line 268
      StackMap locals:
      StackMap stack:
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "    "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 38 /* keys */
            iload 41 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       177: .line 269
            ldc " = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 40 /* values */
            iload 41 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       178: .line 268
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       179: .line 267
            iinc 41 /* i */ 1
      StackMap locals:
      StackMap stack:
       180: iload 41 /* i */
            iload 30 /* entries */
            if_icmplt 176
        end local 41 // int i
        end local 40 // java.lang.String[] values
        end local 39 // java.nio.ByteBuffer data
       181: .line 272
            goto 194
       182: .line 273
      StackMap locals:
      StackMap stack:
            iload 33 /* node */
            ifeq 194
            iload 2 /* details */
            ifeq 194
       183: .line 274
            iconst_0
            istore 39 /* i */
        start local 39 // int i
       184: goto 193
       185: .line 275
      StackMap locals: int
      StackMap stack:
            aload 36 /* children */
            iload 39 /* i */
            laload
            lstore 40 /* cp */
        start local 40 // long cp
       186: .line 276
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "    %d children @ chunk %x +%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       187: .line 277
            iload 13 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x%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
       188: .line 278
            aload 37 /* counts */
            iload 39 /* i */
            laload
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
       189: .line 279
            lload 40 /* cp */
            invokestatic org.h2.mvstore.DataUtils.getPageChunkId:(J)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
       190: .line 280
            lload 40 /* cp */
            invokestatic org.h2.mvstore.DataUtils.getPageOffset:(J)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
       191: .line 276
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 40 // long cp
       192: .line 274
            iinc 39 /* i */ 1
      StackMap locals:
      StackMap stack:
       193: iload 39 /* i */
            iload 30 /* entries */
            if_icmple 185
        end local 39 // int i
        end local 38 // java.lang.String[] keys
        end local 37 // long[] counts
        end local 36 // long[] children
        end local 35 // java.lang.Long total
        end local 34 // java.lang.Integer mapSize
        end local 33 // boolean node
        end local 32 // boolean compressed
        end local 31 // int type
        end local 30 // int entries
        end local 29 // int mapId
        end local 28 // int pageSize
        end local 27 // int start
       194: .line 164
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int
      StackMap stack:
            iload 24 /* remaining */
            ifgt 56
       195: .line 285
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 26 /* pageSizeSum */
            invokestatic java.lang.Math.max:(II)I
            istore 26 /* pageSizeSum */
       196: .line 286
            aload 25 /* mapSizes */
            invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 28
            goto 200
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int top java.util.Iterator
      StackMap stack:
       197: aload 28
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 27 /* mapId */
        start local 27 // java.lang.Integer mapId
       198: .line 287
            bipush 100
            aload 25 /* mapSizes */
            aload 27 /* mapId */
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            imul
            iload 26 /* pageSizeSum */
            idiv
            istore 29 /* percent */
        start local 29 // int percent
       199: .line 288
            aload 3 /* pw */
            ldc "map %x: %d bytes, %d%%%n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 27 /* mapId */
            aastore
            dup
            iconst_1
            aload 25 /* mapSizes */
            aload 27 /* mapId */
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            iload 29 /* percent */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 29 // int percent
        end local 27 // java.lang.Integer mapId
       200: .line 286
      StackMap locals:
      StackMap stack:
            aload 28
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 197
       201: .line 290
            aload 22 /* chunk */
            invokevirtual java.nio.ByteBuffer.limit:()I
            sipush 128
            isub
            istore 27 /* footerPos */
        start local 27 // int footerPos
       202: .line 292
            aload 22 /* chunk */
            iload 27 /* footerPos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       203: .line 293
            aload 3 /* pw */
       204: .line 294
            new java.lang.StringBuilder
            dup
            ldc "+%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x chunkFooter %s%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       205: .line 295
            iload 27 /* footerPos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
       206: .line 296
            new java.lang.String
            dup
            aload 22 /* chunk */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 22 /* chunk */
            invokevirtual java.nio.ByteBuffer.position:()I
       207: .line 297
            sipush 128
            getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
       208: .line 296
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
       209: .line 297
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aastore
       210: .line 293
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       211: .line 298
            goto 214
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int
      StackMap stack: java.lang.IllegalArgumentException
       212: pop
       213: .line 300
            aload 3 /* pw */
            ldc "ERROR illegal footer position %d%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 27 /* footerPos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 27 // int footerPos
        end local 26 // int pageSizeSum
        end local 25 // java.util.TreeMap mapSizes
        end local 24 // int remaining
        end local 23 // int p
        end local 22 // java.nio.ByteBuffer chunk
        end local 21 // int length
        end local 20 // org.h2.mvstore.Chunk c
        end local 19 // int headerType
       214: .line 123
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long
      StackMap stack:
            lload 17 /* pos */
            lload 11 /* fileSize */
            lcmp
            iflt 18
        end local 17 // long pos
       215: .line 303
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "%n%0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x eof%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 11 /* fileSize */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       216: .line 304
            aload 3 /* pw */
            ldc "\n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       217: .line 305
            lconst_1
            lload 15 /* pageCount */
            invokestatic java.lang.Math.max:(JJ)J
            lstore 15 /* pageCount */
       218: .line 306
            aload 3 /* pw */
            ldc "page size total: %d bytes, page count: %d, average page size: %d bytes\n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       219: .line 307
            lload 9 /* pageSizeTotal */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 15 /* pageCount */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 9 /* pageSizeTotal */
            lload 15 /* pageCount */
            ldiv
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
       220: .line 306
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       221: .line 308
            lconst_1
            lload 9 /* pageSizeTotal */
            invokestatic java.lang.Math.max:(JJ)J
            lstore 9 /* pageSizeTotal */
       222: .line 309
            aload 8 /* mapSizesTotal */
            invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 18
            goto 226
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long top java.util.Iterator
      StackMap stack:
       223: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 17 /* mapId */
        start local 17 // java.lang.Integer mapId
       224: .line 310
            ldc 100
            aload 8 /* mapSizesTotal */
            aload 17 /* mapId */
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lmul
            lload 9 /* pageSizeTotal */
            ldiv
            l2i
            istore 19 /* percent */
        start local 19 // int percent
       225: .line 311
            aload 3 /* pw */
            ldc "map %x: %d bytes, %d%%%n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 17 /* mapId */
            aastore
            dup
            iconst_1
            aload 8 /* mapSizesTotal */
            aload 17 /* mapId */
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            iload 19 /* percent */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 19 // int percent
        end local 17 // java.lang.Integer mapId
       226: .line 309
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 223
        end local 15 // long pageCount
        end local 14 // java.nio.ByteBuffer block
        end local 13 // int len
        end local 11 // long fileSize
       227: .line 313
            goto 241
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long
      StackMap stack: java.io.IOException
       228: astore 11 /* e */
        start local 11 // java.io.IOException e
       229: .line 314
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "ERROR: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       230: .line 315
            aload 11 /* e */
            aload 3 /* pw */
            invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintWriter;)V
        end local 11 // java.io.IOException e
       231: .line 317
            aload 6 /* file */
            ifnull 245
       232: .line 319
            aload 6 /* file */
            invokevirtual java.nio.channels.FileChannel.close:()V
       233: .line 320
            goto 245
      StackMap locals:
      StackMap stack: java.io.IOException
       234: pop
            goto 245
       235: .line 316
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 46
       236: .line 317
            aload 6 /* file */
            ifnull 240
       237: .line 319
            aload 6 /* file */
            invokevirtual java.nio.channels.FileChannel.close:()V
       238: .line 320
            goto 240
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
       239: pop
       240: .line 324
      StackMap locals:
      StackMap stack:
            aload 46
            athrow
       241: .line 317
      StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long
      StackMap stack:
            aload 6 /* file */
            ifnull 245
       242: .line 319
            aload 6 /* file */
            invokevirtual java.nio.channels.FileChannel.close:()V
       243: .line 320
            goto 245
      StackMap locals:
      StackMap stack: java.io.IOException
       244: pop
       245: .line 325
      StackMap locals:
      StackMap stack:
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
       246: .line 326
            return
        end local 9 // long pageSizeTotal
        end local 8 // java.util.TreeMap mapSizesTotal
        end local 7 // int blockSize
        end local 6 // java.nio.channels.FileChannel file
        end local 4 // long size
        end local 3 // java.io.PrintWriter pw
        end local 2 // boolean details
        end local 1 // java.io.Writer writer
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  247     0       fileName  Ljava/lang/String;
            0  247     1         writer  Ljava/io/Writer;
            0  247     2        details  Z
            1  247     3             pw  Ljava/io/PrintWriter;
            5  247     4           size  J
            7  247     6           file  Ljava/nio/channels/FileChannel;
            8  247     7      blockSize  I
           10  247     8  mapSizesTotal  Ljava/util/TreeMap<Ljava/lang/Integer;Ljava/lang/Long;>;
           11  247     9  pageSizeTotal  J
           13  227    11       fileSize  J
           14  227    13            len  I
           15  227    14          block  Ljava/nio/ByteBuffer;
           16  227    15      pageCount  J
           17  215    17            pos  J
           22  214    19     headerType  I
           24   29    20         header  Ljava/lang/String;
           34  214    20              c  Lorg/h2/mvstore/Chunk;
           43  214    21         length  I
           47  214    22          chunk  Ljava/nio/ByteBuffer;
           49  214    23              p  I
           51  214    24      remaining  I
           54  214    25       mapSizes  Ljava/util/TreeMap<Ljava/lang/Integer;Ljava/lang/Integer;>;
           55  214    26    pageSizeSum  I
           57  194    27          start  I
           63  194    28       pageSize  I
           65  194    29          mapId  I
           66  194    30        entries  I
           67  194    31           type  I
           70  194    32     compressed  Z
           73  194    33           node  Z
           95  194    34        mapSize  Ljava/lang/Integer;
           99  194    35          total  Ljava/lang/Long;
          106  194    36       children  [J
          107  194    37         counts  [J
          110  114    38              i  I
          116  121    38              i  I
          118  119    39              s  J
          122  194    38           keys  [Ljava/lang/String;
          134  136    39           data  Ljava/nio/ByteBuffer;
          137  181    39           data  Ljava/nio/ByteBuffer;
          127  135    40           fast  Z
          128  135    41     compressor  Lorg/h2/compress/Compressor;
          129  135    42         lenAdd  I
          130  135    43        compLen  I
          131  135    44           comp  [B
          133  135    45              l  I
          138  143    40              i  I
          140  141    41              k  Ljava/lang/String;
          145  156    40              i  I
          147  154    41             cp  J
          157  166    40             cp  J
          168  181    40         values  [Ljava/lang/String;
          169  174    41              i  I
          171  172    42              v  Ljava/lang/String;
          175  181    41              i  I
          184  194    39              i  I
          186  192    40             cp  J
          198  200    27          mapId  Ljava/lang/Integer;
          199  200    29        percent  I
          202  214    27      footerPos  I
          224  226    17          mapId  Ljava/lang/Integer;
          225  226    19        percent  I
          229  231    11              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          34    35      36  Class java.lang.IllegalStateException
          57    58      59  Class java.lang.IllegalArgumentException
         202   211     212  Class java.lang.IllegalArgumentException
          11   227     228  Class java.io.IOException
         232   233     234  Class java.io.IOException
          11   231     235  any
         237   238     239  Class java.io.IOException
         242   243     244  Class java.io.IOException
    MethodParameters:
          Name  Flags
      fileName  
      writer    
      details   

  private static org.h2.compress.Compressor getCompressor(boolean);
    descriptor: (Z)Lorg/h2/compress/Compressor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // boolean fast
         0: .line 329
            iload 0 /* fast */
            ifeq 1
            new org.h2.compress.CompressLZF
            dup
            invokespecial org.h2.compress.CompressLZF.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.h2.compress.CompressDeflate
            dup
            invokespecial org.h2.compress.CompressDeflate.<init>:()V
      StackMap locals:
      StackMap stack: org.h2.compress.Compressor
         2: areturn
        end local 0 // boolean fast
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  fast  Z
    MethodParameters:
      Name  Flags
      fast  

  public static java.lang.String info(java.lang.String, java.io.Writer);
    descriptor: (Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=26, args_size=2
        start local 0 // java.lang.String fileName
        start local 1 // java.io.Writer writer
         0: .line 341
            new java.io.PrintWriter
            dup
            aload 1 /* writer */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
            astore 2 /* pw */
        start local 2 // java.io.PrintWriter pw
         1: .line 342
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            invokevirtual org.h2.store.fs.FilePath.exists:()Z
            ifne 4
         2: .line 343
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "File not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 344
            new java.lang.StringBuilder
            dup
            ldc "File not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 346
      StackMap locals: java.io.PrintWriter
      StackMap stack:
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.size:(Ljava/lang/String;)J
            lstore 3 /* fileLength */
        start local 3 // long fileLength
         5: .line 347
            new org.h2.mvstore.MVStore$Builder
            dup
            invokespecial org.h2.mvstore.MVStore$Builder.<init>:()V
         6: .line 348
            aload 0 /* fileName */
            invokevirtual org.h2.mvstore.MVStore$Builder.fileName:(Ljava/lang/String;)Lorg/h2/mvstore/MVStore$Builder;
         7: .line 349
            invokevirtual org.h2.mvstore.MVStore$Builder.readOnly:()Lorg/h2/mvstore/MVStore$Builder;
            invokevirtual org.h2.mvstore.MVStore$Builder.open:()Lorg/h2/mvstore/MVStore;
         8: .line 347
            astore 5 /* store */
        start local 5 // org.h2.mvstore.MVStore store
         9: .line 351
            aload 5 /* store */
            invokevirtual org.h2.mvstore.MVStore.getMetaMap:()Lorg/h2/mvstore/MVMap;
            astore 6 /* meta */
        start local 6 // org.h2.mvstore.MVMap meta
        10: .line 352
            aload 5 /* store */
            invokevirtual org.h2.mvstore.MVStore.getStoreHeader:()Ljava/util/Map;
            astore 7 /* header */
        start local 7 // java.util.Map header
        11: .line 353
            aload 7 /* header */
            ldc "created"
            lconst_0
            invokestatic org.h2.mvstore.DataUtils.readHexLong:(Ljava/util/Map;Ljava/lang/String;J)J
            lstore 8 /* fileCreated */
        start local 8 // long fileCreated
        12: .line 354
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 10 /* chunks */
        start local 10 // java.util.TreeMap chunks
        13: .line 355
            lconst_0
            lstore 11 /* chunkLength */
        start local 11 // long chunkLength
        14: .line 356
            lconst_0
            lstore 13 /* maxLength */
        start local 13 // long maxLength
        15: .line 357
            lconst_0
            lstore 15 /* maxLengthLive */
        start local 15 // long maxLengthLive
        16: .line 358
            lconst_0
            lstore 17 /* maxLengthNotEmpty */
        start local 17 // long maxLengthNotEmpty
        17: .line 359
            aload 6 /* meta */
            invokevirtual org.h2.mvstore.MVMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 20
            goto 28
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long top java.util.Iterator
      StackMap stack:
        18: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 19 /* e */
        start local 19 // java.util.Map$Entry e
        19: .line 360
            aload 19 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 21 /* k */
        start local 21 // java.lang.String k
        20: .line 361
            aload 21 /* k */
            ldc "chunk."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 28
        21: .line 362
            aload 19 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.h2.mvstore.Chunk.fromString:(Ljava/lang/String;)Lorg/h2/mvstore/Chunk;
            astore 22 /* c */
        start local 22 // org.h2.mvstore.Chunk c
        22: .line 363
            aload 10 /* chunks */
            aload 22 /* c */
            getfield org.h2.mvstore.Chunk.id:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 22 /* c */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 364
            lload 11 /* chunkLength */
            aload 22 /* c */
            getfield org.h2.mvstore.Chunk.len:I
            sipush 4096
            imul
            i2l
            ladd
            lstore 11 /* chunkLength */
        24: .line 365
            lload 13 /* maxLength */
            aload 22 /* c */
            getfield org.h2.mvstore.Chunk.maxLen:J
            ladd
            lstore 13 /* maxLength */
        25: .line 366
            lload 15 /* maxLengthLive */
            aload 22 /* c */
            getfield org.h2.mvstore.Chunk.maxLenLive:J
            ladd
            lstore 15 /* maxLengthLive */
        26: .line 367
            aload 22 /* c */
            getfield org.h2.mvstore.Chunk.maxLenLive:J
            lconst_0
            lcmp
            ifle 28
        27: .line 368
            lload 17 /* maxLengthNotEmpty */
            aload 22 /* c */
            getfield org.h2.mvstore.Chunk.maxLen:J
            ladd
            lstore 17 /* maxLengthNotEmpty */
        end local 22 // org.h2.mvstore.Chunk c
        end local 21 // java.lang.String k
        end local 19 // java.util.Map$Entry e
        28: .line 359
      StackMap locals:
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        29: .line 372
            aload 2 /* pw */
            ldc "Created: %s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 8 /* fileCreated */
            lload 8 /* fileCreated */
            invokestatic org.h2.mvstore.MVStoreTool.formatTimestamp:(JJ)Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        30: .line 373
            aload 2 /* pw */
            ldc "Last modified: %s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        31: .line 374
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.lastModified:(Ljava/lang/String;)J
            lload 8 /* fileCreated */
            invokestatic org.h2.mvstore.MVStoreTool.formatTimestamp:(JJ)Ljava/lang/String;
            aastore
        32: .line 373
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        33: .line 375
            aload 2 /* pw */
            ldc "File length: %d\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 3 /* fileLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        34: .line 376
            aload 2 /* pw */
            ldc "The last chunk is not listed\n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        35: .line 377
            aload 2 /* pw */
            ldc "Chunk length: %d\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 11 /* chunkLength */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        36: .line 378
            aload 2 /* pw */
            ldc "Chunk count: %d\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* chunks */
            invokevirtual java.util.TreeMap.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        37: .line 379
            aload 2 /* pw */
            ldc "Used space: %d%%\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 11 /* chunkLength */
            lload 3 /* fileLength */
            invokestatic org.h2.mvstore.MVStoreTool.getPercent:(JJ)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        38: .line 380
            aload 2 /* pw */
            ldc "Chunk fill rate: %d%%\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 13 /* maxLength */
            lconst_0
            lcmp
            ifne 39
            bipush 100
            goto 40
        39: .line 381
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
            lload 15 /* maxLengthLive */
            lload 13 /* maxLength */
            invokestatic org.h2.mvstore.MVStoreTool.getPercent:(JJ)I
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
        40: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        41: .line 380
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        42: .line 382
            aload 2 /* pw */
            ldc "Chunk fill rate excluding empty chunks: %d%%\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        43: .line 383
            lload 17 /* maxLengthNotEmpty */
            lconst_0
            lcmp
            ifne 44
            bipush 100
            goto 45
        44: .line 384
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
            lload 15 /* maxLengthLive */
            lload 17 /* maxLengthNotEmpty */
            invokestatic org.h2.mvstore.MVStoreTool.getPercent:(JJ)I
        45: .line 383
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        46: .line 382
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        47: .line 385
            aload 10 /* chunks */
            invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 20
            goto 61
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long top java.util.Iterator
      StackMap stack:
        48: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 19 /* e */
        start local 19 // java.util.Map$Entry e
        49: .line 386
            aload 19 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.h2.mvstore.Chunk
            astore 21 /* c */
        start local 21 // org.h2.mvstore.Chunk c
        50: .line 387
            lload 8 /* fileCreated */
            aload 21 /* c */
            getfield org.h2.mvstore.Chunk.time:J
            ladd
            lstore 22 /* created */
        start local 22 // long created
        51: .line 388
            aload 2 /* pw */
            ldc "  Chunk %d: %s, %d%% used, %d blocks"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        52: .line 389
            aload 21 /* c */
            getfield org.h2.mvstore.Chunk.id:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            lload 22 /* created */
            lload 8 /* fileCreated */
            invokestatic org.h2.mvstore.MVStoreTool.formatTimestamp:(JJ)Ljava/lang/String;
            aastore
            dup
            iconst_2
        53: .line 390
            aload 21 /* c */
            getfield org.h2.mvstore.Chunk.maxLenLive:J
            aload 21 /* c */
            getfield org.h2.mvstore.Chunk.maxLen:J
            invokestatic org.h2.mvstore.MVStoreTool.getPercent:(JJ)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        54: .line 391
            aload 21 /* c */
            getfield org.h2.mvstore.Chunk.len:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        55: .line 388
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        56: .line 393
            aload 21 /* c */
            getfield org.h2.mvstore.Chunk.maxLenLive:J
            lconst_0
            lcmp
            ifne 60
        57: .line 394
            aload 2 /* pw */
            ldc ", unused: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        58: .line 395
            lload 8 /* fileCreated */
            aload 21 /* c */
            getfield org.h2.mvstore.Chunk.unused:J
            ladd
            lload 8 /* fileCreated */
            invokestatic org.h2.mvstore.MVStoreTool.formatTimestamp:(JJ)Ljava/lang/String;
            aastore
        59: .line 394
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        60: .line 397
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long java.util.Map$Entry java.util.Iterator org.h2.mvstore.Chunk long
      StackMap stack:
            aload 2 /* pw */
            ldc "\n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 22 // long created
        end local 21 // org.h2.mvstore.Chunk c
        end local 19 // java.util.Map$Entry e
        61: .line 385
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        62: .line 399
            aload 2 /* pw */
            ldc "\n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 17 // long maxLengthNotEmpty
        end local 15 // long maxLengthLive
        end local 13 // long maxLength
        end local 11 // long chunkLength
        end local 10 // java.util.TreeMap chunks
        end local 8 // long fileCreated
        end local 7 // java.util.Map header
        end local 6 // org.h2.mvstore.MVMap meta
        63: .line 400
            goto 73
      StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore
      StackMap stack: java.lang.Exception
        64: astore 6 /* e */
        start local 6 // java.lang.Exception e
        65: .line 401
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "ERROR: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        66: .line 402
            aload 6 /* e */
            aload 2 /* pw */
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
        67: .line 403
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            astore 25
        68: .line 405
            aload 5 /* store */
            invokevirtual org.h2.mvstore.MVStore.close:()V
        69: .line 403
            aload 25
            areturn
        end local 6 // java.lang.Exception e
        70: .line 404
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 24
        71: .line 405
            aload 5 /* store */
            invokevirtual org.h2.mvstore.MVStore.close:()V
        72: .line 406
            aload 24
            athrow
        73: .line 405
      StackMap locals:
      StackMap stack:
            aload 5 /* store */
            invokevirtual org.h2.mvstore.MVStore.close:()V
        74: .line 407
            aload 2 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
        75: .line 408
            aconst_null
            areturn
        end local 5 // org.h2.mvstore.MVStore store
        end local 3 // long fileLength
        end local 2 // java.io.PrintWriter pw
        end local 1 // java.io.Writer writer
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   76     0           fileName  Ljava/lang/String;
            0   76     1             writer  Ljava/io/Writer;
            1   76     2                 pw  Ljava/io/PrintWriter;
            5   76     3         fileLength  J
            9   76     5              store  Lorg/h2/mvstore/MVStore;
           10   63     6               meta  Lorg/h2/mvstore/MVMap<Ljava/lang/String;Ljava/lang/String;>;
           11   63     7             header  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           12   63     8        fileCreated  J
           13   63    10             chunks  Ljava/util/TreeMap<Ljava/lang/Integer;Lorg/h2/mvstore/Chunk;>;
           14   63    11        chunkLength  J
           15   63    13          maxLength  J
           16   63    15      maxLengthLive  J
           17   63    17  maxLengthNotEmpty  J
           19   28    19                  e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           20   28    21                  k  Ljava/lang/String;
           22   28    22                  c  Lorg/h2/mvstore/Chunk;
           49   61    19                  e  Ljava/util/Map$Entry<Ljava/lang/Integer;Lorg/h2/mvstore/Chunk;>;
           50   61    21                  c  Lorg/h2/mvstore/Chunk;
           51   61    22            created  J
           65   70     6                  e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    63      64  Class java.lang.Exception
           9    68      70  any
    MethodParameters:
          Name  Flags
      fileName  
      writer    

  private static java.lang.String formatTimestamp(long, long);
    descriptor: (JJ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // long t
        start local 2 // long start
         0: .line 412
            new java.sql.Timestamp
            dup
            lload 0 /* t */
            invokespecial java.sql.Timestamp.<init>:(J)V
            invokevirtual java.sql.Timestamp.toString:()Ljava/lang/String;
            astore 4 /* x */
        start local 4 // java.lang.String x
         1: .line 413
            aload 4 /* x */
            iconst_0
            bipush 19
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
         2: .line 414
            new java.lang.StringBuilder
            dup
            aload 5 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " (+"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 0 /* t */
            lload 2 /* start */
            lsub
            ldc 1000
            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;
            astore 5 /* s */
         3: .line 415
            aload 5 /* s */
            areturn
        end local 5 // java.lang.String s
        end local 4 // java.lang.String x
        end local 2 // long start
        end local 0 // long t
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0      t  J
            0    4     2  start  J
            1    4     4      x  Ljava/lang/String;
            2    4     5      s  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      t      
      start  

  private static int getPercent(long, long);
    descriptor: (JJ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // long value
        start local 2 // long max
         0: .line 419
            lload 0 /* value */
            lconst_0
            lcmp
            ifne 2
         1: .line 420
            iconst_0
            ireturn
         2: .line 421
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            lload 2 /* max */
            lcmp
            ifne 4
         3: .line 422
            bipush 100
            ireturn
         4: .line 424
      StackMap locals:
      StackMap stack:
            lconst_1
            ldc 98
            lload 0 /* value */
            lmul
            lconst_1
            lload 2 /* max */
            invokestatic java.lang.Math.max:(JJ)J
            ldiv
            ladd
            l2i
            ireturn
        end local 2 // long max
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  J
            0    5     2    max  J
    MethodParameters:
       Name  Flags
      value  
      max    

  public static void compact(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String fileName
        start local 1 // boolean compress
         0: .line 439
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".tempFile"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* tempName */
        start local 2 // java.lang.String tempName
         1: .line 440
            aload 2 /* tempName */
            invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
         2: .line 441
            aload 0 /* fileName */
            aload 2 /* tempName */
            iload 1 /* compress */
            invokestatic org.h2.mvstore.MVStoreTool.compact:(Ljava/lang/String;Ljava/lang/String;Z)V
         3: .line 443
            aload 2 /* tempName */
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.moveAtomicReplace:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 444
            goto 11
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack: org.h2.message.DbException
         5: pop
         6: .line 445
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".newFile"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* newName */
        start local 3 // java.lang.String newName
         7: .line 446
            aload 3 /* newName */
            invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
         8: .line 447
            aload 2 /* tempName */
            aload 3 /* newName */
            invokestatic org.h2.store.fs.FileUtils.move:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 448
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
        10: .line 449
            aload 3 /* newName */
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.move:(Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // java.lang.String newName
        11: .line 451
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String tempName
        end local 1 // boolean compress
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  fileName  Ljava/lang/String;
            0   12     1  compress  Z
            1   12     2  tempName  Ljava/lang/String;
            7   11     3   newName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     4       5  Class org.h2.message.DbException
    MethodParameters:
          Name  Flags
      fileName  
      compress  

  public static void compactCleanUp(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 462
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".tempFile"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* tempName */
        start local 1 // java.lang.String tempName
         1: .line 463
            aload 1 /* tempName */
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 464
            aload 1 /* tempName */
            invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
         3: .line 466
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".newFile"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* newName */
        start local 2 // java.lang.String newName
         4: .line 467
            aload 2 /* newName */
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            ifeq 9
         5: .line 468
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 469
            aload 2 /* newName */
            invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
         7: .line 470
            goto 9
         8: .line 471
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* newName */
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.move:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 474
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String newName
        end local 1 // java.lang.String tempName
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  fileName  Ljava/lang/String;
            1   10     1  tempName  Ljava/lang/String;
            4   10     2   newName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  public static void compact(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=10, args_size=3
        start local 0 // java.lang.String sourceFileName
        start local 1 // java.lang.String targetFileName
        start local 2 // boolean compress
         0: .line 484
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new org.h2.mvstore.MVStore$Builder
            dup
            invokespecial org.h2.mvstore.MVStore$Builder.<init>:()V
         2: .line 485
            aload 0 /* sourceFileName */
            invokevirtual org.h2.mvstore.MVStore$Builder.fileName:(Ljava/lang/String;)Lorg/h2/mvstore/MVStore$Builder;
            invokevirtual org.h2.mvstore.MVStore$Builder.readOnly:()Lorg/h2/mvstore/MVStore$Builder;
            invokevirtual org.h2.mvstore.MVStore$Builder.open:()Lorg/h2/mvstore/MVStore;
         3: .line 484
            astore 5 /* source */
        start local 5 // org.h2.mvstore.MVStore source
         4: .line 491
            aload 1 /* targetFileName */
            invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
         5: .line 492
            new org.h2.mvstore.MVStore$Builder
            dup
            invokespecial org.h2.mvstore.MVStore$Builder.<init>:()V
         6: .line 493
            aload 1 /* targetFileName */
            invokevirtual org.h2.mvstore.MVStore$Builder.fileName:(Ljava/lang/String;)Lorg/h2/mvstore/MVStore$Builder;
         7: .line 492
            astore 6 /* b */
        start local 6 // org.h2.mvstore.MVStore$Builder b
         8: .line 494
            iload 2 /* compress */
            ifeq 10
         9: .line 495
            aload 6 /* b */
            invokevirtual org.h2.mvstore.MVStore$Builder.compress:()Lorg/h2/mvstore/MVStore$Builder;
            pop
        10: .line 497
      StackMap locals: java.lang.String java.lang.String int java.lang.Throwable java.lang.Throwable org.h2.mvstore.MVStore org.h2.mvstore.MVStore$Builder
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
        11: aload 6 /* b */
            invokevirtual org.h2.mvstore.MVStore$Builder.open:()Lorg/h2/mvstore/MVStore;
            astore 9 /* target */
        start local 9 // org.h2.mvstore.MVStore target
        12: .line 498
            aload 5 /* source */
            aload 9 /* target */
            invokestatic org.h2.mvstore.MVStoreTool.compact:(Lorg/h2/mvstore/MVStore;Lorg/h2/mvstore/MVStore;)V
        13: .line 499
            aload 9 /* target */
            ifnull 19
            aload 9 /* target */
            invokevirtual org.h2.mvstore.MVStore.close:()V
            goto 19
      StackMap locals: java.lang.String java.lang.String int java.lang.Throwable java.lang.Throwable org.h2.mvstore.MVStore org.h2.mvstore.MVStore$Builder java.lang.Throwable java.lang.Throwable org.h2.mvstore.MVStore
      StackMap stack: java.lang.Throwable
        14: astore 7
            aload 9 /* target */
            ifnull 15
            aload 9 /* target */
            invokevirtual org.h2.mvstore.MVStore.close:()V
        end local 9 // org.h2.mvstore.MVStore target
      StackMap locals:
      StackMap stack:
        15: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 8
            aload 7
            ifnonnull 17
            aload 8
            astore 7
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 7
            aload 8
            if_acmpeq 18
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 7
            athrow
        end local 6 // org.h2.mvstore.MVStore$Builder b
        19: .line 500
      StackMap locals:
      StackMap stack:
            aload 5 /* source */
            ifnull 25
            aload 5 /* source */
            invokevirtual org.h2.mvstore.MVStore.close:()V
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 3
            aload 5 /* source */
            ifnull 21
            aload 5 /* source */
            invokevirtual org.h2.mvstore.MVStore.close:()V
        end local 5 // org.h2.mvstore.MVStore source
      StackMap locals:
      StackMap stack:
        21: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 4
            aload 3
            ifnonnull 23
            aload 4
            astore 3
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 3
            aload 4
            if_acmpeq 24
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 3
            athrow
        25: .line 501
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean compress
        end local 1 // java.lang.String targetFileName
        end local 0 // java.lang.String sourceFileName
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0  sourceFileName  Ljava/lang/String;
            0   26     1  targetFileName  Ljava/lang/String;
            0   26     2        compress  Z
            4   21     5          source  Lorg/h2/mvstore/MVStore;
            8   19     6               b  Lorg/h2/mvstore/MVStore$Builder;
           12   15     9          target  Lorg/h2/mvstore/MVStore;
      Exception table:
        from    to  target  type
          12    13      14  any
          11    16      16  any
           4    19      20  any
           1    22      22  any
    MethodParameters:
                Name  Flags
      sourceFileName  
      targetFileName  
      compress        

  public static void compact(org.h2.mvstore.MVStore, org.h2.mvstore.MVStore);
    descriptor: (Lorg/h2/mvstore/MVStore;Lorg/h2/mvstore/MVStore;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.h2.mvstore.MVStore source
        start local 1 // org.h2.mvstore.MVStore target
         0: .line 510
            aload 1 /* target */
            invokevirtual org.h2.mvstore.MVStore.getAutoCommitDelay:()I
            istore 2 /* autoCommitDelay */
        start local 2 // int autoCommitDelay
         1: .line 511
            aload 1 /* target */
            invokevirtual org.h2.mvstore.MVStore.getRetentionTime:()I
            istore 3 /* retentionTime */
        start local 3 // int retentionTime
         2: .line 512
            aload 1 /* target */
            iconst_0
            invokevirtual org.h2.mvstore.MVStore.setAutoCommitDelay:(I)V
         3: .line 513
            aload 1 /* target */
            ldc 2147483647
            invokevirtual org.h2.mvstore.MVStore.setRetentionTime:(I)V
         4: .line 514
            aload 0 /* source */
            invokevirtual org.h2.mvstore.MVStore.getMetaMap:()Lorg/h2/mvstore/MVMap;
            astore 4 /* sourceMeta */
        start local 4 // org.h2.mvstore.MVMap sourceMeta
         5: .line 515
            aload 1 /* target */
            invokevirtual org.h2.mvstore.MVStore.getMetaMap:()Lorg/h2/mvstore/MVMap;
            astore 5 /* targetMeta */
        start local 5 // org.h2.mvstore.MVMap targetMeta
         6: .line 516
            aload 4 /* sourceMeta */
            invokevirtual org.h2.mvstore.MVMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: org.h2.mvstore.MVStore org.h2.mvstore.MVStore int int org.h2.mvstore.MVMap org.h2.mvstore.MVMap top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* m */
        start local 6 // java.util.Map$Entry m
         8: .line 517
            aload 6 /* m */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* key */
        start local 8 // java.lang.String key
         9: .line 518
            aload 8 /* key */
            ldc "chunk."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 14
        10: .line 520
            aload 8 /* key */
            ldc "map."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 14
        11: .line 522
            aload 8 /* key */
            ldc "name."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 14
        12: .line 524
            aload 8 /* key */
            ldc "root."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 14
        13: .line 527
            aload 5 /* targetMeta */
            aload 8 /* key */
            aload 6 /* m */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.h2.mvstore.MVMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.String key
        end local 6 // java.util.Map$Entry m
        14: .line 516
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        15: .line 530
            aload 0 /* source */
            invokevirtual org.h2.mvstore.MVStore.getMapNames:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 24
      StackMap locals:
      StackMap stack:
        16: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* mapName */
        start local 6 // java.lang.String mapName
        17: .line 532
            new org.h2.mvstore.MVMap$Builder
            dup
            invokespecial org.h2.mvstore.MVMap$Builder.<init>:()V
        18: .line 533
            new org.h2.mvstore.MVStoreTool$GenericDataType
            dup
            invokespecial org.h2.mvstore.MVStoreTool$GenericDataType.<init>:()V
            invokevirtual org.h2.mvstore.MVMap$Builder.keyType:(Lorg/h2/mvstore/type/DataType;)Lorg/h2/mvstore/MVMap$Builder;
        19: .line 534
            new org.h2.mvstore.MVStoreTool$GenericDataType
            dup
            invokespecial org.h2.mvstore.MVStoreTool$GenericDataType.<init>:()V
            invokevirtual org.h2.mvstore.MVMap$Builder.valueType:(Lorg/h2/mvstore/type/DataType;)Lorg/h2/mvstore/MVMap$Builder;
        20: .line 531
            astore 8 /* mp */
        start local 8 // org.h2.mvstore.MVMap$Builder mp
        21: .line 535
            aload 0 /* source */
            aload 6 /* mapName */
            aload 8 /* mp */
            invokevirtual org.h2.mvstore.MVStore.openMap:(Ljava/lang/String;Lorg/h2/mvstore/MVMap$MapBuilder;)Lorg/h2/mvstore/MVMap;
            astore 9 /* sourceMap */
        start local 9 // org.h2.mvstore.MVMap sourceMap
        22: .line 536
            aload 1 /* target */
            aload 6 /* mapName */
            aload 8 /* mp */
            invokevirtual org.h2.mvstore.MVStore.openMap:(Ljava/lang/String;Lorg/h2/mvstore/MVMap$MapBuilder;)Lorg/h2/mvstore/MVMap;
            astore 10 /* targetMap */
        start local 10 // org.h2.mvstore.MVMap targetMap
        23: .line 537
            aload 10 /* targetMap */
            aload 9 /* sourceMap */
            invokevirtual org.h2.mvstore.MVMap.copyFrom:(Lorg/h2/mvstore/MVMap;)V
        end local 10 // org.h2.mvstore.MVMap targetMap
        end local 9 // org.h2.mvstore.MVMap sourceMap
        end local 8 // org.h2.mvstore.MVMap$Builder mp
        end local 6 // java.lang.String mapName
        24: .line 530
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        25: .line 539
            aload 1 /* target */
            iload 3 /* retentionTime */
            invokevirtual org.h2.mvstore.MVStore.setRetentionTime:(I)V
        26: .line 540
            aload 1 /* target */
            iload 2 /* autoCommitDelay */
            invokevirtual org.h2.mvstore.MVStore.setAutoCommitDelay:(I)V
        27: .line 541
            return
        end local 5 // org.h2.mvstore.MVMap targetMeta
        end local 4 // org.h2.mvstore.MVMap sourceMeta
        end local 3 // int retentionTime
        end local 2 // int autoCommitDelay
        end local 1 // org.h2.mvstore.MVStore target
        end local 0 // org.h2.mvstore.MVStore source
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   28     0           source  Lorg/h2/mvstore/MVStore;
            0   28     1           target  Lorg/h2/mvstore/MVStore;
            1   28     2  autoCommitDelay  I
            2   28     3    retentionTime  I
            5   28     4       sourceMeta  Lorg/h2/mvstore/MVMap<Ljava/lang/String;Ljava/lang/String;>;
            6   28     5       targetMeta  Lorg/h2/mvstore/MVMap<Ljava/lang/String;Ljava/lang/String;>;
            8   14     6                m  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
            9   14     8              key  Ljava/lang/String;
           17   24     6          mapName  Ljava/lang/String;
           21   24     8               mp  Lorg/h2/mvstore/MVMap$Builder<Ljava/lang/Object;Ljava/lang/Object;>;
           22   24     9        sourceMap  Lorg/h2/mvstore/MVMap<Ljava/lang/Object;Ljava/lang/Object;>;
           23   24    10        targetMap  Lorg/h2/mvstore/MVMap<Ljava/lang/Object;Ljava/lang/Object;>;
    MethodParameters:
        Name  Flags
      source  
      target  

  public static void repair(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 549
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 1 /* pw */
        start local 1 // java.io.PrintWriter pw
         1: .line 550
            ldc 9223372036854775807
            lstore 2 /* version */
        start local 2 // long version
         2: .line 551
            new org.h2.mvstore.MVStoreTool$1
            dup
            invokespecial org.h2.mvstore.MVStoreTool$1.<init>:()V
            astore 4 /* ignore */
        start local 4 // java.io.OutputStream ignore
         3: .line 557
            goto 21
         4: .line 558
      StackMap locals: java.io.PrintWriter long java.io.OutputStream
      StackMap stack:
            aload 1 /* pw */
            lload 2 /* version */
            ldc 9223372036854775807
            lcmp
            ifne 5
            ldc "Trying latest version"
            goto 6
         5: .line 559
      StackMap locals:
      StackMap stack: java.io.PrintWriter
            new java.lang.StringBuilder
            dup
            ldc "Trying version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* version */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 558
      StackMap locals: java.lang.String java.io.PrintWriter long java.io.OutputStream
      StackMap stack: java.io.PrintWriter java.lang.String
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 560
            aload 1 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
         8: .line 561
            aload 0 /* fileName */
            lload 2 /* version */
            new java.io.PrintWriter
            dup
            aload 4 /* ignore */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            invokestatic org.h2.mvstore.MVStoreTool.rollback:(Ljava/lang/String;JLjava/io/Writer;)J
            lstore 2 /* version */
         9: .line 563
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.io.PrintWriter
            dup
            aload 4 /* ignore */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            invokestatic org.h2.mvstore.MVStoreTool.info:(Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
            astore 5 /* error */
        start local 5 // java.lang.String error
        10: .line 564
            aload 5 /* error */
            ifnonnull 15
        11: .line 565
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".back"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            iconst_1
            invokevirtual org.h2.store.fs.FilePath.moveTo:(Lorg/h2/store/fs/FilePath;Z)V
        12: .line 566
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            iconst_1
            invokevirtual org.h2.store.fs.FilePath.moveTo:(Lorg/h2/store/fs/FilePath;Z)V
        13: .line 567
            aload 1 /* pw */
            ldc "Success"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 568
            goto 22
        15: .line 570
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "    ... failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* error */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 5 // java.lang.String error
        16: .line 571
            goto 20
      StackMap locals: java.lang.String java.io.PrintWriter long java.io.OutputStream
      StackMap stack: java.lang.Exception
        17: astore 5 /* e */
        start local 5 // java.lang.Exception e
        18: .line 572
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Fail: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        19: .line 573
            aload 1 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
        end local 5 // java.lang.Exception e
        20: .line 575
      StackMap locals:
      StackMap stack:
            lload 2 /* version */
            lconst_1
            lsub
            lstore 2 /* version */
        21: .line 557
      StackMap locals:
      StackMap stack:
            lload 2 /* version */
            lconst_0
            lcmp
            ifge 4
        22: .line 577
      StackMap locals:
      StackMap stack:
            aload 1 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
        23: .line 578
            return
        end local 4 // java.io.OutputStream ignore
        end local 2 // long version
        end local 1 // java.io.PrintWriter pw
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0  fileName  Ljava/lang/String;
            1   24     1        pw  Ljava/io/PrintWriter;
            2   24     2   version  J
            3   24     4    ignore  Ljava/io/OutputStream;
           10   16     5     error  Ljava/lang/String;
           18   20     5         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    14      17  Class java.lang.Exception
          15    16      17  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      fileName  

  public static long rollback(java.lang.String, long, java.io.Writer);
    descriptor: (Ljava/lang/String;JLjava/io/Writer;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=21, args_size=3
        start local 0 // java.lang.String fileName
        start local 1 // long targetVersion
        start local 3 // java.io.Writer writer
         0: .line 590
            ldc -1
            lstore 4 /* newestVersion */
        start local 4 // long newestVersion
         1: .line 591
            new java.io.PrintWriter
            dup
            aload 3 /* writer */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
            astore 6 /* pw */
        start local 6 // java.io.PrintWriter pw
         2: .line 592
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            invokevirtual org.h2.store.fs.FilePath.exists:()Z
            ifne 5
         3: .line 593
            aload 6 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "File not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 594
            lload 4 /* newestVersion */
            lreturn
         5: .line 596
      StackMap locals: long java.io.PrintWriter
      StackMap stack:
            aconst_null
            astore 7 /* file */
        start local 7 // java.nio.channels.FileChannel file
         6: .line 597
            aconst_null
            astore 8 /* target */
        start local 8 // java.nio.channels.FileChannel target
         7: .line 598
            sipush 4096
            istore 9 /* blockSize */
        start local 9 // int blockSize
         8: .line 600
            aload 0 /* fileName */
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            ldc "r"
            invokevirtual org.h2.store.fs.FilePath.open:(Ljava/lang/String;)Ljava/nio/channels/FileChannel;
            astore 7 /* file */
         9: .line 601
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            invokevirtual org.h2.store.fs.FilePath.delete:()V
        10: .line 602
            new java.lang.StringBuilder
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
            ldc "rw"
            invokevirtual org.h2.store.fs.FilePath.open:(Ljava/lang/String;)Ljava/nio/channels/FileChannel;
            astore 8 /* target */
        11: .line 603
            aload 7 /* file */
            invokevirtual java.nio.channels.FileChannel.size:()J
            lstore 10 /* fileSize */
        start local 10 // long fileSize
        12: .line 604
            sipush 4096
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 12 /* block */
        start local 12 // java.nio.ByteBuffer block
        13: .line 605
            aconst_null
            astore 13 /* newestChunk */
        start local 13 // org.h2.mvstore.Chunk newestChunk
        14: .line 606
            lconst_0
            lstore 14 /* pos */
        start local 14 // long pos
        15: goto 49
        16: .line 607
      StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int long java.nio.ByteBuffer org.h2.mvstore.Chunk long
      StackMap stack:
            aload 12 /* block */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        17: .line 608
            aload 7 /* file */
            lload 14 /* pos */
            aload 12 /* block */
            invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
        18: .line 609
            aload 12 /* block */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        19: .line 610
            aload 12 /* block */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 16 /* headerType */
        start local 16 // int headerType
        20: .line 611
            iload 16 /* headerType */
            bipush 72
            if_icmpne 25
        21: .line 612
            aload 12 /* block */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        22: .line 613
            aload 8 /* target */
            aload 12 /* block */
            lload 14 /* pos */
            invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;J)I
            pop
        23: .line 614
            lload 14 /* pos */
            iload 9 /* blockSize */
            i2l
            ladd
            lstore 14 /* pos */
        24: .line 615
            goto 49
        25: .line 617
      StackMap locals: int
      StackMap stack:
            iload 16 /* headerType */
            bipush 99
            if_icmpeq 28
        26: .line 618
            lload 14 /* pos */
            iload 9 /* blockSize */
            i2l
            ladd
            lstore 14 /* pos */
        27: .line 619
            goto 49
        28: .line 621
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17 /* c */
        start local 17 // org.h2.mvstore.Chunk c
        29: .line 623
            aload 12 /* block */
            lload 14 /* pos */
            invokestatic org.h2.mvstore.Chunk.readChunkHeader:(Ljava/nio/ByteBuffer;J)Lorg/h2/mvstore/Chunk;
            astore 17 /* c */
        30: .line 624
            goto 34
      StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int long java.nio.ByteBuffer org.h2.mvstore.Chunk long int org.h2.mvstore.Chunk
      StackMap stack: java.lang.IllegalStateException
        31: pop
        32: .line 625
            lload 14 /* pos */
            iload 9 /* blockSize */
            i2l
            ladd
            lstore 14 /* pos */
        33: .line 626
            goto 49
        34: .line 628
      StackMap locals:
      StackMap stack:
            aload 17 /* c */
            getfield org.h2.mvstore.Chunk.len:I
            ifgt 37
        35: .line 630
            lload 14 /* pos */
            iload 9 /* blockSize */
            i2l
            ladd
            lstore 14 /* pos */
        36: .line 631
            goto 49
        37: .line 633
      StackMap locals:
      StackMap stack:
            aload 17 /* c */
            getfield org.h2.mvstore.Chunk.len:I
            sipush 4096
            imul
            istore 18 /* length */
        start local 18 // int length
        38: .line 634
            iload 18 /* length */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 19 /* chunk */
        start local 19 // java.nio.ByteBuffer chunk
        39: .line 635
            aload 7 /* file */
            lload 14 /* pos */
            aload 19 /* chunk */
            invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
        40: .line 636
            aload 17 /* c */
            getfield org.h2.mvstore.Chunk.version:J
            lload 1 /* targetVersion */
            lcmp
            ifle 43
        41: .line 638
            lload 14 /* pos */
            iload 18 /* length */
            i2l
            ladd
            lstore 14 /* pos */
        42: .line 639
            goto 49
        43: .line 641
      StackMap locals: int java.nio.ByteBuffer
      StackMap stack:
            aload 19 /* chunk */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        44: .line 642
            aload 8 /* target */
            aload 19 /* chunk */
            lload 14 /* pos */
            invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;J)I
            pop
        45: .line 643
            aload 13 /* newestChunk */
            ifnull 46
            aload 17 /* c */
            getfield org.h2.mvstore.Chunk.version:J
            aload 13 /* newestChunk */
            getfield org.h2.mvstore.Chunk.version:J
            lcmp
            ifle 48
        46: .line 644
      StackMap locals:
      StackMap stack:
            aload 17 /* c */
            astore 13 /* newestChunk */
        47: .line 645
            aload 17 /* c */
            getfield org.h2.mvstore.Chunk.version:J
            lstore 4 /* newestVersion */
        48: .line 647
      StackMap locals:
      StackMap stack:
            lload 14 /* pos */
            iload 18 /* length */
            i2l
            ladd
            lstore 14 /* pos */
        end local 19 // java.nio.ByteBuffer chunk
        end local 18 // int length
        end local 17 // org.h2.mvstore.Chunk c
        end local 16 // int headerType
        49: .line 606
      StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int long java.nio.ByteBuffer org.h2.mvstore.Chunk long
      StackMap stack:
            lload 14 /* pos */
            lload 10 /* fileSize */
            lcmp
            iflt 16
        end local 14 // long pos
        50: .line 649
            aload 13 /* newestChunk */
            getfield org.h2.mvstore.Chunk.len:I
            sipush 4096
            imul
            istore 14 /* length */
        start local 14 // int length
        51: .line 650
            iload 14 /* length */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 15 /* chunk */
        start local 15 // java.nio.ByteBuffer chunk
        52: .line 651
            aload 7 /* file */
            aload 13 /* newestChunk */
            getfield org.h2.mvstore.Chunk.block:J
            ldc 4096
            lmul
            aload 15 /* chunk */
            invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
        53: .line 652
            aload 15 /* chunk */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        54: .line 653
            aload 8 /* target */
            aload 15 /* chunk */
            lload 10 /* fileSize */
            invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;J)I
            pop
        end local 15 // java.nio.ByteBuffer chunk
        end local 14 // int length
        end local 13 // org.h2.mvstore.Chunk newestChunk
        end local 12 // java.nio.ByteBuffer block
        end local 10 // long fileSize
        55: .line 654
            goto 77
      StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int
      StackMap stack: java.io.IOException
        56: astore 10 /* e */
        start local 10 // java.io.IOException e
        57: .line 655
            aload 6 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "ERROR: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        58: .line 656
            aload 10 /* e */
            aload 6 /* pw */
            invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintWriter;)V
        end local 10 // java.io.IOException e
        59: .line 658
            aload 7 /* file */
            ifnull 63
        60: .line 660
            aload 7 /* file */
            invokevirtual java.nio.channels.FileChannel.close:()V
        61: .line 661
            goto 63
      StackMap locals:
      StackMap stack: java.io.IOException
        62: pop
        63: .line 665
      StackMap locals:
      StackMap stack:
            aload 8 /* target */
            ifnull 85
        64: .line 667
            aload 8 /* target */
            invokevirtual java.nio.channels.FileChannel.close:()V
        65: .line 668
            goto 85
      StackMap locals:
      StackMap stack: java.io.IOException
        66: pop
            goto 85
        67: .line 657
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 20
        68: .line 658
            aload 7 /* file */
            ifnull 72
        69: .line 660
            aload 7 /* file */
            invokevirtual java.nio.channels.FileChannel.close:()V
        70: .line 661
            goto 72
      StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int top top top top top top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        71: pop
        72: .line 665
      StackMap locals:
      StackMap stack:
            aload 8 /* target */
            ifnull 76
        73: .line 667
            aload 8 /* target */
            invokevirtual java.nio.channels.FileChannel.close:()V
        74: .line 668
            goto 76
      StackMap locals:
      StackMap stack: java.io.IOException
        75: pop
        76: .line 672
      StackMap locals:
      StackMap stack:
            aload 20
            athrow
        77: .line 658
      StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int
      StackMap stack:
            aload 7 /* file */
            ifnull 81
        78: .line 660
            aload 7 /* file */
            invokevirtual java.nio.channels.FileChannel.close:()V
        79: .line 661
            goto 81
      StackMap locals:
      StackMap stack: java.io.IOException
        80: pop
        81: .line 665
      StackMap locals:
      StackMap stack:
            aload 8 /* target */
            ifnull 85
        82: .line 667
            aload 8 /* target */
            invokevirtual java.nio.channels.FileChannel.close:()V
        83: .line 668
            goto 85
      StackMap locals:
      StackMap stack: java.io.IOException
        84: pop
        85: .line 673
      StackMap locals:
      StackMap stack:
            aload 6 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
        86: .line 674
            lload 4 /* newestVersion */
            lreturn
        end local 9 // int blockSize
        end local 8 // java.nio.channels.FileChannel target
        end local 7 // java.nio.channels.FileChannel file
        end local 6 // java.io.PrintWriter pw
        end local 4 // long newestVersion
        end local 3 // java.io.Writer writer
        end local 1 // long targetVersion
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   87     0       fileName  Ljava/lang/String;
            0   87     1  targetVersion  J
            0   87     3         writer  Ljava/io/Writer;
            1   87     4  newestVersion  J
            2   87     6             pw  Ljava/io/PrintWriter;
            6   87     7           file  Ljava/nio/channels/FileChannel;
            7   87     8         target  Ljava/nio/channels/FileChannel;
            8   87     9      blockSize  I
           12   55    10       fileSize  J
           13   55    12          block  Ljava/nio/ByteBuffer;
           14   55    13    newestChunk  Lorg/h2/mvstore/Chunk;
           15   50    14            pos  J
           20   49    16     headerType  I
           29   49    17              c  Lorg/h2/mvstore/Chunk;
           38   49    18         length  I
           39   49    19          chunk  Ljava/nio/ByteBuffer;
           51   55    14         length  I
           52   55    15          chunk  Ljava/nio/ByteBuffer;
           57   59    10              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          29    30      31  Class java.lang.IllegalStateException
           8    55      56  Class java.io.IOException
          60    61      62  Class java.io.IOException
          64    65      66  Class java.io.IOException
           8    59      67  any
          69    70      71  Class java.io.IOException
          73    74      75  Class java.io.IOException
          78    79      80  Class java.io.IOException
          82    83      84  Class java.io.IOException
    MethodParameters:
               Name  Flags
      fileName       
      targetVersion  
      writer         
}
SourceFile: "MVStoreTool.java"
NestMembers:
  org.h2.mvstore.MVStoreTool$1  org.h2.mvstore.MVStoreTool$GenericDataType
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Builder = org.h2.mvstore.MVMap$Builder of org.h2.mvstore.MVMap
  public abstract MapBuilder = org.h2.mvstore.MVMap$MapBuilder of org.h2.mvstore.MVMap
  public final Builder = org.h2.mvstore.MVStore$Builder of org.h2.mvstore.MVStore
  org.h2.mvstore.MVStoreTool$1
  GenericDataType = org.h2.mvstore.MVStoreTool$GenericDataType of org.h2.mvstore.MVStoreTool