REQUIRED_FIELDS = "_required"
DEFAULTS = "_defaults"
ADDITIONAL_PROPERTIES = "_additional_properties"
OLD_ADDITIONAL_PROPERTIES = "_additionalProperties"
IS_IMMUTABLE = "_immutable"
OPTIONAL_FIELDS = "_optional"
MUST_BE_UNIQUE = "_must_be_unique"
IGNORE_NONE_VALUES = "_ignore_none"
SERIALIZATION_MAPPER = "_serialization_mapper"
DESERIALIZATION_MAPPER = "_deserialization_mapper"
ENABLE_UNDEFINED = "_enable_undefined_value"
DISABLE_PROTECTION = "_disable_protection"
VERSIONS_MAPPING = "_versions_mapping"

SPECIAL_ATTRIBUTES = {
    REQUIRED_FIELDS,
    ADDITIONAL_PROPERTIES,
    OLD_ADDITIONAL_PROPERTIES,
    IS_IMMUTABLE,
    DEFAULTS,
    OPTIONAL_FIELDS,
    SERIALIZATION_MAPPER,
    DESERIALIZATION_MAPPER,
    IGNORE_NONE_VALUES,
    ENABLE_UNDEFINED,
    VERSIONS_MAPPING
}
CUSTOM_ATTRIBUTE_MARKER = "_custom_attribute_"
MAX_NUMBER_OF_INSTANCES_TO_VERIFY_UNIQUENESS = 100000
INDEX = "    "
