#  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.

# External Messages for EN locale
K0006=Negative index specified
K0007=attempt to write after finish
K0008=Cannot read version
K0009=Missing version string\: {0}
K000a=Entry is not named
K000b=Invalid attribute {0}
K000c=cannot resolve subclasses
K000d=Unknown attribute
K000e=Cannot add attributes to empty string
K0014=Unquoted {0} in suffix\: {1}
K0015=Unexpected {0} in fraction\: {1}
K0016=Unexpected {0} in {1}
K0017=Missing pattern before {0} in {1}
K0018=Missing exponent format {0}
K0019=Unterminated quote {0}
K001a=Missing grouping format {0}
K001b=Invalid exponent format {0}
K001c=Invalid pattern char {0} in {1}
K001d=Invalid argument number
K001e=Missing element format
K001f=Unknown element format
K0020=Unknown format
K002b=Unknown pattern character - '{0}'
K002c=Access denied {0}
K002e=Offset out of bounds \: {0}
K002f=Arguments out of bounds
K0032=Address null or destination port out of range
K0033=Unknown socket type
K0034=Packet address mismatch with connected address
K0035=Zero or negative buffer size
K0036=Invalid negative timeout
K0037=Connection already established
K0038=No host name provided
K0039=Attempted to join a non-multicast group
K003a=Attempted to leave a non-multicast group
K003c=TimeToLive out of bounds
K003d=Socket is closed
K003e=SOCKS connection failed\: {0}
K003f=Unable to connect to SOCKS server\: {0}
K0040=Invalid SOCKS client.
K0041=Socket implementation does not support SOCKS.
K0042=Socket implementation factory already set
K0044=The factory has already been set
K0045=Attempted to set a negative SoLinger
K0046=Local port declared out of range
K0047=buffer is null
K0048=Invalid action specified\: {0}
K0049=MinPort is greater than MaxPort\: {0}
K004a=Invalid port number specified\: {0}
K004b=Attempt to set factory more than once.
K004c=Package is sealed
K004d=Does not support writing to the input stream
K004e=Duplicate Factory
K004f=rounding necessary
K0050=wrong rounding mode
K0051=scale value < than zero
K0052=Array index out of range\: {0}
K0053=Package {0} already defined.
K0055=String index out of range\: {0}
K0056=Already destroyed
K0057=Has threads
K0058=size must be > 0
K0059=Stream is closed
K005a=Mark has been invalidated.
K005b=BufferedReader is closed
K005c=Invalid Mark.
K005d=Writer is closed.
K005e=size must be >\= 0
K005f=Does not support writing to the output stream
K0060=CharArrayReader is closed.
K0062=Second byte at {0} does not match UTF8 Specification
K0063=Third byte at {0} does not match UTF8 Specification
K0064=Second or third byte at {0} does not match UTF8 Specification
K0065=Input at {0} does not match UTF8 Specification
K0066=Entry already exists: {0}
K0068=String is too long
K0069=File cannot compare to non File
K006a=time must be positive
K006b=Prefix must be at least 3 characters
K006c=FileDescriptor is null
K006d=actions invalid
K006e=path is null
K006f=invalid permission\: {0}
K0070=InputStreamReader is closed.
K0071=Error fetching SUID\: {0}
K0072={0} computing SHA-1 / SUID
K0073=OutputStreamWriter is closed.
K0074=Not connected
K0075=InputStream is closed
K0076=Pipe broken
K0077=Crc mismatch
K0078=Pipe is closed
K0079=Already connected
K007a=Pipe already connected
K007b=Pipe Not Connected
K007e=Pushback buffer full
K007f=Mark/Reset not supported
K0080=Reader is closed
K0081=Mode must be one of "r" or "rw"
K0083=StringReader is closed.
K0084=can only instantiate one BootstrapClassLoader
K0086=Referenced reflect object is no longer valid
K0087=Referenced reflect object is no longer valid\: {0}
K0088=Incorrect end of BER tag
K0089=Unknown type\: {0}
K008a=Read {0} bytes trying to read {1} bytes from {2}
K008b=Position\: {0}
K008c=Invalid Base64 char\:{0}
K008d=This protocol does not support input
K008e=Does not support output
K008f=This method does not support writing\: {0}
K0090=can't open OutputStream after reading from an inputStream
K0091=Cannot access request header fields after connection is set
K0092=Cannot set method after connection is made
K0093=Too many redirects
K0094=Unable to change directories
K0095=Could not establish data connection
K0096=Unable to retrieve file\: {0}
K0097=Unable to connect to server\: {0}
K0098=Unable to log into server\: {0}
K0099=Unable to configure data port
K009a=Unable to store file
K009b=Unable to set transfer type
K00a2=Parsing policy file\: {0}, expected quoted {1}, found unquoted\: {2}
K00a3=Parsing policy file\: {0}, found unexpected\: {1}
K00a4=Content-Length underflow
K00a5=Invalid parameter - {0}
K00a8=Parsing policy file\: {0}, invalid codesource URL\: {1}
K00ab=No active entry
K00ae=Size mismatch
K00af=Invalid proxy port\: {0}
K00b0=Proxy port out of range
K00b1=Invalid port number
K00b2=Content-Length exceeded
K00b3=Unknown protocol\: {0}
K00b6=No entries
K00b7=File is closed
K00c1=Illegal character
K00cd=Failure to connect to SOCKS server.
K00ce=Unable to connect to identd to verify user.
K00cf=Failure - user ids do not match.
K00d0=Success
K00d1=Read null attempting to read class descriptor for an object
K00d2=Wrong format\: 0x{0}
K00d3=Read an exception
K00d4={2} - {0} not compatible with {1}
K00d5=Invalid typecode\: {0}
K00d7=Wrong base type in\: {0}
K00d8=Protocol not found\: {0}
K00d9=Callback object cannot be null
K00da=Incompatible class (SUID)\: {0} but expected {1}
K00dc=IllegalAccessException
K00e3=Could not create specified security manager\: {0}
K00e4=Key usage is critical and cannot be used for digital signature purposes.
K00e5=month\: {0}
K00e6=day of month\: {0}
K00e7=day of week\: {0}
K00e8=time\: {0}
K00e9=DST offset\: {0}
K00ea=era\: {0}
K00eb={0} failed verification of {1}
K00ec={0} has invalid digest for {1} in {2}
K00ed={0} is not an interface
K00ee={0} is not visible from class loader
K00ef={0} appears more than once
K00f0=non-public interfaces must be in the same package
K00f1=not a proxy instance
K00f2=the methods named {0} must have the same return type
K00f3=Timer was cancelled
K00f5=Illegal delay to start the TimerTask
K00f6=TimerTask is scheduled already
K00f7=TimerTask is cancelled
K00f8=day of week in month\: {0}
K00f9=min or max digit count too large
K00fa=min digits greater than max digits
K00fb=min or max digits negative
K00fc=Jar entry not specified
K00fd=Invalid keystore
K00fe=Incorrect password
K0185=The alias already exists for a key entry.
K018f=Can't convert to BMPString \: {0}
K0190=No data to decode
K0191=Invalid size, must be a multiple of 64 from 512 to 1024
K0193=An identity with this name already exists in this scope
K0194=An identity in the scope has the same public key
K0195=The existing public key and the one contained in the certificate do not match.
K0196=Certificate is missing
K0199=Count out of range
K01a0=End of stream condition
K01a4=Already shutting down
K01a5=Illegal shutdown hook\: {0}
K01a6=Invalid filter
K01a7=Name too long: {0}
K01b3=Incorrect number of arguments
K01b4=Cannot convert {0} to {1}
K01b6=Cannot find \!/
K01c1=File is a Directory
K01c2=Cannot create\: {0}
K01c3=Unable to open\: {0}
K01c4=Invalid zip file\: {0}
K01c6=No Main-Class specified in manifest\: {0}
K01d1=Signers of '{0}' do not match signers of other classes in package
K01d2={1} - protected system package '{0}'
K01ec=key size must be a multiple of 8 bits
K01ed=key size must be at least 512 bits
K01fe=Incomplete % sequence at\: {0}
K01ff=Invalid % sequence ({0}) at\: {1}
K0220=UTFDataFormatException
K0222=No Manifest found in jar file\: {0}
K0300=Unsupported encoding
K0301=Not signed data
K0302=Relative path
K0303=Scheme-specific part expected
K0304=Authority expected
K0305=Illegal character in scheme
K0306={0} in schemeSpecificPart
K0307={0} in authority
K0308={0} in path
K0309={0} in query
K030a={0} in fragment
K030c=Expected host
K030d=Illegal character in userinfo
K030e=Expected a closing square bracket for ipv6 address
K030f=Malformed ipv6 address
K0310=Illegal character in host name
K0311=Malformed ipv4 address
K0312=URI is not absolute
K0313=Incomplete % sequence
K0314=Invalid % sequence ({0})
K0315=Socket is already bound
K0316=SocketAddress {0} not supported
K0317=Host is unresolved\: {0}
K0318=SocketAddress is null
K0319=Exception in thread "{0}"\ 
K031a=URI is not absolute\: {0}
K031b=URI is not hierarchical\: {0}
K031c=Expected file scheme in URI\: {0}
K031d=Expected non-empty path in URI\: {0}
K031e=Found {0} component in URI\: {1}
K031f=Socket is not bound
K0320=Socket is not connected
K0321=Socket input is shutdown
K0322=Not a supported ISO 4217 Currency Code\: {0}
K0323=Not a supported ISO 3166 Country locale\: {0}
K0324=Needs dictionary
K0325=Port out of range\: {0}
K0326={0} at index {1}\: {2}
K0327={0}\: {1}
K0328=Certificate not yet valid
K0329=Certificate expired
K0330=interface name is null
K0331=address is null
K0332=Invalid IP Address is neither 4 or 16 bytes\: {0}
K0333=Urgent data not supported
K0334=Cannot set network interface with null
K0335=No addresses associated with Interface
K0337=null type not allowed
K0338=Address not associated with an interface - not set
K0339=Invalid IP Address is neither 4 or 16 bytes
K0340={0} incompatible with {1}
K0342=Scheme expected
K0344=Not a valid {0}, subclass should override readResolve()
K0346=Unmatched braces in the pattern
K0347=seek position is negative
K0348=Format specifier '{0}'
K0349=Conversion is '{0}'
K034a=The flags are {0}
K034b=url and proxy can not be null
K034c=proxy should not be null
K034d=method has not been implemented yet
K034e=Build rules empty
K0351=format is null
K0352=package is sealed
KA000=Line too long
KA001=Argument must not be null
KA002=Unshared read of back reference
KA003=different mode already set
KA004=Enums may not be cloned
KA005={0} is not an enum type
KA006={0} is not a constant in the enum type {1}
KA007=field is null
KA008={0} is an illegal radix
KA009=CharsetName is illegal
KA00a=File is null
KA00b=InputStream is null
KA00c=Readable is null
KA00d=ReadableByteChannel is null
KA00e=Radix {0} is less than Character.MIN_RADIX or greater than Character.MAX_RADIX
KA00f=Socket output is shutdown
KA010=Cannot read back reference to unshared object
KA011=Malformed reply from SOCKS server
KA012=No such file or directory
KA013=Number of bytes to skip cannot be negative
KA014=Invalid UUID string
KA015=Incompatible class (base name)\: {0} but expected {1}
KA016=Received authentication challenge is null
KA017=Received HTTP_PROXY_AUTH (407) code while not using proxy
KA018=Received authentication challenge is null
KA019=Destination address is null
KA020=Illegal IPv6 address
KA021=Scope id is not found for the given address
KA022=Illegal Proxy.Type or SocketAddress argument
KA023=Proxy is null or invalid type
KA024=One of urls is null
KA025=Method has not been implemented
KA026=JAR entry {0} not found in {1}
KA027=Inputstream of the JarURLConnection has been closed
KA028=Cannot set protocol version when stream in use
KA029=Can't find resource for bundle {0}, key {1}
KA030=Write end dead
K0031=Length out of bounds \: {0}
K0032=Source size {0} does not fit into destination
K0033=Start index ({0}) is greater than end index ({1})
K0353=Unresolved address
