#
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#  
#    http://www.apache.org/licenses/LICENSE-2.0
#  
#  Unless required by applicable law or agreed to in writing,
#  software distributed under the License is distributed on an
#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#  KIND, either express or implied.  See the License for the
#  specific language governing permissions and limitations
#  under the License. 
#  

# asn1
# asn1 api      0 - 999
ERR_00000_NULL_OR_NEG_LENGTH_NOT_ALLOWED=Null or negative length are not allowed
ERR_00001_BIT_NUMBER_OUT_OF_BOUND=Bad bit number: out of bound
ERR_00002_CANNOT_FIND_BIT=Cannot get a bit at position {0} when the BitString contains only {1} int(s)
#ERR_00032_NULL_OID=Null OID
ERR_00003_INVALID_OID=Invalid OID: {0}
#ERR_00041_CURRENT_LENGTH_EXCEED_EXPECTED_LENGTH=Current Length is above expected Length


# asn1 ber      1000 - 1999
#    <>         1000 - 1099
ERR_01000_LENGTH_OVERFLOW=Overflow: can''t have more than 4 bytes long length
ERR_01001_LENGTH_EXTENSION_RESERVED=Length reserved extension used
ERR_01002_TLV_NULL=The current container TLV is null.
ERR_01003_VALUE_LENGTH_ABOVE_EXPECTED_LENGTH=The current Value length {0} is above the expected length {1}
ERR_01004_MORE_TLV_EXPECTED=The PDU is decoded, but we should have had more TLVs
ERR_01005_TRUNCATED_PDU=Truncated PDU. Some elements are lacking, accordingly to the grammar
ERR_01006_LENGTH_TOO_LONG_FOR_DEFINITE_FORM=Length above 126 bytes are not allowed for a definite form Length
ERR_01007_PDU_SIZE_TOO_LONG=The PDU current size ({0}) exceeds the maximum allowed PDU size ({1})
ERR_01008_REMAINING_BYTES_FOR_DECODED_PDU=The PDU has been fully decoded but there are still bytes in the buffer.

#    actions    1100 - 1199
ERR_01100_INCORRECT_LENGTH=The expected length is incorrect, expected {0}, got {1}
ERR_01101_NULL_LENGTH=The length should not be 0
ERR_01102_INVALID_INTEGER=The received bytes can''t be decoded to a valid integer: ''{0}''

#    grammar    1200 - 1299
ERR_01200_BAD_TRANSITION_FROM_STATE=Bad transition from state {0}, tag {1}

#    tlv        1300 - 1399
ERR_01300_CANNOT_PUT_PDU_IN_NULL_BUFFER=Cannot put a PDU in a null buffer !
ERR_01301_PDU_BUFFER_SIZE_TOO_SMALL=The PDU buffer size is too small !
ERR_01302_0_BYTES_LONG_BOOLEAN=The value is 0 byte long. This is not allowed for a boolean
ERR_01303_N_BYTES_LONG_BOOLEAN=The value is not 1 byte long. This is not allowed for a boolean
ERR_01304_0_BYTES_LONG_INTEGER=The value is 0 byte long. This is not allowed for an integer
ERR_01305_ABOVE_4_BYTES_INTEGER=The value is more than 4 bytes long. This is not allowed for an integer
ERR_01306_VALUE_NOT_IN_RANGE=The value is not in the range [{0}, {1}]
ERR_01307_0_BYTES_LONG_LONG=The value is 0 byte long. This is not allowed for a long
ERR_01308_ZERO_LENGTH_TLV=The TLV has a zero length. This is not allowed
ERR_01309_EMPTY_TLV=The LdapMessage should not be empty
ERR_01310_INTEGER_DECODING_ERROR=The integer cannot be decoded: {0}


# asn1-codec
ERR_01001=Encoded result is not a ByteBuffer: {0}

# dsml-engine 2000-2999
ERR_02000_FAILED_PROCESSING_DSML=Failed to process the DSML
ERR_02001_UNEXPECTED_REQUEST_TYPE=Unexpected request type {0}
ERR_02002_MISSING_CONNECTION_TO_BIND=Missing connection, can not bind
ERR_02003_LINE_COLUMN={0} - Line {1} - Column {2}
ERR_02004_MISSING_REQUEST_ID=A requestID must be specified to each request when Processing is Parallel and ReponseOrder is Unordered.
ERR_02005_INTERNAL_ERROR=Internal Error: {0}

# dsml-parser   3000-3999
ERR_03000_REQUEST_ID_REQUIRED=requestID attribute is required
ERR_03001_DN_ATTRIBUTE_REQUIRED=dn attribute is required
ERR_03002_NAME_ATTRIBUTE_REQUIRED=name attribute is required
ERR_03003_UNABLE_TO_FIND_BATCH_REQUEST=unable to find the batch request
ERR_03004_UNKNOWN_TYPE=Unknown type
ERR_03005_REQUIRE_ATTRIBUTE_TYPE=type attribute is required
ERR_03006_INCORRECT_TYPE_ATTRIBUTE_VALUE=Incorrect value for ''type'' attribute. This is not an OID.
ERR_03007_INCORRECT_CRITICALITY_VALUE=Incorrect value for ''criticality'' attribute
ERR_03008_UNEXPECTED_ERROR=An unexpected error ocurred: {0}
ERR_03009_RESULT_CODE_NOT_INTEGER=the given resultCode is not an integer
ERR_03010_CODE_ATTRIBUTE_REQUIRED=code attribute is required
ERR_03011_DESCR_DOESNT_MATCH_VALUES=descr (''{0}'') doesn''t match with the possible values
ERR_03012_REQUEST_ID_NOT_INTEGER=The given requestID is not an integer
ERR_03013_UNKNOWN_PROCESSING_VALUE=Unknown value for ''processing'' attribute.
ERR_03014_UNKNOWN_ON_ERROR_VALUE=Unknown value for ''onError'' attribute.
ERR_03015_UNKNOWN_RESPONSE_ORDER_VALUE=Unknown value for ''responseOrder'' attribute.
ERR_03016_BELOW_0_REQUEST_ID=The attribute requestID {0} can''t be below 0
ERR_03017_ABANDON_ID_NOT_INTEGER=the given abandonID is not an integer
ERR_03018_ABANDON_ID_REQUIRED=abandonID attribute is required
ERR_03019_IO_EXCEPTION_OCCURED=An IOException occurred during parsing: {0}
ERR_03020_CANT_ADD_ATTRIBUTE_VALUE=can not add attribute value
ERR_03021_PRINCIPAL_ATTRIBUTE_REQUIRED=principal attribute is required
ERR_03022_NULL_REQUEST_NAME=The request name can''t be null
ERR_03023_NEW_RDN_ATTRIBUTE_REQUESTED=newrdn attribute is required
ERR_03024_INCORRECT_DELETE_OLD_RDN_VALUE=Incorrect value for ''deleteoldrdn'' attribute
ERR_03025_OPERATION_TTRIBUTE_REQUIRED=operation attribute is required
ERR_03026_UNKNOWN_SCOPE=unknown scope. Scope must be ''baseObject'', ''singleLevel'' or ''wholeSubtree''.
ERR_03027_SCOPE_ATTRIBUTE_REQUIRED=scope attribute is required
ERR_03028_UNKNOWN_DEREFALIAS_VALUE=unknown derefAliases value. derefAliases must be ''neverDerefAliases'', ''derefInSearching'', ''derefFindingBaseObj'' or ''derefAlways''.
ERR_03029_DEREFALIA_ATTRIBUTE_REQUIRED=derefAliases attribute is required
ERR_03030_SIZE_LIMIT_NOT_INTEGER=the given sizeLimit is not an integer
ERR_03031_TIME_LIMIT_NOT_INTEGER=the given timeLimit is not an integer
ERR_03032_TYPES_ONLY_NOT_BOOLEAN=typesOnly must be a boolean (''true'' or ''false'').
ERR_03033_DN_ATTRIBUTES_NOT_BOOLEAN=dnAttributes must be a boolean (''true'' or ''false'').
ERR_03034_INCORRECT_TYPE_VALUE=Incorrect value for ''type'' attribute. This is not an OID.
ERR_03035_TYPE_ATTRIBUTE_REQUIRED=type attribute is required
ERR_03036_MISSING_TAG=The tag {0} can''t be found at this position
ERR_03037_UNEXPECTED_FILTER_TYPE=Unexpected filter type {0}
ERR_03038_BAD_OID=Bad oid: {0}
ERR_03039_PARSING_ERROR={0}
ERR_03040_UNKNOWN_OPERATION=Unknown operation. Operation can be ''add'', ''delete'' or ''replace''.
ERR_03041_NO_FILTER_ELEMENT=No filter element present in the DSML search request
ERR_03042_UNEXPECTED_FILTER_TYPE=Unexpected filter type {0}
ERR_03043_UNEXPECTED_DEREF_ALIAS=Unexpected deref alias mode {0}
ERR_03044_SHOULD_NOT_BE_A_DECORATOR=This should not be a decorator, but seems it was made into one.\n  We need to do something about this if this exception is being raise.
ERR_03045_UNIDENTIFIED_RESPONSE_TYPE=Unidentified search resp type

# dsml-parser

# api-ldap-client-api   4000-4999
# api-ldap-client-api <>            4000-4100
# api-ldap-client-api api           4100-4200
ERR_04100_UNABLE_TO_UNBIND=unable to unbind connection: {0}
ERR_04101_CANNOT_CREATE_LDAP_CONNECTION_FACTORY=unable to create LdapConnectionFactory {0}
ERR_04102_UNABLE_TO_BIND_CONNECTION=unable to bind connection: {0}
ERR_04103_UNABLE_TO_CLOSE_FAILED_CONNECTION=unable to close failed bind connection: {0}
ERR_04104_NULL_CONNECTION_CANNOT_CONNECT=Cannot connect on the server, the connection is null
ERR_04105_CONNECTION_NOT_AUTHENTICATED=connection is not authenticated
ERR_04106_OPERATION_NOT_SUPPORTED=Operation not supported
ERR_04107_UNEXPECTED_THROWN_EXCEPTION=An unexpected exception was thrown: {0}
ERR_04108_INVALID_CONNECTION=Cannot connect on the server, the connection is invalid
ERR_04109_CANNOT_CONNECT=Cannot connect
ERR_04110_CANNOT_CONNECT_TO_SERVER=Cannot connect to the server: {0}
ERR_04111_UNKNOWN_RESPONSE_FUTURE_TYPE=Unknown ResponseFuture type: {0}
ERR_04112_OP_FAILED_TIMEOUT={} failed: timeout occurred
ERR_04113_ERROR_PROCESSING_NOD=Error while processing the NoD for {}
ERR_04114_CURSOR_CLOSE_FAIL=Failed to close open cursor
ERR_04115_ERROR_LOADING_SCHEMA=There are errors while loading the schema
ERR_04116_FAIL_LOAD_SCHEMA=Failed to load the schema
ERR_04117_FAIL_LOAD_SCHEMA_FILE=Failed to load the schema from file {}
ERR_04118_SOMETHING_WRONG_HAPPENED=Message failed: something wrong has occurred
ERR_04119_TIMEOUT=Timeout has occurred
ERR_04120_TLS_HANDSHAKE_ERROR=The TLS handshake failed
ERR_04121_CANNOT_RESOLVE_HOSTNAME=Cannot connect to the server, Hostname ''{0}'' could not be resolved.
ERR_04122_SSL_CONTEXT_INIT_FAILURE=Failed to initialize the SSL context
ERR_04123_CANNOT_ADD_EMPTY_ENTRY=Cannot add an empty entry
ERR_04124_CANNOT_PROCESS_NULL_ADD_REQUEST=Cannot process a null addRequest
ERR_04125_CANNOT_ADD_NULL_ENTRY=Cannot add a null entry
ERR_04126_CANNOT_ABANDON_NEG_MSG_ID=Cannot abandon a negative message ID
ERR_04127_CANNOT_PROCESS_NULL_ABANDON_REQ=Cannot process a null abandonRequest
ERR_04128_CANNOT_PROCESS_NULL_BIND_REQ=Cannot process a null bindRequest
ERR_04129_NULL_BASE_DN=The base Dn cannot be null
ERR_04130_CANNOT_PROCESS_NULL_SEARCH_REQ=Cannot process a null searchRequest
ERR_04131_CANNOT_PROCESS_SEARCH_NULL_DN=Cannot process a searchRequest which base DN is null
ERR_04132_UNEXPECTED_RESPONSE_TYPE=Unexpected response type {0}
ERR_04133_NULL_MODIFIED_ENTRY=Entry to be modified cannot be null
ERR_04134_NULL_MODIFIED_DN=The Dn to be modified cannot be null
ERR_04135_CANNOT_PROCESS_NO_MODIFICATION_MOD=Cannot process a ModifyRequest without any modification
ERR_04136_CANNOT_PROCESS_NULL_MOD_REQ=Cannot process a null modifyRequest
ERR_04137_CANNOT_PROCESS_MOD_NULL_DN=Cannot process a modifyRequest which DN is null
ERR_04138_CANNOT_PROCESS_RENAME_NULL_DN=Cannot process a rename of a null Dn
ERR_04139_CANNOT_PROCESS_RENAME_NULL_RDN=Cannot process a rename with a null Rdn
ERR_04140_CANNOT_PROCESS_MOVE_NULL_DN=Cannot process a move of a null Dn
ERR_04141_CANNOT_PROCESS_MOVE_NULL_SUPERIOR=Cannot process a move to a null newSuperior
ERR_04142_NULL_ENTRY_DN=The entry Dn must not be null
ERR_04143_CANNOT_MOVE_ROOT_DSE=The RootDSE cannot be moved
ERR_04144_NULL_NEW_DN=The new Dn must not be null
ERR_04145_ROOT_DSE_CANNOT_BE_TARGET=The RootDSE cannot be the target
ERR_04146_CANNOT_PROCESS_NULL_MODDN_REQ=Cannot process a null modDnRequest
ERR_04147_CANNOT_PROCESS_MOD_NULL_DN_SUP=Cannot process a modifyRequest which new superior and new Rdn are null
ERR_04148_SUBTREE_CONTROL_NOT_SUPPORTED=The subtreeDelete control (1.2.840.113556.1.4.805) is not supported by the server\n The deletion has been aborted
ERR_04149_CANNOT_PROCESS_NULL_DEL_REQ=Cannot process a null deleteRequest
ERR_04150_CANNOT_PROCESS_NULL_DEL_NULL_DN=Cannot process a deleteRequest which DN is null
ERR_04151_CANNOT_PROCESS_NULL_COMP_REQ=Cannot process a null compareRequest
ERR_04152_CANNOT_PROCESS_NULL_DN_COMP_REQ=Cannot process a compareRequest which DN is null
ERR_04153_OID_DECODING_FAILURE=Failed to decode the OID {0}
ERR_04154_CANNOT_PROCESS_NULL_EXT_REQ=Cannot process a null extendedRequest
ERR_04155_ROOT_DSE_SEARCH_FAILED=Search for root DSE returned no entry
ERR_04156_FAILED_FETCHING_ROOT_DSE=Failed to fetch the RootDSE
ERR_04157_CANNOT_USE_TLS_WITH_SSL_FLAG=Cannot use TLS when the useSsl flag is set true in the configuration
ERR_04158_CANNOT_FIND_SASL_FACTORY_FOR_MECH=Cannot find a SASL factory for the {0} mechanism
ERR_04159_PROTOCOL_ERROR=Protocol error
ERR_04160_SESSION_HAS_BEEN_CLOSED=Error while sending some message: the session has been closed
ERR_04161_START_TLS_EXT_NOT_VALID_OID=StartTlsRequest.EXTENSION_OID is not a valid oid... This can''t happen
ERR_04162_INITIAL_PART_NEEDED=An ''initial'' part is needed
ERR_04163_FINAL_PART_NEEDED=A ''final'' part is needed
ERR_04164_ANY_PART_NEEDED=At least one ''any'' part is needed
ERR_04165_INITIAL_ANY_FINAL_PART_NEEDED=At least one of ''initial'', ''any'' or ''final'' part is needed
ERR_04166_ONE_FILTER_REQUIRED=At least one filter required
ERR_04167_FILTER_NOT_SET=Filter not set
ERR_04168_TRIM_LOWERCASE_FOR_CHAR_ARRAY=Trim and lowerCase only applicable to char[]
ERR_04169_RESPONSE_QUEUE_EMPTIED=The response queue has been emptied, no response was found.
ERR_04170_TIMEOUT_OCCURED=TimeOut occurred
ERR_04171_CANNOT_PARSE_MATCHED_DN=Could not parse matchedDn while transforming Codec value to Internal: {0}
ERR_04172_KEYSTORE_INIT_FAILURE=Keystore initialisation failure
ERR_04173_ALGORITHM_NOT_FOUND=Not TrustManagerFactory found for algorithm ''{0}''
ERR_04174_INPUT_FILE_NAME_NULL=LdapClientTrustStoreManager constructor : input file name is null
ERR_04175_TRUST_STORE_FILE_NULL=TrustStoreFile : file not found
ERR_04176_TRUST_MANAGER_NOT_FOUND=LdapClientTrustStoreManager.getTrustManagers : file not found
ERR_04177_NO_SUCH_ALGORITHM=LdapClientTrustStoreManager.loadTrustManagers caught NoSuchAlgorithmException
ERR_04178_CANT_LOAD_KEY_STORE=LdapClientTrustStoreManager.loadTrustManagers caught KeyStoreException
ERR_04179_TRUST_STORE_CANT_BE_READ=LdapClientTrustStoreManager.getTrustStore finally block on input stream close operation caught IOException={0}
ERR_04180_FILE_DOES_NOT_EXIST_ON_CLASSPATH=LdapClientTrustStoreManager.getTrustStoreInputStream file does not exist on classpath

# api-ldap-client-api template      4200-4300

# api-ldap-codec-core   5000-5999
# api-ldap-codec-core <>        5000-5099
ERR_05000_NULL_REQUEST_NAME=The request name must not be null
ERR_05001_EMPTY_MATCHING_RULE=The matching rule is empty
ERR_05002_ENTRY_NULL_VALUE=Entry can''t be null

# api-ldap-codec-core actions   5100-5199
ERR_05100_ZERO_LENGTH_MESSAGE_ID_NOT_ALLOWED=The messageId has a zero length. This is not allowed
ERR_05101_NULL_MESSAGE_ID_NOT_ALLOWED=The messageId should not be null
ERR_05102_INVALID_MESSAGE_ID=The Message Id {0} is invalid: {1}. The message ID must be between (0 .. 2 147 483 647)
ERR_05103_INVALID_URL=The URL {0} is not valid: {1} 
ERR_05104_INVALID_URL=Invalid URL: {0}
ERR_05105_REFERRAL_MUST_NOT_BE_NULL=The Referrals must not be null
ERR_05106_INCORRECT_DN_GIVEN_INVALID=Incorrect DN given: {0} ({1}) is invalid: {2}
ERR_05107_INCORRECT_DN_GIVEN=Incorrect DN given: {0}
ERR_05108_INVALID_RESULT_CODE=The result code {0} is invalid: {1}. The result code must be between (0 .. 121)
ERR_05109_ABANDON_REQ_MSG_ID_NULL=The AbandonRequest messageId must not be null
ERR_05110_INVALID_ABANDON_REQ_MSG_ID=The Abandoned Message Id {0} is invalid: {1}. The message ID must be between (0 .. 2 147 483 647)
ERR_05111_NULL_OR_EMPTY_TYPE_NOT_ALLOWED=Null or empty types are not allowed
ERR_05112_ERROR_WITH_ATTRIBUTE_TYPE=Error while injecting the AttributeType
ERR_05113_INVALID_DN=Invalid Dn given: {0} ({1}) is invalid"
ERR_05114_ERROR_MESSAGE={0} : {1}"
ERR_05115_EMTPY_ENTRY_DN_GIVEN=Empty entry DN given
ERR_05116_SASL_CREDS_CANT_BE_NULL=The SaslCredential must not be null
ERR_05117_INVALID_VERSION=The version {0} is invalid: {1}. The version must be between (0 .. 127)
ERR_05118_NULL_ATTRIBUTE_DESC=The attribute description must not be null
ERR_05119_NULL_ENTRY=The entry must not be null
ERR_05120_INVALID_DELETE_DN=The DN to delete: {0} ({1}) is invalid: {2}
ERR_05121_INVALID_REQUEST_NAME_OID=The Request name is not a valid OID : {0} ({1}) is invalid
ERR_05122_NULL_NAME=The name must not be null
ERR_05123_TYPE_CANT_BE_NULL=The type can''t be null
ERR_05124_INVALID_OPERATION=Invalid operation ({0}), it should be 0, 1 or 2
ERR_05125_INVALID_OLD_RDN=The oldRdn flag {0} is invalid: {1}. It should be 0 or 255
ERR_05126_RDN_MUST_NOT_BE_NULL=The newrdn must not be null
ERR_05127_INVALID_NEW_RDN=Invalid new Rdn given : {0} ({1}) is invalid
ERR_05128_NULL_SUPERIOR=The new superior must not be null if the flag ''delete old DN'' is set to true
ERR_05129_INVALID_NEW_SUPERIOR=Invalid new superior Dn given : {0} ({1}) is invalid
ERR_05130_NON_NULL_UNBIND_LENGTH=The length of a UnBindRequest must be null, the actual value is {0}
ERR_05131_UNBIND_REQUEST_LENGTH_MUST_BE_NULL=The length of a UnBindRequest must be null
ERR_05132_INVALID_ROOT_DN=Invalid root Dn given : {0} ({1}) is invalid
ERR_05133_INTERMEDIATE_RESPONSE_INVALID_OID=The Intermediate Response name is not a valid OID : {0} ({1}) is invalid
ERR_05134_EMPTY_AND_FILTER_PDU=The And filter PDU must not be empty
ERR_05135_EMPTY_ATTRIBUTE_DESCRIPTION=The attribute description is empty
ERR_05136_EMPTY_NOT_FILTER_PDU=The Not filter PDU must not be empty
ERR_05137_EMPTY_OR_FILTER_PDU=The Or filter PDU must not be empty
ERR_05138_EMPTY_SUBSTRING_FILTER_PDU=The Substring filter PDU must not be empty
ERR_05139_EMPTY_SUBSTRING_ANY_FILTER_PDU=The substring any filter is empty
ERR_05140_EMPTY_SUBSTRING_FINAL_FILTER_PDU=The substring final filter is empty
ERR_05141_NULL_MATCHING_RULE_ASSERTION_TYPE=The type cannot be null in a MatchingRuleAssertion
ERR_05142_ZERO_LENGTH_MESSAGE=The LdapMessage has a zero length. This is not allowed
ERR_05143_EMPTY_MESSAGE=The LdapMessage should not be empty
ERR_05144_NULL_BIND_REQUEST=The BindRequest must not be null
ERR_05145_NULL_ADD_REQUEST=The AddRequest must not be null
ERR_05146_NULL_ADD_RESPONSE=The AddResponse must not be null
ERR_05147_NULL_ATTRIBUTE_TYPE=The AttributeType can''t be empty
ERR_05148_NULL_COMPARE_REQUEST=The CompareResponse must not be null
ERR_05149_BAD_SCOPE=The scope is not in [0..2]: {0}
ERR_05150_BAD_DEREF_ALIAS=The derefAlias is not in [0..3]: {0}
ERR_05151_BAD_SIZE_LIMIT=The sizeLimit is not a valid Integer: {0}
ERR_05152_BAD_TIME_LIMIT=The timeLimit is not a valid Integer: {0}
ERR_05153_NULL_ATTRIBUTE_DESCRIPTION=The attribute description should not be null
ERR_05154_EMPTY_SUBSTRING_INITIAL_FILTER_PDU=The substring initial filter is empty
ERR_05155_FLAG_TYPE_INVALID=The types only flag {0} is invalid: {1}. It should be 0 or 255
ERR_05156_INVALID_ATTRIBUTE_TYPE=The Attribute type {0} is invalid : {1}
ERR_05157_INVALID_DN=The Dn {0} is invalid : {1}
ERR_05158_INVALID_REQUEST_VALUE=The encoded value ''{0}'' cannot be decoded
ERR_05159_INVALID_RESPONSE_NAME_OID=The Response name is not a valid OID : {0} ({1}) is invalid

# api-ldap-codec-core api       5200-5299
ERR_05200_NOT_INITIALIZED_YET=Not initialized yet!
ERR_05201_INSTANCE_ALREADY_SET=The LdapCodecService is already set to an instance of {0}
ERR_05202_FAILED_TO_INSTANCIATE=Failed to instantiate a viable instance, instantiating new instance of {0}
ERR_05203_CODEC_ARGS_CANNOT_BE_NULL=Codec argument cannot be null
ERR_05204_LDAP_DECODER_FAILURE=Ldap decoder failure: {0}
ERR_05205_PDU_DOES_NOT_CONTAIN_ENOUGH_DATA=Ldap decoder failure, PDU does not contain enough data
ERR_05206_INPUT_STREAM_TOO_SHORT_PDU=The input stream does not contain a full PDU

# api-ldap-codec-core controls  5300-5399
ERR_05300_CANT_DECODE_CHANGE_TYPE=failed to decode the changeType for EntryChangeControl
ERR_05301_INVALID_PREVIOUS_DN=The previousDN field should not contain anything if the changeType is not MODDN
ERR_05302_PREVIOUS_DN_NOT_ALLOWED=Previous DN is not allowed for this change type
ERR_05303_BAD_PREVIOUS_DN=Bad Previous DN: ''{0}''
ERR_05304_FAILED_TO_DECODE_PREVIOUS_DN=failed to decode the previous DN
ERR_05305_CHANGE_NUMBER_DECODING_ERROR=failed to decode the changeNumber for EntryChangeControl
ERR_05306_PAGED_SEARCH_SIZE_DECODING_ERROR=failed to decode the size for PagedSearchControl
ERR_05307_CHANGE_TYPES_DECODING_ERROR=failed to decode the changeTypes for PSearchControl
ERR_05308_CHANGE_ONLY_DECODING_ERROR=failed to decode the changesOnly for PSearchControl
ERR_05309_RETURN_ECS_DECODING_ERROR=failed to decode the returnECs for PSearchControl
ERR_05310_INVALID_VISIBILITY_FLAG=The visibility flag {0} is invalid: {1}. It should be 0 or 255

# api-ldap-codec-core osgi      5400-5499
ERR_05400_CONTROL_ARGUMENT_WAS_NULL=Control argument was null.
ERR_05401_FIGURE_OUT_HOW_TO_TRANSFORM=Figure out how to transform
ERR_05402_UNABLE_TO_ENCODE_RESPONSE_VALUE=Unable to decode encoded response value: {0}

# api-ldap-codec-core search    5500-5599
ERR_05500_NULL_MATCHING_RULE_AND_TYPE=Cannot have a null matching rule and a null type
ERR_05501_MORE_THAN_ONE_FILTER_FOR_NOT_FILTER=Cannot have more than one Filter within a Not Filter
ERR_05502_NULL_INITIAL_ANY_OR_FINAL_SUBSTRING=Cannot have a null initial, any and final substring
ERR_05503_UNEXPECTED_FILTER_TYPE=Unexpected filter type: {0}

# api-ldap-codec-standalone 6000-6999
ERR_06000_FAILED_TO_LOAD_DEFAULT_CODEC_FACTORY=Failed to load default codec factory.

# api-ldap-extras-aci   7000-7999
ERR_07000_FILTER=filter
ERR_07001_NULL_IDENTIFICATION_TAG=identificationTag parameter is null
ERR_07002_BAD_PRECENDENCE=precedence parameter not in [0-255]: {0}
ERR_07003_NULL_AUTHENTICATION_LEVEL=authenticationLevel parameter is null
ERR_07004_PARSER_FAILURE_ACI_ITEM=Parser failure on ACIItem:\n\t{0}\nAntlr exception trace:\n{1} [Line:{2} - Column:{3}]
ERR_07005_MISSING_MANDATORY_ACIITEM=Missing mandatory ACIItem components: {0}
ERR_07006_EXPECTING_INTEGER_TOKEN=Expecting INTEGER token having an Integer value between 0 and 255, found {0}
ERR_07007_DUPLICATED_PROTECTED_ITEM=Protected Items cannot be duplicated. {0}
ERR_07008_DN_PARSER_FAILED=dnParser failed for {0} , {1}
MSG_07009_FILTER_PARSER_FAILED=filterParser failed. {0}
MSG_07010_DUPLICATED_GRANT_AND_DENIAL=Duplicated GrantAndDenial bit: {0}
MSG_07011_DUPLICATED_USER_CLASSES=User Classes cannot be duplicated. {0}
ERR_07012_MISSING_MANDATORY_USER_PERMISSION=Missing mandatory userPermission components: {0}

# api-ldap-extras-codec 8000-8999
# api-ldap-extras-codec <>           8000-8099
ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER=Cannot put a PDU in a null buffer !
ERR_08001_CANNOR_DECODE_REFRESH_DELETES=failed to decode the refreshDeletes flag for SyncDoneValueControl
ERR_08002_CANNOT_FIND_CONTROL_FACTORY=failed to find a control factory for control OID: {0}

# api-ldap-extras-codec controls     8100-8199
ERR_08100_SYNC_REQUEST_VALUE_MODE_DECODING_FAILED=failed to decode the mode for SyncRequestValueControl
ERR_08101_RELOAD_HINT_DECODING_FAILED=failed to decode the reloadHint flag for SyncRequestValueControl
ERR_08102_SYNC_STATE_VALUE_MODE_DECODING_FAILED=failed to decode the mode for SyncStateValueControl
ERR_08103_BAD_CONTROL_CRITICALITY=The control criticality flag {0} is invalid: {1}. It should be 0 or 255
ERR_08104_AD_DIR_SYNC_FLAG_DECODING_FAILURE=Error while decoding the AdDirSync flag, unknown value: {0}
ERR_08105_AD_DIR_SYNC_FLAG_DECODING_ERROR=Error while decoding the AdDirSync flag: {0}
ERR_08106_AD_DIR_SYNC_MAX_RETURN_LENGTH_DECODING_ERROR=Error while decoding the AdDirSync maxReturnLength value: {0} 
ERR_08107_AD_DIR_SYNC_PARENTS_FIRST_DECODING_ERROR=Error while decoding the AdDirSync parentsFirst value: {0}
ERR_08108_AD_DIR_SYNC_MAX_ATTRIBUTE_COUNT_DECODING_ERROR=Error while decoding the AdDirSync maxAttributeCount value: {0}
ERR_08109_BAD_CONTROL_VALUE=Bad control value: {0}
ERR_08110_BAD_PASSWORD_EXPIRED_VALUE=An error occurred during decoding the response message: found a non zero value {0} for the password expired control value. According to the LDAP reference guide, only values of zero are valid.

# api-ldap-extras-codec extended     8200-8399
ERR_08200_CANCELID_DECODING_FAILED=failed to decode the cancelId, the value should be between 0 and 2^31-1, it is ''{0}''
ERR_08201_INVALID_TARGET_DN=invalid target DN {0}
ERR_08202_NULL_TARGET_DN_DECODING_FAILED=failed to decode the target DN, it cannot be null or empty it is ''{0}''
ERR_08203_INVALID_ISSUER_DN=invalid issuer DN {0}
ERR_08204_INVALID_SUBJECT_DN=invalid subject DN {0}
ERR_08205_CANNOT_DECODE_DELAY=failed to decode the delay, the value should be between 0 and 86400 seconds, it is ''{0}''
ERR_08206_TIME_OFFLINE_DECODING_FAILED=failed to decode the timeOffline, the value should be between 0 and 720 minutes, it is ''{0}''
ERR_08207_SP_LANGUAGE_NULL=The stored procedure language is null
ERR_08208_NULL_PROCEDURE=The procedure can''t be null
ERR_08209_NULL_PARAMETER_TYPE=The parameter type can''t be null
ERR_08210_NULL_PARAMETER_VALUE=The parameter value can''t be null
ERR_08211_EMPTY_PARAMETER_VALUE=The parameter value is empty. This is not allowed.
ERR_08212_PDU_BUFFER_TOO_SMALL=The PDU buffer size is too small !
ERR_08213_NULL_CONTROL_LENGTH=The length of a control must not be null
ERR_08214_NULL_OID=The OID must not be null
ERR_08215_INVALID_CONTROL_OID=The control type {0} is not a valid OID
ERR_08216_GRACEFUL_SHUTDOWN_PAYLOAD_ENCODING_FAILED=Failed to encode payload GracefulShutdownRequest
ERR_08217_PAYLOAD_DECODING_ERROR=failed to decode payload
ERR_08218_CERT_GENERATE_PAYLOAD_ENCODING_FAILED=Failed to encode payload CertGenerateRequest
ERR_08219_RESPONSE_DECODING_FAILED=Failed while decoding response
ERR_08220_SP_PAYLOAD_ENCODING_FAILED=Failed to encode payload StoredProcedureRequest
ERR_08221_BAD_END_TRANSACTION_COMMIT=The EndTransactionRequest Commit value {0} is invalid: {1}. It should be 0 or 255
ERR_08222_BAD_END_TRANSACTION_MESSAGE_ID=The endTransactionResponse UpdateControl MessageID value {0} is invalid: {1}. It should be a numeric value
ERR_08223_INVALID_CONTROL_LIST=Invalid control list {0}: {1}
ERR_08224_NULL_URL_DECODING_FAILURE=failed to decode a null URL
ERR_08225_URL_DECODING_FAILURE=failed to decode the URL ''{0}''
ERR_08226_AUTHZID_TOO_SHORT_MISSING_U_OR_DN=authzId too short. Must starts with either u: or dn:
ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN=authzId Must starts with either u: or dn:, it starts with {0}
ERR_08228_DECORATED_SP_NULL=decorated stored procedure request is null
ERR_08229_UNEXPECTED_SYNC_INFO=Unexpected SynchronizationInfo: {0}
ERR_08230_WHOAMI_PAYLOAD_ENCODING_FAILED=Failed to encode payload WhoAmIRequest
ERR_08231_START_TRANSACTION_PAYLOAD_ENCODING_FAILED=Failed to encode payload for StartTransactionRequest
ERR_08232_END_TRANSACTION_PAYLOAD_ENCODING_FAILED=Failed to encode payload for EndTransactionRequest

# api-ldap-extras-codec intermediate 8300-8399
ERR_08300_REFRESH_DONE_DECODING_FAILED=failed to decode the refreshDone flag for SyncInfoValueControl
ERR_08301_REFRESH_DELETES_DECODING_FAILED=failed to decode the refreshDeletes flag for SyncInfoValueControl
ERR_08302_BAD_UUID_VALUE_INCORRECT_LENGTH=Bad UUID value, its length is incorrect ( it should be 16 bytes long)

# api-ldap-extras-codec-api 9000-9999
# api-ldap-extras-codec-api <>           9000 -  9099
# none

# api-ldap-extras-codec-api controls     9100 -  9199
ERR_9100_UNKNOWN_PASSWORD_POLICY_ERROR=Unknown password policy error value {0}
ERR_9101_UNKNOWN_MODIFY_DN_OP_TYPE=Unknown modify dn operation type {0}
ERR_9102_UNKNOWN_VLV_RESPONSE=Unknown VLV response result code {0}
ERR_9103_UNKNOWN_SYNC_STATE_TYPE=Unknown SyncStateTypeEnum value {0}
ERR_9104_CLASS_LOADING_OF_PROC_TYPE_NOT_IMPLEMENTED=class loading of procedure type not implemented
ERR_9105_CONVERSION_VALUE_TO_JAVA_NOT_IMPLEMENTED=conversion of value to java type not implemented

# api-ldap-extras-codec-api extended     9200 -  9299
ERR_9200_INTERGER_DECODING_FAILURE=Failed to decode INTEGER: {0}

# api-ldap-extras-codec-api intermediate 9300 -  9399
ERR_9300_UNEXPECTED_SYNCINFO=Unexpected SynchronizationInfo: {0}

# api-ldap-extras-sp 10000-10999
# none

# api-ldap-extras-trigger 11000-11999
ERR_11000_TRIGGER_SPECIFICATION_INIT_WITH_NULL=TriggerSpecification cannot be initialized with any NULL argument.
ERR_11001_TRIGGER_SPECIFICATION_INIT_WITH_EPTY_SPEC_LIST=TriggerSpecification cannot be initialized with emtpy SPSPec list.
ERR_11002_TRIGGER_SPECIFICATION_PARSER_FAILURE=Parser failure on Trigger Specification:\n\t{0}\nAntlr exception trace:\n{1}
ERR_11003_NAME_PARSE_FAILED=name parse failed for {0} {1}

# api-ldap-extra-utils <> 12000-12999
ERR_12000_CANNOT_PROCESS_EMPTY_DN=Cannot process an empty Dn
ERR_12001_CANNOT_ADD_NODE_CHILD_EXISTS=Cannot add a node to a node already having an element
ERR_12002_CANNOT_ADD_NODE_ALREADY_EXISTS=Cannot add a node with no element if it already exists

# api-ldap-model <> 13000-13999
ERR_13000_INVALID_LENGTH=Invalid len
ERR_13001_INVALID_MAXOLEN=Invalid maxolen
ERR_13002_BAD_NUMBERS_OF_ROUNDS=Bad number of rounds
ERR_13003_BAD_SALT_LENGTH=Bad salt length
ERR_13004_INVALID_SALT_VERSION=Invalid salt version
ERR_13005_INVALID_SALT_REVISION=Invalid salt revision
ERR_13006_MISSING_SALT_ROUNDS=SMissing salt rounds
ERR_13008_ROUNDS_EXCEEDED_MAXIMUM=rounds exceeds maximum (30)
ERR_13009_LOG_ROUNDS_EXCEEDED_MAXIMUM=log_rounds exceeds maximum (30)
ERR_13010_UNKNOWN_HASH_ALGO=Unknown hash algorithm {0}
ERR_13011_ATTRIBUTE_INVALID=Attribute {0} is invalid
ERR_13012_UNEXPECTED_HOST_TYPE_ENUM=Unexpected HostTypeEnum {0}
ERR_13013_UNKNOWN_AUTHENT_LEVEL=Unknown AuthenticationLevel {0}
ERR_13014_DN_ATTR_FLAG_INVALID=The DN attributes flag {0} is invalid: {1}. It should be 0 or 255
ERR_13015_NULL_OR_EMPTY_CSN=The CSN must not be null or empty
ERR_13016_INCORRECT_CSN_LENGTH=The CSN''s length is incorrect, it should be 40 chars long
ERR_13017_CANT_FIND_SHARP_IN_CSN=Cannot find a ''#'' in the CSN ''{0}''
ERR_13018_TIMESTAMP_NOT_LONG_ENOUGH=The timestamp is not long enough
ERR_13019_CANNOT_PARSE_TIMESTAMP=Cannot parse the timestamp: ''{0}''
ERR_13020_INVALID_MICROSECOND=The microseconds part is invalid
ERR_13021_INVALID_CHANGE_COUNT=The changeCount ''{0}'' is not a valid number
ERR_13022_MISSING_SHARP_IN_CSN=Missing a ''#'' in the CSN ''{0}''
ERR_13023_REPLICA_ID_NULL=The replicaID must not be null or empty
ERR_13024_INVALID_REPLICA_ID=The replicaId ''{0}'' is not a valid number
ERR_13025_NO_OPERATION_NUMBER=The operationNumber is absent
ERR_13026_INVALID_OPERATION_NUMBER=The operationNumber ''{0}'' is not a valid number
ERR_13027_UNACCEPTABLE_RESULT_CODE=Unacceptable result code for this exception type: {0}
ERR_13028_SUBTREE_SPEC_PARSER_FAILURE=Parser failure on subtree specification:\n\t{0}\nAntlr exception trace:\n{1}
ERR_13029_NEGATIVE_MINIMUM_BASE=A negative minimum base distance is undefined!
ERR_13030_LDAP_URL_MUST_START_WITH_LDAP=A LdapUrl must start with "ldap://" or "ldaps://"
ERR_13031_INVALID_HOST_PORT=The hostport is invalid
ERR_13032_SLASH_EXPECTED=Bad character, position {0}, ''{1}'', ''/'' expected
ERR_13033_INVALID_DN=The DN is invalid
ERR_13034_QUESTION_MARK_EXPECTED=Bad character, position {0}, ''{1}'', ''?'' expected
ERR_13035_INVALID_ATTRIBUTES=Attributes are invalid
ERR_13036_INVALID_SCOPE=Scope is invalid
ERR_13037_INVALID_FILTER=Filter is invalid
ERR_13038_INVALID_EXTENSIONS=Extensions are invalid
ERR_13039_INVALID_CHAR_AT_LDAP_URL_END=Invalid character at the end of the ldapUrl
ERR_13040_INVALID_URL_ENCODING=Invalid URL encoding
ERR_13041_INVALID_LDAP_URL_EMPTY_STRING=The string is empty: this is not a valid LdapURL.

# api-ldap-model cursor         13100-13199
ERR_13100_FAILURE_ON_UNDERLYING_CURSOR=Failure on underlying Cursor.
ERR_13101_MONITOR=monitor
ERR_13102_UNSUPPORTED_OPERATION=The method {0} is not supported
ERR_13103_REMOVAL_NOT_SUPPORTED=Underlying Cursor does not support removal.
ERR_13104_EMPTY_CURSOR=This cursor is empty and cannot return elements!
ERR_13105_START_INDEX_OUT_OF_RANGE=start index ''{0}'' out of range
ERR_13106_END_INDEX_OUT_OF_RANGE=end index ''{0}'' out of range
ERR_13107_START_INDEX_ABOVE_END_INDEX=start index ''{0}'' greater than or equal to end index ''{1}'' just does not make sense
ERR_13108_LIST_MAY_BE_SORTED=don''t know if list is sorted and checking that is not worth it
ERR_13109_CURSOR_NOT_POSITIONED=Cursor not positioned at an element
ERR_13110_NO_COMPARATOR_CANT_MOVE_BEFORE=Without a comparator I cannot advance to just before the specified element.
ERR_13111_NO_COMPARATOR_CANT_MOVE_AFTER=Without a comparator I cannot advance to just after the specified element.
ERR_13112_CANNOT_ACCESS_IF_BEFORE_FIRST=Cannot access element if positioned before first.
ERR_13113_CANNOT_ACCESS_IF_AFTER_LAST=Cannot access element if positioned after last.

# api-ldap-model entry           13200-13299
ERR_13200_VALUE_CANT_BE_NORMALIZED=The value ''{0}'' can''t be normalized, it hasn''t been added
ERR_13201_EMPTY_OPTION_NOT_ALLOWED=An empty option is not allowed
ERR_13202_INVALID_OID_MISSING_NUMBER=Invalid OID, missing a number after a ''.''
ERR_13203_ATTRIBUTE_TYPE_NULL_NOT_ALLOWED=The attributeType should not be null
ERR_13204_NULL_ATTRIBUTE_ID=The ID should not be null or empty
ERR_13205_CANNOT_REMOVE_VAL_MISSING_ATTR=The removal of values for the missing ''{0}'' attribute is not possible
ERR_13206_CANNOT_REMOVE_VAL_BAD_ATTR=The removal of values for the bad ''{0}'' attribute is not possible
ERR_13207_VALUE_ALREADY_EXISTS=The value ''{0}'' already exists in the attribute ({1})
ERR_13208_ATTRIBUTE_IS_SINGLE_VALUED=The attribute ''{0}'' is single valued, we can''t add no more values into it
ERR_13209_NULL_ATTRIBUTE_TYPE=The AttributeType cannot be null
ERR_13210_SYNTAX_INVALID=Syntax invalid for ''{0}''
ERR_13211_BYTE_VALUE_EXPECTED=The value must be a byte[], as its AttributeType is not H/R
ERR_13212_ERROR_ADDING_VALUE=Error while adding values into the ''{0}'' attribute. Error: {1} 
ERR_13213_VALUE_MUST_BE_A_STRING=The value must be a String, as its AttributeType is H/R
ERR_13214_VALUE_EXPECT_BYTES=The value is expected to be a byte[]
ERR_13215_VALUE_EXPECT_STRING=The value is expected to be a String
ERR_13216_AT_ID_NULL=The attributeType ID should not be null or empty
ERR_13217_FAILED_LOOKUP_AT=An exception has been raised while looking for attribute id ''{0}''
ERR_13218_AT_DOES_NOT_EXIST=The attribute ''{0}'' does not exist in the entry
ERR_13219_NULL_SYNTAX_CHECKER=Cannot validate {0} with a null SyntaxChecker
ERR_13220_NO_NORMALIZER=The MatchingRule {0} does not have a normalizer. This is invalid
ERR_13221_INVALID_OID_MISSING_DOT=Invalid OID, missing ''.''
ERR_13222_EMPTY_ATTRIBUTE=Empty attribute
ERR_13223_BAD_CHAR_IN_ATTRIBUTE=Bad char in attribute
ERR_13224_FAILED_TO_COMPARE_NORM_VALUES=Failed to compare normalized values for {0} and {1}
ERR_13225_NO_SYNTAX=There is no Syntax associated with this attributeType
ERR_13226_CANNOT_ADD_ATTRIBUTE_NO_ID=Cannot add an attribute without an ID
ERR_13227_NON_STRING_VALUE_NOT_ALLOWED=Only String values supported for objectClass attribute
ERR_13228_AT_LIST_NULL_ELEMENTS=The EntryAttribute list should not contain null elements
ERR_13229_ID_INCOMPATIBLE_WITH_AT=The ''{0}'' id is not compatible with the ''{1}'' attribute type
ERR_13230_INCORRECT_ATTRIBUTE=The attribute ''{0}'' is incorrect
ERR_13231_NO_VALID_AT_FOR_THIS_ID=Cannot find a valid AttributeType for the ''{0}'' id
ERR_13232_NO_VALUE_NOT_ALLOWED=Cannot create or add an Attribute with no value in it
ERR_13233_ATTRIBUTE_ID_MUST_BE_A_STRING=The Attribute ID #{0} must be a String
ERR_13234_ATTRIBUTE_VAL_STRING_OR_BYTE=The Attribute value #{0} must be a String or a byte[]
ERR_13235_NULL_ID_WITH_NULL_AT_NOT_ALLOWED=Cannot set a null ID with a null AttributeType
ERR_13236_ENTRY_IMMUTABLE_CANT_ADD_ATTRIBUTE=Cannot add an attribute: the entry {0} is immutable.
ERR_13237_ENTRY_IMMUTABLE_CANT_PUT_VALUE=Cannot put a value: the entry {0} is immutable.
ERR_13238_ENTRY_IMMUTABLE_CANT_REMOVE_VALUE=Cannot remove a value: the entry {0} is immutable.
ERR_13239_ENTRY_IMMUTABLE_CANT_RENAME_ENTRY=Cannot rename the entry {0} is immutable.
ERR_13240_ENTRY_IMMUTABLE_CANT_CLEAR_ENTRY=Cannot clear the entry {0} is immutable.
ERR_13241_ENTRY_IMMUTABLE_CANT_READ_ENTRY=Cannot read the entry {0} is immutable.
ERR_13242_ENTRY_IMMUTABLE_CANT_SERIALIZE=Cannot serialize the entry {0} is immutable.
ERR_13243_ENTRY_IMMUTABLE_CANT_DESERIALIZE=Cannot deserialize the entry {0} is immutable.
ERR_13244_ID_AT_NOT_COMPATIBLE=ID ''{0}'' and AttributeType ''{1}'' are not compatible
ERR_13245_AT_PARAMETER_NULL=The AttributeType parameter should not be null
ERR_13246_INVALID_VALUE_PER_SYNTAX=Invalid upValue per syntax
ERR_13247_INVALID_VALUE_CANT_NORMALIZE=Invalid upValue, it can''t be normalized
ERR_13248_CANNOT_READ_ENTRY=Cannot read an entry
ERR_13249_NO_COMPARATOR_FOR_AT=No comparator for attributeType {0}
ERR_13250_VALUE_MISSING_AT_THE_END=A value is missing at the end

# api-ldap-model filter          13300-13399
ERR_13300_BAD_PLACE_HOLDERS_NUMBER=Filter template {0} has {1} place-holders but {2} arguments provided.
ERR_13301_NO_ORDERING_MR_FOR_AT=There is no ORDERING matchingRule for AttributeType {0}
ERR_13302_CANNOT_CREATE_NODE_NULL_ATTR=Cannot create a Node with a null Attribute
ERR_13303_SCOPENODE_IN_REFINEMENT=ScopeNode can''t be part of a refinement
ERR_13304_ASSERTIONNODE_IN_REFINEMENT=AssertionNode can''t be part of a refinement
ERR_13305_ASSERTION_VALUE_EXPECTED=AssertionValue expected
ERR_13306_MR_OR_ASSERTION_VALUE_EXPECTED=Expected MatchingRule or assertionValue
ERR_13307_MATCHING_RULE_EXPECTED=MatchingRule expected
ERR_13308_NOT_A_VALID_ESCAPED_VALUE=Not a valid escaped value
ERR_13309_BAD_SUBSTRING=Bad substring
ERR_13310_BAD_CHAR=Bad char
ERR_13311_EXPECTING_EQUAL=Expecting a ''\=''
ERR_13312_ITEM_EXPECTED=An item is expected
ERR_13313_EMPTY_FILTERCOMP=Empty filterComp
ERR_13314_FILTER_MISSING_OPEN_PAR=No ''('' at the beginning of the filter
ERR_13315_FILTER_MISSING_CLOSE_PAR=The filter has no right parenthese
ERR_13316_EMPTY_FILTER=Empty filter
ERR_13317_NO_MORE_THAN_ONE_ELEM_IN_NOT=Cannot add more than one element to a negation node.
ERR_13318_INVALID_ATTR_IN_REFINEMENT=Invalid attribute {0} for a refinement

# api-ldap-model ldif            13400-13499
ERR_13400_ENTRY_WITH_TWO_DNS=An entry must not have two DNs, at line {0}
ERR_13401_CHANGE_NOT_ALLOWED=We cannot have changes when reading a file which already contains entries, at line {0}
ERR_13402_EXPECTING_ATTRIBUTE_TYPE=Expecting an attribute type
ERR_13403_CANNOT_PARSE_LDIF_BUFFER=Cannot parse the ldif buffer: {0}
ERR_13404_EMPTY_DN_NOT_ALLOWED=A ldif entry must have a non empty DN, at line {0}
ERR_13405_DN_EXPECTED=A ldif entry must start with a DN, at line {0}
ERR_13406_FILE_NOT_FOUND=File {0} not found, at line {1}
ERR_13407_ERROR_READING_FILE=File {0} error reading, at line {1}
ERR_13408_BAD_PROTOCOL=Protocols other than file: are not supported
ERR_13409_CONTROL_WITHOUT_OID=The control does not have an OID, at line {0}
ERR_13410_INVALID_CRITICALITY=The control must have a valid criticality, at line {0}
ERR_13411_BAD_MODRDN_OPERATION=A modrdn operation must start with a "newrdn:", at line {0}
ERR_13412_NO_DELETEOLDRDN=A modrdn operation must contains a "deleteoldrdn:", at line {0}
ERR_13413_BAD_MODIFY_SEPARATOR=Bad state: we should have come from an ATTRVAL_SPEC, at line {0}
ERR_13414_BAD_MODIFY_SEPARATOR_2=Bad state: we should have come from a MOD_SPEC or an ATTRVAL_SPEC, at line {0}
ERR_13415_MOD_ATTR_AND_VALUE_SPEC_NOT_EQUAL=The modified attribute and the attribute value spec must be equal, at line {0}
ERR_13416_NEW_SUPERIOR_NEEDED=A moddn operation must contains a "newsuperior:", at line {0}
ERR_13417_UNKNOWN_OPERATION=Unknown operation, at line {0}
ERR_13418_CONTROL_ALREADY_FOUND=We already have had a control, at line {0}
ERR_13419_CHANGETYPE_ALREADY_FOUND=We already have had a changeType, at line {0}
ERR_13420_AT_VALUE_NOT_ALLOWED_AFTER_CONTROL=We can''t have a Attribute/Value pair after a control or a changeType, at line {0}
ERR_13421_ATTRIBUTE_TYPE_EXPECTED=Expecting an attribute type, at line {0}
ERR_13422_UNKNOWN_ENTRY_TYPE=Unknown entry type, at line {0}
ERR_13423_VERSION_NOT_A_NUMBER=The version is not a number, at line {0}
ERR_13424_EMPTY_CONTINUATION_LINE=Cannot have an empty continuation line, at line {0}
ERR_13425_EMPTY_FILE_NAME=Cannot parse an empty file name !
ERR_13426_CANNOT_PARSE_INEXISTANT_FILE=Cannot parse the file {0}, it does not exist
ERR_13427_CANNOT_FIND_FILE=Cannot find file {0}
ERR_13428_CANNOT_PARSE_LDIF=Cannot parse the ldif buffer: {0}
ERR_13429_ERROR_PARSING_LDIF=Error while parsing ldif: {0}
ERR_13430_PREMATURE_LDIF_ITERATOR_TERMINATION=Premature termination of LDIF iterator
ERR_13431_UNEXPECTED_CHANGETYPE=Unexpected ChangeType: {0}
ERR_13432_NULL_ADDED_CONTROL=The added control must not be null
ERR_13433_SEE_DIRSERVER_1547=See DIRSERVER-1547
ERR_13434_UNEXPECTED_MOD_OPERATION=Unexpected ModificationOperation: {0}
ERR_13435_CANNOT_COMPUTE_NEW_VALUE=Cannot compute a new value for {0}
ERR_13436_ERROR_ANONYMIZING_VALUE=Error while anonymizing the value {0}
ERR_13437_OVERFLOW=Overflow for {0}
ERR_13438_UNKNOWN_CHANGE_TYPE=Unknown change type value {0}
ERR_13439_LDIF_ENTRY_WITH_TWO_DNS=A ldif entry should not have two DNs
ERR_13440_NO_CHANGE=No changes within entries
ERR_13441_BAD_ATTRIBUTE=Bad attribute
ERR_13442_ERROR_PARSING_LDIF_BUFFER=Error while parsing the ldif buffer
ERR_13443_CANNOT_FIND_FILE=Cannot find file {0}
ERR_13444_CANNOT_READ_FILE=Cannot read file {0}
ERR_13445_NO_DN=No DN for entry
ERR_13446_INVALID_DN=The DN {0} is not valid, at line {1}
ERR_13447_BAD_URL_FILE_NOT_FOUND=Bad URL, file not found
ERR_13448_FILE_TOO_BIG=File {0} is too big, at line {1}
ERR_13449_ERROR_READING_BAD_URL=Bad URL, file can''t be read
ERR_13450_CANNOT_CLOSE_FILE=Error while closing the stream: {0}, at line {1}
ERR_13451_UNSUPPORTED_PROTOCOL=Unsupported URL protocol, at line {0}
ERR_13452_BAD_URL=Bad URL {0}, at line {1}
ERR_13453_INVALID_OID=The OID {0} is not valid, at line {1}
ERR_13454_BAD_MODIFY_ATTRIBUTE=Bad modify attribute
ERR_13455_BAD_MODDN_NO_SUPERIOR=Bad moddn operation, no newsuperior
ERR_13456_BAD_OPERATION=Bad operation
ERR_13457_MISPLACED_CONTROL=Control misplaced
ERR_13458_MISPLACED_CHANGETYPE=ChangeType misplaced
ERR_13459_MISPLACED_ATTRIBUTETYPE=AttributeType misplaced
ERR_13460_BAD_ATTRIBUTE=Bad attribute
ERR_13461_UNKNOWN_ENTRY=Unknown entry
ERR_13462_LDIF_PARSING_ERROR=Ldif parsing error
ERR_13463_ERROR_WHILE_READING_LDIF_LINE=Error while reading ldif lines
ERR_13464_FILENAME_NOT_FOUND=Filename {0} not found.
ERR_13465_CANT_DEDUCE_REVERSE_FOR_MOD=Could not deduce reverse modifications from provided modifications: {0}
ERR_13466_NEW_SUPERIOR_DN_NULL=newSuperiorDn must not be null
ERR_13467_NULL_MODIFIED_DN=modifiedDn must not be null
ERR_13468_DONT_MOVE_ROOTDSE=Don''t think about moving the rootDSE.
ERR_13469_NULL_READ_DN=The newRdn must not be null
ERR_13470_DONT_RENAME_ROOTDSE=Don''t think about renaming the rootDSE.
ERR_13471_DELETED_ENTRY_WITH_ATTRIBUTES=Invalid Entry: a deleted entry should not contain attributes
ERR_13472_ENTRY_WITH_NO_ATTRIBUTE=Invalid Entry: a added or modified entry should contain attributes
ERR_13473_MODDN_WITH_ATTRIBUTES=Invalid Entry: a modifyDN operation entry should not contain attributes
ERR_13474_LINE_LENGTH_TOO_SHORT=The length of each line must be at least 2 chars long
ERR_13475_UNKNOWN_ATTRIBUTETYPE=The AttributeType is unknonw for this attribute: {0}

# api-ldap-model message         13500-13599
ERR_13500_UNDEFINED_CHANGETYPE=Undefined changeType value: {0}
ERR_13501_UNKNOWN_JNDI_SCOPE=Unknown JNDI scope constant value: {0}
ERR_13502_UNKNOWN_LDAP_URL_SCOPE=Unknown LDAP URL scope value: {0}
ERR_13503_RESULT_CODE_SHOULD_BE_IN=The result code can only be one of: {0}, {1}, {2}
ERR_13504_FIX_OID=the OID is fixed: {0}
ERR_13505_HARDCODED_ZERO_LENGTH_RESPONSE=the response is hardcoded as zero length array
ERR_13506_CANNOT_ABANDON_OPERATION=RFC 2251 [Section 4.11]: Abandon, Bind, Unbind, and StartTLS operations cannot be abandoned.
ERR_13507_UNRECOGNIZED_JNDI_PROPERTY_VALUE=Unrecognized value ''{0}'' for {1} JNDI property.\nExpected a value of either always, never, searching, or finding.
ERR_13508_INVALID_FILTER=The filter {0} is invalid.
ERR_13509_UNEXPECTED_SCOPE=Unexpected scope {0}
ERR_13510_UNKNOWN_DEREF_MODE=Unknown derefmode {0}
ERR_13511_INVALID_PROXIED_AUTHZ_NULL=Invalid proxied authz value: cannot be null
ERR_13512_INVALID_PROXIED_AUTHZ_BAD_DN=Invalid proxied authz value: the DN is not valid
ERR_13513_INVALID_PROXIED_AUTHZ_NO_DN_OR_U=Invalid proxied authz value: should start with ''dn:'' or ''u:''
ERR_13514_UNKNOWN_SORT_RESPONSE_RESULT=Unknown sort response result code {0}
ERR_13515_UNEXPECTED_MOD_OP=Unexpected ModificationOperation
ERR_13516_UNEXPECTED_MESSAGE_TYPE=Unexpected MessageTypeEnum {0}
ERR_13517_UNEXPECTED_ALIAS_DEREF_MODE=Unexpected aliasDerefMode {0}
ERR_13518_CLASS_INVALID_ENULM_VALUE=Class has bug: check for valid enumeration values

# api-ldap-model name            13600-13699
ERR_13600_TYPE_IS_NULL_OR_EMPTY=The type cannot be empty or null
ERR_13601_EXPECTED_COMMA_SEMI_COLON=Unexpected character ''{0}'' at position {1}. Excpected '','' or '';''.
ERR_13602_RDN_EMPTY=RDN must not be empty
ERR_13603_NULL_RDN=RDN must not be null
ERR_13604_START_AT_EXPECTED=Unexpected character ''{0}'' at position {1}. Expected start of attributeType.
ERR_13605_START_AT_DESCR_EXPECTED=Unexpected character ''{0}'' at position {1}. Expected start of attributeType descr.
ERR_13606_EXPECTED_NUMERICOID=Unexpected character ''{0}'' at position {1}. Expected numericoid.
ERR_13607_DOT_MISSING_IN_OID=Numeric OID must contain at least one dot.
ERR_13608_START_AT_NUMERICOID_EXPECTED=Unexpected character ''{0}'' at position {1}. Expected start of attributeType numericoid.
ERR_13609_EQUAL_EXPECTED=Unexpected character ''{0}'' at position {1}. Expected EQUALS ''=''.
ERR_13610_NO_MORE_CHAR_AVAILABLE=No more characters available at position {0}
ERR_13611_VALUE_MISSING_ON_RDN=A value is missing on some RDN
ERR_13612_POSITION_NOT_IN_RANGE=The posn({0}) should be in the range [0, {1}]
ERR_13613_VALUE_NOT_IN_HEX_FORM_ODD_NUMBER=This value is not in hex form, we have an odd number of hex chars
ERR_13614_VALUE_NOT_IN_HEX_FORM=This value is not in hex form
ERR_13615_UNESCAPED_CHARS_NOT_ALLOWED=Unescaped special characters are not allowed
ERR_13616_CANNOT_SERIALIZE_AVA_UPNAME_NULL=Cannot serialize a wrong ATAV, the upName should not be null or empty
ERR_13617_CANNOT_SERIALIZE_AVA_UPTYPE_NULL=Cannot serialize a wrong ATAV, the upType should not be null or empty
ERR_13618_CANNOT_SERIALIZE_AVA_NORMTYPE_NULL=Cannot serialize a wrong ATAV, the normType should not be null or empty
ERR_13619_CANNOT_SERIALIZE_AVA_VALUE_NULL=Cannot serialize a wrong ATAV, the value should not be null
ERR_13620_CANNOT_NORMALIZE_VALUE=Cannot normalize the value
ERR_13621_ASSERTION_FAILURE=Assertion failure
ERR_13622_DN_OR_RDN_NULL=Either the dn or the rdn is null
ERR_13623_INVALID_POSITION=Invalid position: {0}
ERR_13624_CANNOT_SERIALIZE_NULL_DN=Cannot serialize a NULL Dn";
ERR_13625_INVALID_RDN=Invalid RDN
ERR_13626_INVALID_RDN_DUPLICATE_AVA=Invalid RDN: the {0} is already present in the RDN

# api-ldap-model schema          13700-13899
ERR_13700_CANNOT_MODIFY_LOCKED_SCHEMA_OBJECT=Cannot modify the SchemaObject {0}, it has been locked
ERR_13701_CANNOT_MODIFY_AT_REGISTRY_COPY=Cannot modify the AttributeTypeRegistry copy
ERR_13702_CANNOT_MODIFY_CMP_REGISTRY_COPY=Cannot modify the ComparatorRegistry copy
ERR_13703_CANNOT_MODIFY_DITCR_REGISTRY_COPY=Cannot modify the DITContentRuleRegistry copy
ERR_13704_CANNOT_MODIFY_DITSR_REGISTRY_COPY=Cannot modify the DITStructureRuleRegistry copy
ERR_13705_CANNOT_MODIFY_SYN_REGISTRY_COPY=Cannot modify the LdapSyntaxRegistry copy
ERR_13706_CANNOT_MODIFY_MR_REGISTRY_COPY=Cannot modify the MatchingRuleRegistry copy
ERR_13707_CANNOT_MODIFY_MRU_REGISTRY_COPY=Cannot modify the MatchingRuleUseRegistry copy
ERR_13708_CANNOT_MODIFY_NF_REGISTRY_COPY=Cannot modify the NameFormRegistry copy
ERR_13709_CANNOT_MODIFY_NORM_REGISTRY_COPY=Cannot modify the NormalizerRegistry copy
ERR_13710_CANNOT_MODIFY_OC_REGISTRY_COPY=Cannot modify the ObjectClassRegistry copy
ERR_13711_CANNOT_MODIFY_SC_REGISTRY_COPY=Cannot modify the SyntaxCheckerRegistry copy
ERR_13712_UNKNOWN_SCHEMA_OBJECT_TYPE=Unknown SchemaObject type: {0}
ERR_13713_ESCAPED_WRONG_VALUE=escaped can never have such a value: {0}
ERR_13714_NULL=Null
ERR_13715_OPENLDAP_PARSER_NON_STANDARD=OpenLdapSchemaParser is not a normal schema parser
ERR_13716_NULL_OR_EMPTY_STRING_SCHEMA_OBJECT=The schemaObject is either null or is the empty String!
ERR_13717_UNEXPECTED_OBJECT_CLASS_TYPE_ENUM=Unexpected ObjectClassTypeEnum: {0}
ERR_13718_UNEXPECTED_SCHEMA_OBJECT_TYPE=Unexpected SchemaObjectType: {0}
ERR_13719_LOOP_DETECTED=Loop detected: {0}
ERR_13720_CANNOT_HANDLE_DN_COMPARISONS=I do not know how to handle dn comparisons with objects of class: {0}
ERR_13721_ARGUMENT1_NULL=Argument ''obj1'' is null
ERR_13722_ARGUMENT2_NULL=Argument ''obj2'' is null
ERR_13723_MATCHING_RULE_NOT_FOUND=Matching rule not found: {0}
ERR_13724_INVALID_VALUE=Invalid value: {0}
ERR_13725_CANNOT_HANDLE_NAME_AND_OPTIONAL_UID_NORM=I do not know how to handle NameAndOptionalUID normalization with objects of class: {0}
ERR_13726_NO_OBJECT_IDENTIFIER_MACRO=No object identifier macro with name {0}
ERR_13727_ENTRY_CANNOT_BE_NULL=entry cannot be null
ERR_13728_ENTRY_INVALID_CN=entry must have a valid cn attribute
ERR_13729_RULE_ID_NOT_FOUND=RuleId {0} not found in ruleId to schema name map!
ERR_13730_DIT_STRUCTURE_RULE_ALREADY_REGISTRED=DITStructureRule with RuleId {0} already registered!
ERR_13731_DIT_STRUCTURE_RULE_DOES_NOT_EXIST=DITStructureRule for ruleId {0} does not exist!
ERR_13732_NAME_CANNOT_BE_NULL=name cannot be null
ERR_13733_ARG_NOT_NUMERIC_OID=Looks like the arg is not a numeric OID
ERR_13734_OID_NOT_FOUND=OID ''{0}'' not found in oid to schema name map!
ERR_13735_ELEMENT_FOR_OID_DOES_NOT_EXIST={0} for OID {1} does not exist!
ERR_13736_ELEMENT_FOR_OID_ALREADY_REGISTERED={0} with OID {1} already registered!
ERR_13737_ELEMENT_WITH_NAME_ALREADY_REGISTERED={0} with name {1} already registered!
ERR_13738_OID_NOT_A_NUMERIC_OID=OID {0} is not a numeric OID
ERR_13739_ELEMENT_WITH_OID_NOT_REGISTERED={0} with OID {1} not registered!
ERR_13740_CANNOT_FIND_OID_FROM_NAME=Can''t find an OID for the name {0}
ERR_13741_OID_NOT_FOUND_IN_REGISTRY=OID ''{0}'' was not found within the OID registry
ERR_13742_NO_SCHEMA_OBJECT_WITH_OID=There is no SchemaObject associated with OID ''{0}''
ERR_13743_CANNOT_REGISTER_NULL_SCHEMA_OBJECT=Cannot register a Null SchemaObject !
ERR_13744_SCHEMA_OBJECT_HAS_NO_VALID_OID=The given SchemaObject does not have a valid OID
ERR_13745_SCHEMA_OBJECT_WITH_OID_ALREADY_EXIST=There is already a SchemaObject for OID ''{0}''
ERR_13746_CANNOT_BUILD_REFERENCES=Cannot build the references for {0}, error: {1}
ERR_13747_CANNOT_REMOVE_REFERENCES=Cannot remove the references for {0}, error: {1}
ERR_13748_MATCHING_RULE_NO_SYNTAX=The MatchingRule {0} does not have a syntax. This is invalid
ERR_13749_AT_WITH_CYCLE=The AttributeType {0} can''t have itself as a superior, or a cycle has been detected while processing the superior''s tree
ERR_13750_REGISTERING_FAILED_ALREADY_PRESENT=Registering of {0}:{1} failed, it''s already present in the Registries
ERR_13751_UNREGISTERING_FAILED_NOT_PRESENT=Unregistering of {0}:{1} failed, it''s not present in the Registries
ERR_13752_CANNOT_FIND_SUPERIOR=Cannot find the SUPERIOR object {0} while building cross-references for the {1} AttributeType.
ERR_13753_CYCLE_DETECTED=A cycle has been detected in the superior hierarchyOid while building cross-references for the {0} AttributeType.
ERR_13754_CANNOT_FIND_SYNTAX=Cannot find a Syntax object {0} while building cross-references for the {1} AttributeType.
ERR_13755_AT_MUST_HAVE_A_SYNTAX_OID=The AttributeType {0} must have a syntax OID or a superior, it does not have any.
ERR_13756_CANNOT_FIND_EQUALITY_MR_OBJECT=Cannot find an Equality MatchingRule object for {0} while building cross-references for the {1} AttributeType.
ERR_13757_CANNOT_FIND_EQUALITY_MR_INSTANCE=Cannot find an EQUALITY MatchingRule instance for {0} while building cross-references for the {1} AttributeType.
ERR_13758_CANNOT_FIND_ORDERING_MR_OBJECT=Cannot find a Ordering MatchingRule object for {0} while building cross-references for the {1} AttributeType.
ERR_13759_CANNOT_FIND_ORDERING_MR_INSTANCE=Cannot find an ORDERING MatchingRule instance for {0} while building cross-references for the {1} AttributeType.
ERR_13760_CANNOT_FIND_SUBSTR_MR_OBJECT==Cannot find a SUBSTR MatchingRule object for {0} while building cross-references for the {1} AttributeType.
ERR_13761_CANNOT_FIND_SUBSTR_MR_INSTANCE=Cannot find a SUBSTR MatchingRule instance for {0} while building cross-references for the {1} AttributeType.
ERR_13762_AT_MUST_HAVE_SUPERIOR_USAGE=The attributeType {0} must have the same USAGE than its superior
ERR_13763_AT_MUST_BE_USER_MODIFIABLE=The attributeType {0} is a USER-APPLICATION attribute, it must be USER-MODIFIABLE
ERR_13764_AT_COLLECTIVE_SHOULD_BE_USER_APP=The attributeType {0} is a COLLECTIVE AttributeType, it must be a USER-APPLICATION attributeType too.
ERR_13765_MR_MUST_REFER_EXISTING_SYNTAX=The created MatchingRule must refers to an existing SYNTAX element
ERR_13766_ABSTRACT_OC_CANNOT_INHERIT_FROM_OC=Cannot register the SchemaObject {0}, an ABSTRACT ObjectClass cannot inherit from an {1} ObjectClass:/n {2}
ERR_13767_AUX_OC_CANNOT_INHERIT_FROM_STRUCT_OC=Cannot register the SchemaObject {0}, an AUXILIARY ObjectClass cannot inherit from a STRUCTURAL ObjectClass:/n {1}
ERR_13768_STRUCT_OC_CANNOT_INHERIT_FROM_AUX_OC=Cannot register the SchemaObject {0}, a STRUCTURAL ObjectClass cannot inherit from an AUXILIARY ObjectClass:/n {1}
ERR_13769_CANNOT_REGISTER_SUPERIOR_MISSING=Cannot register the SchemaObject {0}, the given SUPERIOR does not exist: {1}
ERR_13770_CANNOT_REGISTER_DUPLICATE_AT_IN_MAY=Cannot register the SchemaObject {0}, there are some duplicate AT in the MAY: {1}
ERR_13771_CANNOT_REGISTER_AT_IN_MAY_DOES_NOT_EXIST=Cannot register the SchemaObject {0}, the AT we want to add to MAY does not exist: {1}
ERR_13772_CANNOT_REGISTER_DUPLICATE_AT_IN_MUST=Cannot register the SchemaObject {0}, there are some duplicate AT in the MUST: {1}
ERR_13773_CANNOT_REGISTER_DUPLICATE_AT_IN_MAY_AND_MUST=Cannot register the SchemaObject {0}, there are some duplicate AT in MAY and MUST: {1}
ERR_13774_CANNOT_REGISTER_AT_IN_MUST_DOES_NOT_EXIST=Cannot register the SchemaObject {0}, the AT we want to add to MUST does not exist: {1}
ERR_13775_UNDEFINED_MODIFICATION_TYPE=undefined modification type: {0}
ERR_13776_CANNOT_SUBTYPE_COLLECTIVE=The Collective Attribute ({0}) cannot be subtyped ({1})
ERR_13777_COLLECTIVE_NOT_MULTI_VALUED=The Collective Attribute ({0}) cannot be single valued
ERR_13778_COLLECTIVE_NOT_ALLOWED_IN_MUST=The Collective Attribute ({0}) cannot be added in the MUST list of the {1} ObjectClass
ERR_13779_COLLECTIVE_NOT_ALLOWED_IN_MAY=The Collective Attribute ({0}) cannot be added in the MAY list of the {1} ObjectClass
ERR_13780_SCHEMA_OBJECT_DESCRIPTION_HAS_ELEMENT_TWICE=Can''t have a {0} twice in an Schema Object Description (line {1}, col {2})
ERR_13781_MR_DESCRIPTION_INVALID=Error, MatchingRule definition invalid (line {0}, col {1})
ERR_13782_END_OF_FILE=End of file met (line {0}, col {1})
ERR_13783_SPACE_EXPECTED=Space expected (line {0}, col {1})
ERR_13784_BAD_OID_TWO_ZEROES=Bad OID, we have a number that starts with ''0'' (line {0}, col {1})
ERR_13785_BAD_OID_CONSECUTIVE_DOTS=Bad OID, we have dots at the wrong place (line {0}, col {1})
ERR_13786_BAD_OID_DOT_AT_THE_END=Bad OID, we can''t have a dot at the end of the OID (line {0}, col {1})
ERR_13787_OID_EXPECTED=An oid is expected (line {0}, col {1})
ERR_13788_LEAD_KEY_CHAR_EXPECTED=leadkeychar expected (line {0}, col {1})
ERR_13789_SIMPLE_QUOTE_EXPECTED_AT_START=Simple quote expected for a descr (line {0}, col {1})
ERR_13790_NOT_A_KEYSTRING=Not a keystring (line {0}, col {1})
ERR_13791_KEYCHAR_EXPECTED=keychar expected, got {0} (line {1}, col {2})
ERR_13792_SIMPLE_QUOTE_EXPECTED_AT_END=Simple quote expected at the end of a descr (line {0}, col {1})
ERR_13793_NO_CLOSING_PAREN=No closing '')'' (line {0}, col {1})
ERR_13794_MORE_OIDS_EXPECTED=more OIDs expected (line {0}, col {1})
ERR_13795_OPENED_BRACKET_NOT_CLOSED=Opened ''{'' hasn''t been closed (line {0}, col {1})
ERR_13796_USAGE_EXPECTED=Expected an USAGE (line {0}, col {1})
ERR_13797_USAGE_UNKNOWN=The USAGE value is unknown (line {0}, col {1})
ERR_13798_AT_DESCRIPTION_INVALID=Error, AttributeType definition invalid (line {0}, col {1})
ERR_13799_SYNTAX_OR_SUP_REQUIRED=One of SYNTAX or SUP is required (line {0}, col {1})
ERR_13800_COLLECTIVE_REQUIRES_USER_APPLICATION=COLLECTIVE requires USAGE userApplications (line {0}, col {1})
ERR_13801_NO_USER_MOD_REQUIRE_OPERATIONAL=NO-USER-MODIFICATION requires an operational USAGE (line {0}, col {1})
ERR_13802_EXTENSION_SHOULD_START_WITH_X=Error, extension should start with ''X-'' (line {0}, col {1})
ERR_13803_OC_DESCRIPTION_INVALID=Error, ObjectClass definition invalid (line {0}, col {1})
ERR_13804_OBJECT_IDENTIFIER_HAS_NO_OID=The ObjectIdentifier does not have any OID (line {0}, col {1})
ERR_13805_OBJECT_IDENTIFIER_INVALID_OID=The ObjectIdentifier has an invalid OID (line {0}, col {1})
ERR_13806_UNEXPECTED_ELEMENT_READ=Unexpected element read: {0} (line {1}, col {2})
ERR_13807_SYN_DESCRIPTION_INVALID=Error, LdapSyntax definition invalid (line {0}, col {1})
ERR_13808_SYNTAX_REQUIRED=SYNTAX is required (line {0}, col {1})
ERR_13809_DCR_DESCRIPTION_INVALID=Error, DitContentRule definition invalid (line {0}, col {1})
ERR_13810_DSR_DESCRIPTION_INVALID=Error, DitStructureRule definition invalid (line {0}, col {1})
ERR_13811_INVALID_RULE_ID=Invalid or missing ruleid (line {0}, col {1})
ERR_13812_FORM_REQUIRED=FORM required (line {0}, col {1})
ERR_13813_MORE_RULE_IDS_EXPECTED=more RULEID expected (line {0}, col {1})
ERR_13814_APPLIES_REQUIRED=APPLIES required (line {0}, col {1})
ERR_13815_MRU_DESCRIPTION_INVALID=Error, MatchingRuleUse definition invalid (line {0}, col {1})
ERR_13816_NF_DESCRIPTION_INVALID=Error, NameForm definition invalid (line {0}, col {1})
ERR_13817_STRUCTURAL_OBJECT_CLASS_REQUIRED=OC required (line {0}, col {1})
ERR_13818_MUST_REQUIRED=MUST required (line {0}, col {1})
ERR_13819_FQCN_REQUIRED=FQCN required (line {0}, col {1})
ERR_13820_BYTE_CODE_REQUIRED=BYTECODE required (line {0}, col {1})
ERR_13821_NORM_DESCRIPTION_INVALID=Error, Normalizer definition invalid (line {0}, col {1})
ERR_13822_INVALID_FQCN_BAD_IDENTIFIER_START=The FQCN is invalid, an identifier starts with an invalid java letter (line {0}, col {1})
ERR_13823_INVALID_FQCN_DOUBLE_DOT=The FQCN is invalid, there are two consecutive dots (line {0}, col {1})
ERR_13824_INVALID_FQCN_BAD_IDENTIFIER=The FQCN is invalid, an identifier has a wrong java letter (line {0}, col {1})
ERR_13825_COMP_DESCRIPTION_INVALID=Error, LdapComparator definition invalid (line {0}, col {1})
ERR_13826_SC_DESCRIPTION_INVALID=Error, SyntaxChecker definition invalid (line {0}, col {1})
ERR_13827_EMPTY_SYNTAX_LEN=The SYNTAX length is empty (line {0}, col {1})
ERR_13828_MISSING_SYNTAX_OID=The SYNTAX has no OID (line {0}, col {1})
ERR_13829_NO_OPENING_PAREN=There is a missing opening ''('' (line {0}, col {1})
ERR_13830_CANNOT_PARSE_NULL_ATTR_TYPE=Cannot parse a null AttributeType
ERR_13831_ATTRIBUTE_TYPE_PARSING_FAILURE=Parser failure on attribute type description:\n{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13832_ATTRIBUTE_TYPE_DESC_PARSE_FAILURE=Parser failure on attribute type description:\n\t{0}\nAntlr message: {1}
ERR_13833_CANNOT_PARSE_NULL_DCR=Cannot parse a null DITContentRule
ERR_13834_DCR_PARSING_FAILURE=Parser failure on DIT content rule description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13835_DCR_DESC_PARSING_FAILURE=Parser failure on DIT content rule description:\n\t{0}\nAntlr message: {1}
ERR_13836_CANNOT_PARSE_NULL_DSR=Cannot parse a null DITStructureRule description
ERR_13837_DSR_PARSING_FAILURE=Parser failure on DIT structure rule description:\n\t{0}\nAntlr message: {1}nAntlr column: {2}
ERR_13838_DSR_DESC_PARSING_FAILURE=Parser failure on DIT structure rule description:\n\t{0}\nAntlr message: {1}
ERR_13839_CANNOT_PARSE_NULL_COMP=Cannot parse a null LdapComparator description
ERR_13840_COMP_PARSING_FAILURE=Parser failure on comparator description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13841_COMP_DESC_PARSING_FAILURE=Parser failure on comparator description:\n\t{0}\nAntlr message: {1}
ERR_13842_CANNOT_PARSE_NULL_SYNTAX=Cannot parse a null LdapSyntax
ERR_13843_SYNTAX_PARSING_FAILURE=Parser failure on LDAP syntax description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13844_SYNTAX_DESC_PARSING_FAILURE=Parser failure on LDAP syntax description:\n\t{0}\nAntlr message: {1}
ERR_13845_CANNOT_PARSE_NULL_MR=Cannot parse a null MatchingRule
ERR_13846_MR_PARSING_FAILURE=Parser failure on matching rule description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13847_MR_DESC_PARSING_FAILURE=Parser failure on matching rule description:\n\t{0}\nAntlr message: {1}
ERR_13848_CANNOT_PARSE_NULL_MRU=Cannot parse a null MatchingRuleUse
ERR_13849_MRU_PARSING_FAILURE=Parser failure on matching rule description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13850_MRU_DESC_PARSING_FAILURE=Parser failure on matching rule description:\n\t{0}\nAntlr message: {1}
ERR_13851_CANNOT_PARSE_NULL_NF=Cannot parse a null NameForm
ERR_13852_NF_PARSING_FAILURE=Parser failure on name form description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2} 
ERR_13853_NF_DESC_PARSING_FAILURE=Parser failure on name form description:\n\t{0}\nAntlr message: {1}
ERR_13854_CANNOT_PARSE_NULL_NORM=Cannot parse a null Normalizer description
ERR_13855_NORM_PARSING_FAILURE=Parser failure on normalizer description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13856_NORM_DESC_PARSING_FAILURE=Parser failure on normalizer description:\n\t{0}\nAntlr message: {1}
ERR_13857_CANNOT_PARSE_NULL_OC=Cannot parse a null ObjectClass description
ERR_13858_OC_PARSING_FAILURE=Parser failure on object class description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13859_OC_DESC_PARSING_FAILURE=Parser failure on object class description:\n\t{0}\nAntlr message: {1}
ERR_13860_CANNOT_PARSE_NULL_SC=Cannot parse a null SyntaxChecker description
ERR_13861_SC_PARSING_FAILURE=Parser failure on syntax checker description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
ERR_13862_SC_PARSING_FAILURE=Parser failure on syntax checker description:\n\t{0}\nAntlr message: {1}
ERR_13863_MR_DOES_NOT_HAVE_A_COMP=The MatchingRule {0} does not have a comparator. This is invalid
ERR_13864_AT_DOES_NOT_HAVE_A_SUPERIOR_NOR_SYNTAX=The AttributeType {0} does not have a superior nor a Syntax. This is invalid
ERR_13865_ERROR_PARSING_AT=Error parsing attribute type {0}: {1}
ERR_13866_MOD_INCREMENT_INVALID_VALUE=Increment operation on {0} with invalid increment {1}
ERR_13867_MOD_INCREMENT_NO_ATTRIBUTE=Increment operation on a non existing attribute {0}
ERR_13868_MOD_INCREMENT_NO_INT_ATTRIBUTE=Increment operation on a non integer attribute {0}
ERR_13869_MOD_INCREMENT_OVERFLOW=Increment operation overflow for attribute {0}, value is {1}

# api-ldap-model subtree          13900-13999
ERR_13900_INTEGER_TOKEN_NOT_INTEGER=Value of INTEGER token {0} cannot be converted to an Integer
ERR_13901_MESSAGE={0}
ERR_13902_FILTER_PARSER_FAILED=filterParser failed. {0}
ERR_13903_DN_PARSER_FAILED=dnParser failed for {0} {1}

# api-ldap-net-mina 14000-14999
ERR_14000_ERROR_ENCODING_MESSAGE=Error while encoding message {0}: {1} 

# api-ldap-schema-converter 15000-15999
ERR_15000_SCHEMA_ELEMENT_NAME_REQUIRED={0} the schema configuration element must specify a name.
ERR_15001_NULL_SCHEMA=Can''t generate a ldif for a null schema
ERR_15002_EMPTY_OR_NULL_SCHEMA_OBJECT=The schemaObject is either null or is empty!
ERR_15003_PARSER_FAILURE=Parser failure on:\n\t{0}\nAntlr exception trace:\n{1}
ERR_15004_CANNOT_GENERATE_SOURCES=Failed while generating sources for {0}: {1}
ERR_15005_NO_PROPERTY=the schema property must be set

# api-ldap-schema-data  16000 - 16999
ERR_16000_CANNOT_OVEWRITE_SCHEMA=Cannot overwrite yet schema output directory already exists: {0}
ERR_16001_CANNOT_COPY_NON_EXISTENT=Cannot copy non-existent source file {0}
ERR_16002_MORE_THAN_ONE_ENTRY=Cannot have more than one entry in a schema ldif file: {0}
ERR_16003_ERROR_PARSING_LDIF=Exception occurred while parsing the ldif file {0}: {1}
ERR_16004_ROOT_WITHOUT_SCHEMA=Should not be hitting root without schema/schema pattern.
ERR_16005_PARENT_NULL=parent cannot be null
ERR_16006_DIRECTORY_CREATION_FAILED=The directory {0} could not be created
ERR_16007_BINARY_REQUIRED=The attribute must be binary
ERR_16008_AT_ACCESS_FAILURE=Failed to access attribute bytes.
ERR_16009_LDIF_LOAD_FAIL=Failed to load schema LDIF file {0}
ERR_16010_NO_SHEMA_FILE=Expecting to find a schema.ldif file in provided baseDirectory path ''{0}'' but no such file found.
ERR_16011_NULL_ATTRIBUTE={0} entry must have a valid {1} attribute, it''s null
ERR_16012_INVALID_COMPARATOR_OID=Comparator OID {0} is not a valid OID 
ERR_16013_NULL_ENTRY={0} entry cannot be null
ERR_16014_NULL_SCHEMA_DESC={0} Schema description cannot be null
ERR_16015_NON_EXISTENT_SCHEMA=The schema {0} does not exists or is not loaded
ERR_16016_NULL_ENTRY=entry cannot be null
ERR_16017_INVALID_CN_AT=entry must have a valid cn attribute
ERR_16018_INVALID_AT=entry must have a valid {0} attribute
ERR_16019_CANNOT_ADD_SC=Cannot add the SyntaxChecker {0}, as the associated schema ({1}) is not loaded
ERR_16020_CANNOT_ADD_SC_IN_REGISTRY=Cannot add the SyntaxChecker {0} into the registries, as the associated schema ({1}) is disabled
ERR_16021_DIFFERENT_COMPARATOR_OID=The Comparator''s OID ({0}) is different from the loaded class'' OID ({1})
ERR_16022_CANNOT_ADD_CMP=Cannot add the Comparator {0}, as the associated schema ({1}) is not loaded
ERR_16023_CANNOT_ADD_CMP_IN_REGISTRY=Cannot add the Comparator {0} into the registries, as the associated schema ({1}) is disabled
ERR_16024_CANNOT_ADD_NORMALIZER=Cannot add the Normalizer {0}, as the associated schema ({1}) is not loaded
ERR_16025_CANNOT_ADD_NORMALIZER_IN_REGISTRY=Cannot add the Normalizer {0} into the registries, as the associated schema ({1}) is disabled
ERR_16026_CANNOT_ADD_SYNTAX=Cannot add the Syntax {0}, as the associated schema ({1}) is not loaded
ERR_16027_CANNOT_ADD_SYNTAX_IN_REGISTRY=Cannot add the Syntax {0} into the registries, as the associated schema ({1}) is disabled
ERR_16028_CANNOT_ADD_MR=Cannot add the MatchingRule {0}, as the associated schema ({1}) is not loaded
ERR_16029_CANNOT_ADD_MR_IN_REGISTRY=Cannot add the MatchingRule {0} into the registries, as the associated schema ({1}) is disabled
ERR_16030_CANNOT_ADD_OC=Cannot add the ObjectClass {0}, as the associated schema ({1}) is not loaded
ERR_16031_CANNOT_ADD_OC_IN_REGISTRY=Cannot add the ObjectClass {0} into the registries, as the associated schema ({1}) is disabled
ERR_16032_CANNOT_ADD_AT=Cannot add the AttributeType {0}, as the associated schema ({1}) is not loaded
ERR_16033_CANNOT_ADD_AT_IN_REGISTRY=Cannot add the AttributeType {0} into the registries, as the associated schema ({1}) is disabled
ERR_16034_ENTRY_WITHOUT_VALID_AT={0} entry must have a valid {1} attribute
ERR_16035_CANNOT_LOAD_SCHEMA=Cannot load the Schema {0} as one of its dependencies has not been loaded
ERR_16036_OID_NOT_UNIQUE=Oid {0} for new schema entity is not unique.
ERR_16037_NON_EXISTING_SCHEMA=Cannot add the SchemaObject {0} into a non existing schema {1} 
ERR_16038_NOT_ASSOCIATED_TO_A_SCHEMA=Cannot inject the SchemaObject {0} as it''s not associated with a schema
ERR_16039_OID_DOES_NOT_EXIST=Oid {0} for new schema entity does not exist.
ERR_16040_CANNOT_REMOVE_FROM_REGISTRY=Cannot remove {0} for the registries, it would become inconsistent. The following SchemaObjects are referencing this SchemaObject: {1}
ERR_16041_CANNOT_DELETE_SCHEMA_OBJECT=Cannot delete the SchemaObject {0} as it''s not associated with a schema
ERR_16042_OUTPUT_DIR_CREATION_FAIL=Failed to create outputDirectory: {0}
ERR_16043_CANOT_LOAD_SCHEMA=Unable to load schema from the given resource value {0}
ERR_16044_CANNOT_LOAD_FILE=Cannot load file {0}: {1}
ERR_16045_ERROR_LOADING_RESOURCE=Error while loading resource from class loaded: {0}
ERR_16046_BASE_DIR_DOES_NOT_EXIST=Provided baseDirectory ''{0}'' does not exist.
ERR_16047_CANNOT_LOAD_RESOURCE=Cannot load resource {0}: {1}
ERR_16048_CANNOT_FIND_SC_CTOR=Cannot find the syntax checker class constructor for class {0}
ERR_16049_CANNOT_FIND_SC_CLASS=Cannot find the syntax checker class: {0}
ERR_16050_CANNOT_LOAD_SC_CTOR=Cannot load the syntax checker class constructor for class {0}
ERR_16051_CANNOT_LOAD_SC_CLASS=Cannot load the syntax checker class: {0}
ERR_16052_CANNOT_INST_SC_CTOR=Cannot instantiate the syntax checker class constructor for class {0}
ERR_16053_CANNOT_INST_SC_CLASS=Cannot instantiate the syntax checker class: {0}
ERR_16054_CANNOT_ACCESS_SC_CTOR=Cannot access the syntax checker class constructor for class {0}
ERR_16055_CANNOT_ACCESS_SC_CLASS=Cannot access the syntax checker class constructor: {0}
ERR_16056_CANNOT_FIND_CMP_CTOR=Cannot find the comparator class constructor for class {0}
ERR_16057_CANNOT_FIND_CMP_CLASS=Cannot find the comparator class: {0}
ERR_16058_CANNOT_LOAD_CMP_CTOR=Cannot load the comparator class constructor for class {0}
ERR_16059_CANNOT_LOAD_CMP_CLASS=Cannot load the comparator class: {0}
ERR_16060_CANNOT_INVOKE_CMP_CTOR=Cannot invoke the comparator class constructor for class {0}
ERR_16061_CANNOT_INVOKE_CMP_CLASS=Cannot invoke the comparator class: {0}
ERR_16062_CANNOT_INST_CMP_CTOR_CLASS=Cannot instantiate the comparator class constructor for class {0}
ERR_16063_CANNOT_INST_CMP_CLASS=Cannot instantiate the comparator class: {0}
ERR_16064_CANNOT_ACCESS_CMP_CTOR=Cannot access the comparator class constructor for class {0}
ERR_16065_CANNOT_ACCESS_CMP_CLASS=Cannot access the comparator class: {0}
ERR_16066_CANNOT_FIND_CMP_CTOR_METH_CLASS=Cannot find the comparator class constructor method for class {0}
ERR_16067_CANNOT_FIND_CMP_CTOR_METH=Cannot find the comparator class constructor method: {0}
ERR_16068_CANNOT_FIND_NORM_CTOR=Cannot find the normalizer class constructor for class {0}
ERR_16069_CANNOT_FIND_NORM_CLASS=Cannot find the normalizer class: {0}
ERR_16070_CANNOT_LOAD_NORM_CTOR=Cannot load the normalizer class constructor for class {0}
ERR_16071_CANNOT_LOAD_NORM_CLASS=Cannot load the normalizer class: {0}
ERR_16072_CANNOT_INST_NORM_CTOR_CLASS=Cannot instantiate the normalizer class constructor for class {0}
ERR_16073_CANNOT_INST_NORM_CLASS=Cannot instantiate the normalizer class: {0}
ERR_16074_CANNOT_ACCESS_NORM_CTOR_CLASS=Cannot access the normalizer class constructor for class {0}
ERR_16075_CANNOT_ACCESS_NORM_CTOR=Cannot access the normalizer class constructor: {0}
ERR_16076_NOT_A_SCHEMA_DEFINITION=The first entry in the LDIF file is not a schema definition
ERR_16077_SCHEMA_MANAGER_CANT_BE_LOADED=SchemaManager can''t be loaded: {0}
ERR_16078_CANNOT_LOAD_UNKNOWN_SCHEMA=Cannot load the unknown schema {0}
ERR_16079_INVALID_SCHEMA_OBJECT_CANNOT_BE_LOADED=the SchemaObject {0} cannot be added, it''s not a valid LoadableSchemaObject.
ERR_16080_SCHEMA_LOADER_CANT_BE_CREATED=Default SchemaLoader cannot be created {0}

# api-utils     17000 - 17999
ERR_17000_UNEXPECTED_PARSER_CONDITION=Unexpected parser condition throwing IllegalStateException.
ERR_17001_FAILED_OPEN_JAR_MANIFEST=Failed to open jar file or manifest.
ERR_17002_INTEGER_TOO_BIG=Integer {0} is too big
ERR_17003_INTEGER_INVALID=Integer {0} is not valid
ERR_17004_UNABLE_DELETE_DIR=Unable to delete directory: {0}.
ERR_17005_FILE_MUST_NOT_BE_NULL=File must not be null
ERR_17006_DOES_NOT_EXIST={0} does not exist
ERR_17007_IS_NOT_DIRECTORY={0} is not a directory
ERR_17008_FAIL_LIST_DIR=Failed to list contents of {0}
ERR_17009_FILE_DOES_NOT_EXIST=File does not exist: {0}
ERR_17010_UNABLE_DELETE_FILE=Unable to delete file: {0}
ERR_17011_FILE_IS_DIR=File ''{0}'' exists but is a directory 
ERR_17012_CANNOT_READ_FILE=File ''{0}'' cannot be read 
ERR_17013_FILE_DOES_NOT_EXIST=File ''{0}'' does not exist 
ERR_17014_CANNOT_WRITE_FILE=File ''{0}'' cannot be written to 
ERR_17015_CANNOT_CREATE_DIR=Directory ''{0}'' could not be created 
ERR_17016_SOURCE_MUST_NOT_BE_NULL=Source must not be null 
ERR_17017_DEST_MUST_NOT_BE_NULL=Destination must not be null 
ERR_17018_SRC_DOES_NOT_EXIST=Source ''{0}'' does not exist 
ERR_17019_SRC_IS_DIR=Source ''{0}'' exists but is a directory 
ERR_17020_SRC_AND_DEST_SAME=Source ''{0}'' and destination ''{1}'' are the same 
ERR_17021_CANNOT_CREATE_DEST_DIR=Destination ''{0}'' directory cannot be created 
ERR_17022_DEST_READONLY=Destination ''{0}'' exists but is read-only 
ERR_17023_DEST_IS_DIR=Destination ''{0}'' exists but is a directory" ); 
ERR_17024_FAILED_COPY_CONTENT=Failed to copy full contents from ''{0}'' to ''{1}'' Expected length: {2} Actual: {3} 
ERR_17025_INVALID_CHAR=Invalid Character 0x{0}
ERR_17026_UNREGISTRED_COMPONENT=Unregistered or previously used component: {0}
ERR_17027_WRONG_DATA_LENGTH=Miscalculated data length (wrote {0} instead of {1})
ERR_17028_PARAMETER_CANT_BE_NULL=Parameter may not be null
ERR_17029_CHARSET_CANT_BE_NULL=charset may not be null or empty
ERR_17030_BAD_ITERATOR_TYPE=bad iterator type: {0}
ERR_17031_REMOVE_FOLLOW_NEXT=remove() must follow next()
ERR_17032_BELOW_ZERO={0} < 0
ERR_17033_ABOVE_OR_EQUAL={0} >= {1}
ERR_17034_ADDING_DUP_KEYS_NOT_ALLOWED=Adding duplicate keys is not permitted.
ERR_17035_DUPLICATED_COMMON_ELEMENT=Duplicated common element ''{0}'' detected for Mandatory and Optional components.
ERR_17036_UNREGISTRED_COMPONENT=Unregistered or previously used component: {0}
ERR_17037_MUST_START_WITH_SHARP=Expected string to start with a ''#'' character. Invalid hex encoded string for empty or null string.
ERR_17038_MUST_START_WITH_ESC_SHARP=Expected string to start with a ''\#'' character. Invalid hex encoded string: {0} 
ERR_17039_NON_NULL_EXPECTED_STRING=Expected string to be non-null with valid index.
ERR_17040_EXPECTED_NON_EMPTY_STRING=Expected string to be non-empty with valid index.
ERR_17041_VALID_ESC_CHARS_EXPECTED=The DN must contain valid escaped characters.
ERR_17042_INITIAL_SIZE_ABOVE_ZERO=initialSize must be greater than zero
ERR_17043_GENERALIZED_TIME_NULL=generalizedTime is null
ERR_17044_BAD_GENERALIZED_TIME=Generalized Time too short, doesn''t contain field ''minute'' or ''fraction of hour'' or ''timezone''.
ERR_17045_BAD_GENERALIZED_TIME=Generalized Time too short, doesn''t contain field ''second'' or ''fraction of minute'' or ''timezone''.
ERR_17046_BAD_GENERALIZED_TIME=Generalized Time too short, doesn''t contain field ''fraction of second'' or ''timezone''.
ERR_17047_TIME_TOO_SHORT=Invalid Time too short, expected field ''fraction of second'' or ''timezone''.
ERR_17048_TIME_TOO_SHORT=Invalid Time too short, expected field ''second'' or ''fraction of minute'' or ''timezone''.
ERR_17049_INVALID_GENERALIZED_TIME=Invalid Generalized Time, expected field ''minute'' or ''fraction of hour'' or ''timezone''.
ERR_17050_INVALID_DATE_TIME=Invalid date/time values.
ERR_17051_CALENDAR_NULL=Calendar must not be null.
ERR_17052_TIME_TOO_SHOR_NO_TZ=Generalized Time too short, doesn''t contain field ''timezone''.
ERR_17053_MISSING_TZ=Invalid Generalized Time, expected ''timezone'' as the last field.
ERR_17054_TZ_MUST_BE_2_OR_4_DIGITS=Invalid Generalized Time, expected field ''timezone'' must contain 2 or 4 digits.
ERR_17055_MISSING_FRACTION=Generalized Time too short, doesn''t contain number for ''fraction''.
ERR_17056_TIME_TOO_SHORT_NO_SECOND=Generalized Time too short, doesn''t contain field ''second''.
ERR_17057_SECOND_NOT_NUM=Invalid Generalized Time, field ''second'' is not numeric.
ERR_17058_MISSING_MINUTE=Generalized Time too short, doesn''t contain field ''minute''.
ERR_17059_MIN_NOT_NUM=Invalid Generalized Time, field ''minute'' is not numeric.
ERR_17060_TIME_TO_SHORT_MISSING_HOUR=Generalized Time too short, doesn''t contain field ''hour''.
ERR_17061_HOUR_NOT_NUM=Invalid Generalized Time, field ''hour'' is not numeric.
ERR_17062_TIME_TO_SHORT_MISSING_DAY=Generalized Time too short, doesn''t contain field ''day''.
ERR_17063_DAY_NOT_NUM=Invalid Generalized Time, field ''day'' is not numeric.
ERR_17064_TIME_TO_SHORT_MISSING_MONTH=Generalized Time too short, doesn''t contain field ''month''.
ERR_17065_MONTH_NOT_NUM=Invalid Generalized Time, field ''month'' is not numeric.
ERR_17066_TIME_TO_SHORT_MISSING_YEAR=Generalized Time too short, doesn''t contain field ''century/year''.
ERR_17067_YEAR_NOT_NUM=Invalid Generalized Time, field ''century/year'' is not numeric.
ERR_17068_SHOULD_NOT_GET_HERE=Should never get here!
ERR_17069_UNEXPECTED_FORMAT=Unexpected format {0}
ERR_17070_SIZE_POSITIVE=Size must be equal or greater than zero: {0}
ERR_17071_UNEXPECTED_SIZE=Unexpected read size. current: {0}, expected: {1} );
ERR_17072_INTEGER_OVERFLOW=Size cannot be greater than Integer max value: {0}" + size );

