Adding Enhanced Print Preview to Repo

This commit is contained in:
sam 2011-09-09 17:34:15 +00:00
parent 7ca3e0173c
commit 269af6feca
52 changed files with 3668 additions and 0 deletions

View File

@ -0,0 +1,26 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C# Express 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrintPreviewDemo", "PrintPreviewDemo\PrintPreviewDemo.csproj", "{2046AD52-D15C-496B-97A9-B344072FC6AF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrintPreview", "PrintPreview\PrintPreview.csproj", "{9E8D433B-EFD1-4253-BD2C-C4E0DB0BFD0E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2046AD52-D15C-496B-97A9-B344072FC6AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2046AD52-D15C-496B-97A9-B344072FC6AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2046AD52-D15C-496B-97A9-B344072FC6AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2046AD52-D15C-496B-97A9-B344072FC6AF}.Release|Any CPU.Build.0 = Release|Any CPU
{9E8D433B-EFD1-4253-BD2C-C4E0DB0BFD0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E8D433B-EFD1-4253-BD2C-C4E0DB0BFD0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E8D433B-EFD1-4253-BD2C-C4E0DB0BFD0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E8D433B-EFD1-4253-BD2C-C4E0DB0BFD0E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@ -0,0 +1,77 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.ComponentModel;
namespace VR.PrintPreview {
public enum TextPosition {
HTopLeft, HTopCenter, HTopRight,
HBottomLeft, HBottomCenter, HBottomRight,
VTopLeft, VMiddleLeft, VBottomLeft,
VTopRight, VMiddleRight, VBottomRight,
WaterMark
}
public class AdditionalText {
private string text;
private Font font;
private Brush brush;
private TextPosition position;
private int offsetX = 0;
private int offsetY = 0;
public string Text {
get { return text; }
set { text = value; }
}
public Font Font {
get { return font; }
set { font = value; }
}
[Browsable(false)]
public Brush Brush {
get { return brush; }
set { brush = value; }
}
public TextPosition Position {
get { return position; }
set { position = value; }
}
public int OffsetX {
get { return offsetX; }
set { offsetX = value; }
}
public int OffsetY {
get { return offsetY; }
set { offsetY = value; }
}
public Color Color {
get { return (brush is SolidBrush) ? ((SolidBrush)brush).Color : Color.Black; }
set { brush = new SolidBrush(value); }
}
public AdditionalText(string text, Font font, Brush brush, TextPosition position, int offsetX, int offsetY) {
this.text = text;
this.font = (font != null) ? font : new Font("Arial", 12f);
this.brush = (brush != null) ? brush : Brushes.Gray;
this.position = position;
this.offsetX = offsetX;
this.offsetY = offsetY;
}
public AdditionalText(string text, TextPosition position) : this(text, null, null, position, 0, 0) { }
public AdditionalText(string text, TextPosition position, int offsetX, int offsetY) : this(text, null, null, position, offsetX, offsetY) { }
public AdditionalText(string text) : this(text, null, null, TextPosition.HBottomCenter, 0, 0) { }
}
}

View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
<Font Name="Tahoma" Size="8.25" />
<Class Name="VR.PrintPreview.EnhancedPrintPreviewDialog">
<Position X="0.5" Y="0.5" Width="2.25" />
<TypeIdentifier>
<FileName>EnhancedPrintPreviewDialog.cs</FileName>
<HashCode>wAgCIA0QISCAAYBAMUDAAIATiEMHoACHYRAAJICBAAg=</HashCode>
</TypeIdentifier>
<ShowAsCollectionAssociation>
<Property Name="AdditionalTextList" />
</ShowAsCollectionAssociation>
<Members>
<Field Name="components" Hidden="true" />
<Method Name="Dispose" Hidden="true" />
<Method Name="EnhancedPrintPreviewDialog" Hidden="true" />
<Method Name="InitializeComponent" Hidden="true" />
<Field Name="mAdditionalTextList" Hidden="true" />
<Field Name="mDocument" Hidden="true" />
<Method Name="mDocument_BeginPrint" Hidden="true" />
<Method Name="mDocument_EndPrint" Hidden="true" />
<Method Name="mDocument_PrintPage" Hidden="true" />
<Field Name="mPageSetupDialog" Hidden="true" />
<Field Name="mPrintDialog" Hidden="true" />
<Field Name="mShowPageSettingsButton" Hidden="true" />
<Field Name="mShowPrinterSettingsBeforePrint" Hidden="true" />
<Field Name="mShowPrinterSettingsButton" Hidden="true" />
<Field Name="mTotalPages" Hidden="true" />
<Field Name="mVisibilePages" Hidden="true" />
<Method Name="Navigate_Click" Hidden="true" />
<Method Name="NumOfPages_Click" Hidden="true" />
<Field Name="pagesToolStripMenuItem" Hidden="true" />
<Field Name="pagesToolStripMenuItem1" Hidden="true" />
<Field Name="pagesToolStripMenuItem2" Hidden="true" />
<Field Name="pagesToolStripMenuItem3" Hidden="true" />
<Field Name="pageToolStripMenuItem" Hidden="true" />
<Field Name="printPreviewControl1" Hidden="true" />
<Method Name="printPreviewControl1_StartPageChanged" Hidden="true" />
<Method Name="RadPrintPreview_FormClosing" Hidden="true" />
<Method Name="SwitchPrintDocumentHandlers" Hidden="true" />
<Field Name="toolStrip1" Hidden="true" />
<Field Name="toolStripSeparator" Hidden="true" />
<Field Name="toolStripSeparator1" Hidden="true" />
<Field Name="toolStripSeparator2" Hidden="true" />
<Field Name="tsBtnNext" Hidden="true" />
<Field Name="tsBtnPageSettings" Hidden="true" />
<Method Name="tsBtnPageSettings_Click" Hidden="true" />
<Field Name="tsBtnPrev" Hidden="true" />
<Field Name="tsBtnPrint" Hidden="true" />
<Method Name="tsBtnPrint_Click" Hidden="true" />
<Field Name="tsBtnPrinterSettings" Hidden="true" />
<Method Name="tsBtnPrinterSettings_Click" Hidden="true" />
<Field Name="tsBtnZoom" Hidden="true" />
<Method Name="tsBtnZoom_Click" Hidden="true" />
<Field Name="tsComboZoom" Hidden="true" />
<Method Name="tsComboZoom_KeyPress" Hidden="true" />
<Method Name="tsComboZoom_Leave" Hidden="true" />
<Field Name="tsDDownPages" Hidden="true" />
<Field Name="tsLblTotalPages" Hidden="true" />
<Field Name="tsTxtCurrentPage" Hidden="true" />
<Method Name="tsTxtCurrentPage_Leave" Hidden="true" />
</Members>
<AssociationLine Name="AdditionalTextList" Type="VR.PrintPreview.AdditionalText" ManuallyRouted="true" FixedFromPoint="true" FixedToPoint="true">
<Path>
<Point X="1.5" Y="2.752" />
<Point X="1.5" Y="3.637" />
<Point X="3.975" Y="3.637" />
<Point X="3.975" Y="2.685" />
</Path>
<MemberNameLabel ManuallyPlaced="true">
<Position X="0.737" Y="0.662" />
</MemberNameLabel>
</AssociationLine>
</Class>
<Class Name="VR.PrintPreview.AdditionalText">
<Position X="3" Y="0.5" Width="1.5" />
<TypeIdentifier>
<FileName>AdditionalText.cs</FileName>
<HashCode>AAIAAAAAAgAAAALgAAAAIAAAAAAAAADIAAAAiAACAAA=</HashCode>
</TypeIdentifier>
<ShowAsAssociation>
<Property Name="Position" />
</ShowAsAssociation>
<Members>
<Field Name="brush" Hidden="true" />
<Field Name="font" Hidden="true" />
<Field Name="offsetX" Hidden="true" />
<Field Name="offsetY" Hidden="true" />
<Field Name="position" Hidden="true" />
<Field Name="text" Hidden="true" />
</Members>
<AssociationLine Name="Position" Type="VR.PrintPreview.TextPosition" FixedFromPoint="true" FixedToPoint="true">
<Path>
<Point X="4.167" Y="2.685" />
<Point X="4.167" Y="3.621" />
<Point X="5.375" Y="3.621" />
<Point X="5.375" Y="3.246" />
</Path>
<MemberNameLabel ManuallyPlaced="true" ManuallySized="true">
<Position X="0.081" Y="0.089" Height="0.16" Width="0.798" />
</MemberNameLabel>
</AssociationLine>
</Class>
<Enum Name="VR.PrintPreview.TextPosition">
<Position X="4.75" Y="0.5" Width="1.5" />
<TypeIdentifier>
<FileName>AdditionalText.cs</FileName>
<HashCode>AAECABACAAAAAAABCAQAAAAAACBAAAAAAAAAgAEABAg=</HashCode>
</TypeIdentifier>
</Enum>
</ClassDiagram>

View File

@ -0,0 +1,286 @@
namespace VR.PrintPreview {
partial class EnhancedPrintPreviewDialog {
/// <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(EnhancedPrintPreviewDialog));
this.printPreviewControl1 = new System.Windows.Forms.PrintPreviewControl();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.tsBtnPrint = new System.Windows.Forms.ToolStripButton();
this.tsBtnPrinterSettings = new System.Windows.Forms.ToolStripButton();
this.tsBtnPageSettings = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
this.tsDDownPages = new System.Windows.Forms.ToolStripDropDownButton();
this.pageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pagesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pagesToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.pagesToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.pagesToolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsBtnZoom = new System.Windows.Forms.ToolStripButton();
this.tsComboZoom = new System.Windows.Forms.ToolStripComboBox();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.tsBtnNext = new System.Windows.Forms.ToolStripButton();
this.tsBtnPrev = new System.Windows.Forms.ToolStripButton();
this.tsLblTotalPages = new System.Windows.Forms.ToolStripLabel();
this.tsTxtCurrentPage = new System.Windows.Forms.ToolStripTextBox();
this.tsBtnLandScapePortrait = new System.Windows.Forms.ToolStripSplitButton();
this.landcapeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.portraitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// printPreviewControl1
//
resources.ApplyResources(this.printPreviewControl1, "printPreviewControl1");
this.printPreviewControl1.Name = "printPreviewControl1";
//
// toolStrip1
//
this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsBtnPrint,
this.tsBtnPrinterSettings,
this.tsBtnPageSettings,
this.toolStripSeparator,
this.tsDDownPages,
this.toolStripSeparator1,
this.tsBtnZoom,
this.tsComboZoom,
this.toolStripSeparator2,
this.tsBtnNext,
this.tsBtnPrev,
this.tsLblTotalPages,
this.tsTxtCurrentPage,
this.tsBtnLandScapePortrait});
resources.ApplyResources(this.toolStrip1, "toolStrip1");
this.toolStrip1.Name = "toolStrip1";
//
// tsBtnPrint
//
this.tsBtnPrint.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsBtnPrint, "tsBtnPrint");
this.tsBtnPrint.Name = "tsBtnPrint";
this.tsBtnPrint.Click += new System.EventHandler(this.tsBtnPrint_Click);
//
// tsBtnPrinterSettings
//
this.tsBtnPrinterSettings.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsBtnPrinterSettings, "tsBtnPrinterSettings");
this.tsBtnPrinterSettings.Name = "tsBtnPrinterSettings";
this.tsBtnPrinterSettings.Click += new System.EventHandler(this.tsBtnPrinterSettings_Click);
//
// tsBtnPageSettings
//
this.tsBtnPageSettings.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsBtnPageSettings, "tsBtnPageSettings");
this.tsBtnPageSettings.Name = "tsBtnPageSettings";
this.tsBtnPageSettings.Click += new System.EventHandler(this.tsBtnPageSettings_Click);
//
// toolStripSeparator
//
this.toolStripSeparator.Name = "toolStripSeparator";
resources.ApplyResources(this.toolStripSeparator, "toolStripSeparator");
//
// tsDDownPages
//
this.tsDDownPages.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.tsDDownPages.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.pageToolStripMenuItem,
this.pagesToolStripMenuItem,
this.pagesToolStripMenuItem1,
this.pagesToolStripMenuItem2,
this.pagesToolStripMenuItem3});
resources.ApplyResources(this.tsDDownPages, "tsDDownPages");
this.tsDDownPages.Name = "tsDDownPages";
this.tsDDownPages.Tag = "1";
//
// pageToolStripMenuItem
//
resources.ApplyResources(this.pageToolStripMenuItem, "pageToolStripMenuItem");
this.pageToolStripMenuItem.Name = "pageToolStripMenuItem";
this.pageToolStripMenuItem.Tag = "1";
this.pageToolStripMenuItem.Click += new System.EventHandler(this.NumOfPages_Click);
//
// pagesToolStripMenuItem
//
resources.ApplyResources(this.pagesToolStripMenuItem, "pagesToolStripMenuItem");
this.pagesToolStripMenuItem.Name = "pagesToolStripMenuItem";
this.pagesToolStripMenuItem.Tag = "2";
this.pagesToolStripMenuItem.Click += new System.EventHandler(this.NumOfPages_Click);
//
// pagesToolStripMenuItem1
//
resources.ApplyResources(this.pagesToolStripMenuItem1, "pagesToolStripMenuItem1");
this.pagesToolStripMenuItem1.Name = "pagesToolStripMenuItem1";
this.pagesToolStripMenuItem1.Tag = "4";
this.pagesToolStripMenuItem1.Click += new System.EventHandler(this.NumOfPages_Click);
//
// pagesToolStripMenuItem2
//
resources.ApplyResources(this.pagesToolStripMenuItem2, "pagesToolStripMenuItem2");
this.pagesToolStripMenuItem2.Name = "pagesToolStripMenuItem2";
this.pagesToolStripMenuItem2.Tag = "6";
this.pagesToolStripMenuItem2.Click += new System.EventHandler(this.NumOfPages_Click);
//
// pagesToolStripMenuItem3
//
resources.ApplyResources(this.pagesToolStripMenuItem3, "pagesToolStripMenuItem3");
this.pagesToolStripMenuItem3.Name = "pagesToolStripMenuItem3";
this.pagesToolStripMenuItem3.Tag = "8";
this.pagesToolStripMenuItem3.Click += new System.EventHandler(this.NumOfPages_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
//
// tsBtnZoom
//
resources.ApplyResources(this.tsBtnZoom, "tsBtnZoom");
this.tsBtnZoom.Margin = new System.Windows.Forms.Padding(40, 1, 0, 2);
this.tsBtnZoom.Name = "tsBtnZoom";
this.tsBtnZoom.Click += new System.EventHandler(this.tsBtnZoom_Click);
//
// tsComboZoom
//
this.tsComboZoom.Items.AddRange(new object[] {
resources.GetString("tsComboZoom.Items"),
resources.GetString("tsComboZoom.Items1"),
resources.GetString("tsComboZoom.Items2"),
resources.GetString("tsComboZoom.Items3"),
resources.GetString("tsComboZoom.Items4"),
resources.GetString("tsComboZoom.Items5"),
resources.GetString("tsComboZoom.Items6"),
resources.GetString("tsComboZoom.Items7"),
resources.GetString("tsComboZoom.Items8"),
resources.GetString("tsComboZoom.Items9"),
resources.GetString("tsComboZoom.Items10")});
this.tsComboZoom.Name = "tsComboZoom";
resources.ApplyResources(this.tsComboZoom, "tsComboZoom");
this.tsComboZoom.SelectedIndexChanged += new System.EventHandler(this.tsComboZoom_Leave);
this.tsComboZoom.Leave += new System.EventHandler(this.tsComboZoom_Leave);
this.tsComboZoom.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tsComboZoom_KeyPress);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
//
// tsBtnNext
//
this.tsBtnNext.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.tsBtnNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsBtnNext, "tsBtnNext");
this.tsBtnNext.Name = "tsBtnNext";
this.tsBtnNext.Tag = "next";
this.tsBtnNext.Click += new System.EventHandler(this.Navigate_Click);
//
// tsBtnPrev
//
this.tsBtnPrev.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.tsBtnPrev.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsBtnPrev, "tsBtnPrev");
this.tsBtnPrev.Name = "tsBtnPrev";
this.tsBtnPrev.Tag = "prev";
this.tsBtnPrev.Click += new System.EventHandler(this.Navigate_Click);
//
// tsLblTotalPages
//
this.tsLblTotalPages.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.tsLblTotalPages.Name = "tsLblTotalPages";
resources.ApplyResources(this.tsLblTotalPages, "tsLblTotalPages");
//
// tsTxtCurrentPage
//
this.tsTxtCurrentPage.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.tsTxtCurrentPage.Name = "tsTxtCurrentPage";
resources.ApplyResources(this.tsTxtCurrentPage, "tsTxtCurrentPage");
this.tsTxtCurrentPage.Leave += new System.EventHandler(this.tsTxtCurrentPage_Leave);
//
// tsBtnLandScapePortrait
//
this.tsBtnLandScapePortrait.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.tsBtnLandScapePortrait.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.landcapeToolStripMenuItem,
this.portraitToolStripMenuItem});
resources.ApplyResources(this.tsBtnLandScapePortrait, "tsBtnLandScapePortrait");
this.tsBtnLandScapePortrait.Name = "tsBtnLandScapePortrait";
//
// landcapeToolStripMenuItem
//
this.landcapeToolStripMenuItem.Name = "landcapeToolStripMenuItem";
resources.ApplyResources(this.landcapeToolStripMenuItem, "landcapeToolStripMenuItem");
this.landcapeToolStripMenuItem.Click += new System.EventHandler(this.landcapeToolStripMenuItem_Click);
//
// portraitToolStripMenuItem
//
this.portraitToolStripMenuItem.Name = "portraitToolStripMenuItem";
resources.ApplyResources(this.portraitToolStripMenuItem, "portraitToolStripMenuItem");
this.portraitToolStripMenuItem.Click += new System.EventHandler(this.portraitToolStripMenuItem_Click);
//
// EnhancedPrintPreviewDialog
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.AppWorkspace;
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.printPreviewControl1);
this.MinimizeBox = false;
this.Name = "EnhancedPrintPreviewDialog";
this.ShowInTaskbar = false;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.RadPrintPreview_FormClosing);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.PrintPreviewControl printPreviewControl1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton tsBtnPrint;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripDropDownButton tsDDownPages;
private System.Windows.Forms.ToolStripMenuItem pageToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem pagesToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem pagesToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem pagesToolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem pagesToolStripMenuItem3;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripButton tsBtnNext;
private System.Windows.Forms.ToolStripButton tsBtnPrev;
private System.Windows.Forms.ToolStripLabel tsLblTotalPages;
private System.Windows.Forms.ToolStripTextBox tsTxtCurrentPage;
private System.Windows.Forms.ToolStripComboBox tsComboZoom;
private System.Windows.Forms.ToolStripButton tsBtnPageSettings;
private System.Windows.Forms.ToolStripButton tsBtnPrinterSettings;
private System.Windows.Forms.ToolStripButton tsBtnZoom;
private System.Windows.Forms.ToolStripSplitButton tsBtnLandScapePortrait;
private System.Windows.Forms.ToolStripMenuItem landcapeToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem portraitToolStripMenuItem;
}
}

View File

@ -0,0 +1,394 @@
// Code is under the CPOL license. Original by Vincenzo Rossi.
// Taken from http://www.codeproject.com/KB/printing/EnhancedPrintPreviewDlg.aspx
// Mods by Sam Habiel. Mods to remain under CPOL.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.Drawing.Drawing2D;
namespace VR.PrintPreview {
public partial class EnhancedPrintPreviewDialog : Form {
#region PRIVATE FIELDS
PrintDocument mDocument;
PageSetupDialog mPageSetupDialog;
PrintDialog mPrintDialog;
int mVisibilePages = 1;
int mTotalPages = 0;
bool mShowPageSettingsButton = true;
bool mShowPrinterSettingsButton = false;
bool mShowPrinterSettingsBeforePrint = true;
List<AdditionalText> mAdditionalTextList;
#endregion
public EnhancedPrintPreviewDialog() {
InitializeComponent();
printPreviewControl1.StartPageChanged += new EventHandler(printPreviewControl1_StartPageChanged);
ShowPrinterSettingsButton = false;
}
#region PROPERTIES
public List<AdditionalText> AdditionalTextList {
get {
if (mAdditionalTextList == null) mAdditionalTextList = new List<AdditionalText>();
return mAdditionalTextList;
}
set { mAdditionalTextList = value; }
}
public PageSetupDialog PageSetupDialog {
get {
if (mPageSetupDialog == null) mPageSetupDialog = new PageSetupDialog();
return mPageSetupDialog;
}
set { mPageSetupDialog = value; }
}
public PrintDialog PrintDialog {
get {
if (mPrintDialog == null) mPrintDialog = new PrintDialog();
return mPrintDialog;
}
set { mPrintDialog = value; }
}
public bool ShowPrinterSettingsButton {
get { return mShowPrinterSettingsButton; }
set {
mShowPrinterSettingsButton = value;
tsBtnPrinterSettings.Visible = value;
}
}
public bool ShowPageSettingsButton {
get { return mShowPageSettingsButton; }
set {
mShowPageSettingsButton = value;
tsBtnPageSettings.Visible = value;
}
}
public bool ShowPrinterSettingsBeforePrint {
get { return mShowPrinterSettingsBeforePrint; }
set { mShowPrinterSettingsBeforePrint = value; }
}
public PrintPreviewControl PrintPreviewControl { get { return printPreviewControl1; } }
public PrintDocument Document {
get { return mDocument; }
set {
SwitchPrintDocumentHandlers(mDocument, false);
mDocument = value;
SwitchPrintDocumentHandlers(mDocument, true);
printPreviewControl1.Document = mDocument;
}
}
public bool UseAntiAlias {
get { return printPreviewControl1.UseAntiAlias; }
set { printPreviewControl1.UseAntiAlias = value; }
}
#endregion
#region DOCUMENT EVENT HANDLERS
void mDocument_BeginPrint(object sender, PrintEventArgs e) {
mTotalPages = 0;
}
void mDocument_EndPrint(object sender, PrintEventArgs e) {
tsLblTotalPages.Text = " / " + mTotalPages.ToString();
}
void mDocument_PrintPage(object sender, PrintPageEventArgs e) {
mTotalPages++;
if (mAdditionalTextList == null) return;
SizeF measure;
PointF point = new PointF();
Brush brush;
StringFormat format = new StringFormat();
string text;
foreach (AdditionalText at in mAdditionalTextList) {
text = at.Text.Replace("$pagenumber", mTotalPages.ToString());
measure = e.Graphics.MeasureString(text, at.Font);
brush = at.Brush;
format = new StringFormat();
switch (at.Position) {
case TextPosition.HTopLeft:
point.Y = e.MarginBounds.Top - measure.Height;
point.X = e.MarginBounds.Left;
break;
case TextPosition.HTopCenter:
point.Y = e.MarginBounds.Top - measure.Height;
point.X = e.MarginBounds.Left + (e.MarginBounds.Width - measure.Width) / 2;
break;
case TextPosition.HTopRight:
point.Y = e.MarginBounds.Top - measure.Height;
point.X = e.MarginBounds.Right - measure.Width;
break;
case TextPosition.HBottomLeft:
point.Y = e.MarginBounds.Bottom;
point.X = e.MarginBounds.Left;
break;
case TextPosition.HBottomCenter:
point.Y = e.MarginBounds.Bottom;
point.X = e.MarginBounds.Left + (e.MarginBounds.Width - measure.Width) / 2;
break;
case TextPosition.HBottomRight:
point.Y = e.MarginBounds.Bottom;
point.X = e.MarginBounds.Right - measure.Width;
break;
case TextPosition.VTopLeft:
format.FormatFlags = StringFormatFlags.DirectionVertical;
point.Y = e.MarginBounds.Top;
point.X = e.MarginBounds.Left - measure.Height;
break;
case TextPosition.VMiddleLeft:
format.FormatFlags = StringFormatFlags.DirectionVertical;
point.X = e.MarginBounds.Left - measure.Height;
point.Y = e.MarginBounds.Top + (e.MarginBounds.Height - measure.Width) / 2;
break;
case TextPosition.VBottomLeft:
format.FormatFlags = StringFormatFlags.DirectionVertical;
point.X = e.MarginBounds.Left - measure.Height;
point.Y = e.MarginBounds.Bottom - measure.Width;
break;
case TextPosition.VTopRight:
format.FormatFlags = StringFormatFlags.DirectionVertical;
point.Y = e.MarginBounds.Top;
point.X = e.MarginBounds.Right;
break;
case TextPosition.VMiddleRight:
format.FormatFlags = StringFormatFlags.DirectionVertical;
point.Y = e.MarginBounds.Top + (e.MarginBounds.Height - measure.Width) / 2;
point.X = e.MarginBounds.Right;
break;
case TextPosition.VBottomRight:
format.FormatFlags = StringFormatFlags.DirectionVertical;
point.Y = e.MarginBounds.Bottom - measure.Width;
point.X = e.MarginBounds.Right;
break;
case TextPosition.WaterMark:
point.Y = e.MarginBounds.Top + (e.MarginBounds.Height - measure.Height) / 2;
point.X = e.MarginBounds.Left + (e.MarginBounds.Width - measure.Width) / 2;
point.X += at.OffsetX;
point.Y += at.OffsetY;
int TranslationX = (int)(point.X + measure.Width / 2);
int TranslationY = (int)(point.Y + measure.Height / 2);
e.Graphics.TranslateTransform(TranslationX, TranslationY);
e.Graphics.RotateTransform(-55f);
point.X = -measure.Width / 2;
point.Y = -measure.Height / 2;
if (at.Brush is SolidBrush && ((SolidBrush)at.Brush).Color.A == 255)
brush = new SolidBrush(Color.FromArgb(100, ((SolidBrush)at.Brush).Color));
e.Graphics.DrawString(text, at.Font, brush, point, format);
e.Graphics.RotateTransform(55f);
e.Graphics.TranslateTransform(-TranslationX, -TranslationY);
break;
default:
break;
}
if (at.Position != TextPosition.WaterMark) {
point.X += at.OffsetX;
point.Y += at.OffsetY;
e.Graphics.DrawString(text, at.Font, brush, point, format);
}
}
}
#endregion
#region TOOLBAR EVENT HANDLERS
private void tsTxtCurrentPage_Leave(object sender, EventArgs e) {
int startPage;
if (Int32.TryParse(tsTxtCurrentPage.Text, out startPage)) {
try {
startPage--;
if (startPage < 0) startPage = 0;
if (startPage > mTotalPages - 1) startPage = mTotalPages - mVisibilePages;
printPreviewControl1.StartPage = startPage;
} catch { }
}
}
private void NumOfPages_Click(object sender, EventArgs e) {
ToolStripMenuItem mnuitem = (ToolStripMenuItem)sender;
tsDDownPages.Image = mnuitem.Image;
mVisibilePages = Int32.Parse((string)mnuitem.Tag);
switch (mVisibilePages) {
case 1:
printPreviewControl1.Rows = 1;
printPreviewControl1.Columns = 1;
break;
case 2:
printPreviewControl1.Rows = 1;
printPreviewControl1.Columns = 2;
break;
case 4:
printPreviewControl1.Rows = 2;
printPreviewControl1.Columns = 2;
break;
case 6:
printPreviewControl1.Rows = 2;
printPreviewControl1.Columns = 3;
break;
case 8:
printPreviewControl1.Rows = 2;
printPreviewControl1.Columns = 4;
break;
}
tsBtnZoom_Click(null, null);
}
// Manages the next and previous button
private void Navigate_Click(object sender, EventArgs e) {
ToolStripButton btn = (ToolStripButton)sender;
int startPage = printPreviewControl1.StartPage;
try {
if (btn.Name == "tsBtnNext") {
startPage += mVisibilePages;
}
else {
startPage -= mVisibilePages;
}
if (startPage < 0) startPage = 0;
if (startPage > mTotalPages - 1) startPage = mTotalPages - mVisibilePages;
printPreviewControl1.StartPage = startPage;
} catch { }
}
void printPreviewControl1_StartPageChanged(object sender, EventArgs e) {
int tmp = printPreviewControl1.StartPage + 1;
tsTxtCurrentPage.Text = tmp.ToString();
}
private void tsComboZoom_Leave(object sender, EventArgs e) {
if (tsComboZoom.SelectedIndex == 0) {
printPreviewControl1.AutoZoom = true;
return;
}
string sZoomVal = tsComboZoom.Text.Replace("%", "");
double zoomval;
if (double.TryParse(sZoomVal, out zoomval)) {
try {
printPreviewControl1.Zoom = zoomval / 100;
} catch { }
zoomval = (printPreviewControl1.Zoom * 100);
tsComboZoom.Text = zoomval.ToString() + "%";
}
}
private void tsBtnZoom_Click(object sender, EventArgs e) {
tsComboZoom.SelectedIndex = 0;
tsComboZoom_Leave(null, null);
}
private void tsComboZoom_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == 13) {
tsComboZoom_Leave(null, null);
}
}
private void tsBtnPrint_Click(object sender, EventArgs e) {
PrintDialog.Document = this.mDocument;
if (mShowPrinterSettingsBeforePrint) {
if (PrintDialog.ShowDialog() == DialogResult.OK) {
try {
mDocument.Print();
} catch { }
}
}
else {
try {
mDocument.Print();
} catch { }
}
}
private void tsBtnPageSettings_Click(object sender, EventArgs e) {
PageSetupDialog.Document = this.mDocument;
if (PageSetupDialog.ShowDialog() == DialogResult.OK) {
printPreviewControl1.InvalidatePreview();
}
}
private void tsBtnPrinterSettings_Click(object sender, EventArgs e) {
PrintDialog.Document = this.mDocument;
PrintDialog.ShowDialog();
}
#endregion
private void RadPrintPreview_FormClosing(object sender, FormClosingEventArgs e) {
SwitchPrintDocumentHandlers(mDocument, false);
}
private void SwitchPrintDocumentHandlers(PrintDocument Document, bool Attach) {
if (Document == null) return;
if (Attach) {
mDocument.BeginPrint += new PrintEventHandler(mDocument_BeginPrint);
mDocument.PrintPage += new PrintPageEventHandler(mDocument_PrintPage);
mDocument.EndPrint += new PrintEventHandler(mDocument_EndPrint);
}
else {
mDocument.BeginPrint -= new PrintEventHandler(mDocument_BeginPrint);
mDocument.PrintPage -= new PrintPageEventHandler(mDocument_PrintPage);
mDocument.EndPrint -= new PrintEventHandler(mDocument_EndPrint);
}
}
private void landcapeToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.Document.DefaultPageSettings.Landscape == true) return;
this.Document.DefaultPageSettings.Landscape = true;
tsBtnLandScapePortrait.Text = tsBtnLandScapePortrait.DropDownItems[0].Text;
tsBtnLandScapePortrait.DropDownItems[0].Enabled = false; //disable LS
tsBtnLandScapePortrait.DropDownItems[1].Enabled = true; //enable POR
this.printPreviewControl1.InvalidatePreview();
}
private void portraitToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.Document.DefaultPageSettings.Landscape == false) return;
this.Document.DefaultPageSettings.Landscape = false;
tsBtnLandScapePortrait.Text = tsBtnLandScapePortrait.DropDownItems[1].Text;
tsBtnLandScapePortrait.DropDownItems[1].Enabled = false; //disable POR
tsBtnLandScapePortrait.DropDownItems[0].Enabled = true; //Enable LS
this.printPreviewControl1.InvalidatePreview();
}
}
}

View File

@ -0,0 +1,749 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="tsBtnPrint.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAi1JREFUOE+1k/9P
UlEYxv2nWK2tVlttGmpltrCcEQ1XUjSMaUHJNLIpNcnCragplBvUoC/okJhZLG92ySUpU8RNICdIhAio
EF+e7r1UZMDW1jrb+8t7z/N83vucc8rK/sdyeYIwvpopWYbRaZTk0uIx0o0/V/JbGt7lVTwxT6CKKylt
oLd8xGYihS/hKGz2WaaeWUnoTATsMz7UCztx9Ex7cYN3jkUQU4tb4DR5LZaAcyEAg4VE5YlLMFmJQoNQ
JA61gUA6k4XPH9pCN9s+gZz2oq5Jjlq+DDfUz3Fba86bOGY9jHiUdDF0mvqT7A/F4fKEcE9nZf5d1jOI
B4ZxVJ2U5gyc8z70akegMX3AXb0ND1+8R6/GgvZbeog61OA2K3CA2lxR34JjZ69B2T8EsVyN/Q0XcwY3
B14iGk8UpE43UukMNqhA6QyC4Q0srcQg7dagsbWHmuDHScj7jDC9nsJTqx0a4xjuaIfRqXoMSXc/hG0q
8C4owGnqwEGeFOXHxThH9eoEV7G7VpiboE2pK0qnm9H1JLz+NUzOBfHWEcAQsQSuqAuVDa1gVZzKGUgU
jwoMqAzxNZbC3Od1jDvDYPdth+7NCpP8Yf4V7KoR5A1arg8gmQIoGMLxLJYjWSwEMphwb2J4MoZB2yqU
LBZUIxHGYB9HlBfTE4jl9+GmBPTHv6lfo//+GGoaZajmXQabumXl1HHt5TRjz5Hz2HlIgB3Vp7GNzWeo
RcX/+pq/AwHYL0leVl8fAAAAAElFTkSuQmCC
</value>
</data>
<data name="tsBtnPrint.ToolTipText" xml:space="preserve">
<value>Stampa</value>
<comment>Print</comment>
</data>
<data name="tsBtnPrinterSettings.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjpJREFUOE+Nk+1L
U2EYxo//SP9C9KEPfQv6IBV9yA+9UILNprCJpNkM52FFosvRGOmURiodk1mBWBamWQ3DFwStXKWScLZk
2UwKt52dnder8zyHI3Mv0AMXh4fz3L/rvu7znArf0x0wBUtRGUZSwIgymKxkKO+ZkxkmZ7xTVDAL/kMV
DAFws6AaiugIvdXQN6Ui8EqBb1xGxzMJbDiHVi6LpgEBjgcC7ME0jtiXTWMCyFfHSBJtQ0k09m/D5v+J
c50JnGK3cNy1hWPNP/Z12LZoAoZfLOJ/l64DqqZDlDQcPVlrAgbHPpSsj0QiKKcDgNCTdxSQf9jaW2TN
sFZVHZKs03MHAOUiFLo3uAMopbIRiLtm5FUMZ1JIliSr2MuI+LK5jZrrfnMGVoTCQVgdkOKP33jMzEch
5mSEX87h/qPXqLJ7TEDfyHTRDAxjmtVqWacz0JDYSWFy9jNqmrupKKCHmyz6CqR1Uvx1g0dn/zhu3h2G
oz2Iy41enK1lcfqKB6x/FHWtAewDDNPizIqOlKAi+UdG7FcOa/EsVr5nMBdNocU3huomowvSAbkc65tx
rK7FsLTKU/flKE81MbOCUPg9vEYnLi+H+rYglZMN4YzNbQLIrcoXAaQFEemsjr8ZDWlRQ/y3jIUNAVOf
BLCPY7C5elB5qaXoR6RzIYD59TQmlvaoBqd3MfBmF70nKuHmEqjv5XHB2YVbgdHSAAK56LxNo1y90Y2G
9gCqr3Whqs5Ddd5xB/cePqfF/wBMNOUu3xTXtwAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsBtnPrinterSettings.ToolTipText" xml:space="preserve">
<value>Impostazioni stampante</value>
<comment>Printer Settings</comment>
</data>
<data name="tsBtnPageSettings.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAARpJREFUOE9j7F71
6j8DGvj9h4Hh5+//DN9//Wf49hOIkegfvxgYfgDlQOD3HyANMmDRof9gPP/Av/+z9v79P23nn/8Ttv7+
373h1/+W1T//1y7/8b980bf/hXO//s+a+fV/6tTPYGyYevY/2ABk3LL05f+q+S//501//j+p79n/sLan
/71qH/93KHv837LoEQrWTzrxn2HxphP/QeDAgQP/Gxga4GyYGDoNUgNSCwKmnsn/GeatOwwXQJaEKUKn
kS0BGzBr5T6wzeRgsAHYvAB2Hw6A4QJ0L+DTDJLDCAOQF9ADkSQXTFu6CyUQSXbB5EXbKXMByAByYgCk
BxwL6C7AFf8wcYxYABmATZLolAgyAOQUcjF6TiaZDwCkEcL3k8Ha+gAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsBtnPageSettings.ToolTipText" xml:space="preserve">
<value>Impostazioni pagina</value>
<comment>Page settings</comment>
</data>
<data name="tsDDownPages.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAqZJREFUOE+NkslP
U1EUxq/+A7DRhJ0b3bqBhQsNAY1gDIIpBWpTgwyLkpQhEovaBqGCgNrIUASCTKHIaNqIbSioEAEbqAI2
AopTLTMIgmCAtp/v3Cfdmbj48u593/2d8953z4GHtoITvoNsyOvzMY/PyzxeL9vzeNiud4/tCk++9ohr
ekd7OkNnfT6EMkNfAUZdw5hemYRzaQJv5h147R7Ei899sHx8CtNkJ1qdzWgce4RqhwGGkVLcHyqG1nod
ssx4sDKbDuMLb9HubOEyD0yh67kTbT1jMD4bRaPZjtquQVS19aPC2Iem8TpobTlIblIgJukCmN6ai5FZ
OzdIHb0T2NkDtnaAjW1g7RewvAEsrAP6egtqHJW41p0FRc0lnJaEgxV3a/DK1c8NktHiwDbBvwV4C1j5
C8/+AIpqzCiz65HVpYK8Mg4hYcFgOpMaPTNWbpDqTcPY3Ic3gUWh85wAu1aA/IoO3B28A1WrEnGlEhw7
fhRM23kV5qkn3CBVtw9gnToT/FOEvwvwlyVAq29BwUAelE2piL0XjaAjQWDq1nQeHhmkCmMvVvfhNRH+
KsAzC4C6uIEHmFp7BdGFUQg8FAiW2az0J0smBbVEnQleFeFPAjw9B6TfquIBJlYqcD7vnFggrSHFnyyZ
RdUmzAuwm+BlEf4gwO/dgFxVKAb4QIZIzVmxQEptoj9ZMvPLOzj8jeBFAZ4HJgX4nQuIkGfzAONLpDij
DhcLXK6S+5MlU6M3IqekEdmFdUjTGKDIKEJ00k2ESzMQEpnEA5TcvoiwrFCxgMyQAN3LXG78j3iAuVE4
lX5SLCAti0WeTQvl42Q+njRhNCR0z3RVlDYFRv9Mn02dCQ5RBIsFJOWSiIQbcZCp4vls03jShNGQ0D3T
oX8p4HBAzB+yaJc+vI+BfQAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsDDownPages.ToolTipText" xml:space="preserve">
<value>Pagine visibili</value>
<comment>Pages to show</comment>
</data>
<data name="pageToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
CxMBAJqcGAAAAp1JREFUOE+NkslPU1EUxq//ARsX7Nzo1g1duNAQ0AjGIJgy1aYGGRYlKUMkFrUNQgUB
tZFKCRBkaCgymjYihEGlsSCBKmAjoDhVZoogCAZo+bznPunS+JIv77733d857333HDL3F55gjA369/eZ
b9/PfH4/2/P52K5/j+3yu1j7pDW9o2faQ3v5Fcp4AYx6hjDtnYR7eQJvFlx4PevEi8/96Pr4FLbJdjS7
G9Ew9ghVLjPMI2W4P1gCffd1KLISwEy9BowvvkWru0nI7phCx3M3WnrGYH02igb7MGo6nKhsGUC5tR+W
8Vroe3ORYlEhJvkCmLE7DyNzw8IgtfVNYGcP2NoBNraBtV/AygawuA4Y67pQ7arAtc5sqKov4bQ8HKyk
U4dXngFhkKxdLmwT/JvDW4D3Lzz3AyiutsM0bER2hwbKinjIwkLADDYtema6hUGqsw1h8wDeBJZ453kO
e7xAQXkb7jrvQNOsRnyZHMeOHwXTt1+FfeqJMEhVrQ6sU2eCf0rwdw5/WQb0xiYUOvKhtqQh9l40go8E
g2mbM0R4ZJDKrX1YPYDXJPgrh2cWAW1JvQgwreYKoouiEHQ4CCyrUR1IlkwKapk6E7wqwZ84PD0PZNyq
FAEmVahwPv+cVCC9PjWQLJnFVTYscHiW4BUJ/sDh97OAUlMkBfhAgUjdWalAak1SIFkyCx62CfgbwUsc
XgAmOfzOA0Qoc0SACaVxOKMNlwpcrlQGkiVTZ7Qit7QBOUW1SNeZocosRnTyTYTHZUIWmSwClN++iLDs
UKmAwpwIw8s8YfyPRIB5UTiVcVIqEGeKRX6vHurHKWI8acJoSOic6agobQqM/pk+mzoTLFOFBApEJN6I
h0KTIGabxpMmjIaEzpm6/EMxfwBG7pNGqvkS5gAAAABJRU5ErkJggg==
</value>
</data>
<data name="pageToolStripMenuItem.Text" xml:space="preserve">
<value>Una Pagina</value>
<comment>1 Page</comment>
</data>
<data name="pagesToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
CxMBAJqcGAAAAjhJREFUOE+Nkt9LU2Ecxt/+A2+68K6buu3GXXRRiBalhGlNN9c4ZeouFkw8CC7LMdZc
4a+ho60yZ7WGHfJHSsPVskxyJjpNGcxIgkZLUemHIISe7Wnf90BXh9iBL+d9n/f9Pu85n/c54J10HWOM
RdOZDJMzaSan02xfltleep/tZd98LCtj0mhOe2hv9ilkWQMsJGfxaTuB+OYKFtdj+PBtBm+/TGLi8wuM
JYYhxYN4/NGP+zEvvPO96I62wxZugaFRD+aJOLG8sYRn8cGcKrA8AFvkGuoCAipqz4G5w3bMp+ZAC7lU
X8yH5pAIoe8iTmqLwdpDrXiffIfx6VUMvV5BMLQA/2gUd6Up0GY1XRyxwOjTQVNUAOYcs+LVWhjSyyXs
/gF+7QKbvwH3wwl45tyqukUyQ9erxZGjh8Fsw00YXx3FwPNZ3ry1A6R+AG2+EXTO3FbVzQETKrvKkX8o
H8wqNXB43sE3vPl7tvnrFnCjOwjXtENVN/VfQfmtMuQdzANrDJo5vC5/COs/lea1DUB0PuC01fQan4Cz
jlLF4Oqjeg7r5p0hJLeV5kQKuGCyc9pqurHHgJLW04pBfX8Nh9XS+QRNLj8uix0oFZqhKakF0VbT9R1V
OGUtVgwu3TNyWEQ2lyKA2rbzKBILFQODtxrOKTtoIZfiAO1lONFwXDGo8lTCEbHB/LSOx5MSRiGhe6ar
ItoEjP6ZPptOpmaNUPDP4Ez1dR0MFj3PNsWTEkYhoXumU/5TFX8BQkSECapXuNUAAAAASUVORK5CYII=
</value>
</data>
<data name="pagesToolStripMenuItem.Text" xml:space="preserve">
<value>Due Pagine</value>
<comment>2 Pages</comment>
</data>
<data name="pagesToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
CxMBAJqcGAAAAi1JREFUOE+lU99LU2EY/voPvOnCu27qtht30UUhWqgZOmO6ucYJf15MmDgCV+EYY02x
H5aLDRMVHVKjLByJo2WWpDls1WKgUkgMJRHBKwnmOXva+x7mxTmsmz74ON95Oc/zvt/zPOdEcMF/Tgix
ouRyQs4pQlYUcSTLIqsciWz+yWdZPVON3ukb+ja/ykWeAJ8zn7C5v4703nd8+Z3E6vYyFrcWMP/jNWbX
ZxBJT2Pq2zieJIMIrg3jwcog3LFbsPZYIAJxH4NTu18RXdrAi7cphKOrGIm8w/P0U4RTE7q6O34T7WEJ
DW31EEMxD3de20kwmNafLGBz+Bk8mgzp6r1zTkij13DRVAkxONfHY3/MfODOB4fArz2gVuplcCAxpKs7
XzpgC5lhqCiD8M26+M5vfsZ47Mw+kNwCDDVtDL63PKCrOyJ2mIdNOHP2NIR75gYLFt14hcDUPI9O3YmA
wP4l73GdarTt4U403jei9FQphCvSzWoXBCuMXQCTYHRnGps6E7hzrBXG/jqUnCyB6Jm2s1XF1Caw1p2W
kIQr3ssqQddkB/tcTG3qrHXH9siKmr4qlaBjrIVDUkxtGlvrjuVuEy65KlWC6yM2TlgxtenOWndMd66i
wlmuEliDzXiceAjfe4/OhYJgWneMnjpc6D6vEjQFGuGNu2F/1s7xpIRRSMhnsorUJsHozjQ2dSawQSo7
Jqhuvm2G1WHhbFM8KWEUEvKZuvxjN9Av+V/rL/pdfNosq3NxAAAAAElFTkSuQmCC
</value>
</data>
<data name="pagesToolStripMenuItem1.Text" xml:space="preserve">
<value>Quattro Pagine</value>
<comment>4 Pages</comment>
</data>
<data name="pagesToolStripMenuItem2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
CxMBAJqcGAAAAfdJREFUOE+NkstLG1EYxW//Azcu3HVTt27MwkWL+EAtxUeJJqYh4nMxQsQgGBWHkEZb
fFRqYIKKigbRKFoMBoNBfKC2wcaqBFQUodKi1K661Jmc5rsDktUlAx9zz8ydMzO/c54pm/15jLEDLZFg
akJjqqaxR1VlD9oje0ie+VrV13SNNO2hvckjnyUN8P3mKy7+niH+5xRHtzF8+7WPretNrF+uYfVsGYH4
HGaPpzAeU6AcjuLTwQDkcDcs7WYwb8SDk7sfCO6eYyF8hLHFHSzF54VajnShyW9DVWMF2EjYhcPfUcwE
o7j/B/QpK/CfTAt1Z8gB28Q7FBkLwQZCvdi72cHwVAg/74FWWcFEzCfUjhU7rD4TDAW5YJ5VJzauwuga
nIVJeg9DWSO80RGhtgckmEaNyM55ASYvdyB4/gVD+x/Tmv5dNyR/C6qHK5H1PAvMGWjj0OhGOkMAWyYb
UPmhHBmZGWDtcxKHlpoCbRLpep8Nb9yvdYPWmWYOLTUFoizS1s8WlPWW6AbNk/UcWmoKRFmkzYM1KHYW
6gZ1Y1YOLzUFoizSxr63KHDk6wYWpRaebRcnm85wgK5yvGp7qRvUeKvhjsiQFpp4PalhVBLKmaIi2gSM
/pk+m95MDxtsuU8GpbU9JljsZt5tqic1jEpCOdNbBFP1H+gtbUUaFlXAAAAAAElFTkSuQmCC
</value>
</data>
<data name="pagesToolStripMenuItem2.Text" xml:space="preserve">
<value>Sei Pagine</value>
<comment>6 Pages</comment>
</data>
<data name="pagesToolStripMenuItem3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
CxMBAJqcGAAAAcdJREFUOE+VkssrRGEYxj//gY2FnQ1bG7OwILnkklwKw9DIdTGKyGKQ0zTGJdcydcQ0
ozHJLWQik0kuuU2MW1OIFBFhZck585j3nNKs9Pnq7XvO6fue95zf+0SImz2JjLEDORhkUlBmkiyzb0li
X/I3+wrtipZUTe/omc7Q2dBKYSEDnDwe4ubjCoG3S5y++HH0tI+t+02s365i5WoRc4FpTJ07MOEXIR6P
YvigH4KnHbrmUjCr14KL1zMsBGa4ynUxCcHbhlqXHoU1+WAjHhOOn31w715j1nOK8fkdLq23lSO9KA2s
f60Te487cLp9eP8EusUlLl0xpoUmNQHMsmLExp0HQ441PLwDDYLIpbWjRYiLjwUTFlvhvl5G28AUtIYu
aLJruHTxUAGiY6LBjHNNCryeXTNXEcB6ezUKevMQGRUJ1jxtAJH9L8Rcc45q0OCsg80/xgUuHHR2Z6Zq
UGevgtU3wgUuHHSGMU01qByvwOB+Hxe4cNCpLSmqgU4sg2XbBIOrnqsUgKY8JDclqQYl1mKYvQIMs7VK
PClhFBKaM42KaBMw+mf6bOpMlzX6hF+DrLIOLXSNpUq2KZ6UMAoJzZm6/FGFP4tadtPnHH5/AAAAAElF
TkSuQmCC
</value>
</data>
<data name="pagesToolStripMenuItem3.Text" xml:space="preserve">
<value>Otto Pagine</value>
<comment>8 Pages</comment>
</data>
<data name="tsBtnZoom.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjtJREFUOE+l019I
U1EcB3CNIKgeo4ee9SGqh6Q/EEExYYI677ZmahRFrGEWqbNlL3W3QY3+DFcqFuHy34r+mGNqUKvmmJU5
28w/aSNnttp07o/bvd61zfh211MPdxp14Lycc36fc74HfpkZ7CBJy+pDR7Lypr7NEl88c5ujFLNxNhRa
v27N2k/Z2Tm6Y8KtptS5tOOZ1alsbDEOd3UNxMz2jzCPuXHLZMM5nQFiKRkoPq05nLa49NSVTTq98d1L
i+Wnn2bgZeJwRxk4/DRMY9+h1PeCX1ib4EuqszgRs82hv2vsoTzzC6ATSUTiSfgXE5gILsIyHUGH3Yvy
S3rsFVeqOYGGFtP4034nWxQHlVgCnVxCiEnCFWRgdS/ggTOAC2192C2qCnMC1aom9Ls8cEdimGcSCP1I
wkvFMTpH49XnMAyDPqjvDWGfRA5OQFnXOtXx4j2GZmlMhBi4wjGMsPlff42iezyAZpsH8oZe7CqocHAC
pLa9rbKuM/Z8OgrrDMXOKMzs002TQbTbfdB0jqKk5iZER2U0JyAjb28QSdWRa4+sePghgCcjIdxnc+vf
+nDVNInjqlbwDsphqJdyR0ipB05e5gvKVIsnVM242GZhbx1GTWMPyhT12C85gxtKAuFJzQpIuWb7ee3j
O7xixcDO/Coqt7QWJRXXZ/IL8xS8HdvwpmnLyghHxszUmkAoEBNCwT8jv93/QkgyY9WfSLc2B2dluek/
dbnGIwhiD0EIBouKCkTLdujfbv4CkUJx+xAUmnEAAAAASUVORK5CYII=
</value>
</data>
<data name="tsBtnZoom.ToolTipText" xml:space="preserve">
<value>Auto</value>
<comment>Auto</comment>
</data>
<data name="tsBtnNext.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAOVJREFUOE9jYBgF
RIVA8azn/09dvvOfKMXYFNkVXPpP0BDnojP/I9qfouCkvmf/c6Y8/2+cfu7/gv2//5fNeYHbJdo+k/4n
dlz/XzLjIRxXLXz3v37Fj/+9m///7wbihQcghhy/eBfTO5qe3f+dcg+DsUvBCTD2rb75P7Tt5f/o/m//
c+f9/98DNSRv6iNMA9Tdmv8bR6+CY+vU7RiGRLQ9/G8Ytuj/kZOnMQ1Qc6r7r+w+CQWres/6r+6/6L9m
yOr/7qWX/msFLMCumVD0qPrO/a/hN5c8zSDDVTynka+ZkOsGXh4ArDW2Je5KLfkAAAAASUVORK5CYII=
</value>
</data>
<data name="tsBtnNext.ToolTipText" xml:space="preserve">
<value>Successiva</value>
<comment>Next Page</comment>
</data>
<data name="tsBtnPrev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAO1JREFUOE9jYBgF
WEPg1OU7/4tnPf9PVvDANNsVXCLdAJDmsjkv/i/Y//u/cfq5/zlTnv9P6nv2P6L9KQp2LjqDafjxi3fB
mhce+P2/e/P//71AXL/ix/+qhe/+l8x4CMeJHdf/a/tMwjQgb+ojsOYeoMbcef//R/d/+x/a9vK/b/XN
/y4FJ8DYKfcwGGt6dmMacOTk6f+GYYv+R7Q9xNBsnbr9v3H0KjhWd2vGHj4gQ7QCFvx3L730XzNk9X91
/0X/Vb1n/Vd2n4SC1ZzqcAcwyBANv7n/VX3nkh4LsHgHGaLiOY18A8hKQAOmCQCbUrYliIv4gQAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="tsBtnPrev.ToolTipText" xml:space="preserve">
<value>Precedente</value>
<comment>Previous Page</comment>
</data>
<data name="tsLblTotalPages.Size" type="System.Drawing.Size, System.Drawing">
<value>24, 22</value>
</data>
<data name="tsTxtCurrentPage.ToolTipText" xml:space="preserve">
<value>Pagina corrente</value>
<comment>Current Page</comment>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD//vsA///4AP//9QD8/PwA///yAP//7AD/+vUA///oAPj4
+AD//+MA//fvAP356wD//94A9fX1AP//2gDz8/MA///VAPLy8gD/9OkA8fHxAP/+0ADw8PAA//7MAO/v
7wD/9toA//HiAP/7zADt7e0A7OzsAP/u3gD/+cYA6urqAP/o5QD/79IA//PKAP/2xAD/69gA5+fnAP/w
zAD25+EA//LCAP/p0gDk5OQA9OTZAP/wvQD/7cIA4uLiAOHh4QD/7bwA/+XLAPLoyQD/7LkA/+LMAOje
2wDe3t4A7uXGAP/ixQDc3NwA/+e1AP/gvwD/2cwA2dnZAO3jvQD+47UA/+OxAOnayQDW1tYA/9y4AOzc
vgDU1NQA9N+yAP/frQD/1b8A1NPRAP/ZswDR0dEA0NDQAP/bqQD/1q0A0c7NAM7OzgDMzMwA/9GuAPfW
pwD/1qMA79SsAP/TpwDmz7gAXsT/AMrKygAAAAAAycnJANnLvgDJyMYA/86mAObMswD/0KAA/8azAMPD
wwDvyKIAULb/AMDAwABUtP0A/8SdAL29vQC/vbwASrD/AOTApwD/vp4Au7u7AOS+pABfsuIATKzyAP+1
mgC1tbUA1ralANy0oQDds6AA27WbALGxsQDktJQAr6+vAK+trACXqbsArKysALOspQC/rpsA362RANOn
ngA4lvYA1ayQAKioqADPq5EA1qmQAMyqkQClpaUApKSkAI6hrACioqIAxqSQAM6elQDIoJMAoKCgAM+g
jAC1nJwAy5iYALOhjwCon5YAypuRAM2eiABBjdsAnJycAMSWlgCZmZkAtpCcAL6TjgCvk5MAlJSUAJKS
kgC5i4gAj4+PAESEvgC1iIgAQXrOAIyMjAC1ioAAi3+jAKKEjwBEeMkAQIC6AIV9pACJiYkAPn26AIF7
pQCzhnwApolzAKqBgQA5ebYAhYSEAK19fACOhHkAgYGBAFlsrAB7fX4Aqnh1AFdrrAB8fHwAoXd3AKd4
cgCDeXkAXGufAHh4eABDcJgAeHd2AJNzcwCdcXEAfHZzAI95ZAChbm4AlW9vAIB0aABqbnsAjW5uAHFx
cQB+cGwAm2lpAGxubwBqbG8AdWtrAJVlZQB7Z2cAAAAAAGloaQCHZGQAfGZjAGZmZgBuZWIAd2FhAIRf
XwBjYWIAfV1dAG5hWAB2XFwAcFxcAGdcWwBrXVUAW1tbAGJZVQBWV1kAbVJRAF1VUABmUVEAXlJNAFNS
UQBVTUsATEtLAF1KRABXS0QAWUc+AFREQgBJRUMAUkE8AEpBPABRPzkAQT49AFE+NQBLPDgARTk1AD05
NwBGOC8ASjYsAEE0LQA6My8ANDIxADowKgBbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tb
W1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tb
W1tbW1tbW1tbW1tbW1tbW9jY2NjYW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tb
W1vY2Onz+NjY2Nhb2NjY2NhbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW9jn9dWe1ajD/9jY
6fX37+LY2FtbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1vY2Pms46HQv6ebw//96J2a7P367djYW1tb
W1tbW1tbW1tbW1tbW1tbW1tbW1tb2Njz2DcS1cCXqbenm8PakpEYAG7P/vzy2NhbW1tbW1tbW1tbW1tb
W1tbW1tbW1vY6+xuDhIW0HBrgqm3p5vD4cK2i0MJJp7s/frY2FtbW1tbW1tbW1tbW1tbW1tb2Nj5nh0O
EhZDwWVZa4Kpt6ubw+PCtqWeYyYAadj+/NjYW1tbW1tbW1tbW1tbW1vY9cwvCQ4SFhwgY6JlWWuCpLqr
m8Pjwralno9zPgkmpfX92NhbW1tbW1tbW1tb2NjsUgQJDhIWHCAmK4uqZVlrgqS6q5vD48K2pZ6PfXNR
IARz49hbW1tbW1tbW1tb8ZoABAkOEhYcICYrMHOfqmVZa4Kkuqubw+PCtqWej31zZlE+mthbW1tbW1tb
W1uIEgQECQ4SFhwgJiswN3iIn6plWWuCpLqrm8Plwralno9ziOXv2FtbW1tbW1tbW1uaBAQJDhIWHCAm
KzBDeKGaiJ+qZVlrgqS6rpvLzLvc6v5cUrb72NjYW1tbW1tbW1uaBAkOEhYcICYrTJi7j6y7zLa4rWVZ
a4Kkuqvcc2Z61f7R0eHt9/rv2NhbW1tbW1uaCQ4SFhwgJmOls3o+Q5iPi5621bJlWWuCqcrc3MDR3c7O
po6BkqPa9/bYW1tbW1uaDhIWHC9zwp5cOj5DRpiYj4uJiJ+tZVlnfLiaerG0g1YxJBcVFUV0tN/82Ftb
W1uaEhY6j7iIPjc6PkNGTCZMZoSLiYifrXGKj5i+o5BUOyMbERERDw0PM5zW+thbW1uaUaGzcyswNzo+
Q0ZNMBwdHSAwUWmEn+Wz5W6jeVUuFRsXFQ8NDQ0IAwyc2/zYW1uPmkwmKzA3Oj5DRk1DFhg+HR0gICYm
OlJ95ZmAVSMbLR8VEQ0KCAYAAAAMoOb2W1uaICYrMDc6PkNGTU0dFFp6hHpjQyAmJiY+041hIx80LRcR
DwoIBQMAAAADOMf42FueJiswNzo+Q0ZNUSsQMIQgGCZMaYR9Zkaao2RAFzs7LRcRDQoGAwEAAAAID4zm
8lueKzA3Oj5DRk1RNw4viR0UFhgcHR0rTWnZjU4bLU47LRcRDQgGAwECAwYNDz/S/NiEMDc6PkNGTVE6
Djd4LxASFBYYHB0dICDXdkAVQU47LRcRDwoGBQMFBggNERXO99hbhDo+Q0ZNTCASXHMYDhAQEhQWGBwd
HVy8by4fTk5BLR8VDw0IBgYGCAoNDxem8thbW25SRkMrN2NpNyAcDg4QEBIUFhgcHWmxbykfVVVINCQX
EQ8NCgoKCg0PFRum8thbW1tbW56eQyYgMGZ9blxDJhYSFBYYHGmxbyMfTlVBMS0fFRERDw0NDxEVFSmv
8thbW1tbW1ueJiYmJnOEfXhzaWZRPjAgGBzXbCkfQScxQS0fHxcVERERFRUXGzS98NhbW1tbW1ueEBAQ
EH2LhH14c2lmY1pRRjfNgTEVGS5ITkg0JCkfFxcXFx8fI1TO89hbW1tbW1ueBAQLISg2Q1pjeHNpZmNa
UUbCmUcVBiIaLkhILTQxLS0tLS0bO4Pd3ltbW1tbW1tbW7BobW1ycmJJPSw2N0ZNWlFzy3UpAQAAATFO
MUhBOzs7Ox8uVLnw2FtbW1tbW1tbW4dPT09PT19fX2hoaFNJNUpu4aBWAQAAACJOI1VOTk5BJBtVltvY
W1tbW1tbW1tbwktLS0tLS0tLS0tLS09PV8bX2OCcLAAAAi4ZQVVOQS0bI2GAx+vYW1tbW1tbW1tbzURE
REREREREREREREREROLYW1vaoEIMDAYVHx8fFxVAYYa969hbW1tbW1tbW1tbyTw8PDw8PDw8PDw8PDw8
PO7YW1tb4LSHRy0pIyMuQE5klcTk2FtbW1tbW1tbW1tbkzk5OTk5OTk5OTk5OTk5YO7YW1tbW93dva+M
hXdvdZWx18XYW1tbW1tbW1tbW1vCWDIyMjIyMjIyMjIyMjIyf97YW1tbW1tb3eLo28jL19Oz2FtbW1tb
W1tbW1tbW1vZKioqKioqKioqKioqKioqtdhbW1tbW1tbW1vIyMjIyMhbW1tbW1tbW1tbW1tbW1u1JSUl
JSUlJSUlJSUlJSUl4thbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW8VdHh4eHh4eHh4eHh4eHh5C
6dhbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW+caGhoaGhoaGhoaGhoaGhqU2FtbW1tbW1tbW1tb
W1tbW1tbW1tbW1tbW1tbW1tbW34TExMTExMTExMTExMTExPk2FtbW1tbW1tbW1tbW1tbW1tbW1tbW1tb
W1tbW1tb6igLCwsLCwsLCwsLCwsLC17YW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1vPagcHBwcH
BwcHBwcHBwcHB8XYW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1usUAEBAQEBAQEBAQEBAQEBfdhb
W1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbfX19fX19ampqampqampqaltbW1tbW1tbW1tbW1tb
W1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tb
W1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1v///////8AAP//
/////wAA//wf////AAD/8AQf//8AAP/gAAf//wAA/4AAAf//AAD+AAAAf/8AAPwAAAAf/wAA8AAAAAf/
AADgAAAAAf8AAIAAAAAB/wAAgAAAAAH/AAAAAAAAA/8AAAAAAAAA/wAAAAAAAAA/AAAAAAAAAB8AAAAA
AAAADwAAAAAAAAAHAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAA
AACAAAAAAAAAAMAAAAAAAAAA+AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAABAAD/AAAAAAEAAP8A
AAAAAwAA/gAAAAADAAD+AABgAAcAAP4AAHAADwAA/gAAeAAfAAD8AAB+AH8AAPwAAP+B/wAA/AAA////
AAD4AAD///8AAPgAAf///wAA+AAB////AADwAAP///8AAOAAA////wAA4AAH////AADwAA////8AAP//
/////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP/+
/QD///YA///0AP//8wD7+/sA///vAP/69AAAAAAA///qAP//5wD39/cA///jAPb29gD//+EA//rqAP//
2wD69u0A///ZAP/16wDz8/MA///WAP//1ADy8vIA///RAPHx8QD//84A7+/vAPvz4QD//csA//rNAO3t
7QD/7+AA//rHAOvr6wD/9soA6enpAP/3xQDo6OgA/+vXAPLp3wD/88UA5ubmAP/0wQD/8MQA5OTkAP/w
vgDx6NIA/+fOAOLi4gDx5dYA/+zCAP/svgD/7boA3t7eAOLd2wD/6bcA3NzcAP/muwD/4cMA2traAO3a
0wD62c4A/+W0APDjvQDZ2dgA2NjYAPLbxAD/3boA7t6+ANbW1gD/4LMA/+GvANXV1QD/3rEA/9PGAOfb
vQDT09MA/9a5AP/dqgDR0dEA8ta6AP/YsQDQ0NAA6NmzAM/PzwDw1LEA/9ekAMzMzAD/0qsAy8rKANnM
wAD/z6kAyMjIAP/HtADMyMQA6c2vAOjOrQD60KIA/8ymAMTExAD5zJ8A7smmAMLCwgDxyaAAT7X/AFW1
8gDmwKYAvLy8AOHDoADhwp8A/7qjAFKy8gC6uroAubm5AMy7rADnv5kAuLi4AFav6QDXt6cA6bqaALS0
tACysrIA27GhANuwoACvr68Av7GkAMyvlgCqqqoA16qXAKmpqQClpaUApKSkAFOV3QC/qJAArqGhAMmk
kQCioqIAxpyZAD2N6ACfn58AyZ6LAL+fjAA8iuUAm5ubAKablQA/iN0AmJiYAJmYlwC9lY8AS5G/AL+Y
hADDlIoAmZaTAJWVlQCTk5MAk4mhAJmQkAC0jogAk5CQAI+PjwCTgqIAkYGeAIuLiwCLiYgAqYOHALWF
fACqg38AjIR7AG2AjgBXcLMAjICAAIGBgQCCgH8AeX+DAFhusAB6fYIAoXt2AH99fQB8fHwAeXl5AIB6
dAChdW8AmnNsAHV1dQBzc3MAdHNyAHFxcABpbHkAjWpqAIpqagAAAAAAhWVlAGhoaABmZmYAc2hdAH1j
YwCAYWEAZGRkAHthYQBmZGEAZ2JhAGFhYQBgYGAAc11dAGhcVQBsWFgAY1pVAFlZWQBBVWQAYlVNAFlV
UABrUVEAPlFhAFZTUQBkUkkAaE5OAFlPTwA5TVwAT09PAFBPTgBVTk4ATkxMAExMTABUS0sAVUtFAFtI
SABRS0UAS0hIAElISABPR0YATUZEAFVGPQBDQkEAVUI5AExAPwBGQEAASUE7AEBAQABGPj0APj4+AEE9
PQBRPTMAQDs5AEE7NwA5OTkATDowAD83NgBHODAAOzc1AD01MwA0MzIAPzMtAD4zLAA5Mi4AOyohAAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICMLCwsLCCMLCwsIICAgICAgICAgICAgICAgICAgICAjC4+nb2ff26O3o18LCCAgICAgI
CAgICAgICAgICAjCwvnutLyipffsq9D7/OrCwggICAgICAgICAgICAgIwvPCTcapkq+hpdmHJEGs7v74
wsIICAgICAgICAgIwsLfbA08+3Zpj6+hpeSyjEYmedD7/MLNCAgICAgICMLpkxsNFx+D0Wppj6+hpeSy
m4RaJkGs7s0ICAgICAi5uSoFDRcfJC191XBpj6+hpeS4m4l5XVWs0ggICAgICMIABQ0XHyQtQoKj1XBp
j6qhpfG0uKyT8P/ywggICAgIwgUNFx8kSZqTkLPB2nBpi6qc+9vz4tTHzu/96MIICAjCDRcfcqCJWkZ1
jImj1XBphbCfvo1uVEBFd8D5+MIICNAkgKB5NjxJUCo2WnWg1ZaunZhoLB4VEBAQL57r9ggI9ZNdLTY8
SVBCJEIiIiRsy+WKZSMlHRIOCQIAEbH6wgjKJi02PElQVRtxWnJ1Z0lxzHgsNSsYEAkEAQACTNj4CMst
NjxJUFMfWFMZGx8xUMaePytIKxYQCQMBBA4Vt/7Csk08SVBTImdNFBcZGx8iynwpP0guGhAKBgYKDhWO
+sIIu4RkZF1dQjkkFBcZGx/Kax5ITzgdFhAMDA4SFn/rwggICLqjKipQgHpxVTwtIsp7JTgzLisdGBUV
Fhoel/fCCAgICJoLCzZsfXpxZ11Nu54pDjpKSCslIR0hJTS39MIICAgIuZFOb15LPj03PEKCxGAGAAdH
NUg4ODUjdNjPCAgICAgIyFJSUlJZXGNcTnPlpxwAADMzV081KWK278IICAgICNaGREREREREREREw9Lg
lTIPDiEhHjRlpufCCAgICAgI3FE7Ozs7Ozs7OzvjwgjexYhtYVZmgb3mwggICAgICAjTMDAwMDAwMDAw
Q/TCCAjd3eLUx87gwsIICAgICAgI1qgnJycnJycnJyd+4cIICAgIwsLCwsIICAgICAgICAjWWyAgICAg
ICAgILXCCAgICAgICAgICAgICAgICAgICMgTExMTExMTExMo58IICAgICAgICAgICAgICAgICAjeXwcH
BwcHBwcHB5nCCAgICAgICAgICAgICAgICAgICLlaWhkBAQEBAQFBycIICAgICAgICAgICAgICAgICAgI
uZSUlK2ysp+kpKTCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAj///////////8EP//+AA//+AAD//AAAP/AAAA/gAAAPwAAAD8AAAAfAAAABwAAAAMAAAADAAAAAQAA
AAEAAAAAAAAAAIAAAADgAAAA8AAAAPAAAAH4AAAB8AAAA/AAQAfwAGAP4AB4P+AA///gAP//wAH//8AB
///AA////////ygAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMOTAASzoxAEo7
NABSPzUAVUA2AE9BOgBcSD0AXUlAAF9MQgBeR0MAVEpFAFtMRQBZTUcAZVBJAGVSSgBlVlEAa1pSAG9d
VQBuWFYAbWBaAGZlZQBmZmYAkXVmAH5taQCSeGsAf3J0AI2AeACDfXoAkn56AIh+fgBmeYMAZ26FAI2J
hwCbfokAbH+JAJSKigC3nIwArZ2NALmhjwC4qZAAnZKRAJSUlACui5YA2bSWAKKdmgC/rJoAh5GdAJ6e
ngCzqaAAoqKiAOK/ogDKtaMA38SjAMO0pQCmpqYAp6enAODHqADSwqkA/8+qAKSqrgC1s7IAZHezAP/T
swDm2LMAY3m1ALW1tQD/6LUA/+m2AOvYtwBifLgA/+u4ALu7ugDy1roAvLy8AP/tvQChtL4Avr6+AP/b
vgD/7b8A//PAAP/qwQD/9MEAwsLCAMPDwwD/4sQAxcXFAP/4xQDGxsYAAAAAAP/4xwDIyMgAycnJAP/5
yQDKysoA//fKAMzMzADOzs4A0dHRAPzn0QDU09IA09PTAP/91ADW1tYA19fXAP/51wDZ2dkA/+zZAP//
2QDa2toA29vbAN3c3ADg394A39/fAPPo3wD//d8A4ODgAP//4AD//+MA5OTkAEuf5QDm5uYA9e7nAEqg
6AD//+gASaLrAO3t7QDw8PAA8fHxAPXz8gD/+fIA//vyAP/98gD09PQA///4APr6+gAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFhYWFhY
WFhYWFhYWFhYWFhYWFgVDAUGDhEVWFhYWFhYWBUVFB8hEigKAAgVWFhYWBUgfTt3PSojX1MbAhVYWFhp
hn5wHnpAKh02WhMEWFhYhnMvNykifEUZGCclDQNYWDFBbWFtZEsuMl5lcnkQB1h2bGBVXVtSJEpPdIWD
OQFYR0lTTHh/fS1DUWt7dT8JWFg8hGZXV2cmaFBWXFk0D1hYWCs6Pk1iF3GCTkJGFhVYWCxUVFRUSAsc
M0Q4FRVYWFgwampqajUaWBwcFVhYWFhYMIGBgYEaWFhYWFhYWFhYMEdHR0dHWFhYWFhYWFhYWFhYWFhY
WFhYWFhYWFhYWP//KgXwHx8kwAfVcIADr6GAA7ibgAFdVYAACAiAAAgIgAAFDcAAJC3gAKPVwAGPqsBH
8bTA/5Pwgf/CCP//CAgoAAAAMAAAAGAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAIrKysGLhcXCzck
Eg4wICAQMyIRDy4XFwszMzMFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKysABjAg
EBAwIBggNB8VMTIhFT02HxdCNSAUPzEhFi81IBUYORwcCSsrKwYzGhoKOycUDS4XFwskJCQHVQAAAwAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATMz
AAU7JxQNMyIRHjQeETs0HhNdMx8UfTMeE5EzHhSaNB8TkzQfFHUyIBVINiIUJjAgGCAzIhctMiAXODIe
FDMzHRYjMxoaFC4XFwszMwAFAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAFVAAADMxoaCjMfFBkyHhQzMR0RWDQgFY00JyDMMykk5TctKO49MzD0MyYe5zQcELwzHRKNMh4SZTId
E2AzHhN3NB4SijMeFIEyHhJlMhwSSDYhFi83GxIcMyIRDyQkJAdVAAADAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAiQkJAc2Gw0TMh8TKTIeFE0yHRF6MycgyDw6Ovxqamr/k5OT/2hnaf+ihI//k3Nz/zMl
HfEzGxDOMh0RtjMjHMgzLSrtMych5jMdE9AzHA+4MxwQmzMeEXkyHRJXNB4ROzIcFSQzGhoUMxoaCkBA
AAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEzMwAFNyQSDjYfDyE0IBRAMx0RaTQlHbIzLy70h4eH/1paWv+Pj4//aW1z/1xr
n/+Lf6P/tpCc/5Nzc/8zJyH5My0q+WNTU/+vk5P/mZmZ/01NTf8zKib3MyIZ5TMbD8czHBCrMhwRijIe
EmYyHRJHMxwRLTEdFBo3JBIOJCQkB1UAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABQAAABC4XFwsxHRQaMR0UNDIeEVwzHxaSMywo5GRkZP/d3d3/8vLy/2lp
af9zen7/QY3b/0N3yf9ZbKz/i3+j/7aQnP+Tc3P/dmBg/8yZmf+1nJz/7+/v//////+6urr/bm5u/zMw
L/0zJh/wMx0S1TMcD7gyHBGZNBwRdTEeElQyIBc4NR4XIjYbGxM5HBwJVQAAAwAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAICAIMSQYFTQdESw0HRNPNB0TezMqJdVMS0r8urq6//X1
9f/y8vL/8PDw/2huc/9fsuL/SrD//ziW9v9Dd8n/WWys/4t/o/+2kJz/k3Nz/2VeXv93d3f/gYGB/6Gh
of/V1dX/+fn5/+bm5v+UlJT/SEhI/zMqJvczIBbiMxsOxDIdEagzHRGGNB8SYzUeE0Q0IRQnMyIRD1UA
AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMiEQ8zHRYjNR4TRDMeE24yJRy2MzEv+JaW
lv/s7Oz/9fX1//Ly8v/w8PD/1dXV/0NwmP9Qtv//XsT//0qw//84lvb/Q3fJ/1lsrP+HfaT/tpCc/5Nz
c/9ZWVn/d3d3/4GBgf+MjIz/lZWV/8LCwv/o6Oj//////7y8vP9mZmb/My8s/DMlHu4zHhLTNBwPtTUe
EpE0IRNdNiIUJjkcHAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEiFDQ0HhNdNCIZnTMt
KulycnL/4uLi//j4+P/19fX/8vLy//Dw8P/t7e3/6urq/8XFxf9EhL7/ULb//17E//9KsP//OJb2/0J5
zf9Xa6z/hX2k/7aQnP+Tc3P/WVlZ/3d3d/+BgYH/jIyM/5WVlf+goKD/tbW1/9jY2P/39/f/5ubm/4yM
jP9APz7+Mysm9DUiGc03IRWDNiQWOTckEg4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMi
GnszKybRTUtL/MvLy//7+/v/+Pj4//X19f/y8vL/8PDw/+3t7f/q6ur/5+fn/+Tk5P+hoaH/QIC6/1C2
//9exP//SrD//ziW9v9Bes7/V2us/4V9pP+2kJz/k3Nz/1lZWf93d3f/gYGB/4yMjP+VlZX/oKCg/6ys
rP+0tLT/zc3N/+rq6v/8/Pz/s7Oz/1lZWf85JBd4PCgZMzsnFA0AAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMzMzIEE/PvSZmZn//v7+//v7+//4+Pj/9fX1//Ly8v/w8PD/7e3t/+rq6v/n5+f/5OTk/+Hh
4f+0tLT/kpKS/0CAuv9Qtv//XsT//0qw//84lvb/QXrO/1drrP+FfaT/tpCc/5Nzc/9ZWVn/d3d3/4GB
gf+MjIz/lZWV/6CgoP+srKz/tLS0/7+/v//Nzc3/2dnZ/4yHhdw6JRlTPikcJUArFQxVAAADAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAMzMzcPLy8v/9/f3/+/v7//j4+P/19fX/8vLy//Dw8P/t7e3/6urq/+fn
5//k5OT/4eHh/97e3v+ysrL/paWl/5KSkv9AgLr/ULb//17E//9KsP//OJb2/0F6zv9Xa6z/hX2k/7aQ
nP+Tc3P/V1dX/3Z2dv+BgYH/jIyM/5WVlf+goKD/tLS0/6ampv9XV1f/NB0S0TUeEpA3IRZdOCMWOzMk
FiM2KBsTORwcCVUAAAMAAAABAAAAAAAAAAAAAAAAMzMzgP39/f/7+/v/+Pj4//X19f/y8vL/8PDw/+3t
7f/q6ur/5+fn/+Tk5P/h4eH/19fX/7CwsP+Pj4//mJiY/6Wlpf+SkpL/QIC6/1C2//9exP//SrD//ziW
9v9Bes7/V2us/4F7pf+yjp3/iWxs/3BwcP99fX3/YGBg/09PT/8zMzP/ycnJ/8vLy/+AgID/NBwO5TUe
EcI2IBOhNR8TgzYfEmM1IhNEOSATKDYoGxMrKysGAAAAAQAAAAAAAAAAMzMzgPv7+//4+Pj/9fX1//Ly
8v/w8PD/7e3t/+rq6v/n5+f/5OTk/9LS0v+bm5v/fHx8/5+fn/+Kior/fHx8/3Jycv+CgoL/fn5+/z59
uv9Ptf//XsT//0qw//84lvb/QXrO/1drrP+DfaX/ZV9j/7Ozs/+/v7//r6+v/2lpaf8zMzP/dWtr/3Rn
Z/9nWlr/WUZD/Uc3M/g0Jh7rNB4T0TQcD7U1HRGUNSATaTYhFT05HBMbQCAgCAAAAAIAAAAAMzMzgPj4
+P/19fX/8vLy//Dw8P/t7e3/6urq/+fn5//FxcX/jY2N/4SEhP+vr6//2dnZ/9bW1v+dnZ3/oKCg/6Ki
ov+UlJT/gYGB/2hoaP85ebb/T7X//17E//9KsP//OJb2/0Z6yf9qbnv/X19f/19fX/94eHj/dGdn/3tc
XP+aamr/nGlp/7eNgP/IoJP/06mg/8mWlv+xhIT/eF9f/0Q1Mfc0HhTbNR4RszYeFIA1IBVINSMaHUAg
IAgAAAABMzMzgPX19f/y8vL/8PDw/+3t7f/i4uL/t7e3/3Z2dv+UlJT/yMjI/9zc3P/Z2dn/1tbW/9PT
0/+bm5v/nZ2d/6CgoP+ioqL/o6Oj/6Wlpf+SkpL/Pn26/0+1//9exP//VLT9/5epu/9+fn7/mZmZ/7Gu
rv+mg4P/sX98/9Oqkf/u0aj//+67///2w////cr////O////0P/s3L7/1ral/7CAgP9zWFf+MyUe7jQc
EL8zHROGNiAWRy8cHBsrKwAGMzMzgPLy8v/w8PD/3Nzc/6CgoP9+fn7/paWl/9ra2v/e3t7/3Nzc/9nZ
2f/W1tb/09PT/9LS0v/n5+f/0tLS/7+/v/+pqan/oqKi/6Ojo/+lpaX/kpKS/z59uv9MrPL/jqGs/6Cg
oP+dnZ3/g3l5/7WFhf/PoIz/+tam///mtf//88j///rP////1P///9P////W////2f///9z////a//Lo
yf/Al5D/h2Rk/zwqIfA0HBC/NB4SgDIdFTc2GxsPMzMzgM7Ozv+QkJD/hoaG/7a2tv/k5OT/4eHh/97e
3v/c3Nz/2dnZ/9bW1v/T09P/0NDQ/+Hh4f/t7e3/7Ozs/+vr6//q6ur/4ODg/87Ozv+9vb3/qamp/5KS
kv9RV13/hoaG/1hYWP/At7f/toeH/+S0lP//16T//+/F///90f///Mr////M////0v///9j////d////
3v///9z////m////9P/69+n/u5KN/4NgYP8zJR7uNRwRszUgE10yHxMhQEBAgJiYmP/R0dH/5+fn/+Tk
5P/h4eH/3t7e/9zc3P/Z2dn/1tbW/9PT0//Q0ND/1dXV//Dw8P/v7+//2NjY/+zs7P/r6+v/6urq/+np
6f/o6Oj/5+fn/9vb2//Ly8v/qqqq/1ZWVv/Bl5f/3qyT///Uov//9c3///vJ///xvv//+sf////Q////
1////97////j////6P///+v////+////////////+vfr/7eOh/9rUE/+NB4U3DUdEYIyIBY4MzMzgOrq
6v/n5+f/5OTk/+Hh4f/e3t7/3Nzc/9nZ2f/W1tb/09PT/9DQ0P/Q0ND/6+vr//Hx8f/Kysr/r6+v/6mp
qf+urq7/wsLC/9bW1v/p6en/6Ojo/+fn5//n5+f/2tra/35oaP/OnZP//9Ge///wyP//+cb//+q3///w
vf///sv////T////2////+L////p////7/////X////////////////////2/+7lxv+hbm7/QTIt9zQd
EaszHRROcHBwv+fn5//k5OT/4eHh/97e3v/c3Nz/2dnZ/9bW1v/T09P/0NDQ/87Ozv/l5eX/8/Pz/+Hh
4f+pqan/6urq/+/v7//o6Oj/0tLS/729vf+oqKj/ra2t/8HBwf/U1NT/mJiY/7SIiP/wyKL//+G2///9
y///5rP//+i1///xvv///83////V////3f///+X////t////9f////r////+///////////////p////
2f/EpJP/blJS/zMfFdc1HhNXb29vv+Tk5P/h4eH/3t7e/9zc3P/Z2dn/1tbW/9PT0//Q0ND/zs7O/97e
3v/09PT/4uLi/6SkpP/s7Oz/8fHx//Dw8P/v7+//7e3t/+zs7P/r6+v/5eXl/9DQ0P+8vLz/bGBg/86e
l///26j///rP///yv///3ar//+i1///yv////83////V////3f///+b////t////9v////v////5////
9P///+z////e////2v/t473/lWVl/zQmIe02HxNpZmZmcOHh4f/e3t7/3Nzc/9nZ2f/W1tb/09PT/9DQ
0P/Ozs7/3Nzc//b29v/e3t7/sLCw/+Li4v/z8/P/8vLy//Hx8f/w8PD/7+/v/+3t7f/s7Oz/6+vr/+rq
6v/p6en/gGZm/92zoP//47X///3O///ksf//3Kn//+i1///wvf///8z////T////2////+T////r////
8v////T////z////7v///+f////f////1////9D/m2ho/0c2M/c2HxJxMzMzEJ6dnebc3Nz/2dnZ/9bW
1v/T09P/0NDQ/9HR0f/p6en/8vLy/8jIyP+2trb/7+/v//T09P/z8/P/8/Pz//Ly8v/x8fH/8PDw/+/v
7//t7e3/7Ozs/+vr6//IyMj/nHl5/+S+pP//7MP///rH///dqv//26j//+Sx///vvP//+8j////R////
2P///9/////m////6v///+3////s////6P///+P////c////2P///83/tIyA/047OPk3HhJqAAAAADQx
LT+qqanJzMzM/9PT0//W1tb/4+Pj/93d3f/ExMT/vb29/9/f3//p6en/7e3t//X19f/09PT/8/Pz//Pz
8//y8vL/8fHx//Dw8P/v7+//7e3t/+zs7P+9vb3/poCA/+S+pP//8cX///nG///Wo///2KX//+Gu///r
uP//9cL////N////1P///9r////f////4v///+X////k////4f///93////Y////0f///Mn/tIt+/047
OPk1HxJyAAAAAAAAAAAAAAAAMzMzEKihn1iJhoOenZub7tbW1v/o6Oj/6urq/+Hh4f/AwMD/ra2t/7m5
uf/Jycn/19fX/+bm5v/w8PD/8vLy//Hx8f/w8PD/7+/v/+3t7f++vr7/poCA/+S/pf//88j///nG///Z
pv//1aL//+Oy///tu///8r////nG////z////9P////X////2v///93////c////2v///9b////R////
0P//9MH/tIl8/007OPg1HhN+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcXBw6ujo6P/o6Oj/6Ojo/+jo
6P+0tLT/qKio/62trf+xsbH/tra2/7y8vP/AwMD/zc3N/9jY2P/h4eH/6enp/+/v7//t7e3/gGZm/+TB
qP//8Mb///vI///isf//8cv//+m8///ksv//77z///nG///6x////83////Q////0////9P////T////
0v///8/////M///6z///7br/p3hy/047OPU0HxRxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk5OT//Pz
8//z8/P/8/Pz//Pz8/+tra3/oqKi/6ioqP+tra3/sbGx/7a2tv+8vLz/wMDA/8XFxf/Kysr/zs7O/9TU
1P/e3t7/gW5u/9KlnP//7b3///7R///62v//6MH//92v///bq///363//+q3///3xP//9MH///vI///9
yv///8z////M///9yv//+MX///nG///zyP/z16r/m2ho/zMpJOE0HRJSAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAmJiY//39/f/9/f3//fLw///o5f/549//59za/9fX1//Kysr/wsLC/7Gxsf+2trb/vLy8/8DA
wP/FxcX/ysrK/87Ozv/U1NT/end3/8eUlP/44rX///rQ///96///79L///Pe///ow///263//96s///w
vf//67j//+67///wvf//8L3///C9///vvP//77z///zO///ltP/VrJD/e1hY/zMkGrUyHBMxAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAaGJfQ5GLiI+miXP//8Wh///Bn///u53//7eb//+zmf//xrP//9C////Z
zP/249z/6d/c/97e3v/U1NT/0NDQ/8rKyv/Ozs7/tbW1/49vb//atKH///LG/////P/////////////9
+///573//9ur///ru///4K3//+Ow///ms///6LX//+i1///otf//+cb//+7D//nVpf+sfHX/Tj8++DMf
E3wxHRQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPC0eETQsKn/MrY///9at///Wrf//1q3//9at///W
rf//0Kj//86m///LpP//xZ///8Sc///Cmf//0rP//9q////izP/c1s//urq6/19WVfG4iYn/79aw////
+///////////////////78///9mq///1zP//2KX//9uo///cqf//3ar//+Sx///2xP//98///9ek/82e
iP+GYGD/NCcguDQgE08xHRQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMyYaFDMvLKb/2bP//9mz///Z
s///2bP//9mz///Zs///2bP//9mz///Zs///2bP//9mz///Zs///167//9Wr///Tp/+Od2L8OSETqzcl
GWpqVlb0wJCN//Ll1v/////////////++P//78L///bV///hsv//1aL//9qn///jsP//77z///vK///y
yv//06H/366O/6BwcP9DNzTiNh4TXzQhFCczGhoGAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAFNSMSHWFW
Ttb/3Lj//9y4///cuP//3Lj//9y4///cuP//3Lj//9y4///cuP//3Lj//9y4///cuP//3Lj//9y4///c
uP9oWk32NiAUljchFkU1LSpNcVpa87yLiP/s3Mr///vr///76////+r///zP///5xv//+cb///nG///9
zP//+tD//+S3///Rnv/Yp47/pXV1/0s+POw1IxhqNCMXLDckEg5VAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAE5HBwJMyIXLYB0aP//4L///+C////gv///4L///+C////gv///4L///+C////gv///4L///+C////g
v///4L///+C////gv/9CNi3mNiAUgDcjGTMtLR4RMi8sQWdSUvKqenr/y6aT//Tfsv//7r7///DG///z
yf//8cj//+7D///jtf//3ar/7sii/8qbjv+acXH/TT894TQiGF85IBMoNyQSDlVVAAMAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAIzIiIPNCsmb7Ohj///4sX//+LF///ixf//4sX//+LF///ixf//4sX//+LF///i
xf//4sX//+LF///ixf//4sX//+LF/+bMs/80Jh7SNSATaTkjFSQgICAIMzMzBTMrIx5KPz6tfl9f/6d0
dP+zhnz/x6ON/8+rkf/btZv/5L6k/920of/KmpT/rH9//3hdXfc0LSmmMx4VPDMiER4uFxcLVQAAAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ1IBUYMy4sqebPuP//5cv//+XL///ly///5cv//+XL///l
y///5cv//+XL///ly///5cv//+XL///ly///5cv//+XL/7+um/83Ihm4NyEYVDUgFRgAAAAEAAAAAVUA
AAM5HBwJMi4pMj83NqBZR0bnaE5O/4ReXv+Vb2//kHBw/35lZf9eTUvVNC4rmDQlHkM1HhciLR4PESQk
JAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAg0IRQnXldS5P/p0v//6dL//+nS///p
0v//6dL//+nS///p0v//6dL//+nS///p0v//6dL//+nS///p0v//6dL//+nS/46Cdfs5IRaZOSYbQzwt
HhEAAAACAAAAAAAAAAAAAAABQAAABEAgIAg3JBIOMxoaFDQtK1UyLCpcNCojQjYfFyEzHxQZORwcEkAr
FQwkJCQHVQAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjMiEQ8yJSBVjIR7///r
2P//69j//+vY///r2P//69j//+vY///r2P//69j//+vY///r2P//69j//+vY///r2P//69j//+vY/11R
Ses4IRd8OiUbMDMzGgoAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABgAAAAkBAAAQkJCQHQCAgCCsr
KwZAAAAEAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMwAABTUa
Gh0zLCmi2cu+///u3v//7t7//+7e///u3v//7t7//+7e///u3v//7t7//+7e///u3v//7t7//+7e///u
3v//7t7/5tfI/zUmIMo3IRZcMyIaHjMzAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAACMyIRDzQcEzZOS0jv//Hi///x4v//8eL///Hi///x4v//8eL///Hi///x4v//8eL///Hi///x
4v//8eL///Hi///x4v//8eL/p56V/DghFZM3IxhBPC0eEQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAkJCQHNh8XITQoIoazrKX///Tp///06f//9On///Tp///06f//9On///Tp///0
6f//9On///Tp///06f//9On///Tp///06f//9On/UEhC5TkhFWs5JhooORwcCQAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzIhEPMiAXOEE+Pefy6+P///fv///37///9+////fv///3
7///9+////fv///37///9+////fv///37///9+////fv///37//Mxr//OScemz0mG0NAJhoUQAAABAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtHh4RMzEwtL+8uP//+vX///r1///6
9f//+vX///r1///69f//+vX///r1///69f//+vX///r1///69f//+vX///r1///69f9kXFbTPikdV0Aw
ICBJJCQHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0Li4ohIOC8ebk
4v///vv///77///++////vv///77///++////vv///77///++////vv///77///++////vv///77/6ai
oOhGMSZYRi0mKEArKwyAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADQvK1k0LytZNDAtbjQvK1minZu3o56cuZiUko2hnp2dwL696cC+vem7ubjEsrCv0cnG
xPHJxsTxu7e1rks5MkRQODAgVUArDFVVVQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUkHgICAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAH///AAD/4AAH//8AAP+AAAD//wAA/gAAAD//
AAD4AAAAB/8AAPAAAAAB/wAAwAAAAAB/AACAAAAAAH8AAIAAAAAAPwAAgAAAAAA/AACAAAAAAD8AAAAA
AAAAHwAAAAAAAAAHAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAOAA
AAAAAAAA/AAAAAAAAAD8AAAAAAAAAPwAAAAAAAAA/AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA+AAAAAAA
AADwAAAAAAEAAPAAAAAAAwAA8AAAAAAHAADwAAAYAA8AAOAAAB4APwAAwAAAP+f/AADAAAA///8AAMAA
AD///wAAwAAAf///AADAAAB///8AAMAAAP///wAA8AAB////AAD///P///8AAP///////wAAKAAAACAA
AABAAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAADJCQkBzckEg46IxcWMSEQHzIjFSQvHBMbMyIRDzMaGgozGhoKQCAgCDMzAAUAAAACAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAACKysABi0eDxEzHRYjNR8SOjQdEE8yHRNgMh4SZjUfE1I0IRM2MyIXLTEhFi8yHxMpLxwTGzMi
EQ8kJCQHVQAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABQEAABDsnFA0zIhEeNB4ROzEdEmI0HhGKNB0SrTMmH9MzHhK9NB0RoTQeEoA0HhF2NB0TezIe
EnAyHhJWNB4ROzIcFSQzGhoULhcXCzMzAAUAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABVQAAAzkcHAk3IRYXNB8VMTIeElYyIBWMMyol2EFAP/xPT0//WVBQ/z01M/s0HhLgMyAV0jMp
I+MyIxrXMxwQwjMdEaoyHBGKMh4SZjIcEkg2IRYvNxsSHDMiEQ8kJCQHAAAAAgAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAACQkJAc5HA4SMyATKDQfFUo0HxF1NCchxjMxL/g/Pz//eXl5/2lsef+RgZ7/qYOH/z02
Nf5GQED/jICA/1lZWf8zMC/9MyYf8DMdEtUzHA+5MxwQmzMeEXkyHRJXNR8SOi4fFyE3JBIOQEAABAAA
AAEAAAAAAAAAAAAAAAAAAAAANR4XIjUcFD80HhFnMyMbqjMuLO9lZWX/0tLS/2NjY/9tgI7/P4jd/1hu
sP+TgqL/qYOH/1lNTf+uoaH/6enp/9nZ2f+AgID/QEBA/zMqJvczIhnmMxsPxzMcEKszHRGGMR0RWC8e
Eis3JBIOgAAAAgAAAAAAAAAAAAAAAAAAAAA0HxVjMiAWkTMsKeNMTEz/vLy8//b29v/a2tr/MzMz/1av
6f9Ptf//PIrl/1husP+TgqL/qYOH/0tISP9+fn7/n5+f/9bW1v/n5+f/s7Oz/1lZWf8zMC/9MyYg8DMe
EssyHBCTMR0UTjkmExsrKysGAAAAAQAAAAAAAAAAAAAAADMpJNVAPz/8mZmZ/+7u7v/29vb/8vLy/+3t
7f+lpaX/QVVk/1W18v9Ptf//PIrl/1husP+TgqL/qYOH/0tISP9+fn7/k5OT/6SkpP/Kysr/6Ojo/9nZ
2f+AgID/QEBA/zIiGLwxHxJiMyATKEAVFQwAAAADAAAAAQAAAAAzMzOvc3Nz/+Xl5f/7+/v/9vb2//Ly
8v/t7e3/6enp/+Tk5P+tra3/PlFh/1Ky8v9Ptf//PIrl/1husP+TgqL/qYOH/0tISP90dHT/kpKS/6Ki
ov+1tbX/ycnJ/8/Pz/+AgID/MyIYxTQdE3syIBVIMhwVJDMiEQ8zMwAFAAAAATMzM7//////+/v7//b2
9v/y8vL/7e3t/+np6f/k5OT/2NjY/6mpqf+MjIz/PlFh/1Ky8v9Ptf//PIvn/1dws/+TgqL/qYOH/0E+
Pv95eXn/dXV1/4KCgv+YmJj/PT09/zMhGPUzGw/ZNBwRtjMdEo00HhNeMx8UMjMmGhQzMzMFMzMzv/v7
+//29vb/8vLy/+3t7f/p6en/1dXV/5SUlP+ZmZn/m5ub/3x8fP9oaGj/OU1c/1Ky8v9Ptf//PY7o/1dw
s/+TiaH/MzMz/05OTv9BOzv/W0hI/2tRUf97YWH/bFhY/0U7Ov4zKCHzMx4T0zIbEaczHhJvMiASODYb
Gw4zMzO/9vb2//Ly8v/t7e3/ubm5/46Ojv+ioqL/y8vL/9bW1v+4uLj/n5+f/6Kiov+Li4v/PlFh/1Ky
8v9Rt///U5Xd/3p9gv+TkJD/impq/8mei//hwp//6Nmz//Djvf/u3r7/17en/4VlZf87NDP9MyAX4zMd
EK8zHBNjMhwWGTMzM8/p6en/qqqq/4+Pj/+0tLT/39/f/9ra2v/V1dX/0dHR/+Xl5f/d3d3/ysrK/7i4
uP+QkJD/PlFh/0uRv/95f4P/mZCQ/8OUiv/xyaD//+/C///7z////9b////b////2////9z/8ejS/7WP
iP9JPj3+MyEW4TQdEZIzHhIrOTk5/5iYmP/Hx8f/5OTk/97e3v/a2tr/1dXV/9HR0f/Y2Nj/6enp/9jY
2P/r6+v/6urq/+np6f+9vb3/YGBg/0lJSf/GnJn/+8ye///2y///9sP///7M////2P///+H////p////
9///////+vbt/6F7dv86MjD8MxwPyDMdEkhhYWH/6Ojo/+Tk5P/e3t7/2tra/9XV1f/R0dH/z8/P/+/v
7/+6urr/ysrK/7m5uf+4uLj/wsLC/9XV1f+6urr/c11d/+m6mv//8cX//+67///0wf///9D////b////
6f////P////9//////////X/59u9/2hOTv8zJR7qMxwSV2BgYP/k5OT/3t7e/9ra2v/V1dX/0dHR/9DQ
0P/t7e3/zMzM/9DQ0P/x8fH/7+/v/+3t7f/h4eH/0dHR/2NjY/+zjYf//+O1///1wv//47D///XC////
0////9z////r////9P////3////z////4f///9f/mnRt/zMsKPc0GxF7Q0NDr9PT0//a2tr/1dXV/9HR
0f/Q0ND/6urq/8LCwv/S0tL/8/Pz//Ly8v/x8fH/7+/v/+3t7f/r6+v/YWFh/9uwoP//88b//+az///g
rf//8b7////O////2v///+b////u////7////+j////g////1v+/n4z/OjIw+zQcD5UzMzMQWFdW2KOj
o//Dw8P/w8PD/8fHx//Gxsb/2NjY/9vb2//p6en/8/Pz//Ly8v/x8fH/7+/v/+3t7f9hYWH/5sCm///5
zP//4K3//9uo///qt////cr////U////2////+P////j////4f///9n////T/8yvlv9NQED/NBsRiQAA
AAAuFxcLMy8tVjMwLq6MjIz/5ubm/+bm5v/R0dH/qqqq/7Kysv+6urr/zs7O/9ra2v/j4+P/6+vr/2Ji
Yv/bsaH///bG///quP//7cL//++9///1wv///sv////S////1v///9b////U///+zf//+cz/v5iE/zoy
MPkzHBKEAAAAAAAAAAI5HBwJMy4sW5WVlf/39/f/9/f3/97e3v+7u7v/sLCw/7Kysv+6urr/wsLC/8nJ
yf/S0tL/cHBw/7OPiP//8sT///3g///mu///3rH//+Gw///zwP//98T///vI///8yf//+cb///jG///r
vf+acWr/My0q7jMdEmEAAAAAAAAAAAAAAAMyLikyX15d3aablf//07r//7qj///HtP//08b/+tnO/+3a
0//i3dv/2tra/9fX1/+pqan/fWNj/+nNr////e7////////68v//4LP//+u5///jsP//6LX//+m2///s
uf//9sn/57+Z/2hOTv80KCLEMx4SRgAAAAAAAAAAAAAAAjweHhE0KidzmYZy///Ysf//2LH//9ix///Y
sf//0qv//8+p///Mpv//zqj//9i4/8y7rP9JRkb/qoN///vz4f/////////////rwP//7cP//9ek///f
rP//7br///TG//rQov+hdW//OjMy8DMcE20yHBYoAAAAAAAAAAAAAAADLiMXFjMuK6i/qJD//926///d
uv//3br//926///duv//3br//926///duv//3br/c2hd/zMhFsNOREP3vZWP//Hl1v//+ur///7h///5
yP//+cb///nM///sv//2y6D/tYV8/0k/PvkzJR6KMiASODYbGw4AAAAAAAAAACQkAAczHRYjMzAv2fLW
uv//4cP//+HD///hw///4cP//+HD///hw///4cP//+HD///hw/9NR0H7Mx0SoDInIXY8ODjngGFh/8mk
kf/hw6D/6M6t//DUsf/uyab/16qX/41qav9EOzrwNCYgezMfFDIzJhoUMzMzBQAAAAAAAAABOycUDTMk
G0RZVVD//+fO///nzv//587//+fO///nzv//587//+fO///nzv//587/8tvE/zMrJ+0zHhOGNR8WOjEl
ICkzMDCRQzs75ltISP9rUVH/e2Fh/2xYWP9GPj7sMy4rqTQjHEc1HhciMyIRDzMzAAUAAAABAAAAADMA
AAUzHxQZMywok4yEe///69f//+vX///r1///69f//+vX///r1///69f//+vX///r1/+/saT/NCcg1TMg
E2k3HBUlMxoaCiQkJAc3JBIONSwoNDItK1kzLSleMiooUjMdFiM1IBUYMyIRDyQkJAcAAAACAAAAAQAA
AAAAAAAAKysVDDUgFTAzLy3T2czA///v4P//7+D//+/g///v4P//7+D//+/g///v4P//7+D//+/g/4B6
dP80IRiqMx8USzoXFxZAAAAEAAAAAQAAAAJVAAADKysrBkAgIAg5HBwJJCQkB0AAAAQAAAACAAAAAQAA
AAAAAAAAAAAAAAAAAAAsIRYXNCYfYGZkYf//9ev///Xr///16///9ev///Xr///16///9ev///Xr///1
6//y6d//QTs47zQeE3Y2IRYvKxUVDAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAADImICgzMjHdzMjE///69P//+vT///r0///69P//+vT///r0///6
9P//+vT///r0/5mWk/80KCCqNSAVSDUgFRgzAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzEuS3Nzcv/My8r/zMvK//Lx8f///v3///79///+
/f///v3///79///+/f/Z2Nf/RD48zzgkF044KBggORwcCQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMFMi8sPTIuLFg0LCpgMy4sfzMw
LpwzLy2fMy8uoGhlZLhycG/RcnBv0UlFQ6I7Jx00NyQbHDk5HAkAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAf/+AAB/+AA
AD+AAAAPgAAAB4AAAAeAAAADgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAACAAAAAgAAAAYAAAAeAAB4/gAA//4AAP/+AAH///////ygA
AAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAzsnJwo8KxoYOSMaLjQg
FU01Hxd0NR8VdDchFko4IRc+PCIaMDkmGiA3LCESRi4uCUBAQAMAAAABAAAAADojFxI6JRsmOyYaRjkn
HpA0Jh/RNCQc3TUcD842HhPEOCAUuTskGZs3IxhkPCUbPUApIyM8LR4OQEBAAwAAAAA1IRkyNiMYb0c8
Ns9kY2P8Z26F/5t+if9tV1X+nZKR/k5DPvY1IBXiNh4Ryz4pHqo8JyBsQSshJkQzIgwAAAAANCkkkIWB
fu7t7e3/pKqu/0uf5f9kd7P/rouW/5SKiv/MzMz/w8PD/4F7ePs2Jh7mRC8koUAqHko+LB8hMzMzMNnZ
2f/6+vr/8PDw/9/f3/9meYP/SqDo/2N5tf+ui5b/iH5+/6ampv/IyMj/aVxV+DcfE9k9JhunPSQZTzMz
M0D6+vr/4ODg/56env+np6f/lJSU/2x/if9Jouv/Yny4/39ydP+SeGv/uKmQ/62djf9iTEX6NSAU2zsj
F6gzMzNAoqKi/7W1tf/b29v/0dHR/9vb2//T09P/obS+/4eRnf/iv6L///fK///91P///d//9e7n/2lX
T/s1HRHNMzMzQOTk5P/a2tr/zs7O/8XFxf/Kysr/ycnJ/8LCwv+3nIz//+29///zwP///+D////4///9
8v/Swqn/NSIY4zMzMxCzs7LkvLy8/8PDw/++vr7/5ubm//Hx8f/t7e3/v6ya///ptv//9MH////Z////
6P///+P/5tiz/1A3MuoAAAAAQCYmEIWBf5r09PT/1tbW/8bGxv/Gxsb/19fX/7mhj///+df//+rB///4
xf//+cn///jH/9/Eo/8+KyTLAAAAAEAwIA03MStl2bSW///Pqv//07P//9u+//zn0f98a2f78+jf///7
8v//7b///+i1///ruP+Nb2D1OSIWYwAAAABDLCEST0ZAh//ixP//4sT//+LE///ixP/y1rr/OSce03de
WczKtaP/69i3/+DHqP+RcmfsNiojYjskGCIAAAAAQDAoGpqNgsH/7Nn//+zZ///s2f//7Nn/wrOk/EQv
I5w/KR43Ny0qODQuLVMzLixXMhwVHTUgFRNGFxcJAAAAADg0MUPMyMT///ny///58v//+fL///ny/4+G
gNxAKiFLRC0mG00zMwgrKysFQCAgBiQkJAZAQAADAAAAAgAAAAB/fn5Yt7a2x87MzPTOzMz/0M7O+s3L
y/9ALSY9RC0eG0ArKwqAgAACAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAzr4AAc/+AAOX/gAD7/wAA
9v8AAPL/AADt/wAA6f8AAOT/gACt/4AAYf+AAPL/gAD//4AA5f+AA7D///+i/w==
</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Anteprima di stampa</value>
<comment>Print Preview</comment>
</data>
<data name="tsComboZoom.Items" xml:space="preserve">
<value>Auto</value>
<comment>Auto</comment>
</data>
<data name="tsComboZoom.ToolTipText" xml:space="preserve">
<value>Zoom</value>
<comment>Zoom</comment>
</data>
<data name="tsComboZoom.Text" xml:space="preserve">
<value>Auto</value>
<comment>Auto</comment>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{9E8D433B-EFD1-4253-BD2C-C4E0DB0BFD0E}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PrintPreview</RootNamespace>
<AssemblyName>PrintPreview</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>2.0</OldToolsVersion>
<UpgradeBackupLocation />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<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' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AdditionalText.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="EnhancedPrintPreviewDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EnhancedPrintPreviewDialog.Designer.cs">
<DependentUpon>EnhancedPrintPreviewDialog.cs</DependentUpon>
</Compile>
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="EnhancedPrintPreviewDialog.it-IT.resx">
<DependentUpon>EnhancedPrintPreviewDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="EnhancedPrintPreviewDialog.resx">
<DependentUpon>EnhancedPrintPreviewDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="ClassDiagram.cd" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("PrintPreview")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("vr")]
[assembly: AssemblyProduct("PrintPreview")]
[assembly: AssemblyCopyright("Copyright © vr 2009")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("578e8d1e-3b27-4fb0-9203-d843c8584c03")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,11 @@
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\bin\Debug\PrintPreview.dll
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\bin\Debug\PrintPreview.pdb
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\bin\Debug\it-IT\PrintPreview.resources.dll
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\obj\Debug\ResolveAssemblyReference.cache
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\obj\Debug\VR.PrintPreview.EnhancedPrintPreviewDialog.resources
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\obj\Debug\VR.PrintPreview.EnhancedPrintPreviewDialog.it-IT.resources
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\obj\Debug\GenerateResource.read.1.tlog
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\obj\Debug\GenerateResource.write.1.tlog
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\obj\Debug\it-IT\PrintPreview.resources.dll
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\obj\Debug\PrintPreview.dll
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview\obj\Debug\PrintPreview.pdb

View File

@ -0,0 +1,177 @@
namespace PrintPreviewDemo {
partial class Form1 {
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) {
if (disposing && (components != null)) {
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
this.btnClassic = new System.Windows.Forms.Button();
this.btnNew = new System.Windows.Forms.Button();
this.btnTest = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
this.chkPrinterSettingBeforePrint = new System.Windows.Forms.CheckBox();
this.chkShowPrinterSettings = new System.Windows.Forms.CheckBox();
this.chkShowPageSettings = new System.Windows.Forms.CheckBox();
this.btnNewAdditionalText = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// btnClassic
//
this.btnClassic.Location = new System.Drawing.Point(12, 12);
this.btnClassic.Name = "btnClassic";
this.btnClassic.Size = new System.Drawing.Size(280, 23);
this.btnClassic.TabIndex = 1;
this.btnClassic.Text = "Classic Print Preview";
this.btnClassic.UseVisualStyleBackColor = true;
this.btnClassic.Click += new System.EventHandler(this.btnClassic_Click);
//
// btnNew
//
this.btnNew.Location = new System.Drawing.Point(12, 41);
this.btnNew.Name = "btnNew";
this.btnNew.Size = new System.Drawing.Size(280, 23);
this.btnNew.TabIndex = 3;
this.btnNew.Text = "New Preview (default options)";
this.btnNew.UseVisualStyleBackColor = true;
this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
//
// btnTest
//
this.btnTest.Location = new System.Drawing.Point(211, 281);
this.btnTest.Name = "btnTest";
this.btnTest.Size = new System.Drawing.Size(57, 23);
this.btnTest.TabIndex = 4;
this.btnTest.Text = "Test";
this.btnTest.UseVisualStyleBackColor = true;
this.btnTest.Click += new System.EventHandler(this.btnTest_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.propertyGrid1);
this.groupBox1.Controls.Add(this.chkPrinterSettingBeforePrint);
this.groupBox1.Controls.Add(this.chkShowPrinterSettings);
this.groupBox1.Controls.Add(this.chkShowPageSettings);
this.groupBox1.Controls.Add(this.btnTest);
this.groupBox1.Location = new System.Drawing.Point(12, 122);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(280, 313);
this.groupBox1.TabIndex = 5;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Test Options";
//
// propertyGrid1
//
this.propertyGrid1.HelpVisible = false;
this.propertyGrid1.Location = new System.Drawing.Point(6, 121);
this.propertyGrid1.Name = "propertyGrid1";
this.propertyGrid1.Size = new System.Drawing.Size(262, 154);
this.propertyGrid1.TabIndex = 11;
this.propertyGrid1.ToolbarVisible = false;
//
// chkPrinterSettingBeforePrint
//
this.chkPrinterSettingBeforePrint.AutoSize = true;
this.chkPrinterSettingBeforePrint.Checked = true;
this.chkPrinterSettingBeforePrint.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkPrinterSettingBeforePrint.Location = new System.Drawing.Point(6, 65);
this.chkPrinterSettingBeforePrint.Name = "chkPrinterSettingBeforePrint";
this.chkPrinterSettingBeforePrint.Size = new System.Drawing.Size(224, 17);
this.chkPrinterSettingBeforePrint.TabIndex = 9;
this.chkPrinterSettingBeforePrint.Text = "Show \"printer settings \" dialog before print";
this.chkPrinterSettingBeforePrint.UseVisualStyleBackColor = true;
//
// chkShowPrinterSettings
//
this.chkShowPrinterSettings.AutoSize = true;
this.chkShowPrinterSettings.Location = new System.Drawing.Point(6, 42);
this.chkShowPrinterSettings.Name = "chkShowPrinterSettings";
this.chkShowPrinterSettings.Size = new System.Drawing.Size(170, 17);
this.chkShowPrinterSettings.TabIndex = 8;
this.chkShowPrinterSettings.Text = "Show \"printer settings \" button";
this.chkShowPrinterSettings.UseVisualStyleBackColor = true;
//
// chkShowPageSettings
//
this.chkShowPageSettings.AutoSize = true;
this.chkShowPageSettings.Checked = true;
this.chkShowPageSettings.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkShowPageSettings.Location = new System.Drawing.Point(6, 19);
this.chkShowPageSettings.Name = "chkShowPageSettings";
this.chkShowPageSettings.Size = new System.Drawing.Size(165, 17);
this.chkShowPageSettings.TabIndex = 7;
this.chkShowPageSettings.Text = "Show \"page settings \" button";
this.chkShowPageSettings.UseVisualStyleBackColor = true;
//
// btnNewAdditionalText
//
this.btnNewAdditionalText.Location = new System.Drawing.Point(12, 70);
this.btnNewAdditionalText.Name = "btnNewAdditionalText";
this.btnNewAdditionalText.Size = new System.Drawing.Size(280, 23);
this.btnNewAdditionalText.TabIndex = 6;
this.btnNewAdditionalText.Text = "New Preview (Additional text demo)";
this.btnNewAdditionalText.UseVisualStyleBackColor = true;
this.btnNewAdditionalText.Click += new System.EventHandler(this.btnNewAdditionalText_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(6, 105);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(67, 13);
this.label1.TabIndex = 12;
this.label1.Text = "Text Options";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(312, 452);
this.Controls.Add(this.btnNewAdditionalText);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.btnClassic);
this.Controls.Add(this.btnNew);
this.Name = "Form1";
this.Text = "Form1";
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button btnClassic;
private System.Windows.Forms.Button btnNew;
private System.Windows.Forms.Button btnTest;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.CheckBox chkShowPageSettings;
private System.Windows.Forms.CheckBox chkShowPrinterSettings;
private System.Windows.Forms.CheckBox chkPrinterSettingBeforePrint;
private System.Windows.Forms.PropertyGrid propertyGrid1;
private System.Windows.Forms.Button btnNewAdditionalText;
private System.Windows.Forms.Label label1;
}
}

View File

@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.Threading;
using System.Globalization;
using VR.PrintPreview;
namespace PrintPreviewDemo {
public partial class Form1 : Form {
SampleDocument sample;
AdditionalText additionalText;
List<AdditionalText> globalAdditionalTextList;
public Form1() {
InitializeComponent();
//Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
sample = new SampleDocument();
additionalText = new AdditionalText("Page $pagenumber");
propertyGrid1.SelectedObject = additionalText;
//Additional text can be stored in a global list and then
//assigned through the AdditionalTextList property of the EnhancedPrintPreviewDialog
globalAdditionalTextList = new List<AdditionalText>();
globalAdditionalTextList.Add(new AdditionalText("Draft", new Font("Arial", 120), Brushes.Red, TextPosition.WaterMark, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Vertical Top Right", new Font("Courier New", 10), Brushes.Blue, TextPosition.VTopRight,0,0));
globalAdditionalTextList.Add(new AdditionalText("Vertical Top Left", new Font("Comic sans MS", 16), Brushes.Red, TextPosition.VTopLeft, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Vertical Bottom Left", new Font("Microsoft Sans Serif", 16), Brushes.Green, TextPosition.VBottomLeft, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Vertical Bottom Right", new Font("Thaoma", 14), Brushes.Brown, TextPosition.VBottomRight, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Vertical Middle Right", new Font("Times New Roma", 18), Brushes.Violet, TextPosition.VMiddleRight, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Vertical Middle Left", new Font("Comic sans MS", 16), Brushes.YellowGreen, TextPosition.VMiddleLeft, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Horizontal Top Right", new Font("Courier New", 10), Brushes.Blue, TextPosition.HTopRight, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Horizontal Top Left", new Font("Comic sans MS", 10), Brushes.Red, TextPosition.HTopLeft, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Horizontal Top Center", new Font("Times New Roma", 10), Brushes.Violet, TextPosition.HTopCenter, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Horizontal Bottom Right", new Font("Courier New", 10), Brushes.Blue, TextPosition.HBottomRight, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Horizontal Bottom Left", new Font("Comic sans MS", 10), Brushes.Red, TextPosition.HBottomLeft, 0, 0));
globalAdditionalTextList.Add(new AdditionalText("Page $pagenumber")); //uses default font and postion (bottom center)
}
private void btnClassic_Click(object sender, EventArgs e) {
MessageBox.Show("If you press the \"print button\" 10 pages will be sent soon to your default printer", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
PrintPreviewDialog ClassicPreview = new PrintPreviewDialog();
ClassicPreview.Document = sample.PrintDocument;
ClassicPreview.ShowDialog();
}
private void btnNew_Click(object sender, EventArgs e) {
EnhancedPrintPreviewDialog NewPreview = new EnhancedPrintPreviewDialog();
NewPreview.Document = sample.PrintDocument;
NewPreview.ShowDialog();
}
private void btnTest_Click(object sender, EventArgs e) {
EnhancedPrintPreviewDialog NewPreview = new EnhancedPrintPreviewDialog();
NewPreview.Document = sample.PrintDocument;
NewPreview.ShowPrinterSettingsButton = chkShowPrinterSettings.Checked;
NewPreview.ShowPageSettingsButton = chkShowPageSettings.Checked;
NewPreview.ShowPrinterSettingsBeforePrint = chkPrinterSettingBeforePrint.Checked;
if (!NewPreview.ShowPrinterSettingsBeforePrint)
MessageBox.Show("If you press the \"print button\" 10 pages will be sent soon to your default printer", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
NewPreview.AdditionalTextList.Add(additionalText);
NewPreview.ShowDialog();
}
private void btnNewAdditionalText_Click(object sender, EventArgs e) {
EnhancedPrintPreviewDialog NewPreview = new EnhancedPrintPreviewDialog();
NewPreview.Document = sample.PrintDocument;
NewPreview.AdditionalTextList = globalAdditionalTextList;
NewPreview.ShowDialog();
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{2046AD52-D15C-496B-97A9-B344072FC6AF}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PrintPreviewDemo</RootNamespace>
<AssemblyName>PrintPreviewDemo</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>2.0</OldToolsVersion>
<UpgradeBackupLocation />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<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' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<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="Form1.resx">
<SubType>Designer</SubType>
<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>
<Compile Include="SampleDocument.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PrintPreview\PrintPreview.csproj">
<Project>{9E8D433B-EFD1-4253-BD2C-C4E0DB0BFD0E}</Project>
<Name>PrintPreview</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace PrintPreviewDemo {
static class Program {
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,33 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("PrintPreviewDemo")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("PrintPreviewDemo")]
[assembly: AssemblyCopyright("Copyright © 2009")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("d8885100-7538-48bf-90fe-13a5fc2e03b7")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.235
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PrintPreviewDemo.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PrintPreviewDemo.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

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

View File

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing.Printing;
using System.Drawing;
namespace PrintPreviewDemo {
class SampleDocument {
const int LineHeight = 30;
const int LinesToPrint = 300;
PrintDocument pdoc;
int Lines = 0;
public PrintDocument PrintDocument { get { return pdoc; } }
public SampleDocument() {
pdoc = new PrintDocument();
pdoc.BeginPrint += new PrintEventHandler(pdoc_BeginPrint);
pdoc.PrintPage += new PrintPageEventHandler(pdoc_PrintPage);
}
void pdoc_BeginPrint(object sender, PrintEventArgs e) {
Lines = 0;
}
void pdoc_PrintPage(object sender, PrintPageEventArgs e) {
int CurrentY = e.MarginBounds.Top;
Font f = new Font("Arial", 12);
Rectangle r;
while (CurrentY < e.MarginBounds.Bottom - LineHeight && Lines <= LinesToPrint) {
r = new Rectangle(e.MarginBounds.Left, CurrentY, e.MarginBounds.Width, LineHeight);
e.Graphics.DrawRectangle(Pens.Black, r);
e.Graphics.DrawString("Row " + Lines.ToString(), f, Brushes.Black, r);
CurrentY += LineHeight;
Lines++;
}
e.HasMorePages = (Lines < LinesToPrint);
}
}
}

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@ -0,0 +1,12 @@
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\bin\Debug\PrintPreviewDemo.exe
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\bin\Debug\PrintPreviewDemo.pdb
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\bin\Debug\PrintPreview.dll
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\bin\Debug\PrintPreview.pdb
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\bin\Debug\it-IT\PrintPreview.resources.dll
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\obj\Debug\ResolveAssemblyReference.cache
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\obj\Debug\PrintPreviewDemo.Form1.resources
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\obj\Debug\PrintPreviewDemo.Properties.Resources.resources
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\obj\Debug\GenerateResource.read.1.tlog
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\obj\Debug\GenerateResource.write.1.tlog
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\obj\Debug\PrintPreviewDemo.exe
C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreviewDemo\obj\Debug\PrintPreviewDemo.pdb

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>
<Properties><Property Name="Solution" Value="PrintPreview">
</Property><Property Name="Solution File" Value="C:\Documents and Settings\Kevin\My Documents\Visual Studio 2010\Projects\EnhancedPrintPreview\PrintPreview.sln">
</Property><Property Name="Date" Value="Wednesday, August 31, 2011">
</Property><Property Name="Time" Value="23:14 PM">
</Property></Properties><Event ErrorLevel="0" Project="PrintPreviewDemo" Source="PrintPreviewDemo\PrintPreviewDemo.csproj" Description="Project converted successfully">
</Event><Event ErrorLevel="3" Project="PrintPreviewDemo" Source="PrintPreviewDemo\PrintPreviewDemo.csproj" Description="Converted">
</Event><Event ErrorLevel="0" Project="PrintPreview" Source="PrintPreview\PrintPreview.csproj" Description="Project converted successfully">
</Event><Event ErrorLevel="3" Project="PrintPreview" Source="PrintPreview\PrintPreview.csproj" Description="Converted">
</Event><Event ErrorLevel="0" Project="" Source="PrintPreview.sln" Description="Solution converted successfully">
</Event><Event ErrorLevel="3" Project="" Source="PrintPreview.sln" Description="Converted">
</Event><Event ErrorLevel="0" Project="PrintPreviewDemo" Source="PrintPreviewDemo\PrintPreviewDemo.csproj" Description="Scan complete: Upgrade not required for project files.">
</Event><Event ErrorLevel="0" Project="PrintPreview" Source="PrintPreview\PrintPreview.csproj" Description="Scan complete: Upgrade not required for project files.">
</Event></UpgradeLog>