final class sun.security.ssl.AlpnExtension
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.AlpnExtension
  super_class: java.lang.Object
{
  static final sun.security.ssl.HandshakeProducer chNetworkProducer;
    descriptor: Lsun/security/ssl/HandshakeProducer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLExtension$ExtensionConsumer chOnLoadConsumer;
    descriptor: Lsun/security/ssl/SSLExtension$ExtensionConsumer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.HandshakeAbsence chOnLoadAbsence;
    descriptor: Lsun/security/ssl/HandshakeAbsence;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.HandshakeProducer shNetworkProducer;
    descriptor: Lsun/security/ssl/HandshakeProducer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLExtension$ExtensionConsumer shOnLoadConsumer;
    descriptor: Lsun/security/ssl/SSLExtension$ExtensionConsumer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.HandshakeAbsence shOnLoadAbsence;
    descriptor: Lsun/security/ssl/HandshakeAbsence;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.HandshakeProducer eeNetworkProducer;
    descriptor: Lsun/security/ssl/HandshakeProducer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLExtension$ExtensionConsumer eeOnLoadConsumer;
    descriptor: Lsun/security/ssl/SSLExtension$ExtensionConsumer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.HandshakeAbsence eeOnLoadAbsence;
    descriptor: Lsun/security/ssl/HandshakeAbsence;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.SSLStringizer alpnStringizer;
    descriptor: Lsun/security/ssl/SSLStringizer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 46
            new sun.security.ssl.AlpnExtension$CHAlpnProducer
            dup
            invokespecial sun.security.ssl.AlpnExtension$CHAlpnProducer.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.chNetworkProducer:Lsun/security/ssl/HandshakeProducer;
         1: .line 47
            new sun.security.ssl.AlpnExtension$CHAlpnConsumer
            dup
            invokespecial sun.security.ssl.AlpnExtension$CHAlpnConsumer.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.chOnLoadConsumer:Lsun/security/ssl/SSLExtension$ExtensionConsumer;
         2: .line 48
            new sun.security.ssl.AlpnExtension$CHAlpnAbsence
            dup
            invokespecial sun.security.ssl.AlpnExtension$CHAlpnAbsence.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.chOnLoadAbsence:Lsun/security/ssl/HandshakeAbsence;
         3: .line 50
            new sun.security.ssl.AlpnExtension$SHAlpnProducer
            dup
            invokespecial sun.security.ssl.AlpnExtension$SHAlpnProducer.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.shNetworkProducer:Lsun/security/ssl/HandshakeProducer;
         4: .line 51
            new sun.security.ssl.AlpnExtension$SHAlpnConsumer
            dup
            invokespecial sun.security.ssl.AlpnExtension$SHAlpnConsumer.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.shOnLoadConsumer:Lsun/security/ssl/SSLExtension$ExtensionConsumer;
         5: .line 52
            new sun.security.ssl.AlpnExtension$SHAlpnAbsence
            dup
            invokespecial sun.security.ssl.AlpnExtension$SHAlpnAbsence.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.shOnLoadAbsence:Lsun/security/ssl/HandshakeAbsence;
         6: .line 56
            new sun.security.ssl.AlpnExtension$SHAlpnProducer
            dup
            invokespecial sun.security.ssl.AlpnExtension$SHAlpnProducer.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.eeNetworkProducer:Lsun/security/ssl/HandshakeProducer;
         7: .line 57
            new sun.security.ssl.AlpnExtension$SHAlpnConsumer
            dup
            invokespecial sun.security.ssl.AlpnExtension$SHAlpnConsumer.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.eeOnLoadConsumer:Lsun/security/ssl/SSLExtension$ExtensionConsumer;
         8: .line 58
            new sun.security.ssl.AlpnExtension$SHAlpnAbsence
            dup
            invokespecial sun.security.ssl.AlpnExtension$SHAlpnAbsence.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.eeOnLoadAbsence:Lsun/security/ssl/HandshakeAbsence;
         9: .line 60
            new sun.security.ssl.AlpnExtension$AlpnStringizer
            dup
            invokespecial sun.security.ssl.AlpnExtension$AlpnStringizer.<init>:()V
            putstatic sun.security.ssl.AlpnExtension.alpnStringizer:Lsun/security/ssl/SSLStringizer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.AlpnExtension this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.security.ssl.AlpnExtension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/AlpnExtension;
}
SourceFile: "AlpnExtension.java"
NestMembers:
  sun.security.ssl.AlpnExtension$AlpnSpec  sun.security.ssl.AlpnExtension$AlpnStringizer  sun.security.ssl.AlpnExtension$CHAlpnAbsence  sun.security.ssl.AlpnExtension$CHAlpnConsumer  sun.security.ssl.AlpnExtension$CHAlpnProducer  sun.security.ssl.AlpnExtension$SHAlpnAbsence  sun.security.ssl.AlpnExtension$SHAlpnConsumer  sun.security.ssl.AlpnExtension$SHAlpnProducer
InnerClasses:
  final AlpnSpec = sun.security.ssl.AlpnExtension$AlpnSpec of sun.security.ssl.AlpnExtension
  private final AlpnStringizer = sun.security.ssl.AlpnExtension$AlpnStringizer of sun.security.ssl.AlpnExtension
  private final CHAlpnAbsence = sun.security.ssl.AlpnExtension$CHAlpnAbsence of sun.security.ssl.AlpnExtension
  private final CHAlpnConsumer = sun.security.ssl.AlpnExtension$CHAlpnConsumer of sun.security.ssl.AlpnExtension
  private final CHAlpnProducer = sun.security.ssl.AlpnExtension$CHAlpnProducer of sun.security.ssl.AlpnExtension
  private final SHAlpnAbsence = sun.security.ssl.AlpnExtension$SHAlpnAbsence of sun.security.ssl.AlpnExtension
  private final SHAlpnConsumer = sun.security.ssl.AlpnExtension$SHAlpnConsumer of sun.security.ssl.AlpnExtension
  private final SHAlpnProducer = sun.security.ssl.AlpnExtension$SHAlpnProducer of sun.security.ssl.AlpnExtension
  abstract ExtensionConsumer = sun.security.ssl.SSLExtension$ExtensionConsumer of sun.security.ssl.SSLExtension