3 5 67 8 9 : ; < 9 => =? @A B CD =E F G H IJ K CL M N CO P CQ R CST U V WX YZ [\ []^ $_ `a '5b 'c $d 'ef 'g h @i j k l mn mo p> qr s t u v w x my mz {|} A~ A A A       m      C           m   m  : ;  m             = =@0 I       h m m  m m      BYTES_ZEROZERO[B BYTES_ONEONE BYTES_TENZERO BYTES_ONETENed25519/Lnet/i2p/crypto/eddsa/spec/EdDSANamedCurveSpec;curve!Lnet/i2p/crypto/eddsa/math/Curve;ZERO(Lnet/i2p/crypto/eddsa/math/FieldElement;ONETWOTENP2_ZERO(Lnet/i2p/crypto/eddsa/math/GroupElement;PKR)[Lnet/i2p/crypto/eddsa/math/FieldElement; BYTES_PKR exception#Lorg/junit/rules/ExpectedException;RuntimeVisibleAnnotationsLorg/junit/Rule; BYTES_ZERO BYTES_ONEBYTES_42BYTES_1234567890 RADIX16_ZERO RADIX16_ONE RADIX16_42()VCodeLineNumberTableLocalVariableTablethis,Lnet/i2p/crypto/eddsa/math/GroupElementTest;testP2tLorg/junit/Test;testP3testP3WithExplicitFlagtestP1p1 testPrecomp testCachedStestGroupElementCurveRepresentationFieldElementFieldElementFieldElementFieldElementctestGroupElementCurveRepresentationFieldElementFieldElementFieldElementFieldElementWithExplicitFlagtestToAndFromByteArraytestCase TestTuple InnerClasses3Lnet/i2p/crypto/eddsa/Ed25519TestVectors$TestTuple; StackMapTabletestGroupElementByteArrays.constructorUsingByteArrayReturnsExpectedResultgbytesh1h2iItestToByteArrayzerozerooneonetenzeroonetenpkr toByteArrayReturnsExpectedResultgBytesTtestToP2p3zeroB0toP2ThrowsIfGroupElementHasPrecompRepresentationexpected$Ljava/lang/IllegalArgumentException;/toP2ThrowsIfGroupElementHasCachedRepresentation:toP2ReturnsExpectedResultIfGroupElementHasP2Representationh:toP2ReturnsExpectedResultIfGroupElementHasP3RepresentationtoCachedReturnsExpectedResultIfGroupElementHasP3RepresentationtestPrecompute-precomputedTableContainsExpectedGroupElementsjk0dblPrecomputedTableContainsExpectedGroupElementstestDbldblReturnsExpectedResult2addingNeutralGroupElementDoesNotChangeGroupElementneutraladdReturnsExpectedResultg1g2subReturnsExpectedResulttestEqualsObject)equalsOnlyReturnsTrueForEquivalentObjectsg3g4g5%hashCodesAreEqualForEquivalentObjects testToRadix16from1234567890totalpkrR16testCmovab testSelectnegtestScalarMultiplyByteArrayzeroonetwoA4scalarMultiplyBasePointWithZeroReturnsNeutralElement basePoint.scalarMultiplyBasePointWithOneReturnsBasePoint,scalarMultiplyBasePointReturnsExpectedResultf$testDoubleScalarMultiplyVariableTimegeZero5doubleScalarMultiplyVariableTimeReturnsExpectedResultf1f2 testIsOnCurve'isOnCurveReturnsTrueForPointsOnTheCurve+isOnCurveReturnsFalseForPointsNotOnTheCurve SourceFileGroupElementTest.java             &net/i2p/crypto/eddsa/math/FieldElement         &net/i2p/crypto/eddsa/math/GroupElement         1net/i2p/crypto/eddsa/Ed25519TestVectors$TestTuple  java/lang/StringBuilder Test case    failed       !"# $% &' () * +'java/math/BigInteger2 , -. / 012 034 $56 78 9 : ; <= >? @' A' B C D EFG HI JK LI M N O P'Q RF SK TU V NW XW YZ[ \W ]W ^ _ `a bc d $e fg hgi jk lm,0 no, p'@0000000000000000000000000000000000000000000000000000000000000000q rs@0100000000000000000000000000000000000000000000000000000000000000@0200000000000000000000000000000000000000000000000000000000000000@d072f8dd9c07fa7bc8d22a4b325d26301ee9202f6db89aa7c3731529e37e437c@d4cf8595571830644bd14af416954d09ab7159751ad9e0f7a6cbd92379e71a66scalarMultiply(0) failed t!scalarMultiply(1) failedscalarMultiply(2) failedscalarMultiply(a) failed u' vw xy z {| }~ } @0100000000000000000000000000000000000000000000000000000000000080@0a00000000000000000000000000000000000000000000000000000000000080.net/i2p/crypto/eddsa/spec/EdDSANamedCurveTableEd25519  @0a00000000000000000000000000000000000000000000000000000000000000 @5849722e338aced7b50c7f0e9328f9a10c847b08e40af5c5b0577b0fd8984f15@3b6a27bcceb6a42d62a3a8d02a6f0d73653215771de243a63ac048a18b59da29@2A00000000000000000000000000000000000000000000000000000000000000@D2029649000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FA030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000*net/i2p/crypto/eddsa/math/GroupElementTestjava/lang/Objectjava/util/Iterator!org/junit/rules/ExpectedExceptionnone%()Lorg/junit/rules/ExpectedException;p2(Lnet/i2p/crypto/eddsa/math/Curve;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;)Lnet/i2p/crypto/eddsa/math/GroupElement;org/hamcrest/MatchersequalTo*(Ljava/lang/Object;)Lorg/hamcrest/Matcher;is.(Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;org/junit/Assert assertThat+(Ljava/lang/Object;Lorg/hamcrest/Matcher;)VreprRepresentation7Lnet/i2p/crypto/eddsa/math/GroupElement$Representation;5net/i2p/crypto/eddsa/math/GroupElement$RepresentationP2XYZTp3(Lnet/i2p/crypto/eddsa/math/Curve;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;)Lnet/i2p/crypto/eddsa/math/GroupElement;P3(Lnet/i2p/crypto/eddsa/math/Curve;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Z)Lnet/i2p/crypto/eddsa/math/GroupElement;p1p1P1P1precompPRECOMPcachedCACHED(Lnet/i2p/crypto/eddsa/math/Curve;Lnet/i2p/crypto/eddsa/math/GroupElement$Representation;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;)V(Lnet/i2p/crypto/eddsa/math/Curve;Lnet/i2p/crypto/eddsa/math/GroupElement$Representation;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Z)V'net/i2p/crypto/eddsa/Ed25519TestVectors testCasesLjava/util/Collection;java/util/Collectioniterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;pk&(Lnet/i2p/crypto/eddsa/math/Curve;[B)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;caseNum(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String; toByteArray()[B=(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)VmultiplyR(Lnet/i2p/crypto/eddsa/math/FieldElement;)Lnet/i2p/crypto/eddsa/math/FieldElement;#net/i2p/crypto/eddsa/math/MathUtilsgetRandomGroupElement*()Lnet/i2p/crypto/eddsa/math/GroupElement;toGroupElement,([B)Lnet/i2p/crypto/eddsa/math/GroupElement;org/hamcrest/core/IsEqualjava/lang/IntegervalueOf(I)Ljava/lang/Integer;getY*()Lnet/i2p/crypto/eddsa/math/FieldElement; toBigInteger@(Lnet/i2p/crypto/eddsa/math/FieldElement;)Ljava/math/BigInteger;(Ljava/math/BigInteger;)[BgetX(Ljava/lang/String;)Vmod.(Ljava/math/BigInteger;)Ljava/math/BigInteger;Ljava/math/BigInteger;equals(Ljava/lang/Object;)Zjava/util/Arrays([B[B)Zjava/lang/Boolean(Z)Ljava/lang/Boolean;net/i2p/crypto/eddsa/math/CurvegetZeroa(Lnet/i2p/crypto/eddsa/math/GroupElement$Representation;)Lnet/i2p/crypto/eddsa/math/GroupElement;toP2-net/i2p/crypto/eddsa/spec/EdDSANamedCurveSpecgetBtoRepresentation(Lnet/i2p/crypto/eddsa/math/GroupElement;Lnet/i2p/crypto/eddsa/math/GroupElement$Representation;)Lnet/i2p/crypto/eddsa/math/GroupElement;getRepresentation9()Lnet/i2p/crypto/eddsa/math/GroupElement$Representation;getZgetTtoP3toP3PrecomputeDoubleP3PrecomputedDoubleprecmp*[[Lnet/i2p/crypto/eddsa/math/GroupElement;org/hamcrest/core/IsNull nullValue()Lorg/hamcrest/Matcher; dblPrecmp)[Lnet/i2p/crypto/eddsa/math/GroupElement; notNullValuetoCachedaddsubtractget2D3net/i2p/crypto/eddsa/math/PrecomputationTestVectors testPrecmp testDblPrecmpaddGroupElementsz(Lnet/i2p/crypto/eddsa/math/GroupElement;Lnet/i2p/crypto/eddsa/math/GroupElement;)Lnet/i2p/crypto/eddsa/math/GroupElement;dblR(Lnet/i2p/crypto/eddsa/math/GroupElement;)Lnet/i2p/crypto/eddsa/math/GroupElement;doubleGroupElementgetField#()Lnet/i2p/crypto/eddsa/math/Field;net/i2p/crypto/eddsa/math/FieldsubnegateGroupElementorg/hamcrest/core/IsNotnothashCode()I toRadix16([B)[Bjava/lang/Byte(B)Ljava/lang/Byte;greaterThanOrEqualTo.(Ljava/lang/Comparable;)Lorg/hamcrest/Matcher;lessThanOrEqualTojava/lang/Mathpow(DD)DcmovS(Lnet/i2p/crypto/eddsa/math/GroupElement;I)Lnet/i2p/crypto/eddsa/math/GroupElement;select,(II)Lnet/i2p/crypto/eddsa/math/GroupElement;negatenet/i2p/crypto/eddsa/Utils hexToBytes(Ljava/lang/String;)[BscalarMultiplygetRandomFieldElementscalarMultiplyGroupElementz(Lnet/i2p/crypto/eddsa/math/GroupElement;Lnet/i2p/crypto/eddsa/math/FieldElement;)Lnet/i2p/crypto/eddsa/math/GroupElement; doubleScalarMultiplyVariableTimeV(Lnet/i2p/crypto/eddsa/math/GroupElement;[B[B)Lnet/i2p/crypto/eddsa/math/GroupElement;+(Z)Lnet/i2p/crypto/eddsa/math/GroupElement;!doubleScalarMultiplyGroupElements(Lnet/i2p/crypto/eddsa/math/GroupElement;Lnet/i2p/crypto/eddsa/math/FieldElement;Lnet/i2p/crypto/eddsa/math/GroupElement;Lnet/i2p/crypto/eddsa/math/FieldElement;)Lnet/i2p/crypto/eddsa/math/GroupElement; isOnCurve$(Lnet/i2p/crypto/eddsa/math/Curve;)Z getByNameC(Ljava/lang/String;)Lnet/i2p/crypto/eddsa/spec/EdDSANamedCurveSpec;getCurve#()Lnet/i2p/crypto/eddsa/math/Curve; fromByteArray,([B)Lnet/i2p/crypto/eddsa/math/FieldElement;!7B **56 5  cL+ +  + + + + "=> ?-@:AGBTCbDcSeL+ +  + + + + "KL#M0N=OJPWQdReRfL+ +  + + + + "YZ$[1\>]K^X_e`fReL+ +  + + + + "gh#i0j=kJlWmdneRcL+ +  + + + + "uv w-x:yGzT{b|cSeL+ +  + + + + "#0=JWdeRlYL+ +  + + + + "*7DQ^klR mYL+ +  + + + + "+8ER_lmR[ !M,"K,#$NY-%&L'Y()*-+,-*.+/-% 0+GTWZ ;+/[  P;Y1&L222222223M+, /: ;-/ 5<d/4M,/NY-&:-5:6 ѱ" $.4> "$ 25 1/L+787 +8 /M,797 ,9 :/N-7;7 -; :/:7<7 < 2222/:717 1 B(5H]j}>H}a%_<dY4M,/N,=>?:,@>AYBCDEF\3T-GHH6 &  9EX^4 LG;\_B&IL+JM,  ,+ ,+ ,+ , KLN-JM,  ,- ,- ,- , > * 8 F T [`m{* [KL4ML+JW   cL4ML+JW" %&  ch< b4 MM,JN-,6 -N 6 -@,@6 -=,=6 -O,O6 -P6 . *,/23,4:5H6V7a*g9*OJeh dl< f4M,JN, M:-6 -N 6 -@,@6 -=,=6 -O,O6 -P6 2 =? BCF#G0H>ILJZKe=kM4 YTKil h< 4MM,JN, M:-6 -N 6 -@,@,P36 -=,=,O36 -O,O,P36 -P6 2 QSVW Z)[6\K]`^u_Qa4ni ` L4 ML+QWf ij  cL4ML+QWo rs  cL4ML+QWx {|  c< 4MM,QN,M:-6 -N6 -@,@,P36 -=,=,O36 -O,O,P36 -P,@,=36 u2  )6K`u4xs j m< g4M,QN-,6 -N6 -,6 -@,@6 -=,=6 -O,O6 -P,P6 2  &.<JXfl* ZUjm iM< 4MM,RN,SM:-6 -N6 -@,@,P36 -=,=,O36 -O,O,P36 -P,@,=36 -TU -VW -VV6 R> )6K`u4  L4 ML+XW   cL4ML+XW   cL4ML+XW   cs< m4MM,XN-,6 -N6 -,6 -@,@6 -=,=6 -O,O6 -P,P6 2 ,4BP^lr*ZUps o< 4M,XN,M:-6 -N6 -,6 -@,=,@Y6 -=,=,@Z6 -O,O6 -P,P[36 x6  #08Mbp4 {vm h(KLL+T\ +V]   ' (! _KLL= R+N6*-MKLT226 -+^N6++^L2 6<BLRX^>.EG U_X  -:KLL++^M>'+MKLV26 +,^Lٱ"# &'-(3&9***:3 -) YKLL+_++X` 134 (<!4M,_N,a:-6 ޱ8 : =>A!8'C4  %( $ ebcbdbdbcL=34N-+X`:+-X`:-6 -6 ̱& G+H4J8MBNLQUR^HdT>8&BL-7e+:  -6 3<,4M4N,-X`:,-^:6 ӱ"X Z [^_"b,X2d> " 03 /6</4M4N,-Xe:,-f^:6 б"h j kno%r/h5t> "% 36 2Rg |}|~ m4L+ MM+MN+M:4:,+6 -+6 +6 +6h ,6h -6h 6h 6  "*2;GS_l>mi aYP"K4L+ MM+MN4:,i7+i76 -i7+i76 +i7i76h ,i7i76h -i7i76h *  -AYq4 ~vqϲjkl mkn okp qkL=>+C+3rrs +3rrt +3uwkc=7x7 1kN6-3-3rrs -3rrt ̱F-46>Rfx~>8F746;8E6;ILy:M+,z+ +,z,  *: ; 1!KLL= ܻ'Y(,{*.+| 0>+|:'Y(,}*,.+T2d2 0+t|:+T2d2+T2d2+T2d2~:'Y(,}*t,. 0c$R4=@HPsy|>P%B  8 :LMN:Y&:KL+I 0KL,KL 0KL-KL_ 0KL 0J */EHM`ch~>! "#*p$%s)KLL+bcMI,6   ( )"&'k!KLL+bdM+,6   !& (5< /KLMN,-:,-:6 ѱ"!#$'($+.!4->&)$ 25 1*+'LMN:Y&:KL:SI:++ ++ ,+ ,, ,,_ ,-_QX` --_Q_ + + _ &23 456*728=;H<N;Q>\?b>eApBvAyDEDGHGJKJMNMQRQTU T WX#W&YR'!! "#*$2=+,K< EKLMN::,-:,-:6 * ^`abcf/g:jD^JlR5&0+-&./: HK G/7ŲgHH HH HH :HH :HH 2222HH Nu vuw/x5w8yQzWyZ{s|y{|}~} 0$<d4M,HH6  #  !$  1C<d=4M,@,=,Ob3N-HH6 ñ +<B* 0+@C ?2N89;<KKbcbdbyb:gYbSYbS21jmoqlnpZ !"# %(&1(=)I*U+f-x/01334$W C@