commit nov21

This commit is contained in:
Student 2025-11-21 16:39:53 +04:00
commit 5a3e5cfbc4
45 changed files with 3054 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.8.34511.84
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NeshinaPolina2111", "NeshinaPolina2111\NeshinaPolina2111.csproj", "{2FB93473-AD29-4E9F-B2A7-43AECEF50DDB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2FB93473-AD29-4E9F-B2A7-43AECEF50DDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2FB93473-AD29-4E9F-B2A7-43AECEF50DDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2FB93473-AD29-4E9F-B2A7-43AECEF50DDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2FB93473-AD29-4E9F-B2A7-43AECEF50DDB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {39E90884-BF64-4F8A-9D9F-483487069815}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,207 @@
namespace NeshinaPolina2111
{
partial class AddProduction
{
/// <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(AddProduction));
this.btnAdd = new System.Windows.Forms.Button();
this.btnExit = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.cmbProduct = new System.Windows.Forms.ComboBox();
this.tbName = new System.Windows.Forms.TextBox();
this.tbArticle = new System.Windows.Forms.TextBox();
this.tbMinPrice = new System.Windows.Forms.TextBox();
this.tbWidth = new System.Windows.Forms.TextBox();
this.lbType = new System.Windows.Forms.Label();
this.lbName = new System.Windows.Forms.Label();
this.lbArticle = new System.Windows.Forms.Label();
this.lbMinPrice = new System.Windows.Forms.Label();
this.lbWidth = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// btnAdd
//
this.btnAdd.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(96)))), ((int)(((byte)(51)))));
this.btnAdd.Font = new System.Drawing.Font("Comic Sans MS", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnAdd.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.btnAdd.Location = new System.Drawing.Point(93, 402);
this.btnAdd.Name = "btnAdd";
this.btnAdd.Size = new System.Drawing.Size(190, 45);
this.btnAdd.TabIndex = 0;
this.btnAdd.Text = "Добавить";
this.btnAdd.UseVisualStyleBackColor = false;
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
//
// btnExit
//
this.btnExit.Font = new System.Drawing.Font("Comic Sans MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnExit.Location = new System.Drawing.Point(13, 470);
this.btnExit.Name = "btnExit";
this.btnExit.Size = new System.Drawing.Size(75, 23);
this.btnExit.TabIndex = 1;
this.btnExit.Text = "Назад";
this.btnExit.UseVisualStyleBackColor = true;
this.btnExit.Click += new System.EventHandler(this.btnExit_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Comic Sans MS", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label1.Location = new System.Drawing.Point(86, 40);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(210, 45);
this.label1.TabIndex = 2;
this.label1.Text = "Добавление";
//
// cmbProduct
//
this.cmbProduct.FormattingEnabled = true;
this.cmbProduct.Location = new System.Drawing.Point(13, 133);
this.cmbProduct.Name = "cmbProduct";
this.cmbProduct.Size = new System.Drawing.Size(347, 21);
this.cmbProduct.TabIndex = 3;
//
// tbName
//
this.tbName.Location = new System.Drawing.Point(13, 185);
this.tbName.Name = "tbName";
this.tbName.Size = new System.Drawing.Size(347, 20);
this.tbName.TabIndex = 4;
//
// tbArticle
//
this.tbArticle.Location = new System.Drawing.Point(13, 239);
this.tbArticle.Name = "tbArticle";
this.tbArticle.Size = new System.Drawing.Size(347, 20);
this.tbArticle.TabIndex = 5;
//
// tbMinPrice
//
this.tbMinPrice.Location = new System.Drawing.Point(13, 288);
this.tbMinPrice.Name = "tbMinPrice";
this.tbMinPrice.Size = new System.Drawing.Size(347, 20);
this.tbMinPrice.TabIndex = 6;
//
// tbWidth
//
this.tbWidth.Location = new System.Drawing.Point(13, 342);
this.tbWidth.Name = "tbWidth";
this.tbWidth.Size = new System.Drawing.Size(347, 20);
this.tbWidth.TabIndex = 7;
//
// lbType
//
this.lbType.AutoSize = true;
this.lbType.Location = new System.Drawing.Point(10, 117);
this.lbType.Name = "lbType";
this.lbType.Size = new System.Drawing.Size(82, 13);
this.lbType.TabIndex = 8;
this.lbType.Text = "Тип продукции";
//
// lbName
//
this.lbName.AutoSize = true;
this.lbName.Location = new System.Drawing.Point(10, 169);
this.lbName.Name = "lbName";
this.lbName.Size = new System.Drawing.Size(57, 13);
this.lbName.TabIndex = 9;
this.lbName.Text = "Название";
//
// lbArticle
//
this.lbArticle.AutoSize = true;
this.lbArticle.Location = new System.Drawing.Point(10, 223);
this.lbArticle.Name = "lbArticle";
this.lbArticle.Size = new System.Drawing.Size(48, 13);
this.lbArticle.TabIndex = 10;
this.lbArticle.Text = "Артикул";
//
// lbMinPrice
//
this.lbMinPrice.AutoSize = true;
this.lbMinPrice.Location = new System.Drawing.Point(10, 272);
this.lbMinPrice.Name = "lbMinPrice";
this.lbMinPrice.Size = new System.Drawing.Size(105, 13);
this.lbMinPrice.TabIndex = 11;
this.lbMinPrice.Text = "Минимальная цена";
//
// lbWidth
//
this.lbWidth.AutoSize = true;
this.lbWidth.Location = new System.Drawing.Point(10, 326);
this.lbWidth.Name = "lbWidth";
this.lbWidth.Size = new System.Drawing.Size(102, 13);
this.lbWidth.TabIndex = 12;
this.lbWidth.Text = "Ширина продукции";
//
// AddProduction
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(187)))), ((int)(((byte)(217)))), ((int)(((byte)(178)))));
this.ClientSize = new System.Drawing.Size(372, 511);
this.Controls.Add(this.lbWidth);
this.Controls.Add(this.lbMinPrice);
this.Controls.Add(this.lbArticle);
this.Controls.Add(this.lbName);
this.Controls.Add(this.lbType);
this.Controls.Add(this.tbWidth);
this.Controls.Add(this.tbMinPrice);
this.Controls.Add(this.tbArticle);
this.Controls.Add(this.tbName);
this.Controls.Add(this.cmbProduct);
this.Controls.Add(this.label1);
this.Controls.Add(this.btnExit);
this.Controls.Add(this.btnAdd);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "AddProduction";
this.Text = "AddProduction";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btnAdd;
private System.Windows.Forms.Button btnExit;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox cmbProduct;
private System.Windows.Forms.TextBox tbName;
private System.Windows.Forms.TextBox tbArticle;
private System.Windows.Forms.TextBox tbMinPrice;
private System.Windows.Forms.TextBox tbWidth;
private System.Windows.Forms.Label lbType;
private System.Windows.Forms.Label lbName;
private System.Windows.Forms.Label lbArticle;
private System.Windows.Forms.Label lbMinPrice;
private System.Windows.Forms.Label lbWidth;
}
}

View File

@ -0,0 +1,155 @@
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
namespace NeshinaPolina2111
{
public partial class AddProduction : Form
{
public AddProduction()
{
InitializeComponent();
LoadTypes(); //загрузка типов
}
private void btnAdd_Click(object sender, EventArgs e)
{
//НАЧАЛО ВСЕХ ПРОВЕРОК
if (string.IsNullOrEmpty(tbArticle.Text))
{
MessageBox.Show("Введите Артикул", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbArticle.Focus();
return;
}
if (string.IsNullOrEmpty(tbMinPrice.Text))
{
MessageBox.Show("Введите Минимальную цену", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbArticle.Focus();
return;
}
if (string.IsNullOrEmpty(tbName.Text))
{
MessageBox.Show("Введите Название", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbArticle.Focus();
return;
}
if (string.IsNullOrEmpty(tbWidth.Text))
{
MessageBox.Show("Введите Ширину", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbArticle.Focus();
return;
}
if (cmbProduct.SelectedItem == null)
{
MessageBox.Show("Выберите тип продукта.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
cmbProduct.Focus();
return;
}
if (!decimal.TryParse(tbMinPrice.Text, out decimal price) || price < 0)
{
MessageBox.Show("Введите корректную цену (неотрицательное число)", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbMinPrice.Focus();
return;
}
if (!decimal.TryParse(tbWidth.Text, out decimal Width) || price < 0)
{
MessageBox.Show("Введите корректную ширину", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbWidth.Focus();
return;
}
if (!int.TryParse(tbArticle.Text, out int quantity) || quantity < 0)
{
MessageBox.Show("Введите корректный артикул", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbArticle.Focus();
return;
}
//ДОБАВЛЕНИЕ
var typeItem = (ComboItem)cmbProduct.SelectedItem;
string insert = @"insert into Products_import (idProduct_type_import, Name, Article, MinPrice, Width)
values (@idProduct_type_import, @Name, @Article, @MinPrice, @Width)";
var connec = DB.GetInstance().GetConnection();
if (connec.State == ConnectionState.Closed)
connec.Open();
using (var cmd = new MySqlCommand(insert, connec))
{
cmd.Parameters.AddWithValue("@idProduct_type_import", typeItem.Id);
cmd.Parameters.AddWithValue("@Name", tbName.Text.Trim());
cmd.Parameters.AddWithValue("@Article", tbArticle.Text.Trim());
cmd.Parameters.AddWithValue("@MinPrice", tbMinPrice.Text.Trim());
cmd.Parameters.AddWithValue("@Width", tbWidth.Text.Trim());
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Продукт успешно добавлен!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.DialogResult = DialogResult.OK;
this.Close();
}
catch (Exception ex)
{
MessageBox.Show($"Ошибка при добавлении: {ex.Message}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void LoadTypes() //ЗАГРУЗКА ТИПОВ
{
string query = "select idProduct_type_import, TypeProduction from Product_type_import";
var conn = DB.GetInstance().GetConnection();
if(conn.State == ConnectionState.Closed)
{
conn.Open();
}
using (var cmd = new MySqlCommand(query, conn))
{
using (var reader = cmd.ExecuteReader())
{
while(reader.Read())
{
cmbProduct.Items.Add(new ComboItem
{
Id = reader.GetInt32("idProduct_type_import"),
Name = reader.GetString("TypeProduction")
});
}
}
}
}
public class ComboItem //НУЖНО
{
public int Id { get; set; }
public string Name { get; set; }
public override string ToString()
{
return Name;
}
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Hide();
}
}
}

View File

@ -0,0 +1,450 @@
<?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>
AAABAAEAAAAAAAEAIAD8SwAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAEAAAABAAgGAAAAXHKoZgAAS8NJ
REFUeNrtnXd8VHW6/9/fc6Zl0iEkIZBAIIReBATBSresq65KkWJbde/ub6+4u+Lu3Xplryvbu11BiW3t
BREBG3ZRkA4BkhAIpNfJtHO+vz/OTEiAQMqcNM6Hl4oQyMyZ7/vzPN/2PAKT5K2uPtUvxwCDgRHAWGAY
kAkMBOKwZOnsUTWQBxwE9gBfANuAw0DtiV/sijMHD9EB4EcDk4ELgQuAkUBvwGGNAUuWGlQPlIbMYB2w
EdgFeMw0gogZwCnAzwKuAS4FJmFEf0uWLLVM5cAWYC3wMpBrhhG02wBOAF8BJgI3AXOAQdbnaMlSu5Ub
MoEXgM8jaQRtNoBTRPxBwH8DC4Ek6zOzZCniKgYeAR4HDkTCCNpkACfAHwssAO7CWNSzZMmSudoN/AV4
Bqhpjwm02gBOgH888CvgW4BqfS6WLHWYNOB14H8wFgvbZAKtMoBG8AuMVP9ejG08S5YsdY72AL8FcgDZ
WhNosQE0gj8W+BHw49DPLVmy1LmqAf4E/Dn08xabQIsMoBH8McAK4L8w4QyBJUuW2iwJPADcQ+ggUUtM
4IwQW/BbstRzTUBY8FuydPaagNIC+GMt+C1Z6jYSIVZXhNht7l5O8wZwwmr/jyz4LVnqlibwozC3zZmA
chr4wdjq+7EFvyVL3dIEfhximOZMQDnNXzAc+AXWVp8lS91VsRhndcY39wVNDOCEef99wFDrGVqy1K2V
iXFa95TrAc1lAAuAK61nZ8lSj9C3QkyfpIa5fSNnGAS8iXWxx5KlnqTdwBWEbhGGtwZPlQHcYsFvyVKP
0zCM6/pNmFegSfSfBNxmPStLlnqkFmIU7Glg/sQM4Dog2XpOliz1SCVhVOtqkNIo+odr+FmyZKnnak6I
dbzV1U0ygGvCv2HJkqUeq0E0CvRhA3BjVO+1ZMlSz9elGOX6GwxgODDOei6WLJ0VmoTRq6PBAKYDvazn
YsnSWaEYjEY92EL/M9t6JpYsgYLS7NU3KSXSKLvXE3QBEGMD+mGd+bd0lkogjH8LgVf3cMxXiI6OBHSp
gzBMQREKUUo0ve3J2IUdiezuhjASGGwDRmM18rB01oGvINGp1asp8ObyTfUX5NXvZ2v1R1QFKghKHU1q
CASqUFCFQpprAKNjJ5PiTGNc3GQyXFm41WiQdEcj6A2MsAHnAlHWkLB0toCPkBT5C/is8j3WlbxInmcf
x3yFaFJvejIuPBUIsV3kPcSXlZtQhUKKsz9DY0Yzq893OC9+Or3tfbpbRuAAxgpvdfUrwFXW0LDUs8EX
IOCY/wgbyl7lreL/sKf2GwK6DwEorSx5o0vQAZcaxfj4C5ifdjuT4y/BKaKQ6N3lsbwqvNXVW4Ex1hCx
1FOlCAWPXst75Wt47sjD7KzeTEAGUJtb7ANkCHDDPAyDEM18rSYh3t6Lq1OXcEPa90h19DfWD7q+vhHe
6uoqIK47vFpLllonY3HvQP0uVhX+nQ2lr1IXrD4lzLo0YLYrLuzCQbIzmWRnfxShUuEv5rD3EH7dT0D3
IJr580IoTE6czg8G/JKRMeORsstPB6qFt7q6x+xrWLLUCH2CBPi4cgMP5v+OXTVfnRb8NNdAxsWfx/m9
ZpPsSCPR1os4WyKKENQGqykPlFEZLOPtkhf4oOxNfHr9KTMCTcLg6JH8ePDvmBI/rcubgGUAlnoe/EKh
Xq/lhaNPsOrQXynzHzsp3Zch+NOjsrg0+Xou6X0Zg6NG4FRcKIiGbb6wmQghEAh2ebbyk52LKKzf3+y6
gRb6e+/J+iPnJ8zo0iZgs4aLpZ4kRShUaRU8UvAHXih6BJ9WfxL8uoRoWwIz+1zFvL63k+0eiSps6FJH
Sh2NE83CSBMECtFqDHG2hNOu9asCDtXn8of99xCd/U/OiZ3SZdcEFGvIWOopEkKhJHCUvx38Nc8efgC/
Xn9SlNYkpDgz+Mng+7ln0B8YHj0WgdIiQCWS3vYUkp3pZ1znVwXke/bwt4O/It+7H0V0TdQsA7DUI6QI
hZJAEX868HNeOboKncBJc3RNwrDYsfwy++98O/kGXCKqlZFZ4hBO0lz9WgSOKmBr1aesLPwrtVp16NSh
ZQCWLEUc/vJgCf/Iu5d1Jf8BtCaoGfN9hQt6X8pvsv/N1IQZbT69JxCkOvtjV+wt+3ohWXPsWV4pfgrt
pMmFZQCWLLVLQihUaZX8O/8+1hx7BtBPgl9KlTnJc/mfrL8wzD223YtysbZ4VGFvkX0IwK/Xk1P4b7bX
bu5yUwHLACx1X/gReLQaHi5YwStFK5EET4IfaeOq1Ju4e9B9pDnS270YJ4SgOlhBUPe3OKFXBBR583n6
yL+p0aq61FTAMgBL3RZ+v/Sx+si/+M+Rh0+a8xvR2c41fW9laeZv6G1PjshKvC518usPEJDB1oEmYFPZ
OjZVrOtSnTYtA+gGA70lP8426ei8WfIsTxX+g4D0nQS/wM51fW/lvzN/SYItMSLwCwR1eg1HvAVt+LPg
0Wp4sWgl5YGSLvOZWecAuqAUFIQQ+HU/fukLDWqJxLiiCqAKW8OBFQWVKNWNgoIuZXe6jNI2EIXCZ1Ub
eaTgj9QGq5rs80tAwc51abfx/QH/Q5yaELE9eCEUDtbvZV/dtjZFTkXA9uov+LhyA1f2WdAlDghZBtBV
BnXommpQBsj35nHMf4Q9tVv5puZT6oIe/DJIUA+iEwx9cHbsig2n6qCfcwDj4s8nyZ5CijONNOcAVNQG
4+hJUoTCXs92/nbw1xR5806CH2x8p++tfH/Az4lV4yN6AEeTQT6t2Ei5v7jVtweNzxjqdQ9rip/ngsTZ
JKi9Ov3zsQygswc0CkGClAQO80XVB2yu/IjtNV9wxHsIv+5Dk4HTDhHjpprgpaNP4RB2BrizGB07iSm9
pjMiejy97cmoQu0ut9POAJCgIljGI4d+z+6ar08+3isFs5Ov5XsDfkpchOFXhMKB+j2sLX4BKXVEGzN4
VcC26s/5puZzLk68rNOzAMsAOnEwI6DAu5+1pS+yvuQVCur349HqUDh+/VRt0UCT6NJLvfSys+ZrdtR8
zZri5xngHsK03lcwOfEShkSNwqk4u7ERGJd7Xjy6kvdL3zzlCb/ze83mhwN/SS9bUkTfp0Dg0328dHQl
+fV72xT9j/9dUBOs4r2yNUxJmI4NO50pywA6YygLhTqtmvfK15Bz+F/srt2KlDqKALs4Fd7G+fVTDabG
g7GxYdRpFWyv/pwd1V/wQlE6F/SawxXJ8xkePa5bGoEQ8EH5WnIK/0FA9zV535qE4bHj+OHAX9HfOTDi
700IwWeV77Km+Ll2Rf+wFODLyg/Jr9/PEPeITv0sLAPoYClCoThQxAP597G2+HnqtToD2lNcWNFDvxxr
iyPRnoJTjWpYPQ7qAWq1Ssr9xfj1IEIYAyt8V/24GUiOegv4z5FHeK/sDaYlfZtrUpaQ7R6FgtotFgwV
oXDQu5dHC/5ERaC0SVakSejrSueHA/+XodFjIg6TIhRyPTt5uOB3lPuLW5iRnenvhKPeQnI9uxjiHtGp
z9YygA6UEIL99bv5Z95y3it9HSH0Uw4oCfR1ZXBx7yvp60onzdmfTPdQYm0JRtlqwKvXc9RXyEHPXqqD
1ZT4j/B55bsU+4qoDVYCx7OBcLQs9RXx/OGH+KR8A99OXcSVyQtIcfQLzUO75mKhQFCr1fDEob+wq2bz
SYt+sbZe3DHg55xnwt17RSgUeA/wt7xfs6N6c0TgDysovXxdvYkZva7EJjoPQ8sAOkiKUMit38V9uT/m
q8oPTjuYpIQZfa7ihwN+g1O4mtxNb6x+joFMjLsQAJ9eT0ngKPn1ubxXtoat1Z9yoG43QelvWE8IG0Fh
fS4P5i3n04oNLO7/30xNmIEdR5fMBqSQvFP2CutLXm6S9hvbfTbm9buNy/pchwhtiUby89pfv5s/H/gf
Pil/p13z/lNJB3bWfEOtVkWiLanTdgPUX/zsZ7+x8DRXQigU+Q/xxwM/47OK9WeMJBIoC5QyPHY8ac7T
HV+VDT9UoRKvJpIeNYipiTOYkjidQdHDqQlWUeYvISiDDYNYhKYGh70FfFrxHnV6LZnubGJtcV1q21AR
CjvqvuJP+39Gqf9oEwh1CdP7fJv/yvg5MUp8xF53uPjHttov+eOBn/J5xbsRh7/x5zcp8RL6OtMtA+ix
8COo0av528Ffsb7kpRalkUJAZaCCGq2KKYkzcCktq9puDCKJQJBg783wmLGc32sW/aMyKQuUUuI/ipSy
YRFLEeDVPHxT/Rm5nt0MihlGH0dql3luVVoF/8j7X76u+uikeX92zFiWDf49/V2ZEctcFBR80sfG8tf5
w/6fsqvmq4im/Sd+xh6tjuGx4xkZM6HTDMA6CmyypIANZa/yTulLCNHyD1kV8FnFRjaUv4ZswyA0qttI
kmwpXJtyM/cPe5wb039EgiMZrdHLMKKbxsfl6/j1nu/zfsVb6OidflRVCslbJc/zftmak1L/GFs8N/b/
IVkRWkE3or5CUeAQ/y5Yzv/tW0qeZ7dp8B83Mp0jvgIC0t9pz9nKAEyUEjo6+peDv6DYd7hVqaQAAnqA
A57dZMeMor9rYDuihCTB1ovx8VMZFjOa0kAJR7z5GNnCcSMo9R9jc9VHxNnjyHKPRBVqpz23nXVb+NvB
X5186k4qXJf2Xeb3vQNbBJawFKFSL2t5v3wNfz34K94peRGf7jEd/rCZxdsTuTBxDk6lc3rzWAZgooIE
eOrwP3m39LU2DSghoCpQwZ66baRFZZDmGoBNtO3giHFnQGFAVBbnJlyEhs4Bzx78uq/JlKAuWMNXVZ/g
tLkYETsOtYPXicMXbv6d/398Wfn+San/uPgp/Hfm/9LL3qfNhigQKELBL/18U/sZDxWs4MnCv5Ffvw9F
yA7NfSSCWX2uIU5N6JRpgLULYJKMM+u7WF/6Mu3ZYlME7Kn9ht/s/QFz+lzLzKSrGeIeQbQai5S0ev6r
S50Uez9+OODXZEeP5t9591HsK2iyZVgbrOTBvPvQpWRB2h04cHTY4JRCsq7sFd4tff2kRb9ejhRuzfhJ
mw77hJuAIqBWq2Jn7RbWlb7Ih2VvN2RnaifMeuqCHuo1j5HydcIygGUAJikoA7xd8hJH6vPavYqsCij1
HSGn8J+sKX6OyQmXMC3pW4yJnUwvWxJOxWXM+Vs4giQ6LhHFt5NvIMmRwl8O/Jz9dTubmEC9VsMj+fcT
a4vl6uQlHbImoKCQ783lucMPUa/VNgFSCJWrUxczKf4S9Bbv94tQtBfUabWUBYr5rOpdPi5fz+aqTVQF
yltx3DryEgKC0k+1VtFpey+WAZg0kA/78/mg7K2IfbBKaOuuMlDMmuLn+aBsLWlRA5iaOINxcecxKnYi
cWoidmFHESpIiX6a7CBc6vr8hFnEZyfyYP59fFKxgXA9PUWAR6vmkYI/kOpMZ2rCTKTJR1b9+Hnp6Cr2
1X5zUuo/IWEq1/e99bTnFcJbeCAIygBBGaDQd5AdNV/xVdVHbKn+jKPeQ3h1o1S42gWu5GvST1Wg3Dj8
YRlAz5AUsKNmM4URiP4nD3KwCajXq9lXu419tdt4wRZLVvQo+jr7MzHhQoa4R5FgTyTVkY5DcRpbfw0b
PvK4AQBS6oyOmcgvh/ydB/Lv541jOchQdR3jyGoB/8pbTp/svmS7R5p2bl0RClurP2XNseeQjRYndQlJ
jr7c1H8pfR0Zxln80O+G34MQxiGgymAZR32F1GsettduZkvVJ+TV76PAs4+gNMqFCWE8vy4zVpBoUrMy
gJ6kgPSzqXw9Xt1j2mBrnLrWazVsqfqELcCG0teIUtykuPoyPGYiSY5k0lzpjI6dRIKtN6pQcSsxuNWY
0LTTOGWY6kjnrsx7capuXjzyKBJ/w/fYWbOZf+Xdy6+G/INettMvvoXn2oo48YKDbLZYiUBQrVXy3JFH
KfEfOSky948aiF/6+KzqXRyKk4D0U6/VUeYvptR/FL/uo06r54gvj/1126kMVODVPARkoOE9dIVo3+wz
68TXZhlAxMFUKAsc44Bnd4etJoezAgBd+qjVfFTXVrCnZidCgFt1E2dLwm2LIc4Ww7CYcQx2jyTGFkuc
LYHMqKH0svchSonmjoy7cQgHLxx5mID0AEYm8FH5Ol4pfoob0+5suI/Q5F0LQVAG8en17PVs55jvMH7d
j46OioJTdZEdPZo05wDswtF0OiFgU8U6Pip/+6SMSRGwu/Zrlu/9IUKooQtMGprUCOhefHo9QakjJSdd
iOpKkb45KUIlSonurDVAywAi/4EKcj27yPPsMfEI6ZkNoXHU8+kein0FhKqLsbXqc0BgV2zE2uJJdQ4k
wZ5ElOIk1dWPzOjhZMeOZlvVZw33CDQZ4MUjTzAp/mJGx0xsmAoIoeDT69nv2c0H5WvYVv0VeZ7dlPmL
CEgtdPJQYBc20qOGMDJ2PFenLmFMzLkoKEahM6lz2JtPXbAO+ymOpvl1L37dC9AA+knm103LIqo4iLUl
GtMYaW0DdntpUuOwN496zdNpBnAqQzg5zZToMkBloJRyf2lD9FGFwCGikGhNXr8i4Ig3j2ePPMygwUNx
KzFIJPs9O3mu6FHeL3uDUv9RNKk3vZYc+jsCUiO3bjv76rbzReUH3D7gHi7vMw87doRQGBd3HgOjh1Lg
2XNSut74f0UPqn8qJdgUO9FqTKe9BusocIQVkH7y6/dCF+wC05w5qKGFMZsAgcQvPQTD6cIJ2lb9JWWB
EoQQ1Ot1PFP0EM8dfpgS3xEEOjbBKdtwN/4+R7x5/PXAr9lY9jpSGAuR42On8ushfycrelSTo8o9WRJI
diYTq8Z1WmkwywAiCpPAr/vYX7e7W5fiPF2QTbD3Mm4NSolDcRJnSzDm3q2IzKqAykAxD+Tfx+66rShC
QSCYEHc+S9J/SJQa08NKmTZvACNixhN7hm7DlgF0IwVkgAp/ZQ99d4KJCecTq8YDRoXbPM+eNk2/w91z
Xzn21PHS51Iyo9e3uTxl/lkxNG1CZXD0iNBtTysD6BHS0XtkXX4JuNUYxsVNxSYcgOCQ9yDbar5u1/rb
5xXvUug92LAg6FZjuTX9R0xJnNmjpwK6hBRnOuPiJnfq67AMIMLSZPC0J/C67/uC0XETGRU7ASkNkztU
vx+vVtuuEtmHvfns9+wJneAz1gP6OjJYmrmciQkX9lgTkMDIuAlkuAZ3amlwywAiDQoaUnaPBcDWDFan
4mRWn2tItPVuOAhUGSwj2M677EE9SKn/WBPTlFJniHsk9wz+I1N7zUJKpUetCYRrGlyRPA+3Et2pVZgs
A4iwbNhQRM/aXdUljIydyIWJl3K8Oomgtz0Zu3C292+nMlhCUAZO+J46We6R/CLrb1yZuhgF5ylLo3dH
aRImJVzM+Lipnd4YxDKACMsu7NiFvce8HwlE2+KY3+92kh1pDesbAkF/VyYuNaZ991hOWxxVJ82ZwY8G
/R/fz/wFyc7+BGVXrV/cMhlz//7MS7uj02oAWAZgolRhI8bm7jkGIGF2n2tD0V82sYY05wCGRI9o54qH
wK44G11WOhEYnTglniVpP+TeYQ9xbsI0FBzdcm1AAjZhZ17abUyIm9olmrNYBhBh2RUH/VwDe8R7MTru
jGdxvx+cNFeVSOJsCUzr/S1swt72OCYhSok+4X6BUbEnfD4gXM1octzF3DfsEe4c9FuyokcjUbqNERgv
U+XbqTdyXeotHV5pyTKADvmQJU7hYmjMOEQn1dOLlHQJfZxp/NfAn5MZNezU0UrC9N7f4uLeV6K1MTUX
QiHOlthQf1AgCEgfB+p3s9eznRq9CkUoodek08eWwsK07/HHEU/x3Yx7GBw9Cona5u/fUfBLqXJ58kK+
P/DnxNkSu0z5desuQISlCpU0ZwYO4SAg67vlHRUJuNRobky/kynx05stBCKR9LYn86NBy1GFwnulrxFo
1IikJSbjVB0k2HoBRk2A8mApTx3+J28X/we/9HFO3Pks6v8DRkVPaDgrgISBzizuSP8plyVfzycV77K+
9BX21n5DdaAKVRy/i9DZ0iQ4lSiuTruZ29J/Qm9bny7Vl9EqChphCSHQ0Pi4Yj0VgbIucyGoNfAr2FnY
/wcsSvsBjhNW+Y0SWyoilJ7r6MTbEjk34UL6ONMo9R+jOlhNUAYbonL4Hz30jyYNOO1KNJckXcHVKYtx
q7GUBo7x17xf8Z8jj1AdrKBeqyXXs4svKj/AptgZFD0Mp+JsaIYiEPSyJTEqdgIX9bqUYbHjiLbFUROs
xKf7CciA0V+xE8wg3NtxgHsotw1YxpK0H5Bg69XlmrIKb3X1WXL1osMeKT5Zzy/23sH6kpe7xZ30xvCr
wsF1fb/L9wb8D3FKQpNVfxDUaBXk1e9Dk0ES7En0cw7ALpyhqjw6hd6D7K77hk3l73DUdxS/7sGn1wPg
UFw4FBc2YScjaiCTEy5hdOxEkuypFPkL+EfectYWPwvoTYDVpJGRXJZ8PYv7/ZDMqKEgZZM0OlwOzKd7
OeQ9wMH6vXxQvpYDdXvZ79lOvebh+AYmphhzuIuzBJIcqUxLupLr+t5CtnskQoou1XXJMgCzHqgQqIrK
M0UP8cfcZegn7G93ZfjtwsX8ft/ju+l3h9ptGeW3NIIc8xdR4j/CG8XP8GHZGjQZINnZn7FxUxkSPYLx
ceeT6uhPlBqNjk5A+gnKAF49VPUWcClROBUXqrBhE3YcwoGGxlfVH/NIwR/4onIjjXsVnPj6pIThsRO4
Y8BPOS9+WkMx1BOlCGOqEND9lAdL2FbzJcd8R9ha/Ql76nbh1Wop9x/Fpx8vExa+wtzUypt/Vg0/D0V6
CcTZEkhx9ufC3nO4IHEWo2Im4FKiunQrdssAIgS9EIKgrlFaXc72AzvZVLKBNx3/Rrd5uwX8TsXNwvT/
x639f0yUiEaXOgoKZYFi1pQ+z2vHnqEqUEq5/yhaqHBoePC7VTdprgwu7HUZc/pcF2o9rpzhmSmUB4t5
o/hZni78N0d9h1pUtkuTkGjvwxUp85nb97ukuwZhLAucehiHewDo6NRpNdRqNZT6j7K5ahPHfMcISB8l
/sPsqf2GqkBVQ3s1XeroBE5e/xACFaPwqkCht6M3w2PHk+Loz/j48xgec07ogJQDvRucCLUMoF3gKyhC
UF5XyYGiPNZ9tZEdebvYU7CPoN2HOrUAmVZJl74aIACvHfv+/tyQ/n1mjZ7JgOR03I4oCr0HeKjgd7xT
+jJerb7Z1DkcnRGCgVHDmJv2XeYkfafZrrdBgmyp+ZQnC//BZxUbCOr+VqXkegjsoTHjuKHf95nW6wpi
1LgzRtqG3gDIhvCuSY1arZpifxG1wRo0gmgyiEer5ZivkJpQq/WwXKqbfq6BxKjx2IWDOFsCqc5+uNUY
Y5GyDb0aLAPoZlIVFb8WoLiyhA+2f8zHOz7j69yt1HrrkFJiU20gBWJQGXJiAShdMBKEgat0w/Y0ZGEc
qlCJdkVzwZjJpI+N43PWsqXqo9BUoGUy5uturkpdxO3pPz1lEdG3yp7nLwd+SamvqMU7Bs19L7cawyVJ
32Jhvx8w1D0aG7ZWX8YKrx8crzZs/FuT2kmmIoRAFTbCXx0uqtoV5/eWAUTyQYXSfH8wwI6C3Xyw7WPe
2/oBh4oLCWhBVEVtuNEWHkXCpSEnH0SmVSG60lMWgKbAoV6IXSnIyigQEnQBUQGCg4oguwTFJdt0UCS8
nnBzxo+5ud9dOISzAZCgDPCLfbex9thLp6z/15bvpUvoH5XJt1MXc1nSdfR3ZZ52WmDJMoBWgq9Q661j
e/5OXv/0LT7b/SWlVWWAkQ00Ozh1cGZ4EecV4FVrOn9fOvwCqt2IvcnIvEQIqAb8UkBCPcroIvS0SlD0
dp2s0SUkOJL57dCHmRo/o2Hbrlav5se7lvBZxYaI7pDo0qiwmx0zhqtSFzOz91Uk2VO6dXTuCFkHgU4j
VVHx+Ov5av83vPrxG3y883NqPDUoinJa8I0BqRPljGLJmJuIGeTlocL7qA1WdM65gND3FD47FCQic/sY
UT8MhgCRXokceQQ9wXN8474dUgRU+It55ehKxsZMIlqNNbwnWElNsDLiZhhuc76r5mv21+1kY+nrfCf1
JqYkTCfelmgZgWUAreBFKGhS45uD23jxw9d4/5sPqaqrRlVUY35/BulSx+VwsWTWDSyZMR+7XQEVHsy/
j7qONIFwP8yACkXxkNsHWRJtpP/hqO8IIrJLILsYnIGIn6fdU7uTsmBxgwH4pe+kq7+RlCogKH18VvEu
O6q/ZFz8FK5MuYFJCReTaOsTmhr0vIItlgFEBHwj3T9cdoSXP36DVz9+k+LKUhRFaRH4jeG/cfZCFk+f
R5TDCRLm9r0Vh+LkXwfvpSpYam6nmvBid0BFlMVAbhKyKO54uh+CXyR4YUQRMr0clMgfphcC6rRKDnvz
yHBmEaIPs0/tH2+fVsNH5evYXLWJsXHncWmfa5maOJNkRxpIYRmBZQDHpSgK9QEfG7a8z3Pvvcj2vJ3G
A1JbfqnnRPjdDldDwQc7dq5JWUyCPZFVh/7GzpqvkOiRNQIlxJbfjiiJgfxE5NE48NmM3xAhAAWQVgWj
i5C9aiOS8jcHok/3Uhkoa/gGdsWO2kH1EsKlyP26h08rNrKl6mOGxo5lVtI1XNhrDmmODByKK1Ti7Oyc
Hpz1BiAQCEVhX9EBnn//Jd74dC0eX32rwG8C/6wbToIfjBVpFRuzel/NsOixvFacw7riFznszSMogyi0
4Xhqw7a2gKCCKI9ClsQgDicgK10G+OGIj/F1wqHBoFLksGPIKL/pV+hswkaUerw+glOJCu0KdORnbGQE
Aenlm6rP2FH9JS8WPcH5vWYxvfeVDIsei1uNRkjRI+s5WgbQ3MAQCr6gj4+3f8G/X3uYfYcPoCpK++Cf
Mf8k+GlsAxLSnZl8L/1nXNrnOj6tfJcPy97hsHc/h+vzGgbgid1wlBPaXwm/Dem1g9eGOBqHLHdDZRTU
25EydNhFafQapIAYH4w8CgPKQdVMh1+GzvD3cfQNOxVRihuH0jkFU443VNXI8+wh37OXt4qf45z485nW
+wrGxp5HqrMfduE8a7KCs9YAFEWhoq6Kx9Y+xWufvEm1p6bV4DfAbzcW/BbPmHca+JvYAAoKWVHDGeQa
yjXJSzjk28+26q+o02qoCpZRUJ9Lse8wQkhq/XUUHjuMXu1A1tmNuXyNC1HhRvpUZEAFXSBF6IRb40MH
oZRfpNYgRx1B9qkxLeU/+X1CtBpPH0da6F1L7MJBoj2h0z9/wwgklYES1pe8wkfl6+jrzGBqr1mcm3AB
Y2ImEWuLxyGc6D3YDM5CAxAIAbsLc3l07So2fP2eMSCUdsA/21jtbwn8J/55ALcSzTD3WIa7xxmXWKSf
2mANAenDHwzy7zce5eDn61A1OwQVA3bjrdBwrFU5xfeVAmw6ZJbCiGPg9nV41Yx09wBibfEN/28XDsbG
T+Ld0leRBLvAaDCmB37dQ55nNwc8u3nt6JMMcGczNXEG4+KmMMg9lD72vsb5f0nDdWTLALob+sKoFLH+
6/f412uPkHcsv03gN8DfsNU3r9XwN+E0dJw0LBUbvRxJ1PnqeeDtx3hn0yaE7jwOvdKC76MLRKwfMfwY
+sBSpE3rcPgFULbfR1lyFRlJMWiahiJUhkaPxaXG4NEqu0zBlMa3Auu0KrZXf8HOms1EqdEMiR7N0JjR
TEmczuCo4fSyJxOtxoY+M9lwdLhbMnG2nAQUQqBJnbWbN/CXF/9JaVVZi7f2Tgm/3cWSWQuMyO+Mimh5
Z0Uo1PnrefDNx3h6438aWmy30E2M0ZxUhxh9BJlcc3z1v4OJEh4H+qZMpvSZzl3X/4DBqQNBQqm/iHt2
38Tmqo+6fL0EyfECJtG2eHo7+jAufgpDo8cwLHo0We6ROBUXLiXKKJAiZbfaXjwrMgAhBB5/PS9seo3H
3nqSak91u+B32p0snrWAJTPn43Z0JfgFqDpKZgVyeBEyxtth8/1TqiQOURnNppJPqFxVyQ+v/h6ThpxD
b0cKo+Mmsbnqo64/dqDBpOq1Kg55qsj35KIKQZKjL6nODIbFjmJC/MUk2BLp60ynrzMDJfRDCBEqptw1
pw09PgNQhEJZbQWPr1vNix++is/vQ1HadgslHPkXz1rAjV0u8guE248cdgwxuAxpC3Ye+AJE0AafDkQe
SgAh0XSNfklpfP/K27hswky+qtnE3TuXUBUs6ZZ1E43xYFxNVgCb4sKlOMlwD2Fg1FCSHH04J34KA13Z
OBUX8bZE3KHTkOGpQ8NH14nG0KMNQBEKx6pK+efrD/PW5+vQdb3lQHUC/B5/PQ+8+ThPb3y+9fAn1RkH
e1KqOiflP9EACnvBZwOQfuX43XtdIzE2kf/37duZMekCfrXvdt4vfatblU077ccQNgVp7DJE2xKIUWNJ
sCcwPHYiA6Oycatu+rsGMiR6JC7FjYIaqpKkdkrloB5rAIpQKK4q5c8v/4t1X24w3my74HeyeNYN3GhW
2h+o58E3Wgm/FAhVh4wK5KgiCKf8nSkRunT0aSbySBwn3oPWdZ1Ydwx3XvMD9MHF/D73bjTp67ZZwJkM
QcqmszC7UEmwJ9HbkUasLZZUVxpjYqdwTtwUBkUNbahJYBlAe96UEJTXVvLnl/7FW5+vazf8TruTJbNu
MDntbz38RAVQhhUjB5cg7cGusRAtBGJfMvLrfkZ9gVM9U10nITqBBd+6io8Snmdr9cd07y4KrR1Tx03B
mIzaGB0/kd8M+ReZrqEduojY4xqDCCGo9Xl4dO2TvP3F+nbD7wov+JkAvxAKnkA9D7UBftHbA5Py0Yce
7ULwgyiLhr19jBuHzQ06RaGyrpLn176B80gyLiXqrDqJrwhjimALn/AkSJ5nN3n1e9s8Vi0DCIEe1DVe
+PBVXt70GrrU2x35F81cwI0zFhBtQuSvD3h58I3HyWkp/FKAkIjMcpiSB2mVHL9h1wXgD9hgTwqy2sWZ
SiApikJ5VTm5n5YRU5uMOEt7VGmhhcTB0aPJjh7dbBMWs9SztgGF4O2vNvLE20/hC/obWkq1Ff7FMxdw
40xz4PcEvDz4Zivg1wXCHYTsYuSQY2DXut7Zk7zeyMJ4Wlr/TCiCyhIPjq1RiHMdSLu/e7f+baHCi4UC
hYyowVzU+1K+nbKIvo70Dt8R6DkGEDrh95cX/0m1pxZV6Zrwi8bwb3iu5ZG/t8dY5e9bBULvWqAIUMri
kHuTjxcbaekfVSBQ6EYkJcKQYz0afF2GCpna3Ax0D2NW0tVc0vsyMlyDQ2XEO34XoEcYgKIobMvfxd9e
eaDdJ/wM+OebBn99wGvM+VsCf2iVSGRUIEceQcbXd+7Bnmbgp86J/CYVWe2kTdVPNQW5uw96fC0ipa5r
FVBtJ/A64cNETga6BzIidiLnJV7CxPgLSHH0Q5FGz4LOah7S7Q3AuNVXzRPrcigsOdwO+GUj+G8wFf6c
Dc+hnxF+Ac4gDDsGWaXgCHS99Dg075c7+iKPxtJWcnU0YoKJXOi+kK3ONRypz+82PRXD7zg8VML+LBD0
cabSy55KpnsIF/e+giHRI0LR3m5UJJJ6p9cf6NYGYBzx9fLwmid4b8sH7brYYyz4mQ3/E+RseL5F8Ite
9TCyCNmvwrjm2xWjoq4g9qVAfi9kG4HVpU6UI4qb5ixk3iXfYW3FCP60/2f49NoOPxugCBu61AnoZ4ZS
YqzgRylRuNQYFGFHRSEzOosxcVNItPdmWPRoBkYNwa3GEBWqgaBL/aSTgJYBtBUsRWHTjk959ZM32z6G
Q5F/0Yz53GQm/GueCEX+0+xMSGHc9OtfgRxzBOK6YMrfWAWJ6Lv7GFeU2xD9w/Dfculibph2HVF2F5cm
Xcee2q28WPRYqJR4B3mZhEHRQ5maOJPKQBUBGURKrUmENpqBKKEmIgpu1cXQmFFkuUcSrcZiE3ZibXEk
2vpgE7Ymtzy7an/AbmsAiqKwpzCXR9Y8gcfraeN9fonT7mDRTPPhX73+OeSZ4HcFUYaWoA82p0Jv5N4Y
cCQetqYdLzvWDvgXTrsel90ovBGtxHJb+jLK/SVsKH3V3OKpJ7yn6kAV03pfydjYyWhSa3TvP5zUH7eB
4z8TTXabwuXHtW7QFxC66TkAIQTegI+n332evYW5EYDfvAW/h0ORX57pTEKsF87NRx9+pN3w6xKCEgK6
8d/jxQMjNGLKYmBLf/A4IxD5DfjDz16ik+xIY+mg3zIpcUbo9XcMCMd8hbxybDU+3Ysa+mHDhg07Nmyo
2FBRj9/0Cz1TXeoN/3S3QiHd8iiwEAqvfPomv3/ur/gCvlYf9pFS4rA7WDhjHjfPuoFop9sk+FeyesOz
LbuEdE6hseDXgkwxvI/cgLYQKNgRKChCkuRIZVD0SGLUBCQaEOSrqo8o9R9tnw0IEDVu+HwAsji6XfDf
fOkiFk6bS1Qj+JsAKRT2eHawfN9StlV/0iEXhnQJCfZk7hv+GFPip3Xptt6RUrebAiiKQkHJYZ5776U2
Ve+VUuKw2Vk0Yx43zVpoauRfvf65Fp9GFAEbUhcn3+QTjf4rQNcgRoknxZWOTTgQaAyLHcv4+AuJURMI
6l6SHClkhW6bCQQ7ajezs/ZrpDSq3rQVfqUuCrako7cT/nDkbw7+8Ndmu0fy06wV/G7fT9he87npJqAI
KA8U88rRVYyOmUi0EtPjC4N2OwMIaBrPvP8Cuwv2tA3+UOS/adYNJsK/slXwI0HmJiGifcj+lU2bdARV
lFoXeq0DzQvZycNZMG4hU1Om4RAugjJAlOIm2haLEprRNe5YqwoVj1ZLbbCqXfCLOhd83R+9MLZ9kX/O
ojPCf/zz0hkZPZ6fZf2R3+X+hB01n5u+JqAK+Lh8A19Uf8C0xCsiOj4sA2inFEVh876veefLjQil66X9
3oCXh98Kpf2tuYcggHob8uv+cLAX2HXjJl1AgYAN6beh1cOo9JHcPX0po/sPO+naqJQSDa0Z+CSeoK/t
8HtciC3p6K045tsc/Aunz20R/E1MIOa4CZidCQigOljBC0ceY0zMJHrZknp0FtBtFgGFENR6Pfzng1co
qSpt1Tn/cNpvOvxrVrJ6/bNtKzwiAJ8Kx+KgMMFYZS+OhYoogrWCkRkjWTZvKWMyRxjv6YQfzb53JB69
Fo1g6+f/DfD3Rz8UT1tWJtsD/4km8MvsvzIh4RLTFwZVAZ9Xvs/a0hd6/BSgWxnAJ7s+58PtH7dq1b8B
/pnzQ2m/eZH/qQ3PtqvqUENN//A/ikQjyMjMEdwzdymjB4xo5W0xgU/3srN2M5r0tx7+Wjfiq3T0goT2
w9/CtP90JjDMPYZfDfkrF/f+FhJhGpoCCOg+Xih6jNz6nW2+VGYZQAThr6yr5oVNr+Lx1rcYsDD8N4Tm
/DFmwr++nfCfQpquMXJgW+E/3ptvW/Xm1q1oKyCqohGbQ2l/m+F3cdOchQb87Sib3vjvHOjK4n+y/sic
PtcjUE0zAVVAXt1uXih6nHq9vsMr9VgGcIIBfLbnS7Yd2NHiW35SSuwh+G+evdBE+FeZCP/wNsMffm75
3lwKvQdbPnwVoDwGvkxHPxLbPvhnL2LRtLkRgb/x353q6M+PB/2OJelLcavxaCa5gBDwdvGLfF71bocX
6rAMoNEgrvV6WLd5I7X1tS36IMLwLzQVfh+PvLWKp9Y/YyL8d7UZfgBNanxW+R7HvIUtu1wjMNYdPs9A
Fse0Y8HPxU1zFrFoemThb/z59ralcEf6z/jRoN+R4kw3xQQEUBUsI+fwvyn2H0H0vAJa3cMAdhbs5vM9
m1t006/Jgp9Z8Ad9PPLWSp40C/4Bw1nWTvgFCkW+Q2wsfa1lC1kCKIqHzwdAubt98JsQ+cNjwRvwUV1f
g0TiFE6uSlnEr7P/wZj4yegy8usCqoDNlZt46dgqggQsA+hoBbQga79cT42n5oyghSP/ghlzuzf885Yy
ph3wg3HF9t3y18it23H66C8MsxAFveCLDGhBOa/m4Hc5XNw425zIL4SCx+/lkbVP8umeL1EUYVwWkjAl
YSbLsx/iipSF2ISr4ZRkpKTLIC8WPc6X1R/0uAXBLv1uFEVhf1Een+3+8oxf2zjtv2X2IvPgX7OSJ98x
E/67GDNgZLvgV1Ao8O7ntWPP4tdPU3JbAEEVsTcVNmdAnbNd8N80exGLTYI/fKnqibefYt3mjdT5PA3P
X0qdAa4slg1ewV2Dfktf16CIbhUqAkp8Raw89HeKA0U9airQpd+JLiUf7/qMwpLDp936a1jwmz6Xm2eZ
GflXmRb5RwwYzrK5SxkzYHi74BcI6qWHF44+Tm7d9uZPzgnAa0dsSzOq+Xht7YR/obnwv/k4T294HoAt
+7eRW3SwyWegS51YJY55fW/nt0MfZGqvWQjsEcsGjKnA+7x49AmC+Okp6rIGIISgoraSjVs+OC1sjeG/
ZfYiYlzmwP/oW6t48p2nTYJ/GPfMXcqYgSPbv1WGzsayN3j92NOI5m4WCRA1UbA5Hbk3GRkUEYB/nonw
P8HqUC0FVVEprSrl3S0fnvS9ZKhC8vi4qdyb/SDfHfBTkkMLhJF4VZoM8lLRSr6q/rjHTAW6tAFszt3C
waKDzT7sjoR/lWnwG6v9Bvztu30mEHxR9R4P5i+nJlB+cuofulAkjibAp5lQkHi8m3Bb4Ld3BPyPk7Ph
2Sb1E4UQfLF3M0UVx045NnSpk2RL4db+P2LF8JVMT7oGu4hq906BMRU4wuOH/kyxv2dMBbrsOwhoQTZt
/5TqZhb/msK/sJvCP4xlc+9kzMAREYH/kO8gjx76E4fqD5688CdABFXY1wf5WQay1N3mEgHHF/wWsshM
+NecuoSaIhRyDx/gwNG8Zt+DREdFZVzsZH495O8sy/oDQ2LGoEvRrmmBImBz5Ye8fOzJHrEr0CUNQFEU
8ooP8XXu1lNu/TWs9k+/PhT5o02C/0lz4Nc0RmQMY9ncuxg7cFS7X7tA4NU9PF/0MF9VfXTyvF+AqHXB
lnTY2h88jrYX8AxF/htnLWTxjHm4TYL/4TVPkLP+1JeqhBD4Aj7Wf/0+AS14xtcbpyZwTcqN/GH4Km7K
+BHJznSCbZwWCECTAV4oepTN1Zu6/VSgy776/UcOcLT86EkP2Py0Xxjwr32SVe/kmBf5593F2AhEfghn
8Qo2YWt65VcAUjE69X6cicztbdwwbC/8s82Hf/UZKidLKdl/5AAVtVVn3h5GgpQMdA3h+xk/Z8XwJ7gq
dQkxamKbjCC8K7Cq8G/dfiqg/uJnP/tNV3tRvmCAR95aRe7hAyiKchL84cgfa0rk9/PY2idZtc4c+Idn
DOOeeUsZG4EFv8ayCTuZMcPYdmwrRwL5KGoo6u9OQWzvi6xxtasy2HH4b2DxjPkmwt+yWgqKolBeU8GI
gcMYkjaoRa9FIlFQ6OtMZ3LiJQyPHYdX91HiP4pP9yFEyx+PIuCwt4BoWyzj4iZ3WxPocvUAhBBU1VVx
pKyoyQm2BvinXc+tJqX9vqCPx9Y+yUrT4B8agn9UxHvACVWhpKCG2g/jETIDnEBpDFREGTXr29Fto0Ph
b0UtBV/AT96xAoK61ipf06VOlHBzYeIczombwhdVH/LasRy+qPyAmmAlaguNQJdBXih6nLFxkzmvm5YQ
63IZgKqofLDjY17+6I1QWWgRgt/GgulzuWWOGZFf4Av6jbR/3dMmRv67Ih75ARRV5ZuDO1iecz/78vOw
VcVCWTR47e2uB9rh8Lfi2UskHl8908ZehNsZ1ervLZE4hJNMdzbn95rJsJhxKIpKie8o9ZqnofZ/868d
aoI1VARKOS9xOm4lutsZQJfLWySSkqoyvH5vI/jtzJ9mVtofhv8pVq17Gk3XTIn8y+YujciCX7Pwr17B
3sJco0yaYtQSaG+PrTD8S0yE3xvw8shbbSukIhBU1lQapwLb6HISiS51YpQ4pvW6gl9m/ZU/jchhXr/v
keHORpfKac8RqAK+rPyAdaUvdcviIV1qCmDc+6/ik52fI0Rj+K/j1jmLTYP/sbefYtW6HPPgn3cX4yKw
z3/S4FNVth7cwfKcFew9nNvmtmjNw+9kyawFLDER/oZaCm1o5S4UQUlVGZ/u+oKMC/u167SPUUdRI0pE
MyHufMbETiIvdS9fVm1iY+lr7KvbSUWgBIGRFTSu1erVfHxS8S5XJM8nVonvVkbQtQwAqPN6yDuab8Bv
t3UI/CvfNhH+uWH4TYj8eTsN+AvNgv8GlsxcYD78bZxyCQT1vnoKigsj9trCBVVVVIa4R5LlHsFlfa5n
d91WPq7YyFdVmzhQtwevXkNQypAhCDLdQ3EpUd0uC+hai4BCUFpdjtfvxWF3MH/a9SbCH+CxtU+x0szI
P3cp4zIjD78agv/e1fd3Y/gjU0hFKAqlVaV4fPVE2V0RBTC8qBevJnJe/DTOjbuI4sARDtUf5KOKd9hT
uwOf7iU7ZiQL0m7HjsMygPZISvhw+8fU1tdxw/TrTY78q02Df1gD/KNMi/z3rjYv8i82Ff7IFlJRFYWv
crdSUHKYYf2zkHrkAQxnBQJBqj2dvo4MxsdNxad78UsfbiUGh+h+8Hc9A0Cntr6Oay+6ilsvXWJa5H/8
7dWsfHu1afDfYyL82xrg3xdx+J0h+G+cOd9E+CNbS0EgqKmvbVg07ogxKqVx5dqtROMm+oyVmS0DaClA
ms7sCdMZkJxuXtr/9lOsXLe620V+tUnk32de5J8xH7cjqlvAf3zcaFTVVXd4E4+eUDK8SxmAqiiMHTiy
YQcg0vA//vZT5kX+9GyWzV3KOSam/ctNgT/UHn3mglDkjzKnlsJac2op6FInO30ISfG9z4pefpFWlzsH
EOnqqw3wr3uKJ0yE/555d5kCv6qqbM/bxfLVK9hjCvwOFs9cwI0zF5gHv4m1FEaFyqaPSM+2aO4JBmAK
/G+bC/+yeeal/dvydnJvzv0mwK83gd+MPokdAf+yuUsZlTG8x/fwswygjfA/sW41T6xbjaZFHv6hDWn/
aJPg38W9OSvYc8iktH/GfFPhN7OK0siBRgm10QNGRPyA1dmkbtcduLXwP/72U6bBf8/cpZwzyCT483cZ
kf+QOWn/opnzuWnmDabCv8pE+NvbM8GSoR6XAXQU/MtMhn/5ajMiv95h8JtWOXngCAv+CKpHZQAN8L9j
JvxDWDZ3KeNNgn97CP7dh/ZGFH7ZkPbPMxf+tU/y5DtPo5lUNv0eK+23DKA5+P1aCP615sF/z9y7TIv8
2/N3ca8J8Dek/TPmcdOshabBb2YhFSvttwzgtPD7tAAr1+XwxFozI393hn8+N80yY8FPNBRSMQ3+CLRK
s9RDDSAc+Veuy+HxtU8SNAH+7P5mp/27TYHfSPuNbkk3zTIn7feF6yeuMzHtn2el/ZYBnAb+J9bl8Nja
J02J/Nn9h3DPvKWMHzTGRPjvNwV+o0nqfG42Ke034DevkEq4T+LoASMt+E1St90FaAy/aXP+bgq/HoZ/
5nxuNiXyh9N+8wqpjGhokmrBbxnAGeAPakFTIv/dc02GP2eFeZF/5rwQ/G5zrlObWEthxACjcrIFv2UA
zcK/ct3ToTm/GfBnsWzuUiYMNgf+HQUh+Av2RBx+u83eaLXfbULaH6qiZCb8c++y4LcM4PTwP2bqgt9d
JsK/x1jwMxP+2WZ0SDa5hJrWCP6B1oKfZQDNwf9OGH6zIv+dJsN/P7tMgn+h6fA/aV7kH2i0ShtjQv1E
S82rW+wCGPAHDfjfMhP+u7o1/DebBn+4ipJJ8GcMjViHZEs9zACOw59jDvyaRna6Bf/p4DezipLRIXmp
lfZ3krr0FKBDIn+62Qt+e1ies8JE+OeaHPlD8GuaKd2SzGqYYqll6rIZQBj+Ve88zWNvrTIF/iH9wvCP
NQX+nQV7Wb56BTsLdpsC/w0z5nLz7EXmwb/uKdNqKZjZJ9FSNzeAxvA/+tYqAloQxYQ5/92mwr+He3PM
g3/h9LncPMtk+N82E/5wn0QL/s5Ul6wJ6NeCrFp/PPJHGv4hIfgnmg1/vkmRf3oo8rvMgf+JdatNhd9K
+7uOulxvQJ8W4Kn1z/DoGnMi/5B+g1lmJvyH9poO/y1zzIv8ZhZSOR75rbS/q6iLZQCClz96nYfXrDQn
8vczVvtNhX/1/ebCP7v7wr9srjlpv6IoEa8mbRlAJ0gi2Xd4P/W+ehMW/AazbO6dTMwyD/7lq82L/Aum
G+3RTUn7tXDa/5Spab8p3ZIUld2HczlaWWyZQHc3AAHEumNRFTWiAzArnPZnjTMV/h35u0yD/9bZi02b
869824DfjKPVx7sljTalPfq2/J387eUHKK+psAyg2xuAEJw37FwSYuIjMtA7Av5dobTfTPjNivzG0eoc
HjcL/lDlZCPyRx7+7fm7+fWT/0ecO4ZBqZlI3VpX6NYGgIT0Pv2IikCHmsbwn2sq/Cam/dMM+M3ok3j8
OvWT5sE/7y7TGqaEr1Pvyt9DSkIyUQ5nD+jUd5YbgETisjtJTujTrsaLmq6RlWY2/Pu4N8estN9mwD+n
u8NvXgm15Tkr2JW/m8TYBIZabcF6iAFISe/YRC4ee0GbB04D/PNMhL9wH/fm3M+OvMjDb7PZmN/N4V/W
EPkjn/YbtRSMexWqopIYm8i4QaPBOlPQ/Q0AjC2dpLjebQLLgH8Qy+beaWrkX77aHPjDkf/WOYtNht+8
Ob9ZHZJVVWV7Qah4aoFRRUkiSUlMxu2KstL/nmIAui45Z/AYMlMHoOlaG+BfyrlDzjEt8i/PWcF2k+Cf
bzL8K9952rQSamZ3S9pesJvlq5teqpISLh5zAQnuOOtUYU8xACl1khOSSO2V0uIPtSPg3124j3tX38/2
vJ2RT/tVs+EP36hcZRL8Q0ztk7ijYM9J8AM47HZSEpNRlB7d5PrsMgAAp83B9HEXY7fZWwz/3SZH/ntX
rzBtzr/AdPjDtRTM6pN4l6nwn6qWQlALMiw9m/GDx6Jb2389ywCEEAztn0V89OlTO03XGByCf5KJkX/5
6hXmRH6bjfmXXMetl5qX9q8ysZbC8T6JJhZSaaaWgkCQkdyfxOh4K/3vaQYgdcmg1IFMzD6HoBY89QDU
DPjNTftzudcs+FUD/u9eusS0yB++Tm0K/KHiqUa3JDNW+0OR/xRnLCQSh93BzHOmYbf1yA73Z7kBIIly
uDhn8FhcDtdJZwI0XWNwv0Esu/5Ozh1yTsS3gBrm/Dn3mxf5p5kNfw6PmhX5+w9h2TzzWqWdqYqSrutk
9RtEdv8srOX/HmgAIRdg6sjJ9ElIQuqyKfxpmSybeyeTssebBH8uy3N+z/aD5kT+eZdc2wGR/0kCJjVM
WWZStyQlVEtheQuuU58/cgppvVLRrWvFPdMAdKmTmpDMxWPOb/iQw3P+ZXPv4twh401L+5fnrGDbwR3m
wD/tWm679MYOSfuVbtYncVcLainoUicpvjfTxlyAsKJ/zzUAAKfdwfkjp5AQk0BACxoLfmam/YdNhv+S
a/nuHBMj/3rz5vxmRv7W1FLQdcmEIecwICXDWvyLgLr0Coqu64zNHMXIAcM4XFZkpP0mRf49h3NZvtpk
+C9bQpwrxhT4n1z/jIn1E43V/gmdDL+UkmiXmzkTZxDjcqNpGpZ6sAFIKXE7XNw8ZzG61E1b7d9zeD/3
mg3/pebC/8ialaYVTzWzbHprqihpusbozBFMyBpn7f2fDQYQ1oTBY4zFXtPgv998+KMiD38gHPlNKqFm
drekna28Tm232ZkzcWbEn+XZrO7TGzDCf18YfjPn/HMv+Y5p8Pu1IKs2PMOjb63ErwW6Xau0nYf2hlb7
W3a6MlzTcfLQiQisyj+R0ll5iqIx/N8c2G4a/LddeqNpkf+p9c8a8AeDKCJyPt4R8O9qQwk1VVG57NxZ
pPVOtdL/COqsu0XRE+BfteEZHmmAP/I9E8yc8+86FLpX0Qr4w6Y0e8I06+CPZQBdHP6LzYX/yQ3P8uia
VfiDfpPKppvXLcnY529d/USJxGFzcO2FV5Ec38fqJ2AZQNsH4N4j5sJ//cXf4bbLzIX/kTUr8QcDEU/7
h/TL4p555jVMCddSaO2NSl3XmZB9DtPHXmTN/C0DaB/89642C36VuRd/h9vNgl8/EX4TIv88EyN/Qy2F
1sEvpcTtdDP/kmvpFZNorfyboB6/CKiqKnsP72d5zu9NjPzXmBr5n2qA329K5F9mduRvYy0FXepcOeVy
Jg+dYKX+JqlHZwBG5D/A8pzfs/XAtojDr6oq1198DbdfdpN58G98jodNg9/cPontqaWg6RqD+mZy3YVX
4bI7rehvknpsBtAA/+oVpsE/18w5v25E/ofNmPNrGkP6Dzb6JGaNNbGEWtvgl1LitDu5ec4ihvTNtLb9
TFSPzACOR35z4LepKtdfZKT98VGxJsHfOPJHds6f1X+w0R7dVPh/3+ZaChLJnIkzuGT0BVbktwyg9QNw
Xxj+/Sal/Rddw+2X32Qa/Ks3PMfDbz5hStqf1W8w95jYMCV8nXp7XttOVwa1INn9svjuZTcSGxVtGYDJ
6lFTgDD895oK/3dMjPwaqzc8x0NmwK8Zkd/MPom7C3ONKkptLKSiS5346HhunL2Q9N5pVupvGUArAFIU
9h7Zz29z/mBy5L/RxMj/vHmRv7+5rdIaIn8b4ZdSYlft3HrpEuZMmG4d+Osg9YgpgBCCspoK/vziP/lq
35ZumPZrrN7wPA+9+Tg+U9L+QabCvycChVQ0XeOCUVO4asrlKAir1ZdlAK2DNC4qhovHXEh8dFzE6sQ1
gf+ym0xO+x83ac4fKqFmIvztraUQ1IKMHzKOH159BwnRVpcfywDaILtq47oLvs2tl9+Iw+Zo9yAKw3/d
RVcb8LtNgn/jczxsBvyhsul3X7+0S8Ov6RrDM4bys/k/YlDKAGvebxlAO4AVCtdfcDVXTf0WCNrcYrwx
/HdcdrNp8OdsfJ6H3zAn7R8cSvsnmVpF6ffthr9v71TuvOa/yE4bbJX4sgyg/SYQ7YziljmLuGj0+W2K
JlJKVEXlugvNh/+hNx4zB/60joD/frYdbPvRamPFP447rriFSdnjrchvGUDkTCA1vg9Lr/k+5w6dQLAV
UaUB/ouu5o7LLfibg7+9xVN1qRPlcHHrpTdy+cRZKGdfWQrLAMyULnUGJmfw03l3MSF7XIvajDdJ+02E
/+kOgN/M4qnLc1bwTTsjv8vh4pZLb2TeRddgV21tnqpZsgyg+YGmawzum8nPF9zN5GET0XW92YEWjvzX
Xng1t5sEf1DXePrd53nQrDl/I/jNKJ66NwKFVHRdJ9oVze2X38zi6XNx2OzWin8nS3irq3v0J6AoCvkl
hfzj1Yd4d8sHSCmbFNAMR/5rL7yKOy6/hQST4F+9MbTPH/CZAv/doZ4JZsF/bzvh13SNPvFJ3Hb5TVx1
3uUW/JYBdKAJCIWSmjKeeOdpXvrgVXxBA8KGyH/RVdxx+c0kuONMgT/n3f/w4BuPmQN/30zunrfUPPgj
cKMyqAUZnJbJ/7vqDi4aOQVVUS34LQPo4DcqBPUBHy98+CoPv/k4NfW1Rq25bgz/oL6ZxsWebDPhv5+t
7Yj8AS3IuMGjufv6OxmVMcwC3zKAzjUBTeq8uOk1nliXwyVjLuCOK7oh/JrGoLRMY7XfNPj3hyL/9jaf
7QeYMOQc7pm3lCFpg6x9fssAuoYJBHWNXYf20q93X3rFJJi04PcfHjAx8psLf/uuU2u6Rowrmu9ceBUL
LrmOvonJ1j6/ZQBdzwiQRHQLqifAv+/IAe5tx5xf0zVSE1O441u3cMWkOdgVm1XPrwvrrOwMBER8Ltpx
8N9pLvxtrKIUjvCXjL2Qm+csYlTGcBQhLPgtA+j5aoD/vRdMgz+z70Bjqy97grnwtzLtl0iCQY3UXil8
54Irue7Cq+gT2xtN16wFP8sAzjL4X3/UpMg/kLvnLmVyF4Nf0zXsNjvnj53C4hnzmDBkHAqiRScvLVkG
0KPgf9BM+K83F/7lOb9vFfy61NF1nax+g7nuwqu4/NzZxLtjT3va0pJlAD0S/mfee5EHX38Urxnwp4bg
H2oS/EUHWZ7ze7bs/6ZF8BvgS5ITkrhs0myumnIFg1IyjN+zVvktAzi74Nd55r0XeeD1R0yBPzM1lPab
Cf/qFS2CX9N1QJIU15uLxlzA1VOvYHj6UOyqaoFvGcBZBj8CXzDAM+/9hwffMKeMV2bqQJaZCH9uC+CX
UqJLiZQ6/ZLSuGj0+Vx27iyGp2fjsNnRdd2C3zKAs9IB8Pg8bAs1vfD6vSCMS0eRgv/uuXeaGvl/m9M8
/FJKglqQKGcUGcn9mXHOJVw85gKy+mZiV+3oumaB35OG89l6EKhdD00Iqjw17Cncx7qv3uWLPZs5XHrE
OOoqQFXUdsF/3tCJ5kX+nBV8ndsUfiklmq6hKApRjigmZp/DtLEXMXnYRFIT+6AIxYLeMgBLJ5qAQBCU
GnnHCthZsId3Nm/k4LF8CksOI6VEURQEosn1486F//d8nbvVuI2HNNJ8XSfWHUtGcjqTh03kvOHnMnLA
MGJd0SCJWIVlS5YB9FgpioIE6v1eCksPs3nfFnbk7+Lz3Zup99VT7alpuHp84lShAf7r7+S8YZGHX1FU
co8ac/4v9n6FKhSiXW5iomLISMlgyvBzGZg6gAlZY4mNisGh2tGlbh3isQzAUqsfZijaC0VQ6/VQWl3G
oeJCPtj+MRW1lezM38OximOAcUde13UGp2Vy99ylpkR+IQT7j+bzf8/8gZ35uzl36HgSYxIZN3g047PG
EuuOJSk2EYGwoLcMwFKk4RMIJMZqelALcvBYPqXV5dR4avhwxyeUVpVx0+yF5sCPoNZXx5YD2wkE/cRE
xTCs/xCiXdEojV6bBb1lANYI6CCF1wR0qeMN+ELVcaNMa4OlhVbsXQ4XgBXlLZ3SAKqAOOtRdPCDD/3b
OjprqRNVrQB51nPoeEmw4LfU2cpTgIPWc7Bk6azUQQXYbT0HS5bOSu1RgK2A33oWliydVaoHvlCAnUCZ
9TwsWTqrVApsU4D9wA7reViydFZpD3BYAWqBTdbzsGTprNI6oDZ8MP3DkBFYsmSp56sc2AjHuwN/Bnxu
PRdLls4KbQF2NTaAOmCt9VwsWTortBbwNDYAgJeBA9azsWSpRys3xDoAiisurvFvvG09H0uWerReDrGO
Ky6OEwvZrcTYH7RkyVLPUzHwQuNfUMJOENKXQI71nCxZ6pF6hNBif5j5EzMAHfg71v0AS5Z6mnYDj5/4
iw0G0CgLOAD8BbAavFmy1DOkhZg+cALrNFfM/hngDeu5WbLUI/R6iOmTdFK9am91dfin4zEWDDKt52fJ
UrfVHuAaQgd/Gkd/aD4DAPgK+BVQYz1DS5a6pWqA34bhP5VOMoATHCIH+BNYtassWepmkiF2c5ph+9QG
cMIXSuDPwAOWCViy1K3gfyDErmwOfjjFGkBjNVoPiAFWAP91pj9jyZKlLgH/PYRu+DYH/xkNwDIBS5Z6
LvwtMgDLBCxZ6pnwt9gATjCBWOBHwI9DP7dkyVLnqgZjwe/PoZ+3CP5WGcAJJiCAhcAvgKHW87dkqdN0
EGO7PoczLPi12wBOMAGA4cB9wJWAan0Wlix1mDSM07r3YpzZobXwt8kATmECscAC4C5gmPW5WLJkunZj
nO1/hkYH9VoLf5sN4BQmADAIuAW4DUi2PiNLliKuUoxU/++cUL2rLfC3ywBOYwSTgOswzh9nWZ+ZJUvt
1gGMal0rMWp26O0FP2IGcBojyAqZwKXAOKCX9TlastRi1WIU71hLozJekQI/4gZwGiNwYywWTgdmY+wa
JAFR1mdsyVKD/Bgt+nZgNOr5EKNcf50Z4JtmAKcxAjAOEvUDRgPnhswgExgIxGHJ0tmjaiAPYxtvN0aT
3p0YrfpOatITafDD+v9urYMrTd0duwAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

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

View File

@ -0,0 +1,36 @@
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NeshinaPolina2111
{
internal class DB
{
private static DB instance;
private MySqlConnection connection;
private string connectionString = "server=git.pgk.alspio.com; port=3306; username=ISP41_Neshina; password=ISP41_Neshina; database=ISP41_Neshina_Dem2011; Sslmode=none; Charset=utf8mb4";
private DB() {
connection = new MySqlConnection(connectionString);
OpenConnection();
}
public static DB GetInstance()
{
if (instance == null)
instance = new DB();
return instance;
}
public void OpenConnection()
{
if(connection.State == System.Data.ConnectionState.Closed)
connection.Open();
}
public MySqlConnection GetConnection() => connection;
}
}

View File

@ -0,0 +1,213 @@
namespace NeshinaPolina2111
{
partial class EditProduction
{
/// <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(EditProduction));
this.label1 = new System.Windows.Forms.Label();
this.cmbProduct = new System.Windows.Forms.ComboBox();
this.tbName = new System.Windows.Forms.TextBox();
this.tbArticle = new System.Windows.Forms.TextBox();
this.tbMinPrice = new System.Windows.Forms.TextBox();
this.tbWidth = new System.Windows.Forms.TextBox();
this.lbType = new System.Windows.Forms.Label();
this.lbName = new System.Windows.Forms.Label();
this.lbArticle = new System.Windows.Forms.Label();
this.lbMinPrice = new System.Windows.Forms.Label();
this.lbWidth = new System.Windows.Forms.Label();
this.btnEdit = new System.Windows.Forms.Button();
this.btnExit = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Comic Sans MS", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label1.Location = new System.Drawing.Point(48, 45);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(269, 45);
this.label1.TabIndex = 0;
this.label1.Text = "Редактирование";
//
// cmbProduct
//
this.cmbProduct.FormattingEnabled = true;
this.cmbProduct.Location = new System.Drawing.Point(13, 136);
this.cmbProduct.Name = "cmbProduct";
this.cmbProduct.Size = new System.Drawing.Size(347, 21);
this.cmbProduct.TabIndex = 4;
//
// tbName
//
this.tbName.Location = new System.Drawing.Point(13, 191);
this.tbName.Name = "tbName";
this.tbName.Size = new System.Drawing.Size(347, 20);
this.tbName.TabIndex = 5;
//
// tbArticle
//
this.tbArticle.Location = new System.Drawing.Point(13, 247);
this.tbArticle.Name = "tbArticle";
this.tbArticle.Size = new System.Drawing.Size(347, 20);
this.tbArticle.TabIndex = 6;
//
// tbMinPrice
//
this.tbMinPrice.Location = new System.Drawing.Point(13, 303);
this.tbMinPrice.Name = "tbMinPrice";
this.tbMinPrice.Size = new System.Drawing.Size(347, 20);
this.tbMinPrice.TabIndex = 7;
//
// tbWidth
//
this.tbWidth.Location = new System.Drawing.Point(13, 361);
this.tbWidth.Name = "tbWidth";
this.tbWidth.Size = new System.Drawing.Size(347, 20);
this.tbWidth.TabIndex = 8;
//
// lbType
//
this.lbType.AutoSize = true;
this.lbType.Font = new System.Drawing.Font("Comic Sans MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.lbType.Location = new System.Drawing.Point(10, 120);
this.lbType.Name = "lbType";
this.lbType.Size = new System.Drawing.Size(90, 15);
this.lbType.TabIndex = 9;
this.lbType.Text = "Тип продукции";
//
// lbName
//
this.lbName.AutoSize = true;
this.lbName.Font = new System.Drawing.Font("Comic Sans MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.lbName.Location = new System.Drawing.Point(10, 175);
this.lbName.Name = "lbName";
this.lbName.Size = new System.Drawing.Size(57, 15);
this.lbName.TabIndex = 10;
this.lbName.Text = "Название";
//
// lbArticle
//
this.lbArticle.AutoSize = true;
this.lbArticle.Font = new System.Drawing.Font("Comic Sans MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.lbArticle.Location = new System.Drawing.Point(10, 231);
this.lbArticle.Name = "lbArticle";
this.lbArticle.Size = new System.Drawing.Size(51, 15);
this.lbArticle.TabIndex = 11;
this.lbArticle.Text = "Артикул";
//
// lbMinPrice
//
this.lbMinPrice.AutoSize = true;
this.lbMinPrice.Font = new System.Drawing.Font("Comic Sans MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.lbMinPrice.Location = new System.Drawing.Point(10, 287);
this.lbMinPrice.Name = "lbMinPrice";
this.lbMinPrice.Size = new System.Drawing.Size(109, 15);
this.lbMinPrice.TabIndex = 12;
this.lbMinPrice.Text = "Минимальная цена";
//
// lbWidth
//
this.lbWidth.AutoSize = true;
this.lbWidth.Font = new System.Drawing.Font("Comic Sans MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.lbWidth.Location = new System.Drawing.Point(10, 345);
this.lbWidth.Name = "lbWidth";
this.lbWidth.Size = new System.Drawing.Size(111, 15);
this.lbWidth.TabIndex = 13;
this.lbWidth.Text = "Ширина продукции";
//
// btnEdit
//
this.btnEdit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(96)))), ((int)(((byte)(51)))));
this.btnEdit.Font = new System.Drawing.Font("Comic Sans MS", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnEdit.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.btnEdit.Location = new System.Drawing.Point(86, 410);
this.btnEdit.Name = "btnEdit";
this.btnEdit.Size = new System.Drawing.Size(190, 45);
this.btnEdit.TabIndex = 14;
this.btnEdit.Text = "Сохранить";
this.btnEdit.UseVisualStyleBackColor = false;
this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
//
// btnExit
//
this.btnExit.Font = new System.Drawing.Font("Comic Sans MS", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnExit.Location = new System.Drawing.Point(13, 476);
this.btnExit.Name = "btnExit";
this.btnExit.Size = new System.Drawing.Size(75, 23);
this.btnExit.TabIndex = 15;
this.btnExit.Text = "Назад";
this.btnExit.UseVisualStyleBackColor = true;
this.btnExit.Click += new System.EventHandler(this.btnExit_Click);
//
// EditProduction
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(187)))), ((int)(((byte)(217)))), ((int)(((byte)(178)))));
this.ClientSize = new System.Drawing.Size(372, 511);
this.Controls.Add(this.btnExit);
this.Controls.Add(this.btnEdit);
this.Controls.Add(this.lbWidth);
this.Controls.Add(this.lbMinPrice);
this.Controls.Add(this.lbArticle);
this.Controls.Add(this.lbName);
this.Controls.Add(this.lbType);
this.Controls.Add(this.tbWidth);
this.Controls.Add(this.tbMinPrice);
this.Controls.Add(this.tbArticle);
this.Controls.Add(this.tbName);
this.Controls.Add(this.cmbProduct);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "EditProduction";
this.Text = "EditProduction";
this.Load += new System.EventHandler(this.EditProduction_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox cmbProduct;
private System.Windows.Forms.TextBox tbName;
private System.Windows.Forms.TextBox tbArticle;
private System.Windows.Forms.TextBox tbMinPrice;
private System.Windows.Forms.TextBox tbWidth;
private System.Windows.Forms.Label lbType;
private System.Windows.Forms.Label lbName;
private System.Windows.Forms.Label lbArticle;
private System.Windows.Forms.Label lbMinPrice;
private System.Windows.Forms.Label lbWidth;
private System.Windows.Forms.Button btnEdit;
private System.Windows.Forms.Button btnExit;
}
}

View File

@ -0,0 +1,225 @@
using MySql.Data.MySqlClient;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using static NeshinaPolina2111.AddProduction;
namespace NeshinaPolina2111
{
public partial class EditProduction : Form
{
public EditProduction()
{
InitializeComponent();
}
public int ProductId { get; set; }
private void btnEdit_Click(object sender, EventArgs e)
{
//проверки все
if (ProductId <= 0)
{
MessageBox.Show("ID материала не задан.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
return;
}
if (string.IsNullOrEmpty(tbArticle.Text))
{
MessageBox.Show("Введите Артикул", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbArticle.Focus();
return;
}
if (string.IsNullOrEmpty(tbMinPrice.Text))
{
MessageBox.Show("Введите Минимальную цену", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbMinPrice.Focus();
return;
}
if (string.IsNullOrEmpty(tbName.Text))
{
MessageBox.Show("Введите Название", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbName.Focus();
return;
}
if (string.IsNullOrEmpty(tbWidth.Text))
{
MessageBox.Show("Введите Ширину", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbWidth.Focus();
return;
}
if (cmbProduct.SelectedItem == null)
{
MessageBox.Show("Выберите тип продукта.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
cmbProduct.Focus();
return;
}
if (!decimal.TryParse(tbMinPrice.Text, out decimal price) || price < 0)
{
MessageBox.Show("Введите корректную цену (неотрицательное число)", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
tbMinPrice.Focus();
return;
}
var typeItem = (ComboItem)cmbProduct.SelectedItem;
string upquery = @"
update Products_import
set
Name = @Name,
Article = @Article,
MinPrice = @MinPrice,
Width = @Width,
idProduct_type_import = @idProduct_type_import
where idProducts_import = @idProducts_import";
var conn = DB.GetInstance().GetConnection();
if (conn.State == ConnectionState.Closed)
conn.Open();
using (var cmd = new MySqlCommand(upquery, conn))
{
cmd.Parameters.AddWithValue("@idProduct_type_import", typeItem.Id);
cmd.Parameters.AddWithValue("@Name", tbName.Text.Trim());
cmd.Parameters.AddWithValue("@Article", tbArticle.Text.Trim());
cmd.Parameters.AddWithValue("@MinPrice", price);
cmd.Parameters.AddWithValue("@Width", tbWidth.Text.Trim());
cmd.Parameters.AddWithValue("@idProducts_import", ProductId);
try
{
int rowsAffected = cmd.ExecuteNonQuery();
if (rowsAffected > 0)
{
MessageBox.Show("Материал успешно обновлён!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
MessageBox.Show("Не удалось обновить материал. Возможно, он был удалён.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.DialogResult = DialogResult.Cancel;
this.Close();
}
}
catch (Exception ex)
{
MessageBox.Show($"Ошибка при обновлении:\n{ex.ToString()}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void LoadProduct() //загрузка продуктов
{
if (ProductId <= 0)
{
MessageBox.Show("Некорректный ID материала.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.DialogResult = DialogResult.Cancel;
this.Close();
return;
}
LoadTypes();
string query = @"
select
p.idProduct_type_import,
p.Name,
p.Article,
p.MinPrice,
p.Width
from Products_import p
WHERE p.idProducts_import = @id";
var conn = DB.GetInstance().GetConnection();
if(conn.State == ConnectionState.Closed)
conn.Open();
using (var cmd = new MySqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@id", ProductId);
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
{
tbName.Text = reader.GetString("Name");
tbArticle.Text = reader.GetString("Article");
decimal price = reader.GetDecimal("MinPrice");
tbMinPrice.Text = price.ToString();
tbWidth.Text = reader.GetString("Width");
int productTypeId = reader.GetInt32("idProduct_type_import");
SelectComboBoxItem(cmbProduct, productTypeId);
}
else
{
MessageBox.Show("Материал не найден. Возможно, он был удалён.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.DialogResult = DialogResult.Cancel;
this.Close();
}
}
}
}
private void SelectComboBoxItem(ComboBox comboBox, int id)
{
foreach (ComboItem item in comboBox.Items)
{
if (item.Id == id)
{
comboBox.SelectedItem = item;
break;
}
}
}
private void LoadTypes() //ЗАГРУЗКА ТИПОВ
{
string query = "select idProduct_type_import, TypeProduction from Product_type_import";
var conn = DB.GetInstance().GetConnection();
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
using (var cmd = new MySqlCommand(query, conn))
{
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
cmbProduct.Items.Add(new ComboItem
{
Id = reader.GetInt32("idProduct_type_import"),
Name = reader.GetString("TypeProduction")
});
}
}
}
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Hide();
}
private void EditProduction_Load(object sender, EventArgs e)
{
LoadProduct();
}
}
}

View File

@ -0,0 +1,450 @@
<?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>
AAABAAEAAAAAAAEAIAD8SwAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAEAAAABAAgGAAAAXHKoZgAAS8NJ
REFUeNrtnXd8VHW6/9/fc6Zl0iEkIZBAIIReBATBSresq65KkWJbde/ub6+4u+Lu3Xplryvbu11BiW3t
BREBG3ZRkA4BkhAIpNfJtHO+vz/OTEiAQMqcNM6Hl4oQyMyZ7/vzPN/2PAKT5K2uPtUvxwCDgRHAWGAY
kAkMBOKwZOnsUTWQBxwE9gBfANuAw0DtiV/sijMHD9EB4EcDk4ELgQuAkUBvwGGNAUuWGlQPlIbMYB2w
EdgFeMw0gogZwCnAzwKuAS4FJmFEf0uWLLVM5cAWYC3wMpBrhhG02wBOAF8BJgI3AXOAQdbnaMlSu5Ub
MoEXgM8jaQRtNoBTRPxBwH8DC4Ek6zOzZCniKgYeAR4HDkTCCNpkACfAHwssAO7CWNSzZMmSudoN/AV4
Bqhpjwm02gBOgH888CvgW4BqfS6WLHWYNOB14H8wFgvbZAKtMoBG8AuMVP9ejG08S5YsdY72AL8FcgDZ
WhNosQE0gj8W+BHw49DPLVmy1LmqAf4E/Dn08xabQIsMoBH8McAK4L8w4QyBJUuW2iwJPADcQ+ggUUtM
4IwQW/BbstRzTUBY8FuydPaagNIC+GMt+C1Z6jYSIVZXhNht7l5O8wZwwmr/jyz4LVnqlibwozC3zZmA
chr4wdjq+7EFvyVL3dIEfhximOZMQDnNXzAc+AXWVp8lS91VsRhndcY39wVNDOCEef99wFDrGVqy1K2V
iXFa95TrAc1lAAuAK61nZ8lSj9C3QkyfpIa5fSNnGAS8iXWxx5KlnqTdwBWEbhGGtwZPlQHcYsFvyVKP
0zCM6/pNmFegSfSfBNxmPStLlnqkFmIU7Glg/sQM4Dog2XpOliz1SCVhVOtqkNIo+odr+FmyZKnnak6I
dbzV1U0ygGvCv2HJkqUeq0E0CvRhA3BjVO+1ZMlSz9elGOX6GwxgODDOei6WLJ0VmoTRq6PBAKYDvazn
YsnSWaEYjEY92EL/M9t6JpYsgYLS7NU3KSXSKLvXE3QBEGMD+mGd+bd0lkogjH8LgVf3cMxXiI6OBHSp
gzBMQREKUUo0ve3J2IUdiezuhjASGGwDRmM18rB01oGvINGp1asp8ObyTfUX5NXvZ2v1R1QFKghKHU1q
CASqUFCFQpprAKNjJ5PiTGNc3GQyXFm41WiQdEcj6A2MsAHnAlHWkLB0toCPkBT5C/is8j3WlbxInmcf
x3yFaFJvejIuPBUIsV3kPcSXlZtQhUKKsz9DY0Yzq893OC9+Or3tfbpbRuAAxgpvdfUrwFXW0LDUs8EX
IOCY/wgbyl7lreL/sKf2GwK6DwEorSx5o0vQAZcaxfj4C5ifdjuT4y/BKaKQ6N3lsbwqvNXVW4Ex1hCx
1FOlCAWPXst75Wt47sjD7KzeTEAGUJtb7ANkCHDDPAyDEM18rSYh3t6Lq1OXcEPa90h19DfWD7q+vhHe
6uoqIK47vFpLllonY3HvQP0uVhX+nQ2lr1IXrD4lzLo0YLYrLuzCQbIzmWRnfxShUuEv5rD3EH7dT0D3
IJr580IoTE6czg8G/JKRMeORsstPB6qFt7q6x+xrWLLUCH2CBPi4cgMP5v+OXTVfnRb8NNdAxsWfx/m9
ZpPsSCPR1os4WyKKENQGqykPlFEZLOPtkhf4oOxNfHr9KTMCTcLg6JH8ePDvmBI/rcubgGUAlnoe/EKh
Xq/lhaNPsOrQXynzHzsp3Zch+NOjsrg0+Xou6X0Zg6NG4FRcKIiGbb6wmQghEAh2ebbyk52LKKzf3+y6
gRb6e+/J+iPnJ8zo0iZgs4aLpZ4kRShUaRU8UvAHXih6BJ9WfxL8uoRoWwIz+1zFvL63k+0eiSps6FJH
Sh2NE83CSBMECtFqDHG2hNOu9asCDtXn8of99xCd/U/OiZ3SZdcEFGvIWOopEkKhJHCUvx38Nc8efgC/
Xn9SlNYkpDgz+Mng+7ln0B8YHj0WgdIiQCWS3vYUkp3pZ1znVwXke/bwt4O/It+7H0V0TdQsA7DUI6QI
hZJAEX868HNeOboKncBJc3RNwrDYsfwy++98O/kGXCKqlZFZ4hBO0lz9WgSOKmBr1aesLPwrtVp16NSh
ZQCWLEUc/vJgCf/Iu5d1Jf8BtCaoGfN9hQt6X8pvsv/N1IQZbT69JxCkOvtjV+wt+3ohWXPsWV4pfgrt
pMmFZQCWLLVLQihUaZX8O/8+1hx7BtBPgl9KlTnJc/mfrL8wzD223YtysbZ4VGFvkX0IwK/Xk1P4b7bX
bu5yUwHLACx1X/gReLQaHi5YwStFK5EET4IfaeOq1Ju4e9B9pDnS270YJ4SgOlhBUPe3OKFXBBR583n6
yL+p0aq61FTAMgBL3RZ+v/Sx+si/+M+Rh0+a8xvR2c41fW9laeZv6G1PjshKvC518usPEJDB1oEmYFPZ
OjZVrOtSnTYtA+gGA70lP8426ei8WfIsTxX+g4D0nQS/wM51fW/lvzN/SYItMSLwCwR1eg1HvAVt+LPg
0Wp4sWgl5YGSLvOZWecAuqAUFIQQ+HU/fukLDWqJxLiiCqAKW8OBFQWVKNWNgoIuZXe6jNI2EIXCZ1Ub
eaTgj9QGq5rs80tAwc51abfx/QH/Q5yaELE9eCEUDtbvZV/dtjZFTkXA9uov+LhyA1f2WdAlDghZBtBV
BnXommpQBsj35nHMf4Q9tVv5puZT6oIe/DJIUA+iEwx9cHbsig2n6qCfcwDj4s8nyZ5CijONNOcAVNQG
4+hJUoTCXs92/nbw1xR5806CH2x8p++tfH/Az4lV4yN6AEeTQT6t2Ei5v7jVtweNzxjqdQ9rip/ngsTZ
JKi9Ov3zsQygswc0CkGClAQO80XVB2yu/IjtNV9wxHsIv+5Dk4HTDhHjpprgpaNP4RB2BrizGB07iSm9
pjMiejy97cmoQu0ut9POAJCgIljGI4d+z+6ar08+3isFs5Ov5XsDfkpchOFXhMKB+j2sLX4BKXVEGzN4
VcC26s/5puZzLk68rNOzAMsAOnEwI6DAu5+1pS+yvuQVCur349HqUDh+/VRt0UCT6NJLvfSys+ZrdtR8
zZri5xngHsK03lcwOfEShkSNwqk4u7ERGJd7Xjy6kvdL3zzlCb/ze83mhwN/SS9bUkTfp0Dg0328dHQl
+fV72xT9j/9dUBOs4r2yNUxJmI4NO50pywA6YygLhTqtmvfK15Bz+F/srt2KlDqKALs4Fd7G+fVTDabG
g7GxYdRpFWyv/pwd1V/wQlE6F/SawxXJ8xkePa5bGoEQ8EH5WnIK/0FA9zV535qE4bHj+OHAX9HfOTDi
700IwWeV77Km+Ll2Rf+wFODLyg/Jr9/PEPeITv0sLAPoYClCoThQxAP597G2+HnqtToD2lNcWNFDvxxr
iyPRnoJTjWpYPQ7qAWq1Ssr9xfj1IEIYAyt8V/24GUiOegv4z5FHeK/sDaYlfZtrUpaQ7R6FgtotFgwV
oXDQu5dHC/5ERaC0SVakSejrSueHA/+XodFjIg6TIhRyPTt5uOB3lPuLW5iRnenvhKPeQnI9uxjiHtGp
z9YygA6UEIL99bv5Z95y3it9HSH0Uw4oCfR1ZXBx7yvp60onzdmfTPdQYm0JRtlqwKvXc9RXyEHPXqqD
1ZT4j/B55bsU+4qoDVYCx7OBcLQs9RXx/OGH+KR8A99OXcSVyQtIcfQLzUO75mKhQFCr1fDEob+wq2bz
SYt+sbZe3DHg55xnwt17RSgUeA/wt7xfs6N6c0TgDysovXxdvYkZva7EJjoPQ8sAOkiKUMit38V9uT/m
q8oPTjuYpIQZfa7ihwN+g1O4mtxNb6x+joFMjLsQAJ9eT0ngKPn1ubxXtoat1Z9yoG43QelvWE8IG0Fh
fS4P5i3n04oNLO7/30xNmIEdR5fMBqSQvFP2CutLXm6S9hvbfTbm9buNy/pchwhtiUby89pfv5s/H/gf
Pil/p13z/lNJB3bWfEOtVkWiLanTdgPUX/zsZ7+x8DRXQigU+Q/xxwM/47OK9WeMJBIoC5QyPHY8ac7T
HV+VDT9UoRKvJpIeNYipiTOYkjidQdHDqQlWUeYvISiDDYNYhKYGh70FfFrxHnV6LZnubGJtcV1q21AR
CjvqvuJP+39Gqf9oEwh1CdP7fJv/yvg5MUp8xF53uPjHttov+eOBn/J5xbsRh7/x5zcp8RL6OtMtA+ix
8COo0av528Ffsb7kpRalkUJAZaCCGq2KKYkzcCktq9puDCKJQJBg783wmLGc32sW/aMyKQuUUuI/ipSy
YRFLEeDVPHxT/Rm5nt0MihlGH0dql3luVVoF/8j7X76u+uikeX92zFiWDf49/V2ZEctcFBR80sfG8tf5
w/6fsqvmq4im/Sd+xh6tjuGx4xkZM6HTDMA6CmyypIANZa/yTulLCNHyD1kV8FnFRjaUv4ZswyA0qttI
kmwpXJtyM/cPe5wb039EgiMZrdHLMKKbxsfl6/j1nu/zfsVb6OidflRVCslbJc/zftmak1L/GFs8N/b/
IVkRWkE3or5CUeAQ/y5Yzv/tW0qeZ7dp8B83Mp0jvgIC0t9pz9nKAEyUEjo6+peDv6DYd7hVqaQAAnqA
A57dZMeMor9rYDuihCTB1ovx8VMZFjOa0kAJR7z5GNnCcSMo9R9jc9VHxNnjyHKPRBVqpz23nXVb+NvB
X5186k4qXJf2Xeb3vQNbBJawFKFSL2t5v3wNfz34K94peRGf7jEd/rCZxdsTuTBxDk6lc3rzWAZgooIE
eOrwP3m39LU2DSghoCpQwZ66baRFZZDmGoBNtO3giHFnQGFAVBbnJlyEhs4Bzx78uq/JlKAuWMNXVZ/g
tLkYETsOtYPXicMXbv6d/398Wfn+San/uPgp/Hfm/9LL3qfNhigQKELBL/18U/sZDxWs4MnCv5Ffvw9F
yA7NfSSCWX2uIU5N6JRpgLULYJKMM+u7WF/6Mu3ZYlME7Kn9ht/s/QFz+lzLzKSrGeIeQbQai5S0ev6r
S50Uez9+OODXZEeP5t9591HsK2iyZVgbrOTBvPvQpWRB2h04cHTY4JRCsq7sFd4tff2kRb9ejhRuzfhJ
mw77hJuAIqBWq2Jn7RbWlb7Ih2VvN2RnaifMeuqCHuo1j5HydcIygGUAJikoA7xd8hJH6vPavYqsCij1
HSGn8J+sKX6OyQmXMC3pW4yJnUwvWxJOxWXM+Vs4giQ6LhHFt5NvIMmRwl8O/Jz9dTubmEC9VsMj+fcT
a4vl6uQlHbImoKCQ783lucMPUa/VNgFSCJWrUxczKf4S9Bbv94tQtBfUabWUBYr5rOpdPi5fz+aqTVQF
yltx3DryEgKC0k+1VtFpey+WAZg0kA/78/mg7K2IfbBKaOuuMlDMmuLn+aBsLWlRA5iaOINxcecxKnYi
cWoidmFHESpIiX6a7CBc6vr8hFnEZyfyYP59fFKxgXA9PUWAR6vmkYI/kOpMZ2rCTKTJR1b9+Hnp6Cr2
1X5zUuo/IWEq1/e99bTnFcJbeCAIygBBGaDQd5AdNV/xVdVHbKn+jKPeQ3h1o1S42gWu5GvST1Wg3Dj8
YRlAz5AUsKNmM4URiP4nD3KwCajXq9lXu419tdt4wRZLVvQo+jr7MzHhQoa4R5FgTyTVkY5DcRpbfw0b
PvK4AQBS6oyOmcgvh/ydB/Lv541jOchQdR3jyGoB/8pbTp/svmS7R5p2bl0RClurP2XNseeQjRYndQlJ
jr7c1H8pfR0Zxln80O+G34MQxiGgymAZR32F1GsettduZkvVJ+TV76PAs4+gNMqFCWE8vy4zVpBoUrMy
gJ6kgPSzqXw9Xt1j2mBrnLrWazVsqfqELcCG0teIUtykuPoyPGYiSY5k0lzpjI6dRIKtN6pQcSsxuNWY
0LTTOGWY6kjnrsx7capuXjzyKBJ/w/fYWbOZf+Xdy6+G/INettMvvoXn2oo48YKDbLZYiUBQrVXy3JFH
KfEfOSky948aiF/6+KzqXRyKk4D0U6/VUeYvptR/FL/uo06r54gvj/1126kMVODVPARkoOE9dIVo3+wz
68TXZhlAxMFUKAsc44Bnd4etJoezAgBd+qjVfFTXVrCnZidCgFt1E2dLwm2LIc4Ww7CYcQx2jyTGFkuc
LYHMqKH0svchSonmjoy7cQgHLxx5mID0AEYm8FH5Ol4pfoob0+5suI/Q5F0LQVAG8en17PVs55jvMH7d
j46OioJTdZEdPZo05wDswtF0OiFgU8U6Pip/+6SMSRGwu/Zrlu/9IUKooQtMGprUCOhefHo9QakjJSdd
iOpKkb45KUIlSonurDVAywAi/4EKcj27yPPsMfEI6ZkNoXHU8+kein0FhKqLsbXqc0BgV2zE2uJJdQ4k
wZ5ElOIk1dWPzOjhZMeOZlvVZw33CDQZ4MUjTzAp/mJGx0xsmAoIoeDT69nv2c0H5WvYVv0VeZ7dlPmL
CEgtdPJQYBc20qOGMDJ2PFenLmFMzLkoKEahM6lz2JtPXbAO+ymOpvl1L37dC9AA+knm103LIqo4iLUl
GtMYaW0DdntpUuOwN496zdNpBnAqQzg5zZToMkBloJRyf2lD9FGFwCGikGhNXr8i4Ig3j2ePPMygwUNx
KzFIJPs9O3mu6FHeL3uDUv9RNKk3vZYc+jsCUiO3bjv76rbzReUH3D7gHi7vMw87doRQGBd3HgOjh1Lg
2XNSut74f0UPqn8qJdgUO9FqTKe9BusocIQVkH7y6/dCF+wC05w5qKGFMZsAgcQvPQTD6cIJ2lb9JWWB
EoQQ1Ot1PFP0EM8dfpgS3xEEOjbBKdtwN/4+R7x5/PXAr9lY9jpSGAuR42On8ushfycrelSTo8o9WRJI
diYTq8Z1WmkwywAiCpPAr/vYX7e7W5fiPF2QTbD3Mm4NSolDcRJnSzDm3q2IzKqAykAxD+Tfx+66rShC
QSCYEHc+S9J/SJQa08NKmTZvACNixhN7hm7DlgF0IwVkgAp/ZQ99d4KJCecTq8YDRoXbPM+eNk2/w91z
Xzn21PHS51Iyo9e3uTxl/lkxNG1CZXD0iNBtTysD6BHS0XtkXX4JuNUYxsVNxSYcgOCQ9yDbar5u1/rb
5xXvUug92LAg6FZjuTX9R0xJnNmjpwK6hBRnOuPiJnfq67AMIMLSZPC0J/C67/uC0XETGRU7ASkNkztU
vx+vVtuuEtmHvfns9+wJneAz1gP6OjJYmrmciQkX9lgTkMDIuAlkuAZ3amlwywAiDQoaUnaPBcDWDFan
4mRWn2tItPVuOAhUGSwj2M677EE9SKn/WBPTlFJniHsk9wz+I1N7zUJKpUetCYRrGlyRPA+3Et2pVZgs
A4iwbNhQRM/aXdUljIydyIWJl3K8Oomgtz0Zu3C292+nMlhCUAZO+J46We6R/CLrb1yZuhgF5ylLo3dH
aRImJVzM+Lipnd4YxDKACMsu7NiFvce8HwlE2+KY3+92kh1pDesbAkF/VyYuNaZ991hOWxxVJ82ZwY8G
/R/fz/wFyc7+BGVXrV/cMhlz//7MS7uj02oAWAZgolRhI8bm7jkGIGF2n2tD0V82sYY05wCGRI9o54qH
wK44G11WOhEYnTglniVpP+TeYQ9xbsI0FBzdcm1AAjZhZ17abUyIm9olmrNYBhBh2RUH/VwDe8R7MTru
jGdxvx+cNFeVSOJsCUzr/S1swt72OCYhSok+4X6BUbEnfD4gXM1octzF3DfsEe4c9FuyokcjUbqNERgv
U+XbqTdyXeotHV5pyTKADvmQJU7hYmjMOEQn1dOLlHQJfZxp/NfAn5MZNezU0UrC9N7f4uLeV6K1MTUX
QiHOlthQf1AgCEgfB+p3s9eznRq9CkUoodek08eWwsK07/HHEU/x3Yx7GBw9Cona5u/fUfBLqXJ58kK+
P/DnxNkSu0z5desuQISlCpU0ZwYO4SAg67vlHRUJuNRobky/kynx05stBCKR9LYn86NBy1GFwnulrxFo
1IikJSbjVB0k2HoBRk2A8mApTx3+J28X/we/9HFO3Pks6v8DRkVPaDgrgISBzizuSP8plyVfzycV77K+
9BX21n5DdaAKVRy/i9DZ0iQ4lSiuTruZ29J/Qm9bny7Vl9EqChphCSHQ0Pi4Yj0VgbIucyGoNfAr2FnY
/wcsSvsBjhNW+Y0SWyoilJ7r6MTbEjk34UL6ONMo9R+jOlhNUAYbonL4Hz30jyYNOO1KNJckXcHVKYtx
q7GUBo7x17xf8Z8jj1AdrKBeqyXXs4svKj/AptgZFD0Mp+JsaIYiEPSyJTEqdgIX9bqUYbHjiLbFUROs
xKf7CciA0V+xE8wg3NtxgHsotw1YxpK0H5Bg69XlmrIKb3X1WXL1osMeKT5Zzy/23sH6kpe7xZ30xvCr
wsF1fb/L9wb8D3FKQpNVfxDUaBXk1e9Dk0ES7En0cw7ALpyhqjw6hd6D7K77hk3l73DUdxS/7sGn1wPg
UFw4FBc2YScjaiCTEy5hdOxEkuypFPkL+EfectYWPwvoTYDVpJGRXJZ8PYv7/ZDMqKEgZZM0OlwOzKd7
OeQ9wMH6vXxQvpYDdXvZ79lOvebh+AYmphhzuIuzBJIcqUxLupLr+t5CtnskQoou1XXJMgCzHqgQqIrK
M0UP8cfcZegn7G93ZfjtwsX8ft/ju+l3h9ptGeW3NIIc8xdR4j/CG8XP8GHZGjQZINnZn7FxUxkSPYLx
ceeT6uhPlBqNjk5A+gnKAF49VPUWcClROBUXqrBhE3YcwoGGxlfVH/NIwR/4onIjjXsVnPj6pIThsRO4
Y8BPOS9+WkMx1BOlCGOqEND9lAdL2FbzJcd8R9ha/Ql76nbh1Wop9x/Fpx8vExa+wtzUypt/Vg0/D0V6
CcTZEkhx9ufC3nO4IHEWo2Im4FKiunQrdssAIgS9EIKgrlFaXc72AzvZVLKBNx3/Rrd5uwX8TsXNwvT/
x639f0yUiEaXOgoKZYFi1pQ+z2vHnqEqUEq5/yhaqHBoePC7VTdprgwu7HUZc/pcF2o9rpzhmSmUB4t5
o/hZni78N0d9h1pUtkuTkGjvwxUp85nb97ukuwZhLAucehiHewDo6NRpNdRqNZT6j7K5ahPHfMcISB8l
/sPsqf2GqkBVQ3s1XeroBE5e/xACFaPwqkCht6M3w2PHk+Loz/j48xgec07ogJQDvRucCLUMoF3gKyhC
UF5XyYGiPNZ9tZEdebvYU7CPoN2HOrUAmVZJl74aIACvHfv+/tyQ/n1mjZ7JgOR03I4oCr0HeKjgd7xT
+jJerb7Z1DkcnRGCgVHDmJv2XeYkfafZrrdBgmyp+ZQnC//BZxUbCOr+VqXkegjsoTHjuKHf95nW6wpi
1LgzRtqG3gDIhvCuSY1arZpifxG1wRo0gmgyiEer5ZivkJpQq/WwXKqbfq6BxKjx2IWDOFsCqc5+uNUY
Y5GyDb0aLAPoZlIVFb8WoLiyhA+2f8zHOz7j69yt1HrrkFJiU20gBWJQGXJiAShdMBKEgat0w/Y0ZGEc
qlCJdkVzwZjJpI+N43PWsqXqo9BUoGUy5uturkpdxO3pPz1lEdG3yp7nLwd+SamvqMU7Bs19L7cawyVJ
32Jhvx8w1D0aG7ZWX8YKrx8crzZs/FuT2kmmIoRAFTbCXx0uqtoV5/eWAUTyQYXSfH8wwI6C3Xyw7WPe
2/oBh4oLCWhBVEVtuNEWHkXCpSEnH0SmVSG60lMWgKbAoV6IXSnIyigQEnQBUQGCg4oguwTFJdt0UCS8
nnBzxo+5ud9dOISzAZCgDPCLfbex9thLp6z/15bvpUvoH5XJt1MXc1nSdfR3ZZ52WmDJMoBWgq9Q661j
e/5OXv/0LT7b/SWlVWWAkQ00Ozh1cGZ4EecV4FVrOn9fOvwCqt2IvcnIvEQIqAb8UkBCPcroIvS0SlD0
dp2s0SUkOJL57dCHmRo/o2Hbrlav5se7lvBZxYaI7pDo0qiwmx0zhqtSFzOz91Uk2VO6dXTuCFkHgU4j
VVHx+Ov5av83vPrxG3y883NqPDUoinJa8I0BqRPljGLJmJuIGeTlocL7qA1WdM65gND3FD47FCQic/sY
UT8MhgCRXokceQQ9wXN8474dUgRU+It55ehKxsZMIlqNNbwnWElNsDLiZhhuc76r5mv21+1kY+nrfCf1
JqYkTCfelmgZgWUAreBFKGhS45uD23jxw9d4/5sPqaqrRlVUY35/BulSx+VwsWTWDSyZMR+7XQEVHsy/
j7qONIFwP8yACkXxkNsHWRJtpP/hqO8IIrJLILsYnIGIn6fdU7uTsmBxgwH4pe+kq7+RlCogKH18VvEu
O6q/ZFz8FK5MuYFJCReTaOsTmhr0vIItlgFEBHwj3T9cdoSXP36DVz9+k+LKUhRFaRH4jeG/cfZCFk+f
R5TDCRLm9r0Vh+LkXwfvpSpYam6nmvBid0BFlMVAbhKyKO54uh+CXyR4YUQRMr0clMgfphcC6rRKDnvz
yHBmEaIPs0/tH2+fVsNH5evYXLWJsXHncWmfa5maOJNkRxpIYRmBZQDHpSgK9QEfG7a8z3Pvvcj2vJ3G
A1JbfqnnRPjdDldDwQc7dq5JWUyCPZFVh/7GzpqvkOiRNQIlxJbfjiiJgfxE5NE48NmM3xAhAAWQVgWj
i5C9aiOS8jcHok/3Uhkoa/gGdsWO2kH1EsKlyP26h08rNrKl6mOGxo5lVtI1XNhrDmmODByKK1Ti7Oyc
Hpz1BiAQCEVhX9EBnn//Jd74dC0eX32rwG8C/6wbToIfjBVpFRuzel/NsOixvFacw7riFznszSMogyi0
4Xhqw7a2gKCCKI9ClsQgDicgK10G+OGIj/F1wqHBoFLksGPIKL/pV+hswkaUerw+glOJCu0KdORnbGQE
Aenlm6rP2FH9JS8WPcH5vWYxvfeVDIsei1uNRkjRI+s5WgbQ3MAQCr6gj4+3f8G/X3uYfYcPoCpK++Cf
Mf8k+GlsAxLSnZl8L/1nXNrnOj6tfJcPy97hsHc/h+vzGgbgid1wlBPaXwm/Dem1g9eGOBqHLHdDZRTU
25EydNhFafQapIAYH4w8CgPKQdVMh1+GzvD3cfQNOxVRihuH0jkFU443VNXI8+wh37OXt4qf45z485nW
+wrGxp5HqrMfduE8a7KCs9YAFEWhoq6Kx9Y+xWufvEm1p6bV4DfAbzcW/BbPmHca+JvYAAoKWVHDGeQa
yjXJSzjk28+26q+o02qoCpZRUJ9Lse8wQkhq/XUUHjuMXu1A1tmNuXyNC1HhRvpUZEAFXSBF6IRb40MH
oZRfpNYgRx1B9qkxLeU/+X1CtBpPH0da6F1L7MJBoj2h0z9/wwgklYES1pe8wkfl6+jrzGBqr1mcm3AB
Y2ImEWuLxyGc6D3YDM5CAxAIAbsLc3l07So2fP2eMSCUdsA/21jtbwn8J/55ALcSzTD3WIa7xxmXWKSf
2mANAenDHwzy7zce5eDn61A1OwQVA3bjrdBwrFU5xfeVAmw6ZJbCiGPg9nV41Yx09wBibfEN/28XDsbG
T+Ld0leRBLvAaDCmB37dQ55nNwc8u3nt6JMMcGczNXEG4+KmMMg9lD72vsb5f0nDdWTLALob+sKoFLH+
6/f412uPkHcsv03gN8DfsNU3r9XwN+E0dJw0LBUbvRxJ1PnqeeDtx3hn0yaE7jwOvdKC76MLRKwfMfwY
+sBSpE3rcPgFULbfR1lyFRlJMWiahiJUhkaPxaXG4NEqu0zBlMa3Auu0KrZXf8HOms1EqdEMiR7N0JjR
TEmczuCo4fSyJxOtxoY+M9lwdLhbMnG2nAQUQqBJnbWbN/CXF/9JaVVZi7f2Tgm/3cWSWQuMyO+Mimh5
Z0Uo1PnrefDNx3h6438aWmy30E2M0ZxUhxh9BJlcc3z1v4OJEh4H+qZMpvSZzl3X/4DBqQNBQqm/iHt2
38Tmqo+6fL0EyfECJtG2eHo7+jAufgpDo8cwLHo0We6ROBUXLiXKKJAiZbfaXjwrMgAhBB5/PS9seo3H
3nqSak91u+B32p0snrWAJTPn43Z0JfgFqDpKZgVyeBEyxtth8/1TqiQOURnNppJPqFxVyQ+v/h6ThpxD
b0cKo+Mmsbnqo64/dqDBpOq1Kg55qsj35KIKQZKjL6nODIbFjmJC/MUk2BLp60ynrzMDJfRDCBEqptw1
pw09PgNQhEJZbQWPr1vNix++is/vQ1HadgslHPkXz1rAjV0u8guE248cdgwxuAxpC3Ye+AJE0AafDkQe
SgAh0XSNfklpfP/K27hswky+qtnE3TuXUBUs6ZZ1E43xYFxNVgCb4sKlOMlwD2Fg1FCSHH04J34KA13Z
OBUX8bZE3KHTkOGpQ8NH14nG0KMNQBEKx6pK+efrD/PW5+vQdb3lQHUC/B5/PQ+8+ThPb3y+9fAn1RkH
e1KqOiflP9EACnvBZwOQfuX43XtdIzE2kf/37duZMekCfrXvdt4vfatblU077ccQNgVp7DJE2xKIUWNJ
sCcwPHYiA6Oycatu+rsGMiR6JC7FjYIaqpKkdkrloB5rAIpQKK4q5c8v/4t1X24w3my74HeyeNYN3GhW
2h+o58E3Wgm/FAhVh4wK5KgiCKf8nSkRunT0aSbySBwn3oPWdZ1Ydwx3XvMD9MHF/D73bjTp67ZZwJkM
QcqmszC7UEmwJ9HbkUasLZZUVxpjYqdwTtwUBkUNbahJYBlAe96UEJTXVvLnl/7FW5+vazf8TruTJbNu
MDntbz38RAVQhhUjB5cg7cGusRAtBGJfMvLrfkZ9gVM9U10nITqBBd+6io8Snmdr9cd07y4KrR1Tx03B
mIzaGB0/kd8M+ReZrqEduojY4xqDCCGo9Xl4dO2TvP3F+nbD7wov+JkAvxAKnkA9D7UBftHbA5Py0Yce
7ULwgyiLhr19jBuHzQ06RaGyrpLn176B80gyLiXqrDqJrwhjimALn/AkSJ5nN3n1e9s8Vi0DCIEe1DVe
+PBVXt70GrrU2x35F81cwI0zFhBtQuSvD3h58I3HyWkp/FKAkIjMcpiSB2mVHL9h1wXgD9hgTwqy2sWZ
SiApikJ5VTm5n5YRU5uMOEt7VGmhhcTB0aPJjh7dbBMWs9SztgGF4O2vNvLE20/hC/obWkq1Ff7FMxdw
40xz4PcEvDz4Zivg1wXCHYTsYuSQY2DXut7Zk7zeyMJ4Wlr/TCiCyhIPjq1RiHMdSLu/e7f+baHCi4UC
hYyowVzU+1K+nbKIvo70Dt8R6DkGEDrh95cX/0m1pxZV6Zrwi8bwb3iu5ZG/t8dY5e9bBULvWqAIUMri
kHuTjxcbaekfVSBQ6EYkJcKQYz0afF2GCpna3Ax0D2NW0tVc0vsyMlyDQ2XEO34XoEcYgKIobMvfxd9e
eaDdJ/wM+OebBn99wGvM+VsCf2iVSGRUIEceQcbXd+7Bnmbgp86J/CYVWe2kTdVPNQW5uw96fC0ipa5r
FVBtJ/A64cNETga6BzIidiLnJV7CxPgLSHH0Q5FGz4LOah7S7Q3AuNVXzRPrcigsOdwO+GUj+G8wFf6c
Dc+hnxF+Ac4gDDsGWaXgCHS99Dg075c7+iKPxtJWcnU0YoKJXOi+kK3ONRypz+82PRXD7zg8VML+LBD0
cabSy55KpnsIF/e+giHRI0LR3m5UJJJ6p9cf6NYGYBzx9fLwmid4b8sH7brYYyz4mQ3/E+RseL5F8Ite
9TCyCNmvwrjm2xWjoq4g9qVAfi9kG4HVpU6UI4qb5ixk3iXfYW3FCP60/2f49NoOPxugCBu61AnoZ4ZS
YqzgRylRuNQYFGFHRSEzOosxcVNItPdmWPRoBkYNwa3GEBWqgaBL/aSTgJYBtBUsRWHTjk959ZM32z6G
Q5F/0Yz53GQm/GueCEX+0+xMSGHc9OtfgRxzBOK6YMrfWAWJ6Lv7GFeU2xD9w/Dfculibph2HVF2F5cm
Xcee2q28WPRYqJR4B3mZhEHRQ5maOJPKQBUBGURKrUmENpqBKKEmIgpu1cXQmFFkuUcSrcZiE3ZibXEk
2vpgE7Ymtzy7an/AbmsAiqKwpzCXR9Y8gcfraeN9fonT7mDRTPPhX73+OeSZ4HcFUYaWoA82p0Jv5N4Y
cCQetqYdLzvWDvgXTrsel90ovBGtxHJb+jLK/SVsKH3V3OKpJ7yn6kAV03pfydjYyWhSa3TvP5zUH7eB
4z8TTXabwuXHtW7QFxC66TkAIQTegI+n332evYW5EYDfvAW/h0ORX57pTEKsF87NRx9+pN3w6xKCEgK6
8d/jxQMjNGLKYmBLf/A4IxD5DfjDz16ik+xIY+mg3zIpcUbo9XcMCMd8hbxybDU+3Ysa+mHDhg07Nmyo
2FBRj9/0Cz1TXeoN/3S3QiHd8iiwEAqvfPomv3/ur/gCvlYf9pFS4rA7WDhjHjfPuoFop9sk+FeyesOz
LbuEdE6hseDXgkwxvI/cgLYQKNgRKChCkuRIZVD0SGLUBCQaEOSrqo8o9R9tnw0IEDVu+HwAsji6XfDf
fOkiFk6bS1Qj+JsAKRT2eHawfN9StlV/0iEXhnQJCfZk7hv+GFPip3Xptt6RUrebAiiKQkHJYZ5776U2
Ve+VUuKw2Vk0Yx43zVpoauRfvf65Fp9GFAEbUhcn3+QTjf4rQNcgRoknxZWOTTgQaAyLHcv4+AuJURMI
6l6SHClkhW6bCQQ7ajezs/ZrpDSq3rQVfqUuCrako7cT/nDkbw7+8Ndmu0fy06wV/G7fT9he87npJqAI
KA8U88rRVYyOmUi0EtPjC4N2OwMIaBrPvP8Cuwv2tA3+UOS/adYNJsK/slXwI0HmJiGifcj+lU2bdARV
lFoXeq0DzQvZycNZMG4hU1Om4RAugjJAlOIm2haLEprRNe5YqwoVj1ZLbbCqXfCLOhd83R+9MLZ9kX/O
ojPCf/zz0hkZPZ6fZf2R3+X+hB01n5u+JqAK+Lh8A19Uf8C0xCsiOj4sA2inFEVh876veefLjQil66X9
3oCXh98Kpf2tuYcggHob8uv+cLAX2HXjJl1AgYAN6beh1cOo9JHcPX0po/sPO+naqJQSDa0Z+CSeoK/t
8HtciC3p6K045tsc/Aunz20R/E1MIOa4CZidCQigOljBC0ceY0zMJHrZknp0FtBtFgGFENR6Pfzng1co
qSpt1Tn/cNpvOvxrVrJ6/bNtKzwiAJ8Kx+KgMMFYZS+OhYoogrWCkRkjWTZvKWMyRxjv6YQfzb53JB69
Fo1g6+f/DfD3Rz8UT1tWJtsD/4km8MvsvzIh4RLTFwZVAZ9Xvs/a0hd6/BSgWxnAJ7s+58PtH7dq1b8B
/pnzQ2m/eZH/qQ3PtqvqUENN//A/ikQjyMjMEdwzdymjB4xo5W0xgU/3srN2M5r0tx7+Wjfiq3T0goT2
w9/CtP90JjDMPYZfDfkrF/f+FhJhGpoCCOg+Xih6jNz6nW2+VGYZQAThr6yr5oVNr+Lx1rcYsDD8N4Tm
/DFmwr++nfCfQpquMXJgW+E/3ptvW/Xm1q1oKyCqohGbQ2l/m+F3cdOchQb87Sib3vjvHOjK4n+y/sic
PtcjUE0zAVVAXt1uXih6nHq9vsMr9VgGcIIBfLbnS7Yd2NHiW35SSuwh+G+evdBE+FeZCP/wNsMffm75
3lwKvQdbPnwVoDwGvkxHPxLbPvhnL2LRtLkRgb/x353q6M+PB/2OJelLcavxaCa5gBDwdvGLfF71bocX
6rAMoNEgrvV6WLd5I7X1tS36IMLwLzQVfh+PvLWKp9Y/YyL8d7UZfgBNanxW+R7HvIUtu1wjMNYdPs9A
Fse0Y8HPxU1zFrFoemThb/z59ralcEf6z/jRoN+R4kw3xQQEUBUsI+fwvyn2H0H0vAJa3cMAdhbs5vM9
m1t006/Jgp9Z8Ad9PPLWSp40C/4Bw1nWTvgFCkW+Q2wsfa1lC1kCKIqHzwdAubt98JsQ+cNjwRvwUV1f
g0TiFE6uSlnEr7P/wZj4yegy8usCqoDNlZt46dgqggQsA+hoBbQga79cT42n5oyghSP/ghlzuzf885Yy
ph3wg3HF9t3y18it23H66C8MsxAFveCLDGhBOa/m4Hc5XNw425zIL4SCx+/lkbVP8umeL1EUYVwWkjAl
YSbLsx/iipSF2ISr4ZRkpKTLIC8WPc6X1R/0uAXBLv1uFEVhf1Een+3+8oxf2zjtv2X2IvPgX7OSJ98x
E/67GDNgZLvgV1Ao8O7ntWPP4tdPU3JbAEEVsTcVNmdAnbNd8N80exGLTYI/fKnqibefYt3mjdT5PA3P
X0qdAa4slg1ewV2Dfktf16CIbhUqAkp8Raw89HeKA0U9airQpd+JLiUf7/qMwpLDp936a1jwmz6Xm2eZ
GflXmRb5RwwYzrK5SxkzYHi74BcI6qWHF44+Tm7d9uZPzgnAa0dsSzOq+Xht7YR/obnwv/k4T294HoAt
+7eRW3SwyWegS51YJY55fW/nt0MfZGqvWQjsEcsGjKnA+7x49AmC+Okp6rIGIISgoraSjVs+OC1sjeG/
ZfYiYlzmwP/oW6t48p2nTYJ/GPfMXcqYgSPbv1WGzsayN3j92NOI5m4WCRA1UbA5Hbk3GRkUEYB/nonw
P8HqUC0FVVEprSrl3S0fnvS9ZKhC8vi4qdyb/SDfHfBTkkMLhJF4VZoM8lLRSr6q/rjHTAW6tAFszt3C
waKDzT7sjoR/lWnwG6v9Bvztu30mEHxR9R4P5i+nJlB+cuofulAkjibAp5lQkHi8m3Bb4Ld3BPyPk7Ph
2Sb1E4UQfLF3M0UVx045NnSpk2RL4db+P2LF8JVMT7oGu4hq906BMRU4wuOH/kyxv2dMBbrsOwhoQTZt
/5TqZhb/msK/sJvCP4xlc+9kzMAREYH/kO8gjx76E4fqD5688CdABFXY1wf5WQay1N3mEgHHF/wWsshM
+NecuoSaIhRyDx/gwNG8Zt+DREdFZVzsZH495O8sy/oDQ2LGoEvRrmmBImBz5Ye8fOzJHrEr0CUNQFEU
8ooP8XXu1lNu/TWs9k+/PhT5o02C/0lz4Nc0RmQMY9ncuxg7cFS7X7tA4NU9PF/0MF9VfXTyvF+AqHXB
lnTY2h88jrYX8AxF/htnLWTxjHm4TYL/4TVPkLP+1JeqhBD4Aj7Wf/0+AS14xtcbpyZwTcqN/GH4Km7K
+BHJznSCbZwWCECTAV4oepTN1Zu6/VSgy776/UcOcLT86EkP2Py0Xxjwr32SVe/kmBf5593F2AhEfghn
8Qo2YWt65VcAUjE69X6cicztbdwwbC/8s82Hf/UZKidLKdl/5AAVtVVn3h5GgpQMdA3h+xk/Z8XwJ7gq
dQkxamKbjCC8K7Cq8G/dfiqg/uJnP/tNV3tRvmCAR95aRe7hAyiKchL84cgfa0rk9/PY2idZtc4c+Idn
DOOeeUsZG4EFv8ayCTuZMcPYdmwrRwL5KGoo6u9OQWzvi6xxtasy2HH4b2DxjPkmwt+yWgqKolBeU8GI
gcMYkjaoRa9FIlFQ6OtMZ3LiJQyPHYdX91HiP4pP9yFEyx+PIuCwt4BoWyzj4iZ3WxPocvUAhBBU1VVx
pKyoyQm2BvinXc+tJqX9vqCPx9Y+yUrT4B8agn9UxHvACVWhpKCG2g/jETIDnEBpDFREGTXr29Fto0Ph
b0UtBV/AT96xAoK61ipf06VOlHBzYeIczombwhdVH/LasRy+qPyAmmAlaguNQJdBXih6nLFxkzmvm5YQ
63IZgKqofLDjY17+6I1QWWgRgt/GgulzuWWOGZFf4Av6jbR/3dMmRv67Ih75ARRV5ZuDO1iecz/78vOw
VcVCWTR47e2uB9rh8Lfi2UskHl8908ZehNsZ1ervLZE4hJNMdzbn95rJsJhxKIpKie8o9ZqnofZ/868d
aoI1VARKOS9xOm4lutsZQJfLWySSkqoyvH5vI/jtzJ9mVtofhv8pVq17Gk3XTIn8y+YujciCX7Pwr17B
3sJco0yaYtQSaG+PrTD8S0yE3xvw8shbbSukIhBU1lQapwLb6HISiS51YpQ4pvW6gl9m/ZU/jchhXr/v
keHORpfKac8RqAK+rPyAdaUvdcviIV1qCmDc+6/ik52fI0Rj+K/j1jmLTYP/sbefYtW6HPPgn3cX4yKw
z3/S4FNVth7cwfKcFew9nNvmtmjNw+9kyawFLDER/oZaCm1o5S4UQUlVGZ/u+oKMC/u167SPUUdRI0pE
MyHufMbETiIvdS9fVm1iY+lr7KvbSUWgBIGRFTSu1erVfHxS8S5XJM8nVonvVkbQtQwAqPN6yDuab8Bv
t3UI/CvfNhH+uWH4TYj8eTsN+AvNgv8GlsxcYD78bZxyCQT1vnoKigsj9trCBVVVVIa4R5LlHsFlfa5n
d91WPq7YyFdVmzhQtwevXkNQypAhCDLdQ3EpUd0uC+hai4BCUFpdjtfvxWF3MH/a9SbCH+CxtU+x0szI
P3cp4zIjD78agv/e1fd3Y/gjU0hFKAqlVaV4fPVE2V0RBTC8qBevJnJe/DTOjbuI4sARDtUf5KOKd9hT
uwOf7iU7ZiQL0m7HjsMygPZISvhw+8fU1tdxw/TrTY78q02Df1gD/KNMi/z3rjYv8i82Ff7IFlJRFYWv
crdSUHKYYf2zkHrkAQxnBQJBqj2dvo4MxsdNxad78UsfbiUGh+h+8Hc9A0Cntr6Oay+6ilsvXWJa5H/8
7dWsfHu1afDfYyL82xrg3xdx+J0h+G+cOd9E+CNbS0EgqKmvbVg07ogxKqVx5dqtROMm+oyVmS0DaClA
ms7sCdMZkJxuXtr/9lOsXLe620V+tUnk32de5J8xH7cjqlvAf3zcaFTVVXd4E4+eUDK8SxmAqiiMHTiy
YQcg0vA//vZT5kX+9GyWzV3KOSam/ctNgT/UHn3mglDkjzKnlsJac2op6FInO30ISfG9z4pefpFWlzsH
EOnqqw3wr3uKJ0yE/555d5kCv6qqbM/bxfLVK9hjCvwOFs9cwI0zF5gHv4m1FEaFyqaPSM+2aO4JBmAK
/G+bC/+yeeal/dvydnJvzv0mwK83gd+MPokdAf+yuUsZlTG8x/fwswygjfA/sW41T6xbjaZFHv6hDWn/
aJPg38W9OSvYc8iktH/GfFPhN7OK0siBRgm10QNGRPyA1dmkbtcduLXwP/72U6bBf8/cpZwzyCT483cZ
kf+QOWn/opnzuWnmDabCv8pE+NvbM8GSoR6XAXQU/MtMhn/5ajMiv95h8JtWOXngCAv+CKpHZQAN8L9j
JvxDWDZ3KeNNgn97CP7dh/ZGFH7ZkPbPMxf+tU/y5DtPo5lUNv0eK+23DKA5+P1aCP615sF/z9y7TIv8
2/N3ca8J8Dek/TPmcdOshabBb2YhFSvttwzgtPD7tAAr1+XwxFozI393hn8+N80yY8FPNBRSMQ3+CLRK
s9RDDSAc+Veuy+HxtU8SNAH+7P5mp/27TYHfSPuNbkk3zTIn7feF6yeuMzHtn2el/ZYBnAb+J9bl8Nja
J02J/Nn9h3DPvKWMHzTGRPjvNwV+o0nqfG42Ke034DevkEq4T+LoASMt+E1St90FaAy/aXP+bgq/HoZ/
5nxuNiXyh9N+8wqpjGhokmrBbxnAGeAPakFTIv/dc02GP2eFeZF/5rwQ/G5zrlObWEthxACjcrIFv2UA
zcK/ct3ToTm/GfBnsWzuUiYMNgf+HQUh+Av2RBx+u83eaLXfbULaH6qiZCb8c++y4LcM4PTwP2bqgt9d
JsK/x1jwMxP+2WZ0SDa5hJrWCP6B1oKfZQDNwf9OGH6zIv+dJsN/P7tMgn+h6fA/aV7kH2i0ShtjQv1E
S82rW+wCGPAHDfjfMhP+u7o1/DebBn+4ipJJ8GcMjViHZEs9zACOw59jDvyaRna6Bf/p4DezipLRIXmp
lfZ3krr0FKBDIn+62Qt+e1ies8JE+OeaHPlD8GuaKd2SzGqYYqll6rIZQBj+Ve88zWNvrTIF/iH9wvCP
NQX+nQV7Wb56BTsLdpsC/w0z5nLz7EXmwb/uKdNqKZjZJ9FSNzeAxvA/+tYqAloQxYQ5/92mwr+He3PM
g3/h9LncPMtk+N82E/5wn0QL/s5Ul6wJ6NeCrFp/PPJHGv4hIfgnmg1/vkmRf3oo8rvMgf+JdatNhd9K
+7uOulxvQJ8W4Kn1z/DoGnMi/5B+g1lmJvyH9poO/y1zzIv8ZhZSOR75rbS/q6iLZQCClz96nYfXrDQn
8vczVvtNhX/1/ebCP7v7wr9srjlpv6IoEa8mbRlAJ0gi2Xd4P/W+ehMW/AazbO6dTMwyD/7lq82L/Aum
G+3RTUn7tXDa/5Spab8p3ZIUld2HczlaWWyZQHc3AAHEumNRFTWiAzArnPZnjTMV/h35u0yD/9bZi02b
869824DfjKPVx7sljTalPfq2/J387eUHKK+psAyg2xuAEJw37FwSYuIjMtA7Av5dobTfTPjNivzG0eoc
HjcL/lDlZCPyRx7+7fm7+fWT/0ecO4ZBqZlI3VpX6NYGgIT0Pv2IikCHmsbwn2sq/Cam/dMM+M3ok3j8
OvWT5sE/7y7TGqaEr1Pvyt9DSkIyUQ5nD+jUd5YbgETisjtJTujTrsaLmq6RlWY2/Pu4N8estN9mwD+n
u8NvXgm15Tkr2JW/m8TYBIZabcF6iAFISe/YRC4ee0GbB04D/PNMhL9wH/fm3M+OvMjDb7PZmN/N4V/W
EPkjn/YbtRSMexWqopIYm8i4QaPBOlPQ/Q0AjC2dpLjebQLLgH8Qy+beaWrkX77aHPjDkf/WOYtNht+8
Ob9ZHZJVVWV7Qah4aoFRRUkiSUlMxu2KstL/nmIAui45Z/AYMlMHoOlaG+BfyrlDzjEt8i/PWcF2k+Cf
bzL8K9952rQSamZ3S9pesJvlq5teqpISLh5zAQnuOOtUYU8xACl1khOSSO2V0uIPtSPg3124j3tX38/2
vJ2RT/tVs+EP36hcZRL8Q0ztk7ijYM9J8AM47HZSEpNRlB7d5PrsMgAAp83B9HEXY7fZWwz/3SZH/ntX
rzBtzr/AdPjDtRTM6pN4l6nwn6qWQlALMiw9m/GDx6Jb2389ywCEEAztn0V89OlTO03XGByCf5KJkX/5
6hXmRH6bjfmXXMetl5qX9q8ysZbC8T6JJhZSaaaWgkCQkdyfxOh4K/3vaQYgdcmg1IFMzD6HoBY89QDU
DPjNTftzudcs+FUD/u9eusS0yB++Tm0K/KHiqUa3JDNW+0OR/xRnLCQSh93BzHOmYbf1yA73Z7kBIIly
uDhn8FhcDtdJZwI0XWNwv0Esu/5Ozh1yTsS3gBrm/Dn3mxf5p5kNfw6PmhX5+w9h2TzzWqWdqYqSrutk
9RtEdv8srOX/HmgAIRdg6sjJ9ElIQuqyKfxpmSybeyeTssebBH8uy3N+z/aD5kT+eZdc2wGR/0kCJjVM
WWZStyQlVEtheQuuU58/cgppvVLRrWvFPdMAdKmTmpDMxWPOb/iQw3P+ZXPv4twh401L+5fnrGDbwR3m
wD/tWm679MYOSfuVbtYncVcLainoUicpvjfTxlyAsKJ/zzUAAKfdwfkjp5AQk0BACxoLfmam/YdNhv+S
a/nuHBMj/3rz5vxmRv7W1FLQdcmEIecwICXDWvyLgLr0Coqu64zNHMXIAcM4XFZkpP0mRf49h3NZvtpk
+C9bQpwrxhT4n1z/jIn1E43V/gmdDL+UkmiXmzkTZxDjcqNpGpZ6sAFIKXE7XNw8ZzG61E1b7d9zeD/3
mg3/pebC/8ialaYVTzWzbHprqihpusbozBFMyBpn7f2fDQYQ1oTBY4zFXtPgv998+KMiD38gHPlNKqFm
drekna28Tm232ZkzcWbEn+XZrO7TGzDCf18YfjPn/HMv+Y5p8Pu1IKs2PMOjb63ErwW6Xau0nYf2hlb7
W3a6MlzTcfLQiQisyj+R0ll5iqIx/N8c2G4a/LddeqNpkf+p9c8a8AeDKCJyPt4R8O9qQwk1VVG57NxZ
pPVOtdL/COqsu0XRE+BfteEZHmmAP/I9E8yc8+86FLpX0Qr4w6Y0e8I06+CPZQBdHP6LzYX/yQ3P8uia
VfiDfpPKppvXLcnY529d/USJxGFzcO2FV5Ec38fqJ2AZQNsH4N4j5sJ//cXf4bbLzIX/kTUr8QcDEU/7
h/TL4p555jVMCddSaO2NSl3XmZB9DtPHXmTN/C0DaB/89642C36VuRd/h9vNgl8/EX4TIv88EyN/Qy2F
1sEvpcTtdDP/kmvpFZNorfyboB6/CKiqKnsP72d5zu9NjPzXmBr5n2qA329K5F9mduRvYy0FXepcOeVy
Jg+dYKX+JqlHZwBG5D/A8pzfs/XAtojDr6oq1198DbdfdpN58G98jodNg9/cPontqaWg6RqD+mZy3YVX
4bI7rehvknpsBtAA/+oVpsE/18w5v25E/ofNmPNrGkP6Dzb6JGaNNbGEWtvgl1LitDu5ec4ihvTNtLb9
TFSPzACOR35z4LepKtdfZKT98VGxJsHfOPJHds6f1X+w0R7dVPh/3+ZaChLJnIkzuGT0BVbktwyg9QNw
Xxj+/Sal/Rddw+2X32Qa/Ks3PMfDbz5hStqf1W8w95jYMCV8nXp7XttOVwa1INn9svjuZTcSGxVtGYDJ
6lFTgDD895oK/3dMjPwaqzc8x0NmwK8Zkd/MPom7C3ONKkptLKSiS5346HhunL2Q9N5pVupvGUArAFIU
9h7Zz29z/mBy5L/RxMj/vHmRv7+5rdIaIn8b4ZdSYlft3HrpEuZMmG4d+Osg9YgpgBCCspoK/vziP/lq
35ZumPZrrN7wPA+9+Tg+U9L+QabCvycChVQ0XeOCUVO4asrlKAir1ZdlAK2DNC4qhovHXEh8dFzE6sQ1
gf+ym0xO+x83ac4fKqFmIvztraUQ1IKMHzKOH159BwnRVpcfywDaILtq47oLvs2tl9+Iw+Zo9yAKw3/d
RVcb8LtNgn/jczxsBvyhsul3X7+0S8Ov6RrDM4bys/k/YlDKAGvebxlAO4AVCtdfcDVXTf0WCNrcYrwx
/HdcdrNp8OdsfJ6H3zAn7R8cSvsnmVpF6ffthr9v71TuvOa/yE4bbJX4sgyg/SYQ7YziljmLuGj0+W2K
JlJKVEXlugvNh/+hNx4zB/60joD/frYdbPvRamPFP447rriFSdnjrchvGUDkTCA1vg9Lr/k+5w6dQLAV
UaUB/ouu5o7LLfibg7+9xVN1qRPlcHHrpTdy+cRZKGdfWQrLAMyULnUGJmfw03l3MSF7XIvajDdJ+02E
/+kOgN/M4qnLc1bwTTsjv8vh4pZLb2TeRddgV21tnqpZsgyg+YGmawzum8nPF9zN5GET0XW92YEWjvzX
Xng1t5sEf1DXePrd53nQrDl/I/jNKJ66NwKFVHRdJ9oVze2X38zi6XNx2OzWin8nS3irq3v0J6AoCvkl
hfzj1Yd4d8sHSCmbFNAMR/5rL7yKOy6/hQST4F+9MbTPH/CZAv/doZ4JZsF/bzvh13SNPvFJ3Hb5TVx1
3uUW/JYBdKAJCIWSmjKeeOdpXvrgVXxBA8KGyH/RVdxx+c0kuONMgT/n3f/w4BuPmQN/30zunrfUPPgj
cKMyqAUZnJbJ/7vqDi4aOQVVUS34LQPo4DcqBPUBHy98+CoPv/k4NfW1Rq25bgz/oL6ZxsWebDPhv5+t
7Yj8AS3IuMGjufv6OxmVMcwC3zKAzjUBTeq8uOk1nliXwyVjLuCOK7oh/JrGoLRMY7XfNPj3hyL/9jaf
7QeYMOQc7pm3lCFpg6x9fssAuoYJBHWNXYf20q93X3rFJJi04PcfHjAx8psLf/uuU2u6Rowrmu9ceBUL
LrmOvonJ1j6/ZQBdzwiQRHQLqifAv+/IAe5tx5xf0zVSE1O441u3cMWkOdgVm1XPrwvrrOwMBER8Ltpx
8N9pLvxtrKIUjvCXjL2Qm+csYlTGcBQhLPgtA+j5aoD/vRdMgz+z70Bjqy97grnwtzLtl0iCQY3UXil8
54Irue7Cq+gT2xtN16wFP8sAzjL4X3/UpMg/kLvnLmVyF4Nf0zXsNjvnj53C4hnzmDBkHAqiRScvLVkG
0KPgf9BM+K83F/7lOb9vFfy61NF1nax+g7nuwqu4/NzZxLtjT3va0pJlAD0S/mfee5EHX38Urxnwp4bg
H2oS/EUHWZ7ze7bs/6ZF8BvgS5ITkrhs0myumnIFg1IyjN+zVvktAzi74Nd55r0XeeD1R0yBPzM1lPab
Cf/qFS2CX9N1QJIU15uLxlzA1VOvYHj6UOyqaoFvGcBZBj8CXzDAM+/9hwffMKeMV2bqQJaZCH9uC+CX
UqJLiZQ6/ZLSuGj0+Vx27iyGp2fjsNnRdd2C3zKAs9IB8Pg8bAs1vfD6vSCMS0eRgv/uuXeaGvl/m9M8
/FJKglqQKGcUGcn9mXHOJVw85gKy+mZiV+3oumaB35OG89l6EKhdD00Iqjw17Cncx7qv3uWLPZs5XHrE
OOoqQFXUdsF/3tCJ5kX+nBV8ndsUfiklmq6hKApRjigmZp/DtLEXMXnYRFIT+6AIxYLeMgBLJ5qAQBCU
GnnHCthZsId3Nm/k4LF8CksOI6VEURQEosn1486F//d8nbvVuI2HNNJ8XSfWHUtGcjqTh03kvOHnMnLA
MGJd0SCJWIVlS5YB9FgpioIE6v1eCksPs3nfFnbk7+Lz3Zup99VT7alpuHp84lShAf7r7+S8YZGHX1FU
co8ac/4v9n6FKhSiXW5iomLISMlgyvBzGZg6gAlZY4mNisGh2tGlbh3isQzAUqsfZijaC0VQ6/VQWl3G
oeJCPtj+MRW1lezM38OximOAcUde13UGp2Vy99ylpkR+IQT7j+bzf8/8gZ35uzl36HgSYxIZN3g047PG
EuuOJSk2EYGwoLcMwFKk4RMIJMZqelALcvBYPqXV5dR4avhwxyeUVpVx0+yF5sCPoNZXx5YD2wkE/cRE
xTCs/xCiXdEojV6bBb1lANYI6CCF1wR0qeMN+ELVcaNMa4OlhVbsXQ4XgBXlLZ3SAKqAOOtRdPCDD/3b
OjprqRNVrQB51nPoeEmw4LfU2cpTgIPWc7Bk6azUQQXYbT0HS5bOSu1RgK2A33oWliydVaoHvlCAnUCZ
9TwsWTqrVApsU4D9wA7reViydFZpD3BYAWqBTdbzsGTprNI6oDZ8MP3DkBFYsmSp56sc2AjHuwN/Bnxu
PRdLls4KbQF2NTaAOmCt9VwsWTortBbwNDYAgJeBA9azsWSpRys3xDoAiisurvFvvG09H0uWerReDrGO
Ky6OEwvZrcTYH7RkyVLPUzHwQuNfUMJOENKXQI71nCxZ6pF6hNBif5j5EzMAHfg71v0AS5Z6mnYDj5/4
iw0G0CgLOAD8BbAavFmy1DOkhZg+cALrNFfM/hngDeu5WbLUI/R6iOmTdFK9am91dfin4zEWDDKt52fJ
UrfVHuAaQgd/Gkd/aD4DAPgK+BVQYz1DS5a6pWqA34bhP5VOMoATHCIH+BNYtassWepmkiF2c5ph+9QG
cMIXSuDPwAOWCViy1K3gfyDErmwOfjjFGkBjNVoPiAFWAP91pj9jyZKlLgH/PYRu+DYH/xkNwDIBS5Z6
LvwtMgDLBCxZ6pnwt9gATjCBWOBHwI9DP7dkyVLnqgZjwe/PoZ+3CP5WGcAJJiCAhcAvgKHW87dkqdN0
EGO7PoczLPi12wBOMAGA4cB9wJWAan0Wlix1mDSM07r3YpzZobXwt8kATmECscAC4C5gmPW5WLJkunZj
nO1/hkYH9VoLf5sN4BQmADAIuAW4DUi2PiNLliKuUoxU/++cUL2rLfC3ywBOYwSTgOswzh9nWZ+ZJUvt
1gGMal0rMWp26O0FP2IGcBojyAqZwKXAOKCX9TlastRi1WIU71hLozJekQI/4gZwGiNwYywWTgdmY+wa
JAFR1mdsyVKD/Bgt+nZgNOr5EKNcf50Z4JtmAKcxAjAOEvUDRgPnhswgExgIxGHJ0tmjaiAPYxtvN0aT
3p0YrfpOatITafDD+v9urYMrTd0duwAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@ -0,0 +1,205 @@
namespace NeshinaPolina2111
{
partial class MainForm
{
/// <summary>
/// Обязательная переменная конструктора.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Освободить все используемые ресурсы.
/// </summary>
/// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</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.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.продукцияToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.списокМатериаловToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.dgvMain = new System.Windows.Forms.DataGridView();
this.btnAdd = new System.Windows.Forms.Button();
this.btnEdit = new System.Windows.Forms.Button();
this.btnDelete = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.menuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvMain)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 26.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.label1.Location = new System.Drawing.Point(66, 29);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(0, 39);
this.label1.TabIndex = 0;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(40, 105);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(0, 13);
this.label2.TabIndex = 2;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(40, 178);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(0, 13);
this.label3.TabIndex = 3;
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.продукцияToolStripMenuItem,
this.списокМатериаловToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(921, 25);
this.menuStrip1.TabIndex = 4;
this.menuStrip1.Text = "menuStrip1";
//
// продукцияToolStripMenuItem
//
this.продукцияToolStripMenuItem.Font = new System.Drawing.Font("Comic Sans MS", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.продукцияToolStripMenuItem.Name = "продукцияToolStripMenuItem";
this.продукцияToolStripMenuItem.Size = new System.Drawing.Size(84, 21);
this.продукцияToolStripMenuItem.Text = "Продукция";
this.продукцияToolStripMenuItem.Click += new System.EventHandler(this.продукцияToolStripMenuItem_Click);
//
// списокМатериаловToolStripMenuItem
//
this.списокМатериаловToolStripMenuItem.Font = new System.Drawing.Font("Comic Sans MS", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.списокМатериаловToolStripMenuItem.Name = "списокМатериаловToolStripMenuItem";
this.списокМатериаловToolStripMenuItem.Size = new System.Drawing.Size(135, 21);
this.списокМатериаловToolStripMenuItem.Text = "Список Материалов";
this.списокМатериаловToolStripMenuItem.Click += new System.EventHandler(this.списокМатериаловToolStripMenuItem_Click);
//
// dgvMain
//
this.dgvMain.AllowUserToAddRows = false;
this.dgvMain.AllowUserToDeleteRows = false;
this.dgvMain.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
this.dgvMain.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
this.dgvMain.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(187)))), ((int)(((byte)(217)))), ((int)(((byte)(178)))));
this.dgvMain.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvMain.Location = new System.Drawing.Point(12, 41);
this.dgvMain.Name = "dgvMain";
this.dgvMain.ReadOnly = true;
this.dgvMain.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dgvMain.Size = new System.Drawing.Size(617, 401);
this.dgvMain.TabIndex = 5;
//
// btnAdd
//
this.btnAdd.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(96)))), ((int)(((byte)(51)))));
this.btnAdd.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnAdd.ForeColor = System.Drawing.SystemColors.Control;
this.btnAdd.Location = new System.Drawing.Point(636, 105);
this.btnAdd.Name = "btnAdd";
this.btnAdd.Size = new System.Drawing.Size(273, 48);
this.btnAdd.TabIndex = 6;
this.btnAdd.Text = "Добавить";
this.btnAdd.UseVisualStyleBackColor = false;
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
//
// btnEdit
//
this.btnEdit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(96)))), ((int)(((byte)(51)))));
this.btnEdit.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnEdit.ForeColor = System.Drawing.SystemColors.Control;
this.btnEdit.Location = new System.Drawing.Point(636, 160);
this.btnEdit.Name = "btnEdit";
this.btnEdit.Size = new System.Drawing.Size(273, 54);
this.btnEdit.TabIndex = 7;
this.btnEdit.Text = "Редактировать";
this.btnEdit.UseVisualStyleBackColor = false;
this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
//
// btnDelete
//
this.btnDelete.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(96)))), ((int)(((byte)(51)))));
this.btnDelete.Font = new System.Drawing.Font("Comic Sans MS", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.btnDelete.ForeColor = System.Drawing.SystemColors.Control;
this.btnDelete.Location = new System.Drawing.Point(636, 221);
this.btnDelete.Name = "btnDelete";
this.btnDelete.Size = new System.Drawing.Size(273, 52);
this.btnDelete.TabIndex = 8;
this.btnDelete.Text = "Удалить";
this.btnDelete.UseVisualStyleBackColor = false;
this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
//
// panel1
//
this.panel1.BackgroundImage = global::NeshinaPolina2111.Properties.Resources.Нашекор;
this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.panel1.Location = new System.Drawing.Point(809, 446);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(100, 98);
this.panel1.TabIndex = 9;
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(921, 556);
this.Controls.Add(this.panel1);
this.Controls.Add(this.btnDelete);
this.Controls.Add(this.btnEdit);
this.Controls.Add(this.btnAdd);
this.Controls.Add(this.dgvMain);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.menuStrip1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.MaximizeBox = false;
this.Name = "MainForm";
this.Text = "MainForm";
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvMain)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem продукцияToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem списокМатериаловToolStripMenuItem;
private System.Windows.Forms.DataGridView dgvMain;
private System.Windows.Forms.Button btnAdd;
private System.Windows.Forms.Button btnEdit;
private System.Windows.Forms.Button btnDelete;
private System.Windows.Forms.Panel panel1;
}
}

View File

@ -0,0 +1,203 @@
using MySql.Data.MySqlClient;
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;
namespace NeshinaPolina2111
{
public partial class MainForm : Form
{
public enum ViewMode
{
Production
}
private ViewMode currentMode = ViewMode.Production;
public MainForm()
{
InitializeComponent();
btnAdd.Visible = true; //показ кнопок
btnEdit.Visible = true;
btnDelete.Visible = true;
}
private void LoadProduction() //загрузка продуктов
{
string query = @"
select
p.idProducts_import,
t.TypeProduction,
p.Name,
p.Article,
p.MinPrice,
p.Width
from Products_import p
left join Product_type_import t on p.idProduct_type_import = t.idProduct_type_import";
var conn = DB.GetInstance().GetConnection();
if(conn.State == ConnectionState.Closed)
conn.Open();
DataTable dt;
using (var cmd = new MySqlCommand(query, conn))
{
var adapter = new MySqlDataAdapter(cmd);
dt = new DataTable();
adapter.Fill(dt);
}
dgvMain.DataSource = dt;
btnAdd.Visible = true; //показ кнопок
btnEdit.Visible = true;
btnDelete.Visible = true;
}
private void btnAdd_Click(object sender, EventArgs e) //добавление переход
{
switch (currentMode)
{
case ViewMode.Production:
var AddP = new AddProduction();
if (AddP.ShowDialog() == DialogResult.OK)
{
LoadProduction();
}
break;
}
}
private void продукцияToolStripMenuItem_Click(object sender, EventArgs e)
{
LoadProduction();
}
private void btnEdit_Click(object sender, EventArgs e) //редактирование переход
{
if (dgvMain.SelectedRows.Count == 0)
{
MessageBox.Show("Выберите строку для редактирования.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
var select = dgvMain.SelectedRows[0];
switch (currentMode)
{
case ViewMode.Production:
if (select.Cells["idProducts_import"].Value == null)
{
MessageBox.Show("Не удалось получить ID материала.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
int ProductId = Convert.ToInt32(select.Cells["idProducts_import"].Value);
var EditProduction = new EditProduction { ProductId = ProductId };
if (EditProduction.ShowDialog() == DialogResult.OK)
{
LoadProduction();
}
break;
}
}
private void btnDelete_Click(object sender, EventArgs e) //удаление
{
if (dgvMain.SelectedRows.Count == 0)
{
MessageBox.Show("Выберите строку для удаления.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
var select = dgvMain.SelectedRows[0];
switch(currentMode)
{
case ViewMode.Production:
if (select.Cells["idProducts_import"].Value == null)
{
MessageBox.Show("Не удалось получить ID продукта.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
int productid = Convert.ToInt32(select.Cells["idProducts_import"].Value);
string name = select.Cells["Name"]?.Value?.ToString() ?? "неизвестный";
var result = MessageBox.Show(
$"Вы уверены, что хотите удалить материал:\n\n«{name}»?\n\nЭто действие нельзя отменить.",
"Подтверждение удаления",
MessageBoxButtons.YesNo,
MessageBoxIcon.Warning
);
if (result == DialogResult.No)
return;
string delete = "DELETE FROM Products_import WHERE idProducts_import = @idProducts_import";
var conn = DB.GetInstance().GetConnection();
if (conn.State == ConnectionState.Closed)
conn.Open();
using (var cmd = new MySqlCommand(delete, conn))
{
cmd.Parameters.AddWithValue("@idProducts_import", productid);
try
{
int rowsAffected = cmd.ExecuteNonQuery();
if (rowsAffected > 0)
{
MessageBox.Show("Продукт успешно удалён!", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
LoadProduction();
}
else
{
MessageBox.Show("Не удалось удалить продукт", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show($"Ошибка при удалении: {ex.Message}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
break;
}
}
private void списокМатериаловToolStripMenuItem_Click(object sender, EventArgs e)
{
LoadMaterials();
}
private void LoadMaterials() //загрузка материалов
{
string query = @"
select
m.Name,
t.Name,
m.PriceUnitMaterial,
m.Quantity,
m.MinQuantity,
m.QuantityPack,
u.Name
from Materials_import m
left join Material_type_import t on m.idMaterial_type_import = t.idMaterial_type_import
left join Unit u on m.idUnit = u.idUnit";
var conn = DB.GetInstance().GetConnection();
if (conn.State == ConnectionState.Closed)
conn.Open();
DataTable dt;
using (var cmd = new MySqlCommand(query, conn))
{
var adapter = new MySqlDataAdapter(cmd);
dt = new DataTable();
adapter.Fill(dt);
}
dgvMain.DataSource = dt;
btnAdd.Visible = false;
btnEdit.Visible = false;
btnDelete.Visible = false;
}
}
}

View File

@ -0,0 +1,453 @@
<?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>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<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>
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
</value>
</data>
</root>

View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" 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>{2FB93473-AD29-4E9F-B2A7-43AECEF50DDB}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>NeshinaPolina2111</RootNamespace>
<AssemblyName>NeshinaPolina2111</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</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|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="MySql.Data">
<HintPath>..\..\..\Users\Student\Desktop\MySql.Data.dll</HintPath>
</Reference>
<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" />
</ItemGroup>
<ItemGroup>
<Compile Include="AddProduction.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AddProduction.Designer.cs">
<DependentUpon>AddProduction.cs</DependentUpon>
</Compile>
<Compile Include="DB.cs" />
<Compile Include="EditProduction.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EditProduction.Designer.cs">
<DependentUpon>EditProduction.cs</DependentUpon>
</Compile>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="AddProduction.resx">
<DependentUpon>AddProduction.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EditProduction.resx">
<DependentUpon>EditProduction.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.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" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Наш декор.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace NeshinaPolina2111
{
internal static class Program
{
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Общие сведения об этой сборке предоставляются следующим набором
// набора атрибутов. Измените значения этих атрибутов для изменения сведений,
// связанных со сборкой.
[assembly: AssemblyTitle("NeshinaPolina2111")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NeshinaPolina2111")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
// COM, следует установить атрибут ComVisible в TRUE для этого типа.
[assembly: ComVisible(false)]
// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
[assembly: Guid("2fb93473-ad29-4e9f-b2a7-43aecef50ddb")]
// Сведения о версии сборки состоят из указанных ниже четырех значений:
//
// Основной номер версии
// Дополнительный номер версии
// Номер сборки
// Редакция
//
// Можно задать все значения или принять номера сборки и редакции по умолчанию
// используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,73 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NeshinaPolina2111.Properties {
using System;
/// <summary>
/// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
/// </summary>
// Этот класс создан автоматически классом StronglyTypedResourceBuilder
// с помощью такого средства, как ResGen или Visual Studio.
// Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
// с параметром /str или перестройте свой проект VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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("NeshinaPolina2111.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;
}
}
/// <summary>
/// Поиск локализованного ресурса типа System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Нашекор {
get {
object obj = ResourceManager.GetObject("Наш декор", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -0,0 +1,124 @@
<?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.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Наш декор" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Наш декор.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NeshinaPolina2111.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.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;
}
}
}
}

View File

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View File

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

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

View File

@ -0,0 +1 @@
454cb0cdd51ce54e168d3d6729e48c33c8b6e404850364d5637838036404d04e

View File

@ -0,0 +1,14 @@
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\bin\Debug\NeshinaPolina2111.exe.config
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\bin\Debug\NeshinaPolina2111.exe
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\bin\Debug\NeshinaPolina2111.pdb
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\bin\Debug\MySql.Data.dll
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.csproj.AssemblyReference.cache
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.MainForm.resources
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.Properties.Resources.resources
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.csproj.GenerateResource.cache
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.csproj.CoreCompileInputs.cache
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.csproj.CopyComplete
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.exe
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.pdb
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.AddProduction.resources
C:\NeshinaPolina2111\NeshinaPolina2111\NeshinaPolina2111\obj\Debug\NeshinaPolina2111.EditProduction.resources