public abstract class org.bouncycastle.math.ec.ECFieldElement implements org.bouncycastle.math.ec.ECConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.bouncycastle.math.ec.ECFieldElement
  super_class: java.lang.Object
{
  public abstract java.math.BigInteger toBigInteger();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getFieldName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int getFieldSize();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.bouncycastle.math.ec.ECFieldElement add(org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      b     

  public abstract org.bouncycastle.math.ec.ECFieldElement addOne();
    descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.bouncycastle.math.ec.ECFieldElement subtract(org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      b     

  public abstract org.bouncycastle.math.ec.ECFieldElement multiply(org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      b     

  public abstract org.bouncycastle.math.ec.ECFieldElement divide(org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      b     

  public abstract org.bouncycastle.math.ec.ECFieldElement negate();
    descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.bouncycastle.math.ec.ECFieldElement square();
    descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.bouncycastle.math.ec.ECFieldElement invert();
    descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.bouncycastle.math.ec.ECFieldElement sqrt();
    descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 30
            return
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;

  public int bitLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
         0: .line 34
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.bitLength:()I
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;

  public boolean isOne();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
         0: .line 39
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.bitLength:()I
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;

  public boolean isZero();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
         0: .line 44
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.signum:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;

  public org.bouncycastle.math.ec.ECFieldElement multiplyMinusProduct(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
        start local 1 // org.bouncycastle.math.ec.ECFieldElement b
        start local 2 // org.bouncycastle.math.ec.ECFieldElement x
        start local 3 // org.bouncycastle.math.ec.ECFieldElement y
         0: .line 49
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 2 /* x */
            aload 3 /* y */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            areturn
        end local 3 // org.bouncycastle.math.ec.ECFieldElement y
        end local 2 // org.bouncycastle.math.ec.ECFieldElement x
        end local 1 // org.bouncycastle.math.ec.ECFieldElement b
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     1     b  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     2     x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     3     y  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
      Name  Flags
      b     
      x     
      y     

  public org.bouncycastle.math.ec.ECFieldElement multiplyPlusProduct(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
        start local 1 // org.bouncycastle.math.ec.ECFieldElement b
        start local 2 // org.bouncycastle.math.ec.ECFieldElement x
        start local 3 // org.bouncycastle.math.ec.ECFieldElement y
         0: .line 54
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 2 /* x */
            aload 3 /* y */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            areturn
        end local 3 // org.bouncycastle.math.ec.ECFieldElement y
        end local 2 // org.bouncycastle.math.ec.ECFieldElement x
        end local 1 // org.bouncycastle.math.ec.ECFieldElement b
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     1     b  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     2     x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     3     y  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
      Name  Flags
      b     
      x     
      y     

  public org.bouncycastle.math.ec.ECFieldElement squareMinusProduct(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
        start local 1 // org.bouncycastle.math.ec.ECFieldElement x
        start local 2 // org.bouncycastle.math.ec.ECFieldElement y
         0: .line 59
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 1 /* x */
            aload 2 /* y */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            areturn
        end local 2 // org.bouncycastle.math.ec.ECFieldElement y
        end local 1 // org.bouncycastle.math.ec.ECFieldElement x
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     1     x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     2     y  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
      Name  Flags
      x     
      y     

  public org.bouncycastle.math.ec.ECFieldElement squarePlusProduct(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
        start local 1 // org.bouncycastle.math.ec.ECFieldElement x
        start local 2 // org.bouncycastle.math.ec.ECFieldElement y
         0: .line 64
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 1 /* x */
            aload 2 /* y */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            areturn
        end local 2 // org.bouncycastle.math.ec.ECFieldElement y
        end local 1 // org.bouncycastle.math.ec.ECFieldElement x
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     1     x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     2     y  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
      Name  Flags
      x     
      y     

  public org.bouncycastle.math.ec.ECFieldElement squarePow(int);
    descriptor: (I)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
        start local 1 // int pow
         0: .line 69
            aload 0 /* this */
            astore 2 /* r */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement r
         1: .line 70
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 72
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack:
            aload 2 /* r */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* r */
         4: .line 70
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 1 /* pow */
            if_icmplt 3
        end local 3 // int i
         6: .line 74
            aload 2 /* r */
            areturn
        end local 2 // org.bouncycastle.math.ec.ECFieldElement r
        end local 1 // int pow
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    7     1   pow  I
            1    7     2     r  Lorg/bouncycastle/math/ec/ECFieldElement;
            2    6     3     i  I
    MethodParameters:
      Name  Flags
      pow   

  public boolean testBitZero();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
         0: .line 79
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
            iconst_0
            invokevirtual java.math.BigInteger.testBit:(I)Z
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
         0: .line 84
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
            bipush 16
            invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;

  public byte[] getEncoded();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECFieldElement this
         0: .line 89
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.getFieldSize:()I
            bipush 7
            iadd
            bipush 8
            idiv
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
            invokestatic org.bouncycastle.util.BigIntegers.asUnsignedByteArray:(ILjava/math/BigInteger;)[B
            areturn
        end local 0 // org.bouncycastle.math.ec.ECFieldElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECFieldElement;
}
SourceFile: "ECFieldElement.java"
NestMembers:
  org.bouncycastle.math.ec.ECFieldElement$AbstractF2m  org.bouncycastle.math.ec.ECFieldElement$AbstractFp  org.bouncycastle.math.ec.ECFieldElement$F2m  org.bouncycastle.math.ec.ECFieldElement$Fp
InnerClasses:
  public abstract AbstractF2m = org.bouncycastle.math.ec.ECFieldElement$AbstractF2m of org.bouncycastle.math.ec.ECFieldElement
  public abstract AbstractFp = org.bouncycastle.math.ec.ECFieldElement$AbstractFp of org.bouncycastle.math.ec.ECFieldElement
  public F2m = org.bouncycastle.math.ec.ECFieldElement$F2m of org.bouncycastle.math.ec.ECFieldElement
  public Fp = org.bouncycastle.math.ec.ECFieldElement$Fp of org.bouncycastle.math.ec.ECFieldElement