final class sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator implements sun.security.ssl.SSLKeyAgreementGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator
  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 // sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator this
         0: .line 243
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 245
            return
        end local 0 // sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/ECDHKeyExchange$ECDHKAGenerator;

  public sun.security.ssl.SSLKeyDerivation createKeyDerivation(sun.security.ssl.HandshakeContext);
    descriptor: (Lsun/security/ssl/HandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator this
        start local 1 // sun.security.ssl.HandshakeContext context
         0: .line 250
            aload 1 /* context */
            instanceof sun.security.ssl.ServerHandshakeContext
            ifeq 4
         1: .line 251
            aload 0 /* this */
         2: .line 252
            aload 1 /* context */
            checkcast sun.security.ssl.ServerHandshakeContext
         3: .line 251
            invokevirtual sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator.createServerKeyDerivation:(Lsun/security/ssl/ServerHandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
            areturn
         4: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         5: .line 255
            aload 1 /* context */
            checkcast sun.security.ssl.ClientHandshakeContext
         6: .line 254
            invokevirtual sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator.createClientKeyDerivation:(Lsun/security/ssl/ClientHandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
            areturn
        end local 1 // sun.security.ssl.HandshakeContext context
        end local 0 // sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lsun/security/ssl/ECDHKeyExchange$ECDHKAGenerator;
            0    7     1  context  Lsun/security/ssl/HandshakeContext;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  private sun.security.ssl.SSLKeyDerivation createServerKeyDerivation(sun.security.ssl.ServerHandshakeContext);
    descriptor: (Lsun/security/ssl/ServerHandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator this
        start local 1 // sun.security.ssl.ServerHandshakeContext shc
         0: .line 261
            aconst_null
            astore 2 /* x509Possession */
        start local 2 // sun.security.ssl.X509Authentication$X509Possession x509Possession
         1: .line 262
            aconst_null
            astore 3 /* ecdheCredentials */
        start local 3 // sun.security.ssl.ECDHKeyExchange$ECDHECredentials ecdheCredentials
         2: .line 263
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakePossessions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 26
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ServerHandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ECDHKeyExchange$ECDHECredentials top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.SSLPossession
            astore 4 /* poss */
        start local 4 // sun.security.ssl.SSLPossession poss
         4: .line 264
            aload 4 /* poss */
            instanceof sun.security.ssl.X509Authentication$X509Possession
            ifne 6
         5: .line 265
            goto 26
         6: .line 268
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ServerHandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ECDHKeyExchange$ECDHECredentials sun.security.ssl.SSLPossession java.util.Iterator
      StackMap stack:
            aload 4 /* poss */
            checkcast sun.security.ssl.X509Authentication$X509Possession
            getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
            astore 6 /* privateKey */
        start local 6 // java.security.PrivateKey privateKey
         7: .line 269
            aload 6 /* privateKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            ldc "EC"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 270
            goto 26
         9: .line 273
      StackMap locals: java.security.PrivateKey
      StackMap stack:
            aload 6 /* privateKey */
            checkcast java.security.interfaces.ECPrivateKey
            invokeinterface java.security.interfaces.ECPrivateKey.getParams:()Ljava/security/spec/ECParameterSpec;
            astore 7 /* params */
        start local 7 // java.security.spec.ECParameterSpec params
        10: .line 274
            aload 7 /* params */
            invokestatic sun.security.ssl.SupportedGroupsExtension$NamedGroup.valueOf:(Ljava/security/spec/ECParameterSpec;)Lsun/security/ssl/SupportedGroupsExtension$NamedGroup;
            astore 8 /* ng */
        start local 8 // sun.security.ssl.SupportedGroupsExtension$NamedGroup ng
        11: .line 275
            aload 8 /* ng */
            ifnonnull 15
        12: .line 277
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
        13: .line 278
            ldc "Unsupported EC server cert for ECDH key exchange"
        14: .line 277
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        15: .line 281
      StackMap locals: java.security.spec.ECParameterSpec sun.security.ssl.SupportedGroupsExtension$NamedGroup
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeCredentials:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 22
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ServerHandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ECDHKeyExchange$ECDHECredentials sun.security.ssl.SSLPossession java.util.Iterator java.security.PrivateKey java.security.spec.ECParameterSpec sun.security.ssl.SupportedGroupsExtension$NamedGroup top java.util.Iterator
      StackMap stack:
        16: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.SSLCredentials
            astore 9 /* cred */
        start local 9 // sun.security.ssl.SSLCredentials cred
        17: .line 282
            aload 9 /* cred */
            instanceof sun.security.ssl.ECDHKeyExchange$ECDHECredentials
            ifne 19
        18: .line 283
            goto 22
        19: .line 285
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ServerHandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ECDHKeyExchange$ECDHECredentials sun.security.ssl.SSLPossession java.util.Iterator java.security.PrivateKey java.security.spec.ECParameterSpec sun.security.ssl.SupportedGroupsExtension$NamedGroup sun.security.ssl.SSLCredentials java.util.Iterator
      StackMap stack:
            aload 8 /* ng */
            aload 9 /* cred */
            checkcast sun.security.ssl.ECDHKeyExchange$ECDHECredentials
            getfield sun.security.ssl.ECDHKeyExchange$ECDHECredentials.namedGroup:Lsun/security/ssl/SupportedGroupsExtension$NamedGroup;
            invokevirtual sun.security.ssl.SupportedGroupsExtension$NamedGroup.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 286
            aload 9 /* cred */
            checkcast sun.security.ssl.ECDHKeyExchange$ECDHECredentials
            astore 3 /* ecdheCredentials */
        21: .line 287
            goto 23
        end local 9 // sun.security.ssl.SSLCredentials cred
        22: .line 281
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ServerHandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ECDHKeyExchange$ECDHECredentials sun.security.ssl.SSLPossession java.util.Iterator java.security.PrivateKey java.security.spec.ECParameterSpec sun.security.ssl.SupportedGroupsExtension$NamedGroup top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        23: .line 291
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ServerHandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ECDHKeyExchange$ECDHECredentials sun.security.ssl.SSLPossession java.util.Iterator java.security.PrivateKey java.security.spec.ECParameterSpec sun.security.ssl.SupportedGroupsExtension$NamedGroup
      StackMap stack:
            aload 3 /* ecdheCredentials */
            ifnull 26
        24: .line 292
            aload 4 /* poss */
            checkcast sun.security.ssl.X509Authentication$X509Possession
            astore 2 /* x509Possession */
        25: .line 293
            goto 27
        end local 8 // sun.security.ssl.SupportedGroupsExtension$NamedGroup ng
        end local 7 // java.security.spec.ECParameterSpec params
        end local 6 // java.security.PrivateKey privateKey
        end local 4 // sun.security.ssl.SSLPossession poss
        26: .line 263
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ServerHandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ECDHKeyExchange$ECDHECredentials top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        27: .line 297
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ServerHandshakeContext sun.security.ssl.X509Authentication$X509Possession sun.security.ssl.ECDHKeyExchange$ECDHECredentials
      StackMap stack:
            aload 2 /* x509Possession */
            ifnull 28
            aload 3 /* ecdheCredentials */
            ifnonnull 31
        28: .line 298
      StackMap locals:
      StackMap stack:
            aload 1 /* shc */
            getfield sun.security.ssl.ServerHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        29: .line 299
            ldc "No sufficient ECDHE key agreement parameters negotiated"
        30: .line 298
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        31: .line 302
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.ECDHKeyExchange$ECDHEKAKeyDerivation
            dup
            aload 1 /* shc */
        32: .line 303
            aload 2 /* x509Possession */
            getfield sun.security.ssl.X509Authentication$X509Possession.popPrivateKey:Ljava/security/PrivateKey;
            aload 3 /* ecdheCredentials */
            getfield sun.security.ssl.ECDHKeyExchange$ECDHECredentials.popPublicKey:Ljava/security/interfaces/ECPublicKey;
        33: .line 302
            invokespecial sun.security.ssl.ECDHKeyExchange$ECDHEKAKeyDerivation.<init>:(Lsun/security/ssl/HandshakeContext;Ljava/security/PrivateKey;Ljava/security/PublicKey;)V
            areturn
        end local 3 // sun.security.ssl.ECDHKeyExchange$ECDHECredentials ecdheCredentials
        end local 2 // sun.security.ssl.X509Authentication$X509Possession x509Possession
        end local 1 // sun.security.ssl.ServerHandshakeContext shc
        end local 0 // sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   34     0              this  Lsun/security/ssl/ECDHKeyExchange$ECDHKAGenerator;
            0   34     1               shc  Lsun/security/ssl/ServerHandshakeContext;
            1   34     2    x509Possession  Lsun/security/ssl/X509Authentication$X509Possession;
            2   34     3  ecdheCredentials  Lsun/security/ssl/ECDHKeyExchange$ECDHECredentials;
            4   26     4              poss  Lsun/security/ssl/SSLPossession;
            7   26     6        privateKey  Ljava/security/PrivateKey;
           10   26     7            params  Ljava/security/spec/ECParameterSpec;
           11   26     8                ng  Lsun/security/ssl/SupportedGroupsExtension$NamedGroup;
           17   22     9              cred  Lsun/security/ssl/SSLCredentials;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      shc   

  private sun.security.ssl.SSLKeyDerivation createClientKeyDerivation(sun.security.ssl.ClientHandshakeContext);
    descriptor: (Lsun/security/ssl/ClientHandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator this
        start local 1 // sun.security.ssl.ClientHandshakeContext chc
         0: .line 308
            aconst_null
            astore 2 /* ecdhePossession */
        start local 2 // sun.security.ssl.ECDHKeyExchange$ECDHEPossession ecdhePossession
         1: .line 309
            aconst_null
            astore 3 /* x509Credentials */
        start local 3 // sun.security.ssl.X509Authentication$X509Credentials x509Credentials
         2: .line 310
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakePossessions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 28
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ClientHandshakeContext sun.security.ssl.ECDHKeyExchange$ECDHEPossession sun.security.ssl.X509Authentication$X509Credentials top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.SSLPossession
            astore 4 /* poss */
        start local 4 // sun.security.ssl.SSLPossession poss
         4: .line 311
            aload 4 /* poss */
            instanceof sun.security.ssl.ECDHKeyExchange$ECDHEPossession
            ifne 6
         5: .line 312
            goto 28
         6: .line 315
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ClientHandshakeContext sun.security.ssl.ECDHKeyExchange$ECDHEPossession sun.security.ssl.X509Authentication$X509Credentials sun.security.ssl.SSLPossession java.util.Iterator
      StackMap stack:
            aload 4 /* poss */
            checkcast sun.security.ssl.ECDHKeyExchange$ECDHEPossession
            getfield sun.security.ssl.ECDHKeyExchange$ECDHEPossession.namedGroup:Lsun/security/ssl/SupportedGroupsExtension$NamedGroup;
            astore 6 /* ng */
        start local 6 // sun.security.ssl.SupportedGroupsExtension$NamedGroup ng
         7: .line 316
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.handshakeCredentials:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 24
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ClientHandshakeContext sun.security.ssl.ECDHKeyExchange$ECDHEPossession sun.security.ssl.X509Authentication$X509Credentials sun.security.ssl.SSLPossession java.util.Iterator sun.security.ssl.SupportedGroupsExtension$NamedGroup top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.SSLCredentials
            astore 7 /* cred */
        start local 7 // sun.security.ssl.SSLCredentials cred
         9: .line 317
            aload 7 /* cred */
            instanceof sun.security.ssl.X509Authentication$X509Credentials
            ifne 11
        10: .line 318
            goto 24
        11: .line 321
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ClientHandshakeContext sun.security.ssl.ECDHKeyExchange$ECDHEPossession sun.security.ssl.X509Authentication$X509Credentials sun.security.ssl.SSLPossession java.util.Iterator sun.security.ssl.SupportedGroupsExtension$NamedGroup sun.security.ssl.SSLCredentials java.util.Iterator
      StackMap stack:
            aload 7 /* cred */
            checkcast sun.security.ssl.X509Authentication$X509Credentials
            getfield sun.security.ssl.X509Authentication$X509Credentials.popPublicKey:Ljava/security/PublicKey;
            astore 9 /* publicKey */
        start local 9 // java.security.PublicKey publicKey
        12: .line 322
            aload 9 /* publicKey */
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            ldc "EC"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 323
            goto 24
        14: .line 326
      StackMap locals: java.security.PublicKey
      StackMap stack:
            aload 9 /* publicKey */
            checkcast java.security.interfaces.ECPublicKey
            invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
        15: .line 325
            astore 10 /* params */
        start local 10 // java.security.spec.ECParameterSpec params
        16: .line 327
            aload 10 /* params */
            invokestatic sun.security.ssl.SupportedGroupsExtension$NamedGroup.valueOf:(Ljava/security/spec/ECParameterSpec;)Lsun/security/ssl/SupportedGroupsExtension$NamedGroup;
            astore 11 /* namedGroup */
        start local 11 // sun.security.ssl.SupportedGroupsExtension$NamedGroup namedGroup
        17: .line 328
            aload 11 /* namedGroup */
            ifnonnull 21
        18: .line 330
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.ILLEGAL_PARAMETER:Lsun/security/ssl/Alert;
        19: .line 331
            ldc "Unsupported EC server cert for ECDH key exchange"
        20: .line 330
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        21: .line 334
      StackMap locals: java.security.spec.ECParameterSpec sun.security.ssl.SupportedGroupsExtension$NamedGroup
      StackMap stack:
            aload 6 /* ng */
            aload 11 /* namedGroup */
            invokevirtual sun.security.ssl.SupportedGroupsExtension$NamedGroup.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 335
            aload 7 /* cred */
            checkcast sun.security.ssl.X509Authentication$X509Credentials
            astore 3 /* x509Credentials */
        23: .line 336
            goto 25
        end local 11 // sun.security.ssl.SupportedGroupsExtension$NamedGroup namedGroup
        end local 10 // java.security.spec.ECParameterSpec params
        end local 9 // java.security.PublicKey publicKey
        end local 7 // sun.security.ssl.SSLCredentials cred
        24: .line 316
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ClientHandshakeContext sun.security.ssl.ECDHKeyExchange$ECDHEPossession sun.security.ssl.X509Authentication$X509Credentials sun.security.ssl.SSLPossession java.util.Iterator sun.security.ssl.SupportedGroupsExtension$NamedGroup top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        25: .line 340
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ClientHandshakeContext sun.security.ssl.ECDHKeyExchange$ECDHEPossession sun.security.ssl.X509Authentication$X509Credentials sun.security.ssl.SSLPossession java.util.Iterator sun.security.ssl.SupportedGroupsExtension$NamedGroup
      StackMap stack:
            aload 3 /* x509Credentials */
            ifnull 28
        26: .line 341
            aload 4 /* poss */
            checkcast sun.security.ssl.ECDHKeyExchange$ECDHEPossession
            astore 2 /* ecdhePossession */
        27: .line 342
            goto 29
        end local 6 // sun.security.ssl.SupportedGroupsExtension$NamedGroup ng
        end local 4 // sun.security.ssl.SSLPossession poss
        28: .line 310
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ClientHandshakeContext sun.security.ssl.ECDHKeyExchange$ECDHEPossession sun.security.ssl.X509Authentication$X509Credentials top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        29: .line 346
      StackMap locals: sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator sun.security.ssl.ClientHandshakeContext sun.security.ssl.ECDHKeyExchange$ECDHEPossession sun.security.ssl.X509Authentication$X509Credentials
      StackMap stack:
            aload 2 /* ecdhePossession */
            ifnull 30
            aload 3 /* x509Credentials */
            ifnonnull 33
        30: .line 347
      StackMap locals:
      StackMap stack:
            aload 1 /* chc */
            getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
        31: .line 348
            ldc "No sufficient ECDH key agreement parameters negotiated"
        32: .line 347
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
            athrow
        33: .line 351
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.ECDHKeyExchange$ECDHEKAKeyDerivation
            dup
            aload 1 /* chc */
        34: .line 352
            aload 2 /* ecdhePossession */
            getfield sun.security.ssl.ECDHKeyExchange$ECDHEPossession.privateKey:Ljava/security/PrivateKey;
            aload 3 /* x509Credentials */
            getfield sun.security.ssl.X509Authentication$X509Credentials.popPublicKey:Ljava/security/PublicKey;
        35: .line 351
            invokespecial sun.security.ssl.ECDHKeyExchange$ECDHEKAKeyDerivation.<init>:(Lsun/security/ssl/HandshakeContext;Ljava/security/PrivateKey;Ljava/security/PublicKey;)V
            areturn
        end local 3 // sun.security.ssl.X509Authentication$X509Credentials x509Credentials
        end local 2 // sun.security.ssl.ECDHKeyExchange$ECDHEPossession ecdhePossession
        end local 1 // sun.security.ssl.ClientHandshakeContext chc
        end local 0 // sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0             this  Lsun/security/ssl/ECDHKeyExchange$ECDHKAGenerator;
            0   36     1              chc  Lsun/security/ssl/ClientHandshakeContext;
            1   36     2  ecdhePossession  Lsun/security/ssl/ECDHKeyExchange$ECDHEPossession;
            2   36     3  x509Credentials  Lsun/security/ssl/X509Authentication$X509Credentials;
            4   28     4             poss  Lsun/security/ssl/SSLPossession;
            7   28     6               ng  Lsun/security/ssl/SupportedGroupsExtension$NamedGroup;
            9   24     7             cred  Lsun/security/ssl/SSLCredentials;
           12   24     9        publicKey  Ljava/security/PublicKey;
           16   24    10           params  Ljava/security/spec/ECParameterSpec;
           17   24    11       namedGroup  Lsun/security/ssl/SupportedGroupsExtension$NamedGroup;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      chc   
}
SourceFile: "ECDHKeyExchange.java"
NestHost: sun.security.ssl.ECDHKeyExchange
InnerClasses:
  final ECDHECredentials = sun.security.ssl.ECDHKeyExchange$ECDHECredentials of sun.security.ssl.ECDHKeyExchange
  private final ECDHEKAKeyDerivation = sun.security.ssl.ECDHKeyExchange$ECDHEKAKeyDerivation of sun.security.ssl.ECDHKeyExchange
  final ECDHEPossession = sun.security.ssl.ECDHKeyExchange$ECDHEPossession of sun.security.ssl.ECDHKeyExchange
  private final ECDHKAGenerator = sun.security.ssl.ECDHKeyExchange$ECDHKAGenerator of sun.security.ssl.ECDHKeyExchange
  final NamedGroup = sun.security.ssl.SupportedGroupsExtension$NamedGroup of sun.security.ssl.SupportedGroupsExtension
  final X509Credentials = sun.security.ssl.X509Authentication$X509Credentials of sun.security.ssl.X509Authentication
  final X509Possession = sun.security.ssl.X509Authentication$X509Possession of sun.security.ssl.X509Authentication