changeset 0:aca8706f4eec default tip

Initial commit
author Brad Greco <brad@bgreco.net>
date Mon, 13 Oct 2014 21:28:19 -0500
parents
children
files .hgignore AboutForm.Designer.cs AboutForm.cs AboutForm.resx KeyBinding.cs LICENSE Program.cs Properties/AssemblyInfo.cs Properties/Resources.Designer.cs Properties/Resources.resx QRForm.Designer.cs QRForm.cs QRForm.resx QuickQR.csproj SetHotkey.Designer.cs SetHotkey.cs SetHotkey.resx Settings.cs app.config lib/zxing/net2.0/zxing.XML lib/zxing/net2.0/zxing.dll lib/zxing/net2.0/zxing.pdb resources/qr.ico resources/qr2.ico resources/url.png
diffstat 25 files changed, 14829 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,5 @@
+syntax: glob
+bin
+obj
+scratch
+*.user
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AboutForm.Designer.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,128 @@
+namespace QuickQR
+{
+    partial class AboutForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
+            this.titleLabel = new System.Windows.Forms.Label();
+            this.label1 = new System.Windows.Forms.Label();
+            this.linkLabel = new System.Windows.Forms.LinkLabel();
+            this.aboutQR = new System.Windows.Forms.PictureBox();
+            this.label2 = new System.Windows.Forms.Label();
+            ((System.ComponentModel.ISupportInitialize)(this.aboutQR)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // titleLabel
+            // 
+            this.titleLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.titleLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.titleLabel.Location = new System.Drawing.Point(12, 9);
+            this.titleLabel.Name = "titleLabel";
+            this.titleLabel.Size = new System.Drawing.Size(260, 16);
+            this.titleLabel.TabIndex = 0;
+            this.titleLabel.Text = "QuickQR";
+            this.titleLabel.TextAlign = System.Drawing.ContentAlignment.TopCenter;
+            // 
+            // label1
+            // 
+            this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.label1.Location = new System.Drawing.Point(12, 27);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(260, 16);
+            this.label1.TabIndex = 1;
+            this.label1.Text = "Copyright © 2014 Brad Greco";
+            this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
+            // 
+            // linkLabel
+            // 
+            this.linkLabel.Location = new System.Drawing.Point(12, 45);
+            this.linkLabel.Name = "linkLabel";
+            this.linkLabel.Size = new System.Drawing.Size(260, 19);
+            this.linkLabel.TabIndex = 2;
+            this.linkLabel.TabStop = true;
+            this.linkLabel.Text = "http://bgreco.net/quickqr";
+            this.linkLabel.TextAlign = System.Drawing.ContentAlignment.TopCenter;
+            this.linkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_LinkClicked);
+            // 
+            // aboutQR
+            // 
+            this.aboutQR.Image = global::QuickQR.Properties.Resources.urlImage;
+            this.aboutQR.InitialImage = null;
+            this.aboutQR.Location = new System.Drawing.Point(74, 63);
+            this.aboutQR.Name = "aboutQR";
+            this.aboutQR.Size = new System.Drawing.Size(135, 135);
+            this.aboutQR.TabIndex = 3;
+            this.aboutQR.TabStop = false;
+            // 
+            // label2
+            // 
+            this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.label2.Location = new System.Drawing.Point(12, 201);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(260, 56);
+            this.label2.TabIndex = 4;
+            this.label2.Text = "This program is released under the MIT License.\r\nSource code is available at the " +
+    "page above.\r\n\r\nQR images are generated using the ZXing.Net library.";
+            this.label2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
+            // 
+            // AboutForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(284, 266);
+            this.Controls.Add(this.label2);
+            this.Controls.Add(this.aboutQR);
+            this.Controls.Add(this.linkLabel);
+            this.Controls.Add(this.label1);
+            this.Controls.Add(this.titleLabel);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "AboutForm";
+            this.ShowInTaskbar = false;
+            this.Text = "About QuickQR";
+            this.Load += new System.EventHandler(this.AboutForm_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.aboutQR)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Label titleLabel;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.LinkLabel linkLabel;
+        private System.Windows.Forms.PictureBox aboutQR;
+        private System.Windows.Forms.Label label2;
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AboutForm.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using System.Reflection;
+using System.Diagnostics;
+
+/*
+ * Copyright (c) 2014 Brad Greco <brad@bgreco.net>
+ */
+namespace QuickQR
+{
+    public partial class AboutForm : Form
+    {
+        public AboutForm()
+        {
+            InitializeComponent();
+        }
+
+        private void AboutForm_Load(object sender, EventArgs e)
+        {
+            Assembly assembly = Assembly.GetExecutingAssembly();
+            FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
+            titleLabel.Text = "QuickQR v" + fvi.FileMajorPart + "." + fvi.FileMinorPart;
+        }
+
+        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
+        {
+            if (keyData == Keys.Escape)
+            {
+                this.Close();
+                return true;
+            }
+            return base.ProcessCmdKey(ref msg, keyData);
+        }
+
+        private void linkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+        {
+            Process.Start("http://bgreco.net/quickqr");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AboutForm.resx	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,700 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA
+        IACoJQAA7h4AAEBAAAABACAAKEIAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAIAAAAAAAAAAAAAAAA
+        AAAAAAAA////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////////////////////
+        /////////////wAAAP8AAAD///////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////////////////////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD//////////////////////////////////////////////////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAA////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/AAAA////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////////////////////wAAAP//////////////
+        /////////////wAAAP//////AAAA//////8AAAD///////////8AAAD/AAAA//////8AAAD/AAAA////
+        ////////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP///////////wAAAP///////////////////////////wAA
+        AP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        /////////////////////////////////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAA
+        AP///////////wAAAP8AAAD/AAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////AAAA////
+        /////////////wAAAP///////////////////////////wAAAP///////////wAAAP8AAAD/AAAA////
+        //8AAAD///////////8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA////////////AAAA//////8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA//////8AAAD//////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP//////AAAA////////////AAAA////////////AAAA////
+        //8AAAD/AAAA////////////AAAA/////////////////////////////////wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP///////////wAAAP//////AAAA//////8AAAD/////////
+        /////////////wAAAP//////AAAA//////8AAAD//////wAAAP8AAAD/AAAA/wAAAP//////AAAA////
+        /////////////wAAAP//////AAAA//////8AAAD/AAAA//////////////////////8AAAD/AAAA////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA/wAAAP//////AAAA////////////////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP//////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA//////8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP///////////////////////////wAAAP////////////////8AAAD/AAAA////
+        ////////AAAA////////////////////////////AAAA/////////////////wAAAP//////AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA/wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAA/wAA
+        AP//////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA////////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA/////////////////wAA
+        AP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP//////AAAA/////////////////wAAAP///////////////////////////wAA
+        AP///////////wAAAP//////////////////////AAAA////////////////////////////AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAA
+        AABAAAAAAQAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA////
+        //8AAAD//////wAAAP8AAAD/AAAA/wAAAP//////AAAA////////////////////////////////////
+        //8AAAD///////////////////////////8AAAD//////wAAAP8AAAD//////wAAAP//////////////
+        //8AAAD///////////8AAAD/////////////////AAAA//////8AAAD/AAAA/wAAAP8AAAD/////////
+        /////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA////
+        //8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD//////wAAAP//////AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD//////wAA
+        AP8AAAD///////////////////////////8AAAD//////wAAAP8AAAD/AAAA//////8AAAD//////wAA
+        AP////////////////8AAAD/AAAA////////////AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////////////////////wAAAP///////////////////////////wAA
+        AP//////AAAA////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD/AAAA//////8AAAD//////wAA
+        AP8AAAD//////wAAAP//////AAAA////////////////////////////////////////////////////
+        /////////////////////////////wAAAP//////AAAA//////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD//////wAAAP////////////////8AAAD/AAAA////////////AAAA////////////////////
+        //8AAAD/AAAA//////8AAAD//////wAAAP///////////wAAAP//////AAAA//////8AAAD/AAAA////
+        ////////AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////////////
+        /////////////wAAAP8AAAD//////////////////////wAAAP8AAAD//////wAAAP///////////wAA
+        AP8AAAD//////wAAAP///////////////////////////wAAAP//////AAAA////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////AAAA/////////////////wAAAP///////////wAAAP//////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////////////////////8AAAD//////wAAAP8AAAD//////////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD//////wAAAP//////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/////////////////AAAA//////8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD///////////////////////////8AAAD//////wAAAP8AAAD/////////
+        //////////////////8AAAD//////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD//////////////////////wAAAP8AAAD//////wAA
+        AP//////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD///////////8AAAD//////wAA
+        AP//////AAAA/wAAAP///////////////////////////wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA//////8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP//////AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA//////8AAAD/////////////////AAAA//////8AAAD//////wAA
+        AP///////////wAAAP//////AAAA/wAAAP8AAAD///////////////////////////8AAAD/AAAA////
+        /////////////wAAAP///////////wAAAP////////////////8AAAD//////wAAAP8AAAD//////wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA//////8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP//////////////
+        //8AAAD//////////////////////////////////////wAAAP8AAAD/////////////////AAAA////
+        ////////AAAA////////////////////////////AAAA//////8AAAD//////wAAAP8AAAD//////wAA
+        AP//////AAAA/wAAAP//////AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA//////8AAAD//////wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP////////////////8AAAD/////////////////////////////////////////
+        /////////////////////////////wAAAP//////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA//////8AAAD//////wAAAP//////AAAA////
+        //8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP///////////////////////////wAAAP//////AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA//////////////////////8AAAD///////////////////////////8AAAD/////////
+        ////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA//////8AAAD///////////8AAAD//////wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD//////wAA
+        AP////////////////8AAAD//////wAAAP8AAAD/AAAA//////8AAAD//////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA//////8AAAD/AAAA/wAA
+        AP//////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////////////
+        //8AAAD//////////////////////wAAAP8AAAD///////////////////////////8AAAD//////wAA
+        AP8AAAD/AAAA//////8AAAD/////////////////AAAA////////////////////////////AAAA////
+        /////////////wAAAP//////AAAA/////////////////wAAAP////////////////8AAAD//////wAA
+        AP///////////////////////////wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA//////////////////////8AAAD/AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////8AAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA
+        AAAwAAAAYAAAAAEAIAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAA
+        AP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////////////////////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP//////////////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP///////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP//////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP//////////////////////////////////////////////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        ////////////////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////////////////////////////////////AAAA/wAA
+        AP//////////////////////////////////////////////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////////////////////////////////////////////
+        //8AAAD/AAAA//////////////////////8AAAD/AAAA////////////////////////////////////
+        ////////AAAA/wAAAP//////////////////////////////////////////////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABACAAAAAAAACA
+        AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        /////////////////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        //////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP//////////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD//////////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD//////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP//////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA////////////////////////////////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+</value>
+  </data>
+</root>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/KeyBinding.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,115 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+
+/*
+ * Copyright (c) 2014 Brad Greco <brad@bgreco.net>
+ */
+namespace QuickQR
+{
+    public class KeyBinding
+    {
+        const int MOD_ALT = 0x0001;
+        const int MOD_CONTROL = 0x0002;
+        const int MOD_SHIFT = 0x0004;
+        const int MOD_WIN = 0x0008;
+
+        public int key = 0;
+        public String keyChar;
+        public bool Ctrl = false;
+        public bool Alt = false;
+        public bool Shift = false;
+        public bool Win = false;
+
+        public KeyBinding()
+        {
+
+        }
+
+        public KeyBinding(String line)
+        {
+            strToInts(line);
+        }
+
+        public String toString()
+        {
+            if (key == 0)
+                return "(none)";
+            return comboString();
+        }
+
+        public String comboString()
+        {
+            if (key == 0)
+                return "";
+            String myCombo = "";
+            if (Ctrl)
+                myCombo = "+Ctrl";
+            if (Alt)
+                myCombo += "+Alt";
+            if (Shift)
+                myCombo += "+Shift";
+            if (Win)
+                myCombo += "+Win";
+            if (myCombo.Length == 0)
+                return "" + keyChar;
+            return myCombo.Substring(1) + "+" + keyChar;
+        }
+
+        private void strToInts(String s)
+        {
+            String[] words = s.Split('+');
+            foreach (String word in words)
+            {
+                String w = word.ToLower();
+                if (w == "ctrl")
+                    Ctrl = true;
+                else if (w == "alt")
+                    Alt = true;
+                else if (w == "shift")
+                    Shift = true;
+                else if (w == "win")
+                    Win = true;
+                else
+                {
+                    keyChar = word;
+                    try
+                    {
+                        key = (int)Enum.Parse(typeof(Keys), word, true);
+                        System.Diagnostics.Debug.WriteLine(keyChar + " " + key);
+                    }
+                    catch (ArgumentException)
+                    {
+                        key = 0;
+                        System.Diagnostics.Debug.WriteLine("Could not convert string to Key: " + word);
+                    }
+                }
+            }
+        }
+
+        public int sum()
+        {
+            int sum = 0;
+            if (Ctrl)
+                sum += MOD_CONTROL;
+            if (Alt)
+                sum += MOD_ALT;
+            if (Win)
+                sum += MOD_WIN;
+            if (Shift)
+                sum += MOD_SHIFT;
+            return sum;
+        }
+
+        public bool isValid()
+        {
+            return key > 0;
+        }
+
+        public int getID()
+        {
+            return 256 * sum() + key;
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Brad Greco <brad@bgreco.net>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Program.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+
+namespace QuickQR
+{
+    static class Program
+    {
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+            Application.Run(new QRForm());
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Properties/AssemblyInfo.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("QuickQR")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Brad Greco")]
+[assembly: AssemblyProduct("QuickQR")]
+[assembly: AssemblyCopyright("Copyright © Brad Greco 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("0488b4e1-aed4-410f-90e0-ddf77cf4ac20")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Properties/Resources.Designer.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,83 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.18444
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace QuickQR.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("QuickQR.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+        /// </summary>
+        internal static System.Drawing.Icon qr2 {
+            get {
+                object obj = ResourceManager.GetObject("qr2", resourceCulture);
+                return ((System.Drawing.Icon)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
+        internal static System.Drawing.Bitmap urlImage {
+            get {
+                object obj = ResourceManager.GetObject("urlImage", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Properties/Resources.resx	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="qr2" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\resources\qr2.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="urlImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\resources\url.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+</root>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QRForm.Designer.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,352 @@
+namespace QuickQR
+{
+    partial class QRForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QRForm));
+            this.QRImage = new System.Windows.Forms.PictureBox();
+            this.imageMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
+            this.imageCopy = new System.Windows.Forms.ToolStripMenuItem();
+            this.imageSaveAs = new System.Windows.Forms.ToolStripMenuItem();
+            this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
+            this.notifyMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
+            this.menuAutorun = new System.Windows.Forms.ToolStripMenuItem();
+            this.menuHotkey = new System.Windows.Forms.ToolStripMenuItem();
+            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.menuGenerateClipboard = new System.Windows.Forms.ToolStripMenuItem();
+            this.menuNew = new System.Windows.Forms.ToolStripMenuItem();
+            this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.inputTextBox = new System.Windows.Forms.TextBox();
+            this.generateButton = new System.Windows.Forms.Button();
+            this.windowMenu = new System.Windows.Forms.MenuStrip();
+            this.fileMenu = new System.Windows.Forms.ToolStripMenuItem();
+            this.fileSaveAs = new System.Windows.Forms.ToolStripMenuItem();
+            this.fileSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.fileHide = new System.Windows.Forms.ToolStripMenuItem();
+            this.fileExit = new System.Windows.Forms.ToolStripMenuItem();
+            this.optionsMenu = new System.Windows.Forms.ToolStripMenuItem();
+            this.optionWinStart = new System.Windows.Forms.ToolStripMenuItem();
+            this.optionBackground = new System.Windows.Forms.ToolStripMenuItem();
+            this.optionHotkey = new System.Windows.Forms.ToolStripMenuItem();
+            this.helpMenu = new System.Windows.Forms.ToolStripMenuItem();
+            this.helpAbout = new System.Windows.Forms.ToolStripMenuItem();
+            this.QRLabel = new System.Windows.Forms.Label();
+            ((System.ComponentModel.ISupportInitialize)(this.QRImage)).BeginInit();
+            this.imageMenu.SuspendLayout();
+            this.notifyMenu.SuspendLayout();
+            this.windowMenu.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // QRImage
+            // 
+            this.QRImage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.QRImage.BackColor = System.Drawing.Color.White;
+            this.QRImage.ContextMenuStrip = this.imageMenu;
+            this.QRImage.Location = new System.Drawing.Point(0, 68);
+            this.QRImage.Name = "QRImage";
+            this.QRImage.Size = new System.Drawing.Size(300, 300);
+            this.QRImage.TabIndex = 0;
+            this.QRImage.TabStop = false;
+            // 
+            // imageMenu
+            // 
+            this.imageMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.imageCopy,
+            this.imageSaveAs});
+            this.imageMenu.Name = "imageMenu";
+            this.imageMenu.Size = new System.Drawing.Size(124, 48);
+            // 
+            // imageCopy
+            // 
+            this.imageCopy.Name = "imageCopy";
+            this.imageCopy.Size = new System.Drawing.Size(123, 22);
+            this.imageCopy.Text = "&Copy";
+            this.imageCopy.Click += new System.EventHandler(this.imageCopy_Click);
+            // 
+            // imageSaveAs
+            // 
+            this.imageSaveAs.Name = "imageSaveAs";
+            this.imageSaveAs.Size = new System.Drawing.Size(123, 22);
+            this.imageSaveAs.Text = "&Save As...";
+            this.imageSaveAs.Click += new System.EventHandler(this.imageSaveAs_Click);
+            // 
+            // notifyIcon
+            // 
+            this.notifyIcon.ContextMenuStrip = this.notifyMenu;
+            this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon")));
+            this.notifyIcon.Text = "QuickQR";
+            this.notifyIcon.Visible = true;
+            this.notifyIcon.DoubleClick += new System.EventHandler(this.notifyIcon_DoubleClick);
+            // 
+            // notifyMenu
+            // 
+            this.notifyMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.menuAutorun,
+            this.menuHotkey,
+            this.toolStripSeparator1,
+            this.menuGenerateClipboard,
+            this.menuNew,
+            this.exitToolStripMenuItem});
+            this.notifyMenu.Name = "notifyMenu";
+            this.notifyMenu.ShowCheckMargin = true;
+            this.notifyMenu.ShowImageMargin = false;
+            this.notifyMenu.Size = new System.Drawing.Size(178, 120);
+            // 
+            // menuAutorun
+            // 
+            this.menuAutorun.Name = "menuAutorun";
+            this.menuAutorun.Size = new System.Drawing.Size(177, 22);
+            this.menuAutorun.Text = "&Start with Windows";
+            this.menuAutorun.Click += new System.EventHandler(this.menuAutorun_Click);
+            // 
+            // menuHotkey
+            // 
+            this.menuHotkey.Name = "menuHotkey";
+            this.menuHotkey.Size = new System.Drawing.Size(177, 22);
+            this.menuHotkey.Text = "Set Global &Hotkey...";
+            this.menuHotkey.Click += new System.EventHandler(this.menuHotkey_Click);
+            // 
+            // toolStripSeparator1
+            // 
+            this.toolStripSeparator1.Name = "toolStripSeparator1";
+            this.toolStripSeparator1.Size = new System.Drawing.Size(174, 6);
+            // 
+            // menuGenerateClipboard
+            // 
+            this.menuGenerateClipboard.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
+            this.menuGenerateClipboard.Name = "menuGenerateClipboard";
+            this.menuGenerateClipboard.Size = new System.Drawing.Size(177, 22);
+            this.menuGenerateClipboard.Text = "QR from &Clipboard";
+            this.menuGenerateClipboard.Click += new System.EventHandler(this.menuGenerateClipboard_Click);
+            // 
+            // menuNew
+            // 
+            this.menuNew.Name = "menuNew";
+            this.menuNew.Size = new System.Drawing.Size(177, 22);
+            this.menuNew.Text = "&New QR code...";
+            this.menuNew.Click += new System.EventHandler(this.menuNew_Click);
+            // 
+            // exitToolStripMenuItem
+            // 
+            this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
+            this.exitToolStripMenuItem.Size = new System.Drawing.Size(177, 22);
+            this.exitToolStripMenuItem.Text = "E&xit";
+            this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
+            // 
+            // inputTextBox
+            // 
+            this.inputTextBox.Anchor = System.Windows.Forms.AnchorStyles.Top;
+            this.inputTextBox.Location = new System.Drawing.Point(12, 36);
+            this.inputTextBox.Name = "inputTextBox";
+            this.inputTextBox.Size = new System.Drawing.Size(195, 20);
+            this.inputTextBox.TabIndex = 1;
+            this.inputTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.inputTextBox_KeyDown);
+            // 
+            // generateButton
+            // 
+            this.generateButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
+            this.generateButton.Location = new System.Drawing.Point(213, 34);
+            this.generateButton.Name = "generateButton";
+            this.generateButton.Size = new System.Drawing.Size(75, 23);
+            this.generateButton.TabIndex = 2;
+            this.generateButton.Text = "&Generate";
+            this.generateButton.UseVisualStyleBackColor = true;
+            this.generateButton.Click += new System.EventHandler(this.generateButton_Click);
+            // 
+            // windowMenu
+            // 
+            this.windowMenu.BackColor = System.Drawing.SystemColors.Control;
+            this.windowMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.fileMenu,
+            this.optionsMenu,
+            this.helpMenu});
+            this.windowMenu.Location = new System.Drawing.Point(0, 0);
+            this.windowMenu.Name = "windowMenu";
+            this.windowMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
+            this.windowMenu.Size = new System.Drawing.Size(300, 24);
+            this.windowMenu.TabIndex = 3;
+            this.windowMenu.Text = "menuStrip1";
+            // 
+            // fileMenu
+            // 
+            this.fileMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.fileSaveAs,
+            this.fileSeparator1,
+            this.fileHide,
+            this.fileExit});
+            this.fileMenu.Name = "fileMenu";
+            this.fileMenu.Size = new System.Drawing.Size(37, 20);
+            this.fileMenu.Text = "&File";
+            // 
+            // fileSaveAs
+            // 
+            this.fileSaveAs.Name = "fileSaveAs";
+            this.fileSaveAs.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
+            this.fileSaveAs.Size = new System.Drawing.Size(163, 22);
+            this.fileSaveAs.Text = "&Save As...";
+            this.fileSaveAs.Click += new System.EventHandler(this.fileSaveAs_Click);
+            // 
+            // fileSeparator1
+            // 
+            this.fileSeparator1.Name = "fileSeparator1";
+            this.fileSeparator1.Size = new System.Drawing.Size(160, 6);
+            // 
+            // fileHide
+            // 
+            this.fileHide.Name = "fileHide";
+            this.fileHide.Size = new System.Drawing.Size(163, 22);
+            this.fileHide.Text = "&Hide";
+            this.fileHide.Click += new System.EventHandler(this.fileHide_Click);
+            // 
+            // fileExit
+            // 
+            this.fileExit.Name = "fileExit";
+            this.fileExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Q)));
+            this.fileExit.Size = new System.Drawing.Size(163, 22);
+            this.fileExit.Text = "E&xit";
+            this.fileExit.Click += new System.EventHandler(this.fileExit_Click);
+            // 
+            // optionsMenu
+            // 
+            this.optionsMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.optionWinStart,
+            this.optionBackground,
+            this.optionHotkey});
+            this.optionsMenu.Name = "optionsMenu";
+            this.optionsMenu.Size = new System.Drawing.Size(61, 20);
+            this.optionsMenu.Text = "&Options";
+            // 
+            // optionWinStart
+            // 
+            this.optionWinStart.Name = "optionWinStart";
+            this.optionWinStart.Size = new System.Drawing.Size(228, 22);
+            this.optionWinStart.Text = "&Start with Windows";
+            this.optionWinStart.Click += new System.EventHandler(this.optionWinStart_Click);
+            // 
+            // optionBackground
+            // 
+            this.optionBackground.Name = "optionBackground";
+            this.optionBackground.Size = new System.Drawing.Size(228, 22);
+            this.optionBackground.Text = "&Keep Running in Background";
+            this.optionBackground.Click += new System.EventHandler(this.optionBackground_Click);
+            // 
+            // optionHotkey
+            // 
+            this.optionHotkey.Name = "optionHotkey";
+            this.optionHotkey.Size = new System.Drawing.Size(228, 22);
+            this.optionHotkey.Text = "Set Global &Hotkey...";
+            this.optionHotkey.Click += new System.EventHandler(this.optionHotkey_Click);
+            // 
+            // helpMenu
+            // 
+            this.helpMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.helpAbout});
+            this.helpMenu.Name = "helpMenu";
+            this.helpMenu.Size = new System.Drawing.Size(44, 20);
+            this.helpMenu.Text = "&Help";
+            // 
+            // helpAbout
+            // 
+            this.helpAbout.Name = "helpAbout";
+            this.helpAbout.Size = new System.Drawing.Size(152, 22);
+            this.helpAbout.Text = "&About";
+            this.helpAbout.Click += new System.EventHandler(this.helpAbout_Click);
+            // 
+            // QRLabel
+            // 
+            this.QRLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.QRLabel.Location = new System.Drawing.Point(0, 374);
+            this.QRLabel.Name = "QRLabel";
+            this.QRLabel.Size = new System.Drawing.Size(300, 13);
+            this.QRLabel.TabIndex = 4;
+            this.QRLabel.TextAlign = System.Drawing.ContentAlignment.TopCenter;
+            // 
+            // QRForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
+            this.ClientSize = new System.Drawing.Size(300, 396);
+            this.Controls.Add(this.QRLabel);
+            this.Controls.Add(this.windowMenu);
+            this.Controls.Add(this.generateButton);
+            this.Controls.Add(this.inputTextBox);
+            this.Controls.Add(this.QRImage);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.MainMenuStrip = this.windowMenu;
+            this.Name = "QRForm";
+            this.Text = "QuickQR";
+            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.QRForm_FormClosing);
+            this.Load += new System.EventHandler(this.QRForm_Load);
+            this.Resize += new System.EventHandler(this.QRForm_Resize);
+            ((System.ComponentModel.ISupportInitialize)(this.QRImage)).EndInit();
+            this.imageMenu.ResumeLayout(false);
+            this.notifyMenu.ResumeLayout(false);
+            this.windowMenu.ResumeLayout(false);
+            this.windowMenu.PerformLayout();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.PictureBox QRImage;
+        private System.Windows.Forms.NotifyIcon notifyIcon;
+        private System.Windows.Forms.ContextMenuStrip notifyMenu;
+        private System.Windows.Forms.ToolStripMenuItem menuGenerateClipboard;
+        private System.Windows.Forms.ToolStripMenuItem menuNew;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+        private System.Windows.Forms.ToolStripMenuItem menuAutorun;
+        private System.Windows.Forms.ToolStripMenuItem menuHotkey;
+        private System.Windows.Forms.TextBox inputTextBox;
+        private System.Windows.Forms.Button generateButton;
+        private System.Windows.Forms.MenuStrip windowMenu;
+        private System.Windows.Forms.ToolStripMenuItem optionsMenu;
+        private System.Windows.Forms.ToolStripMenuItem optionWinStart;
+        private System.Windows.Forms.ToolStripMenuItem helpMenu;
+        private System.Windows.Forms.ToolStripMenuItem optionHotkey;
+        private System.Windows.Forms.ToolStripMenuItem helpAbout;
+        private System.Windows.Forms.ToolStripMenuItem fileMenu;
+        private System.Windows.Forms.ToolStripMenuItem fileHide;
+        private System.Windows.Forms.ToolStripMenuItem fileExit;
+        private System.Windows.Forms.Label QRLabel;
+        private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem optionBackground;
+        private System.Windows.Forms.ToolStripMenuItem fileSaveAs;
+        private System.Windows.Forms.ToolStripSeparator fileSeparator1;
+        private System.Windows.Forms.ContextMenuStrip imageMenu;
+        private System.Windows.Forms.ToolStripMenuItem imageCopy;
+        private System.Windows.Forms.ToolStripMenuItem imageSaveAs;
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QRForm.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,334 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Windows.Forms;
+using ZXing;
+using Microsoft.Win32;
+
+/*
+ * Copyright (c) 2014 Brad Greco <brad@bgreco.net>
+ */
+namespace QuickQR
+{
+    public partial class QRForm : Form
+    {
+        const int WM_HOTKEY = 786;
+
+        private BarcodeWriter writer;
+        private KeyBinding keyBinding;
+        private String currentText;
+        private Settings settings;
+
+        [DllImport("user32.dll")]
+        private static extern int RegisterHotKey(IntPtr hwnd, int id, int fsModifiers, int vk);
+        [DllImport("user32.dll")]
+        private static extern int UnregisterHotKey(IntPtr hwnd, int id);
+
+        public QRForm()
+        {
+            InitializeComponent();
+        }
+
+        private void QRForm_Load(object sender, EventArgs e)
+        {
+            settings = new Settings();
+            loadSettings();
+            registerHotkey(keyBinding);
+            writer = new BarcodeWriter { Format = BarcodeFormat.QR_CODE };
+            writer.Options.Margin = 2;
+            fileHide.ShortcutKeyDisplayString = "Esc";
+            reset();
+            notifyIcon.Icon = new System.Drawing.Icon(this.Icon, 16, 16);
+        }
+
+        private void notifyIcon_DoubleClick(object sender, EventArgs e)
+        {
+            this.Show();
+            this.Activate();
+            generateFromClipboard();
+        }
+
+        private void generateFromClipboard()
+        {
+            if (Clipboard.ContainsText())
+            {
+                inputTextBox.Text = Clipboard.GetText();
+                generate(Clipboard.GetText());
+            }
+            else
+            {
+                reset();
+            }
+        }
+
+        private void generateFromTextBox()
+        {
+            if (inputTextBox.Text.Length > 0)
+                generate(inputTextBox.Text);
+            else
+                reset();
+        }
+
+        private void generate(String text)
+        {
+            System.Diagnostics.Debug.WriteLine("Generating: " + text);
+            currentText = text;
+            draw();
+        }
+
+        private void draw()
+        {
+            writer.Options.Width = QRImage.Width;
+            writer.Options.Height = QRImage.Height;
+            try
+            {
+                QRImage.Image = writer.Write(currentText);
+            }
+            catch (Exception e)
+            {
+                System.Diagnostics.Debug.WriteLine(e.Message);
+                showError(e.Message);
+                return;
+            }
+            finally
+            {
+                inputTextBox.SelectAll();
+                inputTextBox.Focus();
+            }
+            if (QRLabel.ForeColor != Color.Black)
+                QRLabel.ForeColor = Color.Black;
+            QRLabel.Text = currentText;
+            fileSaveAs.Enabled = true;
+            QRImage.ContextMenuStrip = imageMenu;
+        }
+
+        private void registerHotkey(KeyBinding hotkey)
+        {
+            settings.setHotkey(hotkey);
+            unregisterHotkey();
+            if (hotkey.key > 0)
+                RegisterHotKey(this.Handle, hotkey.getID(), hotkey.sum(), hotkey.key);
+            keyBinding = hotkey;
+        }
+
+        private void unregisterHotkey()
+        {
+            if (keyBinding.key > 0)
+                UnregisterHotKey(this.Handle, keyBinding.getID());
+        }
+
+        private void showHotkeyForm()
+        {
+            unregisterHotkey();
+            SetHotkey form = new SetHotkey(keyBinding);
+            if (form.ShowDialog() == DialogResult.OK)
+                registerHotkey(form.keyBinding);
+            form.Dispose();
+        }
+
+        private void loadSettings()
+        {
+            optionWinStart.Checked = menuAutorun.Checked = settings.autostart;
+            optionBackground.Checked = settings.background;
+            keyBinding = new KeyBinding(settings.hotkey);
+            registerAutostart();
+        }
+
+        private void registerAutostart()
+        {
+            RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
+            if (settings.autostart)
+                key.SetValue("QuickQR", Application.ExecutablePath.ToString());
+            else
+                key.DeleteValue("QuickQR", false);
+        }
+
+        private void showError(String message)
+        {
+            QRLabel.ForeColor = Color.Red;
+            QRLabel.Text = message;
+        }
+
+        private void reset()
+        {
+            inputTextBox.Text = string.Empty;
+            QRImage.Image = null;
+            QRLabel.Text = String.Empty;
+            inputTextBox.Focus();
+            currentText = string.Empty;
+            fileSaveAs.Enabled = false;
+            QRImage.ContextMenuStrip = null;
+        }
+
+        private void toggleBackground()
+        {
+            settings.setBackground(!settings.background);
+            optionBackground.Checked = settings.background;
+        }
+
+        private void toggleAutorun()
+        {
+            settings.setAutostart(!settings.autostart);
+            optionWinStart.Checked = menuAutorun.Checked = settings.autostart;
+            registerAutostart();
+        }
+
+        private void saveImage()
+        {
+            SaveFileDialog dialog = new SaveFileDialog();
+            dialog.DefaultExt = "png";
+            dialog.Filter = "PNG images (*.png)|*.png|All files (*.*)|*.*";
+            String fileName = currentText;
+            foreach (char c in Path.GetInvalidFileNameChars())
+            {
+                fileName = fileName.Replace(c.ToString(), "");
+            }
+            dialog.FileName = fileName;
+            if (dialog.ShowDialog() == DialogResult.OK)
+            {
+                QRImage.Image.Save(dialog.FileName, ImageFormat.Png);
+            }
+            dialog.Dispose();
+        }
+
+        [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
+        protected override void WndProc(ref Message m)
+        {
+            // Listen for operating system messages.
+            switch (m.Msg)
+            {
+                case WM_HOTKEY:
+                    System.Diagnostics.Debug.WriteLine(m.WParam.ToString());
+                    if (m.WParam.ToInt32() == keyBinding.getID())
+                    {
+                        System.Diagnostics.Debug.WriteLine("Our hotkey received");
+                        this.Show();
+                        this.Activate();
+                        generateFromClipboard();
+                    }
+                    break;
+            }
+            base.WndProc(ref m);
+        }
+
+        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
+        {
+            if (keyData == Keys.Escape)
+            {
+                if (settings.background)
+                    this.Hide();
+                else
+                    Application.Exit();
+                return true;
+            }
+            return base.ProcessCmdKey(ref msg, keyData);
+        }
+
+        private void QRForm_Resize(object sender, EventArgs e)
+        {
+            if (currentText != string.Empty)
+                draw();
+        }
+
+        private void inputTextBox_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+                generateFromTextBox();
+        }
+
+        private void generateButton_Click(object sender, EventArgs e)
+        {
+            generateFromTextBox();
+        }
+
+        private void fileHide_Click(object sender, EventArgs e)
+        {
+            this.Hide();
+        }
+
+        private void fileExit_Click(object sender, EventArgs e)
+        {
+            Application.Exit();
+        }
+
+        private void menuGenerateClipboard_Click(object sender, EventArgs e)
+        {
+            this.Show();
+            generateFromClipboard();
+        }
+
+        private void menuNew_Click(object sender, EventArgs e)
+        {
+            this.Show();
+            reset();
+        }
+
+        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            Application.Exit();
+        }
+
+        private void QRForm_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            System.Diagnostics.Debug.WriteLine("Reason: " + e.CloseReason);
+            if (settings.background && (e.CloseReason == CloseReason.None || e.CloseReason == CloseReason.UserClosing))
+            {
+                this.Hide();
+                e.Cancel = true;
+            }
+        }
+
+        private void optionHotkey_Click(object sender, EventArgs e)
+        {
+            showHotkeyForm();
+        }
+
+        private void menuAutorun_Click(object sender, EventArgs e)
+        {
+            toggleAutorun();
+        }
+
+        private void menuHotkey_Click(object sender, EventArgs e)
+        {
+            showHotkeyForm();
+        }
+
+        private void optionWinStart_Click(object sender, EventArgs e)
+        {
+            toggleAutorun();
+        }
+
+        private void optionBackground_Click(object sender, EventArgs e)
+        {
+            toggleBackground();
+        }
+
+        private void imageCopy_Click(object sender, EventArgs e)
+        {
+            Clipboard.SetImage(QRImage.Image);
+        }
+
+        private void fileSaveAs_Click(object sender, EventArgs e)
+        {
+            saveImage();
+        }
+
+        private void imageSaveAs_Click(object sender, EventArgs e)
+        {
+            saveImage();
+        }
+
+        private void helpAbout_Click(object sender, EventArgs e)
+        {
+            AboutForm form = new AboutForm();
+            form.ShowDialog();
+            form.Dispose();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QRForm.resx	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,1291 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="imageMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>362, 17</value>
+  </metadata>
+  <metadata name="notifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="notifyMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>123, 17</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="notifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA
+        IACoJQAA7h4AAEBAAAABACAAKEIAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAIAAAAAAAAAAAAAAAA
+        AAAAAAAA////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////////////////////
+        /////////////wAAAP8AAAD///////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////////////////////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD//////////////////////////////////////////////////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAA////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/AAAA////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////////////////////wAAAP//////////////
+        /////////////wAAAP//////AAAA//////8AAAD///////////8AAAD/AAAA//////8AAAD/AAAA////
+        ////////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP///////////wAAAP///////////////////////////wAA
+        AP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        /////////////////////////////////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAA
+        AP///////////wAAAP8AAAD/AAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////AAAA////
+        /////////////wAAAP///////////////////////////wAAAP///////////wAAAP8AAAD/AAAA////
+        //8AAAD///////////8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA////////////AAAA//////8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA//////8AAAD//////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP//////AAAA////////////AAAA////////////AAAA////
+        //8AAAD/AAAA////////////AAAA/////////////////////////////////wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP///////////wAAAP//////AAAA//////8AAAD/////////
+        /////////////wAAAP//////AAAA//////8AAAD//////wAAAP8AAAD/AAAA/wAAAP//////AAAA////
+        /////////////wAAAP//////AAAA//////8AAAD/AAAA//////////////////////8AAAD/AAAA////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA/wAAAP//////AAAA////////////////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP//////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA//////8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP///////////////////////////wAAAP////////////////8AAAD/AAAA////
+        ////////AAAA////////////////////////////AAAA/////////////////wAAAP//////AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA/wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAA/wAA
+        AP//////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA////////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA/////////////////wAA
+        AP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP//////AAAA/////////////////wAAAP///////////////////////////wAA
+        AP///////////wAAAP//////////////////////AAAA////////////////////////////AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAA
+        AABAAAAAAQAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA////
+        //8AAAD//////wAAAP8AAAD/AAAA/wAAAP//////AAAA////////////////////////////////////
+        //8AAAD///////////////////////////8AAAD//////wAAAP8AAAD//////wAAAP//////////////
+        //8AAAD///////////8AAAD/////////////////AAAA//////8AAAD/AAAA/wAAAP8AAAD/////////
+        /////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA////
+        //8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD//////wAAAP//////AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD//////wAA
+        AP8AAAD///////////////////////////8AAAD//////wAAAP8AAAD/AAAA//////8AAAD//////wAA
+        AP////////////////8AAAD/AAAA////////////AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////////////////////wAAAP///////////////////////////wAA
+        AP//////AAAA////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD/AAAA//////8AAAD//////wAA
+        AP8AAAD//////wAAAP//////AAAA////////////////////////////////////////////////////
+        /////////////////////////////wAAAP//////AAAA//////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD//////wAAAP////////////////8AAAD/AAAA////////////AAAA////////////////////
+        //8AAAD/AAAA//////8AAAD//////wAAAP///////////wAAAP//////AAAA//////8AAAD/AAAA////
+        ////////AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////////////
+        /////////////wAAAP8AAAD//////////////////////wAAAP8AAAD//////wAAAP///////////wAA
+        AP8AAAD//////wAAAP///////////////////////////wAAAP//////AAAA////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////AAAA/////////////////wAAAP///////////wAAAP//////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////////////////////8AAAD//////wAAAP8AAAD//////////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD//////wAAAP//////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/////////////////AAAA//////8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD///////////////////////////8AAAD//////wAAAP8AAAD/////////
+        //////////////////8AAAD//////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD//////////////////////wAAAP8AAAD//////wAA
+        AP//////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD///////////8AAAD//////wAA
+        AP//////AAAA/wAAAP///////////////////////////wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA//////8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP//////AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA//////8AAAD/////////////////AAAA//////8AAAD//////wAA
+        AP///////////wAAAP//////AAAA/wAAAP8AAAD///////////////////////////8AAAD/AAAA////
+        /////////////wAAAP///////////wAAAP////////////////8AAAD//////wAAAP8AAAD//////wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA//////8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP//////////////
+        //8AAAD//////////////////////////////////////wAAAP8AAAD/////////////////AAAA////
+        ////////AAAA////////////////////////////AAAA//////8AAAD//////wAAAP8AAAD//////wAA
+        AP//////AAAA/wAAAP//////AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA//////8AAAD//////wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP////////////////8AAAD/////////////////////////////////////////
+        /////////////////////////////wAAAP//////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA//////8AAAD//////wAAAP//////AAAA////
+        //8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP///////////////////////////wAAAP//////AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA//////////////////////8AAAD///////////////////////////8AAAD/////////
+        ////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA//////8AAAD///////////8AAAD//////wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD//////wAA
+        AP////////////////8AAAD//////wAAAP8AAAD/AAAA//////8AAAD//////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA//////8AAAD/AAAA/wAA
+        AP//////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////////////
+        //8AAAD//////////////////////wAAAP8AAAD///////////////////////////8AAAD//////wAA
+        AP8AAAD/AAAA//////8AAAD/////////////////AAAA////////////////////////////AAAA////
+        /////////////wAAAP//////AAAA/////////////////wAAAP////////////////8AAAD//////wAA
+        AP///////////////////////////wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA//////////////////////8AAAD/AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////8AAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA
+        AAAwAAAAYAAAAAEAIAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAA
+        AP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////////////////////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP//////////////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP///////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP//////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP//////////////////////////////////////////////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        ////////////////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////////////////////////////////////AAAA/wAA
+        AP//////////////////////////////////////////////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////////////////////////////////////////////
+        //8AAAD/AAAA//////////////////////8AAAD/AAAA////////////////////////////////////
+        ////////AAAA/wAAAP//////////////////////////////////////////////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABACAAAAAAAACA
+        AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        /////////////////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        //////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP//////////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD//////////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD//////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP//////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA////////////////////////////////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+</value>
+  </data>
+  <metadata name="windowMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>237, 17</value>
+  </metadata>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA
+        IACoJQAA7h4AAEBAAAABACAAKEIAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAIAAAAAAAAAAAAAAAA
+        AAAAAAAA////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////////////////////
+        /////////////wAAAP8AAAD///////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////////////////////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD//////////////////////////////////////////////////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAA////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/AAAA////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////////////////////wAAAP//////////////
+        /////////////wAAAP//////AAAA//////8AAAD///////////8AAAD/AAAA//////8AAAD/AAAA////
+        ////////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP///////////wAAAP///////////////////////////wAA
+        AP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        /////////////////////////////////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAA
+        AP///////////wAAAP8AAAD/AAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////AAAA////
+        /////////////wAAAP///////////////////////////wAAAP///////////wAAAP8AAAD/AAAA////
+        //8AAAD///////////8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA////////////AAAA//////8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA//////8AAAD//////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP//////AAAA////////////AAAA////////////AAAA////
+        //8AAAD/AAAA////////////AAAA/////////////////////////////////wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP///////////wAAAP//////AAAA//////8AAAD/////////
+        /////////////wAAAP//////AAAA//////8AAAD//////wAAAP8AAAD/AAAA/wAAAP//////AAAA////
+        /////////////wAAAP//////AAAA//////8AAAD/AAAA//////////////////////8AAAD/AAAA////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA/wAAAP//////AAAA////////////////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP//////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA//////8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP///////////////////////////wAAAP////////////////8AAAD/AAAA////
+        ////////AAAA////////////////////////////AAAA/////////////////wAAAP//////AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA/wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAA/wAA
+        AP//////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA////////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA/////////////////wAA
+        AP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP//////AAAA/////////////////wAAAP///////////////////////////wAA
+        AP///////////wAAAP//////////////////////AAAA////////////////////////////AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAA
+        AABAAAAAAQAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA////
+        //8AAAD//////wAAAP8AAAD/AAAA/wAAAP//////AAAA////////////////////////////////////
+        //8AAAD///////////////////////////8AAAD//////wAAAP8AAAD//////wAAAP//////////////
+        //8AAAD///////////8AAAD/////////////////AAAA//////8AAAD/AAAA/wAAAP8AAAD/////////
+        /////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA////
+        //8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD//////wAAAP//////AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD//////wAA
+        AP8AAAD///////////////////////////8AAAD//////wAAAP8AAAD/AAAA//////8AAAD//////wAA
+        AP////////////////8AAAD/AAAA////////////AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////////////////////wAAAP///////////////////////////wAA
+        AP//////AAAA////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD/AAAA//////8AAAD//////wAA
+        AP8AAAD//////wAAAP//////AAAA////////////////////////////////////////////////////
+        /////////////////////////////wAAAP//////AAAA//////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD//////wAAAP////////////////8AAAD/AAAA////////////AAAA////////////////////
+        //8AAAD/AAAA//////8AAAD//////wAAAP///////////wAAAP//////AAAA//////8AAAD/AAAA////
+        ////////AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////////////
+        /////////////wAAAP8AAAD//////////////////////wAAAP8AAAD//////wAAAP///////////wAA
+        AP8AAAD//////wAAAP///////////////////////////wAAAP//////AAAA////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////AAAA/////////////////wAAAP///////////wAAAP//////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////////////////////8AAAD//////wAAAP8AAAD//////////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD//////wAAAP//////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/////////////////AAAA//////8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD///////////////////////////8AAAD//////wAAAP8AAAD/////////
+        //////////////////8AAAD//////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD//////////////////////wAAAP8AAAD//////wAA
+        AP//////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD///////////8AAAD//////wAA
+        AP//////AAAA/wAAAP///////////////////////////wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA//////8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP//////AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA//////8AAAD/////////////////AAAA//////8AAAD//////wAA
+        AP///////////wAAAP//////AAAA/wAAAP8AAAD///////////////////////////8AAAD/AAAA////
+        /////////////wAAAP///////////wAAAP////////////////8AAAD//////wAAAP8AAAD//////wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA//////8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP//////////////
+        //8AAAD//////////////////////////////////////wAAAP8AAAD/////////////////AAAA////
+        ////////AAAA////////////////////////////AAAA//////8AAAD//////wAAAP8AAAD//////wAA
+        AP//////AAAA/wAAAP//////AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA//////8AAAD//////wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP////////////////8AAAD/////////////////////////////////////////
+        /////////////////////////////wAAAP//////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA//////8AAAD//////wAAAP//////AAAA////
+        //8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP///////////////////////////wAAAP//////AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA//////////////////////8AAAD///////////////////////////8AAAD/////////
+        ////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA//////8AAAD///////////8AAAD//////wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD//////wAA
+        AP////////////////8AAAD//////wAAAP8AAAD/AAAA//////8AAAD//////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA//////8AAAD/AAAA/wAA
+        AP//////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////////////
+        //8AAAD//////////////////////wAAAP8AAAD///////////////////////////8AAAD//////wAA
+        AP8AAAD/AAAA//////8AAAD/////////////////AAAA////////////////////////////AAAA////
+        /////////////wAAAP//////AAAA/////////////////wAAAP////////////////8AAAD//////wAA
+        AP///////////////////////////wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA//////////////////////8AAAD/AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////8AAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA
+        AAAwAAAAYAAAAAEAIAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAA
+        AP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////////////////////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP//////////////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP///////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP//////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP//////////////////////////////////////////////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        ////////////////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////////////////////////////////////AAAA/wAA
+        AP//////////////////////////////////////////////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////////////////////////////////////////////
+        //8AAAD/AAAA//////////////////////8AAAD/AAAA////////////////////////////////////
+        ////////AAAA/wAAAP//////////////////////////////////////////////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABACAAAAAAAACA
+        AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        /////////////////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        //////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP//////////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD//////////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD//////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP//////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA////////////////////////////////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+</value>
+  </data>
+</root>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QuickQR.csproj	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{3B93C67C-DFAF-404C-8E99-82BF71FADC51}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>QuickQR</RootNamespace>
+    <AssemblyName>QuickQR</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
+    <FileAlignment>512</FileAlignment>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup />
+  <PropertyGroup>
+    <NoWin32Manifest>true</NoWin32Manifest>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>resources\qr.ico</ApplicationIcon>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+    <Reference Include="zxing">
+      <HintPath>lib\zxing\net2.0\zxing.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AboutForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AboutForm.Designer.cs">
+      <DependentUpon>AboutForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="KeyBinding.cs" />
+    <Compile Include="QRForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="QRForm.Designer.cs">
+      <DependentUpon>QRForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="SetHotkey.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="SetHotkey.Designer.cs">
+      <DependentUpon>SetHotkey.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Settings.cs" />
+    <EmbeddedResource Include="AboutForm.resx">
+      <DependentUpon>AboutForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="QRForm.resx">
+      <DependentUpon>QRForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+      <DesignTime>True</DesignTime>
+    </Compile>
+    <EmbeddedResource Include="SetHotkey.resx">
+      <DependentUpon>SetHotkey.cs</DependentUpon>
+    </EmbeddedResource>
+    <None Include="app.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="resources\qr.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="resources\url.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="resources\qr2.ico" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SetHotkey.Designer.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,138 @@
+namespace QuickQR
+{
+    partial class SetHotkey
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SetHotkey));
+            this.captureButton = new System.Windows.Forms.Button();
+            this.okButton = new System.Windows.Forms.Button();
+            this.cancelButton = new System.Windows.Forms.Button();
+            this.label1 = new System.Windows.Forms.Label();
+            this.hotkeyLabel = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
+            this.SuspendLayout();
+            // 
+            // captureButton
+            // 
+            this.captureButton.Location = new System.Drawing.Point(12, 48);
+            this.captureButton.Name = "captureButton";
+            this.captureButton.Size = new System.Drawing.Size(79, 23);
+            this.captureButton.TabIndex = 0;
+            this.captureButton.Text = "Set Hotkey...";
+            this.captureButton.UseVisualStyleBackColor = true;
+            this.captureButton.Click += new System.EventHandler(this.captureButton_Click);
+            // 
+            // okButton
+            // 
+            this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
+            this.okButton.Location = new System.Drawing.Point(136, 81);
+            this.okButton.Name = "okButton";
+            this.okButton.Size = new System.Drawing.Size(75, 23);
+            this.okButton.TabIndex = 1;
+            this.okButton.Text = "OK";
+            this.okButton.UseVisualStyleBackColor = true;
+            // 
+            // cancelButton
+            // 
+            this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+            this.cancelButton.Location = new System.Drawing.Point(217, 81);
+            this.cancelButton.Name = "cancelButton";
+            this.cancelButton.Size = new System.Drawing.Size(75, 23);
+            this.cancelButton.TabIndex = 2;
+            this.cancelButton.Text = "Cancel";
+            this.cancelButton.UseVisualStyleBackColor = true;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.label1.Location = new System.Drawing.Point(106, 53);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(51, 13);
+            this.label1.TabIndex = 3;
+            this.label1.Text = "Hotkey:";
+            // 
+            // hotkeyLabel
+            // 
+            this.hotkeyLabel.AutoSize = true;
+            this.hotkeyLabel.Location = new System.Drawing.Point(158, 53);
+            this.hotkeyLabel.Name = "hotkeyLabel";
+            this.hotkeyLabel.Size = new System.Drawing.Size(37, 13);
+            this.hotkeyLabel.TabIndex = 4;
+            this.hotkeyLabel.Text = "(none)";
+            // 
+            // label2
+            // 
+            this.label2.Location = new System.Drawing.Point(12, 9);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(280, 36);
+            this.label2.TabIndex = 5;
+            this.label2.Text = "When QuickQR is running, the keyboard shortcut below will generate a QR code from" +
+    " the clipboard.";
+            // 
+            // SetHotkey
+            // 
+            this.AcceptButton = this.okButton;
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.CancelButton = this.cancelButton;
+            this.ClientSize = new System.Drawing.Size(304, 116);
+            this.Controls.Add(this.label2);
+            this.Controls.Add(this.hotkeyLabel);
+            this.Controls.Add(this.label1);
+            this.Controls.Add(this.cancelButton);
+            this.Controls.Add(this.okButton);
+            this.Controls.Add(this.captureButton);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.KeyPreview = true;
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "SetHotkey";
+            this.ShowInTaskbar = false;
+            this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
+            this.Text = "Set Hotkey...";
+            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SetHotkey_KeyDown);
+            this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.SetHotkey_KeyUp);
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Button captureButton;
+        private System.Windows.Forms.Button okButton;
+        private System.Windows.Forms.Button cancelButton;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.Label hotkeyLabel;
+        private System.Windows.Forms.Label label2;
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SetHotkey.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,83 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+/*
+ * Copyright (c) 2014 Brad Greco <brad@bgreco.net>
+ */
+namespace QuickQR
+{
+    public partial class SetHotkey : Form
+    {
+        private bool capturing = false;
+        public KeyBinding keyBinding;
+
+        public SetHotkey(KeyBinding keyBinding)
+        {
+            InitializeComponent();
+            this.keyBinding = new KeyBinding();
+            hotkeyLabel.Text = keyBinding.toString();
+        }
+
+        private void captureButton_Click(object sender, EventArgs e)
+        {
+            capturing = true;
+            hotkeyLabel.Text = "Waiting... (ESC to clear)";
+            keyBinding.Win = false;
+        }
+
+        private void SetHotkey_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (capturing && e.KeyCode == Keys.Escape)
+            {
+                capturing = false;
+                keyBinding.key = 0;
+                keyBinding.keyChar = "";
+                hotkeyLabel.Text = keyBinding.comboString();
+            }
+            else if (capturing && (e.KeyCode == Keys.LWin || e.KeyCode == Keys.RWin))
+            {
+                keyBinding.Win = true;
+            }
+            else if (capturing && e.KeyCode != Keys.ShiftKey && e.KeyCode != Keys.Menu && e.KeyCode != Keys.Alt && e.KeyCode != Keys.ControlKey)
+            {
+                keyBinding.key = (int)e.KeyCode;
+                keyBinding.keyChar = e.KeyCode.ToString();
+                keyBinding.Shift = e.Shift;
+                keyBinding.Alt = e.Alt;
+                keyBinding.Ctrl = e.Control;
+                hotkeyLabel.Text = keyBinding.toString();
+            }
+        }
+
+        private void SetHotkey_KeyUp(object sender, KeyEventArgs e)
+        {
+            if (capturing && (e.KeyCode == Keys.LWin || e.KeyCode == Keys.RWin))
+            {
+                keyBinding.Win = false;
+            }
+            else if (capturing && e.KeyCode != Keys.ShiftKey && e.KeyCode != Keys.Menu && e.KeyCode != Keys.Alt && e.KeyCode != Keys.ControlKey)
+            {
+                capturing = false;
+            }
+            okButton.Enabled = !capturing;
+        }
+
+        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
+        {
+            if (keyData == Keys.Escape && capturing)
+            {
+                keyBinding.key = 0;
+                hotkeyLabel.Text = keyBinding.toString();
+                capturing = false;
+                okButton.Enabled = true;
+                return true;
+            }
+            return base.ProcessCmdKey(ref msg, keyData);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SetHotkey.resx	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,700 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA
+        IACoJQAA7h4AAEBAAAABACAAKEIAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAIAAAAAAAAAAAAAAAA
+        AAAAAAAA////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////////////////////
+        /////////////wAAAP8AAAD///////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////////////////////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD//////////////////////////////////////////////////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAA////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/AAAA////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////////////////////wAAAP//////////////
+        /////////////wAAAP//////AAAA//////8AAAD///////////8AAAD/AAAA//////8AAAD/AAAA////
+        ////////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP///////////wAAAP///////////////////////////wAA
+        AP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        /////////////////////////////////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAA
+        AP///////////wAAAP8AAAD/AAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////AAAA////
+        /////////////wAAAP///////////////////////////wAAAP///////////wAAAP8AAAD/AAAA////
+        //8AAAD///////////8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA////////////AAAA//////8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA//////8AAAD//////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP//////AAAA////////////AAAA////////////AAAA////
+        //8AAAD/AAAA////////////AAAA/////////////////////////////////wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP///////////wAAAP//////AAAA//////8AAAD/////////
+        /////////////wAAAP//////AAAA//////8AAAD//////wAAAP8AAAD/AAAA/wAAAP//////AAAA////
+        /////////////wAAAP//////AAAA//////8AAAD/AAAA//////////////////////8AAAD/AAAA////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA/wAAAP//////AAAA////////////////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP//////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA//////8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP///////////////////////////wAAAP////////////////8AAAD/AAAA////
+        ////////AAAA////////////////////////////AAAA/////////////////wAAAP//////AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA/wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAA/wAA
+        AP//////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA////////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA/////////////////wAA
+        AP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA////
+        //8AAAD/AAAA/wAAAP//////AAAA/////////////////wAAAP///////////////////////////wAA
+        AP///////////wAAAP//////////////////////AAAA////////////////////////////AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAA
+        AABAAAAAAQAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA////
+        //8AAAD//////wAAAP8AAAD/AAAA/wAAAP//////AAAA////////////////////////////////////
+        //8AAAD///////////////////////////8AAAD//////wAAAP8AAAD//////wAAAP//////////////
+        //8AAAD///////////8AAAD/////////////////AAAA//////8AAAD/AAAA/wAAAP8AAAD/////////
+        /////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA////
+        //8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD//////wAAAP//////AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD//////wAA
+        AP8AAAD///////////////////////////8AAAD//////wAAAP8AAAD/AAAA//////8AAAD//////wAA
+        AP////////////////8AAAD/AAAA////////////AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////////////////////wAAAP///////////////////////////wAA
+        AP//////AAAA////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD/AAAA//////8AAAD//////wAA
+        AP8AAAD//////wAAAP//////AAAA////////////////////////////////////////////////////
+        /////////////////////////////wAAAP//////AAAA//////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD//////wAAAP////////////////8AAAD/AAAA////////////AAAA////////////////////
+        //8AAAD/AAAA//////8AAAD//////wAAAP///////////wAAAP//////AAAA//////8AAAD/AAAA////
+        ////////AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////////////
+        /////////////wAAAP8AAAD//////////////////////wAAAP8AAAD//////wAAAP///////////wAA
+        AP8AAAD//////wAAAP///////////////////////////wAAAP//////AAAA////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////AAAA/////////////////wAAAP///////////wAAAP//////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////////////////////8AAAD//////wAAAP8AAAD//////////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD//////wAAAP//////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD/////////////////AAAA//////8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD///////////////////////////8AAAD//////wAAAP8AAAD/////////
+        //////////////////8AAAD//////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD//////////////////////wAAAP8AAAD//////wAA
+        AP//////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA//////8AAAD///////////8AAAD//////wAA
+        AP//////AAAA/wAAAP///////////////////////////wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP//////AAAA//////8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP//////AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA//////8AAAD/////////////////AAAA//////8AAAD//////wAA
+        AP///////////wAAAP//////AAAA/wAAAP8AAAD///////////////////////////8AAAD/AAAA////
+        /////////////wAAAP///////////wAAAP////////////////8AAAD//////wAAAP8AAAD//////wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA//////8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP//////////////////////AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP//////////////
+        //8AAAD//////////////////////////////////////wAAAP8AAAD/////////////////AAAA////
+        ////////AAAA////////////////////////////AAAA//////8AAAD//////wAAAP8AAAD//////wAA
+        AP//////AAAA/wAAAP//////AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA//////8AAAD//////wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP////////////////8AAAD/////////////////////////////////////////
+        /////////////////////////////wAAAP//////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA//////8AAAD//////wAAAP//////AAAA////
+        //8AAAD//////wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP///////////////////////////wAAAP//////AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA//////////////////////8AAAD///////////////////////////8AAAD/////////
+        ////////AAAA//////8AAAD/AAAA/wAAAP//////AAAA//////8AAAD///////////8AAAD//////wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP8AAAD//////wAA
+        AP////////////////8AAAD//////wAAAP8AAAD/AAAA//////8AAAD//////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA//////8AAAD/AAAA/wAA
+        AP//////AAAA/////////////////wAAAP//////AAAA/wAAAP8AAAD//////wAAAP//////////////
+        //8AAAD//////////////////////wAAAP8AAAD///////////////////////////8AAAD//////wAA
+        AP8AAAD/AAAA//////8AAAD/////////////////AAAA////////////////////////////AAAA////
+        /////////////wAAAP//////AAAA/////////////////wAAAP////////////////8AAAD//////wAA
+        AP///////////////////////////wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP//////AAAA//////////////////////8AAAD/AAAA////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////8AAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA
+        AAAwAAAAYAAAAAEAIAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA////
+        //////////////////////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAA
+        AP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA//////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////////////////////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP//////////////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP//////////////////////AAAA/wAAAP//////////////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/////////
+        //////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP///////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP//////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////////////////////////////
+        //////////////////8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP//////////////////////////////////////////////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////////////
+        //////////////////////////////////8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP//////////////////////AAAA/wAAAP//////////////////////////////
+        ////////////////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        //8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        ////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA////////////AAAA/wAAAP////////////////////////////////8AAAD/AAAA////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA////////////AAAA/wAAAP///////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA//////////////////////////////////////////////////////8AAAD/AAAA////
+        //////////////////8AAAD/AAAA////////////////////////////////////////////AAAA/wAA
+        AP//////////////////////////////////////////////////////AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA////////////////////////////////////////////////////
+        //8AAAD/AAAA//////////////////////8AAAD/AAAA////////////////////////////////////
+        ////////AAAA/wAAAP//////////////////////////////////////////////////////AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////AAAA/wAAAP//////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABACAAAAAAAACA
+        AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        /////////////////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        //////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP//////////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD//////////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD//////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////////////////////wAAAP8AAAD/AAAA////////////////////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAAAP//////////////
+        //////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////////////////////AAAA/wAA
+        AP8AAAD/////////////////////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD//////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/////////////////////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA/////////////////wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAA
+        AP8AAAD/AAAA//////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////
+        //8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP////////////////8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAA
+        AP8AAAD/////////////////AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA////
+        /////////////////////////////////////////////////////////////////////////////wAA
+        AP8AAAD/AAAA/////////////////////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////wAAAP8AAAD/AAAA////////////////////
+        /////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA////
+        //8AAAD/AAAA/wAAAP//////////////////////////////////////////////////////////////
+        //////////////////8AAAD/AAAA/wAAAP////////////////////////////////8AAAD/AAAA/wAA
+        AP////////////////////////////////////////////////////////////////8AAAD/AAAA/wAA
+        AP//////////////////////////////////////////////////////////////////////////////
+        //8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/////////////////////////////////////////
+        ////////////////////////////////////////AAAA/wAAAP8AAAD/////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////AAAA/wAAAP8AAAD/////////////////////////////////////////////////////////
+        ////////////////////////AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////
+        /////////////wAAAP8AAAD/AAAA////////////////////////////////////////////////////
+        /////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP////////////////8AAAD/AAAA/wAAAP//////////////////////////////
+        //////////////////////////////////////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/////////
+        ////////////////////////////////////////////////////////////////////////AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+</value>
+  </data>
+</root>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Settings.cs	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,98 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+
+/*
+ * Copyright (c) 2014 Brad Greco <brad@bgreco.net>
+ */
+namespace QuickQR
+{
+    class Settings
+    {
+        public String error;
+        private String configFile;
+        private String configDir;
+
+        public bool autostart = true;
+        public bool background = true;
+        public String hotkey = "";
+
+        public Settings()
+        {
+            String appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
+            configDir = Path.Combine(appData, "QuickQR");
+            configFile = Path.Combine(configDir, "quickqr.ini");
+
+            readConfig();
+        }
+
+        public void setAutostart(bool autostart)
+        {
+            this.autostart = autostart;
+            writeConfig();
+        }
+
+        public void setBackground(bool background)
+        {
+            this.background = background;
+            writeConfig();
+        }
+
+        public void setHotkey(KeyBinding hotkey)
+        {
+            this.hotkey = hotkey.comboString();
+            writeConfig();
+        }
+
+        private void readConfig()
+        {
+            StreamReader reader;
+            try
+            {
+                reader = new StreamReader(configFile);
+            }
+            catch (IOException e)
+            {
+                error = e.Message;
+                return;
+            }
+            String line;
+            while ((line = reader.ReadLine()) != null)
+            {
+                String[] words = line.Split(null, 3);
+                if(words.Length >= 3 && words[1].Equals("="))
+                {
+                    if (words[0].Equals("autostart"))
+                        autostart = words[2].Equals("true");
+                    if (words[0].Equals("background"))
+                        background = words[2].Equals("true");
+                    if (words[0].Equals("hotkey"))
+                        hotkey = words[2];
+                }
+            }
+            reader.Close();
+        }
+
+        private void writeConfig()
+        {
+            StreamWriter writer;
+            try
+            {
+                if (!Directory.Exists(configDir))
+                    Directory.CreateDirectory(configDir);
+                writer = new StreamWriter(configFile);
+            }
+            catch (IOException e)
+            {
+                error = e.Message;
+                return;
+            }
+            writer.WriteLine("[QuickQR]");
+            writer.WriteLine("autostart = " + (autostart ? "true" : "false"));
+            writer.WriteLine("background = " + (background ? "true" : "false"));
+            writer.WriteLine("hotkey = " + hotkey);
+            writer.Close();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app.config	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<configuration>
+<configSections>
+</configSections>
+<startup><supportedRuntime version="v2.0.50727"/></startup>
+</configuration>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/zxing/net2.0/zxing.XML	Mon Oct 13 21:28:19 2014 -0500
@@ -0,0 +1,10398 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>zxing</name>
+    </assembly>
+    <members>
+        <member name="T:ZXing.QrCode.Internal.AlignmentPattern">
+            <summary> <p>Encapsulates an alignment pattern, which are the smaller square patterns found in
+            all but the simplest QR Codes.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.ResultPoint">
+            <summary>
+            Encapsulates a point of interest in an image containing a barcode. Typically, this
+            would be the location of a finder pattern or the corner of the barcode, for example.
+            </summary>
+            <author>Sean Owen</author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source</author>
+        </member>
+        <member name="M:ZXing.ResultPoint.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.ResultPoint"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.ResultPoint.#ctor(System.Single,System.Single)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.ResultPoint"/> class.
+            </summary>
+            <param name="x">The x.</param>
+            <param name="y">The y.</param>
+        </member>
+        <member name="M:ZXing.ResultPoint.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
+            </summary>
+            <param name="other">The <see cref="T:System.Object"/> to compare with this instance.</param>
+            <returns>
+              <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:ZXing.ResultPoint.GetHashCode">
+            <summary>
+            Returns a hash code for this instance.
+            </summary>
+            <returns>
+            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
+            </returns>
+        </member>
+        <member name="M:ZXing.ResultPoint.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:ZXing.ResultPoint.orderBestPatterns(ZXing.ResultPoint[])">
+            <summary>
+            Orders an array of three ResultPoints in an order [A,B,C] such that AB &lt; AC and
+            BC &lt; AC and the angle between BC and BA is less than 180 degrees.
+            </summary>
+        </member>
+        <member name="M:ZXing.ResultPoint.distance(ZXing.ResultPoint,ZXing.ResultPoint)">
+            <returns>
+            distance between two points
+            </returns>
+        </member>
+        <member name="M:ZXing.ResultPoint.crossProductZ(ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary>
+            Returns the z component of the cross product between vectors BC and BA.
+            </summary>
+        </member>
+        <member name="P:ZXing.ResultPoint.X">
+            <summary>
+            Gets the X.
+            </summary>
+        </member>
+        <member name="P:ZXing.ResultPoint.Y">
+            <summary>
+            Gets the Y.
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.AlignmentPattern.aboutEquals(System.Single,System.Single,System.Single)">
+            <summary> <p>Determines if this alignment pattern "about equals" an alignment pattern at the stated
+            position and size -- meaning, it is at nearly the same center with nearly the same size.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.AlignmentPattern.combineEstimate(System.Single,System.Single,System.Single)">
+            <summary>
+            Combines this object's current estimate of a finder pattern position and module size
+            with a new estimate. It returns a new {@code FinderPattern} containing an average of the two.
+            </summary>
+            <param name="i">The i.</param>
+            <param name="j">The j.</param>
+            <param name="newModuleSize">New size of the module.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.Compaction">
+            <summary>
+            PDF417 compaction mode
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Compaction.AUTO">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Compaction.TEXT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Compaction.BYTE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Compaction.NUMERIC">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.DetectionResultColumn">
+            <summary>
+            Represents a Column in the Detection Result
+            </summary>
+            <author>Guenther Grau</author>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.DetectionResultColumn.MAX_NEARBY_DISTANCE">
+            <summary>
+            The maximum distance to search in the codeword array in both the positive and negative directions
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultColumn.#ctor(ZXing.PDF417.Internal.BoundingBox)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PDF417.Internal.DetectionResultColumn"/> class.
+            </summary>
+            <param name="box">The Bounding Box around the column (in the BitMatrix)</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultColumn.IndexForRow(System.Int32)">
+            <summary>
+            Converts the Image's Row to the index in the Codewords array
+            </summary>
+            <returns>The Codeword Index.</returns>
+            <param name="imageRow">Image row.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultColumn.RowForIndex(System.Int32)">
+            <summary>
+            Converts the Codeword array index into a Row in the Image (BitMatrix)
+            </summary>
+            <returns>The Image Row.</returns>
+            <param name="codewordIndex">Codeword index.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultColumn.getCodeword(System.Int32)">
+            <summary>
+            Gets the codeword for a given row
+            </summary>
+            <returns>The codeword.</returns>
+            <param name="imageRow">Image row.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultColumn.getCodewordNearby(System.Int32)">
+            <summary>
+            Gets the codeword closest to the specified row in the image
+            </summary>
+            <param name="imageRow">Image row.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultColumn.setCodeword(System.Int32,ZXing.PDF417.Internal.Codeword)">
+            <summary>
+            Sets the codeword for an image row
+            </summary>
+            <param name="imageRow">Image row.</param>
+            <param name="codeword">Codeword.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultColumn.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.DetectionResultColumn"/>.
+            </summary>
+            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.DetectionResultColumn"/>.</returns>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.DetectionResultColumn.Box">
+            <summary>
+            The Bounding Box around the column (in the BitMatrix)
+            </summary>
+            <value>The box.</value>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.DetectionResultColumn.Codewords">
+            <summary>
+            The Codewords the Box encodes for, offset by the Box minY.
+            Remember to Access this ONLY through GetCodeword(imageRow) if you're accessing it in that manner.
+            </summary>
+            <value>The codewords.</value>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.BarcodeMetadata">
+            <summary>
+            Metadata about a PDF417 Barcode
+            </summary>
+            <author>Guenther Grau</author>
+        </member>
+        <member name="T:ZXing.OneD.UPCEReader">
+            <summary>
+              <p>Implements decoding of the UPC-E format.</p>
+              <p/>
+              <p><a href="http://www.barcodeisland.com/upce.phtml">This</a>is a great reference for
+            UPC-E information.</p>
+              <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.UPCEANReader">
+            <summary>
+              <p>Encapsulates functionality and implementation that is common to UPC and EAN families
+            of one-dimensional barcodes.</p>
+              <author>dswitkin@google.com (Daniel Switkin)</author>
+              <author>Sean Owen</author>
+              <author>alasdair@google.com (Alasdair Mackintosh)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.OneDReader">
+            <summary>
+            Encapsulates functionality and implementation that is common to all families
+            of one-dimensional barcodes.
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+            <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.Reader">
+            <summary>
+            Implementations of this interface can decode an image of a barcode in some format into
+            the String it encodes. For example, <see cref="T:ZXing.QrCode.QRCodeReader"/> can
+            decode a QR code. The decoder may optionally receive hints from the caller which may help
+            it decode more quickly or accurately.
+            
+            See <see cref="T:ZXing.MultiFormatReader"/>, which attempts to determine what barcode
+            format is present within the image as well, and then decodes it accordingly.
+            </summary>
+            <author>Sean Owen</author>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+        </member>
+        <member name="M:ZXing.Reader.decode(ZXing.BinaryBitmap)">
+            <summary>
+            Locates and decodes a barcode in some format within an image.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <returns>String which the barcode encodes</returns>
+        </member>
+        <member name="M:ZXing.Reader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary> Locates and decodes a barcode in some format within an image. This method also accepts
+            hints, each possibly associated to some data, which may help the implementation decode.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <param name="hints">passed as a <see cref="T:System.Collections.Generic.IDictionary`2"/> from <see cref="T:ZXing.DecodeHintType"/>
+            to arbitrary data. The
+            meaning of the data depends upon the hint type. The implementation may or may not do
+            anything with these hints.
+            </param>
+            <returns>String which the barcode encodes</returns>
+        </member>
+        <member name="M:ZXing.Reader.reset">
+            <summary>
+            Resets any internal state the implementation has after a decode, to prepare it
+            for reuse.
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.OneDReader.INTEGER_MATH_SHIFT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.OneDReader.PATTERN_MATCH_RESULT_SCALE_FACTOR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.decode(ZXing.BinaryBitmap)">
+            <summary>
+            Locates and decodes a barcode in some format within an image.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <returns>
+            String which the barcode encodes
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Locates and decodes a barcode in some format within an image. This method also accepts
+            hints, each possibly associated to some data, which may help the implementation decode.
+            Note that we don't try rotation without the try harder flag, even if rotation was supported.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <param name="hints">passed as a <see cref="T:System.Collections.Generic.IDictionary`2"/> from <see cref="T:ZXing.DecodeHintType"/>
+            to arbitrary data. The
+            meaning of the data depends upon the hint type. The implementation may or may not do
+            anything with these hints.</param>
+            <returns>
+            String which the barcode encodes
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.reset">
+            <summary>
+            Resets any internal state the implementation has after a decode, to prepare it
+            for reuse.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.doDecode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            We're going to examine rows from the middle outward, searching alternately above and below the
+            middle, and farther out each time. rowStep is the number of rows between each successive
+            attempt above and below the middle. So we'd scan row middle, then middle - rowStep, then
+            middle + rowStep, then middle - (2 * rowStep), etc.
+            rowStep is bigger as the image is taller, but is always at least 1. We've somewhat arbitrarily
+            decided that moving up and down by about 1/16 of the image is pretty good; we try more of the
+            image if "trying harder".
+            </summary>
+            <param name="image">The image to decode</param>
+            <param name="hints">Any hints that were requested</param>
+            <returns>The contents of the decoded barcode</returns>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.recordPattern(ZXing.Common.BitArray,System.Int32,System.Int32[])">
+            <summary>
+            Records the size of successive runs of white and black pixels in a row, starting at a given point.
+            The values are recorded in the given array, and the number of runs recorded is equal to the size
+            of the array. If the row starts on a white pixel at the given start point, then the first count
+            recorded is the run of white pixels starting from that point; likewise it is the count of a run
+            of black pixels if the row begin on a black pixels at that point.
+            </summary>
+            <param name="row">row to count from</param>
+            <param name="start">offset into row to start at</param>
+            <param name="counters">array into which to record counts</param>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.recordPattern(ZXing.Common.BitArray,System.Int32,System.Int32[],System.Int32)">
+            <summary>
+            Records the size of successive runs of white and black pixels in a row, starting at a given point.
+            The values are recorded in the given array, and the number of runs recorded is equal to the size
+            of the array. If the row starts on a white pixel at the given start point, then the first count
+            recorded is the run of white pixels starting from that point; likewise it is the count of a run
+            of black pixels if the row begin on a black pixels at that point.
+            </summary>
+            <param name="row">row to count from</param>
+            <param name="start">offset into row to start at</param>
+            <param name="counters">array into which to record counts</param>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.recordPatternInReverse(ZXing.Common.BitArray,System.Int32,System.Int32[])">
+            <summary>
+            Records the pattern in reverse.
+            </summary>
+            <param name="row">The row.</param>
+            <param name="start">The start.</param>
+            <param name="counters">The counters.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.patternMatchVariance(System.Int32[],System.Int32[],System.Int32)">
+            <summary>
+            Determines how closely a set of observed counts of runs of black/white values matches a given
+            target pattern. This is reported as the ratio of the total variance from the expected pattern
+            proportions across all pattern elements, to the length of the pattern.
+            </summary>
+            <param name="counters">observed counters</param>
+            <param name="pattern">expected pattern</param>
+            <param name="maxIndividualVariance">The most any counter can differ before we give up</param>
+            <returns>ratio of total variance between counters and pattern compared to total pattern size,
+             where the ratio has been multiplied by 256. So, 0 means no variance (perfect match); 256 means
+             the total variance between counters and patterns equals the pattern length, higher values mean
+             even more variance</returns>
+        </member>
+        <member name="M:ZXing.OneD.OneDReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Attempts to decode a one-dimensional barcode format given a single row of
+            an image.
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns>
+              <see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode
+            </returns>
+        </member>
+        <member name="F:ZXing.OneD.UPCEANReader.START_END_PATTERN">
+            <summary>
+            Start/end guard pattern.
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.UPCEANReader.MIDDLE_PATTERN">
+            <summary>
+            Pattern marking the middle of a UPC/EAN pattern, separating the two halves.
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.UPCEANReader.L_PATTERNS">
+            <summary>
+            "Odd", or "L" patterns used to encode UPC/EAN digits.
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.UPCEANReader.L_AND_G_PATTERNS">
+            <summary>
+            As above but also including the "even", or "G" patterns used to encode UPC/EAN digits.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.UPCEANReader"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns>
+              <see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode or null, if an error occurs or barcode cannot be found
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Int32[],System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            <p>Like decodeRow(int, BitArray, java.util.Map), but
+            allows caller to inform method about where the UPC/EAN start pattern is
+            found. This allows this to be computed once and reused across many implementations.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.checkChecksum(System.String)">
+            <summary>
+            <returns>see checkStandardUPCEANChecksum(String)</returns>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.checkStandardUPCEANChecksum(System.String)">
+            <summary>
+            Computes the UPC/EAN checksum on a string of digits, and reports
+            whether the checksum is correct or not.
+            </summary>
+            <param name="s">string of digits to check</param>
+            <returns>true iff string of digits passes the UPC/EAN checksum algorithm</returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.decodeEnd(ZXing.Common.BitArray,System.Int32)">
+            <summary>
+            Decodes the end.
+            </summary>
+            <param name="row">The row.</param>
+            <param name="endStart">The end start.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.findGuardPattern(ZXing.Common.BitArray,System.Int32,System.Boolean,System.Int32[],System.Int32[])">
+            <summary>
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <param name="rowOffset">position to start search</param>
+            <param name="whiteFirst">if true, indicates that the pattern specifies white/black/white/...</param>
+            pixel counts, otherwise, it is interpreted as black/white/black/...
+            <param name="pattern">pattern of counts of number of black and white pixels that are being</param>
+            searched for as a pattern
+            <param name="counters">array of counters, as long as pattern, to re-use</param>
+            <returns>start/end horizontal offset of guard pattern, as an array of two ints</returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.decodeDigit(ZXing.Common.BitArray,System.Int32[],System.Int32,System.Int32[][],System.Int32@)">
+            <summary>
+            Attempts to decode a single UPC/EAN-encoded digit.
+            </summary>
+            <param name="row">row of black/white values to decode</param>
+            <param name="counters">the counts of runs of observed black/white/black/... values</param>
+            <param name="rowOffset">horizontal offset to start decoding from</param>
+            <param name="patterns">the set of patterns to use to decode -- sometimes different encodings</param>
+            for the digits 0-9 are used, and this indicates the encodings for 0 to 9 that should
+            be used
+            <returns>horizontal offset of first pixel beyond the decoded digit</returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEANReader.decodeMiddle(ZXing.Common.BitArray,System.Int32[],System.Text.StringBuilder)">
+            <summary>
+            Subclasses override this to decode the portion of a barcode between the start
+            and end guard patterns.
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <param name="startRange">start/end offset of start guard pattern</param>
+            <param name="resultString"><see cref="T:System.Text.StringBuilder"/>to append decoded chars to</param>
+            <returns>horizontal offset of first pixel after the "middle" that was decoded or -1 if decoding could not complete successfully</returns>
+        </member>
+        <member name="P:ZXing.OneD.UPCEANReader.BarcodeFormat">
+            <summary>
+            Get the format of this decoder.
+            <returns>The 1D format.</returns>
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.UPCEReader.MIDDLE_END_PATTERN">
+            <summary>
+            The pattern that marks the middle, and end, of a UPC-E pattern.
+            There is no "second half" to a UPC-E barcode.
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.UPCEReader.NUMSYS_AND_CHECK_DIGIT_PATTERNS">
+            <summary>
+            See L_AND_G_PATTERNS these values similarly represent patterns of
+            even-odd parity encodings of digits that imply both the number system (0 or 1)
+            used, and the check digit.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.UPCEReader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.UPCEReader"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.UPCEReader.decodeMiddle(ZXing.Common.BitArray,System.Int32[],System.Text.StringBuilder)">
+            <summary>
+            Decodes the middle.
+            </summary>
+            <param name="row">The row.</param>
+            <param name="startRange">The start range.</param>
+            <param name="result">The result.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEReader.decodeEnd(ZXing.Common.BitArray,System.Int32)">
+            <summary>
+            Decodes the end.
+            </summary>
+            <param name="row">The row.</param>
+            <param name="endStart">The end start.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEReader.checkChecksum(System.String)">
+            <summary>
+              <returns>see checkStandardUPCEANChecksum(String)</returns>
+            </summary>
+            <param name="s"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEReader.determineNumSysAndCheckDigit(System.Text.StringBuilder,System.Int32)">
+            <summary>
+            Determines the num sys and check digit.
+            </summary>
+            <param name="resultString">The result string.</param>
+            <param name="lgPatternFound">The lg pattern found.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCEReader.convertUPCEtoUPCA(System.String)">
+             <summary>
+             Expands a UPC-E value back into its full, equivalent UPC-A code value.
+            
+             <param name="upce">UPC-E code as string of digits</param>
+             <returns>equivalent UPC-A code as string of digits</returns>
+             </summary>
+        </member>
+        <member name="P:ZXing.OneD.UPCEReader.BarcodeFormat">
+            <summary>
+            Get the format of this decoder.
+            <returns>The 1D format.</returns>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.UPCEANWriter">
+            <summary>
+              <p>Encapsulates functionality and implementation that is common to UPC and EAN families
+            of one-dimensional barcodes.</p>
+              <author>aripollak@gmail.com (Ari Pollak)</author>
+              <author>dsbnatut@gmail.com (Kazuki Nishiura)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.OneDimensionalCodeWriter">
+            <summary>
+              <p>Encapsulates functionality and implementation that is common to one-dimensional barcodes.</p>
+              <author>dsbnatut@gmail.com (Kazuki Nishiura)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.Writer">
+            <summary> The base class for all objects which encode/generate a barcode image.
+            
+            </summary>
+            <author>  dswitkin@google.com (Daniel Switkin)
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Writer.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32)">
+            <summary>
+            Encode a barcode using the default settings.
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <returns> The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)</returns>
+        </member>
+        <member name="M:ZXing.Writer.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary> </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <param name="hints">Additional parameters to supply to the encoder</param>
+            <returns> The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)</returns>
+        </member>
+        <member name="M:ZXing.OneD.OneDimensionalCodeWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32)">
+            <summary>
+            Encode a barcode using the default settings.
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.OneDimensionalCodeWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            Encode the contents following specified format.
+            {@code width} and {@code height} are required size. This method may return bigger size
+            {@code BitMatrix} when specified size is too small. The user can set both {@code width} and
+            {@code height} to zero to get minimum size barcode. If negative value is set to {@code width}
+            or {@code height}, {@code IllegalArgumentException} is thrown.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.OneDimensionalCodeWriter.renderResult(System.Boolean[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            <returns>a byte array of horizontal pixels (0 = white, 1 = black)</returns>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.OneDimensionalCodeWriter.appendPattern(System.Boolean[],System.Int32,System.Int32[],System.Boolean)">
+             <summary>
+             Appends the given pattern to the target array starting at pos.
+            
+             <param name="startColor">starting color - false for white, true for black</param>
+             <returns>the number of elements added to target.</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.OneD.OneDimensionalCodeWriter.encode(System.String)">
+             <summary>
+             Encode the contents to bool array expression of one-dimensional barcode.
+             Start code and end code should be included in result, and side margins should not be included.
+            
+             <returns>a {@code bool[]} of horizontal pixels (false = white, true = black)</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.OneD.OneDimensionalCodeWriter.CalculateChecksumDigitModulo10(System.String)">
+            <summary>
+            Calculates the checksum digit modulo10.
+            </summary>
+            <param name="contents">The contents.</param>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.OneD.OneDimensionalCodeWriter.DefaultMargin">
+            <summary>
+            Gets the default margin.
+            </summary>
+        </member>
+        <member name="P:ZXing.OneD.UPCEANWriter.DefaultMargin">
+            <summary>
+            Gets the default margin.
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI01weightDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI01decoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AbstractExpandedDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.Expanded.Decoders.AbstractExpandedDecoder.getInformation">
+            <summary>
+            Gets the information.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.Expanded.Decoders.AbstractExpandedDecoder.parseInformation">
+            <summary>
+            Parses the information.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.Expanded.Decoders.AbstractExpandedDecoder.createDecoder(ZXing.Common.BitArray)">
+            <summary>
+            Creates the decoder.
+            </summary>
+            <param name="information">The information.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.IBarcodeReaderGeneric`1">
+            <summary>
+            Interface for a smart class to decode the barcode inside a bitmap object
+            </summary>
+            <typeparam name="T">gives the type of the input data</typeparam>
+        </member>
+        <member name="M:ZXing.IBarcodeReaderGeneric`1.Decode(System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat)">
+            <summary>
+            Decodes the specified barcode bitmap which is given by a generic byte array.
+            </summary>
+            <param name="rawRGB">The barcode bitmap.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="format">The format.</param>
+            <returns>
+            the result data or null
+            </returns>
+        </member>
+        <member name="M:ZXing.IBarcodeReaderGeneric`1.Decode(ZXing.LuminanceSource)">
+            <summary>
+            Tries to decode a barcode within an image which is given by a luminance source.
+            That method gives a chance to prepare a luminance source completely before calling
+            the time consuming decoding method. On the other hand there is a chance to create
+            a luminance source which is independent from external resources (like Bitmap objects)
+            and the decoding call can be made in a background thread.
+            </summary>
+            <param name="luminanceSource">The luminance source.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.IBarcodeReaderGeneric`1.Decode(`0)">
+            <summary>
+            Decodes the specified barcode bitmap.
+            </summary>
+            <param name="barcodeBitmap">The barcode bitmap.</param>
+            <returns>the result data or null</returns>
+        </member>
+        <member name="E:ZXing.IBarcodeReaderGeneric`1.ResultPointFound">
+            <summary>
+            event is executed when a result point was found
+            </summary>
+        </member>
+        <member name="E:ZXing.IBarcodeReaderGeneric`1.ResultFound">
+            <summary>
+            event is executed when a result was found via decode
+            </summary>
+        </member>
+        <member name="P:ZXing.IBarcodeReaderGeneric`1.TryHarder">
+            <summary>
+            Gets or sets a flag which cause a deeper look into the bitmap
+            </summary>
+            <value>
+              <c>true</c> if [try harder]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.IBarcodeReaderGeneric`1.PureBarcode">
+            <summary>
+            Image is a pure monochrome image of a barcode.
+            </summary>
+            <value>
+              <c>true</c> if monochrome image of a barcode; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.IBarcodeReaderGeneric`1.CharacterSet">
+            <summary>
+            Specifies what character encoding to use when decoding, where applicable (type String)
+            </summary>
+            <value>
+            The character set.
+            </value>
+        </member>
+        <member name="P:ZXing.IBarcodeReaderGeneric`1.PossibleFormats">
+            <summary>
+            Image is known to be of one of a few possible formats.
+            Maps to a {@link java.util.List} of {@link BarcodeFormat}s.
+            </summary>
+            <value>
+            The possible formats.
+            </value>
+        </member>
+        <member name="P:ZXing.IBarcodeReaderGeneric`1.Options">
+            <summary>
+            Specifies some options which influence the decoding process
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.C40Encoder.handleEOD(ZXing.Datamatrix.Encoder.EncoderContext,System.Text.StringBuilder)">
+            <summary>
+            Handle "end of data" situations
+            </summary>
+            <param name="context">the encoder context</param>
+            <param name="buffer">the buffer with the remaining encoded characters</param>
+        </member>
+        <member name="T:ZXing.Datamatrix.Encoder.Encodation">
+            <summary>
+            Enumeration for encodation types
+            </summary>
+        </member>
+        <member name="T:ZXing.Client.Result.GeoResultParser">
+            <summary> Parses a "geo:" URI result, which specifies a location on the surface of
+            the Earth as well as an optional altitude above the surface. See
+            <a href="http://tools.ietf.org/html/draft-mayrhofer-geo-uri-00">
+            http://tools.ietf.org/html/draft-mayrhofer-geo-uri-00</a>.
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Client.Result.ResultParser">
+            <summary> <p>Abstract class representing the result of decoding a barcode, as more than
+            a String -- as some type of structured data. This might be a subclass which represents
+            a URL, or an e-mail address. {@link #parseResult(com.google.zxing.Result)} will turn a raw
+            decoded string into the most appropriate type of structured representation.</p>
+            
+            <p>Thanks to Jeff Griffin for proposing rewrite of these classes that relies less
+            on exception-based mechanisms during parsing.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.Client.Result.ResultParser.parse(ZXing.Result)">
+            <summary>
+            Attempts to parse the raw {@link Result}'s contents as a particular type
+            of information (email, URL, etc.) and return a {@link ParsedResult} encapsulating
+            the result of parsing.
+            </summary>
+            <param name="theResult">The result.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.BarcodeFormat">
+            <summary>
+            Enumerates barcode formats known to this package.
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.AZTEC">
+            <summary>Aztec 2D barcode format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.CODABAR">
+            <summary>CODABAR 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.CODE_39">
+            <summary>Code 39 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.CODE_93">
+            <summary>Code 93 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.CODE_128">
+            <summary>Code 128 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.DATA_MATRIX">
+            <summary>Data Matrix 2D barcode format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.EAN_8">
+            <summary>EAN-8 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.EAN_13">
+            <summary>EAN-13 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.ITF">
+            <summary>ITF (Interleaved Two of Five) 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.MAXICODE">
+            <summary>MaxiCode 2D barcode format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.PDF_417">
+            <summary>PDF417 format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.QR_CODE">
+            <summary>QR Code 2D barcode format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.RSS_14">
+            <summary>RSS 14</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.RSS_EXPANDED">
+            <summary>RSS EXPANDED</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.UPC_A">
+            <summary>UPC-A 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.UPC_E">
+            <summary>UPC-E 1D format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.UPC_EAN_EXTENSION">
+            <summary>UPC/EAN extension format. Not a stand-alone format.</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.MSI">
+            <summary>MSI</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.PLESSEY">
+            <summary>Plessey</summary>
+        </member>
+        <member name="F:ZXing.BarcodeFormat.All_1D">
+            <summary>
+            UPC_A | UPC_E | EAN_13 | EAN_8 | CODABAR | CODE_39 | CODE_93 | CODE_128 | ITF | RSS_14 | RSS_EXPANDED
+            without MSI (to many false-positives)
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.Detector">
+            <summary>
+            <p>Encapsulates logic that can detect a QR Code in an image, even if the QR Code
+            is rotated or skewed, or partially obscured.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.#ctor(ZXing.Common.BitMatrix)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.QrCode.Internal.Detector"/> class.
+            </summary>
+            <param name="image">The image.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.detect">
+            <summary>
+              <p>Detects a QR Code in an image, simply.</p>
+            </summary>
+            <returns>
+              <see cref="T:ZXing.Common.DetectorResult"/> encapsulating results of detecting a QR Code
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.detect(System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Detects a QR Code in an image, simply.</p>
+            </summary>
+            <param name="hints">optional hints to detector</param>
+            <returns>
+              <see cref="T:ZXing.Common.DetectorResult"/> encapsulating results of detecting a QR Code
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.processFinderPatternInfo(ZXing.QrCode.Internal.FinderPatternInfo)">
+            <summary>
+            Processes the finder pattern info.
+            </summary>
+            <param name="info">The info.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.computeDimension(ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,System.Single,System.Int32@)">
+            <summary> <p>Computes the dimension (number of modules on a size) of the QR Code based on the position
+            of the finder patterns and estimated module size.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.calculateModuleSize(ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary> <p>Computes an average estimated module size based on estimated derived from the positions
+            of the three finder patterns.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.calculateModuleSizeOneWay(ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary> <p>Estimates module size based on two finder patterns -- it uses
+            {@link #sizeOfBlackWhiteBlackRunBothWays(int, int, int, int)} to figure the
+            width of each, measuring along the axis between their centers.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.sizeOfBlackWhiteBlackRunBothWays(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary> See {@link #sizeOfBlackWhiteBlackRun(int, int, int, int)}; computes the total width of
+            a finder pattern by looking for a black-white-black run from the center in the direction
+            of another point (another finder pattern center), and in the opposite direction too.
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.sizeOfBlackWhiteBlackRun(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary> <p>This method traces a line from a point in the image, in the direction towards another point.
+            It begins in a black region, and keeps going until it finds white, then black, then white again.
+            It reports the distance from the start to this point.</p>
+            
+            <p>This is used when figuring out how wide a finder pattern is, when the finder pattern
+            may be skewed or rotated.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Detector.findAlignmentInRegion(System.Single,System.Int32,System.Int32,System.Single)">
+            <summary>
+              <p>Attempts to locate an alignment pattern in a limited region of the image, which is
+            guessed to contain it. This method uses {@link AlignmentPattern}.</p>
+            </summary>
+            <param name="overallEstModuleSize">estimated module size so far</param>
+            <param name="estAlignmentX">x coordinate of center of area probably containing alignment pattern</param>
+            <param name="estAlignmentY">y coordinate of above</param>
+            <param name="allowanceFactor">number of pixels in all directions to search from the center</param>
+            <returns>
+              <see cref="T:ZXing.QrCode.Internal.AlignmentPattern"/> if found, or null otherwise
+            </returns>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Detector.Image">
+            <summary>
+            Gets the image.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Detector.ResultPointCallback">
+            <summary>
+            Gets the result point callback.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.Version">
+            <summary>
+            See ISO 18004:2006 Annex D
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Version.VERSION_DECODE_INFO">
+            <summary> See ISO 18004:2006 Annex D.
+            Element i represents the raw version bits that specify version i + 7
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Version.getECBlocksForLevel(ZXing.QrCode.Internal.ErrorCorrectionLevel)">
+            <summary>
+            Gets the EC blocks for level.
+            </summary>
+            <param name="ecLevel">The ec level.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Version.getProvisionalVersionForDimension(System.Int32)">
+            <summary> <p>Deduces version information purely from QR Code dimensions.</p>
+            
+            </summary>
+            <param name="dimension">dimension in modules
+            </param>
+            <returns><see cref="T:ZXing.QrCode.Internal.Version"/> for a QR Code of that dimension or null</returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Version.getVersionForNumber(System.Int32)">
+            <summary>
+            Gets the version for number.
+            </summary>
+            <param name="versionNumber">The version number.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Version.buildFunctionPattern">
+            <summary> See ISO 18004:2006 Annex E</summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Version.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Version.buildVersions">
+            <summary> See ISO 18004:2006 6.5.1 Table 9</summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.VersionNumber">
+            <summary>
+            Gets the version number.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.AlignmentPatternCenters">
+            <summary>
+            Gets the alignment pattern centers.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.TotalCodewords">
+            <summary>
+            Gets the total codewords.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.DimensionForVersion">
+            <summary>
+            Gets the dimension for version.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.Version.ECBlocks">
+            <summary> <p>Encapsulates a set of error-correction blocks in one symbol version. Most versions will
+            use blocks of differing sizes within one version, so, this encapsulates the parameters for
+            each set of blocks. It also holds the number of error-correction codewords per block since it
+            will be the same across all blocks within one version.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Version.ECBlocks.getECBlocks">
+            <summary>
+            Gets the EC blocks.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.ECBlocks.ECCodewordsPerBlock">
+            <summary>
+            Gets the EC codewords per block.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.ECBlocks.NumBlocks">
+            <summary>
+            Gets the num blocks.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.ECBlocks.TotalECCodewords">
+            <summary>
+            Gets the total EC codewords.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.Version.ECB">
+            <summary> <p>Encapsualtes the parameters for one error-correction block in one symbol version.
+            This includes the number of data codewords, and the number of times a block with these
+            parameters is used consecutively in the QR code version's format.</p>
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.ECB.Count">
+            <summary>
+            Gets the count.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Version.ECB.DataCodewords">
+            <summary>
+            Gets the data codewords.
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.PDF417">
+            <summary>
+            Top-level class for the logic part of the PDF417 implementation.
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417.START_PATTERN">
+            <summary>
+            The start pattern (17 bits)
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417.STOP_PATTERN">
+            <summary>
+            The stop pattern (18 bits)
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417.CODEWORD_TABLE">
+            <summary>
+            The codeword table from the Annex A of ISO/IEC 15438:2001(E).
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.calculateNumberOfRows(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Calculates the necessary number of rows as described in annex Q of ISO/IEC 15438:2001(E).
+            </summary>
+            <param name="m">the number of source codewords prior to the additional of the Symbol Length</param>
+                     Descriptor and any pad codewords
+            <param name="k">the number of error correction codewords</param>
+            <param name="c">the number of columns in the symbol in the data region (excluding start, stop and</param>
+                     row indicator codewords)
+            <returns>the number of rows in the symbol (r)</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.getNumberOfPadCodewords(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Calculates the number of pad codewords as described in 4.9.2 of ISO/IEC 15438:2001(E).
+            </summary>
+            <param name="m">the number of source codewords prior to the additional of the Symbol Length</param>
+                     Descriptor and any pad codewords
+            <param name="k">the number of error correction codewords</param>
+            <param name="c">the number of columns in the symbol in the data region (excluding start, stop and</param>
+                     row indicator codewords)
+            <param name="r">the number of rows in the symbol</param>
+            <returns>the number of pad codewords</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.generateBarcodeLogic(System.String,System.Int32)">
+            <summary>
+            Generates the barcode logic.
+            </summary>
+            <param name="msg">the message to encode</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.determineDimensions(System.Int32,System.Int32)">
+            <summary>
+            Determine optimal nr of columns and rows for the specified number of
+            codewords.
+            </summary>
+            <param name="sourceCodeWords">number of code words</param>
+            <param name="errorCorrectionCodeWords">number of error correction code words</param>
+            <returns>dimension object containing cols as width and rows as height</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.setDimensions(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Sets max/min row/col values
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.setCompaction(ZXing.PDF417.Internal.Compaction)">
+            <summary>
+            Sets compaction to values stored in <see cref="T:ZXing.PDF417.Internal.Compaction"/>enum
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.setCompact(System.Boolean)">
+            <summary>
+            Sets compact to be true or false
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.setEncoding(System.String)">
+            <summary>
+            Sets output encoding.
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417.setDisableEci(System.Boolean)">
+            <summary>
+            Sets the disable eci.
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.BarcodeValue">
+            <summary>
+            A Barcode Value for the PDF417 barcode.  
+            The scanner will iterate through the bitmatrix, 
+            and given the different methods or iterations 
+            will increment a given barcode value's confidence.
+            
+            When done, this will return the values of highest confidence.
+            </summary>
+            <author>Guenther Grau</author>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BarcodeValue.setValue(System.Int32)">
+             <summary>
+             Incremenets the Confidence for a given value. (Adds an occurance of a value)
+            
+             </summary>
+             <param name="value">Value.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BarcodeValue.getValue">
+            <summary>
+            Determines the maximum occurrence of a set value and returns all values which were set with this occurrence.
+            </summary>
+            <returns>an array of int, containing the values with the highest occurrence, or null, if no value was set.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BarcodeValue.getConfidence(System.Int32)">
+            <summary>
+            Returns the confience value for a given barcode value
+            </summary>
+            <param name="barcodeValue">Barcode value.</param>
+        </member>
+        <member name="T:ZXing.OneD.UPCEANExtension2Support">
+            <summary>
+            @see UPCEANExtension5Support
+            </summary>
+        </member>
+        <!-- Ungültiger XML-Kommentar wurde für den Member "M:ZXing.OneD.UPCEANExtension2Support.parseExtensionString(System.String)" ignoriert -->
+        <member name="T:ZXing.OneD.ITFWriter">
+            <summary>
+            This object renders a ITF code as a <see cref="T:ZXing.Common.BitMatrix"/>.
+            
+            <author>erik.barbara@gmail.com (Erik Barbara)</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.ITFWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            Encode the contents following specified format.
+            {@code width} and {@code height} are required size. This method may return bigger size
+            {@code BitMatrix} when specified size is too small. The user can set both {@code width} and
+            {@code height} to zero to get minimum size barcode. If negative value is set to {@code width}
+            or {@code height}, {@code IllegalArgumentException} is thrown.
+            </summary>
+            <param name="contents"></param>
+            <param name="format"></param>
+            <param name="width"></param>
+            <param name="height"></param>
+            <param name="hints"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.ITFWriter.encode(System.String)">
+            <summary>
+            Encode the contents to bool array expression of one-dimensional barcode.
+            Start code and end code should be included in result, and side margins should not be included.
+            <returns>a {@code bool[]} of horizontal pixels (false = white, true = black)</returns>
+            </summary>
+            <param name="contents"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.OneD.ITFReader">
+             <summary>
+             <p>Implements decoding of the ITF format, or Interleaved Two of Five.</p>
+            
+             <p>This Reader will scan ITF barcodes of certain lengths only.
+             At the moment it reads length 6, 8, 10, 12, 14, 16, 18, 20, 24, 44 and 48 as these have appeared "in the wild". Not all
+             lengths are scanned, especially shorter ones, to avoid false positives. This in turn is due to a lack of
+             required checksum function.</p>
+            
+             <p>The checksum is optional and is not applied by this Reader. The consumer of the decoded
+             value will have to apply a checksum if required.</p>
+            
+             <p><a href="http://en.wikipedia.org/wiki/Interleaved_2_of_5">http://en.wikipedia.org/wiki/Interleaved_2_of_5</a>
+             is a great reference for Interleaved 2 of 5 information.</p>
+            
+             <author>kevin.osullivan@sita.aero, SITA Lab.</author>
+             </summary>
+        </member>
+        <member name="F:ZXing.OneD.ITFReader.DEFAULT_ALLOWED_LENGTHS">
+            <summary>
+            Valid ITF lengths. Anything longer than the largest value is also allowed.
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.ITFReader.START_PATTERN">
+             <summary>
+             Start/end guard pattern.
+            
+             Note: The end pattern is reversed because the row is reversed before
+             searching for the END_PATTERN
+             </summary>
+        </member>
+        <member name="F:ZXing.OneD.ITFReader.PATTERNS">
+            <summary>
+            Patterns of Wide / Narrow lines to indicate each digit
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.ITFReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Attempts to decode a one-dimensional barcode format given a single row of
+            an image.
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns>
+              <see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.ITFReader.decodeMiddle(ZXing.Common.BitArray,System.Int32,System.Int32,System.Text.StringBuilder)">
+            <summary>
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <param name="payloadStart">offset of start pattern</param>
+            <param name="payloadEnd">The payload end.</param>
+            <param name="resultString"><see cref="T:System.Text.StringBuilder"/>to append decoded chars to</param>
+            <returns>
+            false, if decoding could not complete successfully
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.ITFReader.decodeStart(ZXing.Common.BitArray)">
+            <summary>
+            Identify where the start of the middle / payload section starts.
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <returns>Array, containing index of start of 'start block' and end of 'start block'</returns>
+        </member>
+        <member name="M:ZXing.OneD.ITFReader.validateQuietZone(ZXing.Common.BitArray,System.Int32)">
+             <summary>
+             The start &amp; end patterns must be pre/post fixed by a quiet zone. This
+             zone must be at least 10 times the width of a narrow line.  Scan back until
+             we either get to the start of the barcode or match the necessary number of
+             quiet zone pixels.
+            
+             Note: Its assumed the row is reversed when using this method to find
+             quiet zone after the end pattern.
+            
+             ref: http://www.barcode-1.net/i25code.html
+             </summary>
+             <param name="row">bit array representing the scanned barcode.</param>
+             <param name="startPattern">index into row of the start or end pattern.</param>
+             <returns>false, if the quiet zone cannot be found</returns>
+        </member>
+        <member name="M:ZXing.OneD.ITFReader.skipWhiteSpace(ZXing.Common.BitArray)">
+            <summary>
+            Skip all whitespace until we get to the first black line.
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <returns>index of the first black line or -1 if no black lines are found in the row.</returns>
+        </member>
+        <member name="M:ZXing.OneD.ITFReader.decodeEnd(ZXing.Common.BitArray)">
+            <summary>
+            Identify where the end of the middle / payload section ends.
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <returns>Array, containing index of start of 'end block' and end of 'end
+            block' or null, if nothing found</returns>
+        </member>
+        <member name="M:ZXing.OneD.ITFReader.findGuardPattern(ZXing.Common.BitArray,System.Int32,System.Int32[])">
+            <summary>
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <param name="rowOffset">position to start search</param>
+            <param name="pattern">pattern of counts of number of black and white pixels that are being searched for as a pattern</param>
+            <returns>start/end horizontal offset of guard pattern, as an array of two ints</returns>
+        </member>
+        <member name="M:ZXing.OneD.ITFReader.decodeDigit(System.Int32[],System.Int32@)">
+            <summary>
+            Attempts to decode a sequence of ITF black/white lines into single
+            digit.
+            </summary>
+            <param name="counters">the counts of runs of observed black/white/black/... values</param>
+            <param name="bestMatch">The decoded digit</param>
+            <returns>
+            false, if digit cannot be decoded
+            </returns>
+        </member>
+        <member name="T:ZXing.MultiFormatWriter">
+            <summary> This is a factory class which finds the appropriate Writer subclass for the BarcodeFormat
+            requested and encodes the barcode with the supplied contents.
+            
+            </summary>
+            <author>  dswitkin@google.com (Daniel Switkin)
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="P:ZXing.MultiFormatWriter.SupportedWriters">
+            <summary>
+            Gets the collection of supported writers.
+            </summary>
+        </member>
+        <member name="T:ZXing.MultiFormatReader">
+            <summary>
+            MultiFormatReader is a convenience class and the main entry point into the library for most uses.
+            By default it attempts to decode all barcode formats that the library supports. Optionally, you
+            can provide a hints object to request different behavior, for example only decoding QR codes.
+            </summary>
+            <author>Sean Owen</author>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source</author>
+        </member>
+        <member name="M:ZXing.MultiFormatReader.decode(ZXing.BinaryBitmap)">
+            <summary> This version of decode honors the intent of Reader.decode(BinaryBitmap) in that it
+            passes null as a hint to the decoders. However, that makes it inefficient to call repeatedly.
+            Use setHints() followed by decodeWithState() for continuous scan applications.
+            
+            </summary>
+            <param name="image">The pixel data to decode
+            </param>
+            <returns> The contents of the image
+            </returns>
+            <throws>  ReaderException Any errors which occurred </throws>
+        </member>
+        <member name="M:ZXing.MultiFormatReader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary> Decode an image using the hints provided. Does not honor existing state.
+            
+            </summary>
+            <param name="image">The pixel data to decode
+            </param>
+            <param name="hints">The hints to use, clearing the previous state.
+            </param>
+            <returns> The contents of the image
+            </returns>
+            <throws>  ReaderException Any errors which occurred </throws>
+        </member>
+        <member name="M:ZXing.MultiFormatReader.decodeWithState(ZXing.BinaryBitmap)">
+            <summary> Decode an image using the state set up by calling setHints() previously. Continuous scan
+            clients will get a <b>large</b> speed increase by using this instead of decode().
+            
+            </summary>
+            <param name="image">The pixel data to decode
+            </param>
+            <returns> The contents of the image
+            </returns>
+            <throws>  ReaderException Any errors which occurred </throws>
+        </member>
+        <member name="P:ZXing.MultiFormatReader.Hints">
+            <summary> This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
+            to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
+            is important for performance in continuous scan clients.
+            
+            </summary>
+            <param name="hints">The set of hints to use for subsequent calls to decode(image)
+            </param>
+        </member>
+        <member name="T:ZXing.LuminanceSource">
+            <summary> The purpose of this class hierarchy is to abstract different bitmap implementations across
+            platforms into a standard interface for requesting greyscale luminance values. The interface
+            only provides immutable methods; therefore crop and rotation create copies. This is to ensure
+            that one Reader does not modify the original luminance source and leave it in an unknown state
+            for other Readers in the chain.
+            </summary>
+            <author>  dswitkin@google.com (Daniel Switkin)
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.LuminanceSource.getRow(System.Int32,System.Byte[])">
+            <summary> Fetches one row of luminance data from the underlying platform's bitmap. Values range from
+            0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
+            to bitwise and with 0xff for each value. It is preferable for implementations of this method
+            to only fetch this row rather than the whole image, since no 2D Readers may be installed and
+            getMatrix() may never be called.
+            
+            </summary>
+            <param name="y">The row to fetch, 0 &lt;= y &lt; Height.
+            </param>
+            <param name="row">An optional preallocated array. If null or too small, it will be ignored.
+            Always use the returned object, and ignore the .length of the array.
+            </param>
+            <returns> An array containing the luminance data.
+            </returns>
+        </member>
+        <member name="M:ZXing.LuminanceSource.crop(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary> Returns a new object with cropped image data. Implementations may keep a reference to the
+            original data rather than a copy. Only callable if CropSupported is true.
+            
+            </summary>
+            <param name="left">The left coordinate, 0 &lt;= left &lt; Width.
+            </param>
+            <param name="top">The top coordinate, 0 &lt;= top &lt;= Height.
+            </param>
+            <param name="width">The width of the rectangle to crop.
+            </param>
+            <param name="height">The height of the rectangle to crop.
+            </param>
+            <returns> A cropped version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.LuminanceSource.rotateCounterClockwise">
+            <summary>
+            Returns a new object with rotated image data by 90 degrees counterclockwise.
+            Only callable if {@link #isRotateSupported()} is true.
+            </summary>
+            <returns> A rotated version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.LuminanceSource.rotateCounterClockwise45">
+            <summary>
+            Returns a new object with rotated image data by 45 degrees counterclockwise.
+            Only callable if {@link #isRotateSupported()} is true.
+            </summary>
+            <returns>A rotated version of this object.</returns>
+        </member>
+        <member name="P:ZXing.LuminanceSource.Matrix">
+            <summary> Fetches luminance data for the underlying bitmap. Values should be fetched using:
+            int luminance = array[y * width + x] &amp; 0xff;
+            
+            </summary>
+            <returns> A row-major 2D array of luminance values. Do not use result.length as it may be
+            larger than width * height bytes on some platforms. Do not modify the contents
+            of the result.
+            </returns>
+        </member>
+        <member name="P:ZXing.LuminanceSource.Width">
+            <returns> The width of the bitmap.</returns>
+        </member>
+        <member name="P:ZXing.LuminanceSource.Height">
+            <returns> The height of the bitmap.</returns>
+        </member>
+        <member name="P:ZXing.LuminanceSource.CropSupported">
+            <returns> Whether this subclass supports cropping.</returns>
+        </member>
+        <member name="P:ZXing.LuminanceSource.RotateSupported">
+            <returns> Whether this subclass supports counter-clockwise rotation.</returns>
+        </member>
+        <member name="P:ZXing.LuminanceSource.InversionSupported">
+            <summary>
+            </summary>
+            <returns>Whether this subclass supports invertion.</returns>
+        </member>
+        <member name="T:ZXing.Datamatrix.Encoder.SymbolInfo">
+            <summary>
+            Symbol info table for DataMatrix.
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.SymbolInfo.overrideSymbolSet(ZXing.Datamatrix.Encoder.SymbolInfo[])">
+             Overrides the symbol info set used by this class. Used for testing purposes.
+            
+             @param override the symbol info set to use
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.DecodedBitStreamParser">
+             <summary>
+             <p>Data Matrix Codes can encode text as bits in one of several modes, and can use multiple modes
+             in one Data Matrix Code. This class decodes the bits back into text.</p>
+            
+             <p>See ISO 16022:2006, 5.2.1 - 5.2.9.2</p>
+            
+             <author>bbrown@google.com (Brian Brown)</author>
+             <author>Sean Owen</author>
+             </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Internal.DecodedBitStreamParser.C40_BASIC_SET_CHARS">
+            <summary>
+            See ISO 16022:2006, Annex C Table C.1
+            The C40 Basic Character Set (*'s used for placeholders for the shift values)
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Internal.DecodedBitStreamParser.TEXT_BASIC_SET_CHARS">
+            <summary>
+            See ISO 16022:2006, Annex C Table C.2
+            The Text Basic Character Set (*'s used for placeholders for the shift values)
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.DecodedBitStreamParser.decodeAsciiSegment(ZXing.Common.BitSource,System.Text.StringBuilder,System.Text.StringBuilder,ZXing.Datamatrix.Internal.DecodedBitStreamParser.Mode@)">
+            <summary>
+            See ISO 16022:2006, 5.2.3 and Annex C, Table C.2
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.DecodedBitStreamParser.decodeC40Segment(ZXing.Common.BitSource,System.Text.StringBuilder)">
+            <summary>
+            See ISO 16022:2006, 5.2.5 and Annex C, Table C.1
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.DecodedBitStreamParser.decodeTextSegment(ZXing.Common.BitSource,System.Text.StringBuilder)">
+            <summary>
+            See ISO 16022:2006, 5.2.6 and Annex C, Table C.2
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.DecodedBitStreamParser.decodeAnsiX12Segment(ZXing.Common.BitSource,System.Text.StringBuilder)">
+            <summary>
+            See ISO 16022:2006, 5.2.7
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.DecodedBitStreamParser.decodeEdifactSegment(ZXing.Common.BitSource,System.Text.StringBuilder)">
+            <summary>
+            See ISO 16022:2006, 5.2.8 and Annex C Table C.3
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.DecodedBitStreamParser.decodeBase256Segment(ZXing.Common.BitSource,System.Text.StringBuilder,System.Collections.Generic.IList{System.Byte[]})">
+            <summary>
+            See ISO 16022:2006, 5.2.9 and Annex B, B.2
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.DecodedBitStreamParser.unrandomize255State(System.Int32,System.Int32)">
+            <summary>
+            See ISO 16022:2006, Annex B, B.2
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.DataBlock">
+             <summary>
+             <p>Encapsulates a block of data within a Data Matrix Code. Data Matrix Codes may split their data into
+             multiple blocks, each of which is a unit of data and error-correction codewords. Each
+             is represented by an instance of this class.</p>
+            
+             <author>bbrown@google.com (Brian Brown)</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.DataBlock.getDataBlocks(System.Byte[],ZXing.Datamatrix.Internal.Version)">
+             <summary>
+             <p>When Data Matrix Codes use multiple data blocks, they actually interleave the bytes of each of them.
+             That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This
+             method will separate the data into original blocks.</p>
+            
+             <param name="rawCodewords">bytes as read directly from the Data Matrix Code</param>
+             <param name="version">version of the Data Matrix Code</param>
+             <returns>DataBlocks containing original bytes, "de-interleaved" from representation in the</returns>
+                     Data Matrix Code
+             </summary>
+        </member>
+        <member name="T:ZXing.Common.EncodingOptions">
+            <summary>
+            Defines an container for encoder options
+            </summary>
+        </member>
+        <member name="M:ZXing.Common.EncodingOptions.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Common.EncodingOptions"/> class.
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.EncodingOptions.Hints">
+            <summary>
+            Gets the data container for all options
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.EncodingOptions.Height">
+            <summary>
+            Specifies the height of the barcode image
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.EncodingOptions.Width">
+            <summary>
+            Specifies the width of the barcode image
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.EncodingOptions.PureBarcode">
+            <summary>
+            Don't put the content string into the output image.
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.EncodingOptions.Margin">
+            <summary>
+            Specifies margin, in pixels, to use when generating the barcode. The meaning can vary
+            by format; for example it controls margin before and after the barcode horizontally for
+            most 1D formats.
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.BitSource">
+            <summary> <p>This provides an easy abstraction to read bits at a time from a sequence of bytes, where the
+            number of bits read is not often a multiple of 8.</p>
+            
+            <p>This class is thread-safe but not reentrant. Unless the caller modifies the bytes array
+            it passed in, in which case all bets are off.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Common.BitSource.#ctor(System.Byte[])">
+            <param name="bytes">bytes from which this will read bits. Bits will be read from the first byte first.
+            Bits are read within a byte from most-significant to least-significant bit.
+            </param>
+        </member>
+        <member name="M:ZXing.Common.BitSource.readBits(System.Int32)">
+            <param name="numBits">number of bits to read
+            </param>
+            <returns> int representing the bits read. The bits will appear as the least-significant
+            bits of the int
+            </returns>
+            <exception cref="T:System.ArgumentException">if numBits isn't in [1,32] or more than is available</exception>
+        </member>
+        <member name="M:ZXing.Common.BitSource.available">
+            <returns> number of bits that can be read successfully
+            </returns>
+        </member>
+        <member name="P:ZXing.Common.BitSource.BitOffset">
+            <summary>
+            index of next bit in current byte which would be read by the next call to {@link #readBits(int)}.
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.BitSource.ByteOffset">
+            <summary>
+            index of next byte in input byte array which would be read by the next call to {@link #readBits(int)}.
+            </summary>
+        </member>
+        <member name="T:ZXing.Client.Result.CalendarParsedResult">
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.Client.Result.ParsedResult">
+            <summary> <p>Abstract class representing the result of decoding a barcode, as more than
+            a String -- as some type of structured data. This might be a subclass which represents
+            a URL, or an e-mail address. {@link ResultParser#parseResult(Result)} will turn a raw
+            decoded string into the most appropriate type of structured representation.</p>
+            
+            <p>Thanks to Jeff Griffin for proposing rewrite of these classes that relies less
+            on exception-based mechanisms during parsing.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.Client.Result.CalendarParsedResult.isStartAllDay">
+            <summary>
+            Determines whether [is start all day].
+            </summary>
+            <returns>if start time was specified as a whole day</returns>
+        </member>
+        <member name="M:ZXing.Client.Result.CalendarParsedResult.parseDate(System.String)">
+            <summary>
+            Parses a string as a date. RFC 2445 allows the start and end fields to be of type DATE (e.g. 20081021)
+            or DATE-TIME (e.g. 20081021T123000 for local time, or 20081021T123000Z for UTC).
+            </summary>
+            <param name="when">The string to parse</param>
+            <returns></returns>
+            <exception cref="T:System.ArgumentException">if not a date formatted string</exception>
+        </member>
+        <member name="P:ZXing.Client.Result.CalendarParsedResult.Start">
+            <summary>
+            Gets the start.
+            </summary>
+        </member>
+        <member name="P:ZXing.Client.Result.CalendarParsedResult.End">
+            <summary>
+            May return null if the event has no duration.
+            </summary>
+        </member>
+        <member name="P:ZXing.Client.Result.CalendarParsedResult.isEndAllDay">
+            <summary>
+            Gets a value indicating whether this instance is end all day.
+            </summary>
+            <value>true if end time was specified as a whole day</value>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.QRCode">
+            <author>satorux@google.com (Satoru Takabayashi) - creator</author>
+            <author>dswitkin@google.com (Daniel Switkin) - ported from C++</author>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.QRCode.NUM_MASK_PATTERNS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.QRCode.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.QrCode.Internal.QRCode"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.QRCode.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.QRCode.isValidMaskPattern(System.Int32)">
+            <summary>
+            Check if "mask_pattern" is valid.
+            </summary>
+            <param name="maskPattern">The mask pattern.</param>
+            <returns>
+              <c>true</c> if [is valid mask pattern] [the specified mask pattern]; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.QRCode.Mode">
+            <summary>
+            Gets or sets the mode.
+            </summary>
+            <value>
+            The mode.
+            </value>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.QRCode.ECLevel">
+            <summary>
+            Gets or sets the EC level.
+            </summary>
+            <value>
+            The EC level.
+            </value>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.QRCode.Version">
+            <summary>
+            Gets or sets the version.
+            </summary>
+            <value>
+            The version.
+            </value>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.QRCode.MaskPattern">
+            <summary>
+            Gets or sets the mask pattern.
+            </summary>
+            <value>
+            The mask pattern.
+            </value>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.QRCode.Matrix">
+            <summary>
+            Gets or sets the matrix.
+            </summary>
+            <value>
+            The matrix.
+            </value>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.ByteMatrix">
+            <summary>
+            JAVAPORT: The original code was a 2D array of ints, but since it only ever gets assigned
+            0, 1 and 2 I'm going to use less memory and go with bytes.
+            </summary>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.ByteMatrix.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.QrCode.Internal.ByteMatrix"/> class.
+            </summary>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.ByteMatrix.set(System.Int32,System.Int32,System.Byte)">
+            <summary>
+            Sets the specified x.
+            </summary>
+            <param name="x">The x.</param>
+            <param name="y">The y.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.ByteMatrix.set(System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Sets the specified x.
+            </summary>
+            <param name="x">The x.</param>
+            <param name="y">The y.</param>
+            <param name="value">if set to <c>true</c> [value].</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.ByteMatrix.clear(System.Byte)">
+            <summary>
+            Clears the specified value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.ByteMatrix.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.ByteMatrix.Height">
+            <summary>
+            Gets the height.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.ByteMatrix.Width">
+            <summary>
+            Gets the width.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.ByteMatrix.Item(System.Int32,System.Int32)">
+            <summary>
+            Gets or sets the <see cref="T:System.Int32"/> with the specified x.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.ByteMatrix.Array">
+            <summary>
+            an internal representation as bytes, in row-major order. array[y][x] represents point (x,y)
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataBlock">
+            <summary> <p>Encapsulates a block of data within a QR Code. QR Codes may split their data into
+            multiple blocks, each of which is a unit of data and error-correction codewords. Each
+            is represented by an instance of this class.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.DataBlock.getDataBlocks(System.Byte[],ZXing.QrCode.Internal.Version,ZXing.QrCode.Internal.ErrorCorrectionLevel)">
+            <summary> <p>When QR Codes use multiple data blocks, they are actually interleaved.
+            That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This
+            method will separate the data into original blocks.</p>
+            
+            </summary>
+            <param name="rawCodewords">bytes as read directly from the QR Code
+            </param>
+            <param name="version">version of the QR Code
+            </param>
+            <param name="ecLevel">error-correction level of the QR Code
+            </param>
+            <returns> {@link DataBlock}s containing original bytes, "de-interleaved" from representation in the
+            QR Code
+            </returns>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.BarcodeRow">
+            <summary>
+            <author>Jacob Haynes</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BarcodeRow.#ctor(System.Int32)">
+            <summary>
+            Creates a Barcode row of the width
+            </summary>
+            <param name="width">The width.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BarcodeRow.set(System.Int32,System.Boolean)">
+             <summary>
+             Sets a specific location in the bar
+            
+             <param name="x">The location in the bar</param>
+             <param name="black">Black if true, white if false;</param>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BarcodeRow.addBar(System.Boolean,System.Int32)">
+            <summary>
+            <param name="black">A boolean which is true if the bar black false if it is white</param>
+            <param name="width">How many spots wide the bar is.</param>
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BarcodeRow.getScaledRow(System.Int32)">
+             <summary>
+             This function scales the row
+            
+             <param name="scale">How much you want the image to be scaled, must be greater than or equal to 1.</param>
+             <returns>the scaled row</returns>
+             </summary>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.BarcodeRow.Item(System.Int32)">
+             <summary>
+             Sets a specific location in the bar
+            
+             <param name="x">The location in the bar</param>
+             <param name="value">Black if true, white if false;</param>
+             </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.EC.ModulusPoly">
+            <summary>
+            <see cref="!:com.google.zxing.common.reedsolomon.GenericGFPoly"/>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.getCoefficient(System.Int32)">
+            <summary>
+            coefficient of x^degree term in this polynomial
+            </summary>
+            <param name="degree">The degree.</param>
+            <returns>coefficient of x^degree term in this polynomial</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.evaluateAt(System.Int32)">
+            <summary>
+            evaluation of this polynomial at a given point
+            </summary>
+            <param name="a">A.</param>
+            <returns>evaluation of this polynomial at a given point</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.add(ZXing.PDF417.Internal.EC.ModulusPoly)">
+            <summary>
+            Adds another Modulus
+            </summary>
+            <param name="other">Other.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.subtract(ZXing.PDF417.Internal.EC.ModulusPoly)">
+            <summary>
+            Subtract another Modulus
+            </summary>
+            <param name="other">Other.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.multiply(ZXing.PDF417.Internal.EC.ModulusPoly)">
+            <summary>
+            Multiply by another Modulus
+            </summary>
+            <param name="other">Other.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.getNegative">
+            <summary>
+            Returns a Negative version of this instance
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.multiply(System.Int32)">
+            <summary>
+            Multiply by a Scalar.
+            </summary>
+            <param name="scalar">Scalar.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.multiplyByMonomial(System.Int32,System.Int32)">
+            <summary>
+            Multiplies by a Monomial
+            </summary>
+            <returns>The by monomial.</returns>
+            <param name="degree">Degree.</param>
+            <param name="coefficient">Coefficient.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.divide(ZXing.PDF417.Internal.EC.ModulusPoly)">
+            <summary>
+            Divide by another modulus
+            </summary>
+            <param name="other">Other.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ModulusPoly.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.EC.ModulusPoly"/>.
+            </summary>
+            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.EC.ModulusPoly"/>.</returns>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.EC.ModulusPoly.Coefficients">
+            <summary>
+            Gets the coefficients.
+            </summary>
+            <value>The coefficients.</value>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.EC.ModulusPoly.Degree">
+            <summary>
+            degree of this polynomial
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.EC.ModulusPoly.isZero">
+            <summary>
+            Gets a value indicating whether this instance is zero.
+            </summary>
+            <value>true if this polynomial is the monomial "0"
+            </value>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.DetectionResult">
+            <summary>
+            
+            </summary>
+            <author>Guenther Grau</author>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.getDetectionResultColumns">
+            <summary>
+            Returns the DetectionResult Columns.  This does a fair bit of calculation, so call it sparingly.
+            </summary>
+            <returns>The detection result columns.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustIndicatorColumnRowNumbers(ZXing.PDF417.Internal.DetectionResultColumn)">
+            <summary>
+            Adjusts the indicator column row numbers.
+            </summary>
+            <param name="detectionResultColumn">Detection result column.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustRowNumbers">
+            <summary>
+            return number of codewords which don't have a valid row number. Note that the count is not accurate as codewords .
+            will be counted several times. It just serves as an indicator to see when we can stop adjusting row numbers
+            </summary>
+            <returns>The row numbers.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustRowNumbersByRow">
+            <summary>
+            Adjusts the row numbers by row.
+            </summary>
+            <returns>The row numbers by row.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustRowNumbersFromBothRI">
+            <summary>
+            Adjusts the row numbers from both Row Indicators
+            </summary>
+            <returns> zero </returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustRowNumbersFromRRI">
+            <summary>
+            Adjusts the row numbers from Right Row Indicator.
+            </summary>
+            <returns>The unadjusted row count.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustRowNumbersFromLRI">
+            <summary>
+            Adjusts the row numbers from Left Row Indicator.
+            </summary>
+            <returns> Unadjusted row Count.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustRowNumberIfValid(System.Int32,System.Int32,ZXing.PDF417.Internal.Codeword)">
+            <summary>
+            Adjusts the row number if valid.
+            </summary>
+            <returns>The invalid rows</returns>
+            <param name="rowIndicatorRowNumber">Row indicator row number.</param>
+            <param name="invalidRowCounts">Invalid row counts.</param>
+            <param name="codeword">Codeword.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustRowNumbers(System.Int32,System.Int32,ZXing.PDF417.Internal.Codeword[])">
+            <summary>
+            Adjusts the row numbers.
+            </summary>
+            <param name="barcodeColumn">Barcode column.</param>
+            <param name="codewordsRow">Codewords row.</param>
+            <param name="codewords">Codewords.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.adjustRowNumber(ZXing.PDF417.Internal.Codeword,ZXing.PDF417.Internal.Codeword)">
+            <summary>
+            Adjusts the row number.
+            </summary>
+            <returns><c>true</c>, if row number was adjusted, <c>false</c> otherwise.</returns>
+            <param name="codeword">Codeword.</param>
+            <param name="otherCodeword">Other codeword.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResult.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.DetectionResult"/>.
+            </summary>
+            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.DetectionResult"/>.</returns>
+        </member>
+        <member name="T:ZXing.OneD.UPCEANExtension5Support">
+            @see UPCEANExtension2Support
+        </member>
+        <member name="M:ZXing.OneD.UPCEANExtension5Support.parseExtensionString(System.String)">
+            <summary>
+            Parses the extension string.
+            </summary>
+            <param name="raw">raw content of extension</param>
+            <returns>formatted interpretation of raw content as a {@link Map} mapping
+            one {@link ResultMetadataType} to appropriate value, or {@code null} if not known</returns>
+        </member>
+        <member name="T:ZXing.OneD.RSS.FinderPattern">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.FinderPattern.#ctor(System.Int32,System.Int32[],System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.RSS.FinderPattern"/> class.
+            </summary>
+            <param name="value">The value.</param>
+            <param name="startEnd">The start end.</param>
+            <param name="start">The start.</param>
+            <param name="end">The end.</param>
+            <param name="rowNumber">The row number.</param>
+        </member>
+        <member name="M:ZXing.OneD.RSS.FinderPattern.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
+            </summary>
+            <param name="o">The <see cref="T:System.Object"/> to compare with this instance.</param>
+            <returns>
+              <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.FinderPattern.GetHashCode">
+            <summary>
+            Returns a hash code for this instance.
+            </summary>
+            <returns>
+            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
+            </returns>
+        </member>
+        <member name="P:ZXing.OneD.RSS.FinderPattern.Value">
+            <summary>
+            Gets the value.
+            </summary>
+        </member>
+        <member name="P:ZXing.OneD.RSS.FinderPattern.StartEnd">
+            <summary>
+            Gets the start end.
+            </summary>
+        </member>
+        <member name="P:ZXing.OneD.RSS.FinderPattern.ResultPoints">
+            <summary>
+            Gets the result points.
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.DecodedNumeric">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.DecodedObject">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.CurrentParsingState">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.Code93Reader">
+            <summary>
+              <p>Decodes Code 93 barcodes.</p>
+            	<author>Sean Owen</author>
+            <see cref="T:ZXing.OneD.Code39Reader"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.Code93Reader.CHARACTER_ENCODINGS">
+            <summary>
+            These represent the encodings of characters, as patterns of wide and narrow bars.
+            The 9 least-significant bits of each int correspond to the pattern of wide and narrow.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.Code93Reader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.Code93Reader"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.Code93Reader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns><see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode</returns>
+        </member>
+        <member name="T:ZXing.OneD.Code128Writer">
+            <summary>
+            This object renders a CODE128 code as a <see cref="T:ZXing.Common.BitMatrix"/>.
+            
+            <author>erik.barbara@gmail.com (Erik Barbara)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.Code128Reader">
+             <summary>
+             <p>Decodes Code 128 barcodes.</p>
+            
+             <author>Sean Owen</author>
+             </summary>
+        </member>
+        <member name="T:ZXing.OneD.Code128EncodingOptions">
+            <summary>
+            The class holds the available options for the QrCodeWriter
+            </summary>
+        </member>
+        <member name="P:ZXing.OneD.Code128EncodingOptions.ForceCodesetB">
+            <summary>
+            if true, don't switch to codeset C for numbers
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.Version">
+             <summary>
+             The Version object encapsulates attributes about a particular
+             size Data Matrix Code.
+            
+             <author>bbrown@google.com (Brian Brown)</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Version.getVersionForDimensions(System.Int32,System.Int32)">
+             <summary>
+             <p>Deduces version information from Data Matrix dimensions.</p>
+            
+             <param name="numRows">Number of rows in modules</param>
+             <param name="numColumns">Number of columns in modules</param>
+             <returns>Version for a Data Matrix Code of those dimensions</returns>
+             <exception cref="T:ZXing.FormatException">if dimensions do correspond to a valid Data Matrix size</exception>
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Version.buildVersions">
+            <summary>
+            See ISO 16022:2006 5.5.1 Table 7
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.Version.ECBlocks">
+            <summary>
+            <p>Encapsulates a set of error-correction blocks in one symbol version. Most versions will
+            use blocks of differing sizes within one version, so, this encapsulates the parameters for
+            each set of blocks. It also holds the number of error-correction codewords per block since it
+            will be the same across all blocks within one version.</p>
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.Version.ECB">
+            <summary>
+            <p>Encapsualtes the parameters for one error-correction block in one symbol version.
+            This includes the number of data codewords, and the number of times a block with these
+            parameters is used consecutively in the Data Matrix code version's format.</p>
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.DecoderResult">
+            <summary>
+            Encapsulates the result of decoding a matrix of bits. This typically
+            applies to 2D barcode formats. For now it contains the raw bytes obtained,
+            as well as a String interpretation of those bytes, if applicable.
+            <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.DecoderResult.Other">
+            <summary>
+            Miscellanseous data value for the various decoders
+            </summary>
+            <value>The other.</value>
+        </member>
+        <member name="T:ZXing.Client.Result.AddressBookAUResultParser">
+            <summary> Implements KDDI AU's address book format. See
+            <a href="http://www.au.kddi.com/ezfactory/tec/two_dimensions/index.html">
+            http://www.au.kddi.com/ezfactory/tec/two_dimensions/index.html</a>.
+            (Thanks to Yuzo for translating!)
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.RGBLuminanceSource">
+            <summary>
+            Luminance source class which support different formats of images.
+            </summary>
+        </member>
+        <member name="T:ZXing.BaseLuminanceSource">
+            <summary>
+            The base class for luminance sources which supports 
+            cropping and rotating based upon the luminance values.
+            </summary>
+        </member>
+        <member name="F:ZXing.BaseLuminanceSource.luminances">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:ZXing.BaseLuminanceSource.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BaseLuminanceSource"/> class.
+            </summary>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.BaseLuminanceSource.#ctor(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BaseLuminanceSource"/> class.
+            </summary>
+            <param name="luminanceArray">The luminance array.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.BaseLuminanceSource.getRow(System.Int32,System.Byte[])">
+            <summary>
+            Fetches one row of luminance data from the underlying platform's bitmap. Values range from
+            0 (black) to 255 (white). It is preferable for implementations of this method
+            to only fetch this row rather than the whole image, since no 2D Readers may be installed and
+            getMatrix() may never be called.
+            </summary>
+            <param name="y">The row to fetch, 0 &lt;= y &lt; Height.</param>
+            <param name="row">An optional preallocated array. If null or too small, it will be ignored.
+            Always use the returned object, and ignore the .length of the array.</param>
+            <returns>
+            An array containing the luminance data.
+            </returns>
+        </member>
+        <member name="M:ZXing.BaseLuminanceSource.rotateCounterClockwise">
+            <summary>
+            Returns a new object with rotated image data by 90 degrees counterclockwise.
+            Only callable if {@link #isRotateSupported()} is true.
+            </summary>
+            <returns>
+            A rotated version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.BaseLuminanceSource.rotateCounterClockwise45">
+            <summary>
+            TODO: not implemented yet
+            </summary>
+            <returns>
+            A rotated version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.BaseLuminanceSource.crop(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Returns a new object with cropped image data. Implementations may keep a reference to the
+            original data rather than a copy. Only callable if CropSupported is true.
+            </summary>
+            <param name="left">The left coordinate, 0 &lt;= left &lt; Width.</param>
+            <param name="top">The top coordinate, 0 &lt;= top &lt;= Height.</param>
+            <param name="width">The width of the rectangle to crop.</param>
+            <param name="height">The height of the rectangle to crop.</param>
+            <returns>
+            A cropped version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.BaseLuminanceSource.invert">
+            <summary>
+            Inverts the luminance values (newValue = 255 - oldValue)
+            </summary>
+        </member>
+        <member name="M:ZXing.BaseLuminanceSource.CreateLuminanceSource(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Should create a new luminance source with the right class type.
+            The method is used in methods crop and rotate.
+            </summary>
+            <param name="newLuminances">The new luminances.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.BaseLuminanceSource.RotateSupported">
+            <summary>
+            </summary>
+            <returns> Whether this subclass supports counter-clockwise rotation.</returns>
+        </member>
+        <member name="P:ZXing.BaseLuminanceSource.CropSupported">
+            <summary>
+            </summary>
+            <returns> Whether this subclass supports cropping.</returns>
+        </member>
+        <member name="P:ZXing.BaseLuminanceSource.InversionSupported">
+            <summary>
+            </summary>
+            <returns>Whether this subclass supports invertion.</returns>
+        </member>
+        <member name="M:ZXing.RGBLuminanceSource.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.RGBLuminanceSource"/> class.
+            </summary>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.RGBLuminanceSource.#ctor(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.RGBLuminanceSource"/> class.
+            It supports a byte array with 3 bytes per pixel (RGB24).
+            </summary>
+            <param name="rgbRawBytes">The RGB raw bytes.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.RGBLuminanceSource.#ctor(System.Byte[],System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.RGBLuminanceSource"/> class.
+            It supports a byte array with 1 byte per pixel (Gray8).
+            That means the whole array consists of the luminance values (grayscale).
+            </summary>
+            <param name="luminanceArray">The luminance array.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="is8Bit">if set to <c>true</c> [is8 bit].</param>
+        </member>
+        <member name="M:ZXing.RGBLuminanceSource.#ctor(System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.RGBLuminanceSource"/> class.
+            It supports a byte array with 3 bytes per pixel (RGB24).
+            </summary>
+            <param name="rgbRawBytes">The RGB raw bytes.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="bitmapFormat">The bitmap format.</param>
+        </member>
+        <member name="M:ZXing.RGBLuminanceSource.CreateLuminanceSource(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Should create a new luminance source with the right class type.
+            The method is used in methods crop and rotate.
+            </summary>
+            <param name="newLuminances">The new luminances.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.RGBLuminanceSource.BitmapFormat">
+            <summary>
+            enumeration of supported bitmap format which the RGBLuminanceSource can process
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.Unknown">
+            <summary>
+            format of the byte[] isn't known. RGBLuminanceSource tries to determine the best possible value
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.Gray8">
+            <summary>
+            grayscale array, the byte array is a luminance array with 1 byte per pixel
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.RGB24">
+            <summary>
+            3 bytes per pixel with the channels red, green and blue
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.RGB32">
+            <summary>
+            4 bytes per pixel with the channels red, green and blue
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.ARGB32">
+            <summary>
+            4 bytes per pixel with the channels alpha, red, green and blue
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.BGR24">
+            <summary>
+            3 bytes per pixel with the channels blue, green and red
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.BGR32">
+            <summary>
+            4 bytes per pixel with the channels blue, green and red
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.BGRA32">
+            <summary>
+            4 bytes per pixel with the channels blue, green, red and alpha
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.RGB565">
+            <summary>
+            2 bytes per pixel, 5 bit red, 6 bits green and 5 bits blue
+            </summary>
+        </member>
+        <member name="F:ZXing.RGBLuminanceSource.BitmapFormat.RGBA32">
+            <summary>
+            4 bytes per pixel with the channels red, green, blue and alpha
+            </summary>
+        </member>
+        <member name="T:ZXing.ResultMetadataType">
+            <summary>
+            Represents some type of metadata about the result of the decoding that the decoder
+            wishes to communicate back to the caller.
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.OTHER">
+            <summary>
+            Unspecified, application-specific metadata. Maps to an unspecified {@link Object}.
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.ORIENTATION">
+            <summary>
+            Denotes the likely approximate orientation of the barcode in the image. This value
+            is given as degrees rotated clockwise from the normal, upright orientation.
+            For example a 1D barcode which was found by reading top-to-bottom would be
+            said to have orientation "90". This key maps to an {@link Integer} whose
+            value is in the range [0,360).
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.BYTE_SEGMENTS">
+            <summary>
+            <p>2D barcode formats typically encode text, but allow for a sort of 'byte mode'
+            which is sometimes used to encode binary data. While {@link Result} makes available
+            the complete raw bytes in the barcode for these formats, it does not offer the bytes
+            from the byte segments alone.</p>
+            <p>This maps to a {@link java.util.List} of byte arrays corresponding to the
+            raw bytes in the byte segments in the barcode, in order.</p>
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.ERROR_CORRECTION_LEVEL">
+            <summary>
+            Error correction level used, if applicable. The value type depends on the
+            format, but is typically a String.
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.ISSUE_NUMBER">
+            <summary>
+            For some periodicals, indicates the issue number as an {@link Integer}.
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.SUGGESTED_PRICE">
+            <summary>
+            For some products, indicates the suggested retail price in the barcode as a
+            formatted {@link String}.
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.POSSIBLE_COUNTRY">
+            <summary>
+            For some products, the possible country of manufacture as a {@link String} denoting the
+            ISO country code. Some map to multiple possible countries, like "US/CA".
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.UPC_EAN_EXTENSION">
+            <summary>
+            For some products, the extension text
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.STRUCTURED_APPEND_SEQUENCE">
+            <summary>
+            If the code format supports structured append and
+            the current scanned code is part of one then the
+            sequence number is given with it.
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.STRUCTURED_APPEND_PARITY">
+            <summary>
+            If the code format supports structured append and
+            the current scanned code is part of one then the
+            parity is given with it.
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.PDF417_EXTRA_METADATA">
+            <summary>
+            PDF417-specific metadata
+            </summary>
+        </member>
+        <member name="F:ZXing.ResultMetadataType.AZTEC_EXTRA_METADATA">
+            <summary>
+            Aztec-specific metadata
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.AlignmentPatternFinder">
+            <summary> <p>This class attempts to find alignment patterns in a QR Code. Alignment patterns look like finder
+            patterns but are smaller and appear at regular intervals throughout the image.</p>
+            
+            <p>At the moment this only looks for the bottom-right alignment pattern.</p>
+            
+            <p>This is mostly a simplified copy of {@link FinderPatternFinder}. It is copied,
+            pasted and stripped down here for maximum performance but does unfortunately duplicate
+            some code.</p>
+            
+            <p>This class is thread-safe but not reentrant. Each thread must allocate its own object.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.AlignmentPatternFinder.#ctor(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Int32,System.Int32,System.Single,ZXing.ResultPointCallback)">
+            <summary> <p>Creates a finder that will look in a portion of the whole image.</p>
+            
+            </summary>
+            <param name="image">image to search
+            </param>
+            <param name="startX">left column from which to start searching
+            </param>
+            <param name="startY">top row from which to start searching
+            </param>
+            <param name="width">width of region to search
+            </param>
+            <param name="height">height of region to search
+            </param>
+            <param name="moduleSize">estimated module size so far
+            </param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.AlignmentPatternFinder.find">
+            <summary> <p>This method attempts to find the bottom-right alignment pattern in the image. It is a bit messy since
+            it's pretty performance-critical and so is written to be fast foremost.</p>
+            
+            </summary>
+            <returns> {@link AlignmentPattern} if found
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.AlignmentPatternFinder.centerFromEnd(System.Int32[],System.Int32)">
+            <summary> Given a count of black/white/black pixels just seen and an end position,
+            figures the location of the center of this black/white/black run.
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.AlignmentPatternFinder.foundPatternCross(System.Int32[])">
+            <param name="stateCount">count of black/white/black pixels just read
+            </param>
+            <returns> true iff the proportions of the counts is close enough to the 1/1/1 ratios
+            used by alignment patterns to be considered a match
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.AlignmentPatternFinder.crossCheckVertical(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+              <p>After a horizontal scan finds a potential alignment pattern, this method
+            "cross-checks" by scanning down vertically through the center of the possible
+            alignment pattern to see if the same proportion is detected.</p>
+            </summary>
+            <param name="startI">row where an alignment pattern was detected</param>
+            <param name="centerJ">center of the section that appears to cross an alignment pattern</param>
+            <param name="maxCount">maximum reasonable number of modules that should be
+            observed in any reading state, based on the results of the horizontal scan</param>
+            <param name="originalStateCountTotal">The original state count total.</param>
+            <returns>
+            vertical center of alignment pattern, or null if not found
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.AlignmentPatternFinder.handlePossibleCenter(System.Int32[],System.Int32,System.Int32)">
+            <summary> <p>This is called when a horizontal scan finds a possible alignment pattern. It will
+            cross check with a vertical scan, and if successful, will see if this pattern had been
+            found on a previous horizontal scan. If so, we consider it confirmed and conclude we have
+            found the alignment pattern.</p>
+            
+            </summary>
+            <param name="stateCount">reading state module counts from horizontal scan
+            </param>
+            <param name="i">row where alignment pattern may be found
+            </param>
+            <param name="j">end of possible alignment pattern in row
+            </param>
+            <returns> {@link AlignmentPattern} if we have found the same pattern twice, or null if not
+            </returns>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.FormatInformation">
+            <summary> <p>Encapsulates a QR Code's format information, including the data mask used and
+            error correction level.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+            <seealso cref="P:ZXing.QrCode.Internal.FormatInformation.DataMask">
+            </seealso>
+            <seealso cref="P:ZXing.QrCode.Internal.FormatInformation.ErrorCorrectionLevel">
+            </seealso>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.FormatInformation.FORMAT_INFO_DECODE_LOOKUP">
+            <summary> See ISO 18004:2006, Annex C, Table C.1</summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.FormatInformation.BITS_SET_IN_HALF_BYTE">
+            <summary> Offset i holds the number of 1 bits in the binary representation of i</summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FormatInformation.decodeFormatInformation(System.Int32,System.Int32)">
+            <summary>
+            Decodes the format information.
+            </summary>
+            <param name="maskedFormatInfo1">format info indicator, with mask still applied</param>
+            <param name="maskedFormatInfo2">The masked format info2.</param>
+            <returns>
+            information about the format it specifies, or <code>null</code>
+            if doesn't seem to match any known pattern
+            </returns>
+        </member>
+        <member name="T:ZXing.OneD.RSS.DataCharacter">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.DataCharacter.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.RSS.DataCharacter"/> class.
+            </summary>
+            <param name="value">The value.</param>
+            <param name="checksumPortion">The checksum portion.</param>
+        </member>
+        <member name="M:ZXing.OneD.RSS.DataCharacter.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.DataCharacter.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
+            </summary>
+            <param name="o">The <see cref="T:System.Object"/> to compare with this instance.</param>
+            <returns>
+              <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.DataCharacter.GetHashCode">
+            <summary>
+            Returns a hash code for this instance.
+            </summary>
+            <returns>
+            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
+            </returns>
+        </member>
+        <member name="P:ZXing.OneD.RSS.DataCharacter.Value">
+            <summary>
+            Gets the value.
+            </summary>
+        </member>
+        <member name="P:ZXing.OneD.RSS.DataCharacter.ChecksumPortion">
+            <summary>
+            Gets the checksum portion.
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.DecodedInformation">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI013x0xDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.NotFoundException">
+            <summary>
+            Thrown when a barcode was not found in the image. It might have been
+            partially detected but could not be confirmed.
+            <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.ReaderException">
+            <summary>
+            The general exception class throw when something goes wrong during decoding of a barcode.
+            This includes, but is not limited to, failing checksums / error correction algorithms, being
+            unable to locate finder timing patterns, and so on.
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.ReaderException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.ReaderException"/> class.
+            </summary>
+        </member>
+        <member name="P:ZXing.ReaderException.Instance">
+            <summary>
+            Gets the instance.
+            </summary>
+        </member>
+        <member name="T:ZXing.Maxicode.Internal.Decoder">
+             <summary>
+             <p>The main class which implements MaxiCode decoding -- as opposed to locating and extracting
+             the MaxiCode from an image.</p>
+            
+             <author>Manuel Kasten</author>
+             </summary>
+        </member>
+        <member name="T:ZXing.Common.ReedSolomon.GenericGFPoly">
+            <summary>
+            <p>Represents a polynomial whose coefficients are elements of a GF.
+            Instances of this class are immutable.</p>
+            <p>Much credit is due to William Rucklidge since portions of this code are an indirect
+            port of his C++ Reed-Solomon implementation.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGFPoly.#ctor(ZXing.Common.ReedSolomon.GenericGF,System.Int32[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Common.ReedSolomon.GenericGFPoly"/> class.
+            </summary>
+            <param name="field">the {@link GenericGF} instance representing the field to use
+            to perform computations</param>
+            <param name="coefficients">coefficients as ints representing elements of GF(size), arranged
+            from most significant (highest-power term) coefficient to least significant</param>
+            <exception cref="T:System.ArgumentException">if argument is null or empty,
+            or if leading coefficient is 0 and this is not a
+            constant polynomial (that is, it is not the monomial "0")</exception>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGFPoly.getCoefficient(System.Int32)">
+            <summary>
+            coefficient of x^degree term in this polynomial
+            </summary>
+            <param name="degree">The degree.</param>
+            <returns>coefficient of x^degree term in this polynomial</returns>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGFPoly.evaluateAt(System.Int32)">
+            <summary>
+            evaluation of this polynomial at a given point
+            </summary>
+            <param name="a">A.</param>
+            <returns>evaluation of this polynomial at a given point</returns>
+        </member>
+        <member name="P:ZXing.Common.ReedSolomon.GenericGFPoly.Degree">
+            <summary>
+            degree of this polynomial
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.ReedSolomon.GenericGFPoly.isZero">
+            <summary>
+            Gets a value indicating whether this <see cref="T:ZXing.Common.ReedSolomon.GenericGFPoly"/> is zero.
+            </summary>
+            <value>true iff this polynomial is the monomial "0"</value>
+        </member>
+        <member name="T:ZXing.Client.Result.VINResultParser">
+            <summary>
+            Detects a result that is likely a vehicle identification number.
+            @author Sean Owen
+            </summary>
+        </member>
+        <member name="T:ZXing.BarcodeWriter">
+            <summary>
+            A smart class to encode some content to a barcode image
+            </summary>
+        </member>
+        <member name="T:ZXing.BarcodeWriterGeneric`1">
+            <summary>
+            A base class for specific barcode writers with specific formats of barcode images.
+            </summary>
+            <typeparam name="TOutput">The type of the output.</typeparam>
+        </member>
+        <member name="T:ZXing.IBarcodeWriterGeneric`1">
+            <summary>
+            Interface for a smart class to encode some content into a barcode
+            </summary>
+        </member>
+        <member name="M:ZXing.IBarcodeWriterGeneric`1.Encode(System.String)">
+            <summary>
+            Encodes the specified contents.
+            </summary>
+            <param name="contents">The contents.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.IBarcodeWriterGeneric`1.Write(System.String)">
+            <summary>
+            Creates a visual representation of the contents
+            </summary>
+            <param name="contents">The contents.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.IBarcodeWriterGeneric`1.Write(ZXing.Common.BitMatrix)">
+            <summary>
+            Returns a rendered instance of the barcode which is given by a BitMatrix.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.BarcodeWriterGeneric`1.Encode(System.String)">
+            <summary>
+            Encodes the specified contents and returns a BitMatrix array.
+            That array has to be rendered manually or with a IBarcodeRenderer.
+            </summary>
+            <param name="contents">The contents.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.BarcodeWriterGeneric`1.Write(System.String)">
+            <summary>
+            Encodes the specified contents and returns a rendered instance of the barcode.
+            For rendering the instance of the property Renderer is used and has to be set before
+            calling that method.
+            </summary>
+            <param name="contents">The contents.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.BarcodeWriterGeneric`1.Write(ZXing.Common.BitMatrix)">
+            <summary>
+            Returns a rendered instance of the barcode which is given by a BitMatrix.
+            For rendering the instance of the property Renderer is used and has to be set before
+            calling that method.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.BarcodeWriterGeneric`1.Format">
+            <summary>
+            Gets or sets the barcode format.
+            The value is only suitable if the MultiFormatWriter is used.
+            </summary>
+        </member>
+        <member name="P:ZXing.BarcodeWriterGeneric`1.Options">
+            <summary>
+            Gets or sets the options container for the encoding and renderer process.
+            </summary>
+        </member>
+        <member name="P:ZXing.BarcodeWriterGeneric`1.Encoder">
+            <summary>
+            Gets or sets the writer which encodes the content to a BitMatrix.
+            If no value is set the MultiFormatWriter is used.
+            </summary>
+        </member>
+        <member name="P:ZXing.BarcodeWriterGeneric`1.Renderer">
+            <summary>
+            Gets or sets the renderer which should be used to render the encoded BitMatrix.
+            </summary>
+        </member>
+        <member name="T:ZXing.IBarcodeWriter">
+            <summary>
+            Interface for a smart class to encode some content into a barcode
+            </summary>
+        </member>
+        <member name="M:ZXing.IBarcodeWriter.Encode(System.String)">
+            <summary>
+            Encodes the specified contents.
+            </summary>
+            <param name="contents">The contents.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.IBarcodeWriter.Write(System.String)">
+            <summary>
+            Creates a visual representation of the contents
+            </summary>
+        </member>
+        <member name="M:ZXing.IBarcodeWriter.Write(ZXing.Common.BitMatrix)">
+            <summary>
+            Returns a rendered instance of the barcode which is given by a BitMatrix.
+            </summary>
+        </member>
+        <member name="M:ZXing.BarcodeWriter.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BarcodeWriter"/> class.
+            </summary>
+        </member>
+        <member name="T:ZXing.BarcodeWriterSvg">
+            <summary>
+            A smart class to encode some content to a svg barcode image
+            </summary>
+        </member>
+        <member name="M:ZXing.BarcodeWriterSvg.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BarcodeWriter"/> class.
+            </summary>
+        </member>
+        <member name="T:ZXing.BarcodeReader">
+            <summary>
+            A smart class to decode the barcode inside a bitmap object
+            </summary>
+        </member>
+        <member name="T:ZXing.BarcodeReaderGeneric`1">
+            <summary>
+            A smart class to decode the barcode inside a bitmap object
+            </summary>
+        </member>
+        <member name="T:ZXing.IMultipleBarcodeReaderGeneric`1">
+            <summary>
+            Interface for a smart class to decode multiple barcodes inside a bitmap object
+            </summary>
+        </member>
+        <member name="M:ZXing.IMultipleBarcodeReaderGeneric`1.DecodeMultiple(System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat)">
+            <summary>
+            Decodes the specified barcode bitmap which is given by a generic byte array with the order RGB24.
+            </summary>
+            <param name="rawRGB">The barcode bitmap.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="format">The format.</param>
+            <returns>
+            the result data or null
+            </returns>
+        </member>
+        <member name="M:ZXing.IMultipleBarcodeReaderGeneric`1.DecodeMultiple(ZXing.LuminanceSource)">
+            <summary>
+            Tries to decode barcodes within an image which is given by a luminance source.
+            That method gives a chance to prepare a luminance source completely before calling
+            the time consuming decoding method. On the other hand there is a chance to create
+            a luminance source which is independent from external resources (like Bitmap objects)
+            and the decoding call can be made in a background thread.
+            </summary>
+            <param name="luminanceSource">The luminance source.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.IMultipleBarcodeReaderGeneric`1.DecodeMultiple(`0)">
+            <summary>
+            Decodes the specified barcode bitmap.
+            </summary>
+            <param name="barcodeBitmap">The barcode bitmap.</param>
+            <returns>the result data or null</returns>
+        </member>
+        <member name="E:ZXing.IMultipleBarcodeReaderGeneric`1.ResultPointFound">
+            <summary>
+            event is executed when a result point was found
+            </summary>
+        </member>
+        <member name="E:ZXing.IMultipleBarcodeReaderGeneric`1.ResultFound">
+            <summary>
+            event is executed when a result was found via decode
+            </summary>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReaderGeneric`1.TryHarder">
+            <summary>
+            Gets or sets a flag which cause a deeper look into the bitmap
+            </summary>
+            <value>
+              <c>true</c> if [try harder]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReaderGeneric`1.PureBarcode">
+            <summary>
+            Image is a pure monochrome image of a barcode. Doesn't matter what it maps to;
+            use {@link Boolean#TRUE}.
+            </summary>
+            <value>
+              <c>true</c> if monochrome image of a barcode; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReaderGeneric`1.CharacterSet">
+            <summary>
+            Specifies what character encoding to use when decoding, where applicable (type String)
+            </summary>
+            <value>
+            The character set.
+            </value>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReaderGeneric`1.PossibleFormats">
+            <summary>
+            Image is known to be of one of a few possible formats.
+            Maps to a {@link java.util.List} of {@link BarcodeFormat}s.
+            </summary>
+            <value>
+            The possible formats.
+            </value>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReaderGeneric`1.Options">
+            <summary>
+            Specifies some options which influence the decoding process
+            </summary>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BarcodeReaderGeneric`1"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.#ctor(ZXing.Reader,ZXing.Func{`0,ZXing.LuminanceSource},ZXing.Func{ZXing.LuminanceSource,ZXing.Binarizer})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BarcodeReaderGeneric`1"/> class.
+            </summary>
+            <param name="reader">Sets the reader which should be used to find and decode the barcode.
+            If null then MultiFormatReader is used</param>
+            <param name="createLuminanceSource">Sets the function to create a luminance source object for a bitmap.
+            If null, an exception is thrown when Decode is called</param>
+            <param name="createBinarizer">Sets the function to create a binarizer object for a luminance source.
+            If null then HybridBinarizer is used</param>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.#ctor(ZXing.Reader,ZXing.Func{`0,ZXing.LuminanceSource},ZXing.Func{ZXing.LuminanceSource,ZXing.Binarizer},ZXing.Func{System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat,ZXing.LuminanceSource})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BarcodeReaderGeneric`1"/> class.
+            </summary>
+            <param name="reader">Sets the reader which should be used to find and decode the barcode.
+            If null then MultiFormatReader is used</param>
+            <param name="createLuminanceSource">Sets the function to create a luminance source object for a bitmap.
+            If null, an exception is thrown when Decode is called</param>
+            <param name="createBinarizer">Sets the function to create a binarizer object for a luminance source.
+            If null then HybridBinarizer is used</param>
+            <param name="createRGBLuminanceSource">Sets the function to create a luminance source object for a rgb array.
+            If null the RGBLuminanceSource is used. The handler is only called when Decode with a byte[] array is called.</param>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.Decode(`0)">
+            <summary>
+            Decodes the specified barcode bitmap.
+            </summary>
+            <param name="barcodeBitmap">The barcode bitmap.</param>
+            <returns>the result data or null</returns>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.Decode(ZXing.LuminanceSource)">
+            <summary>
+            Tries to decode a barcode within an image which is given by a luminance source.
+            That method gives a chance to prepare a luminance source completely before calling
+            the time consuming decoding method. On the other hand there is a chance to create
+            a luminance source which is independent from external resources (like Bitmap objects)
+            and the decoding call can be made in a background thread.
+            </summary>
+            <param name="luminanceSource">The luminance source.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.DecodeMultiple(`0)">
+            <summary>
+            Decodes the specified barcode bitmap.
+            </summary>
+            <param name="barcodeBitmap">The barcode bitmap.</param>
+            <returns>the result data or null</returns>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.DecodeMultiple(ZXing.LuminanceSource)">
+            <summary>
+            Tries to decode barcodes within an image which is given by a luminance source.
+            That method gives a chance to prepare a luminance source completely before calling
+            the time consuming decoding method. On the other hand there is a chance to create
+            a luminance source which is independent from external resources (like Bitmap objects)
+            and the decoding call can be made in a background thread.
+            </summary>
+            <param name="luminanceSource">The luminance source.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.Decode(System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat)">
+            <summary>
+            Decodes the specified barcode bitmap.
+            </summary>
+            <param name="rawRGB">The image as byte[] array.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="format">The format.</param>
+            <returns>
+            the result data or null
+            </returns>
+        </member>
+        <member name="M:ZXing.BarcodeReaderGeneric`1.DecodeMultiple(System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat)">
+            <summary>
+            Decodes the specified barcode bitmap.
+            </summary>
+            <param name="rawRGB">The image as byte[] array.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="format">The format.</param>
+            <returns>
+            the result data or null
+            </returns>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.Options">
+            <summary>
+            Gets or sets the options.
+            </summary>
+            <value>
+            The options.
+            </value>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.Reader">
+            <summary>
+            Gets the reader which should be used to find and decode the barcode.
+            </summary>
+            <value>
+            The reader.
+            </value>
+        </member>
+        <member name="E:ZXing.BarcodeReaderGeneric`1.ResultPointFound">
+            <summary>
+            Gets or sets a method which is called if an important point is found
+            </summary>
+            <value>
+            The result point callback.
+            </value>
+        </member>
+        <member name="E:ZXing.BarcodeReaderGeneric`1.ResultFound">
+            <summary>
+            event is executed if a result was found via decode
+            </summary>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.TryHarder">
+            <summary>
+            Gets or sets a flag which cause a deeper look into the bitmap
+            </summary>
+            <value>
+              <c>true</c> if [try harder]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.PureBarcode">
+            <summary>
+            Image is a pure monochrome image of a barcode.
+            </summary>
+            <value>
+              <c>true</c> if monochrome image of a barcode; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.CharacterSet">
+            <summary>
+            Specifies what character encoding to use when decoding, where applicable (type String)
+            </summary>
+            <value>
+            The character set.
+            </value>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.PossibleFormats">
+            <summary>
+            Image is known to be of one of a few possible formats.
+            Maps to a {@link java.util.List} of {@link BarcodeFormat}s.
+            </summary>
+            <value>
+            The possible formats.
+            </value>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.AutoRotate">
+            <summary>
+            Gets or sets a value indicating whether the image should be automatically rotated.
+            Rotation is supported for 90, 180 and 270 degrees
+            </summary>
+            <value>
+              <c>true</c> if image should be rotated; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.TryInverted">
+            <summary>
+            Gets or sets a value indicating whether the image should be automatically inverted
+            if no result is found in the original image.
+            ATTENTION: Please be carefully because it slows down the decoding process if it is used
+            </summary>
+            <value>
+              <c>true</c> if image should be inverted; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.CreateLuminanceSource">
+            <summary>
+            Optional: Gets or sets the function to create a luminance source object for a bitmap.
+            If null a platform specific default LuminanceSource is used
+            </summary>
+            <value>
+            The function to create a luminance source object.
+            </value>
+        </member>
+        <member name="P:ZXing.BarcodeReaderGeneric`1.CreateBinarizer">
+            <summary>
+            Optional: Gets or sets the function to create a binarizer object for a luminance source.
+            If null then HybridBinarizer is used
+            </summary>
+            <value>
+            The function to create a binarizer object.
+            </value>
+        </member>
+        <member name="T:ZXing.IBarcodeReader">
+            <summary>
+            Interface for a smart class to decode the barcode inside a bitmap object
+            </summary>
+        </member>
+        <member name="M:ZXing.IBarcodeReader.Decode(System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat)">
+            <summary>
+            Decodes the specified barcode bitmap which is given by a generic byte array with the order RGB24.
+            </summary>
+            <param name="rawRGB">The image as RGB24 array.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="format">The format.</param>
+            <returns>
+            the result data or null
+            </returns>
+        </member>
+        <member name="M:ZXing.IBarcodeReader.Decode(ZXing.LuminanceSource)">
+            <summary>
+            Tries to decode a barcode within an image which is given by a luminance source.
+            That method gives a chance to prepare a luminance source completely before calling
+            the time consuming decoding method. On the other hand there is a chance to create
+            a luminance source which is independent from external resources (like Bitmap objects)
+            and the decoding call can be made in a background thread.
+            </summary>
+            <param name="luminanceSource">The luminance source.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.IBarcodeReader.Decode(System.Drawing.Bitmap)">
+            <summary>
+            Decodes the specified barcode bitmap.
+            </summary>
+            <param name="barcodeBitmap">The barcode bitmap.</param>
+            <returns>the result data or null</returns>
+        </member>
+        <member name="E:ZXing.IBarcodeReader.ResultPointFound">
+            <summary>
+            event is executed when a result point was found
+            </summary>
+        </member>
+        <member name="E:ZXing.IBarcodeReader.ResultFound">
+            <summary>
+            event is executed when a result was found via decode
+            </summary>
+        </member>
+        <member name="P:ZXing.IBarcodeReader.TryHarder">
+            <summary>
+            Gets or sets a flag which cause a deeper look into the bitmap
+            </summary>
+            <value>
+              <c>true</c> if [try harder]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.IBarcodeReader.PureBarcode">
+            <summary>
+            Image is a pure monochrome image of a barcode.
+            </summary>
+            <value>
+              <c>true</c> if monochrome image of a barcode; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.IBarcodeReader.CharacterSet">
+            <summary>
+            Specifies what character encoding to use when decoding, where applicable (type String)
+            </summary>
+            <value>
+            The character set.
+            </value>
+        </member>
+        <member name="P:ZXing.IBarcodeReader.PossibleFormats">
+            <summary>
+            Image is known to be of one of a few possible formats.
+            Maps to a {@link java.util.List} of {@link BarcodeFormat}s.
+            </summary>
+            <value>
+            The possible formats.
+            </value>
+        </member>
+        <member name="P:ZXing.IBarcodeReader.Options">
+            <summary>
+            Specifies some options which influence the decoding process
+            </summary>
+        </member>
+        <member name="T:ZXing.IMultipleBarcodeReader">
+            <summary>
+            Interface for a smart class to decode multiple barcodes inside a bitmap object
+            </summary>
+        </member>
+        <member name="M:ZXing.IMultipleBarcodeReader.DecodeMultiple(System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat)">
+            <summary>
+            Decodes the specified barcode bitmap which is given by a generic byte array with the order RGB24.
+            </summary>
+            <param name="rawRGB">The image as RGB24 array.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="format">The format.</param>
+            <returns>
+            the result data or null
+            </returns>
+        </member>
+        <member name="M:ZXing.IMultipleBarcodeReader.DecodeMultiple(ZXing.LuminanceSource)">
+            <summary>
+            Tries to decode barcodes within an image which is given by a luminance source.
+            That method gives a chance to prepare a luminance source completely before calling
+            the time consuming decoding method. On the other hand there is a chance to create
+            a luminance source which is independent from external resources (like Bitmap objects)
+            and the decoding call can be made in a background thread.
+            </summary>
+            <param name="luminanceSource">The luminance source.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.IMultipleBarcodeReader.DecodeMultiple(System.Drawing.Bitmap)">
+            <summary>
+            Decodes the specified barcode bitmap.
+            </summary>
+            <param name="barcodeBitmap">The barcode bitmap.</param>
+            <returns>the result data or null</returns>
+        </member>
+        <member name="E:ZXing.IMultipleBarcodeReader.ResultPointFound">
+            <summary>
+            event is executed when a result point was found
+            </summary>
+        </member>
+        <member name="E:ZXing.IMultipleBarcodeReader.ResultFound">
+            <summary>
+            event is executed when a result was found via decode
+            </summary>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReader.TryHarder">
+            <summary>
+            Gets or sets a flag which cause a deeper look into the bitmap
+            </summary>
+            <value>
+              <c>true</c> if [try harder]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReader.PureBarcode">
+            <summary>
+            Image is a pure monochrome image of a barcode. Doesn't matter what it maps to;
+            use {@link Boolean#TRUE}.
+            </summary>
+            <value>
+              <c>true</c> if monochrome image of a barcode; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReader.CharacterSet">
+            <summary>
+            Specifies what character encoding to use when decoding, where applicable (type String)
+            </summary>
+            <value>
+            The character set.
+            </value>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReader.PossibleFormats">
+            <summary>
+            Image is known to be of one of a few possible formats.
+            Maps to a {@link java.util.List} of {@link BarcodeFormat}s.
+            </summary>
+            <value>
+            The possible formats.
+            </value>
+        </member>
+        <member name="P:ZXing.IMultipleBarcodeReader.Options">
+            <summary>
+            Specifies some options which influence the decoding process
+            </summary>
+        </member>
+        <member name="M:ZXing.BarcodeReader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BarcodeReader"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.BarcodeReader.#ctor(ZXing.Reader,ZXing.Func{System.Drawing.Bitmap,ZXing.LuminanceSource},ZXing.Func{ZXing.LuminanceSource,ZXing.Binarizer})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BarcodeReader"/> class.
+            </summary>
+            <param name="reader">Sets the reader which should be used to find and decode the barcode.
+            If null then MultiFormatReader is used</param>
+            <param name="createLuminanceSource">Sets the function to create a luminance source object for a bitmap.
+            If null, an exception is thrown when Decode is called</param>
+            <param name="createBinarizer">Sets the function to create a binarizer object for a luminance source.
+            If null then HybridBinarizer is used</param>
+        </member>
+        <member name="M:ZXing.BarcodeReader.#ctor(ZXing.Reader,ZXing.Func{System.Drawing.Bitmap,ZXing.LuminanceSource},ZXing.Func{ZXing.LuminanceSource,ZXing.Binarizer},ZXing.Func{System.Byte[],System.Int32,System.Int32,ZXing.RGBLuminanceSource.BitmapFormat,ZXing.LuminanceSource})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BarcodeReader"/> class.
+            </summary>
+            <param name="reader">Sets the reader which should be used to find and decode the barcode.
+            If null then MultiFormatReader is used</param>
+            <param name="createLuminanceSource">Sets the function to create a luminance source object for a bitmap.
+            If null, an exception is thrown when Decode is called</param>
+            <param name="createBinarizer">Sets the function to create a binarizer object for a luminance source.
+            If null then HybridBinarizer is used</param>
+        </member>
+        <member name="T:ZXing.Aztec.Internal.State">
+            <summary>
+            State represents all information about a sequence necessary to generate the current output.
+            Note that a state is immutable.
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.State.latchAndAppend(System.Int32,System.Int32)">
+            <summary>
+            Create a new state representing this state with a latch to a (not
+            necessary different) mode, and then a code.
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.State.shiftAndAppend(System.Int32,System.Int32)">
+            <summary>
+            Create a new state representing this state, with a temporary shift
+            to a different mode to output a single value.
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.State.addBinaryShiftChar(System.Int32)">
+            <summary>
+            Create a new state representing this state, but an additional character
+            output in Binary Shift mode.
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.State.endBinaryShift(System.Int32)">
+            <summary>
+            Create the state identical to this one, but we are no longer in
+            Binary Shift mode.
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.State.isBetterThanOrEqualTo(ZXing.Aztec.Internal.State)">
+            <summary>
+            Returns true if "this" state is better (or equal) to be in than "that"
+            state under all possible circumstances.
+            </summary>
+        </member>
+        <member name="T:ZXing.Aztec.AztecResultMetadata">
+            <summary>
+            Aztec result meta data.
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.AztecResultMetadata.#ctor(System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            
+            </summary>
+            <param name="compact"></param>
+            <param name="datablocks"></param>
+            <param name="layers"></param>
+        </member>
+        <member name="P:ZXing.Aztec.AztecResultMetadata.Compact">
+            <summary>
+            Gets a value indicating whether this Aztec code is compact.
+            </summary>
+            <value>
+              <c>true</c> if compact; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.Aztec.AztecResultMetadata.Datablocks">
+            <summary>
+            Gets the nb datablocks.
+            </summary>
+        </member>
+        <member name="P:ZXing.Aztec.AztecResultMetadata.Layers">
+            <summary>
+            Gets the nb layers.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DecodedBitStreamParser">
+            <summary> <p>QR Codes can encode text as bits in one of several modes, and can use multiple modes
+            in one QR Code. This class decodes the bits back into text.</p>
+            
+            <p>See ISO 18004:2006, 6.4.3 - 6.4.7</p>
+            <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.DecodedBitStreamParser.ALPHANUMERIC_CHARS">
+            <summary>
+            See ISO 18004:2006, 6.4.4 Table 5
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.DecodedBitStreamParser.decodeHanziSegment(ZXing.Common.BitSource,System.Text.StringBuilder,System.Int32)">
+            <summary>
+            See specification GBT 18284-2000
+            </summary>
+            <param name="bits">The bits.</param>
+            <param name="result">The result.</param>
+            <param name="count">The count.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.PDF417.PDF417Common">
+            <summary>
+            <author>SITA Lab (kevin.osullivan@sita.aero) </author>
+            <author>Guenther Grau</author>
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.PDF417Common.MAX_CODEWORDS_IN_BARCODE">
+            <summary>
+            Maximum Codewords (Data + Error).
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Common.getBitCountSum(System.Int32[])">
+            <summary>
+            Gets the bit count sum.
+            </summary>
+            <returns>The bit count sum.</returns>
+            <param name="moduleBitCount">Module bit count.</param>
+        </member>
+        <!-- Ungültiger XML-Kommentar wurde für den Member "M:ZXing.PDF417.PDF417Common.toIntArray(System.Collections.Generic.ICollection{System.Int32})" ignoriert -->
+        <member name="M:ZXing.PDF417.PDF417Common.getCodeword(System.Int64)">
+            <summary>
+            Translate the symbol into a codeword
+            </summary>
+            <returns>the codeword corresponding to the symbol.</returns>
+            <param name="symbol">the symbol from the barcode..</param>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Common.findCodewordIndex(System.Int64)">
+            <summary>
+            Use a binary search to find the index of the codeword corresponding to
+            this symbol.
+            </summary>
+            <returns>the index into the codeword table.</returns>
+            <param name="symbol">the symbol from the barcode.</param>
+        </member>
+        <member name="F:ZXing.PDF417.PDF417Common.SYMBOL_TABLE">
+            <summary>
+            The sorted table of all possible symbols. Extracted from the PDF417
+            specification. The index of a symbol in this table corresponds to the
+            index into the codeword table.
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.PDF417Common.CODEWORD_TABLE">
+            <summary>
+            This table contains to codewords for all symbols.
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.PDF417EncodingOptions">
+            <summary>
+            The class holds the available options for the <see cref="T:ZXing.PDF417.PDF417Writer"/>
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.PDF417EncodingOptions.Compact">
+            <summary>
+            Specifies whether to use compact mode for PDF417 (type <see cref="T:System.Boolean"/>).
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.PDF417EncodingOptions.Compaction">
+            <summary>
+            Specifies what compaction mode to use for PDF417 (type
+            <see cref="P:ZXing.PDF417.PDF417EncodingOptions.Compaction"/>).
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.PDF417EncodingOptions.Dimensions">
+            <summary>
+            Specifies the minimum and maximum number of rows and columns for PDF417 (type
+            <see cref="P:ZXing.PDF417.PDF417EncodingOptions.Dimensions"/>).
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.PDF417EncodingOptions.ErrorCorrection">
+            <summary>
+            Specifies what degree of error correction to use
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.PDF417EncodingOptions.CharacterSet">
+            <summary>
+            Specifies what character encoding to use where applicable (type {@link String})
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.PDF417EncodingOptions.DisableECI">
+            <summary>
+            Explicitly disables ECI segment when generating PDF417 Code
+            That is against the specification but some
+            readers have problems if the charset is switched from
+            CP437 (default) to UTF-8 with the necessary ECI segment.
+            If you set the property to true you can use different encodings
+            and the ECI segment is omitted.
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Encoder.HighLevelEncoder">
+            <summary>
+            DataMatrix ECC 200 data encoder following the algorithm described in ISO/IEC 16022:200(E) in
+            annex S.
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.PAD">
+            <summary>
+            Padding character
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.LATCH_TO_C40">
+            <summary>
+            mode latch to C40 encodation mode
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.LATCH_TO_BASE256">
+            <summary>
+            mode latch to Base 256 encodation mode
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.FNC1">
+            <summary>
+            FNC1 Codeword
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.STRUCTURED_APPEND">
+            <summary>
+            Structured Append Codeword
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.READER_PROGRAMMING">
+            <summary>
+            Reader Programming
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.UPPER_SHIFT">
+            <summary>
+            Upper Shift
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.MACRO_05">
+            <summary>
+            05 Macro
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.MACRO_06">
+            <summary>
+            06 Macro
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.LATCH_TO_ANSIX12">
+            <summary>
+            mode latch to ANSI X.12 encodation mode
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.LATCH_TO_TEXT">
+            <summary>
+            mode latch to Text encodation mode
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.LATCH_TO_EDIFACT">
+            <summary>
+            mode latch to EDIFACT encodation mode
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.ECI">
+            <summary>
+            ECI character (Extended Channel Interpretation)
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.C40_UNLATCH">
+            <summary>
+            Unlatch from C40 encodation
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.X12_UNLATCH">
+            <summary>
+            Unlatch from X12 encodation
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.MACRO_05_HEADER">
+            <summary>
+            05 Macro header
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.MACRO_06_HEADER">
+            <summary>
+            06 Macro header
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.HighLevelEncoder.MACRO_TRAILER">
+            <summary>
+            Macro trailer
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.HighLevelEncoder.encodeHighLevel(System.String)">
+            <summary>
+            Performs message encoding of a DataMatrix message using the algorithm described in annex P
+            of ISO/IEC 16022:2000(E).
+            </summary>
+            <param name="msg">the message</param>
+            <returns>the encoded message (the char values range from 0 to 255)</returns>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.HighLevelEncoder.encodeHighLevel(System.String,ZXing.Datamatrix.Encoder.SymbolShapeHint,ZXing.Dimension,ZXing.Dimension,System.Int32)">
+            <summary>
+            Performs message encoding of a DataMatrix message using the algorithm described in annex P
+            of ISO/IEC 16022:2000(E).
+            </summary>
+            <param name="msg">the message</param>
+            <param name="shape">requested shape. May be {@code SymbolShapeHint.FORCE_NONE},{@code SymbolShapeHint.FORCE_SQUARE} or {@code SymbolShapeHint.FORCE_RECTANGLE}.</param>
+            <param name="minSize">the minimum symbol size constraint or null for no constraint</param>
+            <param name="maxSize">the maximum symbol size constraint or null for no constraint</param>
+            <returns>the encoded message (the char values range from 0 to 255)</returns>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.HighLevelEncoder.determineConsecutiveDigitCount(System.String,System.Int32)">
+            <summary>
+            Determines the number of consecutive characters that are encodable using numeric compaction.
+            </summary>
+            <param name="msg">the message</param>
+            <param name="startpos">the start position within the message</param>
+            <returns>the requested character count</returns>
+        </member>
+        <member name="T:ZXing.Client.Result.SMSParsedResult">
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.PDF417DetectorResult">
+            <summary>
+            PDF 417 Detector Result class.  Skipped private backing stores.
+            <author>Guenther Grau</author> 
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417DetectorResult.#ctor(ZXing.Common.BitMatrix,System.Collections.Generic.List{ZXing.ResultPoint[]})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PDF417.Internal.PDF417DetectorResult"/> class.
+            </summary>
+            <param name="bits">Bits.</param>
+            <param name="points">Points.</param>
+        </member>
+        <member name="T:ZXing.OneD.EANManufacturerOrgSupport">
+             <summary>
+             Records EAN prefix to GS1 Member Organization, where the member organization
+             correlates strongly with a country. This is an imperfect means of identifying
+             a country of origin by EAN-13 barcode value. See
+             <a href="http://en.wikipedia.org/wiki/List_of_GS1_country_codes">
+             http://en.wikipedia.org/wiki/List_of_GS1_country_codes</a>.
+            
+             <author>Sean Owen</author>
+             </summary>
+        </member>
+        <member name="T:ZXing.Multi.GenericMultipleBarcodeReader">
+            <summary>
+              <p>Attempts to locate multiple barcodes in an image by repeatedly decoding portion of the image.
+            After one barcode is found, the areas left, above, right and below the barcode's
+            {@link com.google.zxing.ResultPoint}s are scanned, recursively.</p>
+              <p>A caller may want to also employ {@link ByQuadrantReader} when attempting to find multiple
+            2D barcodes, like QR Codes, in an image, where the presence of multiple barcodes might prevent
+            detecting any one of them.</p>
+              <p>That is, instead of passing a {@link Reader} a caller might pass
+              <code>new ByQuadrantReader(reader)</code>.</p>
+              <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.Multi.MultipleBarcodeReader">
+            <summary>
+            Implementation of this interface attempt to read several barcodes from one image.
+            <author>Sean Owen</author>
+            	<seealso cref="T:ZXing.Reader"/>
+            </summary>
+        </member>
+        <member name="M:ZXing.Multi.MultipleBarcodeReader.decodeMultiple(ZXing.BinaryBitmap)">
+            <summary>
+            Decodes the multiple.
+            </summary>
+            <param name="image">The image.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Multi.MultipleBarcodeReader.decodeMultiple(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Decodes the multiple.
+            </summary>
+            <param name="image">The image.</param>
+            <param name="hints">The hints.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Multi.GenericMultipleBarcodeReader.#ctor(ZXing.Reader)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Multi.GenericMultipleBarcodeReader"/> class.
+            </summary>
+            <param name="delegate">The @delegate.</param>
+        </member>
+        <member name="M:ZXing.Multi.GenericMultipleBarcodeReader.decodeMultiple(ZXing.BinaryBitmap)">
+            <summary>
+            Decodes the multiple.
+            </summary>
+            <param name="image">The image.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Multi.GenericMultipleBarcodeReader.decodeMultiple(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Decodes the multiple.
+            </summary>
+            <param name="image">The image.</param>
+            <param name="hints">The hints.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Multi.GenericMultipleBarcodeReader.decode(ZXing.BinaryBitmap)">
+            <summary>
+            Locates and decodes a barcode in some format within an image.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <returns>
+            String which the barcode encodes
+            </returns>
+        </member>
+        <member name="M:ZXing.Multi.GenericMultipleBarcodeReader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Locates and decodes a barcode in some format within an image. This method also accepts
+            hints, each possibly associated to some data, which may help the implementation decode.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <param name="hints">passed as a <see cref="T:System.Collections.Generic.IDictionary`2"/> from <see cref="T:ZXing.DecodeHintType"/>
+            to arbitrary data. The
+            meaning of the data depends upon the hint type. The implementation may or may not do
+            anything with these hints.</param>
+            <returns>
+            String which the barcode encodes
+            </returns>
+        </member>
+        <member name="M:ZXing.Multi.GenericMultipleBarcodeReader.reset">
+            <summary>
+            Resets any internal state the implementation has after a decode, to prepare it
+            for reuse.
+            </summary>
+        </member>
+        <member name="T:ZXing.EncodeHintType">
+            <summary>
+            These are a set of hints that you may pass to Writers to specify their behavior.
+            </summary>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+        </member>
+        <member name="F:ZXing.EncodeHintType.WIDTH">
+            <summary>
+            Specifies the width of the barcode image
+            type: <see cref="T:System.Int32"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.HEIGHT">
+            <summary>
+            Specifies the height of the barcode image
+            type: <see cref="T:System.Int32"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.PURE_BARCODE">
+            <summary>
+            Don't put the content string into the output image.
+            type: <see cref="T:System.Boolean"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.ERROR_CORRECTION">
+            <summary>
+            Specifies what degree of error correction to use, for example in QR Codes.
+            Type depends on the encoder. For example for QR codes it's type
+            <see cref="T:ZXing.QrCode.Internal.ErrorCorrectionLevel"/>
+            For Aztec it is of type <see cref="T:System.Int32"/>, representing the minimal percentage of error correction words. 
+            Note: an Aztec symbol should have a minimum of 25% EC words.
+            For PDF417 it is of type <see cref="T:ZXing.PDF417.Internal.PDF417ErrorCorrectionLevel"/> or <see cref="T:System.Int32"/> (between 0 and 8),
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.CHARACTER_SET">
+            <summary>
+            Specifies what character encoding to use where applicable.
+            type: <see cref="T:System.String"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.MARGIN">
+            <summary>
+            Specifies margin, in pixels, to use when generating the barcode. The meaning can vary
+            by format; for example it controls margin before and after the barcode horizontally for
+            most 1D formats.
+            type: <see cref="T:System.Int32"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.PDF417_COMPACT">
+            <summary>
+            Specifies whether to use compact mode for PDF417.
+            type: <see cref="T:System.Boolean"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.PDF417_COMPACTION">
+            <summary>
+            Specifies what compaction mode to use for PDF417.
+            type: <see cref="T:ZXing.PDF417.Internal.Compaction"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.PDF417_DIMENSIONS">
+            <summary>
+            Specifies the minimum and maximum number of rows and columns for PDF417.
+            type: <see cref="T:ZXing.PDF417.Internal.Dimensions"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.DISABLE_ECI">
+            <summary>
+            Don't append ECI segment.
+            That is against the specification of QR Code but some
+            readers have problems if the charset is switched from
+            ISO-8859-1 (default) to UTF-8 with the necessary ECI segment.
+            If you set the property to true you can use UTF-8 encoding
+            and the ECI segment is omitted.
+            type: <see cref="T:System.Boolean"/>
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.DATA_MATRIX_SHAPE">
+            <summary>
+            Specifies the matrix shape for Data Matrix (type <see cref="T:ZXing.Datamatrix.Encoder.SymbolShapeHint"/>)
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.MIN_SIZE">
+            <summary>
+            Specifies a minimum barcode size (type <see cref="T:ZXing.Dimension"/>). Only applicable to Data Matrix now.
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.MAX_SIZE">
+            <summary>
+            Specifies a maximum barcode size (type <see cref="T:ZXing.Dimension"/>). Only applicable to Data Matrix now.
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.CODE128_FORCE_CODESET_B">
+            <summary>
+            if true, don't switch to codeset C for numbers
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.DATA_MATRIX_DEFAULT_ENCODATION">
+            <summary>
+            Specifies the default encodation for Data Matrix (type <see cref="T:ZXing.Datamatrix.Encoder.Encodation"/>)
+            Make sure that the content fits into the encodation value, otherwise there will be an exception thrown.
+            standard value: Encodation.ASCII
+            </summary>
+        </member>
+        <member name="F:ZXing.EncodeHintType.AZTEC_LAYERS">
+            <summary>
+            Specifies the required number of layers for an Aztec code:
+            a negative number (-1, -2, -3, -4) specifies a compact Aztec code
+            0 indicates to use the minimum number of layers (the default)
+            a positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.DataMatrixWriter">
+            <summary>
+            This object renders a Data Matrix code as a BitMatrix 2D array of greyscale values.
+            </summary>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+            <author>Guillaume Le Biller Added to zxing lib.</author>
+        </member>
+        <member name="M:ZXing.Datamatrix.DataMatrixWriter.encodeLowLevel(ZXing.Datamatrix.Encoder.DefaultPlacement,ZXing.Datamatrix.Encoder.SymbolInfo)">
+            <summary>
+            Encode the given symbol info to a bit matrix.
+            </summary>
+            <param name="placement">The DataMatrix placement.</param>
+            <param name="symbolInfo">The symbol info to encode.</param>
+            <returns>The bit matrix generated.</returns>
+        </member>
+        <member name="M:ZXing.Datamatrix.DataMatrixWriter.convertByteMatrixToBitMatrix(ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Convert the ByteMatrix to BitMatrix.
+            </summary>
+            <param name="matrix">The input matrix.</param>
+            <returns>The output matrix.</returns>
+        </member>
+        <member name="T:ZXing.Datamatrix.DataMatrixReader">
+             <summary>
+             This implementation can detect and decode Data Matrix codes in an image.
+            
+             <author>bbrown@google.com (Brian Brown)</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.DataMatrixReader.decode(ZXing.BinaryBitmap)">
+             <summary>
+             Locates and decodes a Data Matrix code in an image.
+            
+             <returns>a String representing the content encoded by the Data Matrix code</returns>
+             <exception cref="T:ZXing.FormatException">if a Data Matrix code cannot be decoded</exception>
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.DataMatrixReader.extractPureBits(ZXing.Common.BitMatrix)">
+             <summary>
+             This method detects a code in a "pure" image -- that is, pure monochrome image
+             which contains only an unrotated, unskewed, image of a code, with some white border
+             around it. This is a specialized method that works exceptionally fast in this special
+             case.
+            
+             <seealso cref="M:ZXing.QrCode.QRCodeReader.extractPureBits(ZXing.Common.BitMatrix)"/>
+             </summary>
+        </member>
+        <member name="T:ZXing.Common.DefaultGridSampler">
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Common.GridSampler">
+            <summary> Implementations of this class can, given locations of finder patterns for a QR code in an
+            image, sample the right points in the image to reconstruct the QR code, accounting for
+            perspective distortion. It is abstracted since it is relatively expensive and should be allowed
+            to take advantage of platform-specific optimized implementations, like Sun's Java Advanced
+            Imaging library, but which may not be available in other environments such as J2ME, and vice
+            versa.
+            
+            The implementation used can be controlled by calling {@link #setGridSampler(GridSampler)}
+            with an instance of a class which implements this interface.
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Common.GridSampler.setGridSampler(ZXing.Common.GridSampler)">
+            <summary> Sets the implementation of {@link GridSampler} used by the library. One global
+            instance is stored, which may sound problematic. But, the implementation provided
+            ought to be appropriate for the entire platform, and all uses of this library
+            in the whole lifetime of the JVM. For instance, an Android activity can swap in
+            an implementation that takes advantage of native platform libraries.
+            
+            </summary>
+            <param name="newGridSampler">The platform-specific object to install.
+            </param>
+        </member>
+        <member name="M:ZXing.Common.GridSampler.sampleGrid(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
+            <summary> <p>Samples an image for a square matrix of bits of the given dimension. This is used to extract
+            the black/white modules of a 2D barcode like a QR Code found in an image. Because this barcode
+            may be rotated or perspective-distorted, the caller supplies four points in the source image
+            that define known points in the barcode, so that the image may be sampled appropriately.</p>
+            
+            <p>The last eight "from" parameters are four X/Y coordinate pairs of locations of points in
+            the image that define some significant points in the image to be sample. For example,
+            these may be the location of finder pattern in a QR Code.</p>
+            
+            <p>The first eight "to" parameters are four X/Y coordinate pairs measured in the destination
+            {@link BitMatrix}, from the top left, where the known points in the image given by the "from"
+            parameters map to.</p>
+            
+            <p>These 16 parameters define the transformation needed to sample the image.</p>
+            
+            </summary>
+            <param name="image">image to sample
+            </param>
+            <param name="dimension">width/height of {@link BitMatrix} to sample from image
+            </param>
+            <returns> {@link BitMatrix} representing a grid of points sampled from the image within a region
+            defined by the "from" parameters
+            </returns>
+            <throws>  ReaderException if image can't be sampled, for example, if the transformation defined </throws>
+            <summary>   by the given points is invalid or results in sampling outside the image boundaries
+            </summary>
+        </member>
+        <member name="M:ZXing.Common.GridSampler.checkAndNudgePoints(ZXing.Common.BitMatrix,System.Single[])">
+            <summary> <p>Checks a set of points that have been transformed to sample points on an image against
+            the image's dimensions to see if the point are even within the image.</p>
+            
+            <p>This method will actually "nudge" the endpoints back onto the image if they are found to be
+            barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder
+            patterns in an image where the QR Code runs all the way to the image border.</p>
+            
+            <p>For efficiency, the method will check points from either end of the line until one is found
+            to be within the image. Because the set of points are assumed to be linear, this is valid.</p>
+            
+            </summary>
+            <param name="image">image into which the points should map
+            </param>
+            <param name="points">actual points in x1,y1,...,xn,yn form
+            </param>
+        </member>
+        <member name="P:ZXing.Common.GridSampler.Instance">
+            <returns> the current implementation of {@link GridSampler}
+            </returns>
+        </member>
+        <member name="T:ZXing.Client.Result.SMSMMSResultParser">
+            <summary> <p>Parses an "sms:" URI result, which specifies a number to SMS and optional
+            "via" number. See <a href="http://gbiv.com/protocols/uri/drafts/draft-antti-gsm-sms-url-04.txt">
+            the IETF draft</a> on this.</p>
+            
+            <p>This actually also parses URIs starting with "mms:", "smsto:", "mmsto:", "SMSTO:", and
+            "MMSTO:", and treats them all the same way, and effectively converts them to an "sms:" URI
+            for purposes of forwarding to the platform.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Client.Result.ExpandedProductParsedResult">
+            <summary>
+            
+            </summary>
+            <author> Antonio Manuel Benjumea Conde, Servinform, S.A.</author>
+            <author> Agustín Delgado, Servinform, S.A.</author>
+        </member>
+        <member name="T:ZXing.Client.Result.EmailDoCoMoResultParser">
+            <summary>
+            Implements the "MATMSG" email message entry format.
+            
+            Supported keys: TO, SUB, BODY
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Client.Result.AbstractDoCoMoResultParser">
+            <summary> <p>See
+            <a href="http://www.nttdocomo.co.jp/english/service/imode/make/content/barcode/about/s2.html">
+            DoCoMo's documentation</a> about the result types represented by subclasses of this class.</p>
+            
+            <p>Thanks to Jeff Griffin for proposing rewrite of these classes that relies less
+            on exception-based mechanisms during parsing.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Client.Result.EmailDoCoMoResultParser.isBasicallyValidEmailAddress(System.String)">
+            This implements only the most basic checking for an email address's validity -- that it contains
+            an '@' and contains no characters disallowed by RFC 2822. This is an overly lenient definition of
+            validity. We want to generally be lenient here since this class is only intended to encapsulate what's
+            in a barcode, not "judge" it.
+        </member>
+        <member name="T:ZXing.Aztec.AztecEncodingOptions">
+            <summary>
+            The class holds the available options for the <see cref="T:ZXing.Aztec.AztecWriter"/>
+            </summary>
+        </member>
+        <member name="P:ZXing.Aztec.AztecEncodingOptions.ErrorCorrection">
+            <summary>
+            Representing the minimal percentage of error correction words. 
+            Note: an Aztec symbol should have a minimum of 25% EC words.
+            </summary>
+        </member>
+        <member name="P:ZXing.Aztec.AztecEncodingOptions.Layers">
+            <summary>
+            Specifies the required number of layers for an Aztec code:
+            a negative number (-1, -2, -3, -4) specifies a compact Aztec code
+            0 indicates to use the minimum number of layers (the default)
+            a positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.QRCodeWriter">
+             <summary>
+             This object renders a QR Code as a BitMatrix 2D array of greyscale values.
+            
+             <author>dswitkin@google.com (Daniel Switkin)</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.QrCode.QRCodeWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32)">
+            <summary>
+            Encode a barcode using the default settings.
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.QRCodeWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <param name="hints">Additional parameters to supply to the encoder</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="T:ZXing.QrCode.QRCodeReader">
+            <summary>
+            This implementation can detect and decode QR Codes in an image.
+            <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.QRCodeReader.getDecoder">
+            <summary>
+            Gets the decoder.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.QRCodeReader.decode(ZXing.BinaryBitmap)">
+             <summary>
+             Locates and decodes a QR code in an image.
+            
+             <returns>a String representing the content encoded by the QR code</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.QrCode.QRCodeReader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Locates and decodes a barcode in some format within an image. This method also accepts
+            hints, each possibly associated to some data, which may help the implementation decode.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <param name="hints">passed as a <see cref="T:System.Collections.Generic.IDictionary`2"/> from <see cref="T:ZXing.DecodeHintType"/>
+            to arbitrary data. The
+            meaning of the data depends upon the hint type. The implementation may or may not do
+            anything with these hints.</param>
+            <returns>
+            String which the barcode encodes
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.QRCodeReader.reset">
+            <summary>
+            Resets any internal state the implementation has after a decode, to prepare it
+            for reuse.
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.QRCodeReader.extractPureBits(ZXing.Common.BitMatrix)">
+            <summary>
+            This method detects a code in a "pure" image -- that is, pure monochrome image
+            which contains only an unrotated, unskewed, image of a code, with some white border
+            around it. This is a specialized method that works exceptionally fast in this special
+            case.
+            
+            <seealso cref="M:ZXing.Datamatrix.DataMatrixReader.extractPureBits(ZXing.Common.BitMatrix)"/>
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.MaskUtil">
+            <summary>
+            
+            </summary>
+            <author>Satoru Takabayashi</author>
+            <author>Daniel Switkin</author>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MaskUtil.applyMaskPenaltyRule1(ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Apply mask penalty rule 1 and return the penalty. Find repetitive cells with the same color and
+            give penalty to them. Example: 00000 or 11111.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MaskUtil.applyMaskPenaltyRule2(ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Apply mask penalty rule 2 and return the penalty. Find 2x2 blocks with the same color and give
+            penalty to them. This is actually equivalent to the spec's rule, which is to find MxN blocks and give a
+            penalty proportional to (M-1)x(N-1), because this is the number of 2x2 blocks inside such a block.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MaskUtil.applyMaskPenaltyRule3(ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Apply mask penalty rule 3 and return the penalty. Find consecutive cells of 00001011101 or
+            10111010000, and give penalty to them.  If we find patterns like 000010111010000, we give
+            penalties twice (i.e. 40 * 2).
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MaskUtil.applyMaskPenaltyRule4(ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Apply mask penalty rule 4 and return the penalty. Calculate the ratio of dark cells and give
+            penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MaskUtil.getDataMaskBit(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Return the mask bit for "getMaskPattern" at "x" and "y". See 8.8 of JISX0510:2004 for mask
+            pattern conditions.
+            </summary>
+            <param name="maskPattern">The mask pattern.</param>
+            <param name="x">The x.</param>
+            <param name="y">The y.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MaskUtil.applyMaskPenaltyRule1Internal(ZXing.QrCode.Internal.ByteMatrix,System.Boolean)">
+            <summary>
+            Helper function for applyMaskPenaltyRule1. We need this for doing this calculation in both
+            vertical and horizontal orders respectively.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <param name="isHorizontal">if set to <c>true</c> [is horizontal].</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.QRCodeDecoderMetaData">
+            <summary>
+            Meta-data container for QR Code decoding. Instances of this class may be used to convey information back to the
+            decoding caller. Callers are expected to process this.
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.QRCodeDecoderMetaData.#ctor(System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.QrCode.Internal.QRCodeDecoderMetaData"/> class.
+            </summary>
+            <param name="mirrored">if set to <c>true</c> [mirrored].</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.QRCodeDecoderMetaData.applyMirroredCorrection(ZXing.ResultPoint[])">
+            <summary>
+            Apply the result points' order correction due to mirroring.
+            </summary>
+            <param name="points">Array of points to apply mirror correction to.</param>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.QRCodeDecoderMetaData.IsMirrored">
+            <summary>
+            true if the QR Code was mirrored. 
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.Dimensions">
+            <summary>
+            Data object to specify the minimum and maximum number of rows and columns for a PDF417 barcode.
+            @author qwandor@google.com (Andrew Walbran)
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Dimensions.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PDF417.Internal.Dimensions"/> class.
+            </summary>
+            <param name="minCols">The min cols.</param>
+            <param name="maxCols">The max cols.</param>
+            <param name="minRows">The min rows.</param>
+            <param name="maxRows">The max rows.</param>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.Dimensions.MinCols">
+            <summary>
+            Gets the min cols.
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.Dimensions.MaxCols">
+            <summary>
+            Gets the max cols.
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.Dimensions.MinRows">
+            <summary>
+            Gets the min rows.
+            </summary>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.Dimensions.MaxRows">
+            <summary>
+            Gets the max rows.
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.Detector">
+             <summary>
+             <p>Encapsulates logic that can detect a PDF417 Code in an image, even if the
+             PDF417 Code is rotated or skewed, or partially obscured.</p>
+            
+             <author>SITA Lab (kevin.osullivan@sita.aero)</author>
+             <author>dswitkin@google.com (Daniel Switkin)</author>
+             <author> Guenther Grau</author>
+             </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Detector.SKIPPED_ROW_COUNT_MAX">
+            <summary>
+            if we set the value too low, then we don't detect the correct height of the bar if the start patterns are damaged.
+            if we set the value too high, then we might detect the start pattern from a neighbor barcode.
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Detector.ROW_STEP">
+            <summary>
+            A PDF471 barcode should have at least 3 rows, with each row being >= 3 times the module width. Therefore it should be at least
+            9 pixels tall. To be conservative, we use about half the size to ensure we don't miss it.
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Detector.START_PATTERN">
+            <summary>
+            B S B S B S B S Bar/Space pattern
+            11111111 0 1 0 1 0 1 000.
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Detector.STOP_PATTERN">
+            <summary>
+            1111111 0 1 000 1 0 1 00 1
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Detector.detect(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object},System.Boolean)">
+            <summary>
+            <p>Detects a PDF417 Code in an image. Only checks 0 and 180 degree rotations.</p>
+            </summary>
+            <param name="image">Image.</param>
+            <param name="hints">Hints.</param>
+            <param name="multiple">If set to <c>true</c> multiple.</param>
+            <returns><see cref="T:ZXing.PDF417.Internal.PDF417DetectorResult"/> encapsulating results of detecting a PDF417 code </returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Detector.detect(System.Boolean,ZXing.Common.BitMatrix)">
+            <summary>
+            Detects PDF417 codes in an image. Only checks 0 degree rotation (so rotate the matrix and check again outside of this method)
+            </summary>
+            <param name="multiple">multiple if true, then the image is searched for multiple codes. If false, then at most one code will be found and returned.</param>
+            <param name="bitMatrix">bit matrix to detect barcodes in.</param>
+            <returns>List of ResultPoint arrays containing the coordinates of found barcodes</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Detector.findVertices(ZXing.Common.BitMatrix,System.Int32,System.Int32)">
+            <summary>
+            Locate the vertices and the codewords area of a black blob using the Start and Stop patterns as locators.
+            </summary>
+            <param name="matrix">Matrix.</param>
+            <param name="startRow">Start row.</param>
+            <param name="startColumn">Start column.</param>
+            <returns> an array containing the vertices:
+                      vertices[0] x, y top left barcode
+                      vertices[1] x, y bottom left barcode
+                      vertices[2] x, y top right barcode
+                      vertices[3] x, y bottom right barcode
+                      vertices[4] x, y top left codeword area
+                      vertices[5] x, y bottom left codeword area
+                      vertices[6] x, y top right codeword area
+                      vertices[7] x, y bottom right codeword area
+            </returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Detector.copyToResult(ZXing.ResultPoint[],ZXing.ResultPoint[],System.Int32[])">
+            <summary>
+            Copies the temp data to the final result
+            </summary>
+            <param name="result">Result.</param>
+            <param name="tmpResult">Temp result.</param>
+            <param name="destinationIndexes">Destination indexes.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Detector.findRowsWithPattern(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[])">
+            <summary>
+            Finds the rows with the given pattern.
+            </summary>
+            <returns>The rows with pattern.</returns>
+            <param name="matrix">Matrix.</param>
+            <param name="height">Height.</param>
+            <param name="width">Width.</param>
+            <param name="startRow">Start row.</param>
+            <param name="startColumn">Start column.</param>
+            <param name="pattern">Pattern.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Detector.findGuardPattern(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Int32,System.Boolean,System.Int32[],System.Int32[])">
+            <summary>
+            Finds the guard pattern.  Uses System.Linq.Enumerable.Repeat to fill in counters.  This might be a performance issue?
+            </summary>
+            <returns>start/end horizontal offset of guard pattern, as an array of two ints.</returns>
+            <param name="matrix">matrix row of black/white values to search</param>
+            <param name="column">column x position to start search.</param>
+            <param name="row">row y position to start search.</param>
+            <param name="width">width the number of pixels to search on this row.</param>
+            <param name="whiteFirst">If set to <c>true</c> search the white patterns first.</param>
+            <param name="pattern">pattern of counts of number of black and white pixels that are being searched for as a pattern.</param>
+            <param name="counters">counters array of counters, as long as pattern, to re-use .</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Detector.patternMatchVariance(System.Int32[],System.Int32[],System.Int32)">
+            <summary>
+            Determines how closely a set of observed counts of runs of black/white.
+            values matches a given target pattern. This is reported as the ratio of
+            the total variance from the expected pattern proportions across all
+            pattern elements, to the length of the pattern.
+            </summary>
+            <returns>
+            ratio of total variance between counters and pattern compared to
+            total pattern size, where the ratio has been multiplied by 256.
+            So, 0 means no variance (perfect match); 256 means the total
+            variance between counters and patterns equals the pattern length,
+            higher values mean even more variance
+            </returns>
+            <param name="counters">observed counters.</param>
+            <param name="pattern">expected pattern.</param>
+            <param name="maxIndividualVariance">The most any counter can differ before we give up.</param>
+        </member>
+        <member name="T:ZXing.OneD.RSS.RSS14Reader">
+            <summary>
+            Decodes RSS-14, including truncated and stacked variants. See ISO/IEC 24724:2006.
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.AbstractRSSReader">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.RSS.AbstractRSSReader"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.getDecodeFinderCounters">
+            <summary>
+            Gets the decode finder counters.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.getDataCharacterCounters">
+            <summary>
+            Gets the data character counters.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.getOddRoundingErrors">
+            <summary>
+            Gets the odd rounding errors.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.getEvenRoundingErrors">
+            <summary>
+            Gets the even rounding errors.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.getOddCounts">
+            <summary>
+            Gets the odd counts.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.getEvenCounts">
+            <summary>
+            Gets the even counts.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.parseFinderValue(System.Int32[],System.Int32[][],System.Int32@)">
+            <summary>
+            Parses the finder value.
+            </summary>
+            <param name="counters">The counters.</param>
+            <param name="finderPatterns">The finder patterns.</param>
+            <param name="value">The value.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.count(System.Int32[])">
+            <summary>
+            Counts the specified array.
+            </summary>
+            <param name="array">The array.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.increment(System.Int32[],System.Single[])">
+            <summary>
+            Increments the specified array.
+            </summary>
+            <param name="array">The array.</param>
+            <param name="errors">The errors.</param>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.decrement(System.Int32[],System.Single[])">
+            <summary>
+            Decrements the specified array.
+            </summary>
+            <param name="array">The array.</param>
+            <param name="errors">The errors.</param>
+        </member>
+        <member name="M:ZXing.OneD.RSS.AbstractRSSReader.isFinderPattern(System.Int32[])">
+            <summary>
+            Determines whether [is finder pattern] [the specified counters].
+            </summary>
+            <param name="counters">The counters.</param>
+            <returns>
+              <c>true</c> if [is finder pattern] [the specified counters]; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.RSS14Reader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.RSS.RSS14Reader"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.RSS14Reader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns>
+              <see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode or null, if an error occurs or barcode cannot be found
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.RSS14Reader.reset">
+            <summary>
+            Resets this instance.
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.MSIReader">
+            <summary>
+            Decodes MSI barcodes.
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.MSIReader.CHARACTER_ENCODINGS">
+            <summary>
+            These represent the encodings of characters, as patterns of wide and narrow bars.
+            The 9 least-significant bits of each int correspond to the pattern of wide and narrow,
+            with 1s representing "wide" and 0s representing narrow.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.MSIReader.#ctor">
+            <summary>
+            Creates a reader that assumes all encoded data is data, and does not treat the final
+            character as a check digit.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.MSIReader.#ctor(System.Boolean)">
+            <summary>
+            Creates a reader that can be configured to check the last character as a check digit,
+            </summary>
+            <param name="usingCheckDigit">if true, treat the last data character as a check digit, not
+            data, and verify that the checksum passes.</param>
+        </member>
+        <member name="M:ZXing.OneD.MSIReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns><see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode</returns>
+        </member>
+        <member name="T:ZXing.OneD.EAN13Writer">
+            <summary>
+            This object renders an EAN13 code as a <see cref="T:ZXing.Common.BitMatrix"/>.
+            <author>aripollak@gmail.com (Ari Pollak)</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.EAN13Writer.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            Encode the contents following specified format.
+            {@code width} and {@code height} are required size. This method may return bigger size
+            {@code BitMatrix} when specified size is too small. The user can set both {@code width} and
+            {@code height} to zero to get minimum size barcode. If negative value is set to {@code width}
+            or {@code height}, {@code IllegalArgumentException} is thrown.
+            </summary>
+            <param name="contents"></param>
+            <param name="format"></param>
+            <param name="width"></param>
+            <param name="height"></param>
+            <param name="hints"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.EAN13Writer.encode(System.String)">
+            <summary>
+            Encode the contents to byte array expression of one-dimensional barcode.
+            Start code and end code should be included in result, and side margins should not be included.
+            <returns>a {@code boolean[]} of horizontal pixels (false = white, true = black)</returns>
+            </summary>
+            <param name="contents"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.OneD.EAN13Reader">
+             <summary>
+             <p>Implements decoding of the EAN-13 format.</p>
+            
+             <author>dswitkin@google.com (Daniel Switkin)</author>
+             <author>Sean Owen</author>
+             <author>alasdair@google.com (Alasdair Mackintosh)</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.OneD.EAN13Reader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.EAN13Reader"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.EAN13Reader.decodeMiddle(ZXing.Common.BitArray,System.Int32[],System.Text.StringBuilder)">
+            <summary>
+            Subclasses override this to decode the portion of a barcode between the start
+            and end guard patterns.
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <param name="startRange">start/end offset of start guard pattern</param>
+            <param name="resultString"><see cref="T:System.Text.StringBuilder"/>to append decoded chars to</param>
+            <returns>
+            horizontal offset of first pixel after the "middle" that was decoded or -1 if decoding could not complete successfully
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.EAN13Reader.determineFirstDigit(System.Text.StringBuilder,System.Int32)">
+            <summary>
+            Based on pattern of odd-even ('L' and 'G') patterns used to encoded the explicitly-encoded
+            digits in a barcode, determines the implicitly encoded first digit and adds it to the
+            result string.
+            </summary>
+            <param name="resultString">string to insert decoded first digit into</param>
+            <param name="lgPatternFound">int whose bits indicates the pattern of odd/even L/G patterns used to</param>
+             encode digits
+            <return>-1 if first digit cannot be determined</return>
+        </member>
+        <member name="P:ZXing.OneD.EAN13Reader.BarcodeFormat">
+            <summary>
+            Get the format of this decoder.
+            <returns>The 1D format.</returns>
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Encoder.SymbolShapeHint">
+            <summary>
+            Enumeration for DataMatrix symbol shape hint. It can be used to force square or rectangular
+            symbols.   
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.ReedSolomon.ReedSolomonDecoder">
+            <summary> <p>Implements Reed-Solomon decoding, as the name implies.</p>
+            
+            <p>The algorithm will not be explained here, but the following references were helpful
+            in creating this implementation:</p>
+            
+            <ul>
+            <li>Bruce Maggs.
+            <a href="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/pscico-guyb/realworld/www/rs_decode.ps">
+            "Decoding Reed-Solomon Codes"</a> (see discussion of Forney's Formula)</li>
+            <li>J.I. Hall. <a href="www.mth.msu.edu/~jhall/classes/codenotes/GRS.pdf">
+            "Chapter 5. Generalized Reed-Solomon Codes"</a>
+            (see discussion of Euclidean algorithm)</li>
+            </ul>
+            
+            <p>Much credit is due to William Rucklidge since portions of this code are an indirect
+            port of his C++ Reed-Solomon implementation.</p>
+            
+            </summary>
+            <author>Sean Owen</author>
+            <author>William Rucklidge</author>
+            <author>sanfordsquires</author>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.ReedSolomonDecoder.decode(System.Int32[],System.Int32)">
+            <summary>
+              <p>Decodes given set of received codewords, which include both data and error-correction
+            codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place,
+            in the input.</p>
+            </summary>
+            <param name="received">data and error-correction codewords</param>
+            <param name="twoS">number of error-correction codewords available</param>
+            <returns>false: decoding fails</returns>
+        </member>
+        <member name="T:ZXing.Aztec.Internal.AztecDetectorResult">
+            <summary>
+            The class contains all information about the Aztec code which was found
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.DetectorResult">
+            <summary> <p>Encapsulates the result of detecting a barcode in an image. This includes the raw
+            matrix of black/white pixels corresponding to the barcode, and possibly points of interest
+            in the image, like the location of finder patterns or corners of the barcode in the image.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.AztecDetectorResult.#ctor(ZXing.Common.BitMatrix,ZXing.ResultPoint[],System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Aztec.Internal.AztecDetectorResult"/> class.
+            </summary>
+            <param name="bits">The bits.</param>
+            <param name="points">The points.</param>
+            <param name="compact">if set to <c>true</c> [compact].</param>
+            <param name="nbDatablocks">The nb datablocks.</param>
+            <param name="nbLayers">The nb layers.</param>
+        </member>
+        <member name="P:ZXing.Aztec.Internal.AztecDetectorResult.Compact">
+            <summary>
+            Gets a value indicating whether this Aztec code is compact.
+            </summary>
+            <value>
+              <c>true</c> if compact; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.Aztec.Internal.AztecDetectorResult.NbDatablocks">
+            <summary>
+            Gets the nb datablocks.
+            </summary>
+        </member>
+        <member name="P:ZXing.Aztec.Internal.AztecDetectorResult.NbLayers">
+            <summary>
+            Gets the nb layers.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.Encoder">
+            <summary>
+            </summary>
+            <author>satorux@google.com (Satoru Takabayashi) - creator</author>
+            <author>dswitkin@google.com (Daniel Switkin) - ported from C++</author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.encode(System.String,ZXing.QrCode.Internal.ErrorCorrectionLevel)">
+            <summary>
+            Encode "bytes" with the error correction level "ecLevel". The encoding mode will be chosen
+            internally by chooseMode(). On success, store the result in "qrCode".
+            We recommend you to use QRCode.EC_LEVEL_L (the lowest level) for
+            "getECLevel" since our primary use is to show QR code on desktop screens. We don't need very
+            strong error correction for this purpose.
+            Note that there is no way to encode bytes in MODE_KANJI. We might want to add EncodeWithMode()
+            with which clients can specify the encoding mode. For now, we don't need the functionality.
+            </summary>
+            <param name="content">The content.</param>
+            <param name="ecLevel">The ec level.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.encode(System.String,ZXing.QrCode.Internal.ErrorCorrectionLevel,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            Encodes the specified content.
+            </summary>
+            <param name="content">The content.</param>
+            <param name="ecLevel">The ec level.</param>
+            <param name="hints">The hints.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.getAlphanumericCode(System.Int32)">
+            <summary>
+            Gets the alphanumeric code.
+            </summary>
+            <param name="code">The code.</param>
+            <returns>the code point of the table used in alphanumeric mode or
+            -1 if there is no corresponding code in the table.</returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.chooseMode(System.String)">
+            <summary>
+            Chooses the mode.
+            </summary>
+            <param name="content">The content.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.chooseMode(System.String,System.String)">
+            <summary>
+            Choose the best mode by examining the content. Note that 'encoding' is used as a hint;
+            if it is Shift_JIS, and the input is only double-byte Kanji, then we return {@link Mode#KANJI}.
+            </summary>
+            <param name="content">The content.</param>
+            <param name="encoding">The encoding.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.terminateBits(System.Int32,ZXing.Common.BitArray)">
+            <summary>
+            Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24).
+            </summary>
+            <param name="numDataBytes">The num data bytes.</param>
+            <param name="bits">The bits.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.getNumDataBytesAndNumECBytesForBlockID(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[],System.Int32[])">
+            <summary>
+            Get number of data bytes and number of error correction bytes for block id "blockID". Store
+            the result in "numDataBytesInBlock", and "numECBytesInBlock". See table 12 in 8.5.1 of
+            JISX0510:2004 (p.30)
+            </summary>
+            <param name="numTotalBytes">The num total bytes.</param>
+            <param name="numDataBytes">The num data bytes.</param>
+            <param name="numRSBlocks">The num RS blocks.</param>
+            <param name="blockID">The block ID.</param>
+            <param name="numDataBytesInBlock">The num data bytes in block.</param>
+            <param name="numECBytesInBlock">The num EC bytes in block.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.interleaveWithECBytes(ZXing.Common.BitArray,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Interleave "bits" with corresponding error correction bytes. On success, store the result in
+            "result". The interleave rule is complicated. See 8.6 of JISX0510:2004 (p.37) for details.
+            </summary>
+            <param name="bits">The bits.</param>
+            <param name="numTotalBytes">The num total bytes.</param>
+            <param name="numDataBytes">The num data bytes.</param>
+            <param name="numRSBlocks">The num RS blocks.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.appendModeInfo(ZXing.QrCode.Internal.Mode,ZXing.Common.BitArray)">
+            <summary>
+            Append mode info. On success, store the result in "bits".
+            </summary>
+            <param name="mode">The mode.</param>
+            <param name="bits">The bits.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.appendLengthInfo(System.Int32,ZXing.QrCode.Internal.Version,ZXing.QrCode.Internal.Mode,ZXing.Common.BitArray)">
+            <summary>
+            Append length info. On success, store the result in "bits".
+            </summary>
+            <param name="numLetters">The num letters.</param>
+            <param name="version">The version.</param>
+            <param name="mode">The mode.</param>
+            <param name="bits">The bits.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Encoder.appendBytes(System.String,ZXing.QrCode.Internal.Mode,ZXing.Common.BitArray,System.String)">
+            <summary>
+            Append "bytes" in "mode" mode (encoding) into "bits". On success, store the result in "bits".
+            </summary>
+            <param name="content">The content.</param>
+            <param name="mode">The mode.</param>
+            <param name="bits">The bits.</param>
+            <param name="encoding">The encoding.</param>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask">
+            <summary> <p>Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8. Implementations
+            of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix,
+            including areas used for finder patterns, timing patterns, etc. These areas should be unused
+            after the point they are unmasked anyway.</p>
+            
+            <p>Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position
+            and j is row position. In fact, as the text says, i is row position and j is column position.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.DataMask.DATA_MASKS">
+            <summary> See ISO 18004:2006 6.8.1</summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.DataMask.unmaskBitMatrix(ZXing.Common.BitMatrix,System.Int32)">
+            <summary> <p>Implementations of this method reverse the data masking process applied to a QR Code and
+            make its bits ready to read.</p>
+            
+            </summary>
+            <param name="bits">representation of QR Code bits
+            </param>
+            <param name="dimension">dimension of QR Code, represented by bits, being unmasked
+            </param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.DataMask.forReference(System.Int32)">
+            <param name="reference">a value between 0 and 7 indicating one of the eight possible
+            data mask patterns a QR Code may use
+            </param>
+            <returns> {@link DataMask} encapsulating the data mask pattern
+            </returns>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask.DataMask000">
+            <summary> 000: mask bits for which (x + y) mod 2 == 0</summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask.DataMask001">
+            <summary> 001: mask bits for which x mod 2 == 0</summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask.DataMask010">
+            <summary> 010: mask bits for which y mod 3 == 0</summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask.DataMask011">
+            <summary> 011: mask bits for which (x + y) mod 3 == 0</summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask.DataMask100">
+            <summary> 100: mask bits for which (x/2 + y/3) mod 2 == 0</summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask.DataMask101">
+            <summary> 101: mask bits for which xy mod 2 + xy mod 3 == 0</summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask.DataMask110">
+            <summary> 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0</summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.DataMask.DataMask111">
+            <summary> 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0</summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.EC.ErrorCorrection">
+            <summary>
+            <p>PDF417 error correction implementation.</p>
+            <p>This <a href="http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction#Example">example</a>
+            is quite useful in understanding the algorithm.</p>
+            <author>Sean Owen</author>
+            <see cref="T:ZXing.Common.ReedSolomon.ReedSolomonDecoder"/>
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ErrorCorrection.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PDF417.Internal.EC.ErrorCorrection"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ErrorCorrection.decode(System.Int32[],System.Int32,System.Int32[],System.Int32@)">
+            <summary>
+            Decodes the specified received.
+            </summary>
+            <param name="received">The received.</param>
+            <param name="numECCodewords">The num EC codewords.</param>
+            <param name="erasures">The erasures.</param>
+            <param name="errorLocationsCount">The error locations count.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ErrorCorrection.runEuclideanAlgorithm(ZXing.PDF417.Internal.EC.ModulusPoly,ZXing.PDF417.Internal.EC.ModulusPoly,System.Int32)">
+            <summary>
+            Runs the euclidean algorithm (Greatest Common Divisor) until r's degree is less than R/2
+            </summary>
+            <returns>The euclidean algorithm.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ErrorCorrection.findErrorLocations(ZXing.PDF417.Internal.EC.ModulusPoly)">
+            <summary>
+            Finds the error locations as a direct application of Chien's search
+            </summary>
+            <returns>The error locations.</returns>
+            <param name="errorLocator">Error locator.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.EC.ErrorCorrection.findErrorMagnitudes(ZXing.PDF417.Internal.EC.ModulusPoly,ZXing.PDF417.Internal.EC.ModulusPoly,System.Int32[])">
+            <summary>
+            Finds the error magnitudes by directly applying Forney's Formula
+            </summary>
+            <returns>The error magnitudes.</returns>
+            <param name="errorEvaluator">Error evaluator.</param>
+            <param name="errorLocator">Error locator.</param>
+            <param name="errorLocations">Error locations.</param>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.GeneralAppIdDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.MSIWriter">
+            <summary>
+            This object renders a MSI code as a <see cref="T:ZXing.Common.BitMatrix"/>.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.MSIWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            Encode the contents following specified format.
+            {@code width} and {@code height} are required size. This method may return bigger size
+            {@code BitMatrix} when specified size is too small. The user can set both {@code width} and
+            {@code height} to zero to get minimum size barcode. If negative value is set to {@code width}
+            or {@code height}, {@code IllegalArgumentException} is thrown.
+            </summary>
+            <param name="contents"></param>
+            <param name="format"></param>
+            <param name="width"></param>
+            <param name="height"></param>
+            <param name="hints"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.MSIWriter.encode(System.String)">
+            <summary>
+            Encode the contents to byte array expression of one-dimensional barcode.
+            Start code and end code should be included in result, and side margins should not be included.
+            <returns>a {@code boolean[]} of horizontal pixels (false = white, true = black)</returns>
+            </summary>
+            <param name="contents"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.OneD.CodaBarWriter">
+            <summary>
+            This class renders CodaBar as <see cref="T:System.Boolean"/>[].
+            </summary>
+            <author>dsbnatut@gmail.com (Kazuki Nishiura)</author>
+        </member>
+        <member name="T:ZXing.OneD.CodaBarReader">
+             <summary>
+             <p>Decodes Codabar barcodes.</p>
+            
+             <author>Bas Vijfwinkel</author>
+             </summary>
+        </member>
+        <member name="F:ZXing.OneD.CodaBarReader.CHARACTER_ENCODINGS">
+            These represent the encodings of characters, as patterns of wide and narrow bars. The 7 least-significant bits of
+            each int correspond to the pattern of wide and narrow, with 1s representing "wide" and 0s representing narrow.
+        </member>
+        <member name="M:ZXing.OneD.CodaBarReader.setCounters(ZXing.Common.BitArray)">
+            <summary>
+            Records the size of all runs of white and black pixels, starting with white.
+            This is just like recordPattern, except it records all the counters, and
+            uses our builtin "counters" member for storage.
+            </summary>
+            <param name="row">row to count from</param>
+        </member>
+        <member name="T:ZXing.Maxicode.Internal.DecodedBitStreamParser">
+             <summary>
+             <p>MaxiCodes can encode text or structured information as bits in one of several modes,
+             with multiple character sets in one code. This class decodes the bits back into text.</p>
+            
+             <author>mike32767</author>
+             <author>Manuel Kasten</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.Common.Detector.MathUtils.round(System.Single)">
+            <summary>
+            Ends up being a bit faster than {@link Math#round(float)}. This merely rounds its
+            argument to the nearest int, where x.5 rounds up to x+1.
+            </summary>
+            <param name="d">The d.</param>
+            <returns></returns>
+        </member>
+        <member name="T:BigIntegerLibrary.BigIntegerException">
+            <summary>
+            BigInteger-related exception class.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigIntegerException.#ctor(System.String,System.Exception)">
+            <summary>
+            BigIntegerException constructor.
+            </summary>
+            <param name="message">The exception message</param>
+            <param name="innerException">The inner exception</param>
+        </member>
+        <member name="T:BigIntegerLibrary.BigInteger">
+            <summary>
+            .NET 2.0 class for handling of very large integers, up to 10240 binary digits or
+            approximately (safe to use) 3000 decimal digits.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.BigInteger.NumberBase">
+            <summary>
+            2^16 numeration base for internal computations, in order to benefit the most from the
+            32 bit (or 64 bit) integer processor registers.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.BigInteger.MaxSize">
+            <summary>
+            Maximum size for numbers is up to 10240 binary digits or approximately (safe to use) 3000 decimal digits.
+            The maximum size is, in fact, double the previously specified amount, in order to accommodate operations's
+            overflow.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.BigInteger.RatioToBinaryDigits">
+            <summary>
+            Ratio for the convertion of a BigInteger's size to a binary digits size.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.BigInteger.Zero">
+            Integer constants
+        </member>
+        <member name="F:BigIntegerLibrary.BigInteger.digits">
+            <summary>
+            The array of digits of the number.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.BigInteger.size">
+            <summary>
+            The actual number of digits of the number.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.BigInteger.sign">
+            <summary>
+            The number sign.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.#ctor">
+            <summary>
+            Default constructor, intializing the BigInteger with zero.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.#ctor(System.Int64)">
+            <summary>
+            Constructor creating a new BigInteger as a conversion of a regular base-10 long.
+            </summary>
+            <param name="n">The base-10 long to be converted</param>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.#ctor(BigIntegerLibrary.BigInteger)">
+            <summary>
+            Constructor creating a new BigInteger as a copy of an existing BigInteger.
+            </summary>
+            <param name="n">The BigInteger to be copied</param>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.#ctor(System.String)">
+            <summary>
+            Constructor creating a BigInteger instance out of a base-10 formatted string.
+            </summary>
+            <param name="numberString">The base-10 formatted string.</param>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Invalid numeric string exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.#ctor(System.Byte[])">
+            <summary>
+            Constructor creating a positive BigInteger by extracting it's digits from a given byte array.
+            </summary>
+            <param name="byteArray">The byte array</param>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">The byte array's content exceeds the maximum size of a BigInteger
+            exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Constructor deserializing a BigInteger.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            BigInteger serializing method, which should not be called manually.
+            </summary>
+            <param name="info">Serialization information object</param>
+            <param name="context">Streaming context object</param>
+            <permission cref="T:System.Security.PermissionSet">Public access</permission>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Equals(BigIntegerLibrary.BigInteger)">
+            <summary>
+            Determines whether the specified BigInteger is equal to the current BigInteger.
+            </summary>
+            <param name="other">The BigInteger to compare with the current BigInteger</param>
+            <returns>True if the specified BigInteger is equal to the current BigInteger,
+            false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Equals(System.Object)">
+            <summary>
+            Determines whether the specified System.Object is equal to the current BigInteger.
+            </summary>
+            <param name="o">The System.Object to compare with the current BigInteger</param>
+            <returns>True if the specified System.Object is equal to the current BigInteger,
+            false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.GetHashCode">
+            <summary>
+            Serves as a hash function for the BigInteger type.
+            </summary>
+            <returns>A hash code for the current BigInteger</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.ToString">
+            <summary>
+            String representation of the current BigInteger, converted to its base-10 representation.
+            </summary>
+            <returns>The string representation of the current BigInteger</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Parse(System.String)">
+            <summary>
+            Parses the number given by a string
+            </summary>
+            <param name="str">the number as a string</param>
+            <returns></returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.CompareTo(BigIntegerLibrary.BigInteger)">
+            <summary>
+             Compares this instance to a specified BigInteger.
+            </summary>
+            <param name="other">The BigInteger to compare this instance with</param>
+            <returns>-1 if the current instance is smaller than the given BigInteger,
+            0 if the two are equal, 1 otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.CompareTo(System.Object)">
+            <summary>
+             Compares this instance to a specified object.
+            </summary>
+            <param name="obj">The object to compare this instance with</param>
+            <returns>-1 if the current instance is smaller than the given object,
+            0 if the two are equal, 1 otherwise</returns>
+            <exception cref="T:System.ArgumentException">obj is not a BigInteger exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.SizeInBinaryDigits(BigIntegerLibrary.BigInteger)">
+            <summary>
+            Returns a BigInteger's size in binary digits.
+            </summary>
+            <param name="n">The BigInteger whose size in binary digits is to be determined</param>
+            <returns>The BigInteger's size in binary digits</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Opposite(BigIntegerLibrary.BigInteger)">
+            <summary>
+            BigInteger inverse with respect to addition.
+            </summary>
+            <param name="n">The BigInteger whose opposite is to be computed</param>
+            <returns>The BigInteger inverse with respect to addition</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Greater(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Greater test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a &gt; b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.GreaterOrEqual(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Greater or equal test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a &gt;= b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Smaller(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Smaller test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a &lt; b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.SmallerOrEqual(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Smaller or equal test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a &lt;= b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Abs(BigIntegerLibrary.BigInteger)">
+            <summary>
+            Computes the absolute value of a BigInteger.
+            </summary>
+            <param name="n">The BigInteger whose absolute value is to be computed</param>
+            <returns>The absolute value of the given BigInteger</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Addition(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Addition operation of two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the addition</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Subtraction(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Subtraction operation of two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the subtraction</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Multiplication(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Multiplication operation of two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the multiplication</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Division(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Division operation of two BigIntegers a and b, b != 0.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the division</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Cannot divide by zero exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Modulo(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Modulo operation of two BigIntegers a and b, b != 0.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the modulo</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Cannot divide by zero exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Power(BigIntegerLibrary.BigInteger,System.Int32)">
+            <summary>
+            Returns the power of a BigInteger base to a non-negative exponent by using the
+            fast exponentiation algorithm (right to left binary exponentiation).
+            </summary>
+            <param name="a">The BigInteger base</param>
+            <param name="exponent">The non-negative exponent</param>
+            <returns>The power of the BigInteger base to the non-negative exponent</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Cannot raise a BigInteger to a negative power exception.</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.IntegerSqrt(BigIntegerLibrary.BigInteger)">
+            <summary>
+            Integer square root of the given BigInteger using Newton's numeric method.
+            </summary>
+            <param name="n">The BigInteger whose integer square root is to be computed</param>
+            <returns>The integer square root of the given BigInteger</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Cannot compute the integer square root of a negative number exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Gcd(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Euclidean algorithm for computing the greatest common divisor of two non-negative BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The greatest common divisor of the two given BigIntegers</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Cannot compute the Gcd of negative BigIntegers exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.ExtendedEuclidGcd(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger@,BigIntegerLibrary.BigInteger@)">
+            <summary>
+            Extended Euclidian Gcd algorithm, returning the greatest common divisor of two non-negative BigIntegers,
+            while also providing u and v, where: a*u + b*v = gcd(a,b).
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <param name="u">Output BigInteger parameter, where a*u + b*v = gcd(a,b)</param>
+            <param name="v">Output BigInteger parameter, where a*u + b*v = gcd(a,b)</param>
+            <returns>The greatest common divisor of the two given BigIntegers</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Cannot compute the Gcd of negative BigIntegers exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.ModularInverse(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Computes the modular inverse of a given BigInteger.
+            </summary>
+            <param name="a">The non-zero BigInteger whose inverse is to be computed</param>
+            <param name="n">The BigInteger modulus, which must be greater than or equal to 2</param>
+            <returns>The BigInteger equal to a^(-1) mod n</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Invalid number or modulus exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.ModularExponentiation(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Returns the power of a BigInteger to a non-negative exponent modulo n, by using the
+            fast exponentiation algorithm (right to left binary exponentiation) and modulo optimizations.
+            </summary>
+            <param name="a">The BigInteger base</param>
+            <param name="exponent">The non-negative exponent</param>
+            <param name="n">The modulus, which must be greater than or equal to 2</param>
+            <returns>The power of the BigInteger to the non-negative exponent</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Invalid exponent or modulus exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Implicit(System.Int64)~BigIntegerLibrary.BigInteger">
+            <summary>
+            Implicit conversion operator from long to BigInteger.
+            </summary>
+            <param name="n">The long to be converted to a BigInteger</param>
+            <returns>The BigInteger converted from the given long</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Equality(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Equality test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a == b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Inequality(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Inequality test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a != b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_GreaterThan(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Greater test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a &gt; b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_LessThan(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Smaller test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a &lt; b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_GreaterThanOrEqual(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Greater or equal test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a &gt;= b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_LessThanOrEqual(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Smaller or equal test between two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>True if a &lt;= b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_UnaryNegation(BigIntegerLibrary.BigInteger)">
+            <summary>
+            BigInteger inverse with respect to addition.
+            </summary>
+            <param name="n">The BigInteger whose opposite is to be computed</param>
+            <returns>The BigInteger inverse with respect to addition</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Addition(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Addition operation of two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the addition</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Subtraction(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Subtraction operation of two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the subtraction</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Multiply(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Multiplication operation of two BigIntegers.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the multiplication</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Division(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Division operation of two BigIntegers a and b, b != 0.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the division</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Cannot divide by zero exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Modulus(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Modulo operation of two BigIntegers a and b, b != 0.
+            </summary>
+            <param name="a">The 1st BigInteger</param>
+            <param name="b">The 2nd BigInteger</param>
+            <returns>The BigInteger result of the modulo</returns>
+            <exception cref="T:BigIntegerLibrary.BigIntegerException">Cannot divide by zero exception</exception>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Increment(BigIntegerLibrary.BigInteger)">
+            <summary>
+            Incremetation by one operation of a BigInteger.
+            </summary>
+            <param name="n">The BigInteger to be incremented by one</param>
+            <returns>The BigInteger result of incrementing by one</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.op_Decrement(BigIntegerLibrary.BigInteger)">
+            <summary>
+            Decremetation by one operation of a BigInteger.
+            </summary>
+            <param name="n">The BigInteger to be decremented by one</param>
+            <returns>The BigInteger result of decrementing by one</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Add(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Adds two BigNumbers a and b, where a >= b, a, b non-negative.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Subtract(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Subtracts the BigInteger b from the BigInteger a, where a >= b, a, b non-negative.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Multiply(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Multiplies two BigIntegers.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.DivideByOneDigitNumber(BigIntegerLibrary.BigInteger,System.Int64)">
+            <summary>
+            Divides a BigInteger by a one-digit int.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.DivideByBigNumber(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger)">
+            <summary>
+            Divides a BigInteger by another BigInteger.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.DivideByBigNumberSmaller(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger,System.Int32,System.Int32)">
+            <summary>
+            DivideByBigNumber auxiliary method. 
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Difference(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger,System.Int32,System.Int32)">
+            <summary>
+            DivideByBigNumber auxilary method.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.BigInteger.Trial(BigIntegerLibrary.BigInteger,BigIntegerLibrary.BigInteger,System.Int32,System.Int32)">
+            <summary>
+            DivideByBigNumber auxilary method.
+            </summary>
+        </member>
+        <member name="T:ZXing.Client.Result.TelParsedResult">
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.Client.Result.SMSTOMMSTOResultParser">
+            <summary>
+            <p>Parses an "smsto:" URI result, whose format is not standardized but appears to be like:
+            {@code smsto:number(:body)}.</p>
+            <p>This actually also parses URIs starting with "smsto:", "mmsto:", "SMSTO:", and
+            "MMSTO:", and treats them all the same way, and effectively converts them to an "sms:" URI
+            for purposes of forwarding to the platform.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.Client.Result.BookmarkDoCoMoResultParser">
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Client.Result.BizcardResultParser">
+            <summary> Implements the "BIZCARD" address book entry format, though this has been
+            largely reverse-engineered from examples observed in the wild -- still
+            looking for a definitive reference.
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Client.Result.AddressBookParsedResult">
+            <author>Sean Owen</author>
+        </member>
+        <member name="P:ZXing.Client.Result.AddressBookParsedResult.Pronunciation">
+            <summary>
+            In Japanese, the name is written in kanji, which can have multiple readings. Therefore a hint
+            is often provided, called furigana, which spells the name phonetically.
+            </summary>
+            <return>The pronunciation of the getNames() field, often in hiragana or katakana.</return>
+        </member>
+        <member name="P:ZXing.Client.Result.AddressBookParsedResult.PhoneTypes">
+            <return>optional descriptions of the type of each phone number. It could be like "HOME", but,
+            there is no guaranteed or standard format.</return>
+        </member>
+        <member name="P:ZXing.Client.Result.AddressBookParsedResult.EmailTypes">
+            <return>optional descriptions of the type of each e-mail. It could be like "WORK", but,
+            there is no guaranteed or standard format.</return>
+        </member>
+        <member name="P:ZXing.Client.Result.AddressBookParsedResult.AddressTypes">
+            <return>optional descriptions of the type of each e-mail. It could be like "WORK", but,
+            there is no guaranteed or standard format.</return>
+        </member>
+        <member name="P:ZXing.Client.Result.AddressBookParsedResult.Birthday">
+            <return>birthday formatted as yyyyMMdd (e.g. 19780917)</return>
+        </member>
+        <member name="P:ZXing.Client.Result.AddressBookParsedResult.Geo">
+            <return>a location as a latitude/longitude pair</return>
+        </member>
+        <member name="T:ZXing.Aztec.Internal.HighLevelEncoder">
+            <summary>
+            This produces nearly optimal encodings of text into the first-level of
+            encoding used by Aztec code.
+            It uses a dynamic algorithm.  For each prefix of the string, it determines
+            a set of encodings that could lead to this prefix.  We repeatedly add a
+            character and generate a new set of optimal encodings until we have read
+            through the entire input.
+            @author Frank Yellin
+            @author Rustam Abdullaev
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.HighLevelEncoder.encode">
+            <summary>
+            Convert the text represented by this High Level Encoder into a BitArray.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.MatrixUtil">
+            <summary>
+            
+            </summary>
+            <author>
+            satorux@google.com (Satoru Takabayashi) - creator
+            </author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.clearMatrix(ZXing.QrCode.Internal.ByteMatrix)">
+             <summary>
+             Set all cells to 2.  2 means that the cell is empty (not set yet).
+            
+             JAVAPORT: We shouldn't need to do this at all. The code should be rewritten to begin encoding
+             with the ByteMatrix initialized all to zero.
+             </summary>
+             <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.buildMatrix(ZXing.Common.BitArray,ZXing.QrCode.Internal.ErrorCorrectionLevel,ZXing.QrCode.Internal.Version,System.Int32,ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Build 2D matrix of QR Code from "dataBits" with "ecLevel", "version" and "getMaskPattern". On
+            success, store the result in "matrix" and return true.
+            </summary>
+            <param name="dataBits">The data bits.</param>
+            <param name="ecLevel">The ec level.</param>
+            <param name="version">The version.</param>
+            <param name="maskPattern">The mask pattern.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.embedBasicPatterns(ZXing.QrCode.Internal.Version,ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Embed basic patterns. On success, modify the matrix and return true.
+            The basic patterns are:
+            - Position detection patterns
+            - Timing patterns
+            - Dark dot at the left bottom corner
+            - Position adjustment patterns, if need be
+            </summary>
+            <param name="version">The version.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.embedTypeInfo(ZXing.QrCode.Internal.ErrorCorrectionLevel,System.Int32,ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Embed type information. On success, modify the matrix.
+            </summary>
+            <param name="ecLevel">The ec level.</param>
+            <param name="maskPattern">The mask pattern.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.maybeEmbedVersionInfo(ZXing.QrCode.Internal.Version,ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Embed version information if need be. On success, modify the matrix and return true.
+            See 8.10 of JISX0510:2004 (p.47) for how to embed version information.
+            </summary>
+            <param name="version">The version.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.embedDataBits(ZXing.Common.BitArray,System.Int32,ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Embed "dataBits" using "getMaskPattern". On success, modify the matrix and return true.
+            For debugging purposes, it skips masking process if "getMaskPattern" is -1.
+            See 8.7 of JISX0510:2004 (p.38) for how to embed data bits.
+            </summary>
+            <param name="dataBits">The data bits.</param>
+            <param name="maskPattern">The mask pattern.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.findMSBSet(System.Int32)">
+            <summary>
+            Return the position of the most significant bit set (to one) in the "value". The most
+            significant bit is position 32. If there is no bit set, return 0. Examples:
+            - findMSBSet(0) => 0
+            - findMSBSet(1) => 1
+            - findMSBSet(255) => 8
+            </summary>
+            <param name="value_Renamed">The value_ renamed.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.calculateBCHCode(System.Int32,System.Int32)">
+             <summary>
+             Calculate BCH (Bose-Chaudhuri-Hocquenghem) code for "value" using polynomial "poly". The BCH
+             code is used for encoding type information and version information.
+             Example: Calculation of version information of 7.
+             f(x) is created from 7.
+               - 7 = 000111 in 6 bits
+               - f(x) = x^2 + x^2 + x^1
+             g(x) is given by the standard (p. 67)
+               - g(x) = x^12 + x^11 + x^10 + x^9 + x^8 + x^5 + x^2 + 1
+             Multiply f(x) by x^(18 - 6)
+               - f'(x) = f(x) * x^(18 - 6)
+               - f'(x) = x^14 + x^13 + x^12
+             Calculate the remainder of f'(x) / g(x)
+                     x^2
+                     __________________________________________________
+               g(x) )x^14 + x^13 + x^12
+                     x^14 + x^13 + x^12 + x^11 + x^10 + x^7 + x^4 + x^2
+                     --------------------------------------------------
+                                          x^11 + x^10 + x^7 + x^4 + x^2
+            
+             The remainder is x^11 + x^10 + x^7 + x^4 + x^2
+             Encode it in binary: 110010010100
+             The return value is 0xc94 (1100 1001 0100)
+            
+             Since all coefficients in the polynomials are 1 or 0, we can do the calculation by bit
+             operations. We don't care if cofficients are positive or negative.
+             </summary>
+             <param name="value">The value.</param>
+             <param name="poly">The poly.</param>
+             <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.makeTypeInfoBits(ZXing.QrCode.Internal.ErrorCorrectionLevel,System.Int32,ZXing.Common.BitArray)">
+            <summary>
+            Make bit vector of type information. On success, store the result in "bits" and return true.
+            Encode error correction level and mask pattern. See 8.9 of
+            JISX0510:2004 (p.45) for details.
+            </summary>
+            <param name="ecLevel">The ec level.</param>
+            <param name="maskPattern">The mask pattern.</param>
+            <param name="bits">The bits.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.makeVersionInfoBits(ZXing.QrCode.Internal.Version,ZXing.Common.BitArray)">
+            <summary>
+            Make bit vector of version information. On success, store the result in "bits" and return true.
+            See 8.10 of JISX0510:2004 (p.45) for details.
+            </summary>
+            <param name="version">The version.</param>
+            <param name="bits">The bits.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.isEmpty(System.Int32)">
+            <summary>
+            Check if "value" is empty.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>
+              <c>true</c> if the specified value is empty; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.embedDarkDotAtLeftBottomCorner(ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Embed the lonely dark dot at left bottom corner. JISX0510:2004 (p.46)
+            </summary>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.embedPositionAdjustmentPattern(System.Int32,System.Int32,ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Note that we cannot unify the function with embedPositionDetectionPattern() despite they are
+            almost identical, since we cannot write a function that takes 2D arrays in different sizes in
+            C/C++. We should live with the fact.
+            </summary>
+            <param name="xStart">The x start.</param>
+            <param name="yStart">The y start.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.embedPositionDetectionPatternsAndSeparators(ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Embed position detection patterns and surrounding vertical/horizontal separators.
+            </summary>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.MatrixUtil.maybeEmbedPositionAdjustmentPatterns(ZXing.QrCode.Internal.Version,ZXing.QrCode.Internal.ByteMatrix)">
+            <summary>
+            Embed position adjustment patterns if need be.
+            </summary>
+            <param name="version">The version.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.FinderPatternInfo">
+            <summary>
+            <p>Encapsulates information about finder patterns in an image, including the location of
+            the three finder patterns, and their estimated module size.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternInfo.#ctor(ZXing.QrCode.Internal.FinderPattern[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.QrCode.Internal.FinderPatternInfo"/> class.
+            </summary>
+            <param name="patternCenters">The pattern centers.</param>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.FinderPatternInfo.BottomLeft">
+            <summary>
+            Gets the bottom left.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.FinderPatternInfo.TopLeft">
+            <summary>
+            Gets the top left.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.FinderPatternInfo.TopRight">
+            <summary>
+            Gets the top right.
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.MultiFormatOneDReader">
+            <summary>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+            <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.MultiFormatOneDReader.#ctor(System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.MultiFormatOneDReader"/> class.
+            </summary>
+            <param name="hints">The hints.</param>
+        </member>
+        <member name="M:ZXing.OneD.MultiFormatOneDReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns>
+              <see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode or null, if an error occurs or barcode cannot be found
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.MultiFormatOneDReader.reset">
+            <summary>
+            Resets any internal state the implementation has after a decode, to prepare it
+            for reuse.
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.DatamatrixEncodingOptions">
+            <summary>
+            The class holds the available options for the DatamatrixWriter
+            </summary>
+        </member>
+        <member name="P:ZXing.Datamatrix.DatamatrixEncodingOptions.SymbolShape">
+            <summary>
+            Specifies the matrix shape for Data Matrix
+            </summary>
+        </member>
+        <member name="P:ZXing.Datamatrix.DatamatrixEncodingOptions.MinSize">
+            <summary>
+            Specifies a minimum barcode size
+            </summary>
+        </member>
+        <member name="P:ZXing.Datamatrix.DatamatrixEncodingOptions.MaxSize">
+            <summary>
+            Specifies a maximum barcode size
+            </summary>
+        </member>
+        <member name="P:ZXing.Datamatrix.DatamatrixEncodingOptions.DefaultEncodation">
+            <summary>
+            Specifies the default encodation
+            Make sure that the content fits into the encodation value, otherwise there will be an exception thrown.
+            standard value: Encodation.ASCII
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.GlobalHistogramBinarizer">
+            <summary> This Binarizer implementation uses the old ZXing global histogram approach. It is suitable
+            for low-end mobile devices which don't have enough CPU or memory to use a local thresholding
+            algorithm. However, because it picks a global black point, it cannot handle difficult shadows
+            and gradients.
+            
+            Faster mobile devices and all desktop applications should probably use HybridBinarizer instead.
+            
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+            <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.Binarizer">
+            <summary> This class hierarchy provides a set of methods to convert luminance data to 1 bit data.
+            It allows the algorithm to vary polymorphically, for example allowing a very expensive
+            thresholding technique for servers and a fast one for mobile. It also permits the implementation
+            to vary, e.g. a JNI version for Android and a Java fallback version for other platforms.
+            
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.Binarizer.#ctor(ZXing.LuminanceSource)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Binarizer"/> class.
+            </summary>
+            <param name="source">The source.</param>
+        </member>
+        <member name="M:ZXing.Binarizer.getBlackRow(System.Int32,ZXing.Common.BitArray)">
+            <summary> Converts one row of luminance data to 1 bit data. May actually do the conversion, or return
+            cached data. Callers should assume this method is expensive and call it as seldom as possible.
+            This method is intended for decoding 1D barcodes and may choose to apply sharpening.
+            For callers which only examine one row of pixels at a time, the same BitArray should be reused
+            and passed in with each call for performance. However it is legal to keep more than one row
+            at a time if needed.
+            </summary>
+            <param name="y">The row to fetch, 0 &lt;= y &lt; bitmap height.</param>
+            <param name="row">An optional preallocated array. If null or too small, it will be ignored.
+            If used, the Binarizer will call BitArray.clear(). Always use the returned object.
+            </param>
+            <returns> The array of bits for this row (true means black).</returns>
+        </member>
+        <member name="M:ZXing.Binarizer.createBinarizer(ZXing.LuminanceSource)">
+            <summary> Creates a new object with the same type as this Binarizer implementation, but with pristine
+            state. This is needed because Binarizer implementations may be stateful, e.g. keeping a cache
+            of 1 bit data. See Effective Java for why we can't use Java's clone() method.
+            </summary>
+            <param name="source">The LuminanceSource this Binarizer will operate on.</param>
+            <returns> A new concrete Binarizer implementation object.</returns>
+        </member>
+        <member name="P:ZXing.Binarizer.LuminanceSource">
+            <summary>
+            Gets the luminance source object.
+            </summary>
+        </member>
+        <member name="P:ZXing.Binarizer.BlackMatrix">
+            <summary> Converts a 2D array of luminance data to 1 bit data. As above, assume this method is expensive
+            and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or
+            may not apply sharpening. Therefore, a row from this matrix may not be identical to one
+            fetched using getBlackRow(), so don't mix and match between them.
+            </summary>
+            <returns> The 2D array of bits for the image (true means black).</returns>
+        </member>
+        <member name="P:ZXing.Binarizer.Width">
+            <summary>
+            Gets the width of the luminance source object.
+            </summary>
+        </member>
+        <member name="P:ZXing.Binarizer.Height">
+            <summary>
+            Gets the height of the luminance source object.
+            </summary>
+        </member>
+        <member name="M:ZXing.Common.GlobalHistogramBinarizer.#ctor(ZXing.LuminanceSource)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Common.GlobalHistogramBinarizer"/> class.
+            </summary>
+            <param name="source">The source.</param>
+        </member>
+        <member name="M:ZXing.Common.GlobalHistogramBinarizer.getBlackRow(System.Int32,ZXing.Common.BitArray)">
+            <summary>
+            Applies simple sharpening to the row data to improve performance of the 1D Readers.
+            </summary>
+            <param name="y"></param>
+            <param name="row"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Common.GlobalHistogramBinarizer.createBinarizer(ZXing.LuminanceSource)">
+            <summary>
+            Creates a new object with the same type as this Binarizer implementation, but with pristine
+            state. This is needed because Binarizer implementations may be stateful, e.g. keeping a cache
+            of 1 bit data. See Effective Java for why we can't use Java's clone() method.
+            </summary>
+            <param name="source">The LuminanceSource this Binarizer will operate on.</param>
+            <returns>
+            A new concrete Binarizer implementation object.
+            </returns>
+        </member>
+        <member name="P:ZXing.Common.GlobalHistogramBinarizer.BlackMatrix">
+            <summary>
+            Does not sharpen the data, as this call is intended to only be used by 2D Readers.
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.Detector.WhiteRectangleDetector">
+            <summary>
+            Detects a candidate barcode-like rectangular region within an image. It
+            starts around the center of the image, increases the size of the candidate
+            region until it finds a white rectangular region. By keeping track of the
+            last black points it encountered, it determines the corners of the barcode.
+            </summary>
+            <author>David Olivier</author>
+        </member>
+        <member name="M:ZXing.Common.Detector.WhiteRectangleDetector.Create(ZXing.Common.BitMatrix)">
+            <summary>
+            Creates a WhiteRectangleDetector instance
+            </summary>
+            <param name="image">The image.</param>
+            <returns>null, if image is too small, otherwise a WhiteRectangleDetector instance</returns>
+        </member>
+        <member name="M:ZXing.Common.Detector.WhiteRectangleDetector.Create(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Creates a WhiteRectangleDetector instance
+            </summary>
+            <param name="image">The image.</param>
+            <param name="initSize">Size of the init.</param>
+            <param name="x">The x.</param>
+            <param name="y">The y.</param>
+            <returns>
+            null, if image is too small, otherwise a WhiteRectangleDetector instance
+            </returns>
+        </member>
+        <member name="M:ZXing.Common.Detector.WhiteRectangleDetector.#ctor(ZXing.Common.BitMatrix)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Common.Detector.WhiteRectangleDetector"/> class.
+            </summary>
+            <param name="image">The image.</param>
+            <exception cref="T:System.ArgumentException">if image is too small</exception>
+        </member>
+        <member name="M:ZXing.Common.Detector.WhiteRectangleDetector.#ctor(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Common.Detector.WhiteRectangleDetector"/> class.
+            </summary>
+            <param name="image">The image.</param>
+            <param name="initSize">Size of the init.</param>
+            <param name="x">The x.</param>
+            <param name="y">The y.</param>
+        </member>
+        <member name="M:ZXing.Common.Detector.WhiteRectangleDetector.detect">
+            <summary>
+            Detects a candidate barcode-like rectangular region within an image. It
+            starts around the center of the image, increases the size of the candidate
+            region until it finds a white rectangular region.
+            </summary>
+            <returns><see cref="T:ZXing.ResultPoint"/>[] describing the corners of the rectangular
+            region. The first and last points are opposed on the diagonal, as
+            are the second and third. The first point will be the topmost
+            point and the last, the bottommost. The second point will be
+            leftmost and the third, the rightmost</returns>
+        </member>
+        <member name="M:ZXing.Common.Detector.WhiteRectangleDetector.centerEdges(ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary>
+            recenters the points of a constant distance towards the center
+            </summary>
+            <param name="y">bottom most point</param>
+            <param name="z">left most point</param>
+            <param name="x">right most point</param>
+            <param name="t">top most point</param>
+            <returns><see cref="T:ZXing.ResultPoint"/>[] describing the corners of the rectangular
+            region. The first and last points are opposed on the diagonal, as
+            are the second and third. The first point will be the topmost
+            point and the last, the bottommost. The second point will be
+            leftmost and the third, the rightmost</returns>
+        </member>
+        <member name="M:ZXing.Common.Detector.WhiteRectangleDetector.containsBlackPoint(System.Int32,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Determines whether a segment contains a black point
+            </summary>
+            <param name="a">min value of the scanned coordinate</param>
+            <param name="b">max value of the scanned coordinate</param>
+            <param name="fixed">value of fixed coordinate</param>
+            <param name="horizontal">set to true if scan must be horizontal, false if vertical</param>
+            <returns>
+              true if a black point has been found, else false.
+            </returns>
+        </member>
+        <member name="T:ZXing.Common.BitMatrix">
+            <summary>
+              <p>Represents a 2D matrix of bits. In function arguments below, and throughout the common
+            module, x is the column position, and y is the row position. The ordering is always x, y.
+            The origin is at the top-left.</p>
+              <p>Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins
+            with a new int. This is done intentionally so that we can copy out a row into a BitArray very
+            efficiently.</p>
+              <p>The ordering of bits is row-major. Within each int, the least significant bits are used first,
+            meaning they represent lower x values. This is compatible with BitArray's implementation.</p>
+            </summary>
+            <author>Sean Owen</author>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.flip(System.Int32,System.Int32)">
+            <summary> <p>Flips the given bit.</p>
+            
+            </summary>
+            <param name="x">The horizontal component (i.e. which column)
+            </param>
+            <param name="y">The vertical component (i.e. which row)
+            </param>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.clear">
+            <summary> Clears all bits (sets to false).</summary>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.setRegion(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary> <p>Sets a square region of the bit matrix to true.</p>
+            
+            </summary>
+            <param name="left">The horizontal position to begin at (inclusive)
+            </param>
+            <param name="top">The vertical position to begin at (inclusive)
+            </param>
+            <param name="width">The width of the region
+            </param>
+            <param name="height">The height of the region
+            </param>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.getRow(System.Int32,ZXing.Common.BitArray)">
+            <summary> A fast method to retrieve one row of data from the matrix as a BitArray.
+            
+            </summary>
+            <param name="y">The row to retrieve
+            </param>
+            <param name="row">An optional caller-allocated BitArray, will be allocated if null or too small
+            </param>
+            <returns> The resulting BitArray - this reference should always be used even when passing
+            your own row
+            </returns>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.setRow(System.Int32,ZXing.Common.BitArray)">
+            <summary>
+            Sets the row.
+            </summary>
+            <param name="y">row to set</param>
+            <param name="row">{@link BitArray} to copy from</param>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.rotate180">
+            <summary>
+            Modifies this {@code BitMatrix} to represent the same but rotated 180 degrees
+            </summary>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.getEnclosingRectangle">
+            <summary>
+            This is useful in detecting the enclosing rectangle of a 'pure' barcode.
+            </summary>
+            <returns>{left,top,width,height} enclosing rectangle of all 1 bits, or null if it is all white</returns>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.getTopLeftOnBit">
+            <summary>
+            This is useful in detecting a corner of a 'pure' barcode.
+            </summary>
+            <returns>{x,y} coordinate of top-left-most 1 bit, or null if it is all white</returns>
+        </member>
+        <member name="M:ZXing.Common.BitMatrix.ToBitmap(ZXing.BarcodeFormat,System.String)">
+            <summary>
+            Converts this ByteMatrix to a black and white bitmap.
+            </summary>
+            <returns>A black and white bitmap converted from this ByteMatrix.</returns>
+        </member>
+        <member name="P:ZXing.Common.BitMatrix.Width">
+            <returns> The width of the matrix
+            </returns>
+        </member>
+        <member name="P:ZXing.Common.BitMatrix.Height">
+            <returns> The height of the matrix
+            </returns>
+        </member>
+        <member name="P:ZXing.Common.BitMatrix.Dimension">
+            <summary> This method is for compatibility with older code. It's only logical to call if the matrix
+            is square, so I'm throwing if that's not the case.
+            
+            </summary>
+            <returns> row/column dimension of this matrix
+            </returns>
+        </member>
+        <member name="P:ZXing.Common.BitMatrix.Item(System.Int32,System.Int32)">
+            <summary> <p>Gets the requested bit, where true means black.</p>
+            
+            </summary>
+            <param name="x">The horizontal component (i.e. which column)
+            </param>
+            <param name="y">The vertical component (i.e. which row)
+            </param>
+            <returns> value of given bit in matrix
+            </returns>
+        </member>
+        <member name="T:BigIntegerLibrary.Sign">
+            <summary>
+            The number's sign, where Positive also stands for the number zero.
+            </summary>
+        </member>
+        <member name="T:ZXing.Client.Result.ISBNParsedResult">
+            <author>jbreiden@google.com (Jeff Breidenbach)</author>
+        </member>
+        <member name="T:ZXing.Aztec.Internal.AztecCode">
+            <summary>
+            Aztec 2D code representation
+            </summary>
+            <author>Rustam Abdullaev</author>
+        </member>
+        <member name="P:ZXing.Aztec.Internal.AztecCode.isCompact">
+            <summary>
+            Compact or full symbol indicator
+            </summary>
+        </member>
+        <member name="P:ZXing.Aztec.Internal.AztecCode.Size">
+            <summary>
+            Size in pixels (width and height)
+            </summary>
+        </member>
+        <member name="P:ZXing.Aztec.Internal.AztecCode.Layers">
+            <summary>
+            Number of levels
+            </summary>
+        </member>
+        <member name="P:ZXing.Aztec.Internal.AztecCode.CodeWords">
+            <summary>
+            Number of data codewords
+            </summary>
+        </member>
+        <member name="P:ZXing.Aztec.Internal.AztecCode.Matrix">
+            <summary>
+            The symbol image
+            </summary>
+        </member>
+        <member name="T:ZXing.Aztec.Internal.Detector">
+            <summary>
+            Encapsulates logic that can detect an Aztec Code in an image, even if the Aztec Code
+            is rotated or skewed, or partially obscured.
+            </summary>
+            <author>David Olivier</author>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.#ctor(ZXing.Common.BitMatrix)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Aztec.Internal.Detector"/> class.
+            </summary>
+            <param name="image">The image.</param>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.detect">
+            <summary>
+            Detects an Aztec Code in an image.
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.detect(System.Boolean)">
+            <summary>
+            Detects an Aztec Code in an image.
+            </summary>
+            <param name="isMirror">if set to <c>true</c> [is mirror].</param>
+            <returns>
+            encapsulating results of detecting an Aztec Code
+            </returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.extractParameters(ZXing.ResultPoint[])">
+            <summary>
+            Extracts the number of data layers and data blocks from the layer around the bull's eye 
+            </summary>
+            <param name="bullsEyeCorners">bullEyeCornerPoints the array of bull's eye corners</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.getCorrectedParameterData(System.Int64,System.Boolean)">
+            <summary>
+            Corrects the parameter bits using Reed-Solomon algorithm
+            </summary>
+            <param name="parameterData">paremeter bits</param>
+            <param name="compact">compact true if this is a compact Aztec code</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.getBullsEyeCorners(ZXing.Aztec.Internal.Detector.Point)">
+            <summary>
+            Finds the corners of a bull-eye centered on the passed point
+            This returns the centers of the diagonal points just outside the bull's eye
+            Returns [topRight, bottomRight, bottomLeft, topLeft]
+            </summary>
+            <param name="pCenter">Center point</param>
+            <returns>The corners of the bull-eye</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.getMatrixCenter">
+            <summary>
+            Finds a candidate center point of an Aztec code from an image
+            </summary>
+            <returns>the center point</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.getMatrixCornerPoints(ZXing.ResultPoint[])">
+            <summary>
+            Gets the Aztec code corners from the bull's eye corners and the parameters.
+            </summary>
+            <param name="bullsEyeCorners">the array of bull's eye corners</param>
+            <returns>the array of aztec code corners</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.sampleGrid(ZXing.Common.BitMatrix,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary>
+            Creates a BitMatrix by sampling the provided image.
+            topLeft, topRight, bottomRight, and bottomLeft are the centers of the squares on the
+            diagonal just outside the bull's eye.
+            </summary>
+            <param name="image">The image.</param>
+            <param name="topLeft">The top left.</param>
+            <param name="bottomLeft">The bottom left.</param>
+            <param name="bottomRight">The bottom right.</param>
+            <param name="topRight">The top right.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.sampleLine(ZXing.ResultPoint,ZXing.ResultPoint,System.Int32)">
+            <summary>
+            Samples a line
+            </summary>
+            <param name="p1">start point (inclusive)</param>
+            <param name="p2">end point (exclusive)</param>
+            <param name="size">number of bits</param>
+            <returns> the array of bits as an int (first bit is high-order bit of result)</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.isWhiteOrBlackRectangle(ZXing.Aztec.Internal.Detector.Point,ZXing.Aztec.Internal.Detector.Point,ZXing.Aztec.Internal.Detector.Point,ZXing.Aztec.Internal.Detector.Point)">
+            <summary>
+            Determines whether [is white or black rectangle] [the specified p1].
+            </summary>
+            <param name="p1">The p1.</param>
+            <param name="p2">The p2.</param>
+            <param name="p3">The p3.</param>
+            <param name="p4">The p4.</param>
+            <returns>true if the border of the rectangle passed in parameter is compound of white points only
+            or black points only</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.getColor(ZXing.Aztec.Internal.Detector.Point,ZXing.Aztec.Internal.Detector.Point)">
+            <summary>
+            Gets the color of a segment
+            </summary>
+            <param name="p1">The p1.</param>
+            <param name="p2">The p2.</param>
+            <returns>1 if segment more than 90% black, -1 if segment is more than 90% white, 0 else</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.getFirstDifferent(ZXing.Aztec.Internal.Detector.Point,System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            Gets the coordinate of the first point with a different color in the given direction
+            </summary>
+            <param name="init">The init.</param>
+            <param name="color">if set to <c>true</c> [color].</param>
+            <param name="dx">The dx.</param>
+            <param name="dy">The dy.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Detector.expandSquare(ZXing.ResultPoint[],System.Single,System.Single)">
+            <summary>
+            Expand the square represented by the corner points by pushing out equally in all directions
+            </summary>
+            <param name="cornerPoints">the corners of the square, which has the bull's eye at its center</param>
+            <param name="oldSide">the original length of the side of the square in the target bit matrix</param>
+            <param name="newSide">the new length of the size of the square in the target bit matrix</param>
+            <returns>the corners of the expanded square</returns>
+        </member>
+        <member name="T:ZXing.Rendering.IBarcodeRenderer`1">
+            <summary>
+            Interface for a class to convert a BitMatrix to an output image format
+            </summary>
+        </member>
+        <member name="M:ZXing.Rendering.IBarcodeRenderer`1.Render(ZXing.Common.BitMatrix,ZXing.BarcodeFormat,System.String)">
+            <summary>
+            Renders the specified matrix to its graphically representation
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <param name="format">The format.</param>
+            <param name="content">The encoded content of the barcode which should be included in the image.
+            That can be the numbers below a 1D barcode or something other.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Rendering.IBarcodeRenderer`1.Render(ZXing.Common.BitMatrix,ZXing.BarcodeFormat,System.String,ZXing.Common.EncodingOptions)">
+            <summary>
+            Renders the specified matrix to its graphically representation
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <param name="format">The format.</param>
+            <param name="content">The encoded content of the barcode which should be included in the image.
+            That can be the numbers below a 1D barcode or something other.</param>
+            <param name="options">The options.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.DecodedBitStreamParser">
+             <summary>
+             <p>This class contains the methods for decoding the PDF417 codewords.</p>
+            
+             <author>SITA Lab (kevin.osullivan@sita.aero)</author>
+             </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.DecodedBitStreamParser.EXP900">
+            <summary>
+            Table containing values for the exponent of 900.
+            This is used in the numeric compaction decode algorithm.
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DecodedBitStreamParser.textCompaction(System.Int32[],System.Int32,System.Text.StringBuilder)">
+             <summary>
+             Text Compaction mode (see 5.4.1.5) permits all printable ASCII characters to be
+             encoded, i.e. values 32 - 126 inclusive in accordance with ISO/IEC 646 (IRV), as
+             well as selected control characters.
+            
+             <param name="codewords">The array of codewords (data + error)</param>
+             <param name="codeIndex">The current index into the codeword array.</param>
+             <param name="result">The decoded data is appended to the result.</param>
+             <returns>The next index into the codeword array.</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DecodedBitStreamParser.decodeTextCompaction(System.Int32[],System.Int32[],System.Int32,System.Text.StringBuilder)">
+             <summary>
+             The Text Compaction mode includes all the printable ASCII characters
+             (i.e. values from 32 to 126) and three ASCII control characters: HT or tab
+             (ASCII value 9), LF or line feed (ASCII value 10), and CR or carriage
+             return (ASCII value 13). The Text Compaction mode also includes various latch
+             and shift characters which are used exclusively within the mode. The Text
+             Compaction mode encodes up to 2 characters per codeword. The compaction rules
+             for converting data into PDF417 codewords are defined in 5.4.2.2. The sub-mode
+             switches are defined in 5.4.2.3.
+            
+             <param name="textCompactionData">The text compaction data.</param>
+             <param name="byteCompactionData">The byte compaction data if there</param>
+                                       was a mode shift.
+             <param name="length">The size of the text compaction and byte compaction data.</param>
+             <param name="result">The decoded data is appended to the result.</param>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DecodedBitStreamParser.byteCompaction(System.Int32,System.Int32[],System.Int32,System.Text.StringBuilder)">
+             <summary>
+             Byte Compaction mode (see 5.4.3) permits all 256 possible 8-bit byte values to be encoded.
+             This includes all ASCII characters value 0 to 127 inclusive and provides for international
+             character set support.
+            
+             <param name="mode">The byte compaction mode i.e. 901 or 924</param>
+             <param name="codewords">The array of codewords (data + error)</param>
+             <param name="codeIndex">The current index into the codeword array.</param>
+             <param name="result">The decoded data is appended to the result.</param>
+             <returns>The next index into the codeword array.</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DecodedBitStreamParser.numericCompaction(System.Int32[],System.Int32,System.Text.StringBuilder)">
+             <summary>
+             Numeric Compaction mode (see 5.4.4) permits efficient encoding of numeric data strings.
+            
+             <param name="codewords">The array of codewords (data + error)</param>
+             <param name="codeIndex">The current index into the codeword array.</param>
+             <param name="result">The decoded data is appended to the result.</param>
+             <returns>The next index into the codeword array.</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DecodedBitStreamParser.decodeBase900toBase10(System.Int32[],System.Int32)">
+            <summary>
+            Convert a list of Numeric Compacted codewords from Base 900 to Base 10.
+            EXAMPLE
+            Encode the fifteen digit numeric string 000213298174000
+            Prefix the numeric string with a 1 and set the initial value of
+            t = 1 000 213 298 174 000
+            Calculate codeword 0
+            d0 = 1 000 213 298 174 000 mod 900 = 200
+            
+            t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082
+            Calculate codeword 1
+            d1 = 1 111 348 109 082 mod 900 = 282
+            
+            t = 1 111 348 109 082 div 900 = 1 234 831 232
+            Calculate codeword 2
+            d2 = 1 234 831 232 mod 900 = 632
+            
+            t = 1 234 831 232 div 900 = 1 372 034
+            Calculate codeword 3
+            d3 = 1 372 034 mod 900 = 434
+            
+            t = 1 372 034 div 900 = 1 524
+            Calculate codeword 4
+            d4 = 1 524 mod 900 = 624
+            
+            t = 1 524 div 900 = 1
+            Calculate codeword 5
+            d5 = 1 mod 900 = 1
+            t = 1 div 900 = 0
+            Codeword sequence is: 1, 624, 434, 632, 282, 200
+            
+            Decode the above codewords involves
+              1 x 900 power of 5 + 624 x 900 power of 4 + 434 x 900 power of 3 +
+            632 x 900 power of 2 + 282 x 900 power of 1 + 200 x 900 power of 0 = 1000213298174000
+            
+            Remove leading 1 =>  Result is 000213298174000
+            <param name="codewords">The array of codewords</param>
+            <param name="count">The number of codewords</param>
+            <returns>The decoded string representing the Numeric data.</returns>
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.Codeword">
+            <summary>
+            A Codeword in the PDF417 barcode
+            </summary>
+            <author>Guenther Grau</author>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.Codeword.BARCODE_ROW_UNKNOWN">
+            <summary>
+            Default value for the RowNumber (-1 being an invalid real number)
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Codeword.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PDF417.Internal.Codeword"/> class.
+            </summary>
+            <param name="startX">Start x.</param>
+            <param name="endX">End x.</param>
+            <param name="bucket">Bucket.</param>
+            <param name="value">Value.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Codeword.IsValidRowNumber(System.Int32)">
+            <summary>
+            Determines whether this instance is valid row number the specified rowNumber.
+            </summary>
+            <returns><c>true</c> if this instance is valid row number the specified rowNumber; otherwise, <c>false</c>.</returns>
+            <param name="rowNumber">Row number.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Codeword.setRowNumberAsRowIndicatorColumn">
+            <summary>
+            Sets the row number as the row's indicator column.
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.Codeword.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.Codeword"/>.
+            </summary>
+            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.Codeword"/>.</returns>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.Codeword.Width">
+            <summary>
+            Gets the width.
+            </summary>
+            <value>The width.</value>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.Codeword.HasValidRowNumber">
+            <summary>
+            Gets a value indicating whether this instance has valid row number.
+            </summary>
+            <value><c>true</c> if this instance has valid row number; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.BitArrayBuilder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.Action">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+        </member>
+        <member name="T:ZXing.Action`1">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="T1">The type of the 1.</typeparam>
+            <param name="param1">The param1.</param>
+        </member>
+        <member name="T:ZXing.Action`2">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="T1">The type of the 1.</typeparam>
+            <typeparam name="T2">The type of the 2.</typeparam>
+            <param name="param1">The param1.</param>
+            <param name="param2">The param2.</param>
+        </member>
+        <member name="T:ZXing.Action`3">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="T1">The type of the 1.</typeparam>
+            <typeparam name="T2">The type of the 2.</typeparam>
+            <typeparam name="T3">The type of the 3.</typeparam>
+            <param name="param1">The param1.</param>
+            <param name="param2">The param2.</param>
+            <param name="param3">The param3.</param>
+        </member>
+        <member name="T:ZXing.Action`4">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="T1">The type of the 1.</typeparam>
+            <typeparam name="T2">The type of the 2.</typeparam>
+            <typeparam name="T3">The type of the 3.</typeparam>
+            <typeparam name="T4">The type of the 4.</typeparam>
+            <param name="param1">The param1.</param>
+            <param name="param2">The param2.</param>
+            <param name="param3">The param3.</param>
+            <param name="param4">The param4.</param>
+        </member>
+        <member name="T:ZXing.Multi.QrCode.Internal.MultiDetector">
+             <summary>
+             <p>Encapsulates logic that can detect one or more QR Codes in an image, even if the QR Code
+             is rotated or skewed, or partially obscured.</p>
+            
+             <author>Sean Owen</author>
+             <author>Hannes Erven</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.Multi.QrCode.Internal.MultiDetector.#ctor(ZXing.Common.BitMatrix)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Multi.QrCode.Internal.MultiDetector"/> class.
+            </summary>
+            <param name="image">The image.</param>
+        </member>
+        <member name="M:ZXing.Multi.QrCode.Internal.MultiDetector.detectMulti(System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Detects the multi.
+            </summary>
+            <param name="hints">The hints.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.InvertedLuminanceSource">
+            <summary>
+            A wrapper implementation of {@link LuminanceSource} which inverts the luminances it returns -- black becomes
+            white and vice versa, and each value becomes (255-value).
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.InvertedLuminanceSource.#ctor(ZXing.LuminanceSource)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.InvertedLuminanceSource"/> class.
+            </summary>
+            <param name="delegate">The @delegate.</param>
+        </member>
+        <member name="M:ZXing.InvertedLuminanceSource.getRow(System.Int32,System.Byte[])">
+            <summary>
+            Fetches one row of luminance data from the underlying platform's bitmap. Values range from
+            0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
+            to bitwise and with 0xff for each value. It is preferable for implementations of this method
+            to only fetch this row rather than the whole image, since no 2D Readers may be installed and
+            getMatrix() may never be called.
+            </summary>
+            <param name="y">The row to fetch, 0 &lt;= y &lt; Height.</param>
+            <param name="row">An optional preallocated array. If null or too small, it will be ignored.
+            Always use the returned object, and ignore the .length of the array.</param>
+            <returns>
+            An array containing the luminance data.
+            </returns>
+        </member>
+        <member name="M:ZXing.InvertedLuminanceSource.crop(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Returns a new object with cropped image data. Implementations may keep a reference to the
+            original data rather than a copy. Only callable if CropSupported is true.
+            </summary>
+            <param name="left">The left coordinate, 0 &lt;= left &lt; Width.</param>
+            <param name="top">The top coordinate, 0 &lt;= top &lt;= Height.</param>
+            <param name="width">The width of the rectangle to crop.</param>
+            <param name="height">The height of the rectangle to crop.</param>
+            <returns>
+            A cropped version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.InvertedLuminanceSource.invert">
+            <summary>
+            Inverts this instance.
+            </summary>
+            <returns>original delegate {@link LuminanceSource} since invert undoes itself</returns>
+        </member>
+        <member name="M:ZXing.InvertedLuminanceSource.rotateCounterClockwise">
+            <summary>
+            Returns a new object with rotated image data by 90 degrees counterclockwise.
+            Only callable if {@link #isRotateSupported()} is true.
+            </summary>
+            <returns>
+            A rotated version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.InvertedLuminanceSource.rotateCounterClockwise45">
+            <summary>
+            Returns a new object with rotated image data by 45 degrees counterclockwise.
+            Only callable if {@link #isRotateSupported()} is true.
+            </summary>
+            <returns>
+            A rotated version of this object.
+            </returns>
+        </member>
+        <member name="P:ZXing.InvertedLuminanceSource.Matrix">
+            <summary>
+            Fetches luminance data for the underlying bitmap. Values should be fetched using:
+            int luminance = array[y * width + x] &amp; 0xff;
+            </summary>
+            <returns> A row-major 2D array of luminance values. Do not use result.length as it may be
+            larger than width * height bytes on some platforms. Do not modify the contents
+            of the result.
+              </returns>
+        </member>
+        <member name="P:ZXing.InvertedLuminanceSource.CropSupported">
+            <summary>
+            </summary>
+            <returns> Whether this subclass supports cropping.</returns>
+        </member>
+        <member name="P:ZXing.InvertedLuminanceSource.RotateSupported">
+            <summary>
+            </summary>
+            <returns> Whether this subclass supports counter-clockwise rotation.</returns>
+        </member>
+        <member name="T:ZXing.DecodeHintType">
+            <summary>
+            Encapsulates a type of hint that a caller may pass to a barcode reader to help it
+            more quickly or accurately decode it. It is up to implementations to decide what,
+            if anything, to do with the information that is supplied.
+            <seealso cref="M:ZXing.Reader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})"/>
+            </summary>
+            <author>Sean Owen</author>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+        </member>
+        <member name="F:ZXing.DecodeHintType.OTHER">
+            <summary>
+            Unspecified, application-specific hint. Maps to an unspecified <see cref="T:System.Object"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.PURE_BARCODE">
+            <summary>
+            Image is a pure monochrome image of a barcode. Doesn't matter what it maps to;
+            use <see cref="T:System.Boolean"/> = true.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.POSSIBLE_FORMATS">
+            <summary>
+            Image is known to be of one of a few possible formats.
+            Maps to a <see cref="T:System.Collections.ICollection"/> of <see cref="T:ZXing.BarcodeFormat"/>s.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.TRY_HARDER">
+            <summary>
+            Spend more time to try to find a barcode; optimize for accuracy, not speed.
+            Doesn't matter what it maps to; use <see cref="T:System.Boolean"/> = true.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.CHARACTER_SET">
+            <summary>
+            Specifies what character encoding to use when decoding, where applicable (type String)
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.ALLOWED_LENGTHS">
+            <summary>
+            Allowed lengths of encoded data -- reject anything else. Maps to an int[].
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.ASSUME_CODE_39_CHECK_DIGIT">
+            <summary>
+            Assume Code 39 codes employ a check digit. Maps to <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.NEED_RESULT_POINT_CALLBACK">
+            <summary>
+            The caller needs to be notified via callback when a possible <see cref="T:ZXing.ResultPoint"/>
+            is found. Maps to a <see cref="T:ZXing.ResultPointCallback"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.ASSUME_MSI_CHECK_DIGIT">
+            <summary>
+            Assume MSI codes employ a check digit. Maps to <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.USE_CODE_39_EXTENDED_MODE">
+            <summary>
+            if Code39 could be detected try to use extended mode for full ASCII character set
+            Maps to <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.RELAXED_CODE_39_EXTENDED_MODE">
+            <summary>
+            Don't fail if a Code39 is detected but can't be decoded in extended mode.
+            Return the raw Code39 result instead. Maps to <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.TRY_HARDER_WITHOUT_ROTATION">
+            <summary>
+            1D readers supporting rotation with TRY_HARDER enabled.
+            But BarcodeReader class can do auto-rotating for 1D and 2D codes.
+            Enabling that option prevents 1D readers doing double rotation.
+            BarcodeReader enables that option automatically if "global" auto-rotation is enabled.
+            Maps to <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.ASSUME_GS1">
+            <summary>
+            Assume the barcode is being processed as a GS1 barcode, and modify behavior as needed.
+            For example this affects FNC1 handling for Code 128 (aka GS1-128). Doesn't matter what it maps to;
+            use <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.RETURN_CODABAR_START_END">
+            <summary>
+            If true, return the start and end digits in a Codabar barcode instead of stripping them. They
+            are alpha, whereas the rest are numeric. By default, they are stripped, but this causes them
+            to not be. Doesn't matter what it maps to; use <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="F:ZXing.DecodeHintType.ALLOWED_EAN_EXTENSIONS">
+            <summary>
+            Allowed extension lengths for EAN or UPC barcodes. Other formats will ignore this.
+            Maps to an <see cref="!:Array.int"/> of the allowed extension lengths, for example [2], [5], or [2, 5].
+            If it is optional to have an extension, do not set this hint. If this is set,
+            and a UPC or EAN barcode is found but an extension is not, then no result will be returned
+            at all.
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.ECI">
+            <summary> Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations"
+            5.3 of ISO 18004.
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Common.ECI.getECIByValue(System.Int32)">
+            <param name="value">ECI value
+            </param>
+            <returns> {@link ECI} representing ECI of given value, or null if it is legal but unsupported
+            </returns>
+            <throws>  IllegalArgumentException if ECI value is invalid </throws>
+        </member>
+        <member name="T:ZXing.Common.Detector.MonochromeRectangleDetector">
+            <summary> <p>A somewhat generic detector that looks for a barcode-like rectangular region within an image.
+            It looks within a mostly white region of an image for a region of black and white, but mostly
+            black. It returns the four corners of the region, as best it can determine.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Common.Detector.MonochromeRectangleDetector.detect">
+            <summary> <p>Detects a rectangular region of black and white -- mostly black -- with a region of mostly
+            white, in an image.</p>
+            
+            </summary>
+            <returns> {@link ResultPoint}[] describing the corners of the rectangular region. The first and
+            last points are opposed on the diagonal, as are the second and third. The first point will be
+            the topmost point and the last, the bottommost. The second point will be leftmost and the
+            third, the rightmost
+            </returns>
+        </member>
+        <member name="M:ZXing.Common.Detector.MonochromeRectangleDetector.findCornerFromCenter(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary> Attempts to locate a corner of the barcode by scanning up, down, left or right from a center
+            point which should be within the barcode.
+            
+            </summary>
+            <param name="centerX">center's x component (horizontal)
+            </param>
+            <param name="deltaX">same as deltaY but change in x per step instead
+            </param>
+            <param name="left">minimum value of x
+            </param>
+            <param name="right">maximum value of x
+            </param>
+            <param name="centerY">center's y component (vertical)
+            </param>
+            <param name="deltaY">change in y per step. If scanning up this is negative; down, positive;
+            left or right, 0
+            </param>
+            <param name="top">minimum value of y to search through (meaningless when di == 0)
+            </param>
+            <param name="bottom">maximum value of y
+            </param>
+            <param name="maxWhiteRun">maximum run of white pixels that can still be considered to be within
+            the barcode
+            </param>
+            <returns> a {@link com.google.zxing.ResultPoint} encapsulating the corner that was found
+            </returns>
+        </member>
+        <member name="M:ZXing.Common.Detector.MonochromeRectangleDetector.blackWhiteRange(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
+            <summary> Computes the start and end of a region of pixels, either horizontally or vertically, that could
+            be part of a Data Matrix barcode.
+            
+            </summary>
+            <param name="fixedDimension">if scanning horizontally, this is the row (the fixed vertical location)
+            where we are scanning. If scanning vertically it's the column, the fixed horizontal location
+            </param>
+            <param name="maxWhiteRun">largest run of white pixels that can still be considered part of the
+            barcode region
+            </param>
+            <param name="minDim">minimum pixel location, horizontally or vertically, to consider
+            </param>
+            <param name="maxDim">maximum pixel location, horizontally or vertically, to consider
+            </param>
+            <param name="horizontal">if true, we're scanning left-right, instead of up-down
+            </param>
+            <returns> int[] with start and end of found range, or null if no such range is found
+            (e.g. only white was found)
+            </returns>
+        </member>
+        <member name="T:ZXing.Common.BitArray">
+            <summary>
+            A simple, fast array of bits, represented compactly by an array of ints internally.
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.Common.BitArray.flip(System.Int32)">
+            <summary> Flips bit i.
+            
+            </summary>
+            <param name="i">bit to set
+            </param>
+        </member>
+        <member name="M:ZXing.Common.BitArray.getNextSet(System.Int32)">
+            <summary>
+            Gets the next set.
+            </summary>
+            <param name="from">first bit to check</param>
+            <returns>index of first bit that is set, starting from the given index, or size if none are set
+            at or beyond this given index</returns>
+        </member>
+        <member name="M:ZXing.Common.BitArray.getNextUnset(System.Int32)">
+            <summary>
+            see getNextSet(int)
+            </summary>
+            <param name="from"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Common.BitArray.setBulk(System.Int32,System.Int32)">
+            <summary> Sets a block of 32 bits, starting at bit i.
+            
+            </summary>
+            <param name="i">first bit to set
+            </param>
+            <param name="newBits">the new value of the next 32 bits. Note again that the least-significant bit
+            corresponds to bit i, the next-least-significant to i+1, and so on.
+            </param>
+        </member>
+        <member name="M:ZXing.Common.BitArray.setRange(System.Int32,System.Int32)">
+            <summary>
+            Sets a range of bits.
+            </summary>
+            <param name="start">start of range, inclusive.</param>
+            <param name="end">end of range, exclusive</param>
+        </member>
+        <member name="M:ZXing.Common.BitArray.clear">
+            <summary> Clears all bits (sets to false).</summary>
+        </member>
+        <member name="M:ZXing.Common.BitArray.isRange(System.Int32,System.Int32,System.Boolean)">
+            <summary> Efficient method to check if a range of bits is set, or not set.
+            
+            </summary>
+            <param name="start">start of range, inclusive.
+            </param>
+            <param name="end">end of range, exclusive
+            </param>
+            <param name="value">if true, checks that bits in range are set, otherwise checks that they are not set
+            </param>
+            <returns> true iff all bits are set or not set in range, according to value argument
+            </returns>
+            <throws>  IllegalArgumentException if end is less than or equal to start </throws>
+        </member>
+        <member name="M:ZXing.Common.BitArray.appendBit(System.Boolean)">
+            <summary>
+            Appends the bit.
+            </summary>
+            <param name="bit">The bit.</param>
+        </member>
+        <member name="M:ZXing.Common.BitArray.appendBits(System.Int32,System.Int32)">
+            <summary>
+            Appends the least-significant bits, from value, in order from most-significant to
+            least-significant. For example, appending 6 bits from 0x000001E will append the bits
+            0, 1, 1, 1, 1, 0 in that order.
+            </summary>
+            <param name="value">The value.</param>
+            <param name="numBits">The num bits.</param>
+        </member>
+        <member name="M:ZXing.Common.BitArray.toBytes(System.Int32,System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Toes the bytes.
+            </summary>
+            <param name="bitOffset">first bit to start writing</param>
+            <param name="array">array to write into. Bytes are written most-significant byte first. This is the opposite
+            of the internal representation, which is exposed by BitArray</param>
+            <param name="offset">position in array to start writing</param>
+            <param name="numBytes">how many bytes to write</param>
+        </member>
+        <member name="M:ZXing.Common.BitArray.reverse">
+            <summary> Reverses all bits in the array.</summary>
+        </member>
+        <member name="M:ZXing.Common.BitArray.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
+            </summary>
+            <param name="o">The <see cref="T:System.Object"/> to compare with this instance.</param>
+            <returns>
+              <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:ZXing.Common.BitArray.GetHashCode">
+            <summary>
+            Returns a hash code for this instance.
+            </summary>
+            <returns>
+            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
+            </returns>
+        </member>
+        <member name="M:ZXing.Common.BitArray.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:ZXing.Common.BitArray.Clone">
+            <summary>
+            Erstellt ein neues Objekt, das eine Kopie der aktuellen Instanz darstellt.
+            </summary>
+            <returns>
+            Ein neues Objekt, das eine Kopie dieser Instanz darstellt.
+            </returns>
+        </member>
+        <member name="P:ZXing.Common.BitArray.Array">
+            <returns> underlying array of ints. The first element holds the first 32 bits, and the least
+            significant bit is bit 0.
+            </returns>
+        </member>
+        <member name="T:ZXing.Client.Result.ProductParsedResult">
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+        </member>
+        <member name="T:ZXing.Client.Result.ExpandedProductResultParser">
+            <summary>
+            Parses strings of digits that represent a RSS Extended code.
+            </summary>
+            <author>Antonio Manuel Benjumea Conde, Servinform, S.A.</author>
+            <author>Agustín Delgado, Servinform, S.A.</author>
+        </member>
+        <member name="M:ZXing.BitmapLuminanceSource.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BitmapLuminanceSource"/> class.
+            </summary>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.BitmapLuminanceSource.#ctor(System.Drawing.Bitmap)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.BitmapLuminanceSource"/> class
+            with the image of a Bitmap instance
+            </summary>
+            <param name="bitmap">The bitmap.</param>
+        </member>
+        <member name="M:ZXing.BitmapLuminanceSource.CreateLuminanceSource(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Should create a new luminance source with the right class type.
+            The method is used in methods crop and rotate.
+            </summary>
+            <param name="newLuminances">The new luminances.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.BinaryBitmap">
+            <summary> This class is the core bitmap class used by ZXing to represent 1 bit data. Reader objects
+            accept a BinaryBitmap and attempt to decode it.
+            
+            </summary>
+            <author>  dswitkin@google.com (Daniel Switkin)
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.BinaryBitmap.getBlackRow(System.Int32,ZXing.Common.BitArray)">
+            <summary> Converts one row of luminance data to 1 bit data. May actually do the conversion, or return
+            cached data. Callers should assume this method is expensive and call it as seldom as possible.
+            This method is intended for decoding 1D barcodes and may choose to apply sharpening.
+            
+            </summary>
+            <param name="y">The row to fetch, 0 &lt;= y &lt; bitmap height.
+            </param>
+            <param name="row">An optional preallocated array. If null or too small, it will be ignored.
+            If used, the Binarizer will call BitArray.clear(). Always use the returned object.
+            </param>
+            <returns> The array of bits for this row (true means black).
+            </returns>
+        </member>
+        <member name="M:ZXing.BinaryBitmap.crop(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary> Returns a new object with cropped image data. Implementations may keep a reference to the
+            original data rather than a copy. Only callable if isCropSupported() is true.
+            
+            </summary>
+            <param name="left">The left coordinate, 0 &lt;= left &lt; getWidth().
+            </param>
+            <param name="top">The top coordinate, 0 &lt;= top &lt;= getHeight().
+            </param>
+            <param name="width">The width of the rectangle to crop.
+            </param>
+            <param name="height">The height of the rectangle to crop.
+            </param>
+            <returns> A cropped version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.BinaryBitmap.rotateCounterClockwise">
+            <summary>
+            Returns a new object with rotated image data by 90 degrees counterclockwise.
+            Only callable if {@link #isRotateSupported()} is true.
+            </summary>
+            <returns> A rotated version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.BinaryBitmap.rotateCounterClockwise45">
+            <summary>
+            Returns a new object with rotated image data by 45 degrees counterclockwise.
+            Only callable if {@link #isRotateSupported()} is true.
+            </summary>
+            <returns>A rotated version of this object.</returns>
+        </member>
+        <member name="M:ZXing.BinaryBitmap.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="P:ZXing.BinaryBitmap.Width">
+            <returns> The width of the bitmap.
+            </returns>
+        </member>
+        <member name="P:ZXing.BinaryBitmap.Height">
+            <returns> The height of the bitmap.
+            </returns>
+        </member>
+        <member name="P:ZXing.BinaryBitmap.BlackMatrix">
+            <summary> Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive
+            and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or
+            may not apply sharpening. Therefore, a row from this matrix may not be identical to one
+            fetched using getBlackRow(), so don't mix and match between them.
+            
+            </summary>
+            <returns> The 2D array of bits for the image (true means black).
+            </returns>
+        </member>
+        <member name="P:ZXing.BinaryBitmap.CropSupported">
+            <returns> Whether this bitmap can be cropped.
+            </returns>
+        </member>
+        <member name="P:ZXing.BinaryBitmap.RotateSupported">
+            <returns> Whether this bitmap supports counter-clockwise rotation.
+            </returns>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.FinderPattern">
+            <summary>
+            <p>Encapsulates a finder pattern, which are the three square patterns found in
+            the corners of QR Codes. It also encapsulates a count of similar finder patterns,
+            as a convenience to the finder's bookkeeping.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPattern.aboutEquals(System.Single,System.Single,System.Single)">
+            <summary> <p>Determines if this finder pattern "about equals" a finder pattern at the stated
+            position and size -- meaning, it is at nearly the same center with nearly the same size.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPattern.combineEstimate(System.Single,System.Single,System.Single)">
+            <summary>
+            Combines this object's current estimate of a finder pattern position and module size
+            with a new estimate. It returns a new {@code FinderPattern} containing a weighted average
+            based on count.
+            </summary>
+            <param name="i">The i.</param>
+            <param name="j">The j.</param>
+            <param name="newModuleSize">New size of the module.</param>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.FinderPattern.EstimatedModuleSize">
+            <summary>
+            Gets the size of the estimated module.
+            </summary>
+            <value>
+            The size of the estimated module.
+            </value>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.BoundingBox">
+            <summary>
+            A Bounding Box helper class
+            </summary>
+            <author>Guenther Grau</author>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BoundingBox.Create(ZXing.Common.BitMatrix,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PDF417.Internal.BoundingBox"/> class.
+            returns null if the corner points don't match up correctly
+            </summary>
+            <param name="image">The image.</param>
+            <param name="topLeft">The top left.</param>
+            <param name="bottomLeft">The bottom left.</param>
+            <param name="topRight">The top right.</param>
+            <param name="bottomRight">The bottom right.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BoundingBox.Create(ZXing.PDF417.Internal.BoundingBox)">
+            <summary>
+            Creates the specified box.
+            </summary>
+            <param name="box">The box.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BoundingBox.#ctor(ZXing.Common.BitMatrix,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PDF417.Internal.BoundingBox"/> class.
+            Will throw an exception if the corner points don't match up correctly
+            </summary>
+            <param name="image">Image.</param>
+            <param name="topLeft">Top left.</param>
+            <param name="topRight">Top right.</param>
+            <param name="bottomLeft">Bottom left.</param>
+            <param name="bottomRight">Bottom right.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BoundingBox.merge(ZXing.PDF417.Internal.BoundingBox,ZXing.PDF417.Internal.BoundingBox)">
+            <summary>
+            Merge two Bounding Boxes, getting the left corners of left, and the right corners of right
+            (Images should be the same)
+            </summary>
+            <param name="leftBox">Left.</param>
+            <param name="rightBox">Right.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BoundingBox.addMissingRows(System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Adds the missing rows.
+            </summary>
+            <returns>The missing rows.</returns>
+            <param name="missingStartRows">Missing start rows.</param>
+            <param name="missingEndRows">Missing end rows.</param>
+            <param name="isLeft">If set to <c>true</c> is left.</param>
+        </member>
+        <!-- Ungültiger XML-Kommentar wurde für den Member "M:ZXing.PDF417.Internal.BoundingBox.calculateMinMaxValues" ignoriert -->
+        <member name="M:ZXing.PDF417.Internal.BoundingBox.SetBottomRight(ZXing.ResultPoint)">
+            <summary>
+            If we adjust the width, set a new right corner coordinate and recalculate
+            </summary>
+            <param name="bottomRight">Bottom right.</param>
+        </member>
+        <member name="T:ZXing.OneD.PlesseyWriter">
+            <summary>
+            This object renders a Plessey code as a <see cref="T:ZXing.Common.BitMatrix"/>.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.PlesseyWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            Encode the contents following specified format.
+            {@code width} and {@code height} are required size. This method may return bigger size
+            {@code BitMatrix} when specified size is too small. The user can set both {@code width} and
+            {@code height} to zero to get minimum size barcode. If negative value is set to {@code width}
+            or {@code height}, {@code IllegalArgumentException} is thrown.
+            </summary>
+            <param name="contents"></param>
+            <param name="format"></param>
+            <param name="width"></param>
+            <param name="height"></param>
+            <param name="hints"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.PlesseyWriter.encode(System.String)">
+            <summary>
+            Encode the contents to byte array expression of one-dimensional barcode.
+            Start code and end code should be included in result, and side margins should not be included.
+            <returns>a {@code boolean[]} of horizontal pixels (false = white, true = black)</returns>
+            </summary>
+            <param name="contents"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.OneD.MultiFormatUPCEANReader">
+            <summary>
+              <p>A reader that can read all available UPC/EAN formats. If a caller wants to try to
+            read all such formats, it is most efficient to use this implementation rather than invoke
+            individual readers.</p>
+              <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.MultiFormatUPCEANReader.#ctor(System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.MultiFormatUPCEANReader"/> class.
+            </summary>
+            <param name="hints">The hints.</param>
+        </member>
+        <member name="M:ZXing.OneD.MultiFormatUPCEANReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns>
+              <see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode or null if an error occurs or barcode cannot be found
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.MultiFormatUPCEANReader.reset">
+            <summary>
+            Resets any internal state the implementation has after a decode, to prepare it
+            for reuse.
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Encoder.DefaultPlacement">
+            <summary>
+            Symbol Character Placement Program. Adapted from Annex M.1 in ISO/IEC 16022:2000(E).
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.DefaultPlacement.#ctor(System.String,System.Int32,System.Int32)">
+            <summary>
+            Main constructor
+            </summary>
+            <param name="codewords">the codewords to place</param>
+            <param name="numcols">the number of columns</param>
+            <param name="numrows">the number of rows</param>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.DefaultPlacement.utah(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Places the 8 bits of a utah-shaped symbol character in ECC200.
+            </summary>
+            <param name="row">The row.</param>
+            <param name="col">The col.</param>
+            <param name="pos">character position</param>
+        </member>
+        <member name="T:ZXing.Client.Result.VEventResultParser">
+            <summary>
+            Partially implements the iCalendar format's "VEVENT" format for specifying a
+            calendar event. See RFC 2445. This supports SUMMARY, DTSTART and DTEND fields.
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Client.Result.URLTOResultParser">
+            <summary> Parses the "URLTO" result format, which is of the form "URLTO:[title]:[url]".
+            This seems to be used sometimes, but I am not able to find documentation
+            on its origin or official format?
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Client.Result.ParsedResultType">
+            <summary>
+            Represents the type of data encoded by a barcode -- from plain text, to a
+            URI, to an e-mail address, etc.
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.Client.Result.EmailAddressParsedResult">
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.Aztec.Internal.Encoder">
+            <summary>
+            Generates Aztec 2D barcodes.
+            </summary>
+            <author>Rustam Abdullaev</author>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Encoder.encode(System.Byte[])">
+            <summary>
+            Encodes the given binary content as an Aztec symbol
+            </summary>
+            <param name="data">input data string</param>
+            <returns>Aztec symbol matrix with metadata</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Encoder.encode(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Encodes the given binary content as an Aztec symbol
+            </summary>
+            <param name="data">input data string</param>
+            <param name="minECCPercent">minimal percentage of error check words (According to ISO/IEC 24778:2008,
+            a minimum of 23% + 3 words is recommended)</param>
+            <param name="userSpecifiedLayers">if non-zero, a user-specified value for the number of layers</param>
+            <returns>
+            Aztec symbol matrix with metadata
+            </returns>
+        </member>
+        <member name="T:ZXing.Rendering.SvgRenderer">
+            <summary>
+            Renders a barcode into a Svg image
+            </summary>
+        </member>
+        <member name="M:ZXing.Rendering.SvgRenderer.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Rendering.SvgRenderer"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.Rendering.SvgRenderer.Render(ZXing.Common.BitMatrix,ZXing.BarcodeFormat,System.String)">
+            <summary>
+            Renders the specified matrix.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <param name="format">The format.</param>
+            <param name="content">The content.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Rendering.SvgRenderer.Render(ZXing.Common.BitMatrix,ZXing.BarcodeFormat,System.String,ZXing.Common.EncodingOptions)">
+            <summary>
+            Renders the specified matrix.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <param name="format">The format.</param>
+            <param name="content">The content.</param>
+            <param name="options">The options.</param>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.Rendering.SvgRenderer.Foreground">
+            <summary>
+            Gets or sets the foreground color.
+            </summary>
+            <value>The foreground color.</value>
+        </member>
+        <member name="P:ZXing.Rendering.SvgRenderer.Background">
+            <summary>
+            Gets or sets the background color.
+            </summary>
+            <value>The background color.</value>
+        </member>
+        <member name="T:ZXing.Rendering.SvgRenderer.SvgImage">
+            <summary>
+            Represents a barcode as a Svg image
+            </summary>
+        </member>
+        <member name="M:ZXing.Rendering.SvgRenderer.SvgImage.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Rendering.SvgRenderer.SvgImage"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.Rendering.SvgRenderer.SvgImage.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Rendering.SvgRenderer.SvgImage"/> class.
+            </summary>
+            <param name="content">The content.</param>
+        </member>
+        <member name="M:ZXing.Rendering.SvgRenderer.SvgImage.ToString">
+            <summary>
+            Gives the XML representation of the SVG image
+            </summary>
+        </member>
+        <member name="P:ZXing.Rendering.SvgRenderer.SvgImage.Content">
+            <summary>
+            Gets or sets the content.
+            </summary>
+            <value>
+            The content.
+            </value>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.BarcodeMatrix">
+             <summary>
+             Holds all of the information for a barcode in a format where it can be easily accessable
+            
+             <author>Jacob Haynes</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.BarcodeMatrix.#ctor(System.Int32,System.Int32)">
+            <summary>
+            <param name="height">the height of the matrix (Rows)</param>
+            <param name="width">the width of the matrix (Cols)</param>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI01392xDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.EAN8Writer">
+            <summary>
+            This object renders an EAN8 code as a <see cref="T:ZXing.Common.BitMatrix"/>.
+            <author>aripollak@gmail.com (Ari Pollak)</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.EAN8Writer.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            Encode the contents following specified format.
+            {@code width} and {@code height} are required size. This method may return bigger size
+            {@code BitMatrix} when specified size is too small. The user can set both {@code width} and
+            {@code height} to zero to get minimum size barcode. If negative value is set to {@code width}
+            or {@code height}, {@code IllegalArgumentException} is thrown.
+            </summary>
+            <param name="contents"></param>
+            <param name="format"></param>
+            <param name="width"></param>
+            <param name="height"></param>
+            <param name="hints"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.EAN8Writer.encode(System.String)">
+            <summary>
+            </summary>
+            <returns>
+            a byte array of horizontal pixels (false = white, true = black)
+            </returns>
+        </member>
+        <member name="T:ZXing.OneD.EAN8Reader">
+            <summary>
+              <p>Implements decoding of the EAN-8 format.</p>
+              <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.EAN8Reader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.OneD.EAN8Reader"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.EAN8Reader.decodeMiddle(ZXing.Common.BitArray,System.Int32[],System.Text.StringBuilder)">
+            <summary>
+            Decodes the middle.
+            </summary>
+            <param name="row">The row.</param>
+            <param name="startRange">The start range.</param>
+            <param name="result">The result.</param>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.OneD.EAN8Reader.BarcodeFormat">
+            <summary>
+            Get the format of this decoder.
+            <returns>The 1D format.</returns>
+            </summary>
+        </member>
+        <!-- Ungültiger XML-Kommentar wurde für den Member "T:ZXing.Multi.QrCode.Internal.MultiFinderPatternFinder" ignoriert -->
+        <!-- Ungültiger XML-Kommentar wurde für den Member "T:ZXing.QrCode.Internal.FinderPatternFinder" ignoriert -->
+        <member name="F:ZXing.QrCode.Internal.FinderPatternFinder.MIN_SKIP">
+            <summary>
+            1 pixel/module times 3 modules/center
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.FinderPatternFinder.MAX_MODULES">
+            <summary>
+            support up to version 10 for mobile clients
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.#ctor(ZXing.Common.BitMatrix)">
+            <summary>
+            <p>Creates a finder that will search the image for three finder patterns.</p>
+            </summary>
+            <param name="image">image to search</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.#ctor(ZXing.Common.BitMatrix,ZXing.ResultPointCallback)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.QrCode.Internal.FinderPatternFinder"/> class.
+            </summary>
+            <param name="image">The image.</param>
+            <param name="resultPointCallback">The result point callback.</param>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.centerFromEnd(System.Int32[],System.Int32)">
+            <summary> Given a count of black/white/black/white/black pixels just seen and an end position,
+            figures the location of the center of this run.
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.foundPatternCross(System.Int32[])">
+            <param name="stateCount">count of black/white/black/white/black pixels just read
+            </param>
+            <returns> true iff the proportions of the counts is close enough to the 1/1/3/1/1 ratios
+            used by finder patterns to be considered a match
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.crossCheckDiagonal(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            After a vertical and horizontal scan finds a potential finder pattern, this method
+            "cross-cross-cross-checks" by scanning down diagonally through the center of the possible
+            finder pattern to see if the same proportion is detected.
+            </summary>
+            <param name="startI">row where a finder pattern was detected</param>
+            <param name="centerJ">center of the section that appears to cross a finder pattern</param>
+            <param name="maxCount">maximum reasonable number of modules that should be observed in any reading state, based on the results of the horizontal scan</param>
+            <param name="originalStateCountTotal">The original state count total.</param>
+            <returns>true if proportions are withing expected limits</returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.crossCheckVertical(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+              <p>After a horizontal scan finds a potential finder pattern, this method
+            "cross-checks" by scanning down vertically through the center of the possible
+            finder pattern to see if the same proportion is detected.</p>
+            </summary>
+            <param name="startI">row where a finder pattern was detected</param>
+            <param name="centerJ">center of the section that appears to cross a finder pattern</param>
+            <param name="maxCount">maximum reasonable number of modules that should be
+            observed in any reading state, based on the results of the horizontal scan</param>
+            <param name="originalStateCountTotal">The original state count total.</param>
+            <returns>
+            vertical center of finder pattern, or null if not found
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.crossCheckHorizontal(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary> <p>Like {@link #crossCheckVertical(int, int, int, int)}, and in fact is basically identical,
+            except it reads horizontally instead of vertically. This is used to cross-cross
+            check a vertical cross check and locate the real center of the alignment pattern.</p>
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.handlePossibleCenter(System.Int32[],System.Int32,System.Int32,System.Boolean)">
+            <summary>
+              <p>This is called when a horizontal scan finds a possible alignment pattern. It will
+            cross check with a vertical scan, and if successful, will, ah, cross-cross-check
+            with another horizontal scan. This is needed primarily to locate the real horizontal
+            center of the pattern in cases of extreme skew.
+            And then we cross-cross-cross check with another diagonal scan.</p>
+            If that succeeds the finder pattern location is added to a list that tracks
+            the number of times each location has been nearly-matched as a finder pattern.
+            Each additional find is more evidence that the location is in fact a finder
+            pattern center
+            </summary>
+            <param name="stateCount">reading state module counts from horizontal scan</param>
+            <param name="i">row where finder pattern may be found</param>
+            <param name="j">end of possible finder pattern in row</param>
+            <param name="pureBarcode">if set to <c>true</c> [pure barcode].</param>
+            <returns>
+            true if a finder pattern candidate was found this time
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.findRowSkip">
+            <returns> number of rows we could safely skip during scanning, based on the first
+            two finder patterns that have been located. In some cases their position will
+            allow us to infer that the third pattern must lie below a certain point farther
+            down in the image.
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.haveMultiplyConfirmedCenters">
+            <returns> true iff we have found at least 3 finder patterns that have been detected
+            at least {@link #CENTER_QUORUM} times each, and, the estimated module size of the
+            candidates is "pretty similar"
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.FinderPatternFinder.selectBestPatterns">
+            <returns> the 3 best {@link FinderPattern}s from our list of candidates. The "best" are
+            those that have been detected at least {@link #CENTER_QUORUM} times, and whose module
+            size differs from the average among those patterns the least
+            </returns>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.FinderPatternFinder.Image">
+            <summary>
+            Gets the image.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.FinderPatternFinder.PossibleCenters">
+            <summary>
+            Gets the possible centers.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.FinderPatternFinder.FurthestFromAverageComparator">
+            <summary>
+            Orders by furthest from average
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.FinderPatternFinder.CenterComparator">
+            <summary> <p>Orders by {@link FinderPattern#getCount()}, descending.</p></summary>
+        </member>
+        <member name="F:ZXing.Multi.QrCode.Internal.MultiFinderPatternFinder.DIFF_MODSIZE_CUTOFF">
+            <summary>
+            More or less arbitrary cutoff point for determining if two finder patterns might belong
+            to the same code if they differ less than DIFF_MODSIZE_CUTOFF pixels/module in their
+            estimated modules sizes.
+            </summary>
+        </member>
+        <member name="F:ZXing.Multi.QrCode.Internal.MultiFinderPatternFinder.DIFF_MODSIZE_CUTOFF_PERCENT">
+            <summary>
+            More or less arbitrary cutoff point for determining if two finder patterns might belong
+            to the same code if they differ less than DIFF_MODSIZE_CUTOFF_PERCENT percent in their
+            estimated modules sizes.
+            </summary>
+        </member>
+        <member name="M:ZXing.Multi.QrCode.Internal.MultiFinderPatternFinder.#ctor(ZXing.Common.BitMatrix)">
+             <summary>
+             <p>Creates a finder that will search the image for three finder patterns.</p>
+            
+             <param name="image">image to search</param>
+             </summary>
+        </member>
+        <member name="M:ZXing.Multi.QrCode.Internal.MultiFinderPatternFinder.selectMutipleBestPatterns">
+            <summary>
+            </summary>
+            <returns>the 3 best <see cref="T:ZXing.QrCode.Internal.FinderPattern"/>s from our list of candidates. The "best" are
+                    those that have been detected at least CENTER_QUORUM times, and whose module
+                    size differs from the average among those patterns the least
+            </returns>
+        </member>
+        <member name="T:ZXing.Multi.QrCode.Internal.MultiFinderPatternFinder.ModuleSizeComparator">
+            <summary>
+            A comparator that orders FinderPatterns by their estimated module size.
+            </summary>
+        </member>
+        <member name="T:ZXing.Maxicode.MaxiCodeReader">
+            <summary>
+            This implementation can detect and decode a MaxiCode in an image.
+            </summary>
+        </member>
+        <member name="M:ZXing.Maxicode.MaxiCodeReader.decode(ZXing.BinaryBitmap)">
+             <summary>
+             Locates and decodes a MaxiCode in an image.
+            
+             <returns>a String representing the content encoded by the MaxiCode</returns>
+             <exception cref="T:ZXing.FormatException">if a MaxiCode cannot be decoded</exception>
+             </summary>
+        </member>
+        <member name="M:ZXing.Maxicode.MaxiCodeReader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Locates and decodes a MaxiCode within an image. This method also accepts
+            hints, each possibly associated to some data, which may help the implementation decode.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <param name="hints">passed as a <see cref="T:System.Collections.Generic.IDictionary`2"/> from <see cref="T:ZXing.DecodeHintType"/>
+            to arbitrary data. The
+            meaning of the data depends upon the hint type. The implementation may or may not do
+            anything with these hints.</param>
+            <returns>
+            String which the barcode encodes
+            </returns>
+        </member>
+        <member name="M:ZXing.Maxicode.MaxiCodeReader.extractPureBits(ZXing.Common.BitMatrix)">
+             <summary>
+             This method detects a code in a "pure" image -- that is, pure monochrome image
+             which contains only an unrotated, unskewed, image of a code, with some white border
+             around it. This is a specialized method that works exceptionally fast in this special
+             case.
+            
+             <seealso cref="M:ZXing.Datamatrix.DataMatrixReader.extractPureBits(ZXing.Common.BitMatrix)"/>
+             <seealso cref="M:ZXing.QrCode.QRCodeReader.extractPureBits(ZXing.Common.BitMatrix)"/>
+             </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.BitMatrixParser">
+            <summary>
+            <author>bbrown@google.com (Brian Brown)</author>
+            </summary>
+        </member>
+        <!-- Ungültiger XML-Kommentar wurde für den Member "M:ZXing.Datamatrix.Internal.BitMatrixParser.#ctor(ZXing.Common.BitMatrix)" ignoriert -->
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.readVersion(ZXing.Common.BitMatrix)">
+             <summary>
+             <p>Creates the version object based on the dimension of the original bit matrix from 
+             the datamatrix code.</p>
+            
+             <p>See ISO 16022:2006 Table 7 - ECC 200 symbol attributes</p>
+             
+             <param name="bitMatrix">Original <see cref="T:ZXing.Common.BitMatrix"/>including alignment patterns</param>
+             <returns><see cref="P:ZXing.Datamatrix.Internal.BitMatrixParser.Version"/>encapsulating the Data Matrix Code's "version"</returns>
+             <exception cref="T:ZXing.FormatException">if the dimensions of the mapping matrix are not valid</exception>
+             Data Matrix dimensions.
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.readCodewords">
+             <summary>
+             <p>Reads the bits in the <see cref="T:ZXing.Common.BitMatrix"/>representing the mapping matrix (No alignment patterns)
+             in the correct order in order to reconstitute the codewords bytes contained within the
+             Data Matrix Code.</p>
+            
+             <returns>bytes encoded within the Data Matrix Code</returns>
+             <exception cref="T:ZXing.FormatException">if the exact number of bytes expected is not read</exception>
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.readModule(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            <p>Reads a bit of the mapping matrix accounting for boundary wrapping.</p>
+            
+            <param name="row">Row to read in the mapping matrix</param>
+            <param name="column">Column to read in the mapping matrix</param>
+            <param name="numRows">Number of rows in the mapping matrix</param>
+            <param name="numColumns">Number of columns in the mapping matrix</param>
+            <returns>value of the given bit in the mapping matrix</returns>
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.readUtah(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            <p>Reads the 8 bits of the standard Utah-shaped pattern.</p>
+            
+            <p>See ISO 16022:2006, 5.8.1 Figure 6</p>
+            
+            <param name="row">Current row in the mapping matrix, anchored at the 8th bit (LSB) of the pattern</param>
+            <param name="column">Current column in the mapping matrix, anchored at the 8th bit (LSB) of the pattern</param>
+            <param name="numRows">Number of rows in the mapping matrix</param>
+            <param name="numColumns">Number of columns in the mapping matrix</param>
+            <returns>byte from the utah shape</returns>
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.readCorner1(System.Int32,System.Int32)">
+            <summary>
+            <p>Reads the 8 bits of the special corner condition 1.</p>
+            
+            <p>See ISO 16022:2006, Figure F.3</p>
+            
+            <param name="numRows">Number of rows in the mapping matrix</param>
+            <param name="numColumns">Number of columns in the mapping matrix</param>
+            <returns>byte from the Corner condition 1</returns>
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.readCorner2(System.Int32,System.Int32)">
+            <summary>
+            <p>Reads the 8 bits of the special corner condition 2.</p>
+            
+            <p>See ISO 16022:2006, Figure F.4</p>
+            
+            <param name="numRows">Number of rows in the mapping matrix</param>
+            <param name="numColumns">Number of columns in the mapping matrix</param>
+            <returns>byte from the Corner condition 2</returns>
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.readCorner3(System.Int32,System.Int32)">
+            <summary>
+            <p>Reads the 8 bits of the special corner condition 3.</p>
+            
+            <p>See ISO 16022:2006, Figure F.5</p>
+            
+            <param name="numRows">Number of rows in the mapping matrix</param>
+            <param name="numColumns">Number of columns in the mapping matrix</param>
+            <returns>byte from the Corner condition 3</returns>
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.readCorner4(System.Int32,System.Int32)">
+            <summary>
+            <p>Reads the 8 bits of the special corner condition 4.</p>
+            
+            <p>See ISO 16022:2006, Figure F.6</p>
+            
+            <param name="numRows">Number of rows in the mapping matrix</param>
+            <param name="numColumns">Number of columns in the mapping matrix</param>
+            <returns>byte from the Corner condition 4</returns>
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.BitMatrixParser.extractDataRegion(ZXing.Common.BitMatrix)">
+            <summary>
+            <p>Extracts the data region from a <see cref="T:ZXing.Common.BitMatrix"/>that contains
+            alignment patterns.</p>
+            
+            <param name="bitMatrix">Original <see cref="T:ZXing.Common.BitMatrix"/>with alignment patterns</param>
+            <returns>BitMatrix that has the alignment patterns removed</returns>
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.HybridBinarizer">
+            <summary> This class implements a local thresholding algorithm, which while slower than the
+            GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for
+            high frequency images of barcodes with black data on white backgrounds. For this application,
+            it does a much better job than a global blackpoint with severe shadows and gradients.
+            However it tends to produce artifacts on lower frequency images and is therefore not
+            a good general purpose binarizer for uses outside ZXing.
+            
+            This class extends GlobalHistogramBinarizer, using the older histogram approach for 1D readers,
+            and the newer local approach for 2D readers. 1D decoding using a per-row histogram is already
+            inherently local, and only fails for horizontal gradients. We can revisit that problem later,
+            but for now it was not a win to use local blocks for 1D.
+            
+            This Binarizer is the default for the unit tests and the recommended class for library users.
+            
+            </summary>
+            <author>  dswitkin@google.com (Daniel Switkin)
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Common.HybridBinarizer.binarizeEntireImage">
+            <summary>
+            Calculates the final BitMatrix once for all requests. This could be called once from the
+            constructor instead, but there are some advantages to doing it lazily, such as making
+            profiling easier, and not doing heavy lifting when callers don't expect it.
+            </summary>
+        </member>
+        <member name="M:ZXing.Common.HybridBinarizer.calculateThresholdForBlock(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[][],ZXing.Common.BitMatrix)">
+            <summary>
+            For each 8x8 block in the image, calculate the average black point using a 5x5 grid
+            of the blocks around it. Also handles the corner cases (fractional blocks are computed based
+            on the last 8 pixels in the row/column which are also used in the previous block).
+            </summary>
+            <param name="luminances">The luminances.</param>
+            <param name="subWidth">Width of the sub.</param>
+            <param name="subHeight">Height of the sub.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="blackPoints">The black points.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.Common.HybridBinarizer.thresholdBlock(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,ZXing.Common.BitMatrix)">
+            <summary>
+            Applies a single threshold to an 8x8 block of pixels.
+            </summary>
+            <param name="luminances">The luminances.</param>
+            <param name="xoffset">The xoffset.</param>
+            <param name="yoffset">The yoffset.</param>
+            <param name="threshold">The threshold.</param>
+            <param name="stride">The stride.</param>
+            <param name="matrix">The matrix.</param>
+        </member>
+        <member name="M:ZXing.Common.HybridBinarizer.calculateBlackPoints(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Calculates a single black point for each 8x8 block of pixels and saves it away.
+            See the following thread for a discussion of this algorithm:
+            http://groups.google.com/group/zxing/browse_thread/thread/d06efa2c35a7ddc0
+            </summary>
+            <param name="luminances">The luminances.</param>
+            <param name="subWidth">Width of the sub.</param>
+            <param name="subHeight">Height of the sub.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.Client.Result.WifiParsedResult">
+            <summary>
+            
+            </summary>
+            <author>Vikram Aggarwal</author>
+        </member>
+        <member name="T:ZXing.Client.Result.URIParsedResult">
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.Client.Result.URIParsedResult.massageURI(System.String)">
+            <summary> Transforms a string that represents a URI into something more proper, by adding or canonicalizing
+            the protocol.
+            </summary>
+        </member>
+        <member name="P:ZXing.Client.Result.URIParsedResult.PossiblyMaliciousURI">
+            <returns> true if the URI contains suspicious patterns that may suggest it intends to
+            mislead the user about its true nature. At the moment this looks for the presence
+            of user/password syntax in the host/authority portion of a URI which may be used
+            in attempts to make the URI's host appear to be other than it is. Example:
+            http://yourbank.com@phisher.com  This URI connects to phisher.com but may appear
+            to connect to yourbank.com at first glance.
+            </returns>
+        </member>
+        <member name="T:ZXing.Client.Result.TelResultParser">
+            <summary>
+            Parses a "tel:" URI result, which specifies a phone number.
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.WriterException">
+            <summary>
+            A base class which covers the range of exceptions which may occur when encoding a barcode using
+            the Writer framework.
+            </summary>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+        </member>
+        <member name="M:ZXing.WriterException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.WriterException"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.WriterException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.WriterException"/> class.
+            </summary>
+            <param name="message">The message.</param>
+        </member>
+        <member name="M:ZXing.WriterException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.WriterException"/> class.
+            </summary>
+            <param name="message">The message.</param>
+            <param name="innerExc">The inner exc.</param>
+        </member>
+        <member name="T:ZXing.Rendering.BitmapRenderer">
+            <summary>
+            Renders a <see cref="T:ZXing.Common.BitMatrix"/> to a <see cref="T:System.Drawing.Bitmap"/> image
+            </summary>
+        </member>
+        <member name="M:ZXing.Rendering.BitmapRenderer.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Rendering.BitmapRenderer"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.Rendering.BitmapRenderer.Render(ZXing.Common.BitMatrix,ZXing.BarcodeFormat,System.String)">
+            <summary>
+            Renders the specified matrix.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <param name="format">The format.</param>
+            <param name="content">The content.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Rendering.BitmapRenderer.Render(ZXing.Common.BitMatrix,ZXing.BarcodeFormat,System.String,ZXing.Common.EncodingOptions)">
+            <summary>
+            Renders the specified matrix.
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <param name="format">The format.</param>
+            <param name="content">The content.</param>
+            <param name="options">The options.</param>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.Rendering.BitmapRenderer.Foreground">
+            <summary>
+            Gets or sets the foreground color.
+            </summary>
+            <value>The foreground color.</value>
+        </member>
+        <member name="P:ZXing.Rendering.BitmapRenderer.Background">
+            <summary>
+            Gets or sets the background color.
+            </summary>
+            <value>The background color.</value>
+        </member>
+        <member name="P:ZXing.Rendering.BitmapRenderer.TextFont">
+            <summary>
+            Gets or sets the text font.
+            </summary>
+            <value>
+            The text font.
+            </value>
+        </member>
+        <member name="T:ZXing.QrCode.QrCodeEncodingOptions">
+            <summary>
+            The class holds the available options for the QrCodeWriter
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.QrCodeEncodingOptions.ErrorCorrection">
+            <summary>
+            Specifies what degree of error correction to use, for example in QR Codes.
+            Type depends on the encoder. For example for QR codes it's type
+            {@link com.google.zxing.qrcode.decoder.ErrorCorrectionLevel ErrorCorrectionLevel}.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.QrCodeEncodingOptions.CharacterSet">
+            <summary>
+            Specifies what character encoding to use where applicable (type {@link String})
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.QrCodeEncodingOptions.DisableECI">
+            <summary>
+            Explicitly disables ECI segment when generating QR Code
+            That is against the specification of QR Code but some
+            readers have problems if the charset is switched from
+            ISO-8859-1 (default) to UTF-8 with the necessary ECI segment.
+            If you set the property to true you can use UTF-8 encoding
+            and the ECI segment is omitted.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.Mode">
+            <summary>
+            <p>See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which
+            data can be encoded to bits in the QR code standard.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.TERMINATOR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.NUMERIC">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.ALPHANUMERIC">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.STRUCTURED_APPEND">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.BYTE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.ECI">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.KANJI">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.FNC1_FIRST_POSITION">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.FNC1_SECOND_POSITION">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.Mode.HANZI">
+            <summary>See GBT 18284-2000; "Hanzi" is a transliteration of this mode name.</summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Mode.forBits(System.Int32)">
+            <summary>
+            Fors the bits.
+            </summary>
+            <param name="bits">four bits encoding a QR Code data mode</param>
+            <returns>
+              <see cref="T:ZXing.QrCode.Internal.Mode"/> encoded by these bits
+            </returns>
+            <exception cref="T:System.ArgumentException">if bits do not correspond to a known mode</exception>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Mode.getCharacterCountBits(ZXing.QrCode.Internal.Version)">
+            <param name="version">version in question
+            </param>
+            <returns> number of bits used, in this QR Code symbol {@link Version}, to encode the
+            count of characters that will follow encoded in this {@link Mode}
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Mode.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Mode.Name">
+            <summary>
+            Gets the name.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.Mode.Bits">
+            <summary>
+            Gets the bits.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.Decoder">
+            <summary>
+              <p>The main class which implements QR Code decoding -- as opposed to locating and extracting
+            the QR Code from an image.</p>
+            </summary>
+            <author>
+            Sean Owen
+            </author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Decoder.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.QrCode.Internal.Decoder"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Decoder.decode(System.Boolean[][],System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Convenience method that can decode a QR Code represented as a 2D array of booleans.
+            "true" is taken to mean a black module.</p>
+            </summary>
+            <param name="image">booleans representing white/black QR Code modules</param>
+            <param name="hints">The hints.</param>
+            <returns>
+            text and bytes encoded within the QR Code
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Decoder.decode(ZXing.Common.BitMatrix,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Decodes a QR Code represented as a {@link BitMatrix}. A 1 or "true" is taken to mean a black module.</p>
+            </summary>
+            <param name="bits">booleans representing white/black QR Code modules</param>
+            <param name="hints">The hints.</param>
+            <returns>
+            text and bytes encoded within the QR Code
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.Decoder.correctErrors(System.Byte[],System.Int32)">
+            <summary>
+              <p>Given data and error-correction codewords received, possibly corrupted by errors, attempts to
+            correct the errors in-place using Reed-Solomon error correction.</p>
+            </summary>
+            <param name="codewordBytes">data and error correction codewords</param>
+            <param name="numDataCodewords">number of codewords that are data bytes</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.PDF417HighLevelEncoder">
+            <summary>
+            PDF417 high-level encoder following the algorithm described in ISO/IEC 15438:2001(E) in
+            annex P.
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.TEXT_COMPACTION">
+            <summary>
+            code for Text compaction
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.BYTE_COMPACTION">
+            <summary>
+            code for Byte compaction
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.NUMERIC_COMPACTION">
+            <summary>
+            code for Numeric compaction
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.SUBMODE_ALPHA">
+            <summary>
+            Text compaction submode Alpha
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.SUBMODE_LOWER">
+            <summary>
+            Text compaction submode Lower
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.SUBMODE_MIXED">
+            <summary>
+            Text compaction submode Mixed
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.SUBMODE_PUNCTUATION">
+            <summary>
+            Text compaction submode Punctuation
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.LATCH_TO_TEXT">
+            <summary>
+            mode latch to Text Compaction mode
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.LATCH_TO_BYTE_PADDED">
+            <summary>
+            mode latch to Byte Compaction mode (number of characters NOT a multiple of 6)
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.LATCH_TO_NUMERIC">
+            <summary>
+            mode latch to Numeric Compaction mode
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.SHIFT_TO_BYTE">
+            <summary>
+            mode shift to Byte Compaction mode
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.LATCH_TO_BYTE">
+            <summary>
+            mode latch to Byte Compaction mode (number of characters a multiple of 6)
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.ECI_USER_DEFINED">
+            <summary>
+            identifier for a user defined Extended Channel Interpretation (ECI)
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.ECI_GENERAL_PURPOSE">
+            <summary>
+            identifier for a general purpose ECO format
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.ECI_CHARSET">
+            <summary>
+            identifier for an ECI of a character set of code page
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.TEXT_MIXED_RAW">
+            <summary>
+            Raw code table for text compaction Mixed sub-mode
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417HighLevelEncoder.TEXT_PUNCTUATION_RAW">
+            <summary>
+            Raw code table for text compaction: Punctuation sub-mode
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417HighLevelEncoder.encodeHighLevel(System.String,ZXing.PDF417.Internal.Compaction,System.Text.Encoding,System.Boolean)">
+             <summary>
+             Performs high-level encoding of a PDF417 message using the algorithm described in annex P
+             of ISO/IEC 15438:2001(E). If byte compaction has been selected, then only byte compaction
+             is used.
+            
+             <param name="msg">the message</param>
+             <returns>the encoded message (the char values range from 0 to 928)</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417HighLevelEncoder.encodeText(System.String,System.Int32,System.Int32,System.Text.StringBuilder,System.Int32)">
+             <summary>
+             Encode parts of the message using Text Compaction as described in ISO/IEC 15438:2001(E),
+             chapter 4.4.2.
+            
+             <param name="msg">the message</param>
+             <param name="startpos">the start position within the message</param>
+             <param name="count">the number of characters to encode</param>
+             <param name="sb">receives the encoded codewords</param>
+             <param name="initialSubmode">should normally be SUBMODE_ALPHA</param>
+             <returns>the text submode in which this method ends</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417HighLevelEncoder.encodeBinary(System.Byte[],System.Int32,System.Int32,System.Int32,System.Text.StringBuilder)">
+             <summary>
+             Encode parts of the message using Byte Compaction as described in ISO/IEC 15438:2001(E),
+             chapter 4.4.3. The Unicode characters will be converted to binary using the cp437
+             codepage.
+            
+             <param name="bytes">the message converted to a byte array</param>
+             <param name="startpos">the start position within the message</param>
+             <param name="count">the number of bytes to encode</param>
+             <param name="startmode">the mode from which this method starts</param>
+             <param name="sb">receives the encoded codewords</param>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417HighLevelEncoder.determineConsecutiveDigitCount(System.String,System.Int32)">
+             <summary>
+             Determines the number of consecutive characters that are encodable using numeric compaction.
+            
+             <param name="msg">the message</param>
+             <param name="startpos">the start position within the message</param>
+             <returns>the requested character count</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417HighLevelEncoder.determineConsecutiveTextCount(System.String,System.Int32)">
+             <summary>
+             Determines the number of consecutive characters that are encodable using text compaction.
+            
+             <param name="msg">the message</param>
+             <param name="startpos">the start position within the message</param>
+             <returns>the requested character count</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417HighLevelEncoder.determineConsecutiveBinaryCount(System.String,System.Byte[],System.Int32)">
+             <summary>
+             Determines the number of consecutive characters that are encodable using binary compaction.
+            
+             <param name="msg">the message</param>
+             <param name="bytes">the message converted to a byte array</param>
+             <param name="startpos">the start position within the message</param>
+             <returns>the requested character count</returns>
+             </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.PDF417ScanningDecoder">
+            <summary>
+            
+            </summary>
+            <author>Guenther Grau</author>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.decode(ZXing.Common.BitMatrix,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,System.Int32,System.Int32)">
+            <summary>
+            Decode the specified image, imageTopLeft, imageBottomLeft, imageTopRight, imageBottomRight, minCodewordWidth
+            and maxCodewordWidth.
+            TODO: don't pass in minCodewordWidth and maxCodewordWidth, pass in barcode columns for start and stop pattern
+            columns. That way width can be deducted from the pattern column.
+            This approach also allows to detect more details about the barcode, e.g. if a bar type (white or black) is wider 
+            than it should be. This can happen if the scanner used a bad blackpoint.
+            </summary>
+            <param name="image">Image.</param>
+            <param name="imageTopLeft">Image top left.</param>
+            <param name="imageBottomLeft">Image bottom left.</param>
+            <param name="imageTopRight">Image top right.</param>
+            <param name="imageBottomRight">Image bottom right.</param>
+            <param name="minCodewordWidth">Minimum codeword width.</param>
+            <param name="maxCodewordWidth">Max codeword width.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.merge(ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn,ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn)">
+            <summary>
+            Merge the specified leftRowIndicatorColumn and rightRowIndicatorColumn.
+            </summary>
+            <param name="leftRowIndicatorColumn">Left row indicator column.</param>
+            <param name="rightRowIndicatorColumn">Right row indicator column.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.adjustBoundingBox(ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn)">
+            <summary>
+            Adjusts the bounding box.
+            </summary>
+            <returns>The bounding box.</returns>
+            <param name="rowIndicatorColumn">Row indicator column.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.getBarcodeMetadata(ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn,ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn)">
+            <summary>
+            Gets the barcode metadata.
+            </summary>
+            <returns>The barcode metadata.</returns>
+            <param name="leftRowIndicatorColumn">Left row indicator column.</param>
+            <param name="rightRowIndicatorColumn">Right row indicator column.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.getRowIndicatorColumn(ZXing.Common.BitMatrix,ZXing.PDF417.Internal.BoundingBox,ZXing.ResultPoint,System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            Gets the row indicator column.
+            </summary>
+            <returns>The row indicator column.</returns>
+            <param name="image">Image.</param>
+            <param name="boundingBox">Bounding box.</param>
+            <param name="startPoint">Start point.</param>
+            <param name="leftToRight">If set to <c>true</c> left to right.</param>
+            <param name="minCodewordWidth">Minimum codeword width.</param>
+            <param name="maxCodewordWidth">Max codeword width.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.adjustCodewordCount(ZXing.PDF417.Internal.DetectionResult,ZXing.PDF417.Internal.BarcodeValue[][])">
+            <summary>
+            Adjusts the codeword count.
+            </summary>
+            <param name="detectionResult">Detection result.</param>
+            <param name="barcodeMatrix">Barcode matrix.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.createDecoderResult(ZXing.PDF417.Internal.DetectionResult)">
+            <summary>
+            Creates the decoder result.
+            </summary>
+            <returns>The decoder result.</returns>
+            <param name="detectionResult">Detection result.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.createDecoderResultFromAmbiguousValues(System.Int32,System.Int32[],System.Int32[],System.Int32[],System.Int32[][])">
+            <summary>
+            This method deals with the fact, that the decoding process doesn't always yield a single most likely value. The
+            current error correction implementation doesn't deal with erasures very well, so it's better to provide a value
+            for these ambiguous codewords instead of treating it as an erasure. The problem is that we don't know which of
+            the ambiguous values to choose. We try decode using the first value, and if that fails, we use another of the
+            ambiguous values and try to decode again. This usually only happens on very hard to read and decode barcodes,
+            so decoding the normal barcodes is not affected by this.
+            </summary>
+            <returns>The decoder result from ambiguous values.</returns>
+            <param name="ecLevel">Ec level.</param>
+            <param name="codewords">Codewords.</param>
+            <param name="erasureArray">contains the indexes of erasures.</param>
+            <param name="ambiguousIndexes">array with the indexes that have more than one most likely value.</param>
+            <param name="ambiguousIndexValues">two dimensional array that contains the ambiguous values. The first dimension must
+            be the same Length as the ambiguousIndexes array.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.createBarcodeMatrix(ZXing.PDF417.Internal.DetectionResult)">
+            <summary>
+            Creates the barcode matrix.
+            </summary>
+            <returns>The barcode matrix.</returns>
+            <param name="detectionResult">Detection result.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.isValidBarcodeColumn(ZXing.PDF417.Internal.DetectionResult,System.Int32)">
+            <summary>
+            Tests to see if the Barcode Column is Valid
+            </summary>
+            <returns><c>true</c>, if barcode column is valid, <c>false</c> otherwise.</returns>
+            <param name="detectionResult">Detection result.</param>
+            <param name="barcodeColumn">Barcode column.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.getStartColumn(ZXing.PDF417.Internal.DetectionResult,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Gets the start column.
+            </summary>
+            <returns>The start column.</returns>
+            <param name="detectionResult">Detection result.</param>
+            <param name="barcodeColumn">Barcode column.</param>
+            <param name="imageRow">Image row.</param>
+            <param name="leftToRight">If set to <c>true</c> left to right.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.detectCodeword(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Detects the codeword.
+            </summary>
+            <returns>The codeword.</returns>
+            <param name="image">Image.</param>
+            <param name="minColumn">Minimum column.</param>
+            <param name="maxColumn">Max column.</param>
+            <param name="leftToRight">If set to <c>true</c> left to right.</param>
+            <param name="startColumn">Start column.</param>
+            <param name="imageRow">Image row.</param>
+            <param name="minCodewordWidth">Minimum codeword width.</param>
+            <param name="maxCodewordWidth">Max codeword width.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.getModuleBitCount(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            Gets the module bit count.
+            </summary>
+            <returns>The module bit count.</returns>
+            <param name="image">Image.</param>
+            <param name="minColumn">Minimum column.</param>
+            <param name="maxColumn">Max column.</param>
+            <param name="leftToRight">If set to <c>true</c> left to right.</param>
+            <param name="startColumn">Start column.</param>
+            <param name="imageRow">Image row.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.getNumberOfECCodeWords(System.Int32)">
+            <summary>
+            Gets the number of EC code words.
+            </summary>
+            <returns>The number of EC code words.</returns>
+            <param name="barcodeECLevel">Barcode EC level.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.adjustCodewordStartColumn(ZXing.Common.BitMatrix,System.Int32,System.Int32,System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            Adjusts the codeword start column.
+            </summary>
+            <returns>The codeword start column.</returns>
+            <param name="image">Image.</param>
+            <param name="minColumn">Minimum column.</param>
+            <param name="maxColumn">Max column.</param>
+            <param name="leftToRight">If set to <c>true</c> left to right.</param>
+            <param name="codewordStartColumn">Codeword start column.</param>
+            <param name="imageRow">Image row.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.checkCodewordSkew(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Checks the codeword for any skew.
+            </summary>
+            <returns><c>true</c>, if codeword is within the skew, <c>false</c> otherwise.</returns>
+            <param name="codewordSize">Codeword size.</param>
+            <param name="minCodewordWidth">Minimum codeword width.</param>
+            <param name="maxCodewordWidth">Max codeword width.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.decodeCodewords(System.Int32[],System.Int32,System.Int32[])">
+            <summary>
+            Decodes the codewords.
+            </summary>
+            <returns>The codewords.</returns>
+            <param name="codewords">Codewords.</param>
+            <param name="ecLevel">Ec level.</param>
+            <param name="erasures">Erasures.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.correctErrors(System.Int32[],System.Int32[],System.Int32)">
+            <summary>
+            Given data and error-correction codewords received, possibly corrupted by errors, attempts to
+            correct the errors in-place.
+            </summary>
+            <returns>The errors.</returns>
+            <param name="codewords">data and error correction codewords.</param>
+            <param name="erasures">positions of any known erasures.</param>
+            <param name="numECCodewords">number of error correction codewords that are available in codewords.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.verifyCodewordCount(System.Int32[],System.Int32)">
+            <summary>
+            Verifies that all is well with the the codeword array.
+            </summary>
+            <param name="codewords">Codewords.</param>
+            <param name="numECCodewords">Number EC codewords.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.getBitCountForCodeword(System.Int32)">
+            <summary>
+            Gets the bit count for codeword.
+            </summary>
+            <returns>The bit count for codeword.</returns>
+            <param name="codeword">Codeword.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.getCodewordBucketNumber(System.Int32)">
+            <summary>
+            Gets the codeword bucket number.
+            </summary>
+            <returns>The codeword bucket number.</returns>
+            <param name="codeword">Codeword.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.getCodewordBucketNumber(System.Int32[])">
+            <summary>
+            Gets the codeword bucket number.
+            </summary>
+            <returns>The codeword bucket number.</returns>
+            <param name="moduleBitCount">Module bit count.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ScanningDecoder.ToString(ZXing.PDF417.Internal.BarcodeValue[][])">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the <see cref="T:ZXing.PDF417.Internal.BarcodeValue"/> jagged array.
+            </summary>
+            <returns>A <see cref="T:System.String"/> that represents the <see cref="T:ZXing.PDF417.Internal.BarcodeValue"/> jagged array.</returns>
+            <param name="barcodeMatrix">Barcode matrix as a jagged array.</param>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.PDF417CodewordDecoder">
+            <summary>
+            
+            </summary>
+            <author>Guenther Grau</author>
+            <author>creatale GmbH (christoph.schulz@creatale.de)</author>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417CodewordDecoder.RATIOS_TABLE">
+            <summary>
+            The ratios table
+            </summary>
+        </member>
+        <!-- Ungültiger XML-Kommentar wurde für den Member "M:ZXing.PDF417.Internal.PDF417CodewordDecoder.#cctor" ignoriert -->
+        <member name="M:ZXing.PDF417.Internal.PDF417CodewordDecoder.getDecodedValue(System.Int32[])">
+            <summary>
+            Gets the decoded value.
+            </summary>
+            <returns>The decoded value.</returns>
+            <param name="moduleBitCount">Module bit count.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417CodewordDecoder.sampleBitCounts(System.Int32[])">
+            <summary>
+            Samples the bit counts.
+            </summary>
+            <returns>The bit counts.</returns>
+            <param name="moduleBitCount">Module bit count.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417CodewordDecoder.getDecodedCodewordValue(System.Int32[])">
+            <summary>
+            Gets the decoded codeword value.
+            </summary>
+            <returns>The decoded codeword value.</returns>
+            <param name="moduleBitCount">Module bit count.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417CodewordDecoder.getBitValue(System.Int32[])">
+            <summary>
+            Gets the bit value.
+            </summary>
+            <returns>The bit value.</returns>
+            <param name="moduleBitCount">Module bit count.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417CodewordDecoder.getClosestDecodedValue(System.Int32[])">
+            <summary>
+            Gets the closest decoded value.
+            </summary>
+            <returns>The closest decoded value.</returns>
+            <param name="moduleBitCount">Module bit count.</param>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AnyAIDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.Maxicode.Internal.BitMatrixParser">
+            <summary>
+            <author>mike32767</author>
+            <author>Manuel Kasten</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.Maxicode.Internal.BitMatrixParser.#ctor(ZXing.Common.BitMatrix)">
+            <summary>
+            <param name="bitMatrix"><see cref="T:ZXing.Common.BitMatrix"/>to parse</param>
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.EdifactEncoder.handleEOD(ZXing.Datamatrix.Encoder.EncoderContext,System.Text.StringBuilder)">
+            <summary>
+            Handle "end of data" situations
+            </summary>
+            <param name="context">the encoder context</param>
+            <param name="buffer">the buffer with the remaining encoded characters</param>
+        </member>
+        <member name="T:ZXing.Client.Result.TextParsedResult">
+            <summary>
+            A simple result type encapsulating a string that has no further interpretation.
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.Client.Result.ISBNResultParser">
+            <summary> Parses strings of digits that represent a ISBN.
+            
+            </summary>
+            <author>  jbreiden@google.com (Jeff Breidenbach)
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Client.Result.ISBNResultParser.parse(ZXing.Result)">
+            <summary>
+            See <a href="http://www.bisg.org/isbn-13/for.dummies.html">ISBN-13 For Dummies</a>
+            </summary>
+            <param name="result">The result.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.Client.Result.AddressBookDoCoMoResultParser">
+            <summary> Implements the "MECARD" address book entry format.
+            
+            Supported keys: N, SOUND, TEL, EMAIL, NOTE, ADR, BDAY, URL, plus ORG
+            Unsupported keys: TEL-AV, NICKNAME
+            
+            Except for TEL, multiple values for keys are also not supported;
+            the first one found takes precedence.
+            
+            Our understanding of the MECARD format is based on this document:
+            
+            http://www.mobicode.org.tw/files/OMIA%20Mobile%20Bar%20Code%20Standard%20v3.2.1.doc 
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Aztec.AztecWriter">
+            <summary>
+            Generates Aztec 2D barcodes.
+            </summary>
+        </member>
+        <member name="M:ZXing.Aztec.AztecWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32)">
+            <summary>
+            Encode a barcode using the default settings.
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="M:ZXing.Aztec.AztecWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <param name="hints">Additional parameters to supply to the encoder</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="T:ZXing.Aztec.AztecReader">
+            <summary>
+            This implementation can detect and decode Aztec codes in an image.
+            </summary>
+            <author>David Olivier</author>
+        </member>
+        <member name="M:ZXing.Aztec.AztecReader.decode(ZXing.BinaryBitmap)">
+            <summary>
+            Locates and decodes a barcode in some format within an image.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <returns>
+            a String representing the content encoded by the Data Matrix code
+            </returns>
+        </member>
+        <member name="M:ZXing.Aztec.AztecReader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+             Locates and decodes a Data Matrix code in an image.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <param name="hints">passed as a {@link java.util.Hashtable} from {@link com.google.zxing.DecodeHintType}
+            to arbitrary data. The
+            meaning of the data depends upon the hint type. The implementation may or may not do
+            anything with these hints.</param>
+            <returns>
+            String which the barcode encodes
+            </returns>
+        </member>
+        <member name="M:ZXing.Aztec.AztecReader.reset">
+            <summary>
+            Resets any internal state the implementation has after a decode, to prepare it
+            for reuse.
+            </summary>
+        </member>
+        <member name="T:ZXing.SupportClass">
+            <summary>
+            Contains conversion support elements such as classes, interfaces and static methods.
+            </summary>
+        </member>
+        <member name="M:ZXing.SupportClass.GetCharsFromString(System.String,System.Int32,System.Int32,System.Char[],System.Int32)">
+            <summary>
+            Copies an array of chars obtained from a String into a specified array of chars
+            </summary>
+            <param name="sourceString">The String to get the chars from</param>
+            <param name="sourceStart">Position of the String to start getting the chars</param>
+            <param name="sourceEnd">Position of the String to end getting the chars</param>
+            <param name="destinationArray">Array to return the chars</param>
+            <param name="destinationStart">Position of the destination array of chars to start storing the chars</param>
+            <returns>An array of chars</returns>
+        </member>
+        <member name="M:ZXing.SupportClass.SetCapacity``1(System.Collections.Generic.IList{``0},System.Int32)">
+            <summary>
+            Sets the capacity for the specified List
+            </summary>
+            <param name="vector">The List which capacity will be set</param>
+            <param name="newCapacity">The new capacity value</param>
+        </member>
+        <member name="M:ZXing.SupportClass.toStringArray(System.Collections.Generic.ICollection{System.String})">
+            <summary>
+            Converts a string-Collection to an array
+            </summary>
+            <param name="strings">The strings.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.SupportClass.Join``1(System.String,System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Joins all elements to one string.
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="separator">The separator.</param>
+            <param name="values">The values.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.SupportClass.Fill``1(``0[],``0)">
+            <summary>
+            Fills the specified array.
+            (can't use extension method because of .Net 2.0 support)
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="array">The array.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:ZXing.SupportClass.Fill``1(``0[],System.Int32,System.Int32,``0)">
+            <summary>
+            Fills the specified array.
+            (can't use extension method because of .Net 2.0 support)
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="array">The array.</param>
+            <param name="startIndex">The start index.</param>
+            <param name="endIndex">The end index.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:ZXing.SupportClass.GetValue``1(System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object},ZXing.DecodeHintType,``0)">
+            <summary>
+            Savely gets the value of a decoding hint
+            if hints is null the default is returned
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="hints">The hints.</param>
+            <param name="hintType">Type of the hint.</param>
+            <param name="default">The @default.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.OneD.RSS.RSSUtils">
+            <summary>
+            Adapted from listings in ISO/IEC 24724 Appendix B and Appendix G.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.RSSUtils.getRSSvalue(System.Int32[],System.Int32,System.Boolean)">
+            <summary>
+            Gets the RS svalue.
+            </summary>
+            <param name="widths">The widths.</param>
+            <param name="maxWidth">Width of the max.</param>
+            <param name="noNarrow">if set to <c>true</c> [no narrow].</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.ExpandedPair">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.FieldParser">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI013x0x1xDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI01320xDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.FormatException">
+            <summary>
+            Thrown when a barcode was successfully detected, but some aspect of
+            the content did not conform to the barcode's format rules. This could have
+            been due to a mis-detection.
+            <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.CharacterSetECI">
+            <summary> Encapsulates a Character Set ECI, according to "Extended Channel Interpretations" 5.3.1.1
+            of ISO 18004.
+            
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.Common.CharacterSetECI.getCharacterSetECIByValue(System.Int32)">
+            <param name="value">character set ECI value
+            </param>
+            <returns> {@link CharacterSetECI} representing ECI of given value, or null if it is legal but
+            unsupported
+            </returns>
+            <throws>  IllegalArgumentException if ECI value is invalid </throws>
+        </member>
+        <member name="M:ZXing.Common.CharacterSetECI.getCharacterSetECIByName(System.String)">
+            <param name="name">character set ECI encoding name
+            </param>
+            <returns> {@link CharacterSetECI} representing ECI for character encoding, or null if it is legal
+            but unsupported
+            </returns>
+        </member>
+        <member name="T:ZXing.Client.Result.ProductResultParser">
+            <summary>
+            Parses strings of digits that represent a UPC code.
+            </summary>
+            <author>dswitkin@google.com (Daniel Switkin)</author>
+        </member>
+        <member name="T:ZXing.Client.Result.GeoParsedResult">
+            <author>Sean Owen</author>
+        </member>
+        <member name="P:ZXing.Client.Result.GeoParsedResult.Latitude">
+            <returns> latitude in degrees
+            </returns>
+        </member>
+        <member name="P:ZXing.Client.Result.GeoParsedResult.Longitude">
+            <returns> longitude in degrees
+            </returns>
+        </member>
+        <member name="P:ZXing.Client.Result.GeoParsedResult.Altitude">
+            <returns> altitude in meters. If not specified, in the geo URI, returns 0.0
+            </returns>
+        </member>
+        <member name="P:ZXing.Client.Result.GeoParsedResult.Query">
+            <return> query string associated with geo URI or null if none exists</return>
+        </member>
+        <member name="P:ZXing.Client.Result.GeoParsedResult.GoogleMapsURI">
+            <returns> a URI link to Google Maps which display the point on the Earth described
+            by this instance, and sets the zoom level in a way that roughly reflects the
+            altitude, if specified
+            </returns>
+        </member>
+        <member name="T:ZXing.Result">
+            <summary>
+            Encapsulates the result of decoding a barcode within an image.
+            </summary>
+        </member>
+        <member name="M:ZXing.Result.#ctor(System.String,System.Byte[],ZXing.ResultPoint[],ZXing.BarcodeFormat)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Result"/> class.
+            </summary>
+            <param name="text">The text.</param>
+            <param name="rawBytes">The raw bytes.</param>
+            <param name="resultPoints">The result points.</param>
+            <param name="format">The format.</param>
+        </member>
+        <member name="M:ZXing.Result.#ctor(System.String,System.Byte[],ZXing.ResultPoint[],ZXing.BarcodeFormat,System.Int64)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Result"/> class.
+            </summary>
+            <param name="text">The text.</param>
+            <param name="rawBytes">The raw bytes.</param>
+            <param name="resultPoints">The result points.</param>
+            <param name="format">The format.</param>
+            <param name="timestamp">The timestamp.</param>
+        </member>
+        <member name="M:ZXing.Result.putMetadata(ZXing.ResultMetadataType,System.Object)">
+            <summary>
+            Adds one metadata to the result
+            </summary>
+            <param name="type">The type.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:ZXing.Result.putAllMetadata(System.Collections.Generic.IDictionary{ZXing.ResultMetadataType,System.Object})">
+            <summary>
+            Adds a list of metadata to the result
+            </summary>
+            <param name="metadata">The metadata.</param>
+        </member>
+        <member name="M:ZXing.Result.addResultPoints(ZXing.ResultPoint[])">
+            <summary>
+            Adds the result points.
+            </summary>
+            <param name="newPoints">The new points.</param>
+        </member>
+        <member name="M:ZXing.Result.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="P:ZXing.Result.Text">
+            <returns>raw text encoded by the barcode, if applicable, otherwise <code>null</code></returns>
+        </member>
+        <member name="P:ZXing.Result.RawBytes">
+            <returns>raw bytes encoded by the barcode, if applicable, otherwise <code>null</code></returns>
+        </member>
+        <member name="P:ZXing.Result.ResultPoints">
+            <returns>
+            points related to the barcode in the image. These are typically points
+            identifying finder patterns or the corners of the barcode. The exact meaning is
+            specific to the type of barcode that was decoded.
+            </returns>
+        </member>
+        <member name="P:ZXing.Result.BarcodeFormat">
+            <returns>{@link BarcodeFormat} representing the format of the barcode that was decoded</returns>
+        </member>
+        <member name="P:ZXing.Result.ResultMetadata">
+            <returns>
+            {@link Hashtable} mapping {@link ResultMetadataType} keys to values. May be
+            <code>null</code>. This contains optional metadata about what was detected about the barcode,
+            like orientation.
+            </returns>
+        </member>
+        <member name="P:ZXing.Result.Timestamp">
+            <summary>
+            Gets the timestamp.
+            </summary>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.ErrorCorrectionLevel">
+            <summary>
+            <p>See ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels
+            defined by the QR code standard.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.ErrorCorrectionLevel.L">
+            <summary> L = ~7% correction</summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.ErrorCorrectionLevel.M">
+            <summary> M = ~15% correction</summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.ErrorCorrectionLevel.Q">
+            <summary> Q = ~25% correction</summary>
+        </member>
+        <member name="F:ZXing.QrCode.Internal.ErrorCorrectionLevel.H">
+            <summary> H = ~30% correction</summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.ErrorCorrectionLevel.ordinal">
+            <summary>
+            Ordinals this instance.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.ErrorCorrectionLevel.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.ErrorCorrectionLevel.forBits(System.Int32)">
+            <summary>
+            Fors the bits.
+            </summary>
+            <param name="bits">int containing the two bits encoding a QR Code's error correction level</param>
+            <returns>
+              <see cref="T:ZXing.QrCode.Internal.ErrorCorrectionLevel"/> representing the encoded error correction level
+            </returns>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.ErrorCorrectionLevel.Bits">
+            <summary>
+            Gets the bits.
+            </summary>
+        </member>
+        <member name="P:ZXing.QrCode.Internal.ErrorCorrectionLevel.Name">
+            <summary>
+            Gets the name.
+            </summary>
+        </member>
+        <member name="T:ZXing.PlanarYUVLuminanceSource">
+            <summary>
+            This object extends LuminanceSource around an array of YUV data returned from the camera driver,
+            with the option to crop to a rectangle within the full data. This can be used to exclude
+            superfluous pixels around the perimeter and speed up decoding.
+            It works for any pixel format where the Y channel is planar and appears first, including
+            YCbCr_420_SP and YCbCr_422_SP.
+            @author dswitkin@google.com (Daniel Switkin)
+            </summary>
+        </member>
+        <member name="M:ZXing.PlanarYUVLuminanceSource.#ctor(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PlanarYUVLuminanceSource"/> class.
+            </summary>
+            <param name="yuvData">The yuv data.</param>
+            <param name="dataWidth">Width of the data.</param>
+            <param name="dataHeight">Height of the data.</param>
+            <param name="left">The left.</param>
+            <param name="top">The top.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <param name="reverseHoriz">if set to <c>true</c> [reverse horiz].</param>
+        </member>
+        <member name="M:ZXing.PlanarYUVLuminanceSource.#ctor(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PlanarYUVLuminanceSource"/> class.
+            </summary>
+            <param name="luminances">The luminances.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.PlanarYUVLuminanceSource.getRow(System.Int32,System.Byte[])">
+            <summary>
+            Fetches one row of luminance data from the underlying platform's bitmap. Values range from
+            0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
+            to bitwise and with 0xff for each value. It is preferable for implementations of this method
+            to only fetch this row rather than the whole image, since no 2D Readers may be installed and
+            getMatrix() may never be called.
+            </summary>
+            <param name="y">The row to fetch, 0 &lt;= y &lt; Height.</param>
+            <param name="row">An optional preallocated array. If null or too small, it will be ignored.
+            Always use the returned object, and ignore the .length of the array.</param>
+            <returns>
+            An array containing the luminance data.
+            </returns>
+        </member>
+        <member name="M:ZXing.PlanarYUVLuminanceSource.crop(System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Returns a new object with cropped image data. Implementations may keep a reference to the
+            original data rather than a copy. Only callable if CropSupported is true.
+            </summary>
+            <param name="left">The left coordinate, 0 &lt;= left &lt; Width.</param>
+            <param name="top">The top coordinate, 0 &lt;= top &lt;= Height.</param>
+            <param name="width">The width of the rectangle to crop.</param>
+            <param name="height">The height of the rectangle to crop.</param>
+            <returns>
+            A cropped version of this object.
+            </returns>
+        </member>
+        <member name="M:ZXing.PlanarYUVLuminanceSource.renderThumbnail">
+            <summary>
+            Renders the cropped greyscale bitmap.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:ZXing.PlanarYUVLuminanceSource.Matrix">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="P:ZXing.PlanarYUVLuminanceSource.CropSupported">
+            <summary>
+            </summary>
+            <returns> Whether this subclass supports cropping.</returns>
+        </member>
+        <member name="P:ZXing.PlanarYUVLuminanceSource.ThumbnailWidth">
+            <summary>
+            width of image from {@link #renderThumbnail()}
+            </summary>
+        </member>
+        <member name="P:ZXing.PlanarYUVLuminanceSource.ThumbnailHeight">
+            <summary>
+            height of image from {@link #renderThumbnail()}
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.PDF417Writer">
+            <summary>
+            <author>Jacob Haynes</author>
+            <author>qwandor@google.com (Andrew Walbran)</author>
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.PDF417Writer.WHITE_SPACE">
+            <summary>
+            default white space (margin) around the code
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Writer.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <param name="hints">Additional parameters to supply to the encoder</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Writer.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32)">
+            <summary>
+            Encode a barcode using the default settings.
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Writer.bitMatrixFromEncoder(ZXing.PDF417.Internal.PDF417,System.String,System.Int32,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Takes encoder, accounts for width/height, and retrieves bit matrix
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Writer.bitMatrixFrombitArray(System.SByte[][],System.Int32)">
+            <summary>
+            This takes an array holding the values of the PDF 417
+            </summary>
+            <param name="input">a byte array of information with 0 is black, and 1 is white</param>
+            <param name="margin">border around the barcode</param>
+            <returns>BitMatrix of the input</returns>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Writer.rotateArray(System.SByte[][])">
+            <summary>
+            Takes and rotates the it 90 degrees
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.PDF417Reader">
+             <summary>
+             This implementation can detect and decode PDF417 codes in an image.
+            
+             <author>SITA Lab (kevin.osullivan@sita.aero)</author>
+             <author>Guenther Grau</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.decode(ZXing.BinaryBitmap)">
+             <summary>
+             Locates and decodes a PDF417 code in an image.
+            
+             <returns>a String representing the content encoded by the PDF417 code</returns>
+             <exception cref="T:ZXing.FormatException">if a PDF417 cannot be decoded</exception>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Locates and decodes a barcode in some format within an image. This method also accepts
+            hints, each possibly associated to some data, which may help the implementation decode.
+            **Note** this will return the FIRST barcode discovered if there are many.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <param name="hints">passed as a <see cref="T:System.Collections.Generic.IDictionary`2"/> from <see cref="T:ZXing.DecodeHintType"/>
+            to arbitrary data. The
+            meaning of the data depends upon the hint type. The implementation may or may not do
+            anything with these hints.</param>
+            <returns>
+            String which the barcode encodes
+            </returns>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.decodeMultiple(ZXing.BinaryBitmap)">
+             <summary>
+             Locates and decodes Multiple PDF417 codes in an image.
+            
+             <returns>an array of Strings representing the content encoded by the PDF417 codes</returns>
+             </summary>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.decodeMultiple(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Locates and decodes multiple barcodes in some format within an image. This method also accepts
+            hints, each possibly associated to some data, which may help the implementation decode.
+            </summary>
+            <param name="image">image of barcode to decode</param>
+            <param name="hints">passed as a <see cref="T:System.Collections.Generic.IDictionary`2"/> from <see cref="T:ZXing.DecodeHintType"/>
+            to arbitrary data. The
+            meaning of the data depends upon the hint type. The implementation may or may not do
+            anything with these hints.</param>
+            <returns>
+            String which the barcodes encode
+            </returns>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object},System.Boolean)">
+            <summary>
+            Decode the specified image, with the hints and optionally multiple barcodes.
+            Based on Owen's Comments in <see cref="T:ZXing.ReaderException"/>, this method has been modified to continue silently
+            if a barcode was not decoded where it was detected instead of throwing a new exception object.
+            </summary>
+            <param name="image">Image.</param>
+            <param name="hints">Hints.</param>
+            <param name="multiple">If set to <c>true</c> multiple.</param>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.getMaxWidth(ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary>
+            Gets the maximum width of the barcode
+            </summary>
+            <returns>The max width.</returns>
+            <param name="p1">P1.</param>
+            <param name="p2">P2.</param>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.getMinWidth(ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary>
+            Gets the minimum width of the barcode
+            </summary>
+            <returns>The minimum width.</returns>
+            <param name="p1">P1.</param>
+            <param name="p2">P2.</param>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.getMaxCodewordWidth(ZXing.ResultPoint[])">
+            <summary>
+            Gets the maximum width of the codeword.
+            </summary>
+            <returns>The max codeword width.</returns>
+            <param name="p">P.</param>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.getMinCodewordWidth(ZXing.ResultPoint[])">
+            <summary>
+            Gets the minimum width of the codeword.
+            </summary>
+            <returns>The minimum codeword width.</returns>
+            <param name="p">P.</param>
+        </member>
+        <member name="M:ZXing.PDF417.PDF417Reader.reset">
+            <summary>
+            Resets any internal state the implementation has after a decode, to prepare it
+            for reuse.
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.EC.ModulusGF">
+            <summary>
+            <p>A field based on powers of a generator integer, modulo some modulus.</p>
+            @see com.google.zxing.common.reedsolomon.GenericGF
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.OneD.UPCAWriter">
+            <summary>
+            This object renders a UPC-A code as a <see cref="T:ZXing.Common.BitMatrix"/>.
+            <author>qwandor@google.com (Andrew Walbran)</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.UPCAWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32)">
+            <summary>
+            Encode a barcode using the default settings.
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCAWriter.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            </summary>
+            <param name="contents">The contents to encode in the barcode</param>
+            <param name="format">The barcode format to generate</param>
+            <param name="width">The preferred width in pixels</param>
+            <param name="height">The preferred height in pixels</param>
+            <param name="hints">Additional parameters to supply to the encoder</param>
+            <returns>
+            The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white)
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCAWriter.preencode(System.String)">
+            <summary>
+            Transform a UPC-A code into the equivalent EAN-13 code, and add a check digit if it is not
+            already present.
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.UPCAReader">
+            <summary>
+              <p>Implements decoding of the UPC-A format.</p>
+              <author>dswitkin@google.com (Daniel Switkin)</author>
+              <author>Sean Owen</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.UPCAReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Int32[],System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Like decodeRow(int, BitArray, java.util.Map), but
+            allows caller to inform method about where the UPC/EAN start pattern is
+            found. This allows this to be computed once and reused across many implementations.</p>
+            </summary>
+            <param name="rowNumber"></param>
+            <param name="row"></param>
+            <param name="startGuardRange"></param>
+            <param name="hints"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCAReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns>
+              <see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode or null, if an error occurs or barcode cannot be found
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCAReader.decode(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Decodes the specified image.
+            </summary>
+            <param name="image">The image.</param>
+            <param name="hints">The hints.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.UPCAReader.decodeMiddle(ZXing.Common.BitArray,System.Int32[],System.Text.StringBuilder)">
+            <summary>
+            Subclasses override this to decode the portion of a barcode between the start
+            and end guard patterns.
+            </summary>
+            <param name="row">row of black/white values to search</param>
+            <param name="startRange">start/end offset of start guard pattern</param>
+            <param name="resultString"><see cref="T:System.Text.StringBuilder"/>to append decoded chars to</param>
+            <returns>
+            horizontal offset of first pixel after the "middle" that was decoded or -1 if decoding could not complete successfully
+            </returns>
+        </member>
+        <member name="P:ZXing.OneD.UPCAReader.BarcodeFormat">
+            <summary>
+            Get the format of this decoder.
+            <returns>The 1D format.</returns>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI01AndOtherAIs">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI013103decoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.Code39Writer">
+            <summary>
+            This object renders a CODE39 code as a <see cref="T:ZXing.Common.BitMatrix"/>.
+            <author>erik.barbara@gmail.com (Erik Barbara)</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.Code39Writer.encode(System.String,ZXing.BarcodeFormat,System.Int32,System.Int32,System.Collections.Generic.IDictionary{ZXing.EncodeHintType,System.Object})">
+            <summary>
+            Encode the contents following specified format.
+            {@code width} and {@code height} are required size. This method may return bigger size
+            {@code BitMatrix} when specified size is too small. The user can set both {@code width} and
+            {@code height} to zero to get minimum size barcode. If negative value is set to {@code width}
+            or {@code height}, {@code IllegalArgumentException} is thrown.
+            </summary>
+            <param name="contents"></param>
+            <param name="format"></param>
+            <param name="width"></param>
+            <param name="height"></param>
+            <param name="hints"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.OneD.Code39Writer.encode(System.String)">
+            <summary>
+            Encode the contents to byte array expression of one-dimensional barcode.
+            Start code and end code should be included in result, and side margins should not be included.
+            <returns>a {@code boolean[]} of horizontal pixels (false = white, true = black)</returns>
+            </summary>
+            <param name="contents"></param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.OneD.Code39Reader">
+            <summary>
+              <p>Decodes Code 39 barcodes. This does not support "Full ASCII Code 39" yet.</p>
+            	<author>Sean Owen</author>
+            @see Code93Reader
+            </summary>
+        </member>
+        <member name="F:ZXing.OneD.Code39Reader.CHARACTER_ENCODINGS">
+            <summary>
+            These represent the encodings of characters, as patterns of wide and narrow bars.
+            The 9 least-significant bits of each int correspond to the pattern of wide and narrow,
+            with 1s representing "wide" and 0s representing narrow.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.Code39Reader.#ctor">
+            <summary>
+            Creates a reader that assumes all encoded data is data, and does not treat the final
+            character as a check digit. It will not decoded "extended Code 39" sequences.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.Code39Reader.#ctor(System.Boolean)">
+            <summary>
+            Creates a reader that can be configured to check the last character as a check digit.
+            It will not decoded "extended Code 39" sequences.
+            </summary>
+            <param name="usingCheckDigit">if true, treat the last data character as a check digit, not
+            data, and verify that the checksum passes.</param>
+        </member>
+        <member name="M:ZXing.OneD.Code39Reader.#ctor(System.Boolean,System.Boolean)">
+            <summary>
+            Creates a reader that can be configured to check the last character as a check digit,
+            or optionally attempt to decode "extended Code 39" sequences that are used to encode
+            the full ASCII character set.
+            </summary>
+            <param name="usingCheckDigit">if true, treat the last data character as a check digit, not
+            data, and verify that the checksum passes.</param>
+            <param name="extendedMode">if true, will attempt to decode extended Code 39 sequences in the text.</param>
+        </member>
+        <member name="M:ZXing.OneD.Code39Reader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns><see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode</returns>
+        </member>
+        <member name="T:ZXing.Func`1">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="TResult">The type of the result.</typeparam>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.Func`2">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="T1">The type of the 1.</typeparam>
+            <typeparam name="TResult">The type of the result.</typeparam>
+            <param name="param1">The param1.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.Func`3">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="T1">The type of the 1.</typeparam>
+            <typeparam name="T2">The type of the 2.</typeparam>
+            <typeparam name="TResult">The type of the result.</typeparam>
+            <param name="param1">The param1.</param>
+            <param name="param2">The param2.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.Func`4">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="T1">The type of the 1.</typeparam>
+            <typeparam name="T2">The type of the 2.</typeparam>
+            <typeparam name="T3">The type of the 3.</typeparam>
+            <typeparam name="TResult">The type of the result.</typeparam>
+            <param name="param1">The param1.</param>
+            <param name="param2">The param2.</param>
+            <param name="param3">The param3.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.Func`5">
+            <summary>
+            for compatibility with .net 4.0
+            </summary>
+            <typeparam name="T1">The type of the 1.</typeparam>
+            <typeparam name="T2">The type of the 2.</typeparam>
+            <typeparam name="T3">The type of the 3.</typeparam>
+            <typeparam name="T4">The type of the 4.</typeparam>
+            <typeparam name="TResult">The type of the result.</typeparam>
+            <param name="param1">The param1.</param>
+            <param name="param2">The param2.</param>
+            <param name="param3">The param3.</param>
+            <param name="param4">The param4.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.Dimension">
+            <summary>
+            Simply encapsulates a width and height.
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Encoder.ErrorCorrection">
+            <summary>
+            Error Correction Code for ECC200.
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.ErrorCorrection.FACTOR_SETS">
+            <summary>
+            Lookup table which factors to use for which number of error correction codewords.
+            See FACTORS.
+            </summary>
+        </member>
+        <member name="F:ZXing.Datamatrix.Encoder.ErrorCorrection.FACTORS">
+            <summary>
+            Precomputed polynomial factors for ECC 200.
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Encoder.ErrorCorrection.encodeECC200(System.String,ZXing.Datamatrix.Encoder.SymbolInfo)">
+            <summary>
+            Creates the ECC200 error correction for an encoded message.
+            </summary>
+            <param name="codewords">The codewords.</param>
+            <param name="symbolInfo">information about the symbol to be encoded</param>
+            <returns>the codewords with interleaved error correction.</returns>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.Decoder">
+             <summary>
+             <p>The main class which implements Data Matrix Code decoding -- as opposed to locating and extracting
+             the Data Matrix Code from an image.</p>
+            
+             <author>bbrown@google.com (Brian Brown)</author>
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Decoder.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Datamatrix.Internal.Decoder"/> class.
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Decoder.decode(System.Boolean[][])">
+             <summary>
+             <p>Convenience method that can decode a Data Matrix Code represented as a 2D array of booleans.
+             "true" is taken to mean a black module.</p>
+            
+             <param name="image">booleans representing white/black Data Matrix Code modules</param>
+             <returns>text and bytes encoded within the Data Matrix Code</returns>
+             <exception cref="T:ZXing.FormatException">if the Data Matrix Code cannot be decoded</exception>
+             <exception cref="!:ChecksumException">if error correction fails</exception>
+             </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Decoder.decode(ZXing.Common.BitMatrix)">
+            <summary>
+            <p>Decodes a Data Matrix Code represented as a <see cref="T:ZXing.Common.BitMatrix"/>. A 1 or "true" is taken
+            to mean a black module.</p>
+            </summary>
+            <param name="bits">booleans representing white/black Data Matrix Code modules</param>
+            <returns>text and bytes encoded within the Data Matrix Code</returns>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Decoder.correctErrors(System.Byte[],System.Int32)">
+             <summary>
+             <p>Given data and error-correction codewords received, possibly corrupted by errors, attempts to
+             correct the errors in-place using Reed-Solomon error correction.</p>
+            
+             <param name="codewordBytes">data and error correction codewords</param>
+             <param name="numDataCodewords">number of codewords that are data bytes</param>
+             </summary>
+        </member>
+        <member name="T:ZXing.Common.ReedSolomon.ReedSolomonEncoder">
+            <summary>
+            Implements Reed-Solomon encoding, as the name implies.
+            </summary>
+            <author>Sean Owen</author>
+            <author>William Rucklidge</author>
+        </member>
+        <member name="T:ZXing.Common.PerspectiveTransform">
+            <summary> <p>This class implements a perspective transform in two dimensions. Given four source and four
+            destination points, it will compute the transformation implied between them. The code is based
+            directly upon section 3.4.2 of George Wolberg's "Digital Image Warping"; see pages 54-56.</p>
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="M:ZXing.Common.PerspectiveTransform.transformPoints(System.Single[],System.Single[])">
+            <summary>Convenience method, not optimized for performance. </summary>
+        </member>
+        <member name="T:ZXing.Common.DecodingOptions">
+            <summary>
+            Defines an container for encoder options
+            </summary>
+        </member>
+        <member name="M:ZXing.Common.DecodingOptions.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Common.EncodingOptions"/> class.
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.DecodingOptions.Hints">
+            <summary>
+            Gets the data container for all options
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.DecodingOptions.TryHarder">
+            <summary>
+            Gets or sets a flag which cause a deeper look into the bitmap
+            </summary>
+            <value>
+              <c>true</c> if [try harder]; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.Common.DecodingOptions.PureBarcode">
+            <summary>
+            Image is a pure monochrome image of a barcode.
+            </summary>
+            <value>
+              <c>true</c> if monochrome image of a barcode; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:ZXing.Common.DecodingOptions.CharacterSet">
+            <summary>
+            Specifies what character encoding to use when decoding, where applicable (type String)
+            </summary>
+            <value>
+            The character set.
+            </value>
+        </member>
+        <member name="P:ZXing.Common.DecodingOptions.PossibleFormats">
+            <summary>
+            Image is known to be of one of a few possible formats.
+            Maps to a {@link java.util.List} of {@link BarcodeFormat}s.
+            </summary>
+            <value>
+            The possible formats.
+            </value>
+        </member>
+        <member name="P:ZXing.Common.DecodingOptions.UseCode39ExtendedMode">
+            <summary>
+            if Code39 could be detected try to use extended mode for full ASCII character set
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.DecodingOptions.UseCode39RelaxedExtendedMode">
+            <summary>
+            Don't fail if a Code39 is detected but can't be decoded in extended mode.
+            Return the raw Code39 result instead. Maps to <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.DecodingOptions.ReturnCodabarStartEnd">
+            <summary>
+            If true, return the start and end digits in a Codabar barcode instead of stripping them. They
+            are alpha, whereas the rest are numeric. By default, they are stripped, but this causes them
+            to not be. Doesn't matter what it maps to; use <see cref="T:System.Boolean"/>.
+            </summary>
+        </member>
+        <member name="T:ZXing.Client.Result.SMTPResultParser">
+            <summary>
+            <p>Parses an "smtp:" URI result, whose format is not standardized but appears to be like:
+            <code>smtp[:subject[:body]]}</code>.</p>
+            <p>See http://code.google.com/p/zxing/issues/detail?id=536</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.Client.Result.EmailAddressResultParser">
+            <summary> Represents a result that encodes an e-mail address, either as a plain address
+            like "joe@example.org" or a mailto: URL like "mailto:joe@example.org".
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.RGB565LuminanceSource">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:ZXing.RGB565LuminanceSource.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.RGB565LuminanceSource"/> class.
+            </summary>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.RGB565LuminanceSource.#ctor(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.RGB565LuminanceSource"/> class.
+            </summary>
+            <param name="rgb565RawData">The RGB565 raw data.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+        </member>
+        <member name="M:ZXing.RGB565LuminanceSource.CreateLuminanceSource(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Should create a new luminance source with the right class type.
+            The method is used in methods crop and rotate.
+            </summary>
+            <param name="newLuminances">The new luminances.</param>
+            <param name="width">The width.</param>
+            <param name="height">The height.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.ResultPointCallback">
+            <summary> Callback which is invoked when a possible result point (significant
+            point in the barcode image such as a corner) is found.
+            
+            </summary>
+            <seealso cref="F:ZXing.DecodeHintType.NEED_RESULT_POINT_CALLBACK">
+            </seealso>
+        </member>
+        <member name="T:ZXing.PDF417.PDF417ResultMetadata">
+            <summary>
+            PDF 417 result meta data.
+            <author>Guenther Grau</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.RSSExpandedReader">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.Expanded.RSSExpandedReader.decodeRow(System.Int32,ZXing.Common.BitArray,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+              <p>Attempts to decode a one-dimensional barcode format given a single row of
+            an image.</p>
+            </summary>
+            <param name="rowNumber">row number from top of the row</param>
+            <param name="row">the black/white pixel data of the row</param>
+            <param name="hints">decode hints</param>
+            <returns>
+              <see cref="T:ZXing.Result"/>containing encoded string and start/end of barcode or null, if an error occurs or barcode cannot be found
+            </returns>
+        </member>
+        <member name="M:ZXing.OneD.RSS.Expanded.RSSExpandedReader.reset">
+            <summary>
+            Resets this instance.
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.ExpandedRow">
+            <summary>
+            One row of an RSS Expanded Stacked symbol, consisting of 1+ expanded pairs.
+            </summary>
+        </member>
+        <member name="M:ZXing.OneD.RSS.Expanded.ExpandedRow.Equals(System.Object)">
+            <summary>
+            Two rows are equal if they contain the same pairs in the same order.
+            </summary>
+        </member>
+        <member name="P:ZXing.OneD.RSS.Expanded.ExpandedRow.IsReversed">
+            <summary>
+            Did this row of the image have to be reversed (mirrored) to recognize the pairs?
+            </summary>
+        </member>
+        <member name="T:ZXing.Multi.QrCode.QRCodeMultiReader">
+            <summary>
+            This implementation can detect and decode multiple QR Codes in an image.
+            </summary>
+        </member>
+        <member name="M:ZXing.Multi.QrCode.QRCodeMultiReader.decodeMultiple(ZXing.BinaryBitmap)">
+            <summary>
+            Decodes the multiple.
+            </summary>
+            <param name="image">The image.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Multi.QrCode.QRCodeMultiReader.decodeMultiple(ZXing.BinaryBitmap,System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Decodes the multiple.
+            </summary>
+            <param name="image">The image.</param>
+            <param name="hints">The hints.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.Multi.ByQuadrantReader">
+            <summary>
+            This class attempts to decode a barcode from an image, not by scanning the whole image,
+            but by scanning subsets of the image. This is important when there may be multiple barcodes in
+            an image, and detecting a barcode may find parts of multiple barcode and fail to decode
+            (e.g. QR Codes). Instead this scans the four quadrants of the image -- and also the center
+            'quadrant' to cover the case where a barcode is found in the center.
+            </summary>
+            <seealso cref="T:ZXing.Multi.GenericMultipleBarcodeReader"/>
+        </member>
+        <member name="T:BigIntegerLibrary.Base10BigInteger">
+            <summary>
+            Integer inefficiently represented internally using base-10 digits, in order to allow a
+            visual representation as a base-10 string. Only for internal use.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.Base10BigInteger.NumberBase">
+            <summary>
+            10 numeration base for string representation, very inefficient for computations.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.Base10BigInteger.MaxSize">
+            <summary>
+            Maximum size for numbers is up to 10240 binary digits or approximately (safe to use) 3000 decimal digits.
+            The maximum size is, in fact, double the previously specified amount, in order to accommodate operations'
+            overflow.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.Base10BigInteger.Zero">
+            Integer constants
+        </member>
+        <member name="F:BigIntegerLibrary.Base10BigInteger.digits">
+            <summary>
+            The array of digits of the number.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.Base10BigInteger.size">
+            <summary>
+            The actual number of digits of the number.
+            </summary>
+        </member>
+        <member name="F:BigIntegerLibrary.Base10BigInteger.sign">
+            <summary>
+            The number sign.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.#ctor">
+            <summary>
+            Default constructor, intializing the Base10BigInteger with zero.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.#ctor(System.Int64)">
+            <summary>
+            Constructor creating a new Base10BigInteger as a conversion of a regular base-10 long.
+            </summary>
+            <param name="n">The base-10 long to be converted</param>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.#ctor(BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Constructor creating a new Base10BigInteger as a copy of an existing Base10BigInteger.
+            </summary>
+            <param name="n">The Base10BigInteger to be copied</param>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Equals(BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Determines whether the specified Base10BigInteger is equal to the current Base10BigInteger.
+            </summary>
+            <param name="other">The Base10BigInteger to compare with the current Base10BigInteger</param>
+            <returns>True if the specified Base10BigInteger is equal to the current Base10BigInteger,
+            false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Equals(System.Object)">
+            <summary>
+            Determines whether the specified System.Object is equal to the current Base10BigInteger.
+            </summary>
+            <param name="o">The System.Object to compare with the current Base10BigInteger</param>
+            <returns>True if the specified System.Object is equal to the current Base10BigInteger,
+            false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.GetHashCode">
+            <summary>
+            Serves as a hash function for the Base10BigInteger type.
+            </summary>
+            <returns>A hash code for the current Base10BigInteger</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.ToString">
+            <summary>
+            String representation of the current Base10BigInteger, converted to its base-10 representation.
+            </summary>
+            <returns>The string representation of the current Base10BigInteger</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Opposite(BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Base10BigInteger inverse with respect to addition.
+            </summary>
+            <param name="n">The Base10BigInteger whose opposite is to be computed</param>
+            <returns>The Base10BigInteger inverse with respect to addition</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Greater(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Greater test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a &gt; b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.GreaterOrEqual(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Greater or equal test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a &gt;= b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Smaller(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Smaller test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a &lt; b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.SmallerOrEqual(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Smaller or equal test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a &lt;= b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Abs(BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Computes the absolute value of a Base10BigInteger.
+            </summary>
+            <param name="n">The Base10BigInteger whose absolute value is to be computed</param>
+            <returns>The absolute value of the given BigInteger</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Addition(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Addition operation of two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>The Base10BigInteger result of the addition</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Subtraction(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Subtraction operation of two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>The Base10BigInteger result of the subtraction</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Multiplication(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Multiplication operation of two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>The Base10BigInteger result of the multiplication</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_Implicit(System.Int64)~BigIntegerLibrary.Base10BigInteger">
+            <summary>
+            Implicit conversion operator from long to Base10BigInteger.
+            </summary>
+            <param name="n">The long to be converted to a Base10BigInteger</param>
+            <returns>The Base10BigInteger converted from the given long</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_Equality(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Equality test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a == b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_Inequality(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Inequality test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a != b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_GreaterThan(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Greater test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a &gt; b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_LessThan(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Smaller test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a &lt; b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_GreaterThanOrEqual(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Greater or equal test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a &gt;= b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_LessThanOrEqual(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Smaller or equal test between two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>True if a &lt;= b, false otherwise</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_UnaryNegation(BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Base10BigInteger inverse with respect to addition.
+            </summary>
+            <param name="n">The Base10BigInteger whose opposite is to be computed</param>
+            <returns>The Base10BigInteger inverse with respect to addition</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_Addition(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Addition operation of two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>The Base10BigInteger result of the addition</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_Subtraction(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Subtraction operation of two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>The Base10BigInteger result of the subtraction</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_Multiply(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Multiplication operation of two Base10BigIntegers.
+            </summary>
+            <param name="a">The 1st Base10BigInteger</param>
+            <param name="b">The 2nd Base10BigInteger</param>
+            <returns>The Base10BigInteger result of the multiplication</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_Increment(BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Incremetation by one operation of a Base10BigInteger.
+            </summary>
+            <param name="n">The Base10BigInteger to be incremented by one</param>
+            <returns>The Base10BigInteger result of incrementing by one</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.op_Decrement(BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Decremetation by one operation of a Base10BigInteger.
+            </summary>
+            <param name="n">The Base10BigInteger to be decremented by one</param>
+            <returns>The Base10BigInteger result of decrementing by one</returns>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Add(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Adds two BigNumbers a and b, where a >= b, a, b non-negative.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Subtract(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Subtracts the Base10BigInteger b from the Base10BigInteger a, where a >= b, a, b non-negative.
+            </summary>
+        </member>
+        <member name="M:BigIntegerLibrary.Base10BigInteger.Multiply(BigIntegerLibrary.Base10BigInteger,BigIntegerLibrary.Base10BigInteger)">
+            <summary>
+            Multiplies two Base10BigIntegers.
+            </summary>
+        </member>
+        <member name="P:BigIntegerLibrary.Base10BigInteger.NumberSign">
+            <summary>
+            Sets the number sign.
+            </summary>
+        </member>
+        <member name="T:ZXing.Client.Result.WifiResultParser">
+            <summary>
+            <p>Parses a WIFI configuration string. Strings will be of the form:</p>
+            <p>{@code WIFI:T:[network type];S:[network SSID];P:[network password];H:[hidden?];;}</p>
+            <p>The fields can appear in any order. Only "S:" is required.</p>
+            </summary>
+            <author>Vikram Aggarwal</author>
+            <author>Sean Owen</author>
+        </member>
+        <member name="T:ZXing.Client.Result.URIResultParser">
+            <summary> Tries to parse results that are a URI of some kind.
+            
+            </summary>
+            <author>  Sean Owen
+            </author>
+            <author>www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source 
+            </author>
+        </member>
+        <member name="T:ZXing.Aztec.Internal.Decoder">
+            <summary>
+            The main class which implements Aztec Code decoding -- as opposed to locating and extracting
+            the Aztec Code from an image.
+            </summary>
+            <author>David Olivier</author>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Decoder.decode(ZXing.Aztec.Internal.AztecDetectorResult)">
+            <summary>
+            Decodes the specified detector result.
+            </summary>
+            <param name="detectorResult">The detector result.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Decoder.getEncodedData(System.Boolean[])">
+            <summary>
+            Gets the string encoded in the aztec code bits
+            </summary>
+            <param name="correctedBits">The corrected bits.</param>
+            <returns>the decoded string</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Decoder.getTable(System.Char)">
+            <summary>
+            gets the table corresponding to the char passed
+            </summary>
+            <param name="t">The t.</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Decoder.getCharacter(System.String[],System.Int32)">
+            <summary>
+            Gets the character (or string) corresponding to the passed code in the given table
+            </summary>
+            <param name="table">the table used</param>
+            <param name="code">the code of the character</param>
+            <returns></returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Decoder.correctBits(System.Boolean[])">
+             <summary>
+            Performs RS error correction on an array of bits.
+             </summary>
+             <param name="rawbits">The rawbits.</param>
+             <returns>the corrected array</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Decoder.extractBits(ZXing.Common.BitMatrix)">
+            <summary>
+            Gets the array of bits from an Aztec Code matrix
+            </summary>
+            <param name="matrix">The matrix.</param>
+            <returns>the array of bits</returns>
+        </member>
+        <member name="M:ZXing.Aztec.Internal.Decoder.readCode(System.Boolean[],System.Int32,System.Int32)">
+            <summary>
+            Reads a code of given length and at given index in an array of bits
+            </summary>
+            <param name="rawbits">The rawbits.</param>
+            <param name="startIndex">The start index.</param>
+            <param name="length">The length.</param>
+            <returns></returns>
+        </member>
+        <member name="T:ZXing.QrCode.Internal.BitMatrixParser">
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.BitMatrixParser.createBitMatrixParser(ZXing.Common.BitMatrix)">
+            <param name="bitMatrix">{@link BitMatrix} to parse</param>
+            <throws>ReaderException if dimension is not >= 21 and 1 mod 4</throws>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.BitMatrixParser.readFormatInformation">
+            <summary> <p>Reads format information from one of its two locations within the QR Code.</p>
+            
+            </summary>
+            <returns> {@link FormatInformation} encapsulating the QR Code's format info
+            </returns>
+            <throws>  ReaderException if both format information locations cannot be parsed as </throws>
+            <summary> the valid encoding of format information
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.BitMatrixParser.readVersion">
+            <summary> <p>Reads version information from one of its two locations within the QR Code.</p>
+            
+            </summary>
+            <returns> {@link Version} encapsulating the QR Code's version
+            </returns>
+            <throws>  ReaderException if both version information locations cannot be parsed as </throws>
+            <summary> the valid encoding of version information
+            </summary>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.BitMatrixParser.readCodewords">
+            <summary> <p>Reads the bits in the {@link BitMatrix} representing the finder pattern in the
+            correct order in order to reconstruct the codewords bytes contained within the
+            QR Code.</p>
+            
+            </summary>
+            <returns> bytes encoded within the QR Code
+            </returns>
+            <throws>  ReaderException if the exact number of bytes expected is not read </throws>
+        </member>
+        <member name="M:ZXing.QrCode.Internal.BitMatrixParser.remask">
+            Revert the mask removal done while reading the code words. The bit matrix should revert to its original state.
+        </member>
+        <member name="M:ZXing.QrCode.Internal.BitMatrixParser.setMirror(System.Boolean)">
+            Prepare the parser for a mirrored operation.
+            This flag has effect only on the {@link #readFormatInformation()} and the
+            {@link #readVersion()}. Before proceeding with {@link #readCodewords()} the
+            {@link #mirror()} method should be called.
+            
+            @param mirror Whether to read version and format information mirrored.
+        </member>
+        <member name="M:ZXing.QrCode.Internal.BitMatrixParser.mirror">
+            Mirror the bit matrix in order to attempt a second reading. 
+        </member>
+        <member name="T:ZXing.PDF417.Internal.PDF417ErrorCorrection">
+            <summary>
+            PDF417 error correction code following the algorithm described in ISO/IEC 15438:2001(E) in
+            chapter 4.10.
+            </summary>
+        </member>
+        <member name="F:ZXing.PDF417.Internal.PDF417ErrorCorrection.EC_COEFFICIENTS">
+            <summary>
+            Tables of coefficients for calculating error correction words
+            (see annex F, ISO/IEC 15438:2001(E))
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ErrorCorrection.getErrorCorrectionCodewordCount(System.Int32)">
+            <summary>
+            Determines the number of error correction codewords for a specified error correction
+            level.
+            </summary>
+            <param name="errorCorrectionLevel">the error correction level (0-8)</param>
+            <returns>the number of codewords generated for error correction</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ErrorCorrection.getRecommendedMinimumErrorCorrectionLevel(System.Int32)">
+            <summary>
+            Returns the recommended minimum error correction level as described in annex E of
+            ISO/IEC 15438:2001(E).
+            </summary>
+            <param name="n">the number of data codewords</param>
+            <returns>the recommended minimum error correction level</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.PDF417ErrorCorrection.generateErrorCorrection(System.String,System.Int32)">
+            <summary>
+            Generates the error correction codewords according to 4.10 in ISO/IEC 15438:2001(E).
+            </summary>
+            <param name="dataCodewords">the data codewords</param>
+            <param name="errorCorrectionLevel">the error correction level (0-8)</param>
+            <returns>the String representing the error correction codewords</returns>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.PDF417ErrorCorrectionLevel">
+            <summary>
+            defines the level of the error correction / count of error correction codewords
+            </summary>
+        </member>
+        <member name="T:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn">
+            <summary>
+            Represents a Column in the Detection Result
+            </summary>
+            <author>Guenther Grau</author>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.#ctor(ZXing.PDF417.Internal.BoundingBox,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn"/> class.
+            </summary>
+            <param name="box">Box.</param>
+            <param name="isLeft">If set to <c>true</c> is left.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.setRowNumbers">
+            <summary>
+            Sets the Row Numbers as Inidicator Columns
+            </summary>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.adjustCompleteIndicatorColumnRowNumbers(ZXing.PDF417.Internal.BarcodeMetadata)">
+            <summary>
+            TODO implement properly
+            TODO maybe we should add missing codewords to store the correct row number to make
+            finding row numbers for other columns easier
+            use row height count to make detection of invalid row numbers more reliable
+            </summary>
+            <returns>The indicator column row numbers.</returns>
+            <param name="metadata">Metadata.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.getRowHeights">
+            <summary>
+            Gets the row heights.
+            </summary>
+            <returns>The row heights.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.adjustIncompleteIndicatorColumnRowNumbers(ZXing.PDF417.Internal.BarcodeMetadata)">
+            <summary>
+            Adjusts the in omplete indicator column row numbers.
+            </summary>
+            <param name="metadata">Metadata.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.getBarcodeMetadata">
+            <summary>
+            Gets the barcode metadata.
+            </summary>
+            <returns>The barcode metadata.</returns>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.removeIncorrectCodewords(ZXing.PDF417.Internal.Codeword[],ZXing.PDF417.Internal.BarcodeMetadata)">
+            <summary>
+            Prune the codewords which do not match the metadata
+            TODO Maybe we should keep the incorrect codewords for the start and end positions?
+            </summary>
+            <param name="codewords">Codewords.</param>
+            <param name="metadata">Metadata.</param>
+        </member>
+        <member name="M:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn"/>.
+            </summary>
+            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn"/>.</returns>
+        </member>
+        <member name="P:ZXing.PDF417.Internal.DetectionResultRowIndicatorColumn.IsLeft">
+            <summary>
+            Gets or sets a value indicating whether this instance is the left indicator
+            </summary>
+            <value><c>true</c> if this instance is left; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.DecodedChar">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.BlockParsedResult">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            <author>Eduardo Castillejo, University of Deusto (eduardo.castillejo@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.OneD.RSS.Expanded.Decoders.AI01393xDecoder">
+            <summary>
+            <author>Pablo Orduña, University of Deusto (pablo.orduna@deusto.es)</author>
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.Detector">
+            <summary>
+            <p>Encapsulates logic that can detect a Data Matrix Code in an image, even if the Data Matrix Code
+            is rotated or skewed, or partially obscured.</p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Detector.#ctor(ZXing.Common.BitMatrix)">
+            <summary>
+            Initializes a new instance of the <see cref="T:ZXing.Datamatrix.Internal.Detector"/> class.
+            </summary>
+            <param name="image">The image.</param>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Detector.detect">
+            <summary>
+            <p>Detects a Data Matrix Code in an image.</p>
+            </summary>
+            <returns><see cref="T:ZXing.Common.DetectorResult"/>encapsulating results of detecting a Data Matrix Code or null</returns>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Detector.correctTopRightRectangular(ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,System.Int32,System.Int32)">
+            <summary>
+            Calculates the position of the white top right module using the output of the rectangle detector
+            for a rectangular matrix
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Detector.correctTopRight(ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,ZXing.ResultPoint,System.Int32)">
+            <summary>
+            Calculates the position of the white top right module using the output of the rectangle detector
+            for a square matrix
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Detector.increment(System.Collections.Generic.IDictionary{ZXing.ResultPoint,System.Int32},ZXing.ResultPoint)">
+            <summary>
+            Increments the Integer associated with a key by one.
+            </summary>
+        </member>
+        <member name="M:ZXing.Datamatrix.Internal.Detector.transitionsBetween(ZXing.ResultPoint,ZXing.ResultPoint)">
+            <summary>
+            Counts the number of black/white transitions between two points, using something like Bresenham's algorithm.
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.Detector.ResultPointsAndTransitions">
+            <summary>
+            Simply encapsulates two points and a number of transitions between them.
+            </summary>
+        </member>
+        <member name="T:ZXing.Datamatrix.Internal.Detector.ResultPointsAndTransitionsComparator">
+            <summary>
+            Orders ResultPointsAndTransitions by number of transitions, ascending.
+            </summary>
+        </member>
+        <member name="T:ZXing.Common.StringUtils">
+            <summary>
+            Common string-related functions.
+            </summary>
+            <author>Sean Owen</author>
+            <author>Alex Dupre</author>
+        </member>
+        <member name="M:ZXing.Common.StringUtils.guessEncoding(System.Byte[],System.Collections.Generic.IDictionary{ZXing.DecodeHintType,System.Object})">
+            <summary>
+            Guesses the encoding.
+            </summary>
+            <param name="bytes">bytes encoding a string, whose encoding should be guessed</param>
+            <param name="hints">decode hints if applicable</param>
+            <returns>name of guessed encoding; at the moment will only guess one of:
+            {@link #SHIFT_JIS}, {@link #UTF8}, {@link #ISO88591}, or the platform
+            default encoding if none of these can possibly be correct</returns>
+        </member>
+        <member name="T:ZXing.Common.ReedSolomon.GenericGF">
+            <summary>
+              <p>This class contains utility methods for performing mathematical operations over
+            the Galois Fields. Operations use a given primitive polynomial in calculations.</p>
+              <p>Throughout this package, elements of the GF are represented as an {@code int}
+            for convenience and speed (but at the cost of memory).
+              </p>
+            </summary>
+            <author>Sean Owen</author>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGF.#ctor(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            Create a representation of GF(size) using the given primitive polynomial.
+            </summary>
+            <param name="primitive">irreducible polynomial whose coefficients are represented by
+            *  the bits of an int, where the least-significant bit represents the constant
+            *  coefficient</param>
+            <param name="size">the size of the field</param>
+            <param name="genBase">the factor b in the generator polynomial can be 0- or 1-based
+            *  (g(x) = (x+a^b)(x+a^(b+1))...(x+a^(b+2t-1))).
+            *  In most cases it should be 1, but for QR code it is 0.</param>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGF.buildMonomial(System.Int32,System.Int32)">
+            <summary>
+            Builds the monomial.
+            </summary>
+            <param name="degree">The degree.</param>
+            <param name="coefficient">The coefficient.</param>
+            <returns>the monomial representing coefficient * x^degree</returns>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGF.addOrSubtract(System.Int32,System.Int32)">
+            <summary>
+            Implements both addition and subtraction -- they are the same in GF(size).
+            </summary>
+            <returns>sum/difference of a and b</returns>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGF.exp(System.Int32)">
+            <summary>
+            Exps the specified a.
+            </summary>
+            <returns>2 to the power of a in GF(size)</returns>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGF.log(System.Int32)">
+            <summary>
+            Logs the specified a.
+            </summary>
+            <param name="a">A.</param>
+            <returns>base 2 log of a in GF(size)</returns>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGF.inverse(System.Int32)">
+            <summary>
+            Inverses the specified a.
+            </summary>
+            <returns>multiplicative inverse of a</returns>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGF.multiply(System.Int32,System.Int32)">
+            <summary>
+            Multiplies the specified a with b.
+            </summary>
+            <param name="a">A.</param>
+            <param name="b">The b.</param>
+            <returns>product of a and b in GF(size)</returns>
+        </member>
+        <member name="M:ZXing.Common.ReedSolomon.GenericGF.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="P:ZXing.Common.ReedSolomon.GenericGF.Size">
+            <summary>
+            Gets the size.
+            </summary>
+        </member>
+        <member name="P:ZXing.Common.ReedSolomon.GenericGF.GeneratorBase">
+            <summary>
+            Gets the generator base.
+            </summary>
+        </member>
+        <!-- Ungültiger XML-Kommentar wurde für den Member "T:ZXing.Client.Result.VCardResultParser" ignoriert -->
+        <member name="M:ZXing.Client.Result.VCardResultParser.formatNames(System.Collections.Generic.IEnumerable{System.Collections.Generic.List{System.String}})">
+             Formats name fields of the form "Public;John;Q.;Reverend;III" into a form like
+             "Reverend John Q. Public III".
+            
+             @param names name values to format, in place
+        </member>
+    </members>
+</doc>
Binary file lib/zxing/net2.0/zxing.dll has changed
Binary file lib/zxing/net2.0/zxing.pdb has changed
Binary file resources/qr.ico has changed
Binary file resources/qr2.ico has changed
Binary file resources/url.png has changed