Bläddra i källkod

添加项目文件。

现广 周 6 år sedan
förälder
incheckning
8622ab5c38

+ 25 - 0
Winbox.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27703.2042
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MainApp", "WindowsFormsApplication1\MainApp.csproj", "{21C324A0-89CF-4E33-B6C7-7E70BC135150}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{21C324A0-89CF-4E33-B6C7-7E70BC135150}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{21C324A0-89CF-4E33-B6C7-7E70BC135150}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{21C324A0-89CF-4E33-B6C7-7E70BC135150}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{21C324A0-89CF-4E33-B6C7-7E70BC135150}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {8BFC582D-3743-4222-BCE3-152EBEBC1218}
+	EndGlobalSection
+EndGlobal

+ 6 - 0
WindowsFormsApplication1/App.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
+    </startup>
+</configuration>

+ 130 - 0
WindowsFormsApplication1/MainApp.csproj

@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{21C324A0-89CF-4E33-B6C7-7E70BC135150}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>WindowsFormsApplication1</RootNamespace>
+    <AssemblyName>WindowsFormsApplication1</AssemblyName>
+    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <TargetFrameworkProfile />
+    <PublishUrl>C:\Users\efunbox\Desktop\</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>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <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>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+    <Reference Include="WebKitBrowser, Version=0.5.0.0, Culture=neutral, PublicKeyToken=b967213f6d29a3be, processorArchitecture=x86">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>bin\Debug\WebKitBrowser.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="MainForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="MainForm.Designer.cs">
+      <DependentUpon>MainForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <EmbeddedResource Include="MainForm.resx">
+      <DependentUpon>MainForm.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>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config">
+      <SubType>Designer</SubType>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include=".NETFramework,Version=v4.5">
+      <Visible>False</Visible>
+      <ProductName>Microsoft .NET Framework 4.5 %28x86 和 x64%29</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Service References\" />
+  </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>

+ 57 - 0
WindowsFormsApplication1/MainForm.Designer.cs

@@ -0,0 +1,57 @@
+using WebKit;
+using System.Windows.Forms;
+namespace MainApp
+{
+    partial class MainForm
+    {
+        /// <summary>
+        /// 必需的设计器变量。
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// 清理所有正在使用的资源。
+        /// </summary>
+        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows 窗体设计器生成的代码
+
+        /// <summary>
+        /// 设计器支持所需的方法 - 不要修改
+        /// 使用代码编辑器修改此方法的内容。
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.SuspendLayout();
+            // 
+            // MainForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 24F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1796, 1054);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Margin = new System.Windows.Forms.Padding(6, 6, 6, 6);
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "MainForm";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Text = "全能双师";
+            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
+            this.Load += new System.EventHandler(this.Form1_Load);
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+    }
+}
+

+ 116 - 0
WindowsFormsApplication1/MainForm.cs

@@ -0,0 +1,116 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using WebKit;
+using Microsoft.Win32;
+
+/**
+*
+* the main application
+* */
+namespace MainApp
+{
+    public partial class MainForm : Form
+    {
+        private System.Windows.Forms.WebBrowser webBrowser1;
+
+        public MainForm()
+        {
+            InitializeComponent();
+        }
+
+        /// <summary>
+        /// 窗体加载
+        /// </summary>
+        private void Form1_Load(object sender, EventArgs e)
+        {
+            //设置IE版本
+            SetIE(IeVersion.标准ie10);
+            this.webBrowser1 = new System.Windows.Forms.WebBrowser();
+
+            this.webBrowser1.Location = new System.Drawing.Point(0, 0);
+            this.webBrowser1.MinimumSize = new System.Drawing.Size(0, 0);
+            this.webBrowser1.Size = new System.Drawing.Size(1300, 756);
+            this.webBrowser1.TabIndex = 2;
+            this.webBrowser1.ScriptErrorsSuppressed = true;
+
+            //页面URL
+            this.webBrowser1.Url = new System.Uri("http://tt-web.api.ai160.com/talenkid/build/stage/index/index.html", System.UriKind.Absolute);
+           
+            this.Controls.Add(this.webBrowser1);
+        }
+
+        /// <summary>
+        /// 定义IE版本的枚举
+        /// </summary>
+        private enum IeVersion
+        {
+            强制ie10,//10001 (0x2711) Internet Explorer 10。网页以IE 10的标准模式展现,页面!DOCTYPE无效
+            标准ie10,//10000 (0x02710) Internet Explorer 10。在IE 10标准模式中按照网页上!DOCTYPE指令来显示网页。Internet Explorer 10 默认值。
+            强制ie9,//9999 (0x270F) Windows Internet Explorer 9. 强制IE9显示,忽略!DOCTYPE指令
+            标准ie9,//9000 (0x2328) Internet Explorer 9. Internet Explorer 9默认值,在IE9标准模式中按照网页上!DOCTYPE指令来显示网页。
+            强制ie8,//8888 (0x22B8) Internet Explorer 8,强制IE8标准模式显示,忽略!DOCTYPE指令
+            标准ie8,//8000 (0x1F40) Internet Explorer 8默认设置,在IE8标准模式中按照网页上!DOCTYPE指令展示网页
+            标准ie7//7000 (0x1B58) 使用WebBrowser Control控件的应用程序所使用的默认值,在IE7标准模式中按照网页上!DOCTYPE指令来展示网页
+        }
+
+        /// <summary>
+        /// 设置WebBrowser的默认版本
+        /// </summary>
+        /// <param name="ver">IE版本</param>
+        private void SetIE(IeVersion ver)
+        {
+            string productName = AppDomain.CurrentDomain.SetupInformation.ApplicationName;//获取程序名称
+
+            object version;
+            switch (ver)
+            {
+                case IeVersion.标准ie7:
+                    version = 0x1B58;
+                    break;
+                case IeVersion.标准ie8:
+                    version = 0x1F40;
+                    break;
+                case IeVersion.强制ie8:
+                    version = 0x22B8;
+                    break;
+                case IeVersion.标准ie9:
+                    version = 0x2328;
+                    break;
+                case IeVersion.强制ie9:
+                    version = 0x270F;
+                    break;
+                case IeVersion.标准ie10:
+                    version = 0x02710;
+                    break;
+                case IeVersion.强制ie10:
+                    version = 0x2711;
+                    break;
+                default:
+                    version = 0x1F40;
+                    break;
+            }
+
+            RegistryKey key = Registry.CurrentUser;
+            RegistryKey software =
+                key.CreateSubKey(
+                    @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\" + productName);
+            if (software != null)
+            {
+                software.Close();
+                software.Dispose();
+            }
+            RegistryKey wwui =
+                key.OpenSubKey(
+                    @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true);
+            //该项必须已存在
+            if (wwui != null) wwui.SetValue(productName, version, RegistryValueKind.DWord);
+        }
+    }
+}

+ 408 - 0
WindowsFormsApplication1/MainForm.resx

@@ -0,0 +1,408 @@
+<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.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>
+        AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjCDQIYwg0FmIINGpiCDSnYgg00WIINOliCDTzYgg09WII
+        NPVjCDT1Ygg09WIINPViCDT1Ygg09WIINPViCDT1Ygg09WIINPViCDT1Ygg09WIINPVjCDT1Ygg09WII
+        NPViCDT1Ygg09WIINPViCDT1Ygg09WMINPVjCDT1Ygg09WIINPVjCDT1Ygg09WIINPVjCDT1Ywg09WII
+        NPViCDT1Ygg09WMINPViCDT1Ygg09WIINPVjCDTzYgg062IINNViCDStYgg0cmIINCBhCDUKAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGMINQRjCDUgYwg0dGMINNdjCDX/Ywg1/2MI
+        Nf9jCDX/Ywg1/2MINf9jCDX/Ywg1/2MINf9jCDX/Ywg1/2MINf9jCDX/Ywg1/2MINf9jCDX/Ywg1/2MI
+        Nf9jCDX/Ywg1/2MINf9jCDX/Ywg1/2MINf9jCDX/Ywg1/2MINf9jCDX/Ywg0/2MINP9jCDX/Ywg1/2MI
+        NP9jCDT/Ywg1/2MINP9jCDT/Ywg0/2MINf9jCDX/Ywg1/2MINf9jCDX/Ywg1/2MINf9jCDT/Ywg0/2MI
+        Nf9iCDXhYgg1fmMINSRjCDUIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGMJNQpjCDVIYwg1tWMI
+        NfdjCTX/Ywg1/2MJNf9jCTX/Ywk1/2MJNf9jCTX/Ywk1/2MJNf9jCDX/Ywk1/2MINf9jCDX/Ywg1/2MI
+        Nf9jCDX/Ywk1/2MINf9jCDX/Ywg1/2MINf9jCDX/Ywg1/2MJNf9jCDX/Ywk1/2MJNf9jCTX/Ywk1/2MJ
+        Nf9jCTX/Ywk1/2MINf9jCTX/Ywk1/2MJNf9jCTX/Ywg1/2MINf9jCTX/Ywk1/2MINf9jCTX/Ywk1/2MJ
+        Nf9jCDX/Ywg1/2MINf9jCDX/Ywk1/2MINfljCDXDYwg0VGMJNQ4AAAAAAAAAAAAAAAAAAAAAAAAAAGMJ
+        NAhjCTVSYwk102MJNf9jCTX/Ywk1/2MJNf9jCTX/Ywk1/2MJNf9kCTX/Ywk1/2MJNf9jCTX/Ywk1/2MJ
+        Nf9jCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/Ywk1/2MJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2MJ
+        Nf9jCTX/Ywk1/2MJNf9kCTX/ZAk1/2QJNf9kCDX/Ywk1/2MJNf9jCTX/Ywk1/2QJNf9kCTX/ZAk1/2QJ
+        Nf9kCTX/ZAk1/2MJNf9jCTX/Ywk1/2MJNf9jCTX/Ywk1/2MJNf9kCTX/Ywk1/2MJNddjCTVgYwk0DgAA
+        AAAAAAAAAAAAAGQJNQJjCTVAYwk1z2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJ
+        Nf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJ
+        Nf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJ
+        Nf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJNf9kCTX/ZAk1/2QJ
+        Nf9kCTX/Ywk112MJNU5kCTYGAAAAAAAAAABkCTYgZAk2tWQJNv9kCTb/ZAk2/2QJNv9kCTb/ZAk2/2QJ
+        Nf9kCTX/ZAk2/2QJNv9kCTb/ZAk2/2QJNv9kCTb/ZAk2/2QJNv9kCTb/ZAk2/2QJNv9kCTb/ZAk2/2QJ
+        Nv9kCTb/ZAk2/2QJNv9kCTb/ZAk1/2QJNf9kCTb/ZAk2/2QJNv9kCTb/ZAk2/2QJNv9kCTX/ZAk1/2QJ
+        Nf9kCTb/ZAk2/2QJNv9kCTb/ZAk2/2QJNv9kCTb/ZAk2/2QJNv9lCTX/ZAk1/2QJNv9kCTX/ZAk1/2QJ
+        Nv9kCTb/ZAk1/2QJNf9kCTX/ZAk1/2QJNv9kCTbFZAk2JAAAAABlCTYGZQk2YmUINvdlCTb/ZQk2/2UJ
+        Nv9lCTb/ZQk2/2UJNv9lCTb/ZQk2/2UJNv9lCTb/Zgo3/2IFMv9fAi3/YgMy/2ECMf9hAjH/YQIx/2EC
+        Mf9iAjL/XwIt/14CLP9gAjD/XwIu/18CLf9fAi7/YAIv/2ECMf9dAiz/XQIs/2EDMf9gAi//XgIs/18C
+        Lv9fAi//XwIt/2EDMf9hAzH/YAIv/18CL/9gAi//XwIu/18CLv9gAi//YwYz/2UINv9lCTb/ZQk2/2UJ
+        Nv9lCTb/ZQk2/2UJNv9lCTb/ZQk2/2UJNv9lCTb/ZQk2/2UJNv9lCTb/ZQk2+2QJNXxlCTYKZQk2FmUJ
+        NtNlCTb/ZQk2/2UJNv9lCTb/ZQk2/2UJNv9lCTb/ZQk2/2UJNv9lCTb/ZQk2/2QHM/9rEz3/dSJL/2cR
+        Ov9oDzv/Zw05/2cNOf9oDzv/ZxE5/3coTv94Kk//aRA8/3YhS/9wHET/bhlC/2kQO/9lDDf/didN/3go
+        T/9mCzj/chxG/3IfR/9vG0T/bxpD/3EeRv9lCjb/bxdC/3YoTv9qFD3/ZxI4/3MjSv90JEr/aRE7/2MG
+        M/9iBzL/ZQk2/2UJNv9lCTb/ZQk2/2UJNv9lCTb/ZQk2/2UJNv9lCTb/ZQk2/2UJNv9lCTb/ZQk2/2UJ
+        Nv9lCTbrZQk2ImYJN1RmCTf/Zgk3/2YJN/9mCTf/Zgk3/2YKN/9mCjf/Zgk3/2YJN/9mCTf/Zgo3/2YK
+        N/9dAyz/dCNJ/7OInf/Ru8P/1r3J/9a/y//Tusb/07vH/9K9xv+icIf/o3CI/7WMn/94PVL/soec/7yW
+        qf/Hqbj/yq+7/55qgv+oeI//soac/4xKa/+4kKT/t4+j/5heev+ndY3/sIKZ/3YoTf+ug5f/s4yd/5Bc
+        b/+meI7/r4SY/51ngf+EO1//Zg03/2UINf9mCTf/Zgk3/2YJN/9mCTf/Zgk3/2YJN/9mCTf/Zgo3/2YJ
+        N/9mCTf/Zgk3/2YJN/9mCTf/Zgk3/2YJN3JnCjeXZwo3/2cKN/9nCjf/Zwo3/2cKN/9nCjf/Zwo3/2cK
+        N/9nCjf/Zwo3/2cKN/9nCjf/YwUy/2sSPf+XWnj/mWJ8/5Zjd//Hpbb/2MLN/55sgf+WX3f/di9N/7KH
+        nP/i1dr/pIWN/+vf5f/fzdb/8Ofs/9G2xP+JSmb/nWWA/9W+yf/QtsT/w6Oy/6h4jv/MsL3/383V/6+D
+        mP+bZX7/zrLA/9G4xf/Krbv/wp6w/7yVqP+9mKr/vpqs/3EaRf9gAS3/Zwo3/2cKN/9nCjf/Zwo3/2cK
+        N/9nCjf/Zwo3/2cKN/9nCjf/Zwo3/2cKN/9nCjf/Zwo3/2cKN/9nCjezZwo4wWcKOP9nCjj/Zwo4/2cK
+        OP9nCjj/Zwo4/2cKOP9nCjf/Zwo4/2cKOP9nCjj/Zwo4/2gKOP9jAzL/bxlD/5RXdP+WYXj/o3SJ/9W9
+        yf+uh5b/mmZ8/4xMa/+KSGn/4c/Y/7mOo//SucX/1r7K/82wvv+2jaH/rH2U/3wwVP+uf5f/7+bq/7OI
+        nf96LlL/w6Gy/+vh5v+QUnD/s4ac/9nDzv/Bnq//0bfE/7uUp/+4j6P/s4id/9rG0P9zIEf/YgIw/2cK
+        N/9nCjf/Zwo4/2cKOP9nCjj/Zwo4/2cKOP9nCjj/Zwo4/2cKOP9nCjj/Zwo3/2cKN/9nCjj/Zwo42WgK
+        OOVoCjj/aAo4/2gKOP9oCjj/aAo4/2gKOP9oCjj/aAo4/2gKOP9oCjj/aAo4/2gKOP9oCjj/YQIv/3cj
+        TP+aYHz/jFFr/5xwf//gztf/t5ej/5Vedv+YXXr/dylP/9W9yP+9m6n/spSb/9fBzP+gcIT/hUJh/5Zb
+        eP9xKEf/xaS1/9O5xv+4kKT/q3uT/8ent//Ana3/yq28/4M9YP/Jqrn/3srU/8+0wf+3jqP/uZCl/6Zz
+        jP/Uvcj/klFw/2QDM/9mBzb/aAo4/2gKOP9oCjj/aAo4/2gKOP9oCjj/aAo4/2gKOP9oCjj/aAo4/2gK
+        OP9oCjj/aAo4/2cJOO9oCjj1aAo4/2gKOP9pCjj/aAo4/2gKOP9oCjj/aAo4/2kKOP9oCjj/aAo4/2gK
+        OP9oCjj/aAo4/2ACLf91IEn/pHCK/7mVpf+tgZb/vJWo/7mRpf+kcYr/t46i/4hDZf+TVnT/vZmp/7eU
+        ov+ziJz/roKW/860wP+xhZr/dS1N/8Ogsf/Bnq//mV57/8utu//Lrrz/klJx/8uuvP+YX3v/soec/+/l
+        6v/CoLH/yqq6/9a9yv/EobL/3MjS/7iOov9kBTP/YwMx/2gKOP9oCjj/aAo4/2gKOP9oCjj/aAo4/2kK
+        OP9oCjj/aAo4/2gKOP9oCjj/aAo4/2gKOP9oCjj1aQo59WkKOf9pCjn/aQo5/2kKOf9pCjj/aQo4/2kK
+        Of9pCjj/aQo5/2kKOP9pCjj/aQo5/2kKOf9jAzD/cRlD/6NviP/CpLL/rYGV/5hjev+ZYnv/pXSL/8Gf
+        r/+whpr/eCtR/9W8yf/GpLX/upOm/9C1w//u4+n/y668/59og/+eaIL/mWZ8/5NddP/SuMX/pnuM/4JH
+        Xv++m6v/xaW1/5JVcv/h1Nn/w6Ky/6N7iv/Lu77/8Ofr/7Sbn/+icIf/dyRM/2ECLf9pCjn/aQo5/2kK
+        Of9pCjn/aQo5/2kKOf9pCjn/aQo5/2kKOf9pCjn/aQo5/2kKOf9pCjj/aQo49WkKOfVqCzn/ago5/2oK
+        Of9qCzn/aQs5/2kLOf9pCzn/ags5/2kLOf9pCzn/ags5/2oKOf9qCjn/agk4/2oNOP93Jkz/iEdk/7CE
+        mf+9nKv/t5Sj/7qVp/+sfZT/dCpI/4Y9Yf/axdD/pnSM/6+BmP/Uvcj/wJ6v/6x+lf/AnK3/ei9U/7GI
+        m//Wxsv/1b/K/5xpf/+0k5//4NLY/9vI0f97MVT/m2l+/8Sltf+rh5X/zLm+/+/n6v/Jt7v/tZCh/3kp
+        UP9nBzX/aQo4/2oLOf9qCzn/ags5/2oKOf9qCjn/aQs5/2kLOf9qCzn/ags5/2oLOf9qCzn/ags5/2kK
+        OfVqCjr1ags5/2oLOf9qCzr/ags5/2oLOf9qCzn/ags5/20LPP9fASv/VgEe/1YBHv9fAyr/bAo9/2UD
+        M/9YASD/YAIq/1kFIv9dDif/aBs4/5dbd//JrLn/7ePo/6Vvh/9dCSn/fDFU/4AvV/+ALlf/fC1T/4M4
+        Xf9xGkX/ZhI2/3MaRf+KRWf/jktr/34wVf93I0z/gzhc/4Y7X/+IQWP/dB1G/2INLv95KFD/fzFX/4Y6
+        YP+FOl//mVp6/5FQcP9qDTr/YAAq/1YBHv9WAR7/VgEe/2EELf9rCzv/aws6/2oLOf9qCzn/ags6/2oL
+        Ov9qCzr/ags5/2oLOf9qCjn1awo69WsLOv9rCzr/aws6/2wLOv9sCzr/aws6/2sLOv9kCTD/jEFl/7eI
+        n/+3iJ//j0Vp/18HKf90IkX/tYSc/6Z7i/+vfJX/rXmR/697k//bxND/9vL0//Dq6//6+Pn/uo+i/6Rw
+        hP+pdo7/pHGH/7B8lf+CN1j/gzNY/6x4kP+veZT/filT/5NLbv+2hJ3/q3GO/6Zqh/+2gpz/lU5w/38r
+        VP+4iaD/s4GZ/695lP+xfZb/sn6X/28pPv+KQGH/uImh/6d6i/+0g5v/t4ie/7aHnf+HN17/Zwg0/2sK
+        Of9rCzr/aws6/2wLOv9sCzr/bAs6/2sLOv9rCzr/aws69WwLOvVsCzv/bAs7/2wLO/9sCzv/bAs7/2wL
+        O/9sCzv/YA4p/7WFnf+ggIn/knd5/7F/l/9zKUH/r4KT/6B1hv9mJTv/gj1f/5llff+NV27/xqe1/7KG
+        nP9qN0X/0rzF//Ps7/+fcIT/bSpE/20kRP+FS2L/tZCe/9zH0f+HV2X/qXyR/72Ppv+ygpr/kF1z/8Wt
+        tv/PtcL/e19j/7mVpv/Zwcz/jWJv/45ub//Zxc//mISD/518hv/PsL//toqf/3dDUv9xLEj/mGF7/49l
+        cf+igIr/sX2X/2gXNP9pCjf/bAs7/2wLO/9sCzv/bAs7/2wLO/9sCzv/bAs7/2wLOvVtDDv1bQw7/20M
+        O/9tDDv/bQw7/20MO/9tDDv/bQw7/2YLL/+paon/glVn/1AWLP+XVnf/qmaJ/7CAmP9CDxH/bSRC/5NU
+        c/9zMkz/RwsU/5hyev+1i5//Nxcd/7GPnv/SvsX/QgIN/3s2U/+wgZj/kFtv/76fq//07PD/dzdO/0sM
+        Gv+yfJb/snuW/1ggM/+Ncnb/yaq5/z4hKP+ZaoH/t5Wj/zwHDP+CUF3/zKi6/3xQYP9ZDzD/07vG/4tJ
+        af8/BAz/gDRa/4dIZP9XGyv/Xx83/6Ztif90IUP/awo4/20LO/9tCzv/bQw7/20MO/9tDDv/bQw7/20M
+        O/9tDDv1bQw89W4MPP9tDDz/bQw8/20MPP9uDDv/bQw7/20MPP9sBjb/lURr/6d1jP9eDjD/jE5q/8ST
+        q/+vfpb/Ow0P/51ngf/Rorn/uYGc/3NCTv98Tln/yaq5/1QoLv+WXXj/waOw/0kEF/9+NFj/pXGK/55n
+        gv+PZHD/wKOu/7OHnf85Cg3/qXKN/9Wuwf9+TVz/cjxO/9C2w/90OEz/ZRY3/14VL/9dHy7/t3+c/7Jq
+        jf+cWXv/XBcu/7SSn/+SUnH/SA4X/7eGnv/FjKj/oGiB/2IcNv+caX7/kUBn/2oHNv9tDDz/bQw7/20M
+        O/9tDDv/bQw7/20MO/9tDDz/bgw89W4MPPVvDDz/bgw8/24MPP9uDDz/bgw8/24MPP9uDDz/bgk6/3oh
+        Rv+sc4//ZSY8/3pGVv+2fJj/tn2Z/2kwQ/9nNkL/tHuY/7yHof96RFX/YRs1/8Sgsv9+Qln/Yxs1/9bA
+        yv9yM0z/URAp/5VXdv+bYn//SxYi/4hXav/YxM7/QwQS/4REYf/JpLf/kllw/1wMLP/Gqrb/o2yI/08H
+        Hf9kHTf/Yx02/6Bqgf+8fZ3/rXKP/1IhKv+feIb/wqCx/zwIC/+TVnL/wYum/6duif9XFyj/kWRx/7F2
+        kv9kDC3/bgw8/24MPP9uDDz/bgw8/24MPP9uDDz/bgw8/24MPPVvDD31bww8/28MPP9vDDz/bww8/28M
+        PP9vDD3/cA0+/2oINf9rGDH/tHiW/31OWv9oL0D/pmWF/6NTeP+7jKT/WyQy/1skLv9oLTz/Xw8w/08F
+        Hv+ylZ7/sYSb/zsLE//Psb//xq64/2ItPf9zMkv/eDdR/0kMHP+ecYT/8ufs/2AQMv9OCRz/bCpC/1gb
+        KP9OABz/xqm2/72Wqv89DRT/qHWO/6uElP9ZGiv/nnOB/9K1xP9kOT7/ZSQ7/9/L1f+KWGr/VRAm/2g0
+        Pf9iHzX/TwMc/4JEX/+1gJv/Zg8t/28MPf9vDD3/bww8/28MPP9vDD3/bww9/28MPf9vDDz1cAw99XAM
+        Pf9wDD3/cAw9/3AMPf9wDD3/cAw9/2wIOf91HET/p2+G/8OZrf+NV2z/WQsq/59ogf+tdoz/2rjI/7+W
+        qv+Vb3j/l3B7/7KGm/+hfYf/zLi9/8Kcrv84DxH/pXKM//Pg6f/FnK7/mmp9/4tVaf+gcIT/p2aC/7Ns
+        jv+9m6v/poKM/7iRof+Va3f/mm9+/76Jo/+yepX/Swwc/5lcfP/hx9T/onKE/6SDiv/h0dn/yrG7/7eP
+        o//hxtP/voSh/6J2hv+SZ3T/pnyN/4lJZ/9nEzv/qnSO/30fTP9uBzr/cAw9/3ANPf9wDT3/cAw9/3AM
+        Pf9wDD3/cAw99XANPfVwDT3/cA09/3ANPv9wDT7/cQ09/3ENPf9qAjT/jzhk/7qSp/9nGz3/WQko/1EA
+        Hv9aCyr/XBov/6J1iv+9fJv/pFx6/7Nsj/+iTXb/pE56/6VKeP+0eZb/Vw8n/3ImSv/iwdL/3qvE/+rG
+        2P/w1uT/3rPJ/38qRf9xBzP/mkpv/8mRrf/qxtf/7dLh/9ivxf+BNEb/s3+S/30zWf9YEyr/rmyM/6RK
+        d/+kTnj/uX6a/9nBzv/RwcT/1cDL/5xEbf+ILlH/tXOS/8KPpP+xf5j/SRon/5lxgf+nYYT/YwEs/3EN
+        Pf9xDT3/cA09/3ANPf9xDT3/cQ09/3ENPfVyDT71cg0//3INPv9yDT7/cg0+/3INPv9xDT7/cg0+/28P
+        N/+0gZr/lF94/4RFYv+MTm3/iUlo/3g8U/+pgpT/w5ap/10AF/9qASz/cAE0/28BMv9kACL/tn2U/7iQ
+        pv97TFb/48/Z/+7S4P/bscb/2a7D/+vO3P+0cZP/Zwkr/2gAK/+DJVH/27PH/+S/0f/jv9D/mktt/6FV
+        eP/Gqbj/cElK/72TqP+EJk7/YQIe/55cdP+WWnj/OAwV/2otRP/QrL3/ehxB/18AG/93Gzr/tn2Y/4Zp
+        af+zmqL/vouk/10CIP9yDT7/cg0+/3INPv9yDT7/cg0+/3INPv9yDT71cg0/9XINP/9zDT//cw0//3MN
+        P/9zDT//cg0//3MNP/9uCTT/lkFq/7l+mf+3eZb/t3qX/7d6l/+4eJj/tXeV/443YP9wCDf/dQxA/3UN
+        QP91DUD/cAk3/4QjUP+1dpP/rG+I/7iDm//u3OX/9urw//Lj6//69fj/69ri/30lTP9sBDP/bRs5/8qm
+        t//58/b/+fP2/92/z/+GKVP/qmmD/7N0kv+fVXj/cww7/3cUQP+4g5z/roWY/2UmOf9YFyj/0LvH/7qG
+        nf9oAyz/dAc8/5M9Zf+zcZH/s3WR/4ovW/9sCDX/cg0//3MNP/9zDT//cw0//3INP/9yDT//cg0/9XMN
+        P/V0Dj//dA4//3MOP/9zDj//cw4//3MOP/9zDj//dw5C/3IEN/91Azj/eAM7/3cDO/93Azr/eAM7/3MD
+        N/9wBTb/dg9C/3QOP/90Dj//dA4//3YOQv9yBzn/cgQ1/3EDM/9yJD3/2sHN//79/v/9+/z//v3+////
+        //+xdpT/XAAf/2YLMf+rdpD//v39///+////////sHKQ/2IIHv94Azv/cAU1/3MJPf92DkH/izZc/6po
+        hP+sd5H/tIid/6lkg/+AJ03/cQs7/3UMQP9yBzj/dQM5/3IDNf9wBDf/dg9C/3MOP/9zDT//dA0//3MO
+        P/9zDj//cw4//3MNP/V0DUD1dA5A/3QOQP90DkD/dA5A/3QOQP90DkD/dA5A/3UOQP92DUD/dwxA/3gM
+        Qf94DEH/eAxB/3gMQf93DED/dg5A/3QOQP90DkD/dA5A/3QOQP90DkD/dg5A/3cNQP92Cz7/ZxMw/7uP
+        pf//////////////////////3sfS/2QCKf9oATL/kE5s//Lq7v///////////+XP2v94IUP/cgY6/3YN
+        QP91DkD/dQ1A/3EIN/9yBDP/pFN5/7l7mf9xAjP/bwg2/3YOQv91DkD/dg1A/3cMQP93DED/dg1B/3QO
+        P/90Dj//dA5A/3QOQP90DkD/dA5A/3QOQP90DUD1dQ1A9XUOQP91DkD/dQ5A/3UOQP91DkD/dQ5A/3UO
+        QP91DkD/dg5B/3YOQf92DkH/dQ5A/3YOQP92DkH/dg5B/3UOQP91DkD/dQ5A/3UOQP91DkD/dQ5A/3UO
+        QP91DkD/dQw//2cKMf+qdI7///////////////////////n29/+HLVj/YQAm/3UtRv/Wvcr/////////
+        ///9/P3/o12A/2MBJ/91DkD/dQ5A/3UOQP93DkH/dwtA/3kJP/98DEP/dwo//3cOQv91DkD/dQ5A/3UO
+        QP92DkH/dQ5B/3UOQf91DkD/dQ5A/3UOQP91DkD/dQ5A/3UOQP91DkD/dQ1A9XUOQfV2DkH/dg5B/3YO
+        Qf92DkH/dg5B/3YOQf92DkH/dQ5B/3YOQf92DkH/dQ5B/3UOQP92DkD/eA9D/3QJPv9oBC7/ZQQq/2UE
+        Kf9lBCn/ZwQr/2wEM/9yBzz/dAw//3QMPv9fByf/pWuH////////////////////////////rnOP/10A
+        H/9rGDj/wZqt/////////////////8ujt/9gASL/dg1B/3YOQf92DkH/dg5B/3cOQv93C0D/dgo//3cO
+        Qf92DkH/dg5B/3YOQf92DkH/dg5B/3YOQf92DkH/dg5B/3YOQf92DkH/dg5B/3YOQf92DkH/dg5B/3UO
+        QfV2D0H1dg9B/3cPQf92DkH/dg5B/3YPQf92D0H/dg9B/3cPQf92D0H/dg9B/3YPQf93DkL/eQ9E/2oG
+        M/9nATD/iTte/51def+laoT/o2WA/5hQcP+CJlH/cAY4/2kCLv9fAiX/bB46/86vvv//////////////
+        /////////////82ouf9nACr/ago0/7F+l//8+/z////////////s3+b/bwY3/3IGO/92D0H/dg9B/3YP
+        Qf92DkH/dw5C/3cOQv92D0H/dg9B/3YPQf92DkH/dg5B/3YPQf92DkH/dg5B/3YOQf92DkH/dg5B/3cO
+        Qf92D0H/dg9B/3YPQf92D0H1dw9C9XcPQv93D0L/dw9C/3cPQv93D0L/dw9C/3cPQv93D0L/dw9C/3cP
+        Qv94D0L/dw5C/2kIM/99MlP/yKi3//Pr7//28PP/9/H0//fx9P/17vH/7eHm/9m/y//JpLX/waGs/+DM
+        1v/7+Pn////////////////////////////n1d//dw1A/2UALf+eYH3/9Ozv/////////////fz9/486
+        Y/9pAy7/dw9C/3cPQv93D0L/dw9C/3cOQv93DkL/dw9C/3cPQv93D0L/dw9C/3cPQv93D0L/dw9C/3cP
+        Qv93D0L/dw9C/3cPQv93D0L/dw9C/3cPQv93D0L/dw9C9XkPQ/V5D0P/eQ9D/3kPQ/95D0P/eQ9D/3kP
+        Q/95D0P/eQ9D/3gPQ/95D0P/eQ9D/3gOQv9gBSX/rn2R//Dl6v/48vX/+vj5//39/f//////////////
+        ////////////////////////////////////////////////////////9Ovv/5E+ZP9dACL/jU1n/+nb
+        4v////////////////+uc47/ZAMm/3kOQv95D0P/eQ9D/3kPQ/95D0P/eA9D/3gPQ/95D0P/eQ9D/3kP
+        Q/94D0P/eA9D/3kPQ/94D0P/eQ9D/3gPQ/95D0P/eA9D/3gPQ/95D0P/eQ9D/3gPQ/V5D0P1eQ9D/3oP
+        Q/96D0P/eg9D/3kPQ/95D0P/ehBD/3oPQ/95D0P/eQ9D/3oPQ/96D0P/dww//3wXR/+XS2z/q3GJ/8CX
+        qP/dxtH/7uPo//n29//+/v7///////////////////////////////////////////////////////bv
+        8/+hXHr/WwAd/4NAWf/hztf/////////////////v5Cm/2kDLP94DkL/eQ9D/3oPQ/95D0P/eQ9D/3kP
+        Q/96EEP/eg9D/3oPQ/95D0P/eQ9D/3kPQ/95D0P/eRBD/3oPQ/95D0P/eQ9D/3oPQ/96EEP/eRBD/3kP
+        Q/95D0P1ehBE9XoQRP96EET/ehBE/3oQRP96EET/ehBE/3oQRP96EET/ehBE/3oQRP96EET/ehBE/3wQ
+        Rv93CD7/bAUv/2oFLf9uBjT/fh9K/5lXcf++lab/4M3V//j09v/+/v7/////////////////////////
+        ///////////////////48vT/qmyH/1wAH/97Mk3/2cDM/////////////////8yluP9uAjL/eA1B/3oQ
+        RP96EET/ehBE/3oQRP96EET/ehBE/3oQRP96EET/ehBE/3sQRP96EET/ehBE/3oQRP96EET/ehBE/3oQ
+        RP96EET/ehBE/3oQRP96EET/ehBE9XsQRPV7EET/exBE/3sQRP97EET/exBE/3sQRP97EET/exBE/3sQ
+        RP97EET/exBE/3sQRP97EET/exBE/3sQRf97D0T/eQxC/3MHOf9uBjH/cQw4/4g8Wv+1hpr/383V////
+        ////////////////////////////////////////+PP2/7F3kf9eACL/dSVE/9Kzwv//////////////
+        ///VssP/cQI3/3gLQf97EET/exBE/3sQRP97EET/exBE/3sQRP97EET/exBE/3sQRP97EET/exBE/3sQ
+        RP97EET/exBE/3sQRP97EET/exBE/3sQRP97EET/exBE/3sQRPV8EEX1fBBF/3wQRf98EEX/fBBF/3wQ
+        Rf98EEX/fBBF/3wQRf98EEX/fBBF/3wQRf98EEX/fBBF/3wQRf98EEX/fBBE/3wQRP98EEX/fBBF/3gM
+        QP9yCTf/cAw3/4VAWP/BnKz/9u/z//////////////////////////////////n09v+1e5X/YAAj/3Mh
+        Qv/Prr//////////////////2rzK/3QBOv95CUH/fBBF/3wQRf98EEX/fBBF/3wQRf97EET/fBBE/3wQ
+        Rf98EEX/fBBF/3wQRf98EEX/fBBF/3wQRf98EEX/fBBF/3wQRf98EEX/fBBF/3wQRf98EEX1fBBF9X0Q
+        Rf98EEX/fBBF/3wQRf98EEX/fRBF/3wQRf98EEX/fRBF/30QRf99EEX/fBBF/3wQRf98EEX/fBBF/3wQ
+        Rf99EEX/fRFF/3wRRf98EUX/fRBG/3kNQf9zCTj/cBo4/6Jogf/l1dz/////////////////////////
+        ///58/b/s3iS/14AIP92JUX/0rPC/////////////////+bS3P96DEH/dQY7/30RRv98EEX/fRBF/3wQ
+        Rf98EEX/fBBF/3wQRf98EEX/fRBF/30QRf99EEX/fBBF/3wQRf98EEX/fBBF/3wQRf98EEX/fBBF/3wQ
+        Rf98EEX/fBBF9X0QRfV9EUb/fRFG/30RRv99EUb/fRFG/30RRv99EUb/fRFG/30RRv99EUb/fRFG/30R
+        Rv99EUb/fRFG/30RRv99EUb/fRFG/30RRv99EUb/fRFG/30RRv9+EUb/fhBG/3kOP/9uCTT/h0Fb/8+x
+        vv/7+fr/////////////////9u7y/55Sdf9dAB//fjNP/9vAzf/////////////////17fH/oVl4/2sF
+        K/9+EEb/fRFG/30RRv99EUb/fRFG/30RRv99EUb/fRFG/30RRv99EUb/fRFG/30RRv99EUb/fRFG/30R
+        Rv99EUb/fRFG/30RRv99EUb/fRFG/30RRfV+EUb1fhFG/34RRv9+EUb/fhFG/34RRv9+EUb/fhFG/34R
+        Rv9+EUb/fhFG/34RRv9+EUb/fhFG/34RRv9+EUb/fhFG/34RRv9+EUb/fhFG/34RRv9+EUb/fhFG/34R
+        Rv9+EUf/fg9G/3IJNv90HD3/qmuJ/+fU3f/9/Pz//////8WVq/91CTr/ZwQv/4ZBWv/jz9j/////////
+        /////////v39/9/F0v9+HUb/cwk2/4ARSP9+EUb/fhFG/34RRv9+EUb/fhFG/34RRv9+EUb/fhFG/34R
+        Rv9+EUb/fhFG/34RRv9+EUb/fhFG/34RRv9+EUb/fhFG/34RRv9+EUb1gBFH9YARR/+AEUf/gBFH/4AR
+        R/+AEUf/fxFH/38RR/+AEUf/gBFH/4ARR/+AEUf/fxFH/38RR/+AEUf/gBFH/38RR/9/EUf/gBFH/4AR
+        R/+AEUf/fxFH/38RR/+AEUf/fxFH/38RR/+BEkn/fApB/20ALf98FEL/lj1n/5U7Zf9zAjT/eAo+/2wJ
+        Nv+MSGL/59be///////////////////////8+vz/0Kq8/3sVQf93CTz/gBFH/4ARR/+AEUf/fxFH/4AR
+        R/+AEUf/gBFH/38RR/9/EUf/fxFH/4ARR/+AEUf/gBFH/4ARR/9/EUf/fxFH/38RR/9/EUf/fxFH9YAR
+        SPWAEkj/gBJI/4ASSP+AEkj/gBJI/4ARR/+AEUf/gBJH/4ASR/+AEkf/gBJH/4ASSP+AEkj/gBJI/4AS
+        SP+AEkj/gBJI/4ASSP+AEkj/gBJI/4ARSP+AEkj/gRJI/4AQR/99DkL/ewtA/3sHQP97B0D/dQI4/20A
+        LP9vAC//fgtD/4ASSP9uCjf/gDRS/9vBzv////////////////////////////nz9v+/i6L/eRE9/3sM
+        P/+AEkj/gBFI/4ASSP+AEkj/gBJI/4ASSP+AEkj/gBJI/4ASSP+AEkj/gBJI/4ASSP+AEkj/gBJI/4AS
+        SP+AEkf/gBJH/4ASSPWBEkj1gRJI/4ESSP+BEkj/gRJI/4ESSP+BEkj/gRJI/4ESSP+BEkj/gRJI/4ES
+        SP+BEkj/gRJI/4ESSP+BEkj/gRJI/4ESSP+BEkj/gRJI/4ESSP+BEkj/gRJJ/3sNQ/9zCjn/dxlA/4k1
+        Wf+cSXL/oE93/5hCav+HK1D/fhlE/3wJQP97Cj//dQk7/28LOf+qc4v/7OHm//38/P//////////////
+        ////////8+ft/7F0j/96Ez//fg9E/4ESSP+BEkj/gRJI/4ESSP+BEkj/gRJI/4ESSP+BEkj/gRJI/4ES
+        SP+BEkj/gRJI/4ESSP+BEkj/gRJI/4ESSP+BEkj1gRJI9YISSf+CEkn/ghJJ/4ISSf+BEkn/gRJJ/4IS
+        Sf+CEkn/ghJJ/4ISSf+CEkn/gRJJ/4ESSf+BEkj/gRJI/4ESSP+CEkj/ghJI/4ESSP+CEkn/gBJH/3cP
+        Qf9qAjD/kEpl/8Obrv/gy9X/8Obr//Pp7v/s3OT/2rnJ/8mbsP+0dZL/lEFk/4EYR/90BDb/cRI1/59e
+        ef/Rsr//8ent///////////////////////t3eb/n1Jz/3kMPP+BEUj/ghJJ/4ISSf+BEkj/gRJI/4IS
+        SP+BEkn/gRJJ/4ESSf+CEkj/ghJI/4ESSf+BEkj/gRJI/4ESSP+CEkn/ghJI9YISSfWCEkn/ghJJ/4IS
+        Sf+CEkn/ghJJ/4ISSf+CEkn/ghJJ/4ISSf+CEkn/ghJJ/4ISSf+CEkn/ghJJ/4ISSf+CEkn/ghJJ/4IS
+        Sf+DEkn/gBFI/3gPQ/9mBS3/lExr/+bV3f//////////////////////+/j5//fz9P/+/f3/+fb3/+XP
+        2f/Ln7T/q2SE/4MjSf9vBi//gChJ/6Ffff/Lqbj/9Ozw/////////////////9Stwf+BHUX/gA5G/4IS
+        Sf+CEkn/ghJJ/4ISSf+CEkn/ghJJ/4ISSf+CEkn/gxJJ/4ISSf+CEkn/ghJJ/4ISSf+CEkn/ghJJ/4IS
+        SPWDEkn1gxJJ/4MTSf+DEkr/gxJK/4MSSv+DEkn/gxJJ/4MTSv+DE0n/gxJJ/4MSSv+DEkr/gxJJ/4MT
+        Sf+DE0n/gxJJ/4MSSf+DEkn/gxJJ/3wRRf9uCDj/dBU//9/H0v/////////////////z6O7/zKC1/69p
+        if+oXID/sWyN/72Lov/VuMX/8+3v//Hl6v/aucj/pFp5/3QLNP95BT3/diFA/5xbeP/bw83/////////
+        ///38fT/oU92/3sIPf+DE0n/gxJJ/4MSSf+DEkr/gxNJ/4MTSf+DE0n/gxNJ/4MTSf+DEkn/gxJJ/4MS
+        Sf+DEkn/gxNJ/4MSSf+DEkn1hBJK9YQTSv+EE0r/hBNK/4QTSv+EE0r/hBNK/4QTSv+EE0r/hBNK/4QT
+        Sv+EE0r/hBNK/4QTSv+EE0r/hBNK/4QTSv+EE0r/hRNK/4ISSf95EEP/ZQUr/5tUc//17vL/////////
+        ///z6e7/tHuR/3sZPf97CT3/fgdB/34IQP96Ejz/fiJF/5ZIbP+9j6T/7N7k//Dj6f+fTnL/eAY4/38Q
+        RP9uBzT/fjVN/86svP/+/v7//////7+Eof92Cjb/hBNK/4QTSv+EE0r/hBNK/4QTSv+EE0r/hBNK/4MT
+        Sv+DE0r/hBNK/4MTSv+EE0r/hBNK/4MTSv+DE0r/hBJK9YQSSvWEE0r/hBNK/4QTSv+FE0r/hRNK/4UT
+        Sv+EE0r/hBNK/4QTSv+EE0r/hBNK/4QTSv+EE0r/hRNK/4UTSv+FE0r/hRNK/4UTSv+AEUf/dg5B/2kE
+        MP+8jKL/+vb4////////////27jJ/4MYSP97Cjz/hBFJ/4QRSf+DEEn/gxBH/4MPR/93Bzr/Zwwq/48/
+        X//ky9j/48jW/3wUPv+FEUr/gRFI/2oKMf98Lkn/2bjI///////RqLz/dg81/4QTSv+EE0r/hBNK/4QT
+        Sv+EE0r/hBNL/4QTSv+EE0r/hBNK/4QTSv+EE0r/hBNK/4QTSv+EE0r/hBNK/4QSSvWFE0v1hhNL/4YT
+        S/+GE0v/hhNL/4YTS/+GE0v/hhNL/4YTS/+GE0v/hhNL/4YTS/+FE0v/hRNL/4YTS/+GE0v/hRNL/4UT
+        S/+FE0v/fhFG/3MIPP92C0D/17jI//38/f//////+PL1/76En/99BT7/hA9J/4YTS/+GE0v/hhNL/4UT
+        S/+FE0v/hhNL/3wPRf9rBCn/qmqB//Tp7v+dQG//fAI8/4cTS/+CEUj/dgg3/51Nbf/kytb/vH2c/3oM
+        Ov+GE0v/hhNL/4YTS/+GE0v/hhNL/4YTS/+GE0v/hhNL/4UTS/+FE0v/hhNL/4YTS/+GE0v/hRNL/4UT
+        S/+GE0v1hhNL9YYTTP+GE0z/hhNM/4YTTP+GE0z/hhNM/4YTTP+GFEz/hhNM/4YTTP+GE0v/hhRL/4YT
+        TP+GE0v/hhNL/4YTTP+GE0z/hhNM/34RRv9xBzn/fRpJ/+PM1//+/v7///////Pn7f+sZIP/egg6/4YT
+        TP+GE0z/hhNM/4YUTP+GE0v/hhNL/4UTS/99EUb/dgg3/5c6Y//s2eL/plF7/3oDOf+GE0z/iBRN/4YS
+        Sv+CC0T/jyVZ/4cUTP+EDUj/hxRM/4YUTP+GFEz/hhRM/4YUTP+GE0z/hhNM/4YTTP+GE0z/hhNM/4YT
+        TP+GFEz/hhNM/4YTTP+GE0z/hhRL9YcUTPWHFEz/hxRM/4cUTP+HFEz/hxRM/4cUTP+HFEz/hxRM/4cU
+        TP+HFEz/hxRM/4cUTP+HFEz/hxRM/4cUTP+HFEz/hxRM/4cTTP9+Ekf/cgc7/3sVR//fxtL//v7+////
+        ///y5+z/q2KC/3sIOv+HE0z/hxRM/4cUTP+HFEz/hxRM/4cUTP+DEkn/fRFG/3kIOf+oWnz/69ni/5Ar
+        Wf+CC0T/hxRM/4cUTP+GFEz/hBFJ/4AIQf+EDUb/hA1H/4EPRP+BDUP/hRBJ/4cUTf+HFEz/hxRM/4cU
+        TP+HFEz/hxRM/4cUTP+HFEz/hxRM/4cUTP+HFEz/hxRM/4cUS/WHFE31hxRM/4cUTP+IFE3/hxRN/4cU
+        TP+HFEz/hxRM/4cUTP+HFEz/iBRM/4gUTf+IFEz/iBRM/4gUTP+IFEz/iBRM/4gUTP+IE0z/gBJI/3YL
+        P/9yBzr/zqm7//z6+///////9/Dz/7t9mf99Bjz/hhFK/4cUTP+IFE3/hxRN/4gUTP+IFE3/fhJH/38Q
+        Rv98Bjr/xZOo/9y6yv98Ezv/iBRM/4gUTP+JFE3/hRNK/30SRv94Czz/lTpl/7l1lv+CFkP/jSRT/4we
+        U/+GEkr/iBRM/4gUTP+IFEz/iBRM/4cUTP+HFE3/hxRM/4cUTP+HFEz/iBRM/4gUTP+HE0zziBRM4YgU
+        Tf+IFE3/iBRN/4gUTf+IFE3/iBRN/4gUTf+IFE3/iBRN/4gUTf+IFE3/iBRN/4gUTf+IFE3/iBRN/4gU
+        Tf+IFE3/iRRN/4QSSv96EEP/agUu/7B2kP/48/b///////37/P/XssT/iR9O/4ENQv+JFE3/iBRN/4gU
+        Tf+KFE7/hBNK/3wSRv9+DUD/jCVS/96/zf+5c5T/fgo9/4kUTf+IE03/hhNL/4ASR/95EEP/ZgUn/55X
+        df/x5uv/0KO4/82ctP+YNmT/gQtB/4gUTf+IFE3/iBRN/4gUTf+IFE3/iBRN/4gUTf+IFE3/iBRN/4gU
+        Tf+IFE3/iBRN64kUTb2JFE3/iRRN/4kUTf+JFE3/iRRN/4kUTf+JFE3/iRRN/4kUTf+JFE3/iBRN/4gU
+        Tf+JFE3/iBRN/4gUTf+JFE3/iRRN/4kUTf+IFEz/fhJH/3AINv+CJE7/69vj////////////9evw/7Z2
+        kv97DDn/gw5E/4sUT/+LFE//hRNL/3sRRf98DUD/fQ07/7p9mP/ixNT/jjJW/4UPSP+JFE3/iRRO/4MS
+        Sf96D0P/dAo7/5VOav/YvMj//Pn7//38/f/cvcv/hBNG/4QMRv+JFE3/iRRN/4kUTf+JFE3/iRRN/4kU
+        Tf+JFE3/iRRN/4kUTf+JFE3/iRRN/4kUTdWJFE2PiRVN/4kUTv+JFE7/iRRN/4kUTf+JFE7/iRRO/4kU
+        Tf+JFE3/iRRO/4kUTv+JFE7/iRRO/4kUTv+JFE7/iRRO/4kUTv+JFU7/ihRO/4YTTP98EEX/aQQr/6ln
+        hf////////////7+/v/u3ub/s26N/38TPv90BDD/cwQ0/2wEMP9vAy3/gBM//7d2k//v4Oj/smmL/4EN
+        Qf+IE03/iRRN/4kUTv+JFE7/ghBI/3cLP/+cS3H/1a3A//v4+f/+/v7/69jh/55Fbf+BCkH/iRRN/4kU
+        Tf+JFE3/iRRO/4kUTf+JFE7/iRRN/4kUTf+JFE7/iRRO/4kUTv+JFE6tihVOSooVTv+KFE7/ihRO/4oV
+        Tv+KFU7/ihVO/4oVTv+KFE7/ihRO/4oUTv+KFU7/ihVO/4oVTv+KFU7/ihVO/4oVTv+KFU7/ihVO/4oV
+        Tv+LFU7/hxRM/3kOQf9nCSr/w5Wr/////////////v3+//jy9f/TsL7/pmWC/488Yv+WPGb/smiK/9i0
+        w//48vX/xIym/4IRQv+HEUn/ihVO/4kVTv+KFU7/ixVO/4cUTP+EFEv/fA05/4kYTP/y5ev/zp60/61h
+        g/+jSXT/hg9H/4kUTf+KFU7/ihVO/4oVTv+KFU7/ihVO/4oVTv+KFE7/ihRO/4oUTv+KFU7/ihVOaIsV
+        ThSLFU7FixVP/4sVT/+LFU//ixVP/4sVT/+LFU//ixVP/4sVT/+LFU//ixVP/4sVT/+LFU//ixVP/4sV
+        Tv+LFU//ixVP/4sVT/+LFU//ixVP/4wVT/+LFk//fw5E/2wLLv+sc4z/7eDn//r2+P/+/f3/////////
+        /////////v7+//r19//q1+D/s2mL/4EMP/+HEEj/ixVP/4sVT/+LFU7/ixVO/4oVTv+KFU7/ixVP/4oS
+        Tf+MF1D/p014/4EEP/94AjL/hAlE/4wWUP+LFU//ixVP/4sVTv+LFU7/ixVP/4sVT/+LFU//ixVO/4sV
+        Tv+LFU7/ixVO4YsVThyLFU8GixVPWIsVTvWLFU//ixVP/4sVT/+LFU//ixVP/4sVT/+LFU//ixVP/4sV
+        T/+LFU//ixVP/4sVT/+LFU//ixVP/4sVT/+LFU//ixVP/4sVT/+LFU//jRVP/44XUf+GEEn/dwk2/5U0
+        Yv/CiKP/4MHR/+3a4//v3ub/7dvk/+PI1f+/gp3/ljJf/34EO/+HD0n/jBVQ/4sVT/+LFU//ixVP/4sV
+        T/+LFU//ixVP/4sVT/+LFlD/ihRO/4AGPv+ID0v/jBZQ/4sVT/+LFU//ixVP/4sVT/+LFU//ixVP/4sV
+        T/+LFU//ixVP/4sVT/+LFU//ixVP+YsVTnCLFE8IAAAAAIwVTxyMFU+ljBVP/YwVT/+MFU//jBVP/4wV
+        T/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFU//jBVP/4wV
+        T/+MFU//jRVQ/40TT/+CB0D/gQg//48dVP+dPWr/okhx/54/a/+NGFD/gAY+/4IKQP+LE07/jBVP/4wV
+        T/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFE//jBVP/4wVT/+MFU//jBVP/4wV
+        T/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT7eMFU8gAAAAAAAAAACMFVAAjBVQNIwV
+        T8WMFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFU//jBVQ/4wVT/+MFU//jBVP/4wVUP+MFU//jBVP/4wV
+        T/+MFU//jBVQ/4wVUP+MFU//jBVP/4wVT/+MFVD/jBVQ/4sSTv+GDEb/gglA/4EJP/+BCT//hwpH/4wT
+        Tv+MFVD/jBVQ/4wVT/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFU//jBVP/4wVT/+MFU//jBVP/4wV
+        T/+MFU//jBVP/4wVT/+MFU//jBVP/4wVUP+MFU//jBVP/4wVUP+MFVD/jBVP/4wVT9GMFU9CjBVPBAAA
+        AAAAAAAAAAAAAIwVUAaMFVBGjRVQw40VUPuNFVD/jRVQ/40VUP+NFVD/jRVQ/40VUP+NFVD/jRVQ/40V
+        UP+NFVD/jBVQ/4wVUP+NFVD/jRVQ/40VUP+NFVD/jRVQ/40WUP+MFVD/jBVQ/40VUP+NFVD/jRVP/40V
+        T/+NFVD/jRVQ/40VUP+NFVD/jRVQ/40WUP+NFVD/jRVQ/40VUP+NFVD/jRVQ/40WUP+NFVD/jRVQ/40V
+        UP+NFlD/jRVQ/40VUP+NFVD/jRZQ/40VUP+NFVD/jRVQ/40VUP+NFVD/jRZQ/40VUP+NFVD/jRVQ/40V
+        UM+NFVBSjBZQCgAAAAAAAAAAAAAAAAAAAAAAAAAAjRZQBo0WUDaNFlCjjRZP840WUP+NFlD/jRZQ/40W
+        UP+NFVD/jRVQ/40VUP+NFVD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40W
+        UP+NFVD/jRVQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40VUP+NFVD/jRVQ/40W
+        UP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40W
+        UP+NFVD/jRVQ9Y0WULONFVBEjRVQCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNFlACjRZQGo0W
+        UGCOFVC9jRZQ/40WUP+NFlD/jhZQ/40WUP+NFlD/jRZQ/44WUP+NFlD/jRZQ/40WUP+NFlD/jhZQ/40W
+        UP+NFlD/jhZQ/44WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40W
+        UP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jRZQ/40WUP+NFlD/jhZQ/40W
+        UP+NFlD/jRZQ/40WUP+NFlD/jhZQyY0WUGqNFlAejRZQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAACOFlEGjhZREo4WUFCOFlCNjhZQu44WUd+OFlHzjhVR9Y4VUPWOFVD1jhVQ9Y4V
+        UPWOFVD1jhVQ9Y4VUPWOFVD1jhVQ9Y4VUPWOFVD1jhVQ9Y4VUPWOFVD1jhVQ9Y4VUfWOFVD1jhVQ9Y4V
+        UfWOFVD1jhVQ9Y4VUfWOFVH1jhVR9Y4VUfWOFVH1jhVQ9Y4VUfWOFVD1jhVQ9Y4VUPWOFVH1jhVQ9Y4V
+        UPWOFVD1jhVQ9Y4VUPWOFlDzjhZQ444WUL+OFlCTjhZQWI4WUBSOFlAIAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAA/4AAAAAAAf/+AAAAAAAAf/gAAAAAAAAf8AAAAAAAAA/gAAAAAAAAB8AAAAAAAAADwAAAAAAA
+        AAOAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAPAAAAAAAAAA+AA
+        AAAAAAAH8AAAAAAAAA/4AAAAAAAAH/4AAAAAAAB//4AAAAAAAf8=
+</value>
+  </data>
+</root>

+ 22 - 0
WindowsFormsApplication1/Program.cs

@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace MainApp
+{
+    static class Program
+    {
+        /// <summary>
+        /// 应用程序的主入口点。
+        /// </summary>
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(true);
+            Application.Run(new MainForm());
+        }
+    }
+}

+ 36 - 0
WindowsFormsApplication1/Properties/AssemblyInfo.cs

@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("WindowsFormsApplication1")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("WindowsFormsApplication1")]
+[assembly: AssemblyCopyright("Copyright ©  2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+//将 ComVisible 设置为 false 将使此程序集中的类型
+//对 COM 组件不可见。  如果需要从 COM 访问此程序集中的类型,
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("21c324a0-89cf-4e33-b6c7-7e70bc135150")]
+
+// 程序集的版本信息由下列四个值组成: 
+//
+//      主版本
+//      次版本
+//      生成号
+//      修订号
+//
+//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
+// 方法是按如下所示使用“*”: :
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 63 - 0
WindowsFormsApplication1/Properties/Resources.Designer.cs

@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     此代码由工具生成。
+//     运行时版本:4.0.30319.42000
+//
+//     对此文件的更改可能会导致不正确的行为,并且如果
+//     重新生成代码,这些更改将会丢失。
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace MainApp.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   一个强类型的资源类,用于查找本地化的字符串等。
+    /// </summary>
+    // 此类是由 StronglyTypedResourceBuilder
+    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+    // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+    // (以 /str 作为命令选项),或重新生成 VS 项目。
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.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>
+        ///   返回此类使用的缓存的 ResourceManager 实例。
+        /// </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("WindowsFormsApplication1.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   使用此强类型资源类,为所有资源查找
+        ///   重写当前线程的 CurrentUICulture 属性。
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+    }
+}

+ 117 - 0
WindowsFormsApplication1/Properties/Resources.resx

@@ -0,0 +1,117 @@
+<?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.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: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" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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>
+</root>

+ 26 - 0
WindowsFormsApplication1/Properties/Settings.Designer.cs

@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     此代码由工具生成。
+//     运行时版本:4.0.30319.42000
+//
+//     对此文件的更改可能会导致不正确的行为,并且如果
+//     重新生成代码,这些更改将会丢失。
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace MainApp.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+    }
+}

+ 7 - 0
WindowsFormsApplication1/Properties/Settings.settings

@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>