Êþº¾Eá  java/lang/Object()V   java/util/Optionalempty()Ljava/util/Optional;  &java/util/concurrent/CompletableFuturecompletedFuture<(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;  =net/minecraft/client/multiplayer/AccountProfileKeyPairManagerkeyPair(Ljava/util/concurrent/CompletableFuture;  java/time/InstantEPOCHLjava/time/Instant;  !nextProfileKeyRefreshTime # $%userApiService-Lcom/mojang/authlib/minecraft/UserApiService; ' ()PROFILE_KEY_PAIR_DIRLjava/nio/file/Path; +,- ./java/nio/file/Pathresolve*(Ljava/nio/file/Path;)Ljava/nio/file/Path; 123 45java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;7 89makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; +; .<((Ljava/lang/String;)Ljava/nio/file/Path; > ?)profileKeyPairPath A BCnow()Ljava/time/Instant; E FG$MINIMUM_PROFILE_KEY_REFRESH_INTERVALLjava/time/Duration; I JKplus8(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;M NOapply^(Lnet/minecraft/client/multiplayer/AccountProfileKeyPairManager;)Ljava/util/function/Function; Q RS thenComposeG(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture; U VWisDone()Z Y Z[isAfter(Ljava/time/Instant;)Z ] ^_join()Ljava/lang/Object;a Nb()Ljava/util/function/Function; d efmap3(Ljava/util/function/Function;)Ljava/util/Optional; hij 4kjava/lang/Boolean(Z)Ljava/lang/Boolean; m noorElse&(Ljava/lang/Object;)Ljava/lang/Object; hq rW booleanValuet uvgetr(Lnet/minecraft/client/multiplayer/AccountProfileKeyPairManager;Ljava/util/Optional;)Ljava/util/function/Supplier; xyz {|net/minecraft/util/UtilnonCriticalIoPool!()Lnet/minecraft/TracingExecutor; ~ € supplyAsyncf(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;‚java/nio/file/LinkOption „…† ‡ˆjava/nio/file/Files notExists2(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z „Š ‹ŒnewBufferedReader.(Ljava/nio/file/Path;)Ljava/io/BufferedReader; Ž�� ‘’0net/minecraft/world/entity/player/ProfileKeyPairCODEC Lcom/mojang/serialization/Codec; ”•– —˜ com/mojang/serialization/JsonOpsINSTANCE"Lcom/mojang/serialization/JsonOps; š›œ �ž#net/minecraft/util/StrictJsonParserparse/(Ljava/io/Reader;)Lcom/google/gson/JsonElement;  ¡¢ �£com/mojang/serialization/Codec^(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; ¥¦§ ¨ #com/mojang/serialization/DataResultresult ª«¬ ­java/io/BufferedReaderclose¯java/lang/Throwable ®± ²³ addSuppressed(Ljava/lang/Throwable;)Vµjava/lang/Exception · ¸¹LOGGERLorg/slf4j/Logger;»'Failed to read profile key pair file {} ½¾¿ ÀÁorg/slf4j/Loggererror9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V „à ÄÅdeleteIfExists(Ljava/nio/file/Path;)ZÇjava/io/IOExceptionÉ)Failed to delete profile key pair file {} ËÌÍ ÎÏnet/minecraft/SharedConstantsIS_RUNNING_IN_IDEZ  Ñ Ò£ encodeStartÔ ÕÖaccept^(Lnet/minecraft/client/multiplayer/AccountProfileKeyPairManager;)Ljava/util/function/Consumer; ¥Ø ÙÚ ifSuccessD(Ljava/util/function/Consumer;)Lcom/mojang/serialization/DataResult; ÜÝÞ ßà+com/mojang/authlib/minecraft/UserApiService getKeyPair8()Lcom/mojang/authlib/services/response/KeyPairResponse; â ãäparsePublicKeyq(Lcom/mojang/authlib/services/response/KeyPairResponse;)Lnet/minecraft/world/entity/player/ProfilePublicKey$Data; æçè é4com/mojang/authlib/services/response/KeyPairResponse@()Lcom/mojang/authlib/services/response/KeyPairResponse$KeyPair; ëìí îï? @ïcom/google/gson/JsonElementtoStringBjava/nio/file/OpenOption „D EF writeString](Ljava/nio/file/Path;Ljava/lang/CharSequence;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;H(Failed to write profile key pair file {} J KW isPresent M u_ ŽO PW dueRefresh R STwriteProfileKeyPair5(Lnet/minecraft/world/entity/player/ProfileKeyPair;)V V WXfetchProfileKeyPaira(Lcom/mojang/authlib/minecraft/UserApiService;)Lnet/minecraft/world/entity/player/ProfileKeyPair; Z [\ ofNullable((Ljava/lang/Object;)Ljava/util/Optional;^6com/mojang/authlib/exceptions/MinecraftClientException`#Failed to retrieve profile key pair ½b Àc*(Ljava/lang/String;Ljava/lang/Throwable;)V efg hicom/mojang/logging/LogUtils getLogger()Lorg/slf4j/Logger; klm nojava/time/DurationofHours(J)Ljava/time/Duration;q profilekeys +s tuof;(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;w6net/minecraft/client/multiplayer/ProfileKeyPairManager SignaturerLjava/util/concurrent/CompletableFuture;>;T(Lcom/mojang/authlib/minecraft/UserApiService;Ljava/util/UUID;Ljava/nio/file/Path;)VCodeLineNumberTableLocalVariableTablethis?Lnet/minecraft/client/multiplayer/AccountProfileKeyPairManager; profileIdLjava/util/UUID; gameDirectoryMethodParametersprepareKeyPair*()Ljava/util/concurrent/CompletableFuture;t()Ljava/util/concurrent/CompletableFuture;>;shouldRefreshKeyPair StackMapTablereadOrFetchProfileKeyPair>(Ljava/util/Optional;)Ljava/util/concurrent/CompletableFuture; cachedKeyPairLjava/util/Optional;LocalVariableTypeTableHLjava/util/Optional;¼(Ljava/util/Optional;)Ljava/util/concurrent/CompletableFuture;>;readProfileKeyPairbufferedReaderLjava/io/BufferedReader;eLjava/lang/Exception;J()Ljava/util/Optional;Ljava/io/IOException;profileKeyPair2Lnet/minecraft/world/entity/player/ProfileKeyPair;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable; publicKeyData9Lnet/minecraft/world/entity/player/ProfilePublicKey$Data;6Lcom/mojang/authlib/services/response/KeyPairResponse; ExceptionskeyLjava/security/PublicKey; signatureLjava/nio/ByteBuffer;Ljava/lang/RuntimeException;response>Lcom/mojang/authlib/services/response/KeyPairResponse$KeyPair;§java/lang/RuntimeExceptionlambda$writeProfileKeyPair$0 (Lcom/google/gson/JsonElement;)VjsonStrLcom/google/gson/JsonElement;"lambda$readOrFetchProfileKeyPair$0*(Ljava/util/Optional;)Ljava/util/Optional;fetchedKeyPair SourceFile!AccountProfileKeyPairManager.javaBootstrapMethods´.jsono· ¸ ‰Šº<(Ljava/util/Optional;)Ljava/util/concurrent/CompletionStage;N½G(Lnet/minecraft/world/entity/player/ProfileKeyPair;)Ljava/lang/Boolean;_À Á ¬­ Ä(Ljava/lang/Object;)VÆ Ç ¨©©Ê ËÌÍ 8Î$java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;Ð ÑÒÓ ÔÕ"java/lang/invoke/LambdaMetafactory metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; InnerClassesDataKeyPairÚ7com/mojang/authlib/minecraft/InsecurePublicKeyExceptionMissingExceptionÝ%java/lang/invoke/MethodHandles$Lookupßjava/lang/invoke/MethodHandlesLookup!v¸¹FG()$%?)xy! z{’6*·*¸¸ µ*²µ*+µ"*-²&¹*,¸0º6¹:µ=±|.*,/051}*6~6$%6€�6‚)ƒ $€‚„…{U#*¸@²D¶Hµ**´*ºL¶Pµ*´°|5 67} #~x†‡W{t9*´¶T™0¸@*´¶X™#*´¶\Àº`¶c¸g¶lÀh¶p¬¬|<=7?} 9~ˆ7‰Š{\*+ºs¸w¸}°|CV C}~‹Œ� ‹Žƒ‹x�� {&a*´=½�¸ƒ™¸°*´=¸‰L²�²“+¸™¹Ÿ¹¤M+Æ+¶©,°M+Æ+¶©§ N,-¶°,¿L²¶º*´=+¹¼¸°/9®>BE®7M´9MM´|* Z[^_/`7_9^M`Na]b} 3‘’N“”a~ˆ=ý$ªÿª®ÿ ª®®ÿ´x•ST{¹@*´=¸ÂW§M²¶È*´=,¹¼+DZ²Êš±²�²“+¹Ð*ºÓ¹×W± Æ|* hk i jmn q&r'u?}}  “–@~@—˜ˆ Kƃ—™ šWX{¥3+¹ÛM,Æ),¸áN»ŽY,¶å¶ê¸ð»öY-·ø,¶û¸þ·°°|"€� ‚ƒ„'†0ƒ1‰}*!›œ3~3$%,�ˆü1æžÆƒ$™š ãä{f*¶åL+Æ+¶¸š*¶ Æ*¶ ¶¾š»Y»Y·· ¿*¶"¸þM+¶¸%N*¶ :»)Y,-¶·+°M»Y,· ¿7[\.7[\0|& �Ž%�7“?”G•M—\˜]™}>?$GŸ M¡¢] “£f¤�a¥ˆ ü%ëd¦žƒ¤¨©{�6*´=¹2½6¸8W*´=+¶<½A¸CW§M²¶G*´=,¹¼±!$´|wx!{$y%z5|} %“”6~6ª«ˆd´¬­{ÞH+¶I™+¶LÀ޶Nš²Êš*¶Q+°**´"¶UM*,¶Q,¸Y°M²¶_,¹a*¶Q+°!34Æ!34!34]|. DEGI!M*N/O4P5QARFU}** ®˜5“”H~H‹ŒˆR´¯{;¸d³¶ ¸j³Dp½1¸r³&±|"$ &°±²0ɳϵ¶¹Ïµ»¼Ï¾¿ÂÏÃÅÈÖ")ö×ëæØÙÛ ÜÞà