class com.mongodb.internal.connection.ScramShaAuthenticator$DefaultRandomStringGenerator implements com.mongodb.internal.connection.ScramShaAuthenticator$RandomStringGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mongodb.internal.connection.ScramShaAuthenticator$DefaultRandomStringGenerator
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.connection.ScramShaAuthenticator$DefaultRandomStringGenerator this
         0: .line 344
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.mongodb.internal.connection.ScramShaAuthenticator$DefaultRandomStringGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/connection/ScramShaAuthenticator$DefaultRandomStringGenerator;

  public java.lang.String generate(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // com.mongodb.internal.connection.ScramShaAuthenticator$DefaultRandomStringGenerator this
        start local 1 // int length
         0: .line 346
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            astore 2 /* random */
        start local 2 // java.util.Random random
         1: .line 347
            bipush 44
            istore 3 /* comma */
        start local 3 // int comma
         2: .line 348
            bipush 33
            istore 4 /* low */
        start local 4 // int low
         3: .line 349
            bipush 126
            istore 5 /* high */
        start local 5 // int high
         4: .line 350
            iload 5 /* high */
            iload 4 /* low */
            isub
            istore 6 /* range */
        start local 6 // int range
         5: .line 352
            iload 1 /* length */
            newarray 5
            astore 7 /* text */
        start local 7 // char[] text
         6: .line 353
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 14
         8: .line 354
      StackMap locals: com.mongodb.internal.connection.ScramShaAuthenticator$DefaultRandomStringGenerator int java.util.Random int int int int char[] int
      StackMap stack:
            aload 2 /* random */
            iload 6 /* range */
            invokevirtual java.util.Random.nextInt:(I)I
            iload 4 /* low */
            iadd
            istore 9 /* next */
        start local 9 // int next
         9: .line 355
            goto 11
        10: .line 356
      StackMap locals: int
      StackMap stack:
            aload 2 /* random */
            iload 6 /* range */
            invokevirtual java.util.Random.nextInt:(I)I
            iload 4 /* low */
            iadd
            istore 9 /* next */
        11: .line 355
      StackMap locals:
      StackMap stack:
            iload 9 /* next */
            iload 3 /* comma */
            if_icmpeq 10
        12: .line 358
            aload 7 /* text */
            iload 8 /* i */
            iload 9 /* next */
            i2c
            castore
        end local 9 // int next
        13: .line 353
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* i */
            iload 1 /* length */
            if_icmplt 8
        end local 8 // int i
        15: .line 360
            new java.lang.String
            dup
            aload 7 /* text */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 7 // char[] text
        end local 6 // int range
        end local 5 // int high
        end local 4 // int low
        end local 3 // int comma
        end local 2 // java.util.Random random
        end local 1 // int length
        end local 0 // com.mongodb.internal.connection.ScramShaAuthenticator$DefaultRandomStringGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lcom/mongodb/internal/connection/ScramShaAuthenticator$DefaultRandomStringGenerator;
            0   16     1  length  I
            1   16     2  random  Ljava/util/Random;
            2   16     3   comma  I
            3   16     4     low  I
            4   16     5    high  I
            5   16     6   range  I
            6   16     7    text  [C
            7   15     8       i  I
            9   13     9    next  I
    MethodParameters:
        Name  Flags
      length  final
}
SourceFile: "ScramShaAuthenticator.java"
NestHost: com.mongodb.internal.connection.ScramShaAuthenticator
InnerClasses:
  private DefaultRandomStringGenerator = com.mongodb.internal.connection.ScramShaAuthenticator$DefaultRandomStringGenerator of com.mongodb.internal.connection.ScramShaAuthenticator
  public abstract RandomStringGenerator = com.mongodb.internal.connection.ScramShaAuthenticator$RandomStringGenerator of com.mongodb.internal.connection.ScramShaAuthenticator