diff --git a/classes/chillerlan-QRCode-Common-BitBuffer.html b/classes/chillerlan-QRCode-Common-BitBuffer.html
index a8ee5d2a2..71ce72cd4 100644
--- a/classes/chillerlan-QRCode-Common-BitBuffer.html
+++ b/classes/chillerlan-QRCode-Common-BitBuffer.html
@@ -437,7 +437,7 @@
@@ -471,7 +471,7 @@
@@ -504,7 +504,7 @@
@@ -514,7 +514,9 @@
public
getBuffer ( ) : array<string|int, mixed>
-
+ to debug: array_map(fn($v) => sprintf('%08b', $v), $bitBuffer->getBuffer())
+
+
@@ -666,7 +668,7 @@
@@ -737,7 +739,7 @@
diff --git a/classes/chillerlan-QRCode-Common-Mode.html b/classes/chillerlan-QRCode-Common-Mode.html
index 21a6ccc47..1a6accd78 100644
--- a/classes/chillerlan-QRCode-Common-Mode.html
+++ b/classes/chillerlan-QRCode-Common-Mode.html
@@ -195,7 +195,7 @@
LENGTH_BITS
- = [self::NUMBER => [10, 12, 14], self::ALPHANUM => [9, 11, 13], self::BYTE => [8, 16, 16], self::KANJI => [8, 10, 12], self::HANZI => [8, 10, 12]]
+ = [self::NUMBER => [10, 12, 14], self::ALPHANUM => [9, 11, 13], self::BYTE => [8, 16, 16], self::KANJI => [8, 10, 12], self::HANZI => [8, 10, 12], self::ECI => [0, 0, 0]]
mode length bits for the version breakpoints 1-9, 10-26 and 27-40
@@ -221,13 +221,6 @@
- getLengthBitsForMode()
-
- : array<string|int, mixed>
-
-returns the array of length bits for the given mode
-
-
getLengthBitsForVersion()
: int
@@ -415,7 +408,7 @@
@@ -480,7 +473,7 @@
public
mixed
LENGTH_BITS
- = [self::NUMBER => [10, 12, 14], self::ALPHANUM => [9, 11, 13], self::BYTE => [8, 16, 16], self::KANJI => [8, 10, 12], self::HANZI => [8, 10, 12]]
+ = [self::NUMBER => [10, 12, 14], self::ALPHANUM => [9, 11, 13], self::BYTE => [8, 16, 16], self::KANJI => [8, 10, 12], self::HANZI => [8, 10, 12], self::ECI => [0, 0, 0]]
@@ -587,64 +580,6 @@
-method
-public
-static "
->
-
-
-
- returns the array of length bits for the given mode
-
-
- public
- static getLengthBitsForMode ( int $mode ) : array<string|int, mixed>
-
-
- Parameters
-
-
- $mode
- : int
-
-
-
-
-
-
-
-
-
-
-
- throws
-
-
- QRCodeException
-
-
-
-
-
- Return values
- array<string|int, mixed>
- —
-
-
-
-
getLengthBitsForVersion()
@@ -653,7 +588,7 @@
diff --git a/classes/chillerlan-QRCode-Data-AlphaNum.html b/classes/chillerlan-QRCode-Data-AlphaNum.html
index b3b8af1f3..1cd83fcee 100644
--- a/classes/chillerlan-QRCode-Data-AlphaNum.html
+++ b/classes/chillerlan-QRCode-Data-AlphaNum.html
@@ -208,7 +208,7 @@ ISO/IEC 18004:2000 Section 8.4.3
write()
- : void
+ : QRDataModeInterface
@@ -488,7 +488,7 @@ ISO/IEC 18004:2000 Section 8.4.3
@@ -714,7 +714,7 @@ ISO/IEC 18004:2000 Section 8.4.3
public
- write ( BitBuffer $bitBuffer , int $versionNumber ) : void
+ write ( BitBuffer $bitBuffer , int $versionNumber ) : QRDataModeInterface
Parameters
@@ -753,7 +753,7 @@ ISO/IEC 18004:2000 Section 8.4.3
Return values
- void
+ QRDataModeInterface
—
diff --git a/classes/chillerlan-QRCode-Data-Byte.html b/classes/chillerlan-QRCode-Data-Byte.html
index 8c9e870ae..69b1c5078 100644
--- a/classes/chillerlan-QRCode-Data-Byte.html
+++ b/classes/chillerlan-QRCode-Data-Byte.html
@@ -201,7 +201,7 @@ ISO/IEC 18004:2000 Section 8.4.4
write()
- : void
+ : QRDataModeInterface
@@ -447,7 +447,7 @@ ISO/IEC 18004:2000 Section 8.4.4
@@ -673,7 +673,7 @@ ISO/IEC 18004:2000 Section 8.4.4
public
- write ( BitBuffer $bitBuffer , int $versionNumber ) : void
+ write ( BitBuffer $bitBuffer , int $versionNumber ) : QRDataModeInterface
Parameters
@@ -712,7 +712,7 @@ ISO/IEC 18004:2000 Section 8.4.4
Return values
- void
+ QRDataModeInterface
—
diff --git a/classes/chillerlan-QRCode-Data-ECI.html b/classes/chillerlan-QRCode-Data-ECI.html
index 3e9724a11..ca5a71322 100644
--- a/classes/chillerlan-QRCode-Data-ECI.html
+++ b/classes/chillerlan-QRCode-Data-ECI.html
@@ -119,13 +119,14 @@
Adds an ECI Designator
- Please note that you have to take care for the correct data encoding when adding with QRCode::add*Segment()
+ ISO/IEC 18004:2000 8.4.1.1
+Please note that you have to take care for the correct data encoding when adding with QRCode::add*Segment()
@@ -181,7 +182,7 @@
: string
-
+Reads and decodes the ECI designator including the following byte sequence
getDataMode()
@@ -202,7 +203,7 @@
: ECICharset
-
+Reads and parses the value of an ECI designator
validateString()
@@ -214,9 +215,9 @@
write()
- : void
+ : QRDataModeInterface
-
+Writes an ECI designator to the bitbuffer
getCharCount()
@@ -294,7 +295,7 @@
@@ -341,7 +342,7 @@
@@ -379,7 +380,7 @@
@@ -502,11 +503,12 @@
-
+ Reads and decodes the ECI designator including the following byte sequence
+
public
static decodeSegment ( BitBuffer $bitBuffer , int $versionNumber ) : string
@@ -539,13 +541,12 @@
- codeCoverageIgnore
+ throws
-
- Unused, but required as per interface
-
-
+ QRCodeDataException
+
+
@@ -614,7 +615,7 @@
@@ -659,11 +660,12 @@
-
+ Reads and parses the value of an ECI designator
+
public
static parseValue ( BitBuffer $bitBuffer ) : ECICharset
@@ -716,7 +718,7 @@
@@ -774,14 +776,15 @@
-
+ Writes an ECI designator to the bitbuffer
+
public
- write ( BitBuffer $bitBuffer , int $versionNumber ) : void
+ write ( BitBuffer $bitBuffer , int $versionNumber ) : QRDataModeInterface
Parameters
@@ -820,7 +823,7 @@
Return values
- void
+ QRDataModeInterface
—
diff --git a/classes/chillerlan-QRCode-Data-Hanzi.html b/classes/chillerlan-QRCode-Data-Hanzi.html
index aa747012f..73c631a7e 100644
--- a/classes/chillerlan-QRCode-Data-Hanzi.html
+++ b/classes/chillerlan-QRCode-Data-Hanzi.html
@@ -268,7 +268,7 @@
write()
- : void
+ : QRDataModeInterface
@@ -578,7 +578,7 @@
@@ -786,7 +786,7 @@
public
- write ( BitBuffer $bitBuffer , int $versionNumber ) : void
+ write ( BitBuffer $bitBuffer , int $versionNumber ) : QRDataModeInterface
Parameters
@@ -835,7 +835,7 @@
Return values
- void
+ QRDataModeInterface
—
diff --git a/classes/chillerlan-QRCode-Data-Kanji.html b/classes/chillerlan-QRCode-Data-Kanji.html
index 6e88754b7..88de9c61c 100644
--- a/classes/chillerlan-QRCode-Data-Kanji.html
+++ b/classes/chillerlan-QRCode-Data-Kanji.html
@@ -238,7 +238,7 @@ ISO/IEC 18004:2000 Section 8.4.5
write()
- : void
+ : QRDataModeInterface
@@ -519,7 +519,7 @@ ISO/IEC 18004:2000 Section 8.4.5
@@ -733,7 +733,7 @@ ISO/IEC 18004:2000 Section 8.4.5
public
- write ( BitBuffer $bitBuffer , int $versionNumber ) : void
+ write ( BitBuffer $bitBuffer , int $versionNumber ) : QRDataModeInterface
Parameters
@@ -782,7 +782,7 @@ ISO/IEC 18004:2000 Section 8.4.5
Return values
- void
+ QRDataModeInterface
—
diff --git a/classes/chillerlan-QRCode-Data-Number.html b/classes/chillerlan-QRCode-Data-Number.html
index 9682886a0..1b5bab1c3 100644
--- a/classes/chillerlan-QRCode-Data-Number.html
+++ b/classes/chillerlan-QRCode-Data-Number.html
@@ -208,7 +208,7 @@ ISO/IEC 18004:2000 Section 8.4.2
write()
- : void
+ : QRDataModeInterface
@@ -494,7 +494,7 @@ ISO/IEC 18004:2000 Section 8.4.2
@@ -720,7 +720,7 @@ ISO/IEC 18004:2000 Section 8.4.2
public
- write ( BitBuffer $bitBuffer , int $versionNumber ) : void
+ write ( BitBuffer $bitBuffer , int $versionNumber ) : QRDataModeInterface
Parameters
@@ -759,7 +759,7 @@ ISO/IEC 18004:2000 Section 8.4.2
Return values
- void
+ QRDataModeInterface
—
@@ -854,7 +854,7 @@ ISO/IEC 18004:2000 Section 8.4.2
diff --git a/classes/chillerlan-QRCode-Data-QRDataModeInterface.html b/classes/chillerlan-QRCode-Data-QRDataModeInterface.html
index cea95a202..747ad52ce 100644
--- a/classes/chillerlan-QRCode-Data-QRDataModeInterface.html
+++ b/classes/chillerlan-QRCode-Data-QRDataModeInterface.html
@@ -170,7 +170,7 @@
write()
- : void
+ : QRDataModeInterface
writes the actual data string to the BitBuffer, uses the given version to determine the length bits
@@ -426,7 +426,7 @@
public
- write ( BitBuffer $bitBuffer , int $versionNumber ) : void
+ write ( BitBuffer $bitBuffer , int $versionNumber ) : QRDataModeInterface
Parameters
@@ -466,7 +466,7 @@
Return values
- void
+ QRDataModeInterface
—
diff --git a/classes/chillerlan-QRCode-Decoder-Decoder.html b/classes/chillerlan-QRCode-Decoder-Decoder.html
index 2e8baa0da..f9465d13c 100644
--- a/classes/chillerlan-QRCode-Decoder-Decoder.html
+++ b/classes/chillerlan-QRCode-Decoder-Decoder.html
@@ -164,13 +164,6 @@ the QR Code from an image.
: EccLevel |null
-
-
-
- $eciCharset
-
- : ECICharset |null
-
@@ -208,13 +201,6 @@ the QR Code from an image.
Decode the contents of that stream of bytes
-
- decodeByteSegment()
-
- : string
-
-
-
decodeMatrix()
@@ -301,40 +287,6 @@ the QR Code from an image.
-
-
-
- $eciCharset
-
-
-
-
-
-
-
-
- private
- ECICharset |null
- $eciCharset
- = null
-
-
-
-
-
-
-
Decoder.php
:
- 40
+ 39
@@ -484,7 +436,7 @@ the QR Code from an image.
@@ -535,7 +487,7 @@ the QR Code from an image.
@@ -579,63 +531,6 @@ the QR Code from an image.
—
-
-
-
- decodeByteSegment()
-
-
-
-
-
-
- private
- decodeByteSegment ( int $versionNumber ) : string
-
-
- Parameters
-
-
- $versionNumber
- : int
-
-
-
-
-
-
-
-
-
-
-
- throws
-
-
- QRCodeDecoderException
-
-
-
-
-
- Return values
- string
- —
-
-
Decoder.php
:
- 72
+ 71
diff --git a/classes/chillerlan-QRCodeTest-Common-ECICharsetTest.html b/classes/chillerlan-QRCodeTest-Common-ECICharsetTest.html
new file mode 100644
index 000000000..e317b6077
--- /dev/null
+++ b/classes/chillerlan-QRCodeTest-Common-ECICharsetTest.html
@@ -0,0 +1,463 @@
+
+
+
+
+ Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ECICharsetTest
+
+
+ extends TestCase
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ encodingProvider()
+
+ : array<string|int, mixed>
+
+
+
+
+ invalidIdProvider()
+
+ : array<string|int, mixed>
+
+
+
+
+ testGetName()
+
+ : void
+
+
+
+
+ testInvalidDataException()
+
+ : void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ encodingProvider()
+
+
+
+
+
+
+ public
+ encodingProvider ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ invalidIdProvider()
+
+
+
+
+
+
+ public
+ static invalidIdProvider ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ testGetName()
+
+
+
+
+
+
+ public
+ testGetName ( int $id [ , string $name = null ] ) : void
+
+
+ Parameters
+
+
+ $id
+ : int
+
+
+
+
+
+
+ $name
+ : string
+ = null
+
+
+
+
+
+
+
+
+
+
+ dataProvider
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testInvalidDataException()
+
+
+
+
+
+
+ public
+ testInvalidDataException ( int $id ) : void
+
+
+ Parameters
+
+
+ $id
+ : int
+
+
+
+
+
+
+
+
+
+
+
+ dataProvider
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/classes/chillerlan-QRCodeTest-Common-ModeTest.html b/classes/chillerlan-QRCodeTest-Common-ModeTest.html
index ec03fdc3d..3e5b670f5 100644
--- a/classes/chillerlan-QRCodeTest-Common-ModeTest.html
+++ b/classes/chillerlan-QRCodeTest-Common-ModeTest.html
@@ -140,13 +140,6 @@
- testGetLengthBitsForModeInvalidModeException()
-
- : void
-
-
-
-
testGetLengthBitsForVersionBreakpoints()
: void
@@ -192,39 +185,6 @@
-method
-public
"
->
-
-
-
-
-
- public
- testGetLengthBitsForModeInvalidModeException ( ) : void
-
-
-
-
-
-
- Return values
- void
- —
-
-
-
-
testGetLengthBitsForVersionBreakpoints()
diff --git a/classes/chillerlan-QRCodeTest-Data-ECITest.html b/classes/chillerlan-QRCodeTest-Data-ECITest.html
new file mode 100644
index 000000000..2fb9209af
--- /dev/null
+++ b/classes/chillerlan-QRCodeTest-Data-ECITest.html
@@ -0,0 +1,1528 @@
+
+
+
+
+ Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tests the ECI class
+
+
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+
+
+
+ $FQN
+
+ : string
+
+
+
+
+ $QRData
+
+ : QRData
+
+
+
+
+ $testdata
+
+ : string
+
+
+
+
+ $testCharset
+
+ : int
+
+
+
+
+ eciCharsetIdProvider()
+
+ : array<string|int, mixed>
+
+
+
+
+ maskPatternProvider()
+
+ : array<string|int, array<string|int, int>>
+
+
+
+
+ stringValidateProvider()
+
+ : array<string|int, mixed>
+
+
+
+
+ testBinaryStringInvalid()
+
+ : void
+
+Tests if a binary string is properly validated as false
+
+
+ testCodeLengthOverflowException()
+
+ : void
+
+Tests if an exception is thrown on data overflow
+
+
+ testConvertUnknownEncoding()
+
+ : void
+
+Tests detection of an unknown character set
+
+
+ testDataModeInstance()
+
+ : void
+
+Verifies the QRDataModeInterface instance
+
+
+ testDecodeECISegmentFollowedByInvalidModeException()
+
+ : void
+
+Tests if and exception is thrown when the ECI segment is followed by a mode that is not 8-bit byte
+
+
+ testDecodeSegment()
+
+ : void
+
+Tests decoding a data segment from a given BitBuffer
+
+
+ testGetMinimumVersion()
+
+ : void
+
+Tests getting the minimum QR version for the given data
+
+
+ testGetMinimumVersionException()
+
+ : void
+
+Tests if an exception is thrown when the data exceeds the maximum version while auto-detecting
+
+
+ testInitMatrix()
+
+ : void
+
+Tests initializing the data matrix
+
+
+ testInstance()
+
+ : void
+
+Verifies the QRData instance
+
+
+ testInvalidDataException()
+
+ : void
+
+Tests if an exception is thrown when an invalid character is encountered
+
+
+ testInvalidDataOnEmptyException()
+
+ : void
+
+since the ECI class only accepts integer values,
+we'll use this test to check for the upper end of the accepted input range
+
+
+ testReadWrite()
+
+ : void
+
+
+
+
+ testValidateString()
+
+ : void
+
+Tests if a string is properly validated for the respective data mode
+
+
+ unknownEncodingDataProvider()
+
+ : array<string|int, mixed>
+
+
+
+
+ versionBreakpointProvider()
+
+ : array<string|int, mixed>
+
+returns versions within the version breakpoints 1-9, 10-26 and 27-40
+
+
+ setUp()
+
+ : void
+
+
+
+
+ getDataSegments()
+
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $FQN
+
+
+
+
+
+
+
+
+ protected
+ string
+ $FQN
+ = \chillerlan\QRCode\Data\ECI::class
+
+
+
+
+
+
+
+
+
+
+ $QRData
+
+
+
+
+
+
+
+
+ protected
+ QRData
+ $QRData
+
+
+
+
+
+
+
+
+
+
+
+ $testdata
+
+
+
+
+
+
+
+
+ protected
+ string
+ $testdata
+ = '无可奈何燃花作香'
+
+
+
+
+
+
+
+
+
+
+ $testCharset
+
+
+
+
+
+
+
+
+ private
+ int
+ $testCharset
+ = \chillerlan\QRCode\Common\ECICharset::GB18030
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ eciCharsetIdProvider()
+
+
+
+
+
+
+ public
+ static eciCharsetIdProvider ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ maskPatternProvider()
+
+
+
+
+
+
+ public
+ static maskPatternProvider ( ) : array<string|int, array<string|int, int>>
+
+
+
+
+
+
+
+ see
+
+
+ testInitMatrix()
+
+
+
+
+
+ Return values
+ array<string|int, array<string|int, int>>
+ —
+
+
+
+
+
+ stringValidateProvider()
+
+
+
+
+
+
+ public
+ static stringValidateProvider ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ testBinaryStringInvalid()
+
+
+
+
+ Tests if a binary string is properly validated as false
+
+
+ public
+ testBinaryStringInvalid ( ) : void
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testCodeLengthOverflowException()
+
+
+
+
+ Tests if an exception is thrown on data overflow
+
+
+ public
+ testCodeLengthOverflowException ( ) : void
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testConvertUnknownEncoding()
+
+
+
+
+ Tests detection of an unknown character set
+
+
+ public
+ testConvertUnknownEncoding ( int $id , string $data ) : void
+
+
+ Parameters
+
+
+ $id
+ : int
+
+
+
+
+
+
+ $data
+ : string
+
+
+
+
+
+
+
+
+
+
+
+ dataProvider
+
+
+
+ unknownEncodingDataProvider
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testDataModeInstance()
+
+
+
+
+ Verifies the QRDataModeInterface instance
+
+
+ public
+ testDataModeInstance ( ) : void
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testDecodeECISegmentFollowedByInvalidModeException()
+
+
+
+
+ Tests if and exception is thrown when the ECI segment is followed by a mode that is not 8-bit byte
+
+
+ public
+ testDecodeECISegmentFollowedByInvalidModeException ( ) : void
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testDecodeSegment()
+
+
+
+
+ Tests decoding a data segment from a given BitBuffer
+
+
+ public
+ testDecodeSegment ( int $version ) : void
+
+
+ Parameters
+
+
+ $version
+ : int
+
+
+
+
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+ dataProvider
+
+
+
+ versionBreakpointProvider
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testGetMinimumVersion()
+
+
+
+
+ Tests getting the minimum QR version for the given data
+
+
+ public
+ testGetMinimumVersion ( ) : void
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testGetMinimumVersionException()
+
+
+
+
+ Tests if an exception is thrown when the data exceeds the maximum version while auto-detecting
+
+
+ public
+ testGetMinimumVersionException ( ) : void
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testInitMatrix()
+
+
+
+
+ Tests initializing the data matrix
+
+
+ public
+ testInitMatrix ( int $maskPattern ) : void
+
+
+ Parameters
+
+
+ $maskPattern
+ : int
+
+
+
+
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+ dataProvider
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testInstance()
+
+
+
+
+ Verifies the QRData instance
+
+
+ public
+ testInstance ( ) : void
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testInvalidDataException()
+
+
+
+
+ Tests if an exception is thrown when an invalid character is encountered
+
+
+ public
+ testInvalidDataException ( ) : void
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testInvalidDataOnEmptyException()
+
+
+
+
+ since the ECI class only accepts integer values,
+we'll use this test to check for the upper end of the accepted input range
+
+
+ public
+ testInvalidDataOnEmptyException ( ) : void
+
+
+
+
+
+
+
+ inheritDoc
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testReadWrite()
+
+
+
+
+
+
+ public
+ testReadWrite ( int $id , int $lengthInBits ) : void
+
+
+ Parameters
+
+
+ $id
+ : int
+
+
+
+
+
+
+ $lengthInBits
+ : int
+
+
+
+
+
+
+
+
+
+
+
+ dataProvider
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ testValidateString()
+
+
+
+
+ Tests if a string is properly validated for the respective data mode
+
+
+ public
+ testValidateString ( string $string , bool $expected ) : void
+
+
+ Parameters
+
+
+ $string
+ : string
+
+
+
+
+
+
+ $expected
+ : bool
+
+
+
+
+
+
+
+
+
+
+
+ dataProvider
+
+
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ unknownEncodingDataProvider()
+
+
+
+
+
+
+ public
+ unknownEncodingDataProvider ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ versionBreakpointProvider()
+
+
+
+
+ returns versions within the version breakpoints 1-9, 10-26 and 27-40
+
+
+ public
+ static versionBreakpointProvider ( ) : array<string|int, mixed>
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+ setUp()
+
+
+
+
+
+
+ protected
+ setUp ( ) : void
+
+
+
+
+
+
+ Return values
+ void
+ —
+
+
+
+
+
+ getDataSegments()
+
+
+
+
+
+
+ private
+ getDataSegments ( ) : array<string|int, mixed>
+
+
+
+
+
+
+ Return values
+ array<string|int, mixed>
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ b/descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ
index d6882dd8e..4e1d0f489 100644
Binary files a/descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ and b/descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ differ
diff --git a/descriptors/-/F/jRgdyBLyXKT+BGk4NfTw b/descriptors/-/F/jRgdyBLyXKT+BGk4NfTw
index 78966dd07..2f2ad1ec7 100644
Binary files a/descriptors/-/F/jRgdyBLyXKT+BGk4NfTw and b/descriptors/-/F/jRgdyBLyXKT+BGk4NfTw differ
diff --git a/descriptors/-/F/kNxgM6+xXQuNe88gSOxA b/descriptors/-/F/kNxgM6+xXQuNe88gSOxA
index a16902d18..5c4d1ce33 100644
Binary files a/descriptors/-/F/kNxgM6+xXQuNe88gSOxA and b/descriptors/-/F/kNxgM6+xXQuNe88gSOxA differ
diff --git a/descriptors/-/O/p5-gmoh5hPLmm04gN4pQ b/descriptors/-/O/p5-gmoh5hPLmm04gN4pQ
index d7c910ec5..3401198ef 100644
Binary files a/descriptors/-/O/p5-gmoh5hPLmm04gN4pQ and b/descriptors/-/O/p5-gmoh5hPLmm04gN4pQ differ
diff --git a/descriptors/0/8/K5Nh3Keev5uTA1xbHsFg b/descriptors/0/8/K5Nh3Keev5uTA1xbHsFg
index ca95b049f..82d5879ae 100644
Binary files a/descriptors/0/8/K5Nh3Keev5uTA1xbHsFg and b/descriptors/0/8/K5Nh3Keev5uTA1xbHsFg differ
diff --git a/descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ b/descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ
index 9f52025b8..68cbcebfa 100644
Binary files a/descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ and b/descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ differ
diff --git a/descriptors/0/N/GpaeNybzoU59gW6UhBnQ b/descriptors/0/N/GpaeNybzoU59gW6UhBnQ
index 0883da5df..fe0cf0cb4 100644
Binary files a/descriptors/0/N/GpaeNybzoU59gW6UhBnQ and b/descriptors/0/N/GpaeNybzoU59gW6UhBnQ differ
diff --git a/descriptors/1/C/HhgHbACpp2-v5vnsHqoQ b/descriptors/1/C/HhgHbACpp2-v5vnsHqoQ
index edaa264aa..b45a54b53 100644
Binary files a/descriptors/1/C/HhgHbACpp2-v5vnsHqoQ and b/descriptors/1/C/HhgHbACpp2-v5vnsHqoQ differ
diff --git a/descriptors/1/W/3ebKU0GB6zhMUdVP1b+A b/descriptors/1/W/3ebKU0GB6zhMUdVP1b+A
index ddfaafd9e..b90b55808 100644
Binary files a/descriptors/1/W/3ebKU0GB6zhMUdVP1b+A and b/descriptors/1/W/3ebKU0GB6zhMUdVP1b+A differ
diff --git a/descriptors/1/W/oHvshtXLek5m48kI4qYQ b/descriptors/1/W/oHvshtXLek5m48kI4qYQ
index fd5c5479f..0da710ec4 100644
Binary files a/descriptors/1/W/oHvshtXLek5m48kI4qYQ and b/descriptors/1/W/oHvshtXLek5m48kI4qYQ differ
diff --git a/descriptors/2/9/WQOCx02TdfYvA2zPFRVQ b/descriptors/2/9/WQOCx02TdfYvA2zPFRVQ
index bca07e683..94f851be6 100644
Binary files a/descriptors/2/9/WQOCx02TdfYvA2zPFRVQ and b/descriptors/2/9/WQOCx02TdfYvA2zPFRVQ differ
diff --git a/descriptors/3/O/NJboKaggdJkamainZjsA b/descriptors/3/O/NJboKaggdJkamainZjsA
index 6fe09fa56..c71901a1a 100644
Binary files a/descriptors/3/O/NJboKaggdJkamainZjsA and b/descriptors/3/O/NJboKaggdJkamainZjsA differ
diff --git a/descriptors/4/B/qeb7Z8-vMA7Ua4+gfLXA b/descriptors/4/B/qeb7Z8-vMA7Ua4+gfLXA
index 7d4ebeca1..2e90ef24d 100644
Binary files a/descriptors/4/B/qeb7Z8-vMA7Ua4+gfLXA and b/descriptors/4/B/qeb7Z8-vMA7Ua4+gfLXA differ
diff --git a/descriptors/5/S/JYW4u1Ss7g87mvPurwuQ b/descriptors/5/S/JYW4u1Ss7g87mvPurwuQ
index 2b983d168..fdcd5673d 100644
Binary files a/descriptors/5/S/JYW4u1Ss7g87mvPurwuQ and b/descriptors/5/S/JYW4u1Ss7g87mvPurwuQ differ
diff --git a/descriptors/6/1/lB29Unf+MGop8ZfQpbxw b/descriptors/6/1/lB29Unf+MGop8ZfQpbxw
index f72a7f8e1..8f2c257be 100644
Binary files a/descriptors/6/1/lB29Unf+MGop8ZfQpbxw and b/descriptors/6/1/lB29Unf+MGop8ZfQpbxw differ
diff --git a/descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg b/descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg
index 01ad75486..26e0db531 100644
Binary files a/descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg and b/descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg differ
diff --git a/descriptors/7/8/QsSJcxuDttqz7kaLKK9w b/descriptors/7/8/QsSJcxuDttqz7kaLKK9w
index 56a936938..3c8b8090c 100644
Binary files a/descriptors/7/8/QsSJcxuDttqz7kaLKK9w and b/descriptors/7/8/QsSJcxuDttqz7kaLKK9w differ
diff --git a/descriptors/8/B/YUUawcRPu8iqa0H4uRzA b/descriptors/8/B/YUUawcRPu8iqa0H4uRzA
index a05fd7cf4..dbe2f7133 100644
Binary files a/descriptors/8/B/YUUawcRPu8iqa0H4uRzA and b/descriptors/8/B/YUUawcRPu8iqa0H4uRzA differ
diff --git a/descriptors/8/T/vc7T6bnZ3UycLojYYsbQ b/descriptors/8/T/vc7T6bnZ3UycLojYYsbQ
index a705c3571..3550e4d73 100644
Binary files a/descriptors/8/T/vc7T6bnZ3UycLojYYsbQ and b/descriptors/8/T/vc7T6bnZ3UycLojYYsbQ differ
diff --git a/descriptors/9/O/WWt-IuNrfC8yLC-ncXKQ b/descriptors/9/O/WWt-IuNrfC8yLC-ncXKQ
index 10129d21d..91bb52baa 100644
Binary files a/descriptors/9/O/WWt-IuNrfC8yLC-ncXKQ and b/descriptors/9/O/WWt-IuNrfC8yLC-ncXKQ differ
diff --git a/descriptors/A/H/DD90x3SluOjSxkcV88ZA b/descriptors/A/H/DD90x3SluOjSxkcV88ZA
index 9a9a0a09c..33318fd99 100644
Binary files a/descriptors/A/H/DD90x3SluOjSxkcV88ZA and b/descriptors/A/H/DD90x3SluOjSxkcV88ZA differ
diff --git a/descriptors/A/N/Ljow2YPBWWbEcemFbdJg b/descriptors/A/N/Ljow2YPBWWbEcemFbdJg
index ef42949b9..9d36c3b1c 100644
Binary files a/descriptors/A/N/Ljow2YPBWWbEcemFbdJg and b/descriptors/A/N/Ljow2YPBWWbEcemFbdJg differ
diff --git a/descriptors/B/1/aTEUuEOOiQctQ60relWw b/descriptors/B/1/aTEUuEOOiQctQ60relWw
index ed3e80882..f6577d7cf 100644
Binary files a/descriptors/B/1/aTEUuEOOiQctQ60relWw and b/descriptors/B/1/aTEUuEOOiQctQ60relWw differ
diff --git a/descriptors/B/E/r1vpxcSDgXhLhmvapg0g b/descriptors/B/E/r1vpxcSDgXhLhmvapg0g
index 96715d535..afaa3e3eb 100644
Binary files a/descriptors/B/E/r1vpxcSDgXhLhmvapg0g and b/descriptors/B/E/r1vpxcSDgXhLhmvapg0g differ
diff --git a/descriptors/B/M/ypKt-svLtRmUKXHv+qBg b/descriptors/B/M/ypKt-svLtRmUKXHv+qBg
index 7cd86517b..a274c476f 100644
Binary files a/descriptors/B/M/ypKt-svLtRmUKXHv+qBg and b/descriptors/B/M/ypKt-svLtRmUKXHv+qBg differ
diff --git a/descriptors/C/M/EVCvnxX+dRHuyEr8qsYA b/descriptors/C/M/EVCvnxX+dRHuyEr8qsYA
index ae81dea34..9e1370a6b 100644
Binary files a/descriptors/C/M/EVCvnxX+dRHuyEr8qsYA and b/descriptors/C/M/EVCvnxX+dRHuyEr8qsYA differ
diff --git a/descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w b/descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w
index fe18c1428..b809488ed 100644
Binary files a/descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w and b/descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w differ
diff --git a/descriptors/D/F/DOG571bO-z1teWt5gCnA b/descriptors/D/F/DOG571bO-z1teWt5gCnA
index f9d60613e..def2e55f9 100644
Binary files a/descriptors/D/F/DOG571bO-z1teWt5gCnA and b/descriptors/D/F/DOG571bO-z1teWt5gCnA differ
diff --git a/descriptors/D/Y/dbZm8qpxN30zrKzqw2hA b/descriptors/D/Y/dbZm8qpxN30zrKzqw2hA
index 7bccc26cf..cdc523b60 100644
Binary files a/descriptors/D/Y/dbZm8qpxN30zrKzqw2hA and b/descriptors/D/Y/dbZm8qpxN30zrKzqw2hA differ
diff --git a/descriptors/D/Y/k68AX6bKDcYhVlpLdDsA b/descriptors/D/Y/k68AX6bKDcYhVlpLdDsA
index fd538ad5e..901bedf77 100644
Binary files a/descriptors/D/Y/k68AX6bKDcYhVlpLdDsA and b/descriptors/D/Y/k68AX6bKDcYhVlpLdDsA differ
diff --git a/descriptors/E/N/JSeDAafg2tTkvDl8smeA b/descriptors/E/N/JSeDAafg2tTkvDl8smeA
new file mode 100644
index 000000000..46bca1888
Binary files /dev/null and b/descriptors/E/N/JSeDAafg2tTkvDl8smeA differ
diff --git a/descriptors/F/7/OnTTKZgQfCrYvSHdurDA b/descriptors/F/7/OnTTKZgQfCrYvSHdurDA
index 389c449ad..dca442f4a 100644
Binary files a/descriptors/F/7/OnTTKZgQfCrYvSHdurDA and b/descriptors/F/7/OnTTKZgQfCrYvSHdurDA differ
diff --git a/descriptors/F/B/LksworQTmdGDsbuGgK3w b/descriptors/F/B/LksworQTmdGDsbuGgK3w
index 7d4e2ea7e..6a7fbe4e7 100644
Binary files a/descriptors/F/B/LksworQTmdGDsbuGgK3w and b/descriptors/F/B/LksworQTmdGDsbuGgK3w differ
diff --git a/descriptors/F/V/02epmiUkatFxWCEUNOZQ b/descriptors/F/V/02epmiUkatFxWCEUNOZQ
index 28fe60cc4..ca4a321e9 100644
Binary files a/descriptors/F/V/02epmiUkatFxWCEUNOZQ and b/descriptors/F/V/02epmiUkatFxWCEUNOZQ differ
diff --git a/descriptors/F/W/LPVjCtHs4NygJFs5cb6w b/descriptors/F/W/LPVjCtHs4NygJFs5cb6w
index 0bbf8eb69..19df2822b 100644
Binary files a/descriptors/F/W/LPVjCtHs4NygJFs5cb6w and b/descriptors/F/W/LPVjCtHs4NygJFs5cb6w differ
diff --git a/descriptors/G/8/34PLS-AzpSCuX2cZHsqw b/descriptors/G/8/34PLS-AzpSCuX2cZHsqw
index b4e3b7fe1..f3a7cfe65 100644
Binary files a/descriptors/G/8/34PLS-AzpSCuX2cZHsqw and b/descriptors/G/8/34PLS-AzpSCuX2cZHsqw differ
diff --git a/descriptors/G/8/lMTRtTRfeOvS1-4DgeGA b/descriptors/G/8/lMTRtTRfeOvS1-4DgeGA
index 3a8cd3b20..6f5dff433 100644
Binary files a/descriptors/G/8/lMTRtTRfeOvS1-4DgeGA and b/descriptors/G/8/lMTRtTRfeOvS1-4DgeGA differ
diff --git a/descriptors/G/G/Wqosy8fgWMr+iNneQiEw b/descriptors/G/G/Wqosy8fgWMr+iNneQiEw
index 585ccc6dc..67d88bef8 100644
Binary files a/descriptors/G/G/Wqosy8fgWMr+iNneQiEw and b/descriptors/G/G/Wqosy8fgWMr+iNneQiEw differ
diff --git a/descriptors/G/V/fdJGuZf5fNFLqtugqT-w b/descriptors/G/V/fdJGuZf5fNFLqtugqT-w
index 7610f3611..e72b3d613 100644
Binary files a/descriptors/G/V/fdJGuZf5fNFLqtugqT-w and b/descriptors/G/V/fdJGuZf5fNFLqtugqT-w differ
diff --git a/descriptors/G/Z/oRUELJnE8E9xjfb7zVYw b/descriptors/G/Z/oRUELJnE8E9xjfb7zVYw
index 207dbe2dc..45defa810 100644
Binary files a/descriptors/G/Z/oRUELJnE8E9xjfb7zVYw and b/descriptors/G/Z/oRUELJnE8E9xjfb7zVYw differ
diff --git a/descriptors/H/K/L8qxzlGe3nApAEb0XDmw b/descriptors/H/K/L8qxzlGe3nApAEb0XDmw
index 884676599..fd4babdc7 100644
Binary files a/descriptors/H/K/L8qxzlGe3nApAEb0XDmw and b/descriptors/H/K/L8qxzlGe3nApAEb0XDmw differ
diff --git a/descriptors/I/J/x2xVUc9W5MxogGELRmsw b/descriptors/I/J/x2xVUc9W5MxogGELRmsw
index 2d38a0c43..097b5cd7e 100644
Binary files a/descriptors/I/J/x2xVUc9W5MxogGELRmsw and b/descriptors/I/J/x2xVUc9W5MxogGELRmsw differ
diff --git a/descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ b/descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ
index 8707bc4f9..e47674215 100644
Binary files a/descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ and b/descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ differ
diff --git a/descriptors/L/2/ctw2MM3ESsh4daIK1sWg b/descriptors/L/2/ctw2MM3ESsh4daIK1sWg
index 8de0cb1af..aa15a6a30 100644
Binary files a/descriptors/L/2/ctw2MM3ESsh4daIK1sWg and b/descriptors/L/2/ctw2MM3ESsh4daIK1sWg differ
diff --git a/descriptors/M/-/WxZaFDk-ceeWbfrdktlw b/descriptors/M/-/WxZaFDk-ceeWbfrdktlw
index 6ed569c57..7d932bbc1 100644
Binary files a/descriptors/M/-/WxZaFDk-ceeWbfrdktlw and b/descriptors/M/-/WxZaFDk-ceeWbfrdktlw differ
diff --git a/descriptors/M/0/6Pk8EaJbsABUqPovsNjA b/descriptors/M/0/6Pk8EaJbsABUqPovsNjA
index e7311b376..7d504dff7 100644
Binary files a/descriptors/M/0/6Pk8EaJbsABUqPovsNjA and b/descriptors/M/0/6Pk8EaJbsABUqPovsNjA differ
diff --git a/descriptors/M/D/7RuPc8ZLXiYUOULAXMHA b/descriptors/M/D/7RuPc8ZLXiYUOULAXMHA
index c9c3abc67..3ce92a8e1 100644
Binary files a/descriptors/M/D/7RuPc8ZLXiYUOULAXMHA and b/descriptors/M/D/7RuPc8ZLXiYUOULAXMHA differ
diff --git a/descriptors/M/E/Nh3ZTPCAW0NKAreDA58A b/descriptors/M/E/Nh3ZTPCAW0NKAreDA58A
index 645ac07a2..74a0e0aaa 100644
Binary files a/descriptors/M/E/Nh3ZTPCAW0NKAreDA58A and b/descriptors/M/E/Nh3ZTPCAW0NKAreDA58A differ
diff --git a/descriptors/M/H/UP+q5Whq-hBCfNUVgmmA b/descriptors/M/H/UP+q5Whq-hBCfNUVgmmA
index c639096d3..786d2df84 100644
Binary files a/descriptors/M/H/UP+q5Whq-hBCfNUVgmmA and b/descriptors/M/H/UP+q5Whq-hBCfNUVgmmA differ
diff --git a/descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw b/descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw
index 4d549c2f7..ba7fe1583 100644
Binary files a/descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw and b/descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw differ
diff --git a/descriptors/N/K/1wJmCAkdhUBMG4W9U26Q b/descriptors/N/K/1wJmCAkdhUBMG4W9U26Q
index c4008eb99..02f125358 100644
Binary files a/descriptors/N/K/1wJmCAkdhUBMG4W9U26Q and b/descriptors/N/K/1wJmCAkdhUBMG4W9U26Q differ
diff --git a/descriptors/N/L/M8tl-UJDn9hJ5n0JYiUQ b/descriptors/N/L/M8tl-UJDn9hJ5n0JYiUQ
index b5d00162f..55e02d9d7 100644
Binary files a/descriptors/N/L/M8tl-UJDn9hJ5n0JYiUQ and b/descriptors/N/L/M8tl-UJDn9hJ5n0JYiUQ differ
diff --git a/descriptors/O/-/Qj50sQunXyprLIPjDWuw b/descriptors/O/-/Qj50sQunXyprLIPjDWuw
index a1943086d..a5a653d0f 100644
Binary files a/descriptors/O/-/Qj50sQunXyprLIPjDWuw and b/descriptors/O/-/Qj50sQunXyprLIPjDWuw differ
diff --git a/descriptors/O/9/TxGIyEkOt8LOdakmWGng b/descriptors/O/9/TxGIyEkOt8LOdakmWGng
index fd303ff2a..fe719a32d 100644
Binary files a/descriptors/O/9/TxGIyEkOt8LOdakmWGng and b/descriptors/O/9/TxGIyEkOt8LOdakmWGng differ
diff --git a/descriptors/O/C/QrLkTA4pksM1hZjh2fmQ b/descriptors/O/C/QrLkTA4pksM1hZjh2fmQ
index 79a0bd23a..c4751e4a5 100644
Binary files a/descriptors/O/C/QrLkTA4pksM1hZjh2fmQ and b/descriptors/O/C/QrLkTA4pksM1hZjh2fmQ differ
diff --git a/descriptors/O/O/mS81z7ltTtSlHSFUSNuw b/descriptors/O/O/mS81z7ltTtSlHSFUSNuw
index ca3aa5e9a..1f1bc0e6b 100644
Binary files a/descriptors/O/O/mS81z7ltTtSlHSFUSNuw and b/descriptors/O/O/mS81z7ltTtSlHSFUSNuw differ
diff --git a/descriptors/O/P/hsy4XuaUYG7s+p327kdw b/descriptors/O/P/hsy4XuaUYG7s+p327kdw
index f0ff71229..846b0f90d 100644
Binary files a/descriptors/O/P/hsy4XuaUYG7s+p327kdw and b/descriptors/O/P/hsy4XuaUYG7s+p327kdw differ
diff --git a/descriptors/P/F/CRQ81A3lfcHvSs9jQKkw b/descriptors/P/F/CRQ81A3lfcHvSs9jQKkw
index 1132da05f..3d540d99c 100644
Binary files a/descriptors/P/F/CRQ81A3lfcHvSs9jQKkw and b/descriptors/P/F/CRQ81A3lfcHvSs9jQKkw differ
diff --git a/descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ b/descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ
index 86dbed560..0e46b7f5c 100644
Binary files a/descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ and b/descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ differ
diff --git a/descriptors/P/W/v4WcSXImGyjLmuu+otdw b/descriptors/P/W/v4WcSXImGyjLmuu+otdw
index 7c29410a9..3f1517c0e 100644
Binary files a/descriptors/P/W/v4WcSXImGyjLmuu+otdw and b/descriptors/P/W/v4WcSXImGyjLmuu+otdw differ
diff --git a/descriptors/Q/+/+ygOIFiBFu-T843DeaIg b/descriptors/Q/+/+ygOIFiBFu-T843DeaIg
new file mode 100644
index 000000000..64033bbaf
Binary files /dev/null and b/descriptors/Q/+/+ygOIFiBFu-T843DeaIg differ
diff --git a/descriptors/Q/G/1e8Ygp1jpFLMRhjJxNng b/descriptors/Q/G/1e8Ygp1jpFLMRhjJxNng
index 7cfb0e93a..3f2617143 100644
Binary files a/descriptors/Q/G/1e8Ygp1jpFLMRhjJxNng and b/descriptors/Q/G/1e8Ygp1jpFLMRhjJxNng differ
diff --git a/descriptors/Q/P/B+J2GJLfQ0IakPB13vHw b/descriptors/Q/P/B+J2GJLfQ0IakPB13vHw
index 97beb0143..6ae6d5b1e 100644
Binary files a/descriptors/Q/P/B+J2GJLfQ0IakPB13vHw and b/descriptors/Q/P/B+J2GJLfQ0IakPB13vHw differ
diff --git a/descriptors/R/4/r6yGx50e8PvtGI2kYcVA b/descriptors/R/4/r6yGx50e8PvtGI2kYcVA
index 8a3f3d5ea..80777c853 100644
Binary files a/descriptors/R/4/r6yGx50e8PvtGI2kYcVA and b/descriptors/R/4/r6yGx50e8PvtGI2kYcVA differ
diff --git a/descriptors/R/J/XynComHevEUzJVBqwqBw b/descriptors/R/J/XynComHevEUzJVBqwqBw
index 004d35955..3599f6330 100644
Binary files a/descriptors/R/J/XynComHevEUzJVBqwqBw and b/descriptors/R/J/XynComHevEUzJVBqwqBw differ
diff --git a/descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ b/descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ
index 44e21c1a1..c50a0c151 100644
Binary files a/descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ and b/descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ differ
diff --git a/descriptors/S/5/GDvbx5K37txRsFozM6Dw b/descriptors/S/5/GDvbx5K37txRsFozM6Dw
index cd452d88c..8e1921abf 100644
Binary files a/descriptors/S/5/GDvbx5K37txRsFozM6Dw and b/descriptors/S/5/GDvbx5K37txRsFozM6Dw differ
diff --git a/descriptors/S/O/uB88R0MDvju5O8vP9R2g b/descriptors/S/O/uB88R0MDvju5O8vP9R2g
index 7ebee601b..589d58e2c 100644
Binary files a/descriptors/S/O/uB88R0MDvju5O8vP9R2g and b/descriptors/S/O/uB88R0MDvju5O8vP9R2g differ
diff --git a/descriptors/T/M/LNFLDuHMpqMgpKcW670A b/descriptors/T/M/LNFLDuHMpqMgpKcW670A
index ae01ee013..794203775 100644
Binary files a/descriptors/T/M/LNFLDuHMpqMgpKcW670A and b/descriptors/T/M/LNFLDuHMpqMgpKcW670A differ
diff --git a/descriptors/T/T/tO3jR81njv31WRpZ7b3w b/descriptors/T/T/tO3jR81njv31WRpZ7b3w
index afc85d935..cf9ce53e9 100644
Binary files a/descriptors/T/T/tO3jR81njv31WRpZ7b3w and b/descriptors/T/T/tO3jR81njv31WRpZ7b3w differ
diff --git a/descriptors/T/U/tCn8347JaERiSFirOQkQ b/descriptors/T/U/tCn8347JaERiSFirOQkQ
index f8d95abfa..99f22a60d 100644
Binary files a/descriptors/T/U/tCn8347JaERiSFirOQkQ and b/descriptors/T/U/tCn8347JaERiSFirOQkQ differ
diff --git a/descriptors/T/Y/GYEZMyZYKnQDpBqG-ZsQ b/descriptors/T/Y/GYEZMyZYKnQDpBqG-ZsQ
index 42d9fd240..917d05ab0 100644
Binary files a/descriptors/T/Y/GYEZMyZYKnQDpBqG-ZsQ and b/descriptors/T/Y/GYEZMyZYKnQDpBqG-ZsQ differ
diff --git a/descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig b/descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig
index 30f5df5ee..6199ef98f 100644
Binary files a/descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig and b/descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig differ
diff --git a/descriptors/U/F/lOcPYujFNfed0+VaP6pQ b/descriptors/U/F/lOcPYujFNfed0+VaP6pQ
index 35979d45d..a4bad390c 100644
Binary files a/descriptors/U/F/lOcPYujFNfed0+VaP6pQ and b/descriptors/U/F/lOcPYujFNfed0+VaP6pQ differ
diff --git a/descriptors/U/M/GOkWye9ioWEVXJE38j3A b/descriptors/U/M/GOkWye9ioWEVXJE38j3A
index 29decd9a1..2d5068a46 100644
Binary files a/descriptors/U/M/GOkWye9ioWEVXJE38j3A and b/descriptors/U/M/GOkWye9ioWEVXJE38j3A differ
diff --git a/descriptors/U/T/sy7Fttx0RT+dXnidigIg b/descriptors/U/T/sy7Fttx0RT+dXnidigIg
index 0b544c066..d26bd9c83 100644
Binary files a/descriptors/U/T/sy7Fttx0RT+dXnidigIg and b/descriptors/U/T/sy7Fttx0RT+dXnidigIg differ
diff --git a/descriptors/V/D/k1Sxb8RF0516043ylCfA b/descriptors/V/D/k1Sxb8RF0516043ylCfA
index 589ba28de..8bf42487a 100644
Binary files a/descriptors/V/D/k1Sxb8RF0516043ylCfA and b/descriptors/V/D/k1Sxb8RF0516043ylCfA differ
diff --git a/descriptors/V/W/lD6qBTbqlkVqPSgCnx4Q b/descriptors/V/W/lD6qBTbqlkVqPSgCnx4Q
index 677091345..e4cdd2405 100644
Binary files a/descriptors/V/W/lD6qBTbqlkVqPSgCnx4Q and b/descriptors/V/W/lD6qBTbqlkVqPSgCnx4Q differ
diff --git a/descriptors/W/V/grsubfc-REqTpvf8epEg b/descriptors/W/V/grsubfc-REqTpvf8epEg
index 5e436365e..0f139fba7 100644
Binary files a/descriptors/W/V/grsubfc-REqTpvf8epEg and b/descriptors/W/V/grsubfc-REqTpvf8epEg differ
diff --git a/descriptors/W/W/VuUIL017QJptZ8nk+oCQ b/descriptors/W/W/VuUIL017QJptZ8nk+oCQ
index 0295abd4f..88c29415b 100644
Binary files a/descriptors/W/W/VuUIL017QJptZ8nk+oCQ and b/descriptors/W/W/VuUIL017QJptZ8nk+oCQ differ
diff --git a/descriptors/X/K/dIL95Dr61miaEd3wrNUQ b/descriptors/X/K/dIL95Dr61miaEd3wrNUQ
index 5ee301148..c836ee8d7 100644
Binary files a/descriptors/X/K/dIL95Dr61miaEd3wrNUQ and b/descriptors/X/K/dIL95Dr61miaEd3wrNUQ differ
diff --git a/descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ b/descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ
index 4f3da0148..9d6399cb0 100644
Binary files a/descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ and b/descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ differ
diff --git a/descriptors/X/P/6FuSnMkagyPUTmQNikpA b/descriptors/X/P/6FuSnMkagyPUTmQNikpA
index 3273f77a1..d0a5cb125 100644
Binary files a/descriptors/X/P/6FuSnMkagyPUTmQNikpA and b/descriptors/X/P/6FuSnMkagyPUTmQNikpA differ
diff --git a/descriptors/Y/H/ePCrZ0GYbMW9q694m-BA b/descriptors/Y/H/ePCrZ0GYbMW9q694m-BA
index 7504ceefc..27da53029 100644
Binary files a/descriptors/Y/H/ePCrZ0GYbMW9q694m-BA and b/descriptors/Y/H/ePCrZ0GYbMW9q694m-BA differ
diff --git a/descriptors/Y/J/-UeysKWW9IRX0jdHGODw b/descriptors/Y/J/-UeysKWW9IRX0jdHGODw
index 15fff4082..876d7b54a 100644
Binary files a/descriptors/Y/J/-UeysKWW9IRX0jdHGODw and b/descriptors/Y/J/-UeysKWW9IRX0jdHGODw differ
diff --git a/descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA b/descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA
index b064a4561..a02bebee3 100644
Binary files a/descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA and b/descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA differ
diff --git a/descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg b/descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg
index 5f5e1d8f2..19eb36651 100644
Binary files a/descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg and b/descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg differ
diff --git a/descriptors/Z/D/2U667Gxe4khBp7gpHeRQ b/descriptors/Z/D/2U667Gxe4khBp7gpHeRQ
index d57e69a23..5134c7ac8 100644
Binary files a/descriptors/Z/D/2U667Gxe4khBp7gpHeRQ and b/descriptors/Z/D/2U667Gxe4khBp7gpHeRQ differ
diff --git a/descriptors/Z/R/OUsJ+j-nqt5LtwbqJiaQ b/descriptors/Z/R/OUsJ+j-nqt5LtwbqJiaQ
index 17f765a26..b18dbcb0c 100644
Binary files a/descriptors/Z/R/OUsJ+j-nqt5LtwbqJiaQ and b/descriptors/Z/R/OUsJ+j-nqt5LtwbqJiaQ differ
diff --git a/descriptors/Z/T/SVOJOBr-M5MAP66POlfw b/descriptors/Z/T/SVOJOBr-M5MAP66POlfw
index 2a3813acf..a48d5dd03 100644
Binary files a/descriptors/Z/T/SVOJOBr-M5MAP66POlfw and b/descriptors/Z/T/SVOJOBr-M5MAP66POlfw differ
diff --git a/descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg b/descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg
index 886f8f9d4..3935dcb42 100644
Binary files a/descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg and b/descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg differ
diff --git a/files/+/E/5baoRFdk51x+j2-4oACA b/files/+/E/5baoRFdk51x+j2-4oACA
new file mode 100644
index 000000000..760cb5a25
Binary files /dev/null and b/files/+/E/5baoRFdk51x+j2-4oACA differ
diff --git a/files/0/D/c4xcvaV-0HkaEBVhH6Iw b/files/0/D/c4xcvaV-0HkaEBVhH6Iw
index 4af36f689..0159ef369 100644
Binary files a/files/0/D/c4xcvaV-0HkaEBVhH6Iw and b/files/0/D/c4xcvaV-0HkaEBVhH6Iw differ
diff --git a/files/0/K/sLafnYCtivYiQcrj5Y-g b/files/0/K/sLafnYCtivYiQcrj5Y-g
index f677c6d85..73af507a2 100644
Binary files a/files/0/K/sLafnYCtivYiQcrj5Y-g and b/files/0/K/sLafnYCtivYiQcrj5Y-g differ
diff --git a/files/1/A/xJEk4iB9wXwzXvvXBv8Q b/files/1/A/xJEk4iB9wXwzXvvXBv8Q
index 3e045f53d..a50b6a153 100644
Binary files a/files/1/A/xJEk4iB9wXwzXvvXBv8Q and b/files/1/A/xJEk4iB9wXwzXvvXBv8Q differ
diff --git a/files/2/G/1ksoZldFWqAWpwDghFHw b/files/2/G/1ksoZldFWqAWpwDghFHw
index 3e37c0ffd..d2a6a13bd 100644
Binary files a/files/2/G/1ksoZldFWqAWpwDghFHw and b/files/2/G/1ksoZldFWqAWpwDghFHw differ
diff --git a/files/2/X/ezsqXGOLmAILNjzn25jA b/files/2/X/ezsqXGOLmAILNjzn25jA
index e21c590be..df0918716 100644
Binary files a/files/2/X/ezsqXGOLmAILNjzn25jA and b/files/2/X/ezsqXGOLmAILNjzn25jA differ
diff --git a/files/3/N/189cBEl67bsBwjxv+UZQ b/files/3/N/189cBEl67bsBwjxv+UZQ
index 4e634a336..ce7c54ab6 100644
Binary files a/files/3/N/189cBEl67bsBwjxv+UZQ and b/files/3/N/189cBEl67bsBwjxv+UZQ differ
diff --git a/files/4/B/2ttocuwpz1p1zkXm2rxQ b/files/4/B/2ttocuwpz1p1zkXm2rxQ
new file mode 100644
index 000000000..6c9dec2c5
Binary files /dev/null and b/files/4/B/2ttocuwpz1p1zkXm2rxQ differ
diff --git a/files/5/Q/gZOFsyQFHAFSP2Oerf7w b/files/5/Q/gZOFsyQFHAFSP2Oerf7w
index ce6a134e9..63d2c4eba 100644
Binary files a/files/5/Q/gZOFsyQFHAFSP2Oerf7w and b/files/5/Q/gZOFsyQFHAFSP2Oerf7w differ
diff --git a/files/6/H/x+3fuCtKvK4Bs3-AqMPg b/files/6/H/x+3fuCtKvK4Bs3-AqMPg
index b5b65d2ca..7fab462f5 100644
Binary files a/files/6/H/x+3fuCtKvK4Bs3-AqMPg and b/files/6/H/x+3fuCtKvK4Bs3-AqMPg differ
diff --git a/files/6/P/xxtmoKonpjausKnelZWg b/files/6/P/xxtmoKonpjausKnelZWg
index 64e6c06a4..661fb05ed 100644
Binary files a/files/6/P/xxtmoKonpjausKnelZWg and b/files/6/P/xxtmoKonpjausKnelZWg differ
diff --git a/files/7/8/VvedMm32hFVPyoj5NeVA b/files/7/8/VvedMm32hFVPyoj5NeVA
index c41886ec4..2cbfa7411 100644
Binary files a/files/7/8/VvedMm32hFVPyoj5NeVA and b/files/7/8/VvedMm32hFVPyoj5NeVA differ
diff --git a/files/7/C/yHK5-SltR2h317oRNQHw b/files/7/C/yHK5-SltR2h317oRNQHw
deleted file mode 100644
index f89fee475..000000000
Binary files a/files/7/C/yHK5-SltR2h317oRNQHw and /dev/null differ
diff --git a/files/7/Q/rQ-ojSams1q25biKa0OQ b/files/7/Q/rQ-ojSams1q25biKa0OQ
index cb8faa96b..94369116e 100644
Binary files a/files/7/Q/rQ-ojSams1q25biKa0OQ and b/files/7/Q/rQ-ojSams1q25biKa0OQ differ
diff --git a/files/7/Y/tDYIIDO8pmjtwHsKBIPQ b/files/7/Y/tDYIIDO8pmjtwHsKBIPQ
index 3a332f236..d0126d23d 100644
Binary files a/files/7/Y/tDYIIDO8pmjtwHsKBIPQ and b/files/7/Y/tDYIIDO8pmjtwHsKBIPQ differ
diff --git a/files/8/T/TWytAUrlEe7s0hqWFK3Q b/files/8/T/TWytAUrlEe7s0hqWFK3Q
index ead6d5100..e5635a454 100644
Binary files a/files/8/T/TWytAUrlEe7s0hqWFK3Q and b/files/8/T/TWytAUrlEe7s0hqWFK3Q differ
diff --git a/files/A/B/WM4NZlo+WcqWCViHkfEQ b/files/A/B/WM4NZlo+WcqWCViHkfEQ
new file mode 100644
index 000000000..dc4ef1e76
Binary files /dev/null and b/files/A/B/WM4NZlo+WcqWCViHkfEQ differ
diff --git a/files/A/W/jcBdW6XWLXWU6HUiz4cg b/files/A/W/jcBdW6XWLXWU6HUiz4cg
deleted file mode 100644
index c1ce5eb76..000000000
Binary files a/files/A/W/jcBdW6XWLXWU6HUiz4cg and /dev/null differ
diff --git a/files/B/G/d5hfp17i9wMvaCFNPjWA b/files/B/G/d5hfp17i9wMvaCFNPjWA
index 0f29b8a42..bf9b40610 100644
Binary files a/files/B/G/d5hfp17i9wMvaCFNPjWA and b/files/B/G/d5hfp17i9wMvaCFNPjWA differ
diff --git a/files/B/H/5dQcMGpCa1H8E4WMDTug b/files/B/H/5dQcMGpCa1H8E4WMDTug
index fda6bbc53..88e2b13f8 100644
Binary files a/files/B/H/5dQcMGpCa1H8E4WMDTug and b/files/B/H/5dQcMGpCa1H8E4WMDTug differ
diff --git a/files/B/R/B6WSztYjXsVexFp6oiUw b/files/B/R/B6WSztYjXsVexFp6oiUw
index ab5416ccc..7b02afa86 100644
Binary files a/files/B/R/B6WSztYjXsVexFp6oiUw and b/files/B/R/B6WSztYjXsVexFp6oiUw differ
diff --git a/files/B/T/ShCoJe3BP1jJ0fXp5QIw b/files/B/T/ShCoJe3BP1jJ0fXp5QIw
new file mode 100644
index 000000000..0c1b56ee0
Binary files /dev/null and b/files/B/T/ShCoJe3BP1jJ0fXp5QIw differ
diff --git a/files/C/1/TjAYjG1GMt-NM8W7TGEQ b/files/C/1/TjAYjG1GMt-NM8W7TGEQ
index 86cb05477..9137139ff 100644
Binary files a/files/C/1/TjAYjG1GMt-NM8W7TGEQ and b/files/C/1/TjAYjG1GMt-NM8W7TGEQ differ
diff --git a/files/C/B/H4HKgyNvMc6mchY20NFw b/files/C/B/H4HKgyNvMc6mchY20NFw
index 00bfac01f..b6b1daaba 100644
Binary files a/files/C/B/H4HKgyNvMc6mchY20NFw and b/files/C/B/H4HKgyNvMc6mchY20NFw differ
diff --git a/files/C/E/xdNJVuoou5-1v5LDrYVg b/files/C/E/xdNJVuoou5-1v5LDrYVg
index e94e813d4..0bc20f389 100644
Binary files a/files/C/E/xdNJVuoou5-1v5LDrYVg and b/files/C/E/xdNJVuoou5-1v5LDrYVg differ
diff --git a/files/C/G/EKZKb7Y5DriOkHYBjv4w b/files/C/G/EKZKb7Y5DriOkHYBjv4w
index 393aebc45..6f70ffe00 100644
Binary files a/files/C/G/EKZKb7Y5DriOkHYBjv4w and b/files/C/G/EKZKb7Y5DriOkHYBjv4w differ
diff --git a/files/C/H/aY5peukdUYNMG4IwM30w b/files/C/H/aY5peukdUYNMG4IwM30w
index b3cd3bd71..362e98ef0 100644
Binary files a/files/C/H/aY5peukdUYNMG4IwM30w and b/files/C/H/aY5peukdUYNMG4IwM30w differ
diff --git a/files/D/-/34UOS7A9e6TRzlBxI-Wg b/files/D/-/34UOS7A9e6TRzlBxI-Wg
index 4571544b7..130779c5b 100644
Binary files a/files/D/-/34UOS7A9e6TRzlBxI-Wg and b/files/D/-/34UOS7A9e6TRzlBxI-Wg differ
diff --git a/files/D/2/tkWNWP6vzmxIeLRbu1kQ b/files/D/2/tkWNWP6vzmxIeLRbu1kQ
deleted file mode 100644
index 666723dc2..000000000
Binary files a/files/D/2/tkWNWP6vzmxIeLRbu1kQ and /dev/null differ
diff --git a/files/D/H/+ImXLCG9RYNtRoNNzUQw b/files/D/H/+ImXLCG9RYNtRoNNzUQw
new file mode 100644
index 000000000..5a84e3bab
Binary files /dev/null and b/files/D/H/+ImXLCG9RYNtRoNNzUQw differ
diff --git a/files/E/1/Vec2c0asqVUvPHfjCHfw b/files/E/1/Vec2c0asqVUvPHfjCHfw
index b29c6c479..379d10760 100644
Binary files a/files/E/1/Vec2c0asqVUvPHfjCHfw and b/files/E/1/Vec2c0asqVUvPHfjCHfw differ
diff --git a/files/E/A/G63tEnHd5CXc0nS77h+A b/files/E/A/G63tEnHd5CXc0nS77h+A
index 9eba5d1e3..935010122 100644
Binary files a/files/E/A/G63tEnHd5CXc0nS77h+A and b/files/E/A/G63tEnHd5CXc0nS77h+A differ
diff --git a/files/E/C/HRIK9tI80oiUR5Lod9CA b/files/E/C/HRIK9tI80oiUR5Lod9CA
index 533fa1d1e..104c28e08 100644
Binary files a/files/E/C/HRIK9tI80oiUR5Lod9CA and b/files/E/C/HRIK9tI80oiUR5Lod9CA differ
diff --git a/files/E/M/6DJoY7okjpHib1YQKFnQ b/files/E/M/6DJoY7okjpHib1YQKFnQ
index be2a10280..62600ac24 100644
Binary files a/files/E/M/6DJoY7okjpHib1YQKFnQ and b/files/E/M/6DJoY7okjpHib1YQKFnQ differ
diff --git a/files/F/P/6n+wgCQO1CHCn4jlk-Kg b/files/F/P/6n+wgCQO1CHCn4jlk-Kg
index 6cbb16d94..d92d8ca0b 100644
Binary files a/files/F/P/6n+wgCQO1CHCn4jlk-Kg and b/files/F/P/6n+wgCQO1CHCn4jlk-Kg differ
diff --git a/files/G/3/2HWIsHXF1wu6OVrp01ew b/files/G/3/2HWIsHXF1wu6OVrp01ew
index 4bc90fa2c..d0cea502f 100644
Binary files a/files/G/3/2HWIsHXF1wu6OVrp01ew and b/files/G/3/2HWIsHXF1wu6OVrp01ew differ
diff --git a/files/G/K/cQAwz6hz8qmO+Bk-pcQA b/files/G/K/cQAwz6hz8qmO+Bk-pcQA
new file mode 100644
index 000000000..a68183083
Binary files /dev/null and b/files/G/K/cQAwz6hz8qmO+Bk-pcQA differ
diff --git a/files/G/S/c+u1REMIWwvag3e6yoRA b/files/G/S/c+u1REMIWwvag3e6yoRA
deleted file mode 100644
index b9996d7c4..000000000
Binary files a/files/G/S/c+u1REMIWwvag3e6yoRA and /dev/null differ
diff --git a/files/G/V/l0KvDjsNtezXOIJovS5g b/files/G/V/l0KvDjsNtezXOIJovS5g
index 61ff6a1f3..7efe36ec4 100644
Binary files a/files/G/V/l0KvDjsNtezXOIJovS5g and b/files/G/V/l0KvDjsNtezXOIJovS5g differ
diff --git a/files/H/5/BKeih0xFKVfZmWuptJxg b/files/H/5/BKeih0xFKVfZmWuptJxg
index e90f45d94..a4539c251 100644
Binary files a/files/H/5/BKeih0xFKVfZmWuptJxg and b/files/H/5/BKeih0xFKVfZmWuptJxg differ
diff --git a/files/H/R/CHjo+3+MZHjIKK-38gXg b/files/H/R/CHjo+3+MZHjIKK-38gXg
new file mode 100644
index 000000000..55686d232
Binary files /dev/null and b/files/H/R/CHjo+3+MZHjIKK-38gXg differ
diff --git a/files/H/U/5CWJoCI5LJUUc0gxvMlA b/files/H/U/5CWJoCI5LJUUc0gxvMlA
index 6b2ed4f71..2fff7a151 100644
Binary files a/files/H/U/5CWJoCI5LJUUc0gxvMlA and b/files/H/U/5CWJoCI5LJUUc0gxvMlA differ
diff --git a/files/I/B/N66aPcGswBbKGlSq5aOw b/files/I/B/N66aPcGswBbKGlSq5aOw
index 445a86548..e3718b7b2 100644
Binary files a/files/I/B/N66aPcGswBbKGlSq5aOw and b/files/I/B/N66aPcGswBbKGlSq5aOw differ
diff --git a/files/I/B/Yl3MtAbplUrpLfF0O8Ow b/files/I/B/Yl3MtAbplUrpLfF0O8Ow
index 41392479b..b4e49f2ea 100644
Binary files a/files/I/B/Yl3MtAbplUrpLfF0O8Ow and b/files/I/B/Yl3MtAbplUrpLfF0O8Ow differ
diff --git a/files/I/N/XWLds1AbHe+AZNyJX8UA b/files/I/N/XWLds1AbHe+AZNyJX8UA
index 1683c34db..8794ccf5b 100644
Binary files a/files/I/N/XWLds1AbHe+AZNyJX8UA and b/files/I/N/XWLds1AbHe+AZNyJX8UA differ
diff --git a/files/I/P/ZiluCc87pk5R5B9JOSzw b/files/I/P/ZiluCc87pk5R5B9JOSzw
index 488a8b80b..afb6d665e 100644
Binary files a/files/I/P/ZiluCc87pk5R5B9JOSzw and b/files/I/P/ZiluCc87pk5R5B9JOSzw differ
diff --git a/files/I/Q/drHOfNDSO18MsrtIhm2g b/files/I/Q/drHOfNDSO18MsrtIhm2g
new file mode 100644
index 000000000..21404ac67
Binary files /dev/null and b/files/I/Q/drHOfNDSO18MsrtIhm2g differ
diff --git a/files/I/Y/f6tkfV7TntuuELFiz3tw b/files/I/Y/f6tkfV7TntuuELFiz3tw
deleted file mode 100644
index 1476d9765..000000000
Binary files a/files/I/Y/f6tkfV7TntuuELFiz3tw and /dev/null differ
diff --git a/files/J/1/PxuL9jO1x9efWzIN4yzQ b/files/J/1/PxuL9jO1x9efWzIN4yzQ
index 7e31fc208..883dce16e 100644
Binary files a/files/J/1/PxuL9jO1x9efWzIN4yzQ and b/files/J/1/PxuL9jO1x9efWzIN4yzQ differ
diff --git a/files/J/J/nBX04aao1Il2zYWJYg9A b/files/J/J/nBX04aao1Il2zYWJYg9A
new file mode 100644
index 000000000..5daf35a86
Binary files /dev/null and b/files/J/J/nBX04aao1Il2zYWJYg9A differ
diff --git a/files/J/Q/nqvvIwTNAnf-lqjNg3CA b/files/J/Q/nqvvIwTNAnf-lqjNg3CA
deleted file mode 100644
index b8139e2b3..000000000
Binary files a/files/J/Q/nqvvIwTNAnf-lqjNg3CA and /dev/null differ
diff --git a/files/J/W/Qyte2rwbch+hmiQTS3KA b/files/J/W/Qyte2rwbch+hmiQTS3KA
index 1464c79af..de8080b02 100644
Binary files a/files/J/W/Qyte2rwbch+hmiQTS3KA and b/files/J/W/Qyte2rwbch+hmiQTS3KA differ
diff --git a/files/K/-/CubHVcKq2iSN0XHu+kcQ b/files/K/-/CubHVcKq2iSN0XHu+kcQ
index fddec089b..632eb17cc 100644
Binary files a/files/K/-/CubHVcKq2iSN0XHu+kcQ and b/files/K/-/CubHVcKq2iSN0XHu+kcQ differ
diff --git a/files/K/N/XIQZRWGjpP+60G8tfIgA b/files/K/N/XIQZRWGjpP+60G8tfIgA
index 54b693486..30e05ac44 100644
Binary files a/files/K/N/XIQZRWGjpP+60G8tfIgA and b/files/K/N/XIQZRWGjpP+60G8tfIgA differ
diff --git a/files/L/+/DTA2eA-gAsS0kfLw3amg b/files/L/+/DTA2eA-gAsS0kfLw3amg
new file mode 100644
index 000000000..700fa5975
Binary files /dev/null and b/files/L/+/DTA2eA-gAsS0kfLw3amg differ
diff --git a/files/L/A/7DBcp2x0vPSDjVUNAPGA b/files/L/A/7DBcp2x0vPSDjVUNAPGA
index 249587eb1..15d71d441 100644
Binary files a/files/L/A/7DBcp2x0vPSDjVUNAPGA and b/files/L/A/7DBcp2x0vPSDjVUNAPGA differ
diff --git a/files/L/L/qAx-h2F7bmI51FC5-vhQ b/files/L/L/qAx-h2F7bmI51FC5-vhQ
new file mode 100644
index 000000000..57db9a478
Binary files /dev/null and b/files/L/L/qAx-h2F7bmI51FC5-vhQ differ
diff --git a/files/L/M/QjF9dMVPCpXdCigphCCA b/files/L/M/QjF9dMVPCpXdCigphCCA
index c1faa4a54..addd290b8 100644
Binary files a/files/L/M/QjF9dMVPCpXdCigphCCA and b/files/L/M/QjF9dMVPCpXdCigphCCA differ
diff --git a/files/L/M/r+DsvL1qXfWrvcEtx1Xg b/files/L/M/r+DsvL1qXfWrvcEtx1Xg
index 8675eb812..ffbe538ad 100644
Binary files a/files/L/M/r+DsvL1qXfWrvcEtx1Xg and b/files/L/M/r+DsvL1qXfWrvcEtx1Xg differ
diff --git a/files/L/S/UVFAwHwOSyilMG-1NP4Q b/files/L/S/UVFAwHwOSyilMG-1NP4Q
index b707b78fd..fe58353fe 100644
Binary files a/files/L/S/UVFAwHwOSyilMG-1NP4Q and b/files/L/S/UVFAwHwOSyilMG-1NP4Q differ
diff --git a/files/L/W/HXMiTvcE0cmApu0RpO0g b/files/L/W/HXMiTvcE0cmApu0RpO0g
index 9cf1b9536..a7d16aec4 100644
Binary files a/files/L/W/HXMiTvcE0cmApu0RpO0g and b/files/L/W/HXMiTvcE0cmApu0RpO0g differ
diff --git a/files/M/9/SzxJuOoVhynnB5KAdyhg b/files/M/9/SzxJuOoVhynnB5KAdyhg
deleted file mode 100644
index e1a7db78f..000000000
Binary files a/files/M/9/SzxJuOoVhynnB5KAdyhg and /dev/null differ
diff --git a/files/M/L/z9madjAn42uGB6SeceQg b/files/M/L/z9madjAn42uGB6SeceQg
new file mode 100644
index 000000000..8caab17da
Binary files /dev/null and b/files/M/L/z9madjAn42uGB6SeceQg differ
diff --git a/files/M/M/+3sAx0X-+jKtglBNW2xw b/files/M/M/+3sAx0X-+jKtglBNW2xw
deleted file mode 100644
index aeacd96bb..000000000
Binary files a/files/M/M/+3sAx0X-+jKtglBNW2xw and /dev/null differ
diff --git a/files/M/N/DWuo9YIgJcJTxQbljNRw b/files/M/N/DWuo9YIgJcJTxQbljNRw
deleted file mode 100644
index f74b854e1..000000000
Binary files a/files/M/N/DWuo9YIgJcJTxQbljNRw and /dev/null differ
diff --git a/files/M/N/ZB-qR+DBrMPXxcETJh4A b/files/M/N/ZB-qR+DBrMPXxcETJh4A
index 12acccd53..211758143 100644
Binary files a/files/M/N/ZB-qR+DBrMPXxcETJh4A and b/files/M/N/ZB-qR+DBrMPXxcETJh4A differ
diff --git a/files/M/N/bNZD+3-nFGWIP23mlGIA b/files/M/N/bNZD+3-nFGWIP23mlGIA
index 2c7960f76..f1fc746bd 100644
Binary files a/files/M/N/bNZD+3-nFGWIP23mlGIA and b/files/M/N/bNZD+3-nFGWIP23mlGIA differ
diff --git a/files/M/Y/-kdMgylSegsn8Ai68-LQ b/files/M/Y/-kdMgylSegsn8Ai68-LQ
index 827562182..6552734d7 100644
Binary files a/files/M/Y/-kdMgylSegsn8Ai68-LQ and b/files/M/Y/-kdMgylSegsn8Ai68-LQ differ
diff --git a/files/N/4/9c1qoDxgsbZe9v4wvtVw b/files/N/4/9c1qoDxgsbZe9v4wvtVw
index 2ded3cbfd..f00aa07c8 100644
Binary files a/files/N/4/9c1qoDxgsbZe9v4wvtVw and b/files/N/4/9c1qoDxgsbZe9v4wvtVw differ
diff --git a/files/N/8/Nex-71r0tH+sd1gsduKw b/files/N/8/Nex-71r0tH+sd1gsduKw
index 2c79b155c..eb202a240 100644
Binary files a/files/N/8/Nex-71r0tH+sd1gsduKw and b/files/N/8/Nex-71r0tH+sd1gsduKw differ
diff --git a/files/N/D/tey0k5Ow64TU8gOwq+nA b/files/N/D/tey0k5Ow64TU8gOwq+nA
index db4e613a1..2eae7bee2 100644
Binary files a/files/N/D/tey0k5Ow64TU8gOwq+nA and b/files/N/D/tey0k5Ow64TU8gOwq+nA differ
diff --git a/files/N/N/pKTdBr4rQ-Hi2jyEblRg b/files/N/N/pKTdBr4rQ-Hi2jyEblRg
deleted file mode 100644
index d6d3e3055..000000000
Binary files a/files/N/N/pKTdBr4rQ-Hi2jyEblRg and /dev/null differ
diff --git a/files/N/P/WfEzZ-uJGiOVuPnHaz+g b/files/N/P/WfEzZ-uJGiOVuPnHaz+g
index 34e10f280..842e6d85b 100644
Binary files a/files/N/P/WfEzZ-uJGiOVuPnHaz+g and b/files/N/P/WfEzZ-uJGiOVuPnHaz+g differ
diff --git a/files/N/V/ueTOUNQRFojfjrEJBYUg b/files/N/V/ueTOUNQRFojfjrEJBYUg
index 4d05aa3cd..d3f5f79c8 100644
Binary files a/files/N/V/ueTOUNQRFojfjrEJBYUg and b/files/N/V/ueTOUNQRFojfjrEJBYUg differ
diff --git a/files/O/A/XI++5GhKIiCn8Jcl2KBA b/files/O/A/XI++5GhKIiCn8Jcl2KBA
index 6645dc477..a39fcec6c 100644
Binary files a/files/O/A/XI++5GhKIiCn8Jcl2KBA and b/files/O/A/XI++5GhKIiCn8Jcl2KBA differ
diff --git a/files/O/F/HEXZnU1pFMvJ2Tfq+2jg b/files/O/F/HEXZnU1pFMvJ2Tfq+2jg
index 44083e131..fe9b31f03 100644
Binary files a/files/O/F/HEXZnU1pFMvJ2Tfq+2jg and b/files/O/F/HEXZnU1pFMvJ2Tfq+2jg differ
diff --git a/files/O/M/qYN1k7I6o+SdhLijaNXA b/files/O/M/qYN1k7I6o+SdhLijaNXA
new file mode 100644
index 000000000..58787617d
Binary files /dev/null and b/files/O/M/qYN1k7I6o+SdhLijaNXA differ
diff --git a/files/O/O/NfUI25+aPy9MSYKBmEDA b/files/O/O/NfUI25+aPy9MSYKBmEDA
new file mode 100644
index 000000000..b7dc54aff
Binary files /dev/null and b/files/O/O/NfUI25+aPy9MSYKBmEDA differ
diff --git a/files/O/Q/dRPJuf8zXNZDgs+Kx48A b/files/O/Q/dRPJuf8zXNZDgs+Kx48A
index ea2305735..549bc548d 100644
Binary files a/files/O/Q/dRPJuf8zXNZDgs+Kx48A and b/files/O/Q/dRPJuf8zXNZDgs+Kx48A differ
diff --git a/files/O/S/fIQ+y8UhfUKcG-BmB9YA b/files/O/S/fIQ+y8UhfUKcG-BmB9YA
index 6f49e6f42..1bd3c79c8 100644
Binary files a/files/O/S/fIQ+y8UhfUKcG-BmB9YA and b/files/O/S/fIQ+y8UhfUKcG-BmB9YA differ
diff --git a/files/P/K/cthVCaCD1ZcGPQH5JbKA b/files/P/K/cthVCaCD1ZcGPQH5JbKA
deleted file mode 100644
index 4ed11e13b..000000000
Binary files a/files/P/K/cthVCaCD1ZcGPQH5JbKA and /dev/null differ
diff --git a/files/Q/A/VKYTs1HgDGAWvbTINpeQ b/files/Q/A/VKYTs1HgDGAWvbTINpeQ
index efe9b3efa..68a40f135 100644
Binary files a/files/Q/A/VKYTs1HgDGAWvbTINpeQ and b/files/Q/A/VKYTs1HgDGAWvbTINpeQ differ
diff --git a/files/Q/F/djxgADfXhN2+GoufqZCw b/files/Q/F/djxgADfXhN2+GoufqZCw
index 9036d55fc..4157ebd52 100644
Binary files a/files/Q/F/djxgADfXhN2+GoufqZCw and b/files/Q/F/djxgADfXhN2+GoufqZCw differ
diff --git a/files/R/1/AhKdr1gqaXCIasSPqx9w b/files/R/1/AhKdr1gqaXCIasSPqx9w
index 1a370f848..3c965d21a 100644
Binary files a/files/R/1/AhKdr1gqaXCIasSPqx9w and b/files/R/1/AhKdr1gqaXCIasSPqx9w differ
diff --git a/files/R/8/rn7KWCRWJWdMX-+eRS+Q b/files/R/8/rn7KWCRWJWdMX-+eRS+Q
new file mode 100644
index 000000000..705ecddc4
Binary files /dev/null and b/files/R/8/rn7KWCRWJWdMX-+eRS+Q differ
diff --git a/files/R/C/LLGcaXiLI6anQsXvJJ+w b/files/R/C/LLGcaXiLI6anQsXvJJ+w
index 56936c455..52c6f5f98 100644
Binary files a/files/R/C/LLGcaXiLI6anQsXvJJ+w and b/files/R/C/LLGcaXiLI6anQsXvJJ+w differ
diff --git a/files/R/G/rT1b5GiEcPIbZEh2UOew b/files/R/G/rT1b5GiEcPIbZEh2UOew
index 8a8df2554..056022a2a 100644
Binary files a/files/R/G/rT1b5GiEcPIbZEh2UOew and b/files/R/G/rT1b5GiEcPIbZEh2UOew differ
diff --git a/files/R/L/pPfuisuehb9UpjDVcVNw b/files/R/L/pPfuisuehb9UpjDVcVNw
index 3f2457e8b..05d0a4ac3 100644
Binary files a/files/R/L/pPfuisuehb9UpjDVcVNw and b/files/R/L/pPfuisuehb9UpjDVcVNw differ
diff --git a/files/R/M/0wBBIOy-z2pRY4Ip4F4g b/files/R/M/0wBBIOy-z2pRY4Ip4F4g
index 27134f598..898b9ac77 100644
Binary files a/files/R/M/0wBBIOy-z2pRY4Ip4F4g and b/files/R/M/0wBBIOy-z2pRY4Ip4F4g differ
diff --git a/files/R/N/Yz0836tN9Xgh+c64M+9Q b/files/R/N/Yz0836tN9Xgh+c64M+9Q
index f7cfc50db..9fa367783 100644
Binary files a/files/R/N/Yz0836tN9Xgh+c64M+9Q and b/files/R/N/Yz0836tN9Xgh+c64M+9Q differ
diff --git a/files/R/O/Yhu1GOY5dfKwi5BRV6Qg b/files/R/O/Yhu1GOY5dfKwi5BRV6Qg
index fefbefa16..2710b95be 100644
Binary files a/files/R/O/Yhu1GOY5dfKwi5BRV6Qg and b/files/R/O/Yhu1GOY5dfKwi5BRV6Qg differ
diff --git a/files/T/M/e3GdXAojADhfJcNALpig b/files/T/M/e3GdXAojADhfJcNALpig
index 1c64615a9..9f249da60 100644
Binary files a/files/T/M/e3GdXAojADhfJcNALpig and b/files/T/M/e3GdXAojADhfJcNALpig differ
diff --git a/files/U/+/MdtP5JjfjxUCt7S73giQ b/files/U/+/MdtP5JjfjxUCt7S73giQ
deleted file mode 100644
index b573bb9ec..000000000
Binary files a/files/U/+/MdtP5JjfjxUCt7S73giQ and /dev/null differ
diff --git a/files/V/0/zIkuUPhBPGOTrDvtvTnA b/files/V/0/zIkuUPhBPGOTrDvtvTnA
index 453a42f84..9e4e56aa6 100644
Binary files a/files/V/0/zIkuUPhBPGOTrDvtvTnA and b/files/V/0/zIkuUPhBPGOTrDvtvTnA differ
diff --git a/files/V/3/Yc0LN3nyzmj3HxNae5vQ b/files/V/3/Yc0LN3nyzmj3HxNae5vQ
index ee35aae78..97f60e2eb 100644
Binary files a/files/V/3/Yc0LN3nyzmj3HxNae5vQ and b/files/V/3/Yc0LN3nyzmj3HxNae5vQ differ
diff --git a/files/W/-/sO6DMZl5Vzz25Y2uclIw b/files/W/-/sO6DMZl5Vzz25Y2uclIw
deleted file mode 100644
index be2569d3d..000000000
Binary files a/files/W/-/sO6DMZl5Vzz25Y2uclIw and /dev/null differ
diff --git a/files/W/K/qxbNqany13kEQWFVpUlw b/files/W/K/qxbNqany13kEQWFVpUlw
index 054087948..230c7cd32 100644
Binary files a/files/W/K/qxbNqany13kEQWFVpUlw and b/files/W/K/qxbNqany13kEQWFVpUlw differ
diff --git a/files/W/Q/yXAaI7gXH0ZDMgamMMLw b/files/W/Q/yXAaI7gXH0ZDMgamMMLw
new file mode 100644
index 000000000..f825b2983
Binary files /dev/null and b/files/W/Q/yXAaI7gXH0ZDMgamMMLw differ
diff --git a/files/X/Q/Om9H8k8MMiDdSw5l54kA b/files/X/Q/Om9H8k8MMiDdSw5l54kA
deleted file mode 100644
index 10fc0478a..000000000
Binary files a/files/X/Q/Om9H8k8MMiDdSw5l54kA and /dev/null differ
diff --git a/files/Y/D/rXvsr22vaSAbzPcuKA-w b/files/Y/D/rXvsr22vaSAbzPcuKA-w
index 2bf7eb9df..6e764b341 100644
Binary files a/files/Y/D/rXvsr22vaSAbzPcuKA-w and b/files/Y/D/rXvsr22vaSAbzPcuKA-w differ
diff --git a/files/Y/G/fXVBw-zlr5pqO8TRJMXQ b/files/Y/G/fXVBw-zlr5pqO8TRJMXQ
new file mode 100644
index 000000000..cce34ba60
Binary files /dev/null and b/files/Y/G/fXVBw-zlr5pqO8TRJMXQ differ
diff --git a/files/Y/M/6LI4eL6UvmhOl1K0Gizw b/files/Y/M/6LI4eL6UvmhOl1K0Gizw
index 04e70d3c1..ff283f422 100644
Binary files a/files/Y/M/6LI4eL6UvmhOl1K0Gizw and b/files/Y/M/6LI4eL6UvmhOl1K0Gizw differ
diff --git a/files/Y/W/xZtE6no3jc5ybBUjXfng b/files/Y/W/xZtE6no3jc5ybBUjXfng
deleted file mode 100644
index fa0329aba..000000000
Binary files a/files/Y/W/xZtE6no3jc5ybBUjXfng and /dev/null differ
diff --git a/files/Z/Y/anqhQGjjMdO1w6SkylxA b/files/Z/Y/anqhQGjjMdO1w6SkylxA
index 0265cd860..e55c49859 100644
Binary files a/files/Z/Y/anqhQGjjMdO1w6SkylxA and b/files/Z/Y/anqhQGjjMdO1w6SkylxA differ
diff --git a/files/tests-common-ecicharsettest.html b/files/tests-common-ecicharsettest.html
new file mode 100644
index 000000000..ec6705e29
--- /dev/null
+++ b/files/tests-common-ecicharsettest.html
@@ -0,0 +1,197 @@
+
+
+
+
+ Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ECICharsetTest.php
+
+ ECICharsetTest.php
+
+
+
+
+
+
+ created
+
+
+
+
+
+
+
+ author
+
+
+
+
+
+
+
+ copyright
+
+
+
+
+
+
+
+ license
+
+
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes, Traits and Enums
+
+
+
+
+
+ ECICharsetTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/files/tests-data-ecitest.html b/files/tests-data-ecitest.html
new file mode 100644
index 000000000..b0e05f3d1
--- /dev/null
+++ b/files/tests-data-ecitest.html
@@ -0,0 +1,197 @@
+
+
+
+
+ Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ECITest.php
+
+ ECITest.php
+
+
+
+
+
+
+ created
+
+
+
+
+
+
+
+ author
+
+
+
+
+
+
+
+ copyright
+
+
+
+
+
+
+
+ license
+
+
+
+
+
+
+
+
+
+
+
+
+ Interfaces, Classes, Traits and Enums
+
+
+
+
+
+ ECITest
+ Tests the ECI class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/indices/files.html b/indices/files.html
index 76b231f0a..531e056c8 100644
--- a/indices/files.html
+++ b/indices/files.html
@@ -121,6 +121,8 @@
diff --git a/js/searchIndex.js b/js/searchIndex.js
index c77c5b032..787692842 100644
--- a/js/searchIndex.js
+++ b/js/searchIndex.js
@@ -555,11 +555,6 @@ Search.appendIndex(
"name": "getLengthBitsForVersion",
"summary": "returns\u0020the\u0020length\u0020bits\u0020for\u0020the\u0020version\u0020breakpoints\u00201\u002D9,\u002010\u002D26\u0020and\u002027\u002D40",
"url": "classes/chillerlan-QRCode-Common-Mode.html#method_getLengthBitsForVersion"
- }, {
- "fqsen": "\\chillerlan\\QRCode\\Common\\Mode\u003A\u003AgetLengthBitsForMode\u0028\u0029",
- "name": "getLengthBitsForMode",
- "summary": "returns\u0020the\u0020array\u0020of\u0020length\u0020bits\u0020for\u0020the\u0020given\u0020mode",
- "url": "classes/chillerlan-QRCode-Common-Mode.html#method_getLengthBitsForMode"
}, {
"fqsen": "\\chillerlan\\QRCode\\Common\\Mode\u003A\u003ATERMINATOR",
"name": "TERMINATOR",
@@ -878,12 +873,12 @@ Search.appendIndex(
}, {
"fqsen": "\\chillerlan\\QRCode\\Data\\ECI\u003A\u003Awrite\u0028\u0029",
"name": "write",
- "summary": "",
+ "summary": "Writes\u0020an\u0020ECI\u0020designator\u0020to\u0020the\u0020bitbuffer",
"url": "classes/chillerlan-QRCode-Data-ECI.html#method_write"
}, {
"fqsen": "\\chillerlan\\QRCode\\Data\\ECI\u003A\u003AparseValue\u0028\u0029",
"name": "parseValue",
- "summary": "",
+ "summary": "Reads\u0020and\u0020parses\u0020the\u0020value\u0020of\u0020an\u0020ECI\u0020designator",
"url": "classes/chillerlan-QRCode-Data-ECI.html#method_parseValue"
}, {
"fqsen": "\\chillerlan\\QRCode\\Data\\ECI\u003A\u003AvalidateString\u0028\u0029",
@@ -893,7 +888,7 @@ Search.appendIndex(
}, {
"fqsen": "\\chillerlan\\QRCode\\Data\\ECI\u003A\u003AdecodeSegment\u0028\u0029",
"name": "decodeSegment",
- "summary": "",
+ "summary": "Reads\u0020and\u0020decodes\u0020the\u0020ECI\u0020designator\u0020including\u0020the\u0020following\u0020byte\u0020sequence",
"url": "classes/chillerlan-QRCode-Data-ECI.html#method_decodeSegment"
}, {
"fqsen": "\\chillerlan\\QRCode\\Data\\ECI\u003A\u003A\u0024datamode",
@@ -1635,11 +1630,6 @@ Search.appendIndex(
"name": "decodeAlphanumSegment",
"summary": "",
"url": "classes/chillerlan-QRCode-Decoder-Decoder.html#method_decodeAlphanumSegment"
- }, {
- "fqsen": "\\chillerlan\\QRCode\\Decoder\\Decoder\u003A\u003AdecodeByteSegment\u0028\u0029",
- "name": "decodeByteSegment",
- "summary": "",
- "url": "classes/chillerlan-QRCode-Decoder-Decoder.html#method_decodeByteSegment"
}, {
"fqsen": "\\chillerlan\\QRCode\\Decoder\\Decoder\u003A\u003A\u0024version",
"name": "version",
@@ -1660,11 +1650,6 @@ Search.appendIndex(
"name": "bitBuffer",
"summary": "",
"url": "classes/chillerlan-QRCode-Decoder-Decoder.html#property_bitBuffer"
- }, {
- "fqsen": "\\chillerlan\\QRCode\\Decoder\\Decoder\u003A\u003A\u0024eciCharset",
- "name": "eciCharset",
- "summary": "",
- "url": "classes/chillerlan-QRCode-Decoder-Decoder.html#property_eciCharset"
}, {
"fqsen": "\\chillerlan\\QRCode\\Decoder\\DecoderResult",
"name": "DecoderResult",
@@ -3370,6 +3355,31 @@ Search.appendIndex(
"name": "getMaxBits",
"summary": "",
"url": "classes/chillerlan-QRCodeTest-Common-EccLevelTest.html#method_getMaxBits"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Common\\ECICharsetTest",
+ "name": "ECICharsetTest",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Common-ECICharsetTest.html"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Common\\ECICharsetTest\u003A\u003AinvalidIdProvider\u0028\u0029",
+ "name": "invalidIdProvider",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Common-ECICharsetTest.html#method_invalidIdProvider"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Common\\ECICharsetTest\u003A\u003AtestInvalidDataException\u0028\u0029",
+ "name": "testInvalidDataException",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Common-ECICharsetTest.html#method_testInvalidDataException"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Common\\ECICharsetTest\u003A\u003AencodingProvider\u0028\u0029",
+ "name": "encodingProvider",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Common-ECICharsetTest.html#method_encodingProvider"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Common\\ECICharsetTest\u003A\u003AtestGetName\u0028\u0029",
+ "name": "testGetName",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Common-ECICharsetTest.html#method_testGetName"
}, {
"fqsen": "\\chillerlan\\QRCodeTest\\Common\\MaskPatternTest",
"name": "MaskPatternTest",
@@ -3440,11 +3450,6 @@ Search.appendIndex(
"name": "testGetLengthBitsForVersionInvalidVersionException",
"summary": "",
"url": "classes/chillerlan-QRCodeTest-Common-ModeTest.html#method_testGetLengthBitsForVersionInvalidVersionException"
- }, {
- "fqsen": "\\chillerlan\\QRCodeTest\\Common\\ModeTest\u003A\u003AtestGetLengthBitsForModeInvalidModeException\u0028\u0029",
- "name": "testGetLengthBitsForModeInvalidModeException",
- "summary": "",
- "url": "classes/chillerlan-QRCodeTest-Common-ModeTest.html#method_testGetLengthBitsForModeInvalidModeException"
}, {
"fqsen": "\\chillerlan\\QRCodeTest\\Common\\VersionTest",
"name": "VersionTest",
@@ -3645,6 +3650,106 @@ Search.appendIndex(
"name": "testdata",
"summary": "",
"url": "classes/chillerlan-QRCodeTest-Data-DataInterfaceTestAbstract.html#property_testdata"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest",
+ "name": "ECITest",
+ "summary": "Tests\u0020the\u0020ECI\u0020class",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AgetDataSegments\u0028\u0029",
+ "name": "getDataSegments",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_getDataSegments"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AstringValidateProvider\u0028\u0029",
+ "name": "stringValidateProvider",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_stringValidateProvider"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestDataModeInstance\u0028\u0029",
+ "name": "testDataModeInstance",
+ "summary": "Verifies\u0020the\u0020QRDataModeInterface\u0020instance",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testDataModeInstance"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestInitMatrix\u0028\u0029",
+ "name": "testInitMatrix",
+ "summary": "Tests\u0020initializing\u0020the\u0020data\u0020matrix",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testInitMatrix"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestGetMinimumVersion\u0028\u0029",
+ "name": "testGetMinimumVersion",
+ "summary": "Tests\u0020getting\u0020the\u0020minimum\u0020QR\u0020version\u0020for\u0020the\u0020given\u0020data",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testGetMinimumVersion"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestBinaryStringInvalid\u0028\u0029",
+ "name": "testBinaryStringInvalid",
+ "summary": "Tests\u0020if\u0020a\u0020binary\u0020string\u0020is\u0020properly\u0020validated\u0020as\u0020false",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testBinaryStringInvalid"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestDecodeSegment\u0028\u0029",
+ "name": "testDecodeSegment",
+ "summary": "Tests\u0020decoding\u0020a\u0020data\u0020segment\u0020from\u0020a\u0020given\u0020BitBuffer",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testDecodeSegment"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestGetMinimumVersionException\u0028\u0029",
+ "name": "testGetMinimumVersionException",
+ "summary": "Tests\u0020if\u0020an\u0020exception\u0020is\u0020thrown\u0020when\u0020the\u0020data\u0020exceeds\u0020the\u0020maximum\u0020version\u0020while\u0020auto\u002Ddetecting",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testGetMinimumVersionException"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestCodeLengthOverflowException\u0028\u0029",
+ "name": "testCodeLengthOverflowException",
+ "summary": "Tests\u0020if\u0020an\u0020exception\u0020is\u0020thrown\u0020on\u0020data\u0020overflow",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testCodeLengthOverflowException"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestInvalidDataException\u0028\u0029",
+ "name": "testInvalidDataException",
+ "summary": "Tests\u0020if\u0020an\u0020exception\u0020is\u0020thrown\u0020when\u0020an\u0020invalid\u0020character\u0020is\u0020encountered",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testInvalidDataException"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestInvalidDataOnEmptyException\u0028\u0029",
+ "name": "testInvalidDataOnEmptyException",
+ "summary": "since\u0020the\u0020ECI\u0020class\u0020only\u0020accepts\u0020integer\u0020values,\nwe\u0027ll\u0020use\u0020this\u0020test\u0020to\u0020check\u0020for\u0020the\u0020upper\u0020end\u0020of\u0020the\u0020accepted\u0020input\u0020range",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testInvalidDataOnEmptyException"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AeciCharsetIdProvider\u0028\u0029",
+ "name": "eciCharsetIdProvider",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_eciCharsetIdProvider"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestReadWrite\u0028\u0029",
+ "name": "testReadWrite",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testReadWrite"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestDecodeECISegmentFollowedByInvalidModeException\u0028\u0029",
+ "name": "testDecodeECISegmentFollowedByInvalidModeException",
+ "summary": "Tests\u0020if\u0020and\u0020exception\u0020is\u0020thrown\u0020when\u0020the\u0020ECI\u0020segment\u0020is\u0020followed\u0020by\u0020a\u0020mode\u0020that\u0020is\u0020not\u00208\u002Dbit\u0020byte",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testDecodeECISegmentFollowedByInvalidModeException"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AunknownEncodingDataProvider\u0028\u0029",
+ "name": "unknownEncodingDataProvider",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_unknownEncodingDataProvider"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003AtestConvertUnknownEncoding\u0028\u0029",
+ "name": "testConvertUnknownEncoding",
+ "summary": "Tests\u0020detection\u0020of\u0020an\u0020unknown\u0020character\u0020set",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#method_testConvertUnknownEncoding"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003A\u0024FQN",
+ "name": "FQN",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#property_FQN"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003A\u0024testdata",
+ "name": "testdata",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#property_testdata"
+ }, {
+ "fqsen": "\\chillerlan\\QRCodeTest\\Data\\ECITest\u003A\u003A\u0024testCharset",
+ "name": "testCharset",
+ "summary": "",
+ "url": "classes/chillerlan-QRCodeTest-Data-ECITest.html#property_testCharset"
}, {
"fqsen": "\\chillerlan\\QRCodeTest\\Data\\HanziTest",
"name": "HanziTest",
diff --git a/namespaces/chillerlan-qrcodetest-common.html b/namespaces/chillerlan-qrcodetest-common.html
index 0236a4d1e..95ad038cc 100644
--- a/namespaces/chillerlan-qrcodetest-common.html
+++ b/namespaces/chillerlan-qrcodetest-common.html
@@ -113,6 +113,8 @@
BitBuffer coverage test
EccLevelTest
EccLevel coverage test
+ ECICharsetTest
+
MaskPatternTest
ModeTest
diff --git a/namespaces/chillerlan-qrcodetest-data.html b/namespaces/chillerlan-qrcodetest-data.html
index 26f6e31db..fba5deda6 100644
--- a/namespaces/chillerlan-qrcodetest-data.html
+++ b/namespaces/chillerlan-qrcodetest-data.html
@@ -115,6 +115,8 @@
Tests the Byte class
DataInterfaceTestAbstract
The data interface test abstract
+ ECITest
+ Tests the ECI class
HanziTest
Tests the Hanzi/GB2312 class
KanjiTest
diff --git a/packages/Application.html b/packages/Application.html
index 7a28dd96b..18caa5d85 100644
--- a/packages/Application.html
+++ b/packages/Application.html
@@ -245,6 +245,8 @@ would be the location of a finder pattern or the corner of the barcode, for exam
BitBuffer coverage test
EccLevelTest
EccLevel coverage test
+ ECICharsetTest
+
MaskPatternTest
ModeTest
@@ -257,6 +259,8 @@ would be the location of a finder pattern or the corner of the barcode, for exam
Tests the Byte class
DataInterfaceTestAbstract
The data interface test abstract
+ ECITest
+ Tests the ECI class
HanziTest
Tests the Hanzi/GB2312 class
KanjiTest