Êþº¾Eº  java/lang/Object()Vjava/util/HashMap   2net/minecraft/world/level/storage/SavedDataStoragecacheLjava/util/Map;  &java/util/concurrent/CompletableFuturecompletedFuture<(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;  pendingWriteFuture(Ljava/util/concurrent/CompletableFuture;   fixerUpper!Lcom/mojang/datafixers/DataFixer;  ! dataFolderLjava/nio/file/Path; # $% registries*Lnet/minecraft/core/HolderLookup$Provider;'.dat )*+ ,-"net/minecraft/resources/Identifier withSuffix8(Ljava/lang/String;)Lnet/minecraft/resources/Identifier; )/ 01resolveAgainst*(Ljava/nio/file/Path;)Ljava/nio/file/Path; 345 67java/nio/file/PathtoAbsolutePath()Ljava/nio/file/Path; 39 :; startsWith(Ljava/nio/file/Path;)Z="java/lang/IllegalArgumentException ?@A BCjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;E FGmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; <I J(Ljava/lang/String;)V L MNgetd(Lnet/minecraft/world/level/saveddata/SavedDataType;)Lnet/minecraft/world/level/saveddata/SavedData; PQR ST1net/minecraft/world/level/saveddata/SavedDataType constructor()Ljava/util/function/Supplier; VWX MYjava/util/function/Supplier()Ljava/lang/Object;[-net/minecraft/world/level/saveddata/SavedData ] ^_sete(Lnet/minecraft/world/level/saveddata/SavedDataType;Lnet/minecraft/world/level/saveddata/SavedData;)V abc Md java/util/Map&(Ljava/lang/Object;)Ljava/lang/Object;fjava/util/Optional h iN readSavedData ek lm ofNullable((Ljava/lang/Object;)Ljava/util/Optional; ao pqput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; es tdorElse Pv wxid&()Lnet/minecraft/resources/Identifier; z {| getDataFile:(Lnet/minecraft/resources/Identifier;)Ljava/nio/file/Path;~java/nio/file/LinkOption €�‚ ƒ„java/nio/file/Filesexists2(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z P† ‡ˆ dataFixType+()Lnet/minecraft/util/datafix/DataFixTypes; Š‹Œ �Žnet/minecraft/SharedConstantsgetCurrentVersion()Lnet/minecraft/WorldVersion; �‘’ “”net/minecraft/WorldVersion dataVersion1()Lnet/minecraft/world/level/storage/DataVersion; –—˜ ™š-net/minecraft/world/level/storage/DataVersionversion()I œ �žreadTagFromDisk_(Ljava/nio/file/Path;Lnet/minecraft/util/datafix/DataFixTypes;I)Lnet/minecraft/nbt/CompoundTag;  ¡¢ £¤net/minecraft/nbt/NbtOpsINSTANCELnet/minecraft/nbt/NbtOps; ¦§¨ ©ª(net/minecraft/core/HolderLookup$ProvidercreateSerializationContextL(Lcom/mojang/serialization/DynamicOps;)Lnet/minecraft/resources/RegistryOps; P¬ ­®codec"()Lcom/mojang/serialization/Codec;°data ²³´ Mµnet/minecraft/nbt/CompoundTag+(Ljava/lang/String;)Lnet/minecraft/nbt/Tag; ·¸¹ º»com/mojang/serialization/Codecparse^(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;½ ¾¿acceptR(Lnet/minecraft/world/level/saveddata/SavedDataType;)Ljava/util/function/Consumer; ÁÂà ÄÅ#com/mojang/serialization/DataResultresultOrPartial3(Ljava/util/function/Consumer;)Ljava/util/Optional;Çjava/lang/Exception É ÊËLOGGERLorg/slf4j/Logger;ÍError loading saved data: {} ÏÐÑ ÒÓorg/slf4j/Loggererror9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V eÕ Ömof ZØ ÙsetDirtyÛjava/nio/file/OpenOption €Ý ÞßnewInputStreamF(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;ájava/io/PushbackInputStreamã*net/minecraft/util/FastBufferedInputStream âå æ(Ljava/io/InputStream;)V àè é(Ljava/io/InputStream;I)V ë ìíisGzip (Ljava/io/PushbackInputStream;)Z ïðñ òónet/minecraft/nbt/NbtAccounter unlimitedHeap"()Lnet/minecraft/nbt/NbtAccounter; õö÷ øùnet/minecraft/nbt/NbtIoreadCompressedV(Ljava/io/InputStream;Lnet/minecraft/nbt/NbtAccounter;)Lnet/minecraft/nbt/CompoundTag;ûjava/io/DataInputStream úå õþ ÿread4(Ljava/io/DataInput;)Lnet/minecraft/nbt/CompoundTag; ú closejava/lang/Throwable    addSuppressed(Ljava/lang/Throwable;)V    net/minecraft/nbt/NbtUtilsgetDataVersion#(Lnet/minecraft/nbt/CompoundTag;I)I  'net/minecraft/util/datafix/DataFixTypesupdatec(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/nbt/CompoundTag;II)Lnet/minecraft/nbt/CompoundTag; à java/io/InputStream à ÿ([BII)Ijava/util/zip/GZIPInputStream‹ à! "#unread([BII)V % &'closedZ)java/lang/IllegalStateException+?Trying to schedule save when SavedDataStorage is already closed (I . /0collectDirtyTagsToSave()Ljava/util/Map; a2 34isEmpty()Z 678 9šnet/minecraft/util/UtilmaxAllowedExecutorThreads a; <šsize> ?@applyd(Lnet/minecraft/world/level/storage/SavedDataStorage;IILjava/util/Map;)Ljava/util/function/Function; B CD thenComposeG(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;F ?Gb(Lnet/minecraft/world/level/storage/SavedDataStorage;Ljava/util/Map;)Ljava/util/function/Function;I3it/unimi/dsi/fastutil/objects/Object2ObjectArrayMap HL ¾M‰(Lnet/minecraft/world/level/storage/SavedDataStorage;Ljava/util/Map;Lnet/minecraft/resources/RegistryOps;)Ljava/util/function/BiConsumer; aO PQforEach"(Ljava/util/function/BiConsumer;)V ² ·T U» encodeStart ÁW XY getOrThrowZnet/minecraft/nbt/Tag ²\ p]B(Ljava/lang/String;Lnet/minecraft/nbt/Tag;)Lnet/minecraft/nbt/Tag;  _ `aaddCurrentDataVersion@(Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/nbt/CompoundTag; 3c d7 getParent fgh ijnet/minecraft/util/FileUtilcreateDirectoriesSafe(Ljava/nio/file/Path;)V õl mnwriteCompressed6(Lnet/minecraft/nbt/CompoundTag;Ljava/nio/file/Path;)Vpjava/io/IOExceptionrCould not save data to {} 3t u7 getFileName w xy scheduleSave*()Ljava/util/concurrent/CompletableFuture; { |Yjoin~:Trying to close SavedDataStorage when it is already closed € � saveAndJoinƒ „…test ()Ljava/util/function/Predicate; e‡ ˆ‰filter4(Ljava/util/function/Predicate;)Ljava/util/Optional;‹ ¾Œº(Lnet/minecraft/world/level/storage/SavedDataStorage;Ljava/util/Map;Lnet/minecraft/world/level/saveddata/SavedDataType;Lnet/minecraft/resources/RegistryOps;)Ljava/util/function/Consumer; eŽ �� ifPresent (Ljava/util/function/Consumer;)V ’ “”encodeUnchecked¨(Lnet/minecraft/world/level/saveddata/SavedDataType;Lnet/minecraft/world/level/saveddata/SavedData;Lnet/minecraft/resources/RegistryOps;)Lnet/minecraft/nbt/CompoundTag; Z– Ù—(Z)V a™ š›entrySet()Ljava/util/Set; �žŸ  ¡ java/util/Setstream()Ljava/util/stream/Stream;£ ?¤S(Lnet/minecraft/world/level/storage/SavedDataStorage;)Ljava/util/function/Function; ¦§¨ ©ªjava/util/stream/Streammap8(Ljava/util/function/Function;)Ljava/util/stream/Stream;¬ ?­"()Ljava/util/function/IntFunction; ¦¯ °±toArray5(Ljava/util/function/IntFunction;)[Ljava/lang/Object;³)[Ljava/util/concurrent/CompletableFuture; µ ¶·allOfS([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture; ¹ º»run_(Lnet/minecraft/world/level/storage/SavedDataStorage;Ljava/util/Map$Entry;)Ljava/lang/Runnable; 6½ ¾¿ioPool!()Lnet/minecraft/TracingExecutor; Á ÂÃrunAsync](Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture; ÅÆÇ ÈYjava/util/Map$EntrygetKey ÅÊ ËYgetValue Í ÎÏtryWriteU(Lnet/minecraft/world/level/saveddata/SavedDataType;Lnet/minecraft/nbt/CompoundTag;)VÑjava/util/ArrayList ÐÓ Ô(I)V Öר ÙÚnet/minecraft/util/MthpositiveCeilDiv(II)I ÜÝÞ ßà#com/google/common/collect/Iterables partition+(Ljava/lang/Iterable;I)Ljava/lang/Iterable; âãä åæjava/lang/Iterableiterator()Ljava/util/Iterator; èéê ë4java/util/IteratorhasNext èí îYnextðjava/util/List ò ºóZ(Lnet/minecraft/world/level/storage/SavedDataStorage;Ljava/util/List;)Ljava/lang/Runnable; ïõ ö÷add(Ljava/lang/Object;)Z ¬ ï¯ ïãü'Failed to parse saved data for '{}': {} þÿ com/mojang/logging/LogUtils getLogger()Lorg/slf4j/Logger;java/lang/AutoCloseable SignatureŒLjava/util/Map;Ljava/util/Optional;>;+Ljava/util/concurrent/CompletableFuture<*>;b(Ljava/nio/file/Path;Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/core/HolderLookup$Provider;)VCodeLineNumberTableLocalVariableTablethis4Lnet/minecraft/world/level/storage/SavedDataStorage;MethodParameters$Lnet/minecraft/resources/Identifier;path StackMapTablecomputeIfAbsenttype3Lnet/minecraft/world/level/saveddata/SavedDataType;/Lnet/minecraft/world/level/saveddata/SavedData;newDataLocalVariableTypeTable8Lnet/minecraft/world/level/saveddata/SavedDataType;TT;p(Lnet/minecraft/world/level/saveddata/SavedDataType;)TT;Ljava/util/Optional;ELjava/util/Optional;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;tagLnet/minecraft/nbt/CompoundTag;ops%Lnet/minecraft/resources/RegistryOps;fileeLjava/lang/Exception;>Lnet/minecraft/resources/RegistryOps;q(Lnet/minecraft/world/level/saveddata/SavedDataType;TT;)VdisLjava/io/DataInputStream;I inputStreamLjava/io/PushbackInputStream;inLjava/io/InputStream;dataFile)Lnet/minecraft/util/datafix/DataFixTypes; newVersion Exceptions fullHeaderheader[Bgzip5 tagsToSavethreads taskCountfLjava/util/Map;Lnet/minecraft/nbt/CompoundTag;>;-()Ljava/util/concurrent/CompletableFuture<*>;h()Ljava/util/Map;Lnet/minecraft/nbt/CompoundTag;>; Lcom/mojang/serialization/Codec;%Lcom/mojang/serialization/Codec;ù(Lnet/minecraft/world/level/saveddata/SavedDataType;Lnet/minecraft/world/level/saveddata/SavedData;Lnet/minecraft/resources/RegistryOps;)Lnet/minecraft/nbt/CompoundTag;Ljava/io/IOException;6Lnet/minecraft/world/level/saveddata/SavedDataType<*>;X(Lnet/minecraft/world/level/saveddata/SavedDataType<*>;Lnet/minecraft/nbt/CompoundTag;)Vlambda$collectDirtyTagsToSave$0~(Ljava/util/Map;Lnet/minecraft/resources/RegistryOps;Lnet/minecraft/world/level/saveddata/SavedDataType;Ljava/util/Optional;)Voptionallambda$collectDirtyTagsToSave$1™(Ljava/util/Map;Lnet/minecraft/world/level/saveddata/SavedDataType;Lnet/minecraft/resources/RegistryOps;Lnet/minecraft/world/level/saveddata/SavedData;)Vlambda$scheduleSave$3I(Ljava/util/Map;Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;ignoredLjava/lang/Object;lambda$scheduleSave$6,(I)[Ljava/util/concurrent/CompletableFuture;x$0lambda$scheduleSave$4?(Ljava/util/Map$Entry;)Ljava/util/concurrent/CompletableFuture;entryLjava/util/Map$Entry;lambda$scheduleSave$5(Ljava/util/Map$Entry;)Vlambda$scheduleSave$0K(IILjava/util/Map;Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;entriesLjava/util/List;i$Ljava/util/Iterator;tasks bucketSize~Ljava/util/List;Lnet/minecraft/nbt/CompoundTag;>;>;=Ljava/util/List;>;lambda$scheduleSave$2lambda$scheduleSave$1(Ljava/util/List;)VlLjava/util/Map$Entry;Lnet/minecraft/nbt/CompoundTag;>;lambda$readSavedData$0H(Lnet/minecraft/world/level/saveddata/SavedDataType;Ljava/lang/String;)VLjava/lang/String; SourceFileSavedDataStorage.javaBootstrapMethodslESavedDataStorage attempted file access outside of data directory: {}n(Ljava/lang/Object;)Vp q deJdu v VWx:(Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;z { IJ}'(Ljava/lang/Object;Ljava/lang/Object;)V € DE‚J(Lnet/minecraft/world/level/saveddata/SavedDataType;Ljava/util/Optional;)V÷… Z† ‡4isDirty‰2(Lnet/minecraft/world/level/saveddata/SavedData;)Z‹ Œ GHŽ2(Lnet/minecraft/world/level/saveddata/SavedData;)V� ‘ PQQ”(I)Ljava/lang/Object;– — MNN› œ TUž Ÿ ab¡ ¢ `N¤ ¥¦§ F¨$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; InnerClasses²net/minecraft/core/HolderLookupProviderEntry¶%java/lang/invoke/MethodHandles$Lookup¸java/lang/invoke/MethodHandlesLookup! ÊË$% !&' ‡'*·*»Y· µ *¸µ*,µ*+µ*-µ"± 5-267!8&9 *'  ' !''$%  ${| �8+&¶(*´¶.M,¹2*´¹2¹8š»ºD·H¿,° <=%>6@ 8  8w*!ü63wN ±!*+¶KM,Æ,°+¶O¹UÀZN*+-¶\-° DE F HIJ *!  !° !°ü ZMN ¨0*´ +¹`ÀeM,Ç*+¶g¸jM*´ +,¹nW,¶rÀZ° OPQR'T 0  0"°0"°ü'eiN )m*+¶u¶yM,½}¸™J*,+¶…¸‰¹�¶•¶›N*´"²Ÿ¹¥:+¶«-¯¶±¹¶+º¼¹À¶rÀZ°§M²ÈÌ+,¹Î°Z^Æ 2 Y Z[)\7]N^T_Z][c^a_bkd >)2 7$!" R#!_ $%m  m7$!&m û[BÆ ^_ v*´ +,¸Ô¹nW,¶×± hij   °° °'�ž ‘ ¿+½Ú¸Ü:»àY»âY·ä·ç:*¶ê™¸î¸ô:§3»úY·ü:¸ý:¶§:¶§ :  ¶¿?¸ 6,*´¶:¶Æ¶°:¶§ :¶¿:ƶ§ :¶¿>EMOTW|Ž�•˜ �¤ޤ¤«°³ 6 n or&s3u>vEwMuczm{||‹{Žm p 0 E >%()c+ m!™*‡+, µ-.¿  ¿/!¿0¿1*Ö ý3àÿ 3àúÿ  3àúÿ 3à²ý'²ÿ 3àÿ  3àÿ 3ÿ 32o /1ìí ÓB¼M>+,¶6 !,3ÿ~x,3ÿ~€6 >™ +,¶ ¬ * €�‚ƒ„)…1†3‰8Š@Œ >) 3*B  B+,>45<6'3ÿ* þ37 2o+xy úc*´$™»(Y*·,¿*¶-L+¹1™¸°¸5=+¹:>¤**´*+º=¶Aµ§**´*+ºE¶Aµ*´° . �‘”• –%™)š0�5ŸL¬^³ *c  L8):9*03:* L8;üaý&</0 Ž(»HY·JL*´"²Ÿ¹¥M*´ *+,ºK¹N+° ·¸¹&¿ (   8!" 8;!&=“” Ã1+¶«:»²Y·R:¯-,¹S¹VÀY¶[W¸^W° ÄÅÆ(Ç.È >1  11°1!"+­>"  11!&+­? °!@ÎÏ Ó0*+¶u¶yN-¹b¸e,-¸k§:²Èq-¹s¹Î± o Ì ÎÏÒÐÑ/Ó 4$A0  00  '! 0Bÿ P²3o C� 7 *¶v¶zW± Ö×     _*´$™»(Y}·,¿*¶*µ$± ÛÜßàá   DE iº‚¶†*+-,ºж�± º 4  8!"FGH q+,*,-¶‘¹nW¶•± »¼½ 4  8!"°IJ q'+¹˜¹œ*º¢¹¥º«¹®À²¸´° ®¯°#® '  '8'KL MN /½° ° O*PQ B*+º¸¸¼¸À° ¯   RSTU K*+¹ÄÀP+¹ÉÀ²¶̱ ¯   RSVW , e»ÐY·Ò:¸Õ6-¹˜¸Û¹á:¹ç™(¹ìÀï:*ºñ¸¼¸À¹ôW§ÿÔºø¹ùÀ²¸´° "  ¡¢9£C§F£O¨R© \ 9XY#/Z[e  e9*e:*e8eKL [\YT]*9X^ [\_þ#ïèú. `N /½° © O*ab «4+¹úM,¹ç™&,¹ìÀÅN*-¹ÄÀP-¹ÉÀ²¶̧ÿ×± ¤¥0¦3§ *RS,Z[4  4XY Rc üèú+ de B²Èû*+¹Î± ^ Òfg ¸ý³È± +hijv £k©mor©stw©syw©|~�©ƒ„ˆ©mŠ�©s�’©“•˜©™š™©™�™©“ ˜°¦±³ Åa´ µ·¹