Êþº¾3^ yÀÁÂÃÄ ÅÆÇÈ ÀÉ Ê Ë Ì Í ÅÎÏ Ð;B:5ÅB:5ÇI–Òw5”¨Èž´êlLÖd§Nd!=å5ªÒ ,À ,Ó ÔÕ ÔÖ ,ר ,Ù 2Ú 2Û ÜÝÞ¿¹Nä&ÿK’y  gôI¢.ê ßà ,áâgá0~Üõž‘Ì\MGÚX ßã äå ,æ ,ç 2è éê éëìí îï Åðñ òóô õö ÷ø ÷ùú dû 2üýþ gÿ  2À 2 2 Ü 2 2 ,  "÷  2   SECRET_KEYLjava/lang/String; ConstantValueVALIDATION_CODEI()VCodeLineNumberTableLocalVariableTablethis-Lcom/warrenstrange/googleauth/GoogleAuthTest;setupMockCredentialRepositoryRuntimeVisibleAnnotationsLorg/junit/BeforeClass; hexStr2Bytes(Ljava/lang/String;)[BhexbArray[Bretrfc6238TestVectorsirfc6238TestKeykeytestTime[J testResultstimeStepSizeInSecondsJcb GoogleAuthenticatorConfigBuilder InnerClassesYLcom/warrenstrange/googleauth/GoogleAuthenticatorConfig$GoogleAuthenticatorConfigBuilder;ga2Lcom/warrenstrange/googleauth/GoogleAuthenticator; StackMapTableÃ”ÒØLorg/junit/Test;rfc6238TestVectorsSHA256rfc6238TestVectorsSHA512createCredentialsLjava/lang/Integer;gacbgoogleAuthenticator5Lcom/warrenstrange/googleauth/GoogleAuthenticatorKey;secret scratchCodesLjava/util/List; otpAuthURLLocalVariableTypeTable%Ljava/util/List;úcreateAndAuthenticate"createAndAuthenticateNullAlgorithmcreateCredentialsForUser authorise isCodeValidZ authoriseUser SourceFileGoogleAuthTest.java €5com/warrenstrange/googleauth/CredentialRepositoryMockAcom.warrenstrange.googleauth.CredentialRepositoryMock.secret.name+com/warrenstrange/googleauth/GoogleAuthTestKR52HV2U5Z4DWGLJ java/math/BigIntegerjava/lang/StringBuilder10     (3132333435363738393031323334353637383930 ‰ŠWcom/warrenstrange/googleauth/GoogleAuthenticatorConfig$GoogleAuthenticatorConfigBuilder  ! "# $% &'0com/warrenstrange/googleauth/GoogleAuthenticator () * +,- ./@31323334353637383930313233343536373839303132333435363738393031320 12 34€31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 526 78 9: ; ¨< = >? Test Org.test@prova.org@ AB CDPlease register (otpauth uri): E FGBase64-encoded secret key is  HI JK LMjava/lang/Integer NO PQ"java/lang/IllegalArgumentException?An invalid code has been generated: this is an application bug. GScratch code: R ST UV WX YtestName ¨ZSecret key is [ Check VALIDATION_CODE = \ ]Vjava/lang/Objectjava/lang/String3com/warrenstrange/googleauth/GoogleAuthenticatorKeyjava/util/Listjava/util/Iteratorjava/lang/System setProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;(Ljava/lang/String;I)V toByteArray()[B arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V6com/warrenstrange/googleauth/GoogleAuthenticatorConfig setCodeDigits\(I)Lcom/warrenstrange/googleauth/GoogleAuthenticatorConfig$GoogleAuthenticatorConfigBuilder;java/util/concurrent/TimeUnitSECONDSLjava/util/concurrent/TimeUnit;toMillis(J)JsetTimeStepSizeInMillis\(J)Lcom/warrenstrange/googleauth/GoogleAuthenticatorConfig$GoogleAuthenticatorConfigBuilder;build:()Lcom/warrenstrange/googleauth/GoogleAuthenticatorConfig;;(Lcom/warrenstrange/googleauth/GoogleAuthenticatorConfig;)V calculateCode([BJ)Iorg/junit/Assert assertEquals(JJ)V-com/warrenstrange/googleauth/HmacHashFunction HmacSHA256/Lcom/warrenstrange/googleauth/HmacHashFunction;setHmacHashFunctionŠ(Lcom/warrenstrange/googleauth/HmacHashFunction;)Lcom/warrenstrange/googleauth/GoogleAuthenticatorConfig$GoogleAuthenticatorConfigBuilder; HmacSHA512.com/warrenstrange/googleauth/KeyRepresentationBASE640Lcom/warrenstrange/googleauth/KeyRepresentation;setKeyRepresentation‹(Lcom/warrenstrange/googleauth/KeyRepresentation;)Lcom/warrenstrange/googleauth/GoogleAuthenticatorConfig$GoogleAuthenticatorConfigBuilder;setNumberOfScratchCodes7()Lcom/warrenstrange/googleauth/GoogleAuthenticatorKey;getKeygetScratchCodes()Ljava/util/List;;com/warrenstrange/googleauth/GoogleAuthenticatorQRGenerator getOtpAuthURLm(Ljava/lang/String;Ljava/lang/String;Lcom/warrenstrange/googleauth/GoogleAuthenticatorKey;)Ljava/lang/String;outLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Viterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;intValue()IvalidateScratchCode(I)Z-(Ljava/lang/Object;)Ljava/lang/StringBuilder;getTotpPassword(Ljava/lang/String;)I authorize(Ljava/lang/String;I)Z assertTrue(Z)V'(Ljava/lang/String;Ljava/lang/String;)VI(Ljava/lang/String;)Lcom/warrenstrange/googleauth/GoogleAuthenticatorKey; setWindowSize(Z)Ljava/lang/StringBuilder; authorizeUser!yz{|}~|u €/*·±‚<ƒ „… †€% ¸W±‚ GJ‡ˆ ‰Š|2»Y»Y·  ¶ *¶ ¶ · ¶L+¾d¼M+,,¾¸,°‚P S'T0Vƒ 2‹{ Œ' Ž€ƒ ´L¸M¼ YPYPYPYPYPYPN¼ YPY PY"PY$PY&PY(P:*7»,Y·-:¶.²/*¶0¶1W»2Y¶3·4:6  -¾¢ ,- /*m¶5… /¸6„ §ÿß±‚2 ]^ _2`\aacjd~eŒg–i­g³kƒ\ $~ ´„…±‘{ «’2‚“”\X•”aS–—jJ˜›Œ(œž#ÿ Ÿ ¡¢¢£¤ú#‡¥¦€ ½7L7¸M¼ YPYPYPYPYPYPN¼ Y8PY:PYPY@PYBP:*7»,Y·-:¶.²/*¶0¶1W²D¶EW»2Y¶3·4:6  -¾¢ ,- /*m¶5… /¸6„ §ÿß±‚6 qs t2u\vaxjy~z‡{•}Ÿ¶}¼ƒ\ ˜$~ ½„…º‘{ ´’2‹“”\a•”a\–—jS˜›•(œž#ÿ˜ Ÿ ¡¢¢£¤ú#‡¥§€ ½FLF¸M¼ YPYPYPYPYPYPN¼ YGPYIPYKPYMPYOPYQP:*7»,Y·-:¶.²/*¶0¶1W²S¶EW»2Y¶3·4:6  -¾¢ ,- /*m¶5… /¸6„ §ÿß±‚6 ‡‹ Œ2\Žaj‘~’‡“••Ÿ—¶•¼™ƒ\ ˜$~ ½„…º‘{ ´’2‹“”\a•”a\–—jS˜›•(œž#ÿ˜ Ÿ ¡¢¢£¤ú#‡¥¨€³ Á»,Y·-²T¶U ¶VL»2Y+¶3·4M,¶WN-¶X:-¶Y:Z[-¸\:²]»Y· ^¶ ¶ ¶ ¶_²]»Y· `¶ ¶ ¶ ¶_¹a:¹b™B¹cÀd:,¶e¶fš »gYh·i¿²]»Y· j¶ ¶k¶ ¶_§ÿº±‚Fž  ¡¢¤ ¥$¦*§0©:«T¬n®°™²£µ½¶À·ƒR0©Á„…®ª›¢«$’¬*—­{0‘®¯:‡°{± 0‘®²ž*ÿwŸ£¤³ ´ µü+¶ù‡¥·€k!»2Y·lL+¶WM+,¶X+,¶X¶m¶n¸o±‚¼½ ¿ Àƒ !„…œ ’¬‡¥¸€m#»2Y·pL+¶WM+,¶X+,¶X¶m¶n¸o±‚Ä ÅÇ"ȃ #„… œ’¬‡¥¹€ƒª»2Y·lL+q¶rM,¶XN,¶Y:Z[,¸\:²]»Y· ^¶ ¶ ¶ ¶_²]»Y· s¶ -¶ ¶ ¶_¹a:¹b™B¹cÀd:+¶e¶fš »gYh·i¿²]»Y· j¶ ¶k¶ ¶_§ÿº±‚:ÍÏ ÐÑÒÔ$Ö>×WÙvÛ‚ÝŒà¦á©âƒHv0©ª„…¢«›’¬–­{®¯$†°{± ®²ž'ÿ`Ÿ¤³ ´ µü+¶ù‡¥º€§G»,Y·-²/*¶0¶1¶tL»2Y+¶3·4M,u¶n>²]»Y· v¶ ¶w¶ ¶_±‚ç éêë$í-ïFðƒ*G„…/ª›$#œ-»¼‡¥½€°L»,Y·-²/*¶0¶1¶t¶.L»2Y+¶3·4M,qu¶x>²]»Y· v¶ ¶w¶ ¶_±‚"õ ÷øùú)ü2þKÿƒ*L„…/ª›)#œ2»¼‡¥¾¿š ,Ñ™