From c72fa4a586637a5a64b0d96a1c8feb7ea0627693 Mon Sep 17 00:00:00 2001 From: Stefan Hutter Date: Fri, 31 May 2024 12:59:30 +0200 Subject: [PATCH] Initial Commit --- ...7b6fedac-288d-4f4b-8b8b-1a50de54ee02.vsidx | Bin 0 -> 19782 bytes .vs/CLX_Archiver/v17/.suo | Bin 0 -> 60928 bytes .vs/CLX_Archiver/v17/DocumentLayout.json | 71 + CLX_Archiver.sln | 25 + CLX_Archiver/App.config | 6 + CLX_Archiver/CLX_Archiver.csproj | 58 + CLX_Archiver/CLX_Archiver.csproj.user | 6 + CLX_Archiver/Program.cs | 168 + CLX_Archiver/Properties/AssemblyInfo.cs | 36 + CLX_Archiver/bin/Debug/CLX_Archiver.exe | Bin 0 -> 8704 bytes .../bin/Debug/CLX_Archiver.exe.config | 6 + CLX_Archiver/bin/Debug/CLX_Archiver.pdb | Bin 0 -> 24064 bytes .../bin/Debug/Syncfusion.Compression.Base.dll | Bin 0 -> 229376 bytes .../bin/Debug/Syncfusion.Compression.Base.xml | 10976 ++++++++++++++++ CLX_Archiver/bin/Debug/clxmig.zip | Bin 0 -> 7947 bytes ...amework,Version=v4.5.AssemblyAttributes.cs | 4 + .../obj/Debug/CLX_Arch.F9BF4FDE.Up2Date | 0 ...LX_Archiver.csproj.AssemblyReference.cache | Bin 0 -> 5443 bytes ...LX_Archiver.csproj.CoreCompileInputs.cache | 1 + .../CLX_Archiver.csproj.FileListAbsolute.txt | 10 + CLX_Archiver/obj/Debug/CLX_Archiver.exe | Bin 0 -> 8704 bytes CLX_Archiver/obj/Debug/CLX_Archiver.pdb | Bin 0 -> 24064 bytes .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 203 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 2033 bytes Git_Create.bat | 8 + 25 files changed, 11375 insertions(+) create mode 100644 .vs/CLX_Archiver/FileContentIndex/7b6fedac-288d-4f4b-8b8b-1a50de54ee02.vsidx create mode 100644 .vs/CLX_Archiver/v17/.suo create mode 100644 .vs/CLX_Archiver/v17/DocumentLayout.json create mode 100644 CLX_Archiver.sln create mode 100644 CLX_Archiver/App.config create mode 100644 CLX_Archiver/CLX_Archiver.csproj create mode 100644 CLX_Archiver/CLX_Archiver.csproj.user create mode 100644 CLX_Archiver/Program.cs create mode 100644 CLX_Archiver/Properties/AssemblyInfo.cs create mode 100644 CLX_Archiver/bin/Debug/CLX_Archiver.exe create mode 100644 CLX_Archiver/bin/Debug/CLX_Archiver.exe.config create mode 100644 CLX_Archiver/bin/Debug/CLX_Archiver.pdb create mode 100644 CLX_Archiver/bin/Debug/Syncfusion.Compression.Base.dll create mode 100644 CLX_Archiver/bin/Debug/Syncfusion.Compression.Base.xml create mode 100644 CLX_Archiver/bin/Debug/clxmig.zip create mode 100644 CLX_Archiver/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs create mode 100644 CLX_Archiver/obj/Debug/CLX_Arch.F9BF4FDE.Up2Date create mode 100644 CLX_Archiver/obj/Debug/CLX_Archiver.csproj.AssemblyReference.cache create mode 100644 CLX_Archiver/obj/Debug/CLX_Archiver.csproj.CoreCompileInputs.cache create mode 100644 CLX_Archiver/obj/Debug/CLX_Archiver.csproj.FileListAbsolute.txt create mode 100644 CLX_Archiver/obj/Debug/CLX_Archiver.exe create mode 100644 CLX_Archiver/obj/Debug/CLX_Archiver.pdb create mode 100644 CLX_Archiver/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 CLX_Archiver/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Git_Create.bat diff --git a/.vs/CLX_Archiver/FileContentIndex/7b6fedac-288d-4f4b-8b8b-1a50de54ee02.vsidx b/.vs/CLX_Archiver/FileContentIndex/7b6fedac-288d-4f4b-8b8b-1a50de54ee02.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..8b773f818c6ea50103e5c5cf404f56ead457a88a GIT binary patch literal 19782 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 + + + + + \ No newline at end of file diff --git a/CLX_Archiver/CLX_Archiver.csproj b/CLX_Archiver/CLX_Archiver.csproj new file mode 100644 index 0000000..8481f41 --- /dev/null +++ b/CLX_Archiver/CLX_Archiver.csproj @@ -0,0 +1,58 @@ + + + + + Debug + AnyCPU + {7FA0D356-FBDA-4AED-AA84-BA165C1B7FB4} + Exe + CLX_Archiver + CLX_Archiver + v4.5 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + E:\Software-Projekte\EDOKA\batch\EDKB09_DMS\bin\Syncfusion.Compression.Base.dll + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CLX_Archiver/CLX_Archiver.csproj.user b/CLX_Archiver/CLX_Archiver.csproj.user new file mode 100644 index 0000000..e881540 --- /dev/null +++ b/CLX_Archiver/CLX_Archiver.csproj.user @@ -0,0 +1,6 @@ + + + + X:\clx\ x:\clxout\ + + \ No newline at end of file diff --git a/CLX_Archiver/Program.cs b/CLX_Archiver/Program.cs new file mode 100644 index 0000000..2c3eb22 --- /dev/null +++ b/CLX_Archiver/Program.cs @@ -0,0 +1,168 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +//using System.IO.Compression; +using System.Threading; +using System.Text.RegularExpressions; +using Syncfusion.Compression.Zip; +using System.Runtime.InteropServices; +using System.Data; + +namespace CLX_Archiver +{ + internal class Program + { + + + static void Main(string[] args) + + { + DataSet ds = new DataSet(); + + string outpath = ""; + string protocollpath = ""; + string filenameind = ""; + string ln = ""; + string datum = ""; + int jahr = 0; + if (args.Count() < 1) + { + return; + } + outpath = args[1]; + protocollpath = args[1] + DateTime.Now.ToString("yyyyMMddhhmmss") + "_protokoll.log"; + if (System.IO.File.Exists(args[1] + "inddone.xml")) + { + ds.ReadXml(args[1] + "inddone.xml"); + } + else + { + DataTable dt = new DataTable(); + dt.Columns.Add("indfile"); + ds.Tables.Add(dt); + } + StreamWriter writer = new StreamWriter(protocollpath); + writer.WriteLine("DatumZeit;Dateiname;Datum;Jahr;ZIP Index;ZIP Daten;Resultat"); + foreach (string filename in Directory.EnumerateFiles(args[0], "*.ind", SearchOption.AllDirectories)) + { + Console.WriteLine(filename); + bool fertig = false; + while (fertig == false) + { + using (StreamReader file = new StreamReader(filename)) + { + int counter = 0; + + while ((ln = file.ReadLine()) != null && fertig == false) + { + if (ln.ToUpper() == "GROUP_FIELD_NAME:ARCHIVDATE") + { + ln = file.ReadLine(); + Regex rgx = new Regex(@"\d{2}.\d{2}.\d{4}"); + Match mat = rgx.Match(ln); + datum = mat.ToString(); + jahr = Convert.ToInt32(datum.Substring((datum.Length - 4))); + datum = datum.Replace(".", "_"); + fertig = true; + } + } + file.Close(); + } + } + + bool bereits_verarbeitet = false; + foreach (DataRow dr in ds.Tables[0].Rows) + { + if (dr[0].ToString() == System.IO.Path.GetFileName(filename)) + { + bereits_verarbeitet = true; + } + } + + string fn = ""; + fn = System.IO.Path.GetFileName(filename); + if ((jahr > 2012) && (bereits_verarbeitet==false)) + { + + fn = System.IO.Path.GetFileName(filename); + string indfile = filename; + string indfilezip = args[1] + datum+"_"+System.IO.Path.GetFileName(indfile) + ".zip"; + + string outfile = indfile.Replace(".ind", ".out"); + string outfilezip = args[1] + datum + "_"+System.IO.Path.GetFileName(outfile) + ".zip"; + + + if (System.IO.File.Exists(indfile) && System.IO.File.Exists(outfile)) + { + + if (System.IO.File.Exists(indfilezip)){ + indfilezip = newfilename(args[1], datum, System.IO.Path.GetFileName(indfile)); + } + if (System.IO.File.Exists(outfilezip)){ + outfilezip = newfilename(args[1], datum, System.IO.Path.GetFileName(outfile)); + } + string res = ""; + res = CompressFile(indfile, indfilezip); + if (res !="") + { + writer.WriteLine(DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss")+";"+ fn + ";" + datum + ";" + jahr.ToString() + ";" + System.IO.Path.GetFileName(indfilezip) + ";" + System.IO.Path.GetFileName(outfilezip) + ";Error ZIP"); + } + res = CompressFile(outfile, outfilezip); + if (res != "") + { + writer.WriteLine(DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss") + ";" + fn + ";" + datum + ";" + jahr.ToString() + ";" + System.IO.Path.GetFileName(indfilezip) + ";" + System.IO.Path.GetFileName(outfilezip) + ";Error ZIP"); + } + + } + + writer.WriteLine(DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss") + ";" + fn + ";" + datum + ";" + jahr.ToString() + ";" + System.IO.Path.GetFileName(indfilezip) + ";"+ System.IO.Path.GetFileName(outfilezip) +";done"); + DataRow d = ds.Tables[0].NewRow(); + d[0] = fn; + ds.Tables[0].Rows.Add(d); + } + else + { + if (bereits_verarbeitet == false) + { + writer.WriteLine(DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss") + ";" + fn + ";" + datum + ";" + jahr.ToString() + ";" + "" + ";" + "" + ";out of range"); + } + } + } + writer.Close(); + ds.WriteXml(args[1] + "inddone.xml"); + } + + private static string newfilename(string path, string datum, string filename) + { + string newfn = ""; + int cnt = 0; + newfn = path + datum + "_" + filename + ".zip"; + while (System.IO.File.Exists(newfn)) + { + newfn = path + datum + "_" + cnt.ToString() + "_" + filename + ".zip"; + cnt=cnt + 1; + } + return newfn; + } + private static string CompressFile(string sourceFileName, string destfilename) + { + try + { + ZipArchive zipArchive = new Syncfusion.Compression.Zip.ZipArchive(); + zipArchive.DefaultCompressionLevel = Syncfusion.Compression.CompressionLevel.Best; + zipArchive.AddFile(sourceFileName); + zipArchive.Save(destfilename); + zipArchive = null; + return ""; + + } + catch (Exception e) + { + return "Error: " + e.Message; + } + } + } +} diff --git a/CLX_Archiver/Properties/AssemblyInfo.cs b/CLX_Archiver/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..af9751b --- /dev/null +++ b/CLX_Archiver/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("CLX_Archiver")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("HP Inc.")] +[assembly: AssemblyProduct("CLX_Archiver")] +[assembly: AssemblyCopyright("Copyright © HP Inc. 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("7fa0d356-fbda-4aed-aa84-ba165c1b7fb4")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CLX_Archiver/bin/Debug/CLX_Archiver.exe b/CLX_Archiver/bin/Debug/CLX_Archiver.exe new file mode 100644 index 0000000000000000000000000000000000000000..1a594360cadcb4f877abb93a2e3b0c75ce091216 GIT binary patch literal 8704 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 T*_WQH*sI=E|Nn*mry}s5Yi&)e literal 0 HcmV?d00001 diff --git a/CLX_Archiver/bin/Debug/CLX_Archiver.exe.config b/CLX_Archiver/bin/Debug/CLX_Archiver.exe.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/CLX_Archiver/bin/Debug/CLX_Archiver.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CLX_Archiver/bin/Debug/CLX_Archiver.pdb b/CLX_Archiver/bin/Debug/CLX_Archiver.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7ebba5e4cae65446a1520b0b63b76ec74484ebd2 GIT binary patch literal 24064 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 literal 0 HcmV?d00001 diff --git a/CLX_Archiver/bin/Debug/Syncfusion.Compression.Base.dll b/CLX_Archiver/bin/Debug/Syncfusion.Compression.Base.dll new file mode 100644 index 0000000000000000000000000000000000000000..e5409f1ff63b9bb0484adcf88362eac5c3fe4f99 GIT binary patch literal 229376 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 YVgzCYVgzCYVgzCYVgzCY{y!1;4+QJUQvd(} literal 0 HcmV?d00001 diff --git a/CLX_Archiver/bin/Debug/Syncfusion.Compression.Base.xml b/CLX_Archiver/bin/Debug/Syncfusion.Compression.Base.xml new file mode 100644 index 0000000..0d7b710 --- /dev/null +++ b/CLX_Archiver/bin/Debug/Syncfusion.Compression.Base.xml @@ -0,0 +1,10976 @@ + + + + Syncfusion.Compression.Base + + + +

+ Checksum calculator, based on Adler32 algorithm. + + + + + Bits offset, used in adler checksum calculation. + + + + + Lagrest prime, less than 65535 + + + + + Count of iteration used in calculated of the adler checksumm. + + + + + Updates checksum by calculating checksum of the + given buffer and adding it to current value. + + Current checksum. + Data byte array. + Offset in the buffer. + Length of data to be used from the stream. + + + + Generates checksum by calculating checksum of the + given buffer. + + Data byte array. + Offset in the buffer. + Length of data to be used from the stream. + + + + Reader, that reads stream with compressed data + + + + + Mask for compression method to be decoded from 16-bit header. + + + + + Mask for compression info to be decoded from 16-bit header. + + + + + Mask for check bits to be decoded from 16-bit header. + + + + + Mask for dictionary presence to be decoded from 16-bit header. + + + + + Mask for compression level to be decoded from 16-bit header. + + + + + Maximum size of the data window. + + + + + Maximum length of the repeatable block. + + + + + End of the block sign. + + + + + Minimal length code. + + + + + Maximal length code. + + + + + Maximal distance code. + + + + + Minimum count of repetions. + + + + + Bits, that responds for different repetion modes. + + + + + Length bases. + + + + + Length extended bits count. + + + + + Distance bases. + + + + + Distance extanded bits count. + + + + + Input stream. + + + + + Currently calculated checksum, + based on Adler32 algorithm. + + + + + Currently read 4 bytes. + + + + + Count of bits that are in buffer. + + + + + Temporary buffer. + + + + + 32k buffer for unpacked data. + + + + + No wrap mode. + + + + + Window size, can not be larger than 32k. + + + + + Current position in output stream. + Current in-block position can be extracted by applying Int16.MaxValue mask. + + + + + Data length. + Current in-block position can be extracted by applying Int16.MaxValue mask. + + + + + Sign of uncompressed data reading. + + + + + Size of the block with uncompressed data. + + + + + Specifies wheather next block can to be read. + Reading can be denied because the header of the last block have been read. + + + + + Specifies wheather user can read more data from stream. + + + + + Current lengths huffman tree. + + + + + Current distances huffman tree. + + + + + Specifies wheather checksum has been read. + + + + + TODO: place correct comment here + + + + + + Creates new reader for streams with compressed data. + + + + + + + Resets current checksum to 1. + + + + + Updates checksum by calculating checksum of the + given buffer and adding it to current value. + + Data byte array. + Offset in the buffer. + Length of data to be used from the stream. + + + + Discards left-most partially used byte. + + + + + Reads array of bytes. + + Output buffer. + Offset in output buffer. + Length of the data to be read. + Count of bytes actually read to the buffer. + + + + Fill`s empty parts of the buffer. + + + + + Reads specified count of bits without adjusting position. + + Count of bits to be read. + Read value. + + + + Skips specified count of bits. + + Count of bits to be skipped. + + + + Reads specified count of bits from stream. + + Count of bits to be read. + + TODO: place correct comment here + + + + + TODO: place correct comment here + + + TODO: place correct comment here + + + + + TODO: place correct comment here + + + TODO: place correct comment here + + + + + TODO: place correct comment here + + + TODO: place correct comment here + + + + + Reads ZLib header with compression method and flags. + + + + + TODO: place correct comment here + + + TODO: place correct comment here + + + + + + + Reades dynamic huffman codes from block header. + + Literals/Lengths tree. + Distances tree. + + + + Reads and decodes block of data. + + True if buffer was empty and new data was read, otherwise - False. + + + + Decodes huffman codes. + + True if some data was read. + + + + Reads data to buffer. + + Output buffer for data. + Offset in output data. + Length of the data to be read. + Count of bytes actually read. + + + + GET count of bits available + + + + + Get count of full bytes available. + + + + + Compression level. + + + + + Pack without compression + + + + + Use high speed compression, reduce of data size is low + + + + + Something middle between normal and BestSpeed compressions + + + + + Use normal compression, middle between speed and size + + + + + Pack better but require a little more time + + + + + Use best compression, slow enough + + + + + Represents the compressed stream writer + + + + + Start template of the zlib header. + + + + + Memory usage level. + + + + + Size of the pending buffer. + + + + + Size of the buffer for the huffman encoding. + + + + + Length of the literal alphabet(literal+lengths). + + + + + Distances alphabet length. + + + + + Length of the code-lengths tree. + + + + + Code of the symbol, than means the end of the block. + + + + + Maximum window size. + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Output stream. + + + + + Pending buffer for writing. + + + + + Length of the unflushed data. + + + + + Bits cache for pending buffer. + + + + + Count of bits in pending buffer cache. + + + + + If true, no zlib header will be written to the stream. + + + + + Current checksum. + + + + + Current compression level. + + + + + Current tree for literals. + + + + + Current tree for distances. + + + + + Current tree for code lengths. + + + + + Current position in literals and distances buffer. + + + + + Recorded literals buffer. + + + + + Recorded distances buffer. + + + + + Count of the extra bits. + + + + + Static array of the literal codes. + + + + + Static array of the lengths of the literal codes. + + + + + Static array of the distance codes. + + + + + Static array of the lengths of the distance codes. + + + + + If true, no futher writings can be performed. + + + + + Current hash. + + + + + Hash m_HashHead. + + + + + Previous hashes. + + + + + Start of the matched part. + + + + + Length of the matched part. + + + + + Previous match available. + + + + + Start of the data window. + + + + + String start in data window. + + + + + Lookahead. + + + + + Data window. + + + + + Maximum chain length. + + + + + Maximum distance of the search with "lazy" algotithm. + + + + + Nice length of the block. + + + + + Good length of the block. + + + + + Current compression function. + + + + + Current block of the data to be compressed. + + + + + Total count of bytes, that were compressed. + + + + + Offset in the input buffer, where input starts. + + + + + Offset in the input buffer, where input ends. + + + + + If true, stream will be closed after the last block. + + + + + Initializes statical data for huffman compression. + + + + + Initializes compressor and writes ZLib header if needed. + + Output stream. + If true, ZLib header and checksum will not be written. + Compression level. + If true, output stream will be closed after the last block has been written. + + + + Initializes compressor and writes ZLib header if needed. + Compression level is set to normal. + + Output stream. + If true, ZLib header and checksum will not be written. + If true, output stream will be closed after the last block has been written. + + + + Initializes compressor and writes ZLib header. + + Output stream. + Compression level. + If true, output stream will be closed after the last block has been written. + + + + Initializes compressor and writes ZLib header. + + Output stream. + If true, output stream will be closed after the last block has been written. + + + + Compresses data and writes it to the stream. + + Data to compress + offset in data array + length of data to compress + True - write last compress block in stream, + otherwise False + + + + Writes ZLib header to stream. + + + + + Fill the window + + + + + Slides current window, and data, associated with it. + + + + + Updates hash. + + + + + Inserts string to the hash. + + + + + + Searches for the longest match. + + + + + + + Store data without compression. + + + + + + + + Compress with a maximum speed. + + + + + + + + Compress, using maximum compression level. + + + + + + + + CompressData drives actual compression of data + + + + + Reset internal state + + + + + Calculates length code from length. + + Length. + Length code. + + + + Calculates distance code from distance. + + Distance. + Distance code. + + + + Write all trees to pending buffer + + + + + Compress current buffer writing data to pending buffer + + + + + Flush block to output with no compression + + Data to write + Index of first byte to write + Count of bytes to write + True if this is the last block + + + + Flush block to output with compression + + Data to flush + Index of first byte to flush + Count of bytes to flush + True if this is the last block + + + + Add literal to buffer. + + + Value indicating internal buffer is full + + + + Add distance code and length to literal and distance trees + + Distance code + Length + Value indicating if internal buffer is full + + + + write a byte to buffer + + + value to write + + + + + Write a short value to buffer LSB first + + + value to write + + + + + write an integer LSB first + + value to write + + + + Write a block of data to buffer + + data to write + offset of first byte to write + number of bytes to write + + + + Align internal buffer on a byte boundary + + + + + Write bits to internal buffer + + source of bits + number of bits to write + + + + Write a short value to internal buffer most significant byte first + + value to write + + + + Flushes the pending buffer into the given output array. If the + output array is to small, only a partial flush is done. + + + + + Flushes fully recorded bytes to buffer array. + + Count of bytes, added to buffer. + + + + Convert internal buffer to byte array. + Buffer is empty on completion + + + converted buffer contents contents + + + + + Total data processed. + + + + + Return true if input is needed + + + + + Checks, wheather huffman compression buffer is full. + + True if buffer is full. + + + + The number of bits written to the buffer + + + + + Indicates if buffer has been flushed + + + + + Type of the block. + + + + + Data simply stored as is + + + + + An option to use Fixed Huffman tree codes + + + + + An option to use Dynamically built Huffman codes + + + + + Represents the Huffman Tree. + + + + + Frequences of the codes. + + + + + Codes itself. + + + + + Bit counts, needed to encode different codes. + + + + + Count of codes with some lengths. + Index - length, value - count. + + + + + TODO: place correct comment here + + + + + TODO: place correct comment here + + + + + TODO: place correct comment here + + + + + Data compressor. + + + + + Create a new Huffman tree + + + + + + + + + Resets all code data in tree. + + + + + Writes code to the compressor output stream. + + Code to be written. + + + + Checks wheather tree is empty. + If tree is not empty, then exception will be raised. + + + + + Specifies new arrays of codes and their lengths. + + Array of codes. + Array of code lengths. + + + + Calculates codes from their frequences. + + + + + Build tree with lengths. + + + + + + Builds tree. + + + + + Calculates length of the compressed data. + + Count of bits, the data will occupy. + + + + Calculates code frequences. + + Tree. + + + + Writes tree to output stream. + + Tree to be written. + + + + Length of the tree. + + + + + Lengths of codes in tree. + + + + + Code frequences. + + + + + Huffman tree, used for decompression. + + + + + Maximum count of bits. + + + + + Build huffman tree. + + + + + Huffman tree for encoding and decoding lengths. + + + + + huffman tree for encoding and decoding distances. + + + + + Generates fixed huffman trees. + + + + + Creates huffman tree. + + + + + + Prepares data for generating huffman tree. + + Array of counts of each code length. + Numerical values of the smallest code for each code length. + Array of code lengths. + Calculated tree size. + Code. + + + + Generates huffman tree. + + Array of counts of each code length. + Numerical values of the smallest code for each code length. + Precalculated code. + Array of code lengths. + Calculated size of the tree. + Generated tree. + + + + Builds huffman tree from array of code lengths. + + Array of code lengths. + + + + Reads and decompresses one symbol. + + + + + + + GET huffman tree for encoding and decoding lengths. + + + + + GET huffman tree for encoding and decoding distances. + + + + + Dispose a ArabicShapeRenderer instance. + + + + + Represent a text splitter class and it can be used to split the input text based on the FontScriptType. + + + + + Check whether specified script is EastAsia script or not. + + Represent a FontScriptType to check. + + + + + Gets a FontScriptType of input character. + + Represent a input character to check. + Returns a FontScriptType of input character. + + + + Split the input text based on the FontScriptType. + + Represent the input text to split. + Represent the FontScriptType of a splitted text. + Retruns the array of splitted text. + + + + Split the text by consicutive LTR and RTL + + Represent the source text to split + Represent text range bidi + Represent bidi language of text range + Represent characterRangeType collection + Represent whether previous text is LTR or not + + + + + To check whether the specified character is RTL character or not. + + Specify the character + Return true if the specified character is RTL character + + + + To check whether the specified string is non-word split character (%$#). + + Specify the string to check + Return true if the string is non-word split character + + + + To check whether the specified character is act as non-word split character or not. + + Specify the character to check + Specify the text range bidi value + + + + + To check whether the specified character is word split character ([/;) or not. + + Specify the character + Return true if the specified character is word split character + + + + To check whether the specified character is Arabic character or not. + + Specify the character + Return true if the specified character is Arabic character + + + + To check whether the specified character is Hebrew character or not. + + Specify the character + Return true if the specified character is Hebrew character + + + + To check whether the specified character is Hindi character or not. + + Specify the character + Return true if the specified character is Hindi character + + + + To check whether the specified character is Korean character or not. + + Specify the character + Return true if the specified character is Korean character + + + + To check whether the specified character is Japanese character or not. + + Specify the character + Return true if the specified character is Japanese character + + + + To check whether the specified character is Chinese character or not. + + Specify the character + Return true if the specified character is Chinese character + + + + FallbackFont class used to represent a start, end Unicode ranges and font names of fall back font. + + + + + Create a instance of FallbackFont class. + + Represent a start Unicode range of fall back font. + Represent a end Unicode range of fall back font. + Represent a fall back font name or names (split by comma). + + + + Check whether any character of input text is with in the start and end Unicode ranges. + + Represent a input text to check. + Returns true, if any character of input text is in-between start and end Unicode range; Otherwise false. + + + + Gets or Sets a Unicode range of start character which use a fall back font. + + + + + Gets or Sets a Unicode range of end character which use a fall back font. + + + + + Gets or Sets a fall back font names (split by comma). + + + + + Specifies the local ID's. + + + + + African. + + + + + Albanian. + + + + + Amharic. + + + + + Alsatian. + + + + + Arabic Algerian. + + + + + Arabic Bahraini. + + + + + Arabic Egyptian. + + + + + Arabic Iraqi. + + + + + Arabic Jordanian. + + + + + Arabic Kuwaiti. + + + + + Arabic Lebanese. + + + + + Arabic Libyan. + + + + + Arabic Moroccan. + + + + + Arabic Omani. + + + + + Arabic Qatari. + + + + + Arabic Saudi. + + + + + Arabic Syrian. + + + + + Arabic Tunisian. + + + + + Arabic United Arab Emirates. + + + + + Arabic Yemeni. + + + + + Armenian. + + + + + Assamese. + + + + + Azeri Cyrillic. + + + + + Azeri Latin. + + + + + Bashkir. + + + + + Basque. + + + + + Belarusian. + + + + + Bengali (Bangladesh). + + + + + Bengali (India). + + + + + Bosnian (Cyrillic, Bosnia and Herzegovina). + + + + + Bosnian (Bosnia/Herzegovina). + + + + + Bulgarian. + + + + + Breton. + + + + + Burmese. + + + + + Catalan. + + + + + Cherokee - United States. + + + + + Chinese - Hong Kong SAR. + + + + + Chinese - Macao SAR. + + + + + Chinese - People's Republic of China. + + + + + Chinese - Singapore. + + + + + Chinese - Taiwan. + + + + + Corsican. + + + + + Croatian (Bosnia/Herzegovina). + + + + + Croatian. + + + + + Czech. + + + + + Danish. + + + + + Dari. + + + + + Divehi. + + + + + Dutch - Belgium. + + + + + Dutch - Netherlands. + + + + + Edo. + + + + + Estonian. + + + + + English - Australia. + + + + + English - Belize. + + + + + English - Canada. + + + + + English - Caribbean. + + + + + English - Hong Kong SAR. + + + + + English - India. + + + + + English - Indonesia. + + + + + English - Ireland. + + + + + English - Jamaica. + + + + + English - Malaysia. + + + + + English - New Zealand. + + + + + English - Philippines. + + + + + English - Singapore. + + + + + English - South Africa. + + + + + English - Trinidad. + + + + + English - United Kingdom. + + + + + English - United States. + + + + + English - Zimbabwe. + + + + + Faroese. + + + + + Filipino. + + + + + Finnish. + + + + + French - Belgium. + + + + + French - Cameroon. + + + + + French - Canada. + + + + + French - Democratic Rep. of Congo. + + + + + French - Cote d'Ivoire. + + + + + French - France. + + + + + French - Haiti. + + + + + French - Luxembourg. + + + + + French - Mali. + + + + + French - Monaco. + + + + + French - Morocco. + + + + + French - Reunion. + + + + + French - Senegal. + + + + + French - Switzerland. + + + + + French - West Indies. + + + + + Frisian - Netherlands. + + + + + Fulfulde - Nigeria. + + + + + Scottish Gaelic. + + + + + Galician. + + + + + Georgian. + + + + + German - Austria. + + + + + German - Germany. + + + + + German - Liechtenstein. + + + + + German - Luxembourg. + + + + + German - Switzerland. + + + + + Greek. + + + + + Guarani - Paraguay. + + + + + Gujarati. + + + + + Greenlandic. + + + + + Hausa - Nigeria. + + + + + Hawaiian - United States. + + + + + Hebrew. + + + + + Hindi. + + + + + Hungarian. + + + + + Ibibio - Nigeria. + + + + + Icelandic. + + + + + Igbo - Nigeria. + + + + + Indonesian. + + + + + Inuktitut (Latin, Canada). + + + + + Inuktitut. + + + + + Italian - Italy. + + + + + Italian - Switzerland. + + + + + Irish. + + + + + Xhosa. + + + + + Zulu. + + + + + Kannada (India). + + + + + Kanuri - Nigeria. + + + + + Kashmiri. + + + + + Kashmiri (Arabic). + + + + + Kazakh. + + + + + Khmer. + + + + + Konkani. + + + + + Korean. + + + + + Kyrgyz (Cyrillic). + + + + + K'iche. + + + + + Kinyarwanda. + + + + + Lao. + + + + + Latin. + + + + + Latvian. + + + + + Lithuanian. + + + + + Lower Sorbian (Germany). + + + + + Luxembourgish. + + + + + FYRO Macedonian. + + + + + Malay - Brunei Darussalam. + + + + + Malay - Malaysia. + + + + + Malayalam. + + + + + Maltese. + + + + + Manipuri. + + + + + Maori - New Zealand. + + + + + Marathi. + + + + + Mapudungun. + + + + + Mongolian (Cyrillic). + + + + + Mongolian (Mongolian). + + + + + Nepali. + + + + + Nepali - India. + + + + + Norwegian (Bokml). + + + + + Norwegian (Nynorsk). + + + + + Occitan. + + + + + Oriya. + + + + + Oromo. + + + + + Papiamentu. + + + + + Pashto. + + + + + Farsi. + + + + + Polish. + + + + + Portuguese - Brazil. + + + + + Portuguese - Portugal. + + + + + Punjabi (India). + + + + + Punjabi (Pakistan). + + + + + Quecha - Bolivia. + + + + + Quecha - Ecuador. + + + + + Quecha - Peru. + + + + + Romanian. + + + + + Romanian - Moldava. + + + + + Rhaeto-Romanic. + + + + + Russian. + + + + + Russian - Moldava. + + + + + Sami, Inari (Finland). + + + + + Sami, Lule (Norway). + + + + + Sami, Lule (Sweden). + + + + + Sami, Northern (Finland). + + + + + Sami (Lappish). + + + + + Sami, Northern (Sweden). + + + + + Sami, Skolt (Finland). + + + + + Sami, Southern (Norway). + + + + + Sami, Southern (Sweden). + + + + + Sanskrit - India. + + + + + Serbian (Cyrillic, Bosnia and Herzegovina). + + + + + Serbian (Cyrillic). + + + + + Serbian (Latin, Bosnia and Herzegovina). + + + + + Serbian (Latin, Serbia and Montenegro (Former)). + + + + + Serbian (Latin). + + + + + Tswana. + + + + + Sindhi - Pakistan. + + + + + Sindhi - India. + + + + + Sinhalese - Sri Lanka. + + + + + Slovak. + + + + + Slovenian. + + + + + Somali. + + + + + Spanish - Argentina. + + + + + Spanish - Bolivia. + + + + + Spanish - Chile. + + + + + Spanish - Colombia. + + + + + Spanish - Costa Rica. + + + + + Spanish - Dominican Republic. + + + + + Spanish - Ecuador. + + + + + Spanish - El Salvador. + + + + + Spanish - Guatemala. + + + + + Spanish - Honduras. + + + + + Spanish - Mexico. + + + + + Spanish - Nicaragua. + + + + + Spanish - Panama. + + + + + Spanish - Paraguay. + + + + + Spanish - Peru. + + + + + Spanish - Puerto Rico. + + + + + Spanish - International Sort. + + + + + Spanish - Spain (Traditional Sort). + + + + + Spanish - United States. + + + + + Spanish - Uruguay. + + + + + Spanish - Venezuela. + + + + + Sutu. + + + + + Swahili. + + + + + Swedish - Finland. + + + + + Swedish. + + + + + Syriac. + + + + + Tajik. + + + + + Tamazight. + + + + + Tamazight (Latin). + + + + + Tamil. + + + + + Tatar. + + + + + Telugu. + + + + + Thai. + + + + + Tibetan (PRC). + + + + + Tigrigna (Eritrea). + + + + + Tigrigna (Ethiopia). + + + + + Tsonga. + + + + + Turkish. + + + + + Turkmen. + + + + + Uighur - China. + + + + + Ukrainian. + + + + + Sorbian. + + + + + Urdu. + + + + + Uzbek (Cyrillic). + + + + + Uzbek (Latin). + + + + + Venda. + + + + + Vietnamese. + + + + + Welsh. + + + + + Wolof. + + + + + Yakut. + + + + + Yi. + + + + + Yiddish. + + + + + Yoruba. + + + + + Japanese. + + + + + Used to represent the font script type of the text. + + + + + Used to represent the character range type of the text. + + + + + Provides the base implementation for all the classes with holder behavior. + + + + + Represents Office Math entity. + + + + + Gets the owner. + + + + + Specifies the OwnerHolder. + + + + + Initializes a new instance of the class. + + + + + Sets the owner. + + + + + Closes this instance. + + + + + Gets the owner. + + + + + Clones the item + + + + + + Closes the instances. + + + + + Gets an integer that represents the number of columns the property is applied to + + + + + Gets or sets a MathHorizontalAlignment constant that represents the horizontal alignment for arguments in a matrix column. + + + + + Represents the collection interface. + + + + + Represents base interface for collections. + + + + + Removes the item from the collection. + + Represents a to remove. + + + + Removes all items from the collection. + + + + + Gets the number of items in collection. + + The integer represents the count of the items. + + + + Initializes a new instance of the class. + + + + + Closes this instance. + + + + + Adds the item in collection + + + + + Removes the item in collection + + Represents a to remove. + + + + Removes all items from the collection. + + + + + Gets the number of Math in the document. + + + + + Gets the innerList. + + + + + Represents an abstract class to read MathML item and its format in document + + + + + Parse the control properties of MathML elements. + + + + + Parse the MathML run elements. + + + + + Represents an abstract class to write the MathML item and its format in document + + + + + Serializes the character format of Math run element + + + + + Serializes control properties of all functions in mathematical equation + + Represents a math function + + + + Serializes paragraph items. + + + + + Represents an equation with a bar above or below the base. + + + + + Represents the Mathematical function. + + + + + Gets the type of the mathematical function.Read-Only. + + + + + Gets or sets a boolean that represents the position of a bar in a bar object. + + + + + Gets a object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for border box. + + + + + Gets or sets a value that represents whether to hide the top border of an equation's bounding box. + + True if to hide the top border; otherwise, false. + + + + Gets or sets a value that represents whether to hide the bottom border of an equation's bounding box. + + True if to hide the bottom border; otherwise, false. + + + + Gets or sets a value that represents whether to hide the right border of an equation's bounding box. + + True if to hide the right border; otherwise, false. + + + + Gets or sets a value that represents whether to hide the left border of an equation's bounding box. + + True if to hide the left border; otherwise, false. + + + + Gets or sets a value that represents a diagonal strikethrough from lower left to upper right. + + True if diagonal strikethrough from lower left to upper right; otherwise, false. + + + + Gets or sets a value that represents a diagonal strikethrough from upper left to lower right. + + True if diagonal strikethrough from upper left to lower right; otherwise, false. + + + + Gets or sets a value that represents a vertical strikethrough. + + True if vertical strikethrough ; otherwise, false. + + + + Gets or sets a value that represents a Horizontal strikethrough. + + True if horizontal strikethrough; otherwise, false. + + + + Specifies a object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for Box function. + + + + + Gets or sets a value that represents if the operator emulator must be used as an alignment point from which the next line operator emulator starts. + + True if the operator emulator must be used as an alignment point; otherwise, false. + + + + Gets or sets a value that states whether the box acts as the mathematical differential. + + True if the box acts as the mathematical differential; otherwise, false. + + + + Gets or sets a value whether breaks are allowed inside the box object. + + True if breaks are allowed inside the box object; otherwise, false. + + + + Gets or sets a value that states if the box and its contents behave as a single operator and inherit the properties of an operator. + + True if the box and its contents behave as a single operator and inherit the properties of an operator; otherwise, false. + + + + Represents individual line breaks in an equation. + + + + + Specifies a object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for Delimiter function. + + + + + Gets or sets a string that represents the beginning delimiter character. + + + + + Gets or sets a string that represents the ending delimiter character. + + + + + Gets or sets a value that represents whether delimiter characters grow to the full height of the arguments that they contain. + + True if delimiter characters grow to the full height of the arguments that they contain; otherwise, false. + + + + Gets or sets a string that represents the separator character in a Math delimiter object when the Math delimiter object contains two or more arguments. + + + + + Gets or sets a mathShapeType constant that represents the appearance of delimiters. + + + + + Specifies a object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents a mathematical equation array object, consisting of one or more equations that can be vertically justified as a unit respect to surrounding text on the line. + + + + + Gets or sets the vertical alignment for an equation array. + + The member that specifies vertical alignment for an equation array. + + + + Gets or sets a boolean that represents whether the equations in an equation array are distributed equally within the margins of its container, such as a column, cell, or page width. + + The container for an equation array may be the margins of a page, the margins of a table cell, or another container in which the equation may exist. + + + + Gets or sets a boolean that represents whether the equations in an equation array are spaced to the maximum width of the equation array. + + + + + Gets or sets an float that represents the spacing between the rows in an equation array. + + + + + Gets or sets spacing for an equation array. + + The member that specifies the spacing in an equation array. + + + + Returns an object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents a fraction, consisting of a numerator and denominator separated by a fraction bar. + + + + + Gets or sets a constant that represents the layout of a fraction. Default value is bar. + + + + + Gets an object that represents the denominator for an equation that contains a fraction. + + + + + Gets an object that represents the numerator for a fraction. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the application of a function or an argument in an equation that consists of a function name, such as sin or cos, and an argument. + + + + + Gets a object that represents the base of the specified equation object. + + + + + Gets a object that represents the name of a mathematical function, such as sin or cos. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents a group character object, consisting of a character drawn above or below text, often with the purpose of visually grouping items. + + + + + Gets or sets a value that represents whether the grouping character is aligned vertically with the surrounding text or whether the base text that is either above or below the grouping character is aligned vertically with the surrounding text. Read/write. + + True if the grouping character is aligned vertically with the surrounding text ; otherwise, false. + + + + Gets or sets a string that represents the character placed above or below text in a group character object. Read/write. + + + + + Gets or sets a valuen that represents whether the grouping character is placed above the base text of the group character object. Read/write. + + True if the grouping character is placed above the base text of the group character object; otherwise, false. + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the interface of an equation that contains a superscript or subscript to the left of the base. + + + + + Gets the subscript for a Leftscript object. Read-only. + + + + + Gets the superscript for a Leftscript object. Read-only. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for MathML limit equation. + + + + + Gets the type of the limit. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets an object that represents the limit of the lower or upper limit object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for mathematical matrix, which contain elements in set of rows and columns. + + + + + Gets or sets MathVerticalAlignment constant that represents the vertical alignment for a matrix. + + + + + Gets or sets a float that represents the spacing between columns in a matrix. + + + + + Gets or sets a MathSpacingRule constant that represents the spacing rule for the space that appears between columns in a matrix. + + + + + Gets a object that represents the columns in a matrix. + + + + + Gets or sets an float that represents the spacing for columns in a matrix. + + + + + Gets or sets a boolean that represents whether placeholders in a matrix are hidden from display + + True placeholders do not appear in the matrix; otherwise, falseplaceholders appear in the matrix. + + + + Specifies the object that represent a matrix Row. + + + + + Gets or sets an float that represents the spacing for rows in a matrix. + + + + + Gets or sets a MathSpacingRule constant that represents the spacing rule for rows in a matrix. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for MathMatrixColumns + + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Gets the specified item in the collection. + + + + + Represents an interface for matrix rows. + + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Gets the specified item in the collection. + + + + + Represents mathematical n-ary object, consisting of an n-ary object, a base (or operand), and optional upper limits and lower limits. + + + + + Gets or sets a string that represents a character used as the n-ary operator. Default value is integral. + + + + + Gets or sets a boolean that represents whether n-ary operators grow to the full height of the arguments that they contain.Default value is false. + + + + + Gets or sets a boolean that represents whether to hide the lower limit of an n-ary operator. Default value is false. + + + + + Gets or sets a boolean that represents whether to hide the upper limit of an n-ary operator. Default value is false. + + + + + Gets or sets a boolean that represents the positioning of n-ary limits in the subscript-superscript or upper limit-lower limit position. Default value is true for integral and false for all other object. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets an object that represents the lower limit of an n-ary operator. + + + + + Gets an object that represents the upper limit of an n-ary operator. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the OfficeMathPara that can be used to format a top level MathML element. + + + + + Gets or sets Office . + + + + + Gets a collection of equations. Use the object to access individual members of the collection. + + + + + Gets the owner. + + + + + Represents a phantom object, which has two primary uses: (1) adding the spacing of the phantom base without displaying that base or (2) suppressing part of the glyph from spacing considerations + + + + + Gets or sets a boolean that represents whether the contents of a phantom object are visible. + + True phantom base is shown; otherwise, falsephantom base is hidden. + + + + Gets or sets a boolean that represents that the contents of the phantom are visible but that the height is not taken into account in the spacing of the layout. + + True phantom base is shown; otherwise, falsephantom base is hidden. + bool Smash { get; set; } + + Gets or sets a boolean that represents whether a phantom object is transparent. + + True phantom object is transparent; otherwise, falsephantom object is not transparent . + + + + Gets or sets a boolean that represents whether the ascent of the phantom contents is ignored in the spacing of the layout. + + True ascent of the contents of the phantom is not taken into account during layout; otherwise, falsephantom does have ascent. + + + + Gets or sets a boolean that represents whether the descent of the phantom contents is ignored in the spacing of the layout. + + True descent of the contents of the phantom is taken into account during layout.; otherwise, falsephantom does have descent. + + + + Gets or sets a boolean that represents whether the width of a phantom object is ignored in the spacing of the layout. + + Truewidth of the contents of the phantom is not taken into account during layout.; otherwise, falsephantom does have width. + + + + Gets a object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for radical function. + + + + + Gets the math object that represents the degree for a radical. Read-only. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets or sets a value that represents whether to hide the degree for a radical. + + True if to hide the degree for a radical; otherwise, false. + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for MathML collection. + + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Represents the specified item in the collection. + + + + + Represents an interface to maintain break between the equation. + + + + + Gets or sets the integer that represents the operator in one line. + + + + + Represents an interface for function collection. + + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Represents the type of function to add. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Represents the specified item in the collection. + + + + + Returns an object that represents a base character with a combining accent mark. Read-only. + + + + + Gets or sets a string that represents the accent character for the object. Read/write. + + + + + Gets a object that represents the base of the specified equation object. Read-only. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface to maintain character format of . + + + + + Creates a duplicate copy of character format + + The reference of the newly created object. + This API is used for internal purpose to clone . + + + + Releases all resources used by the object. + + This API is used for internal purpose to dispose the resources used by . + + + + Represents the object that can be used for formatting the character of the mathematical text. + + + + + Gets or sets a boolean that represents the alignment property. When multiple alignment point is set, lastly set alignment point is considered. Default value is false. + + + + + Gets or sets individual line breaks in an equation. + + + + + Gets or sets a boolean that represents whether the characters in the run are literal (i.e., they are to be interpreted literally and not be built up based on any implied mathematical meaning). Default value is false. + + + + + Gets or sets a boolean that represents whether the run is normal text, i.e., math italics and math spacing are not applied. Default value is false. + + + + + Gets or sets the script applied to the characters in the run. Default value is Roman. + + + + + Gets or sets the style applied to the characters in the run. Default style is italic. + + + + + Represents an interface for Math break collection. + + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Gets mathBreak object that represents the specified item in the collection. + + + + + Represents an equation with a base that contains a superscript or subscript. + + + + + Gets or sets a boolean that represents whether to horizontally align subscripts and superscripts in the object. Read/write. + + + + + Gets an object that represents the subscript for a object. Read-only. + + + + + Gets an object that represents the superscript for a object. Read-only. + + + + + Gets an object that represents the base of the specified equation object. Read-only. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an equation with a base that contains a subscript or superscript. + + + + + Gets or sets a type to represent either a subscript or superscript. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets the type of the script. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents object that provides the base implementation for all items. + + + + + Gets or sets the object that represents a mathematical text. + + + + + Gets the object that can be used for formatting the character of the mathematical text. + + + + + Represents an equation. Math objects are members of the collection. + + + + + Represents an equation. Math objects are members of the collection. + + + + + Gets or sets an integer that represents the script size of an argument. + + The int that specifies the script size of an argument. + + + + Gets or sets an collection that represents the functions contained within an equation. Read-only. + + + + + Gets a object that represents the parent column in a matrix. Read-only. + + + + + Gets a object that represents the parent element. Read-only. + + + + + Gets a object that represents the parent row in a matrix. Read-only. + + + + + Gets a collection that represents the line breaks in an equation.Read-only. + + + + + Specifies an collection that represents the functions contained within an equation. + + + + + Specifies the object that represents the parent column in a matrix. + + + + + Specifies the object that represents the parent row in a matrix. + + + + + Specifies a collection that represents the line breaks in an equation.Read-only. + + + + + Gets the owner math of the object. + + + + + Converts all equations in the collection to professional format. + + + + + Converts all equations in the collection to literal text. + + + + + Converts all equations in the collection to math text. + + + + + Converts all equations in the collection to normal text. + + + + + Converts all equations in the collection to linear format. + + + + + Removes an equation from the collection of equations in a document, range, or selection. + + + + + Closes the object + + + + + Clones the item + + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Gets or sets an integer that represents the character position of the alignment point in the equation. Read/write. + + + + + Gets or sets an integer that represents the script size of an argument. + + The int that specifies the script size of an argument. + + + + Gets or sets an collection that represents the functions contained within an equation. Read-only. + + + + + Gets an integer that represents the nesting level for an object. Read-only. + + + + + Gets a object that represents the parent column in a matrix. Read-only. + + + + + Gets a object that represents the parent element. Read-only. + + + + + Gets a object that represents the parent row in a matrix. Read-only. + + + + + Gets a collection that represents the line breaks in an equation.Read-only. + + + + + Gets the propertieshash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Represents an equation with a bar above or below the base. + + + + + Represents the Mathematical function. + + + + + Initializes a new instance of the class with + the owner instance. + + The owner. + + + + Get default control properties of function. + + + + + + Get math paragraph + + + + + + + Gets the type of the mathematical function.Read-Only. + + + + + Keys. + + + + + Specifies a object that represents the base of the specified equation object. + + + + + Holds the collection of properties values and its keys. + + + + + Initializes a new instance of the class. + + + + + Clones the item + + + + + Gets the property value. + + The prop key. + + + + + Sets the property value. + + The property key. + The value. + + + + Sets the default properties. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Closes the instance. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Gets or sets a boolean that represents the position of a bar in a bar object. + + True mathematical overbar.falsemathematical underbar. + + + + Gets a object that represents the base of the specified equation object. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Represents the class for border box. + + + + + Member that represents the Math object. + + + + + Member to hold the collection of properties values and its keys. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + + Closes this Instance. + + + + + Gets or sets a value that represents whether to hide the top border of an equation's bounding box. + + Trueif to hide the top border; otherwise,false. + + + + Gets or sets a value that represents whether to hide the bottom border of an equation's bounding box. + + True if to hide the bottom border; otherwise, false. + + + + Gets or sets a value that represents whether to hide the right border of an equation's bounding box. + + True if to hide the right border; otherwise, false. + + + + Gets or sets a value that represents whether to hide the left border of an equation's bounding box. + + True if to hide the left border; otherwise, false. + + + + Gets or sets a value that represents a diagonal strikethrough from lower left to upper right. + + True if diagonal strikethrough from lower left to upper right; otherwise, false. + + + + Gets or sets a value that represents a diagonal strikethrough from upper left to lower right. + + True if diagonal strikethrough from upper left to lower right; otherwise, false. + + + + Gets or sets a value that represents a Vertical strikethrough. + + True if vertical strikethrough ; otherwise, false. + + + + Gets or sets a value that represents a Horizontal strikethrough. + + True if horizontal strikethrough ; otherwise, false. + + + + Specifies a object that represents the base of the specified equation object.Read-Only. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the class for Box function. + + + + + Member that represents the Math Object. + + + + + Member that represents individual line breaks in an equation. + + + + + Member to hold the collection of properties values and its keys. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Closes this Instance. + + + + + Gets or sets a value that represents if the operator emulator must be used as an alignment point from which the next line operator emulator starts. + + True if the operator emulator must be used as an alignment point; otherwise, false. + + + + Gets or sets a value that states whether the box acts as the mathematical differential. + + True if the box acts as the mathematical differential; otherwise, false. + + + + Gets or sets a value whether breaks are allowed inside the box object. + + True if breaks are allowed inside the box object; otherwise, false. + + + + Gets or sets a value that states if the box and its contents behave as a single operator and inherit the properties of an operator. + + True if the box and its contents behave as a single operator and inherit the properties of an operator; otherwise, false. + + + + Represents an individual line breaks in an equation. + + + + + Specifies a object that represents the base of the specified equation object. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the MathML delimiter equation. + + + + + Member to hold the collection of properties values and its keys. + + + + + Specifies a object that represents the base of the specified equation object. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + + + + Sets the property Value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Closes this Instance. + + + + + Gets or sets a short that represents the beginning delimiter character. + + + + + Gets or sets a short that represents the ending delimiter character. + + + + + Gets or sets a value that represents whether delimiter characters grow to the full height of the arguments that they contain. + + True if delimiter characters grow to the full height of the arguments that they contain; otherwise, false. + + + + Gets or sets a short that represents the separator character in a math delimiter object when the math delimiter object contains two or more arguments. + + + + + Gets or sets a MathDelimiterShapeType constant that represents the appearance of delimiters. + + + + + Gets a object that represents the base of the specified equation object. Read-only. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents a mathematical equation array object, consisting of one or more equations that can be vertically justified as a unit respect to surrounding text on the line. + + + + + Specifies an object that represents the base of the specified equation object. + + + + + Holds the collection of properties values and its keys. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + The prop key. + + + + + Sets the property value. + + The property key. + The value. + + + + Sets the default properties. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Closes the instances. + + + + + Gets a object that represents the base of the specified equation object. + + + + + Gets or sets the vertical alignment for an equation array. + + The member that specifies vertical alignment for an equation array. + + + + Gets or sets a boolean that represents whether the equations in an equation array are distributed equally within the margins of its container, such as a column, cell, or page width. + + + + + Gets or sets a boolean that represents whether the equations in an equation array are spaced to the maximum width of the equation array. + + + + + Gets or sets an float that represents the spacing between the rows in an equation array. + + + + + Gets or sets spacing for an equation array. + + The member that specifies the spacing in an equation array. + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Represents a fraction, consisting of a numerator and denominator separated by a fraction bar. + + + + + Specifies an object that represents the denominator for an equation that contains a fraction. + + + + + Specifies a object that represents the numerator for a fraction. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Closes this instance. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Gets or sets a constant that represents the layout of a fraction. Default value is bar. + + + + + Gets an object that represents the denominator for an equation that contains a fraction. + + + + + Gets an object that represents the numerator for a fraction. + + + + + Gets the propertieshash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the application of a function or an argument in an equation that consists of a function name, such as sin or cos, and an argument. + + + + + Specifies a object that represents the base of the specified equation object. + + + + + Gets a object that represents the name of a mathematical function, such as sin or cos. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Clones the item + + + + + Gets a object that represents the base of the specified equation object. + + + + + Gets a object that represents the name of a mathematical function, such as sin or cos. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + + Member to hold the collection of properties values and its keys. + + + + + Specifies an object that represents the base of the specified equation object. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Closes this Instance. + + + + + Gets or sets a value that represents whether the grouping character is aligned vertically with the surrounding text or whether the base text that is either above or below the grouping character is aligned vertically with the surrounding text. Read/write. + + True if the grouping character is aligned vertically with the surrounding text ; otherwise, false. + + + + Gets or sets a short that represents the character placed above or below text in a group character object. Read/write. + + + + + Gets or sets a value that represents whether the grouping character is placed above the base text of the group character object. Read/write. + + True if the grouping character is placed above the base text of the group character object; otherwise, false. + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the class of an equation that contains a superscript or subscript to the left of the base. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets the subscript for a Leftscript object. Read-only. + + + + + Gets the superscript for a Leftscript object. Read-only. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Closes this Instance. + + + + + Clones the item + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets the subscript for leftscript object. Read-only. + + + + + Gets the superscript for a leftscript object. Read-only. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the MathLimit Function. + s + + + + Specifies a type to represent either a lower or upperLimit. + + + + + Specifies an object that represents the base of the specified equation object. + + + + + Returns an math object that represents the limit . + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Closes this Instance. + + + + + Clones the item + + + + + Gets or sets a type to represent either a low and upper limit. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an interface for mathematical matrix, which contain elements in set of rows and columns. + + + + + Keys. + + + + + Specifies the object that represent a matrix row. + + + + + Specifies the object that represent a matrix column. + + + + + Holds the collection of properties values and its keys. + + + + + Represents the character format + + + + + Gets the property value. + + The prop key. + + + + + Sets the property value. + + The property key. + The value. + + + + Sets the default properties. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Removes the items in matrix + + Start column index in range + Start row index in range + End column index in range + End row index in range + + + + Applies the column properties collection values to each column + + + + + Updates the values of column properties collection using column property values. + + + + + Gets the range of arguments. + + + + + Creates an empty arguments for matrix + + Start column index in range + Start row index in range + End column index in range + End row index in range + + + + Updates the number of matrix columns based on the number of cells present in the rows of the matrix. + + + + + Gets the maximum cell count. + + + + + Closes this Instance. + + + + + Gets or sets that represents the vertical alignment for a matrix. + + + + + Gets or sets a float that represents the spacing between columns in a matrix. + + + + + Gets or sets a that represents the spacing rule for the space that appears between columns in a matrix. + + + + + Gets a object that represents the columns in a matrix. + + + + + Gets or sets an float that represents the spacing for columns in a matrix. + + + + + Gets or sets a boolean that represents whether placeholders in a matrix are hidden from display + + True placeholders do not appear in the matrix; otherwise, falseplaceholders appear in the matrix. + + + + Gets or sets the properties of an in an + + + + + Gets or sets the object that represent a matrix Row. + + + + + Gets or sets an float that represents the spacing for rows in a matrix. + + + + + Gets or sets a that represents the spacing rule for rows in a matrix. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Clone the items in collection + + + + + + Removes the item in collection + + + + + Initializes a new instance of the class. + + + + + Gets the specified item in the collection. + + + + + Removes the item in collection + + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Clone the items in collection + + + + + Initializes a new instance of the class. + + + + + Gets the specified item in the collection. + + + + + Represents the parser for MathML items. + + + + + Parse OMathPara which holds the MathML item. + + Represents the reader to read MathML + Represents OfficeMathPara to hold MathML element + Represents documentparser + + + + Parse officemath which holds the mathml functions + + Represents the reader to read mathml + Represents officemath element + + + + Parse officemath which holds the mathml functions + + Represents the reader to read mathml + Represents officemath element + + + + Parse argument properties + + + + + parse the math properties. + + + + + parse the NAry limit location type. + + + + + parse the integral limit location type of math properties. + + + + + parse the default justification of math properties. + + + + + parse the break on subtract operator of math properties. + + + + + parse the break on binary operator of math properties. + + + + + parse the math limit. + + + + + Parse MathML limit properties. + + + + + Parse MathML phantom function. + + + + + Parser MathML phantom properties. + + + + + Parser MathML matrix function. + + + + + Parser MathML matrix properties. + + + + + Parser MathML math matrix. + + + + + Parser MathML matrix column. + + + + + Parser MathML matrix column properties. + + + + + Parser MathML matrix column justification. + + + + + Parser spacing rule of mathematical equation + + + + + Parser MathML matrix justification. + + + + + Parser MathML matrix row. + + + + + Parser MathML NAry function. + + + + + Parse MathML NAry properties. + + + + + Parse MathML radical function. + + + + + Parse MathML radical properties. + + + + + Parse MathML math right script function. + + + + + Parse MathML math right script properties. + + + + + Parse MathML math left script function. + + + + + Parse MathML math left script properties. + + + + + Parse MathML math script function. + + + + + Parser MathML script properties. + + + + + Parser MathML Eqarray function. + + + + + Parser MathML EqArray Properties. + + + + + Parser MathML EqArray justification. + + + + + Parser MathML groupchar function. + + + + + Parse the MathML groupchar properties. + + + + + Parse the MathML bar function. + + + + + Parse the MathML bar properties. + + + + + Parse the MathML accent function. + + + + + Parse the MathML accent properties. + + + + + Parse the control properties of MathML. + + + + + Parse the MathML run format. + + + + + Parser MathML run format script. + + + + + Parser MathML run format style. + + + + + Parse the mathpara properties. + + Represents the reader to read mathml + Represents officemathpara to hold mathml element + + + + Parse the mathpara justication type. + + Represents the reader to read MathML + Represents officemathpara to hold mathml element + + + + Parse the mathbox. + + Represents the reader to read mathml + Represents officemathbox + + + + Parse the mathbox properties. + + Represents the reader to read mathml + Represents officemathbox + + + + Parse the mathborder box. + + Represents the reader to read mathml + Represents officemathborderbox + + + + Parse the mathborderbox properties. + + Represents the reader to read mathml + Represents officemathborderbox + + + + Parse the mathdelimiter. + + Represents the reader to read mathml + Represents officemathdelimiter + + + + Parse the mathdelimiter properties. + + Represents the reader to read mathml + Represents officemathdelimiter + + + + Parse the mathfraction. + + Represents the reader to read mathml + Represents officemathfraction + + + + Parse the mathfraction properties. + + Represents the reader to read mathml + Represents officemathfraction + + + + Parse the mathfraction type. + + Represents the reader to read mathml + Represents officemathfraction + + + + Parse the mathfunc. + + Represents the reader to read mathml + Represents officemathfunc + + + + Parse the mathfunc properties. + + Represents the reader to read mathml + + + + Parse the mathdelimiter shape. + + Represents the reader to read mathml + Represents officemathdelimiter + + + + Parse the mathbreak attributes. + + Represents the reader to read mathml + Represents mathbreak + + + + Returns the boolean value from the current node + + Represents the reader to read mathml + + + + To validate for the Numeric values alone in font size + + + + + To get the float value + + + + + Returns the spacing value based on spacing rule type. + + + + + Skip whitespaces and moves the reader to the next node. + + The xml reader + + + + Represents a class to maintain constants for mathematical equation + + + + + Represents the serializer for MathML items. + + + + + Serializes the MathPara. + + + + + Serializes the MathParaProperties. + + + + + Serializes math para justification + + Represents the math para + + + + Serializes the Math element. + + + + + Serializes the Math element in MathPara. + + + + + Serializes the Math function. + + + + + Serializes the math properties. + + + + + Serializes the NAry limit location of math properties. + + + + + Serializes the Intergral limit location of math properties. + + + + + Serializes the default justification of math properties. + + + + + Serializes the break on subtract operator of math properties. + + + + + Serializes the break on binary operator of math properties. + + + + + Serializes the Math upper limit function. + + + + + Serializes the Math upper limit properties. + + + + + Serializes the Math lower limit function. + + + + + Serializes the Math lower limit properties. + + + + + Serializes the Math right script. + + + + + Serializes the Math right script properties. + + + + + Serializes the Math left script function. + + + + + Serializes the Math left script properties. + + + + + Serializes the Math SuperScript. + + + + + Serializes the Math SuperScript properties. + + + + + Serializes the Math SubScript. + + + + + Serializes the Math SubScript properties. + + + + + Serializes the Math equation text. + + + + + Serializes the math run properties. + + + + + Serializes the math format script. + + + + + Serializes the math format style. + + + + + Serializes the Math Accent. + + Represents math accent + + + + Serializes the mathaccent properties. + + Represents math accent + + + + Serializes the math bar. + + Represents math bar + + + + Serializes the math bar properties. + + Represents math bar + + + + Serializes the math box. + + Represents math box + + + + Serializes the mathbox properties. + + Represents math box + + + + Serializes the mathbreak. + + Represents math break + + + + Serializes the math borderbox. + + Represents math borderbox + + + + Serializes the mathborderbox properties. + + Represents math borderbox + + + + Serializes the math delimiter. + + Represents math delimiter + + + + Serializes the mathdelimiter properties. + + Represents math delimiter + + + + Serializes the mathdelimiter shape. + + + + + Serializes the math equation array. + + Represents math eqArray + + + + Serializes the math equation array properties. + + Represents math eqArray + + + + Serializes the math equation spacing rule. + + + + + Serializes the math equation array alignment. + + Represents math eqArray + + + + Serializes the math fraction. + + Represents math fraction + + + + Serializes the math fraction properties. + + Represents math fraction + + + + Serializes the math fraction type. + + + + + Serializes the math func. + + + + + Serializes the math func properties. + + + + + Serializes the math groupchar. + + Represents math groupchar + + + + Serializes the math groupchar properties. + + Represents math groupchar + + + + Serializes the math matrix. + + Represents math matrix + + + + Serializes the math matrix properties. + + Represents math matrix + + + + Serialize the row spacing + + + + + Serializes math matrix align + + Represents math matrix + + + + Serializes math matrix columns + + Represents math matrix + + + + Serializes math matrix column properties + + Represents math matrix column + + + + Serializes math matrix column alignment + + Represents math matrix column + + + + Serializes a math matrix row + + + + + + Serializes math nary + + Represents math nary + + + + Serializes math nary properties + + Represents math nary + + + + Serializes math radical + + + + + + Serializes the math radical properties + + Represents the math radical + + + + Serializes the math phantom + + + + + + Serializes math phantom properties + + Represents math phantom + + + + Serializes the bool property + + Tag name + if set to true [value]. + + + + Convert the float value to string. + + float value + + + + + Specifies an object that represents the base of the specified equation object. + + + + + Specifies an object that represents the lower limit of an n-ary operator. + + + + + Specifies an object that represents the upper limit of an n-ary operator. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Closes this instance. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Gets or sets a short that represents a character used as the n-ary operator. Default value is integral. + + + + + Gets or sets a boolean that represents whether n-ary operators grow to the full height of the arguments that they contain.Default value is false. + + + + + Gets or sets a boolean that represents whether to hide the lower limit of an n-ary operator. Default value is false. + + + + + Gets or sets a boolean that represents whether to hide the upper limit of an n-ary operator. Default value is false. + + + + + Gets or sets a boolean that represents the positioning of n-ary limits in the subscript-superscript or upper limit-lower limit position. Default value is true for integral and false for all other object. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets an object that represents the lower limit of an n-ary operator. + + + + + Gets an object that represents the upper limit of an n-ary operator. + + + + + Gets the propertieshash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents the OfficeMathPara that can be used to format a top level MathML element. + + + + + Specifies a . + + + + + Member to hold the collection of properties values and its keys. + + + + + Clones the item + + + + + Sets the owner. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Return default value of the respective key. + + + + + Gets or sets . + + + + + Gets a collection of equations. Use the object to access individual members of the collection. + + + + + Gets the Owner. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets whether format is default. + + + + + Represents the default character format for functions in mathematical equation + + + + + Represents object that provides the base implementation for all items. + + + + + Specifies the object that can be used for formatting the character of the mathematical text. + + + + + Initializes a new instance of the class. + + + + + Clones the item + + + + + Gets or sets the object that represents a mathematical text. + + + + + Gets the object that can be used for formatting the character of the mathematical text. + + + + + Represents a phantom object, which has two primary uses: (1) adding the spacing of the phantom base without displaying that base or (2) suppressing part of the glyph from spacing considerations + + + + + Keys. + + + + + Specifies a object that represents the base of the specified equation object. + + + + + Holds the collection of properties values and its keys. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + The prop key. + + + + + Sets the property value. + + The property key. + The value. + + + + Sets the default properties. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Gets or sets a boolean that represents whether the contents of a phantom object are visible. + + True phantom base is shown; otherwise, falsephantom base is hidden. + + + + Gets or sets a boolean that represents that the contents of the phantom are visible but that the height is not taken into account in the spacing of the layout. + + True contents of the phantom are visible but that the height is not taken into account in the spacing of the layout; otherwise, false + + + + Gets or sets a boolean that represents whether a phantom object is transparent. + + True phantom object is transparent; otherwise, falsephantom object is not transparent . + + + + Gets or sets a boolean that represents whether the ascent of the phantom contents is ignored in the spacing of the layout. + + True ascent of the contents of the phantom is not taken into account during layout; otherwise, falsephantom does have ascent. + + + + Gets or sets a boolean that represents whether the descent of the phantom contents is ignored in the spacing of the layout. + + True descent of the contents of the phantom is taken into account during layout.; otherwise, falsephantom does have descent. + + + + Gets or sets a boolean that represents whether the width of a phantom object is ignored in the spacing of the layout. + + Truewidth of the contents of the phantom is not taken into account during layout.; otherwise, falsephantom does have width. + + + + Gets a object that represents the base of the specified equation object. + + + + + Gets or sets whether format is default. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Represents the MathML properties. + + + + + Member to hold the collection of properties values and its keys. + + + + + Gets the property value. + + + + + Sets the property Value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Gets or set a value which indicates how binary operators are treated when they coincide with a line break. + + + + + Gets or set a value which indicates how the subtraction operator is treated when it coincides with a line break, when brkBin is set to repeat. + + + + + Gets or set a value which indicates the default justification of display math, at the document level. + + + + + Gets or set a value which indicates the document-level property to overwrite paragraph settings for mathematical text. + + + + + Gets or set a value which indicates spacing between equations, expressions, or other instances of mathematical text within a display math paragraph, in twips. + + + + + Gets or set a value which indicates the document setting for the default placement of integral limits. + + + + + Gets or set a value which indicates the spacing between adjacent display math paragraphs, in twips. + + + + + + Gets or set a value which indicates the default math font to be used in the document. + + + + + Gets or set a value which indicates the document setting for the default placement of n-ary limits other than integrals. + + + + + Gets or set a value which indicates the spacing after a math paragraph, in twips. + + + + + Gets or set a value which indicates the spacing before a math paragraph, in twips. + + + + + Gets or set a value which indicates the right margin for math. + + + + + Gets or set a value which indicates a reduced fraction size display math, such that the numerator and denominator are written in script size instead of at the size of regular text. + + + + + + Gets or set a value which indicates the right justification of the wrapped line of an instance of mathematical text. + + + + + Gets or sets whether format is default. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Represents class for radical function + + + + + Member to hold the collection of properties values and its keys. + + + + + Member that represents the degree for a radical. + + + + + Member that represents the math object. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Closes this Instance. + + + + + Gets the object that represents the degree for a radical. Read-only. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets or sets a value that represents whether to hide the degree for a radical. + + True if to hide the degree for a radical; otherwise, false. + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents a collection of Math. + + + + + Initializes a new instance of the class. + the owner instance. + + The owner. + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Returns the newly added . + + When adding arguments in or , it throws exception. + Add new and to add new argument in + + + + + Adds instance to the collection. + + Returns the newly added . + + When adding arguments in or , it throws exception. + Add new and to add new argument in + + + + + Adds an item + + + When adding arguments in or , it throws exception. + Add new or to add new argument in + + + + + Check the condition before insert a math + + + + + Clones the item in collection + + + + + Clears the object. + + + + + Represents the specified item in the collection. + + + + + Represents a matrix column. + + + + + Gets an integer that represents the ordinal position of a column within the collection of columns in a matrix. + + + + + Gets a object that represents the arguments in a matrix column. + + + + + Gets or sets a MathHorizontalAlignment constant that represents the horizontal alignment for arguments in a matrix column. + + + + + Represents a interface matrix row. + + + + + Gets an integer that represents the ordinal position of a row within the collection of rows in a matrix. + + + + + Gets a object that represents the arguments in a matrix row. + + + + + Returns an object that represents a base character with a combining accent mark. Read-only. + + + + + Specifies a object that represents the base of the specified equation object. + + + + + Initializes a new instance of the class. + + + + + Closes this instance. + + + + + Clones the item + + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Gets or sets a string that represents the accent character for the object. Read/write. + + + + + Gets a object that represents the base of the specified equation object. Read-only. + + + + + Gets the propertieshash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents a class to maintain break between the equation. + + + + + Member to hold the collection of properties values and its keys. + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + + + + Sets the property Value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Closes this Instance. + + + + + Gets or sets an integer that represents the operator in one line. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Represents the object that can be used for formatting the character of the mathematical text. + + + + + Closes this instance. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Clones the item + + + + + Gets or sets a boolean that represents the alignment property. When multiple alignment point is set, lastly set alignment point is considered. Default value is false. + + + + + Gets or sets individual line breaks in an equation. + + + + + Gets or sets a boolean that represents whether the characters in the run are literal (i.e., they are to be interpreted literally and not be built up based on any implied mathematical meaning). Default value is false. + + + + + Gets or sets a boolean that represents whether the run is normal text, i.e., math italics and math spacing are not applied. Default value is false. + + + + + Gets or sets the script applied to the characters in the run. Default value is Roman. + + + + + Gets or sets the style applied to the characters in the run. Default style is italic. + + + + + Gets the propertieshash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets whether format is default. + + + + + Represents the Math break collection. + Represents the Math break collection. + + + + + Initializes a new instance of the class. + + The owner. + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Clone the items in collection + + + + + + Clears the object. + + + + + Returns object that represents the specified item in the collection. + + + + + Represents a Collection of function. + + + + + Initializes a new instance of the class with + the owner instance. + + The owner. + + + + Adds instance to the collection at specified index. + + The Index, where to add the instance. + Represents the type of function to add. + Returns the newly added . + + + + Adds instance to the collection. + + Returns the newly added . + + + + Clone the items in collection + + + + + + Clone the items in collection from start index to end index + + + Represent the start index to clone from. + Represent the end index to clone until. + + + + Clears the object. + + + + + Represents the specified item in the Collection. + + + + + Represents a matrix column. + + + + + Keys. + + + + + Gets a object that represents the arguments in a matrix row. + + + + + Holds the collection of properties values and its keys. + + + + + Initializes a new instance of the class. + + + + + Gets the property value. + + The prop key. + + + + + Sets the property value. + + The property key. + The value. + + + + Sets the default properties. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + After added a column in matrix. + + + + + Clones the item + + + + + + Closes the instances. + + + + + Gets an Integer that represents the ordinal position of a column within the collection of columns in a matrix. + + + + + Gets a object that represents the arguments in a matrix column. + + + + + Gets or sets a MathHorizontalAlignment constant that represents the horizontal alignment for arguments in a matrix column. + + + + + Gets the PropertiesHash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Represents a matrix row. + + + + + Gets a object that represents the arguments in a matrix row. + + + + + Initializes a new instance of the class. + + + + + Clones the item + + + + + Closes the instances. + + + + + After row added into the matrix. + + + + + Gets an integer that represents the ordinal position of a row within the collection of rows in a matrix. + + + + + Gets a object that represents the arguments in a matrix row. + + + + + Represents an equation with a base that contains a superscript or subscript. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Converts an equation with a base superscript or subscript to an equation with a superscript or subscript to the left of the base. + + + + + Removes the subscript for an equation and returns an object that represents the updated equation without the subscript. + + + + + Removes the superscript for an equation and returns an object that represents the updated equation without the superscript. + + + + + Closes this instance. + + + + + Determines whether the specified property key has value. + + The property key. + + if the specified property key has value, set to true. + + + + + Returns the value indicating whether the key exists in the properties collection. + + The integer that specifies the key. + + True if the specified key is present, otherwise false. + + + + + Gets the property value. + + + + + Sets the property value. + + + + + Return default value of the respective key. + + + + + Clones the item + + + + + Gets or sets a boolean that represents whether to horizontally align subscripts and superscripts in the object. Read/write. + + + + + Gets an object that represents the subscript for a object. Read-only. + + + + + Gets an object that represents the superscript for a object. Read-only. + + + + + Gets an object that represents the base of the specified equation object. Read-only. + + + + + Gets the propertieshash value. + + + + + Gets or sets the value for the property with specified key. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Represents an equation with a base that contains a subscript or superscript. + + + + + Specifies a represent either a subscript or superscript. + + + + + Specifies an object that represents the base of the specified equation object. + + + + + Gets the type of the script. + + + + + Represents the character format + + + + + Initializes a new instance of the class. + + + + + Closes this Instance. + + + + + Clones the item + + + + + Gets or sets a type to represent either a subscript or superscript. + + + + + Gets an object that represents the base of the specified equation object. + + + + + Gets the type of the script. + + + + + Gets or sets the object that represent the control property of MathML function. + + + + + Specifies the justification of the equation. + + + + + Center as a group. + + + + + Center. + + + + + Left. + + + + + Right. + + + + + Specifies the script applied to the characters in the run. + + + + + Double-struck. + + + + + Fractur. + + + + + Monospace. + + + + + Roman. + + + + + Sans-serif. + + + + + Script. + + + + + Specifies the style of the characters in the run. + + + + + Italic. + + + + + Bold-italic. + + + + + Bold. + + + + + Plain. + + + + + Specifies the type of the MathML function. + + + + + Specifies equation accent mark. + + + + + Specifies equation fraction bar. + + + + + Specifies border box. + + + + + Specifies box. + + + + + Specifies equation delimiters. + + + + + Specifies equation array. + + + + + Specifies equation fraction. + + + + + Specifies equation function. + + + + + Specifies Group character. + + + + + Specifies lower and upper limit. + + + + + Specifies equation matrix. + + + + + Specifies equation N-array operator. + + + + + Specifies equation phantom. + + + + + Specifies equation base expression. + + + + + Specifies Left subScript. + + + + + Specifies subScript and superScript. + + + + + Specifies SubSuperScrpit. + + + + + Specifies Equation text. + + + + + Specifies the type that represents the appearance of delimiters. + + + + + Vertically centers delimiters around the entire height of the equation causing delimiters grow equally above and below their midpoint. + + + + + Matches the shape of the delimiters to the size of their contents. + + + + + Specifies the type of fraction bar. + + + + + Normal fraction bar. + + + + + No fraction bar. + + + + + Skewed fraction bar. + + + + + Show fraction inline. + + + + + Specifies the horizontal alignment for arguments in a matrix column. + + + + + Center. + + + + + Left. + + + + + Right. + + + + + Specifies the vertical alignment for a matrix. + + + + + Center. + + + + + Top. + + + + + Bottom. + + + + + Specifies the spacing rule for the space that appears between two columns or two rows in a mathematical equation. + + + + + Single line. + + + + + One and half line. + + + + + Double line. + + + + + Exact line. + + + + + Multiple line. + + + + + Specifies the script type of equation. + + + + + SuperScript. + + + + + SubScript. + + + + + Specifies the type that represents the limit. + + + + + Specifies the lower limit. + + + + + Specifies the upper limit. + + + + + Specifies how binary operators are treated when they coincide with a line break. + + + + + Specifies the binary operator appears after the break. + + + + + Specifies the binary operator appears before the break. + + + + + Specifies the binary operator appears on both sides of the break. + + + + + Specifies how the subtraction operator is treated when it coincides with a line break, when brkBin is set to repeat. + + + + + Specifies the repetition of subtraction sign after a line-wrapping break is plus on the first line and minus on the second line. + + + + + Specifies the repetition of subtraction sign after a line-wrapping break is minus on the first line and plus on the second line. + + + + + Specifies the repetition of subtraction sign after a line-wrapping break is minus on the first and second lines. + + + + + Represent the limit location of integral and n-ary. + + + + + Subscript-Superscript location + + + + + Under-Over location. + + + + + Represents an interface for math run elements + + + + + Creates a duplicate copy of . + + The reference of the newly created object. + + + + Releases all resources used by the object. + + + + + Reserved for internal use. + + + + + Utility Class + + + + + Bit-indexes for reversing. + + + + + Code lengths for the code length alphabet. + + + + + Reverses bit. + + + + + + + Number regex used for pattern + + + + + Read-Only static whitespace characters + + + + + Convert the string to byte value + + input string + the byte value + + + + Convert the string to Int16 value + + input string + the Int16 value + + + + Convert the string to Int32 value + + input string + the Int32 value + + + + Convert the string to Int64 value + + input string + the Int64 value + + + + Convert the string to UInt16 value + + input string + the UInt16 value + + + + Convert the string to UInt32 value + + input string + the UInt32 value + + + + Trim a string using XML whitespace characters + + input string value + the trimmed string + + + + Convert the string to Single value + + input string + the Single value + + + + Convert the string to Double value + + input string + the Double value + + + + Convert the string to Boolean value + + input string + the Boolean value + + + + Try to get the number value from misplaced string + + the input string + the maximum value + the extracted value + + + + Convert the string to DateTimeOffset value + + input string + the DateTimeOffset value + + + + Check whether the string having only whitespace + + the input string + the boolean value + + + + Convert the string to DateTime value + + input string + Xsd mode for date time + the DateTime value + + + + List with collection items. + + + + + Initializes a new instance of the class with the default initial capacity. + + + + + Initializes a new instance of the class with the specified capacity. + + The number of elements that the new list can initially store. + + + + Removes all objects from the System.Collections.CollectionBase instance. + + + + + Inserts an element into the list at the specified index. + + The zero-based index at which item should be inserted. + The object to insert. The value can be null for reference types. + + + + Returns an enumerator that iterates through this instance. + + An enumerator for this instance. + + + + Performs additional custom processes when clearing the contents of this instance. + + + + + Performs additional custom processes after clearing the contents of this instance. + + + + + Performs additional custom processes before inserting a new element into this instance. + + The zero-based index at which to insert value. + The new value of the element at index. + + + + Performs additional custom processes after inserting a new element into this instance. + + The zero-based index at which to insert value. + The new value of the element at index. + + + + Performs additional custom processes when removing an element from this instance. + + The zero-based index at which value can be found. + The value of the element to remove from index. + + + + Performs additional custom processes after removing an element from this instance. + + The zero-based index at which value can be found. + The value of the element to remove from index. + + + + Performs additional custom processes before setting a value in this instance. + + The zero-based index at which oldValue can be found. + The value to replace with newValue. + The new value of the element at index. + + + + Performs additional custom processes after setting a value in this instance. + + The zero-based index at which oldValue can be found. + The value to replace with newValue. + The new value of the element at index. + + + + Removes the element at the specified index of this instance. + + The zero-based index of the element to remove. + + + + Creates copy of the collection. + + Count for the new collection. + A copy of the collection. + + + + Gets or sets the number of elements that the System.Collections.CollectionBase can contain. + + + + + Gets the number of elements contained in the System.Collections.CollectionBase instance. + + + + + Gets the list of elements in the instance. + + + + + Gets the list of elements in the instance. + + + + + Represents a collection of properties describing the metadata stored in a document. + + + + + Finds a metadata property in the collection with specified display name. + + + + + + + Initializes a new instance of the class with the specified + instance. + + + + + Adds the specified Metaproperty. + + The metaProperty. + + + + Removes the specified MetaProperty. + + The metaProperty. + + + + Clears the object. + + + + + Gets the at the specified index. + + The integer that represents the position of the metadata property in the document to get. + The at the specified index. + The index is not valid in the + + + + Gets the number of items in the collection. + + The integer that specifies the count of items. + + + + Gets the inner list. + + The inner list. + + + + Specifies the metadata property type. + + + + + Represents an unknown value. + + + + + Represents a Boolean value. + + + + + Represents a value from one or more choices. + + + + + Represents a Currency value. + + + + + Represents a DateTime value. + + + + + Represents a value used to lookup another value. + + + + + Represents a value of one or more sentences. + + + + + Represents a generic number data type. + + + + + Represents a Text value. + + + + + Represents a URL. + + + + + Represents a category of user. + + + + + Specifies the type of system + + + + + 16 bit Windows. + + + + + 32 bit Windows + + + + + Macintosh + + + + + 64 bit Windows + + + + + Specifies the Vba module type + + + + + Module + + + + + Class module + + + + + User form + + + + + Workbook or Worksheet code + + + + + Specifies the Vba reference type + + + + + Control reference + + + + + Original reference + + + + + Register reference + + + + + Project reference + + + + + Interface for using Vba project module + + + + + Specifies the Vba module name + + + + + Indicates the Vba module type. + + + + + Specifies the Vba code for the module + + + + + Specifies the Vba project Form module designer. + + + + + Add a Vba module to the Vba project module collection + + Name + Type + + + + + Removes a Vba module with the specified name + + Name + + + + Removes a Vba module at the specified index. + + Index + + + + Clears Vba Module Collection + + + + + Specifies the number of Vba modules in the collection. + + + + + Get the Vba module at the specified index. + + Index + Vba Module + + + + Get the Vba module with the specified name. + + Name + Vba Module + + + + Interface used for Vba project in the workbook. + + + + + Specifies the Vba project name. + + + + + Specifies the Vba project description details. + + + + + Specifies the vba project contants. + + + + + Specifies the path of the Help file. + + + + + Indicates the help context id in the help file. + + + + + Contains the Vba project module collection. + + + + + Represents a single property in a collection of properties describing the metadata stored in a document. + + + + + Map the content type meta data properties. + + + + + + + + + + + + Parse the meta data property value. + + + + + + + + + Parse meta properties from contentTypeSchema. + + + + + + + Checks whether the user setting value is valid or not. + + + + + + + Gets the proper value based on the metaproperty data type. + + + + + + + + Set value to the XmlDocument element after changing of the MetaProperty data. + + + + + Validate the value of boolean metaproperty type. + + + + + + + Validate the value of lookup metaproperty type. + + + + + + + Validate the value of user metaproperty type. + + + + + + + Validate the value of url metaproperty type. + + + + + + + Validate the value of datetime metaproperty type. + + + + + + + Validate the value of number and currency metaproperty type. + + + + + + + Validate the value of text,note,choice,unknown metaproperty type. + + + + + + + Gets the ID of the MetaProperty object. + + + + + Gets a Boolean value that specifies whether the meta property is read-only + + + + + Gets a Boolean value that specifies whether the meta property is required. + + + + + Gets the name of the MetaProperty object. + + + + + Gets the data type of the MetaProperty object. + + + + + Gets or sets the value of metadata property. + + + + + Gets the owner of the MetaProperty. + + The that specifies the owner. + + + + Control reference record. + + + + + Vba reference record + + + + + Parse reference record. + + + + + + Serialize reference record. + + + + + + Clone. + + + + + Reference name + + + + + Reference encoding type + + + + + Id + + + + + Libid twiddled + + + + + Extended Libid + + + + + Original + + + + + Cookie + + + + + Reference name + + + + + Encoding type + + + + + Parses Control Reference. + + Dir Stream + + + + Serializes Control reference + + Dir Stream + + + + Id + + + + + Libid Twiddled + + + + + Extended Libid + + + + + Original + + + + + Cookie value + + + + + Reference name + + + + + Encoding Type + + + + + Original Reference record + + + + + ID + + + + + Libid + + + + + Encoding type + + + + + Reference name + + + + + Parses the original reference. + + Dir Stream + + + + Serializes the original reference. + + Dir Stream + + + + Id + + + + + Libid value + + + + + Reference name + + + + + Encoding type + + + + + Project reference record + + + + + Id + + + + + Libid Absolute + + + + + Libid Relative + + + + + Major Version + + + + + Minor Version + + + + + Encoding type + + + + + Reference name + + + + + Parses the Project reference record. + + Dir stream + + + + Serializes the project reference record. + + Dir Stream + + + + Id + + + + + Libid Absolute + + + + + Libid Relative + + + + + Major version of project + + + + + Minor version of Project + + + + + Reference Name + + + + + Encoding Type + + + + + Reference Records Collection + + + + + Parent Vba Project + + + + + Add a reference with the specified type. + + Reference type + Reference + + + + Dispose + + + + + Clone + + Vba reference collection + + + + Register reference record. + + + + + Id + + + + + Libid + + + + + Reference name + + + + + Encoding type + + + + + Parses register reference. + + Dir Stream + + + + Serializes register reference. + + Dir Stream + + + + Id + + + + + Libid + + + + + Reference name + + + + + Encoding type + + + + + Vba attribute + + + + + Name + + + + + Value + + + + + Indicates whether the value is string type + + + + + Clone + + VbaAttribute + + + + Specifies the name of the attribute + + + + + Specifies the value for a attribute + + + + + Indicates whether the attribute value is string. + + + + + Vba attribute collection + + + + + Parent Vba Module + + + + + Initializes a Vba Attribute + + + + + + Add a attribute to the collection + + Name of the attribute + Value of the attribute + Indicates whether the value is a text + + + + + Clone + + + + + + Gets the attribute with the specified name + + Name of the attribute + Vba Attribute + + + + Vba data process + + + + + Compression a data using Vba Compression algorithm + + DeCompressed data + Compressed data + + + + Decompression a data using Vba decompression algorithm + + Compressed data + Decompressed data + + + + Decrypting a data using Vba decryption + + Encrypted data + Decrypted data + + + + Erypting a data using Vba Encryption + + Decrypted data + Encrypted data + + + + Vba Module base + + + + + Specifies the name of the module. + + + + + Module description + + + + + Module stream name + + + + + Module offset + + + + + Help context id + + + + + Vba attributes collection + + + + + Designer storage + + + + + Designer packages. + + + + + Vba module type. + + + + + Vb Program code. + + + + + Vba Module collection + + + + + Instantiate a Vba Module + + + + + + Initializes Vba attributes collection. + + module name + Class Id + Attributes collection + + + + Parses Vba module. + + Module stream + + + + Serializes module record + + + + + + Dispose + + + + + Name changing event hanler. + + + + + Specifies the module name + + + + + Indicates the module type. + + + + + Specifies the Vba code for the module + + + + + Help context id + + + + + Specifies the project description. + + + + + Specifies the module stream name. + + + + + Indicates the starting position of the data in the module stream + + + + + Vba code attributes + + + + + Designer storage + + + + + Designer module package + + + + + Name change event handler + + sender + new name + + + + VbaProject object + + + + + Initializes a Vba module collection. + + Vba Project + + + + Add a Vba module to the Vba project module collection + + Name + Type + + + + + Removes a Vba module with the specified name + + Name + + + + Dispose + + + + + Clone Vba Modules Collection + + Parent + Vba Modules + + + + Parent Vba project + + + + + Get the Vba module with the specified name + + Name + Vba Module + + + + Get the Vba module at the specified index. + + Index + Vba Module + + + + Vba project base + + + + + Vba modules collection. + + + + + Vba project references. + + + + + Parent + + + + + System Kind + + + + + Vba project name. + + + + + Project description. + + + + + Password + + + + + Project constants. + + + + + Indicates whether to lock the project view + + + + + Primary Help File + + + + + Secondary help file. + + + + + Help topic context id; + + + + + LCID + + + + + LCInvoke + + + + + Code page of the project + + + + + Major version + + + + + Minor version + + + + + Project Class Id + + + + + Data preserved for protection. + + + + + Data preserved for password + + + + + Data preserved for lock view. + + + + + Initializes the Vba Project. + + + + + Parse Dir Stream + + Stream + + + + Parse Module Stream + + + + + + Parse Project stream + + Vba root storage + + + + Parse project properties. + + Dir stream + + + + Parse project references + + Dir stream + + + + Creates Vba Project stream + + Root storage + + + + Creates Dir stream + + + + + Writes project properties into Dir stream + + Dir stream + + + + Serialize refereces + + Dir stream + + + + Serialize modules + + Die Stream + + + + Creates module stream + + + + + Creates project stream. + + Root storage + + + + Creates project wm stream + + Root storage + + + + Converts Hex string into byte array + + Hex value + byte array + + + + Converts the byte array into Hex string + + byte array + Hex value + + + + Extracts UInt32 value from the stream. + + Stream to read data from. + Extracted value. + + + + Extracts UInt16 value from the stream. + + Stream to read data from. + Extracted value. + + + + Extracts unsigned UInt16 value from the stream. + + Stream to read data from. + Extracted value. + + + + Dispose + + + + + Clone + + Vba Project Base + + + + Specifies the type of System that the Vba project created. + + + + + Specifies the Vba project name. + + + + + Specifies the Vba project description details. + + + + + Specifies the password for the Vba project. + + + + + Specifies the vba project contants. + + + + + Indicates whether to lock the project view. + + + + + Specifies the path of the Help file. + + + + + Specifies the secondary help file. + + + + + Indicates the help context id in the help file. + + + + + LCID of the project. + + + + + LC Invoke + + + + + Specifies the code page no of the Encoding used in the Vba project. + + + + + Major version + + + + + Minor version + + + + + Encoding used in the Vba project. + + + + + Vba project Class Id + + + + + Contains the Vba project module collection. + + + + + Contains the Vba project references. + + + + + Implemenation of IFileNamePreprocessor interface that simply removes + some string from the name start and converts all \ characters into /. + + + + + Preprocesses file name before ZipArchiveItem saving. Used to convert full item path into local one. + + + + + Somehow converts full path into name that will be stored in the zip archive. + + Name to process. + Converted name. + + + + String to remove from the name start. + + + + + Initializes new instance of the name preprocessor. + + String to remove from the name start. + + + + Somehow converts full path into name that will be stored in the zip archive. + + Name to process. + Converted name. + + + + Class contains all constants that are required by ZipArchive. + + + + + Zip header signature. + + + + + Number of bytes in HeaderSignature constant. + + + + + Buffer size. + + + + + Version needed to extract. + + + + + Version made by. + + + + + Size of the short value in bytes. + + + + + Size of the int value in bytes. + + + + + Central header signature. + + + + + End of central directory signature. + + + + + Initial value for CRC-32 evaluation. + + + + + Offset to the size field in the End of central directory record. + + + + + Start byte of the Header signature. + + + + + Default constructor to prevent users from creating instances of this class. + + + + + The kind of compression used for an entry in an archive + + + + + The file is stored (no compression). + + + + + The file is Shrunk. + + + + + The file is Reduced with compression factor 1. + + + + + The file is Reduced with compression factor 2. + + + + + The file is Reduced with compression factor 3. + + + + + The file is Reduced with compression factor 4. + + + + + The file is Imploded. + + + + + Reserved for Tokenizing compression algorithm. + + + + + The file is Deflated. + + + + + Enhanced Deflating using Deflate64(tm). + + + + + PKWARE Data Compression Library Imploding (old IBM TERSE). + + + + + File is compressed using BZIP2 algorithm. + + + + + LZMA (EFS). + + + + + File is compressed using IBM TERSE (new). + + + + + IBM LZ77 z Architecture (PFS). + + + + + PPMd version I, Rev 1. + + + + + General purpose bit flag. + + + + + If this bit is set, the fields crc-32, compressed size and uncompressed + size are set to zero in the local header. The correct values are put + in the data descriptor immediately following the compressed data. + (Note: PKZIP version 2.04g for DOS only recognizes this bit for method 8 + compression, newer versions of PKZIP recognize this bit for any compression method.) + + + + + Language encoding flag (EFS). If this bit is set, the filename and + comment fields for this file must be encoded using UTF-8. + + + + + Class used for implementing Advanced Encryption Standard algorithm. + + + + + block size in 32-bit words. Always 4 for AES. (128 bits). + + + + + key size in 32-bit words. 4, 6, 8. (128, 192, 256 bits). + + + + + number of rounds. 10, 12, 14. + + + + + the seed key. size will be 4 * keySize . + + + + + Substitution box + + + + + inverse Substitution box + + + + + key schedule array. + + + + + Round constants + + + + + State matrix + + + + + AES key size + + + + + Salt value + + + + + Message Authentication Code Key + + + + + Stored Message Authentication Code + + + + + Computed Message Authentication Code + + + + + Encryption Key + + + + + Password verifier + + + + + Password + + + + + No of keyBytes + + + + + No of saltBytes + + + + + Initiates Aes + + + + + Initializes a new instance of the Aes class. + + Key size. + Key bytes + + + + Encipher 16 bit input + + 16 bit Input + Output value + + + + Decipher 16-bit input + + + + + + + SetNbNkNr() + + Keysize + + + + Building S-box + + + + + Building Inverse S-box + + + + + Builds Rotation array + + + + + Adds rounf Key + + No of Rounds + + + + SubBytes + + + + + InvSubBytes + + + + + ShiftRows() + + + + + InvShiftRows() + + + + + MixColumns + + + + + InvMixColumns + + + + + Key Expansion + + + + + Subword + + Word + resulted word + + + + Rotates word + + Input + Result + + + + Dump + + + + + Dump key. + + + + + + Dump two by two. + + + + + + + Generates a key for Encryption and Decryption + + + + + Generates Message Authentication Code + + data used for MAC + + + + Compares two bytes arrays + + First byte array + Second byte array + true if two arrays are same + + + + Set key and salt lengths for AES key + + + + + Decrypt the cipherData + + Encrypted data + Decrypted + + + + Encrypt the plain data + + Data needs to be encrypted + Encrypted data + + + + Counter Mode Encryption + + Encrypted data + Decrypted data to get + AES encryption Key + + + + + Possible key sizes. + + + + + 128-bit. + + + + + 192-bit. + + + + + 256-bit. + + + + + Implementation Rfc2898Key generation + + + + + Block Number + + + + + Rfc Buffer + + + + + End Offset + + + + + No of Iterations + + + + + Salt Value + + + + + Start Offset + + + + + Password + + + + + BlockSize for SHA1 buffer + + + + + Inner buffer + + + + + Outer buffer + + + + + Indicates whether needs hash + + + + + Key Value + + + + + Buffer + + + + + No of hash + + + + + State of SHA1 + + + + + Expanded array + + + + + HMAC hash value + + + + + SHA1 hash value + + + + + Constructor + + Password + salt value to get key + No of iteration used + + + + Constructor + + Password + salt value to get key + No of iteration used + + + + Creates a byte array for input + + Input + Converted byte array for input + + + + Derives key + + key + + + + Generates the byte array based on the given length + + Length of the array + Byte array + + + + Initializes the RFC to initial state + + + + + Updates the m_inner and m_outer arrays + + + + + Initializes the key value + + + + + + Computes hash code for the given data + + input data + return hash in bytes + + + + Computes hash for the specified region from input for the given offset and copies the data to the output from the given offset + + Input array + input Offset + Length + Output array + output Offset + + + + + Computes hash for the specified region from input for the given offset. + + Input array + input Offset + Length + + + + Clears all value rom arrays + + + + + Initializes State values + + + + + Computes hash for the given input data from the specified offset and Length + + Input + start from the input array + length needs to be hashed + + + + + Computes the final hash code + + hash data + + + + Modifies the buffer using SHA + + input + State array + Blocks + + + + Expand the input array using SHA + + Input array + + + + Convert the BigEndian to DWORD + + Dword array + No of digits + Input block + + + + Convert Dword to BigEndian + + BigEndian array + Output array + no of digits + + + + Hash value + + + + + Contains security Constants + + + + + Password Verifier Length of AES Encryption + + + + + Message Authentication Code Length of AES Encryption + + + + + Password Length of ZipCrypto Encryption + + + + + Password verifier value position of ZipCrypto 0 based index + + + + + PKZip strong encryption header length + + + + + AES compression method + + + + + Block size for Rfc2898Key + + + + + Password iteration Count for AES + + + + + Aes Block Size + + + + + AES encryption header constants + + + + + ZipCrypto Encryption and Decryption + + + + + Data stream + + + + + Password + + + + + Crc value + + + + + Initial keys + + + + + ZipCrc32 + + + + + Constructor initializes Data stream and password + + Data + Password + + + + Initializes Password and Crc value + + Password + Crc value + + + + Initializes key and crc + + + + + Update password + + Password + + + + Update key values + + byte needed for key update + + + + Initializes the keys using Password + + Password of the zip file + + + + Key Update using password + + Password of the zip file + + + + Data Encryption + + Plain data + Cipher data + + + + Data Decryption + + Cipher data + Plain data + + + + Decrypt the data using ZipCrypto + + Cipher data + Plain data + + + + Encrypt the data using ZipCrypto + + Plain data + Cipher data + + + + Generates the Encryption and Decryption Byte + + byte value + + + + Encryption types. + + + + + No Encryption + + + + + AES-128 bit encryption + + + + + AES-192 bit encryption + + + + + AES-256 bit encryption + + + + + ZipCrypto Encryption + + + + + Represents zip archive. + + + + + Collection of archive items. + + + + + Dictionary that allows quick search operations by item name. + Key - item name, + Value - corresponding ZipArchiveItem. + + + + + File name preprocessor - object that converts full file/folder + name into value that will be written into zip archive. + + + + + Indicates whether we should check Crc value when reading item's data. Check + is performed when user gets access to decompressed data for the first time. + + + + + Default compression level. + + + + + Compresses files using custom NetCompressor. + + + + + Password for the zip File + + + + + Type of the Encryption + + + + + Creates compressor. + + + + + Searches for integer value from the end of the stream. + + Stream to search value in. + Value to locate. + Maximum number of bytes to scan. + Offset to the value, or -1 if it wasn't found. + + + + Extracts Int32 value from the stream. + + Stream to read data from. + Extracted value. + + + + Extracts Int16 value from the stream. + + Stream to read data from. + Extracted value. + + + + Extracts unsigned Int16 value from the stream. + + Stream to read data from. + Extracted value. + + + + Extracts UInt32 value from the stream. + + Stream to read data from. + Extracted value. + + + + Adds empty directory to the archive. + + Directory path. + Item that has been added. + + + + Adds specified file to the archive. + + File to add. + Item that has been added. + + + + Adds new item to the archive + + Item name to add. + Items data stream (can be null for empty files or folders). + Indicates whether ZipArchive is responsible for stream closing. + File attributes. + Item that has been added. + + + + Adds new item to the archive + + Item name to add. + Items data stream (can be null for empty files or folders). + Indicates whether ZipArchive is responsible for stream closing. + File attributes. + Item that has been added. + + + + Adds existing item to the archive. + + Item to add. + Added item. + + + + Removes item from the archive. + + Item name to remove. + + + + Removes item at the specified position. + + Item index to remove. + + + + Removes items that matches specified regular expression from the collection. + + Regular expression used to decide whether to remove item or not. + + + + Updates item inside existing archive. + + Item name to update. + New data for the item. + Indicates whether item should control its stream after update. + + + + Updates existing item or creates new one. + + Item to update or create. + New data for the item. + Indicates whether item should control its stream after update. + File attributes for the item. This argument is only used if item is created. + + + + Updates item inside existing archive. + + Item name to update. + New data for the item. + + + + Saves archive into specified file. + + Output file name. + + + + Saves archive into specified file. + + Output file name. + Indicates whether we should create full path to the file if it doesn't exist. + + + + Saves archive into specified stream. + + Output stream. + Indicates whether method should close stream after saving. + + + + Reads archive data from the file. + + Filename to read. + + + + Reads archive data from the stream. In the current implementation + stream must be seekable and readable to extract data. + + Stream to read data from. + Indicates whether method should close stream after reading. + + + + Clears all internal data. + + + + + Searches for the item with specified name. + + Item to find. + Zero-based item index if found; -1 otherwise. + + + + Searches for the item with specified name. + + Regular expression that defines item to find. + Zero-based item index if found; -1 otherwise. + + + + Writes central directory to the stream. + + Stream to write data into. + + + + Writes End of central directory record into stream. + + Stream to write data into. + Offset to the central directory start. + + + + Read central directory record from the stream. + + Stream to read from. + + + + Extracts items' data from the stream. + + Stream to read data from. + + + + Creates a copy of the current instance. + + A copy of the current instance. + + + + Protects the archived file with password using specified algorithm. + + Password to protect. + Type of encryption algorithm to be used. + + + + Removes password from the compressed file. + + + + + Opens an encrypted zip file with password. + + File Name. + Password of the file to open. + + + + Reads archive data from the stream. In the current implementation + stream must be seekable and readable to extract data. + + Stream to read data from. + Indicates whether method should close stream after reading. + Password for the file to open. + + + + A method to release allocated unmanaged resources. + + + + + Class finilizer. + + + + + Returns single archive item from the collection. Read-only. + + Zero-based index of the item to return. + Single archive item from the collection. + + + + Returns item by its name. Null if item wasn't found. Read-only. + + + + + Returns number of items inside archive. Read-only. + + + + + Returns the items inside archive. Read-only. + + + + + Gets / sets file name preprocessor - object that converts full file/folder + name into value that will be written into zip archive. + + + + + Gets / sets default compression level - compression level for new items. + By default is equal to CompressionLevel.Best. + + + + + Indicates whether we should check Crc value when reading item's data. Check + is performed when user gets access to item's decompressed data for the first time. + + + + + Uses custom compressed stream reader and writer. + + + + + Returns the encryption algorithm used. Default value is NONE. + + + + + Password for ZipFile + + + + + Represents single item inside zip archive. It can be either folder or file. + + + + + Name of the archive item. + + + + + Compression method. + + + + + Compression level. + + + + + Crc. + + + + + Stream with item's data. + + + + + Compressed data size. + + + + + Original (not compressed) data size. + + + + + Indicates whether this item controls it's data stream. + + + + + Indicates whether internal stream contains compressed data. + + + + + Position of the size block inside local file header. + + + + + Offset to the local header. + + + + + General purpose bit flag. + + + + + Item's external attributes. + + + + + Indicates whether we should check crc value after decompressing item's data. + + + + + + + + + + Actual compression when Aes Encryption + + + + + Last modified date time + + + + + Default constructor. + + + + + Creates new instance of the zip item. + + Name of the item (can be relative or absolute path). + Stream data. + + Indicates whether item controls stream and must close it when item finish its work. + + + + + + + + + + + + Updates internal data stream. + + New stream to set. + Indicates whether item should conrol new stream. + + + + + + + + + This method saves item inside stream. + + Stream to save item into. + + + + Frees all internal resources and closes internal stream if necessary. + + + + + This method writes file header into Central directory record. + + Stream to write data into. + + + + Converts current datetime to Windows format. + + Current Date and time. + Value in Windows format. + + + + Converts Windows format to Date Time. + + Windows format Date and time. + Value in Date Time. + + + + + Read data from the stream based on the central directory. + + Stream to read data from, stream.Position must point at just after correct file header. + + + + Reads zipped data from the stream. + + Stream to read data from. + Indicates whether we should check crc value after data decompression. + + + + Extracts compressed data from the stream. + + Stream to read data from. + + + + Extracts local header from the stream. + + Stream to read data from. + + + + Decompressed internal data if necessary. + + + + + Writes local file header. + + Stream to write into. + + + + Writes zipped content inside stream. + + Stream to write into. + + + + Writes local file footer into stream. + + Stream to write into. + + + + Checks whether Crc field and stream data corresponds each other. + + + + + Creates copy of the stream. + + Stream to copy. + Created stream. + + + + Checks for Latin characters in the Unicode string. + + Input Unicode string. + True if the Unicode string contain Latin characters. False otherwise. + + + + A method to release allocated unmanaged resources. + + + + + Finilizer. + + + + + Writes the header to Indicate the zip the file is encrypted. + + The data to write + + + + Data Encryption + + Data to be Encrypted + Encrypted data + + + + Data Decryption + + Data needs to be decrypted + Decrypted data + + + + Checks whether the file has unicode characters. + + Name of the file. + + + + + Create a Random byte Array + + Length of the salt value + salt value + + + + Name of the archive item. + + + + + Compression method. + + + + + Gets/sets item's compression level. + + + + + Crc. + + + + + Stream with item's data. + + + + + Compressed data size. + + + + + Original (not compressed) data size. + + + + + Indicates whether this item controls it's data stream. + + + + + Indicates whether internal stream contains compressed data. + + + + + Gets / sets item's external attributes. + + + + + Gets current OEM code page. + + + + + Last modified date time + + + + + Crc32 implementation used in zip archive to verify data correctness. + + + + + Special pre-evaluated table used for faster crc evaluation. + Evaluated when crcNumber was 0xEDB88320. EvaluateTable method + can be used to evaluated table with different constant. + + + + Computes crc-32 value for the buffer. + Buffer to compute crc-32 for. + Offset to the data start. + Data length in bytes. + Initial crc-32 value. + Updated crc-32 value. + + + Computes crc-32 value for the stream. + Stream to compute crc-32 for. + Data length in bytes. + Crc-32 value. + + + + Evaluates crc table. + + "Magic" number. + Create table. + + + + Computes crc value for given number + + Number to calculate Crc value + Initial crc-32 value + Crc value + + + + This class represents exception type that is mostly raised when some + problems with zip extraction/creation occurs. + + + + + Initializes new instance of the exception class. + + Exception message. + + + + + + + + + + + + + + + + + + + + + + + + Initializes new instance of the stream. + + + + + Initializes new instance of the stream. + + + + + Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + + + + Reads a sequence of bytes from the current stream and advances the position + within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer + contains the specified byte array with the values between offset and + (offset + count - 1) replaced by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin + storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less + than the number of bytes requested if that many bytes are not currently + available, or zero (0) if the end of the stream has been reached. + + + + Sets the position within the current stream. + + A byte offset relative to the origin parameter. + A value of type SeekOrigin indicating the reference + point used to obtain the new position. + The new position within the current stream. + + + + Sets the length of the current stream. + + The desired length of the current stream in bytes. + + + + Writes a sequence of bytes to the current stream and advances the current + position within this stream by the number of bytes written. + + An array of bytes. This method copies count bytes + from buffer to the current stream. + The zero-based byte offset in buffer at which to begin + copying bytes to the current stream. + The number of bytes to be written to the current stream. + + + + Gets a value indicating whether the current stream supports reading. Read-only. + + + + + Gets a value indicating whether the current stream supports seeking. Read-only. + + + + + Gets a value indicating whether the current stream supports writing. Read-only. + + + + + Gets the length in bytes of the stream. Read-only. + + + + + Gets or sets the position within the current stream. Read-only. + + + + + This property returns stream with zipped content. It closes internal deflate + stream, so you won't be able to write anything in int. Read-only. + + + + + Returns computed crc32 value. Read-only. + + + + + Returns size of the unzipped data. Read-only. + + + + diff --git a/CLX_Archiver/bin/Debug/clxmig.zip b/CLX_Archiver/bin/Debug/clxmig.zip new file mode 100644 index 0000000000000000000000000000000000000000..f7a2aa5c52a54a3f0f6a5bf89c9b96f5e46469b9 GIT binary patch literal 7947 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 +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] diff --git a/CLX_Archiver/obj/Debug/CLX_Arch.F9BF4FDE.Up2Date b/CLX_Archiver/obj/Debug/CLX_Arch.F9BF4FDE.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/CLX_Archiver/obj/Debug/CLX_Archiver.csproj.AssemblyReference.cache b/CLX_Archiver/obj/Debug/CLX_Archiver.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..3d93bd777ef559b4356a876e8b8ee26d23310e95 GIT binary patch literal 5443 zcmd5=O>7%Q6yBl6jnamw4WVkOz*2i?rF0!Db{bm>G__qwlO`dX6hya5*X!A2$nLB& zJDbE2$R!d&y>J3?0wK`@N>%Z5fr>*9RWCiHmsaWlAr44@pftHxf|<=aiL+58%d=5O zvNdC`-h1=D?|tvtQLtZ_nRc|0G?-` z?8i2-P!Ve~HcR{X0UP?JeUb0Ihp;j2eNjDl-+*T3sZ;Li>`J61Fr3e*3JYsaBk&Zv z&3kZ~LN%Wo9_UjG8r7%Re&B3pdLnm0Q40vGN*U{h>mVD;S=%ZR=y?0Hngch2Zt0gJ zE03B0059+GJZNLLS>jh>tDC*}9lckDZ6a6w!`lW+ZYCa&=QHs@sBtgUxECthS3`}n zP~$te_CoziV(a*tr%%~7`rO)iROw4d5$+vG#}=P{AN}muGI`YBzc9X#Q`=wp_RQX; z^35mXM;0UZD&!Mo{>ld*p-V5Vp8O|u`~2$V`&R11Uw`_!o$v{peJ7QVaq%MKI7`l{b zW=CwqWt7whV0p}*hPbz@*nJun6GqSJVlt`sq?tbn?BQ{fJ4QX$4|)% z_s0eG;^E|P*VaAl_^Hhkc{SC~Ro zG2o6H!axK)tHEULh6oXaZ88Md)<<|bt4wL6v|C6um>e-e@`7J+xiZ!)q}Roq+9@Ik zRv`qis^Rh)3-)|IR12#p5rrUXL>52twfUJGBN}!zosW=CUFg>;EC8*(!6DaTs;xI> z?67Yvk0~T2f*iGEC4v9| literal 0 HcmV?d00001 diff --git a/CLX_Archiver/obj/Debug/CLX_Archiver.csproj.CoreCompileInputs.cache b/CLX_Archiver/obj/Debug/CLX_Archiver.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..b97d0bf --- /dev/null +++ b/CLX_Archiver/obj/Debug/CLX_Archiver.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +9e70bfd8ef87d93dd5813316d5b0468aaff12b7e9bfa970c6c1b0591cf9adf3e diff --git a/CLX_Archiver/obj/Debug/CLX_Archiver.csproj.FileListAbsolute.txt b/CLX_Archiver/obj/Debug/CLX_Archiver.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..25aaf35 --- /dev/null +++ b/CLX_Archiver/obj/Debug/CLX_Archiver.csproj.FileListAbsolute.txt @@ -0,0 +1,10 @@ +X:\docdemo\CLX_Archiver\CLX_Archiver\bin\Debug\CLX_Archiver.exe.config +X:\docdemo\CLX_Archiver\CLX_Archiver\bin\Debug\CLX_Archiver.exe +X:\docdemo\CLX_Archiver\CLX_Archiver\bin\Debug\CLX_Archiver.pdb +X:\docdemo\CLX_Archiver\CLX_Archiver\obj\Debug\CLX_Archiver.csproj.AssemblyReference.cache +X:\docdemo\CLX_Archiver\CLX_Archiver\obj\Debug\CLX_Archiver.csproj.CoreCompileInputs.cache +X:\docdemo\CLX_Archiver\CLX_Archiver\obj\Debug\CLX_Archiver.exe +X:\docdemo\CLX_Archiver\CLX_Archiver\obj\Debug\CLX_Archiver.pdb +X:\docdemo\CLX_Archiver\CLX_Archiver\bin\Debug\Syncfusion.Compression.Base.dll +X:\docdemo\CLX_Archiver\CLX_Archiver\bin\Debug\Syncfusion.Compression.Base.xml +X:\docdemo\CLX_Archiver\CLX_Archiver\obj\Debug\CLX_Arch.F9BF4FDE.Up2Date diff --git a/CLX_Archiver/obj/Debug/CLX_Archiver.exe b/CLX_Archiver/obj/Debug/CLX_Archiver.exe new file mode 100644 index 0000000000000000000000000000000000000000..1a594360cadcb4f877abb93a2e3b0c75ce091216 GIT binary patch literal 8704 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 T*_WQH*sI=E|Nn*mry}s5Yi&)e literal 0 HcmV?d00001 diff --git a/CLX_Archiver/obj/Debug/CLX_Archiver.pdb b/CLX_Archiver/obj/Debug/CLX_Archiver.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7ebba5e4cae65446a1520b0b63b76ec74484ebd2 GIT binary patch literal 24064 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 literal 0 HcmV?d00001 diff --git a/CLX_Archiver/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/CLX_Archiver/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..a0fb01f54e5785e91e480c56d3d4e1f1b4145334 GIT binary patch literal 203 zcmZQ$WMp7qV2pRRiU}ynPcKT$RdCD9Ni9~;sIV~8j0s9jOD#&xOHNgAEG|yXP0Gnk zEspWcOfJeV&QB|eaRaJPEzd8?j?wdT4MFhAO!Q1+a*LDmi*hoP^ipziz_u``2(vB8 zJkP-ZvXX(36-e;peG`gE)C<$w=%J5F4y0FD)A^0poyW7`cEp8R!`s J7#mtL002>uKUDw# literal 0 HcmV?d00001 diff --git a/CLX_Archiver/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/CLX_Archiver/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..918ad2df860d21571d7f45e1ae8667b0d9b62f7c GIT binary patch literal 2033 zcmchYO>Y`85Qb@sa;TI`F0FFn*hQg z?cjP?X!A%(w>>zF=3mLT!!pu}C(KN}hob--X}LDJNWA@CyG~>DY{3kC!hjy&(E)8o zy_*J2nBx=d-!yBNqv$TCiBL3NDL$TAp%rOqIW=I5ev?`7_L2bp#w+VUBF+>D7Y-3I z$B1uYaP6f7e}nnEx62RYj>B=g;K-G8#ieB7 zFhiO9bPE`WC)^74*JDulO0V#Z0|eylmOHa8#Dlia34Y$MTTG=QWe#>KxhgbtbGE(` z%H11q@z!t7*8^rUaC@zcgaPifS#6r@K4ii=v#LK!*g->&1-9x1wz`MuJOyLh z%gyP!&laBDMP1&!tO$4&j3Ak1w20^*crkoY@zKe{jvIj$nHmTQeXu&8?{{%ueJtUO zPvA9r7~*Vy2gsKW<1EEud45zGtH1D|P=tT_13dG;D*H^R;8fYqm!%c?TkO@yMeX9t JeF6z3)0Y4M literal 0 HcmV?d00001 diff --git a/Git_Create.bat b/Git_Create.bat new file mode 100644 index 0000000..6031fe2 --- /dev/null +++ b/Git_Create.bat @@ -0,0 +1,8 @@ +touch README.md +git init +git checkout -b main +git add README.md +git commit -m "first commit" +git remote add origin https://gitea.shubweb.ch/shu/clx_archiver.git +git push -u origin main +pause \ No newline at end of file