Class SnbtParsing

java.lang.Object
net.minecraft.nbt.SnbtParsing

public class SnbtParsing extends Object
Mappings:
Namespace Name
named net/minecraft/nbt/SnbtParsing
intermediary net/minecraft/class_10900
official vc
  • Field Details

    • NUMBER_PARSE_FAILURE_EXCEPTION

      private static final com.mojang.brigadier.exceptions.DynamicCommandExceptionType NUMBER_PARSE_FAILURE_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named NUMBER_PARSE_FAILURE_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;NUMBER_PARSE_FAILURE_EXCEPTION:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
      intermediary field_57979 Lnet/minecraft/class_10900;field_57979:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
      official a Lvc;a:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
    • EXPECTED_HEX_ESCAPE_EXCEPTION

      static final com.mojang.brigadier.exceptions.DynamicCommandExceptionType EXPECTED_HEX_ESCAPE_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EXPECTED_HEX_ESCAPE_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EXPECTED_HEX_ESCAPE_EXCEPTION:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
      intermediary field_57980 Lnet/minecraft/class_10900;field_57980:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
      official b Lvc;b:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
    • INVALID_CODEPOINT_EXCEPTION

      private static final com.mojang.brigadier.exceptions.DynamicCommandExceptionType INVALID_CODEPOINT_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named INVALID_CODEPOINT_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;INVALID_CODEPOINT_EXCEPTION:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
      intermediary field_58058 Lnet/minecraft/class_10900;field_58058:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
      official c Lvc;c:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
    • NO_SUCH_OPERATION_EXCEPTION

      private static final com.mojang.brigadier.exceptions.DynamicCommandExceptionType NO_SUCH_OPERATION_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named NO_SUCH_OPERATION_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;NO_SUCH_OPERATION_EXCEPTION:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
      intermediary field_58059 Lnet/minecraft/class_10900;field_58059:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
      official d Lvc;d:Lcom/mojang/brigadier/exceptions/DynamicCommandExceptionType;
    • EXPECTED_INTEGER_TYPE_EXCEPTION

      static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> EXPECTED_INTEGER_TYPE_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EXPECTED_INTEGER_TYPE_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EXPECTED_INTEGER_TYPE_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57981 Lnet/minecraft/class_10900;field_57981:Lnet/minecraft/class_10837;
      official e Lvc;e:Lbsm;
    • EXPECTED_FLOAT_TYPE_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> EXPECTED_FLOAT_TYPE_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EXPECTED_FLOAT_TYPE_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EXPECTED_FLOAT_TYPE_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57982 Lnet/minecraft/class_10900;field_57982:Lnet/minecraft/class_10837;
      official f Lvc;f:Lbsm;
    • EXPECTED_NON_NEGATIVE_NUMBER_EXCEPTION

      static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> EXPECTED_NON_NEGATIVE_NUMBER_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EXPECTED_NON_NEGATIVE_NUMBER_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EXPECTED_NON_NEGATIVE_NUMBER_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57983 Lnet/minecraft/class_10900;field_57983:Lnet/minecraft/class_10837;
      official g Lvc;g:Lbsm;
    • INVALID_CHARACTER_NAME_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> INVALID_CHARACTER_NAME_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named INVALID_CHARACTER_NAME_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;INVALID_CHARACTER_NAME_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57984 Lnet/minecraft/class_10900;field_57984:Lnet/minecraft/class_10837;
      official h Lvc;h:Lbsm;
    • INVALID_ARRAY_ELEMENT_TYPE_EXCEPTION

      static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> INVALID_ARRAY_ELEMENT_TYPE_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named INVALID_ARRAY_ELEMENT_TYPE_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;INVALID_ARRAY_ELEMENT_TYPE_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57985 Lnet/minecraft/class_10900;field_57985:Lnet/minecraft/class_10837;
      official i Lvc;i:Lbsm;
    • INVALID_UNQUOTED_START_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> INVALID_UNQUOTED_START_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named INVALID_UNQUOTED_START_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;INVALID_UNQUOTED_START_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57986 Lnet/minecraft/class_10900;field_57986:Lnet/minecraft/class_10837;
      official j Lvc;j:Lbsm;
    • EXPECTED_UNQUOTED_STRING_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> EXPECTED_UNQUOTED_STRING_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EXPECTED_UNQUOTED_STRING_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EXPECTED_UNQUOTED_STRING_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57987 Lnet/minecraft/class_10900;field_57987:Lnet/minecraft/class_10837;
      official k Lvc;k:Lbsm;
    • INVALID_STRING_CONTENTS_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> INVALID_STRING_CONTENTS_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named INVALID_STRING_CONTENTS_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;INVALID_STRING_CONTENTS_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57988 Lnet/minecraft/class_10900;field_57988:Lnet/minecraft/class_10837;
      official l Lvc;l:Lbsm;
    • EXPECTED_BINARY_NUMERAL_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> EXPECTED_BINARY_NUMERAL_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EXPECTED_BINARY_NUMERAL_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EXPECTED_BINARY_NUMERAL_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57989 Lnet/minecraft/class_10900;field_57989:Lnet/minecraft/class_10837;
      official m Lvc;m:Lbsm;
    • UNDERSCORE_NOT_ALLOWED_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> UNDERSCORE_NOT_ALLOWED_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named UNDERSCORE_NOT_ALLOWED_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;UNDERSCORE_NOT_ALLOWED_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57990 Lnet/minecraft/class_10900;field_57990:Lnet/minecraft/class_10837;
      official n Lvc;n:Lbsm;
    • EXPECTED_DECIMAL_NUMERAL_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> EXPECTED_DECIMAL_NUMERAL_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EXPECTED_DECIMAL_NUMERAL_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EXPECTED_DECIMAL_NUMERAL_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57991 Lnet/minecraft/class_10900;field_57991:Lnet/minecraft/class_10837;
      official o Lvc;o:Lbsm;
    • EXPECTED_HEX_NUMERAL_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> EXPECTED_HEX_NUMERAL_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EXPECTED_HEX_NUMERAL_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EXPECTED_HEX_NUMERAL_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57992 Lnet/minecraft/class_10900;field_57992:Lnet/minecraft/class_10837;
      official p Lvc;p:Lbsm;
    • EMPTY_KEY_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> EMPTY_KEY_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named EMPTY_KEY_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;EMPTY_KEY_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57993 Lnet/minecraft/class_10900;field_57993:Lnet/minecraft/class_10837;
      official q Lvc;q:Lbsm;
    • LEADING_ZERO_NOT_ALLOWED_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> LEADING_ZERO_NOT_ALLOWED_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named LEADING_ZERO_NOT_ALLOWED_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;LEADING_ZERO_NOT_ALLOWED_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_57994 Lnet/minecraft/class_10900;field_57994:Lnet/minecraft/class_10837;
      official r Lvc;r:Lbsm;
    • INFINITY_NOT_ALLOWED_EXCEPTION

      private static final CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> INFINITY_NOT_ALLOWED_EXCEPTION
      Mappings:
      Namespace Name Mixin selector
      named INFINITY_NOT_ALLOWED_EXCEPTION Lnet/minecraft/nbt/SnbtParsing;INFINITY_NOT_ALLOWED_EXCEPTION:Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary field_58060 Lnet/minecraft/class_10900;field_58060:Lnet/minecraft/class_10837;
      official s Lvc;s:Lbsm;
    • HEX_FORMAT

      private static final HexFormat HEX_FORMAT
      Mappings:
      Namespace Name Mixin selector
      named HEX_FORMAT Lnet/minecraft/nbt/SnbtParsing;HEX_FORMAT:Ljava/util/HexFormat;
      intermediary field_57995 Lnet/minecraft/class_10900;field_57995:Ljava/util/HexFormat;
      official t Lvc;t:Ljava/util/HexFormat;
    • BINARY_RULE

      private static final NumeralParsingRule BINARY_RULE
      Mappings:
      Namespace Name Mixin selector
      named BINARY_RULE Lnet/minecraft/nbt/SnbtParsing;BINARY_RULE:Lnet/minecraft/util/packrat/NumeralParsingRule;
      intermediary field_57996 Lnet/minecraft/class_10900;field_57996:Lnet/minecraft/class_10849;
      official u Lvc;u:Lbta;
    • DECIMAL_RULE

      private static final NumeralParsingRule DECIMAL_RULE
      Mappings:
      Namespace Name Mixin selector
      named DECIMAL_RULE Lnet/minecraft/nbt/SnbtParsing;DECIMAL_RULE:Lnet/minecraft/util/packrat/NumeralParsingRule;
      intermediary field_57997 Lnet/minecraft/class_10900;field_57997:Lnet/minecraft/class_10849;
      official v Lvc;v:Lbta;
    • HEX_RULE

      private static final NumeralParsingRule HEX_RULE
      Mappings:
      Namespace Name Mixin selector
      named HEX_RULE Lnet/minecraft/nbt/SnbtParsing;HEX_RULE:Lnet/minecraft/util/packrat/NumeralParsingRule;
      intermediary field_57998 Lnet/minecraft/class_10900;field_57998:Lnet/minecraft/class_10849;
      official w Lvc;w:Lbta;
    • UNQUOTED_STRING_RULE

      private static final TokenParsingRule UNQUOTED_STRING_RULE
      Mappings:
      Namespace Name Mixin selector
      named UNQUOTED_STRING_RULE Lnet/minecraft/nbt/SnbtParsing;UNQUOTED_STRING_RULE:Lnet/minecraft/util/packrat/TokenParsingRule;
      intermediary field_57999 Lnet/minecraft/class_10900;field_57999:Lnet/minecraft/class_10848;
      official x Lvc;x:Lbsz;
    • DECIMAL_CHAR

      private static final Literals.CharacterLiteral DECIMAL_CHAR
      Mappings:
      Namespace Name Mixin selector
      named DECIMAL_CHAR Lnet/minecraft/nbt/SnbtParsing;DECIMAL_CHAR:Lnet/minecraft/util/packrat/Literals$CharacterLiteral;
      intermediary field_58000 Lnet/minecraft/class_10900;field_58000:Lnet/minecraft/class_9413$class_10851;
      official y Lvc;y:Lbtg$a;
    • UNICODE_NAME_PATTERN

      private static final Pattern UNICODE_NAME_PATTERN
      Mappings:
      Namespace Name Mixin selector
      named UNICODE_NAME_PATTERN Lnet/minecraft/nbt/SnbtParsing;UNICODE_NAME_PATTERN:Ljava/util/regex/Pattern;
      intermediary field_58001 Lnet/minecraft/class_10900;field_58001:Ljava/util/regex/Pattern;
      official z Lvc;z:Ljava/util/regex/Pattern;
  • Constructor Details

    • SnbtParsing

      public SnbtParsing()
  • Method Details

    • toNumberParseFailure

      static CursorExceptionType<com.mojang.brigadier.exceptions.CommandSyntaxException> toNumberParseFailure(NumberFormatException exception)
      Mappings:
      Namespace Name Mixin selector
      named toNumberParseFailure Lnet/minecraft/nbt/SnbtParsing;toNumberParseFailure(Ljava/lang/NumberFormatException;)Lnet/minecraft/util/packrat/CursorExceptionType;
      intermediary method_68620 Lnet/minecraft/class_10900;method_68620(Ljava/lang/NumberFormatException;)Lnet/minecraft/class_10837;
      official a Lvc;a(Ljava/lang/NumberFormatException;)Lbsm;
    • escapeSpecialChar

      @Nullable public static @Nullable String escapeSpecialChar(char c)
      Mappings:
      Namespace Name Mixin selector
      named escapeSpecialChar Lnet/minecraft/nbt/SnbtParsing;escapeSpecialChar(C)Ljava/lang/String;
      intermediary method_68607 Lnet/minecraft/class_10900;method_68607(C)Ljava/lang/String;
      official a Lvc;a(C)Ljava/lang/String;
    • canUnquotedStringStartWith

      private static boolean canUnquotedStringStartWith(char c)
      Mappings:
      Namespace Name Mixin selector
      named canUnquotedStringStartWith Lnet/minecraft/nbt/SnbtParsing;canUnquotedStringStartWith(C)Z
      intermediary method_68627 Lnet/minecraft/class_10900;method_68627(C)Z
      official b Lvc;b(C)Z
    • isPartOfDecimal

      static boolean isPartOfDecimal(char c)
      Mappings:
      Namespace Name Mixin selector
      named isPartOfDecimal Lnet/minecraft/nbt/SnbtParsing;isPartOfDecimal(C)Z
      intermediary method_68631 Lnet/minecraft/class_10900;method_68631(C)Z
      official c Lvc;c(C)Z
    • containsUnderscore

      static boolean containsUnderscore(String string)
      Mappings:
      Namespace Name Mixin selector
      named containsUnderscore Lnet/minecraft/nbt/SnbtParsing;containsUnderscore(Ljava/lang/String;)Z
      intermediary method_68622 Lnet/minecraft/class_10900;method_68622(Ljava/lang/String;)Z
      official a Lvc;a(Ljava/lang/String;)Z
    • skipUnderscoreAndAppend

      private static void skipUnderscoreAndAppend(StringBuilder builder, String value)
      Mappings:
      Namespace Name Mixin selector
      named skipUnderscoreAndAppend Lnet/minecraft/nbt/SnbtParsing;skipUnderscoreAndAppend(Ljava/lang/StringBuilder;Ljava/lang/String;)V
      intermediary method_68624 Lnet/minecraft/class_10900;method_68624(Ljava/lang/StringBuilder;Ljava/lang/String;)V
      official a Lvc;a(Ljava/lang/StringBuilder;Ljava/lang/String;)V
    • append

      static void append(StringBuilder builder, String value, boolean skipUnderscore)
      Mappings:
      Namespace Name Mixin selector
      named append Lnet/minecraft/nbt/SnbtParsing;append(Ljava/lang/StringBuilder;Ljava/lang/String;Z)V
      intermediary method_68625 Lnet/minecraft/class_10900;method_68625(Ljava/lang/StringBuilder;Ljava/lang/String;Z)V
      official a Lvc;a(Ljava/lang/StringBuilder;Ljava/lang/String;Z)V
    • parseUnsignedShort

      static short parseUnsignedShort(String value, int radix)
      Mappings:
      Namespace Name Mixin selector
      named parseUnsignedShort Lnet/minecraft/nbt/SnbtParsing;parseUnsignedShort(Ljava/lang/String;I)S
      intermediary method_68623 Lnet/minecraft/class_10900;method_68623(Ljava/lang/String;I)S
      official a Lvc;a(Ljava/lang/String;I)S
    • decodeFloat

      @Nullable private static <T> T decodeFloat(com.mojang.serialization.DynamicOps<T> ops, SnbtParsing.Sign sign, @Nullable @Nullable String intPart, @Nullable @Nullable String fractionalPart, @Nullable @Nullable SnbtParsing.SignedValue<String> exponent, @Nullable @Nullable SnbtParsing.NumericType type, ParsingState<?> state)
      Mappings:
      Namespace Name Mixin selector
      named decodeFloat Lnet/minecraft/nbt/SnbtParsing;decodeFloat(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/nbt/SnbtParsing$Sign;Ljava/lang/String;Ljava/lang/String;Lnet/minecraft/nbt/SnbtParsing$SignedValue;Lnet/minecraft/nbt/SnbtParsing$NumericType;Lnet/minecraft/util/packrat/ParsingState;)Ljava/lang/Object;
      intermediary method_68619 Lnet/minecraft/class_10900;method_68619(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/class_10900$class_10905;Ljava/lang/String;Ljava/lang/String;Lnet/minecraft/class_10900$class_10906;Lnet/minecraft/class_10900$class_10909;Lnet/minecraft/class_9393;)Ljava/lang/Object;
      official a Lvc;a(Lcom/mojang/serialization/DynamicOps;Lvc$e;Ljava/lang/String;Ljava/lang/String;Lvc$f;Lvc$i;Lbsr;)Ljava/lang/Object;
    • parseFiniteFloat

      @Nullable private static <T> T parseFiniteFloat(com.mojang.serialization.DynamicOps<T> ops, ParsingState<?> state, String value)
      Mappings:
      Namespace Name Mixin selector
      named parseFiniteFloat Lnet/minecraft/nbt/SnbtParsing;parseFiniteFloat(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/util/packrat/ParsingState;Ljava/lang/String;)Ljava/lang/Object;
      intermediary method_68723 Lnet/minecraft/class_10900;method_68723(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/class_9393;Ljava/lang/String;)Ljava/lang/Object;
      official a Lvc;a(Lcom/mojang/serialization/DynamicOps;Lbsr;Ljava/lang/String;)Ljava/lang/Object;
    • parseFiniteDouble

      @Nullable private static <T> T parseFiniteDouble(com.mojang.serialization.DynamicOps<T> ops, ParsingState<?> state, String value)
      Mappings:
      Namespace Name Mixin selector
      named parseFiniteDouble Lnet/minecraft/nbt/SnbtParsing;parseFiniteDouble(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/util/packrat/ParsingState;Ljava/lang/String;)Ljava/lang/Object;
      intermediary method_68725 Lnet/minecraft/class_10900;method_68725(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/class_9393;Ljava/lang/String;)Ljava/lang/Object;
      official b Lvc;b(Lcom/mojang/serialization/DynamicOps;Lbsr;Ljava/lang/String;)Ljava/lang/Object;
    • join

      private static String join(List<String> values)
      Mappings:
      Namespace Name Mixin selector
      named join Lnet/minecraft/nbt/SnbtParsing;join(Ljava/util/List;)Ljava/lang/String;
      intermediary method_68626 Lnet/minecraft/class_10900;method_68626(Ljava/util/List;)Ljava/lang/String;
      official a Lvc;a(Ljava/util/List;)Ljava/lang/String;
    • createParser

      public static <T> PackratParser<T> createParser(com.mojang.serialization.DynamicOps<T> ops)
      Mappings:
      Namespace Name Mixin selector
      named createParser Lnet/minecraft/nbt/SnbtParsing;createParser(Lcom/mojang/serialization/DynamicOps;)Lnet/minecraft/util/packrat/PackratParser;
      intermediary method_68618 Lnet/minecraft/class_10900;method_68618(Lcom/mojang/serialization/DynamicOps;)Lnet/minecraft/class_9408;
      official a Lvc;a(Lcom/mojang/serialization/DynamicOps;)Lbsx;