mirror of
https://github.com/riegera2412/UVtools.git
synced 2026-07-08 17:42:31 +02:00
v0.6.2.3
* (Add) Issue: EmptyLayer - Detects empty layers were image is all black with 0 pixels to cure * (Add) Toolbar and pushed layer information to bottom * (Add) Information: Cure pixel count per layer and percentage against total lcd pixels * (Add) Information: Bounds per layer * (Add) Zip: Compability with Formware zip files
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
## 17/07/2020 - v0.6.2.3
|
||||
|
||||
* (Add) Issue: EmptyLayer - Detects empty layers were image is all black with 0 pixels to cure
|
||||
* (Add) Toolbar and pushed layer information to bottom
|
||||
* (Add) Information: Cure pixel count per layer and percentage against total lcd pixels
|
||||
* (Add) Information: Bounds per layer
|
||||
* (Add) Zip: Compability with Formware zip files
|
||||
|
||||
## 14/07/2020 - v0.6.2.2
|
||||
|
||||
* (Add) cbddlp, photon and ctb version 3 compability (Chitubox >= 1.6.5)
|
||||
|
||||
@@ -241,6 +241,17 @@ namespace UVtools.Core.FileFormats
|
||||
tr.Close();
|
||||
}
|
||||
|
||||
if (HeaderSettings.LayerCount == 0)
|
||||
{
|
||||
foreach (var zipEntry in inputFile.Entries)
|
||||
{
|
||||
if(!zipEntry.Name.EndsWith(".png")) continue;
|
||||
var filename = Path.GetFileNameWithoutExtension(zipEntry.Name);
|
||||
if (!filename.All(char.IsDigit)) continue;
|
||||
if (!uint.TryParse(filename, out var layerIndex)) continue;
|
||||
HeaderSettings.LayerCount = Math.Max(HeaderSettings.LayerCount, layerIndex);
|
||||
}
|
||||
}
|
||||
|
||||
LayerManager = new LayerManager(HeaderSettings.LayerCount);
|
||||
|
||||
@@ -282,6 +293,15 @@ namespace UVtools.Core.FileFormats
|
||||
progress++;
|
||||
}
|
||||
|
||||
if (HeaderSettings.LayerCount > 0 && ResolutionX == 0)
|
||||
{
|
||||
using (var mat = this[0].LayerMat)
|
||||
{
|
||||
HeaderSettings.ResolutionX = (uint)mat.Width;
|
||||
HeaderSettings.ResolutionY = (uint)mat.Height;
|
||||
}
|
||||
}
|
||||
|
||||
entry = inputFile.GetEntry("preview.png");
|
||||
if (!ReferenceEquals(entry, null))
|
||||
{
|
||||
|
||||
@@ -242,7 +242,7 @@ namespace UVtools.Core
|
||||
using (var nonZeroMat = new Mat())
|
||||
{
|
||||
CvInvoke.FindNonZero(mat, nonZeroMat);
|
||||
NonZeroPixelCount = (uint)nonZeroMat.Rows / 2;
|
||||
NonZeroPixelCount = (uint)nonZeroMat.Height;
|
||||
BoundingRectangle = CvInvoke.BoundingRectangle(nonZeroMat);
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ namespace UVtools.Core
|
||||
Island,
|
||||
ResinTrap,
|
||||
TouchingBound,
|
||||
EmptyLayer,
|
||||
//HoleSandwich,
|
||||
}
|
||||
|
||||
|
||||
+141
-127
@@ -684,149 +684,163 @@ namespace UVtools.Core
|
||||
islandsFinished = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// Detect contours
|
||||
Parallel.ForEach(this,
|
||||
//new ParallelOptions{MaxDegreeOfParallelism = 1},
|
||||
layer =>
|
||||
{
|
||||
if (progress.Token.IsCancellationRequested) return;
|
||||
using (var image = layer.LayerMat)
|
||||
if (layer.NonZeroPixelCount > 0)
|
||||
{
|
||||
int step = image.Step;
|
||||
var span = image.GetPixelSpan<byte>();
|
||||
|
||||
// TouchingBounds Checker
|
||||
List<Point> pixels = new List<Point>();
|
||||
for (int x = 0; x < image.Width; x++) // Check Top and Bottom bounds
|
||||
using (var image = layer.LayerMat)
|
||||
{
|
||||
if (span[x] >= minTouchingBondsPixelColor) // Top
|
||||
int step = image.Step;
|
||||
var span = image.GetPixelSpan<byte>();
|
||||
|
||||
// TouchingBounds Checker
|
||||
List<Point> pixels = new List<Point>();
|
||||
for (int x = 0; x < image.Width; x++) // Check Top and Bottom bounds
|
||||
{
|
||||
pixels.Add(new Point(x, 0));
|
||||
}
|
||||
|
||||
if (span[step * image.Height - step + x] >= minTouchingBondsPixelColor) // Bottom
|
||||
{
|
||||
pixels.Add(new Point(x, image.Height - 1));
|
||||
}
|
||||
}
|
||||
|
||||
for (int y = 0; y < image.Height; y++) // Check Left and Right bounds
|
||||
{
|
||||
if (span[y * step] >= minTouchingBondsPixelColor) // Left
|
||||
{
|
||||
pixels.Add(new Point(0, y));
|
||||
}
|
||||
|
||||
if (span[y * step + step - 1] >= minTouchingBondsPixelColor) // Right
|
||||
{
|
||||
pixels.Add(new Point(step - 1, y));
|
||||
}
|
||||
}
|
||||
|
||||
if (pixels.Count > 0)
|
||||
{
|
||||
result.TryAdd(layer.Index, new List<LayerIssue>
|
||||
{
|
||||
new LayerIssue(layer, LayerIssue.IssueType.TouchingBound, pixels.ToArray())
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (layer.Index == 0) return; // No islands for layer 0
|
||||
|
||||
VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint();
|
||||
Mat hierarchy = new Mat();
|
||||
|
||||
if (islandConfig.BinaryThreshold > 0)
|
||||
{
|
||||
using (var thresholdImage = new Mat())
|
||||
{
|
||||
CvInvoke.Threshold(image, thresholdImage, 1, 255, ThresholdType.Binary);
|
||||
CvInvoke.FindContours(thresholdImage, contours, hierarchy, RetrType.Ccomp,
|
||||
ChainApproxMethod.ChainApproxSimple);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CvInvoke.FindContours(image, contours, hierarchy, RetrType.Ccomp,
|
||||
ChainApproxMethod.ChainApproxSimple);
|
||||
}
|
||||
|
||||
var arr = hierarchy.GetData();
|
||||
//
|
||||
//hierarchy[i][0]: the index of the next contour of the same level
|
||||
//hierarchy[i][1]: the index of the previous contour of the same level
|
||||
//hierarchy[i][2]: the index of the first child
|
||||
//hierarchy[i][3]: the index of the parent
|
||||
//
|
||||
|
||||
Mat previousImage = null;
|
||||
Span<byte> previousSpan = null;
|
||||
for (int i = 0; i < contours.Size; i++)
|
||||
{
|
||||
|
||||
if ((int) arr.GetValue(0, i, 2) == -1 && (int) arr.GetValue(0, i, 3) != -1) continue;
|
||||
var rect = CvInvoke.BoundingRectangle(contours[i]);
|
||||
if (rect.GetArea() < islandConfig.RequiredAreaToProcessCheck)
|
||||
continue;
|
||||
|
||||
if (ReferenceEquals(previousImage, null))
|
||||
{
|
||||
previousImage = this[layer.Index - 1].LayerMat;
|
||||
previousSpan = previousImage.GetPixelSpan<byte>();
|
||||
}
|
||||
|
||||
List<Point> points = new List<Point>();
|
||||
uint pixelsSupportingIsland = 0;
|
||||
|
||||
using (Mat contourImage = image.CloneBlank())
|
||||
{
|
||||
CvInvoke.DrawContours(contourImage, contours, i, new MCvScalar(255), -1);
|
||||
var contourImageSpan = contourImage.GetPixelSpan<byte>();
|
||||
|
||||
for (int y = rect.Y; y < rect.Bottom; y++)
|
||||
if (span[x] >= minTouchingBondsPixelColor) // Top
|
||||
{
|
||||
for (int x = rect.X; x < rect.Right; x++)
|
||||
{
|
||||
int pixel = step * y + x;
|
||||
if (span[pixel] < islandConfig.RequiredPixelBrightnessToProcessCheck)
|
||||
continue; // Low brightness, ignore
|
||||
if (contourImageSpan[pixel] != 255)
|
||||
continue; // Not inside contour, ignore
|
||||
pixels.Add(new Point(x, 0));
|
||||
}
|
||||
|
||||
//if (CvInvoke.PointPolygonTest(contours[i], new PointF(x, y), false) < 0) continue; // Out of contour SLOW!
|
||||
//Debug.WriteLine($"Layer: {layer.Index}, Coutour: {i}, X:{x} Y:{y}");
|
||||
points.Add(new Point(x, y));
|
||||
|
||||
if (previousSpan[pixel] >= islandConfig.RequiredPixelBrightnessToSupport)
|
||||
{
|
||||
pixelsSupportingIsland++;
|
||||
}
|
||||
}
|
||||
if (span[step * image.Height - step + x] >= minTouchingBondsPixelColor) // Bottom
|
||||
{
|
||||
pixels.Add(new Point(x, image.Height - 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (points.Count == 0) continue;
|
||||
if (pixelsSupportingIsland >= islandConfig.RequiredPixelsToSupport)
|
||||
continue; // Not a island, bounding is strong, i think...
|
||||
if (pixelsSupportingIsland > 0 && points.Count < islandConfig.RequiredPixelsToSupport &&
|
||||
pixelsSupportingIsland >= Math.Max(1, points.Count / 2))
|
||||
continue; // Not a island, but maybe weak bounding...
|
||||
|
||||
|
||||
var issue = new LayerIssue(layer, LayerIssue.IssueType.Island, points.ToArray(), rect);
|
||||
result.AddOrUpdate(layer.Index, new List<LayerIssue> {issue},
|
||||
(layerIndex, list) =>
|
||||
for (int y = 0; y < image.Height; y++) // Check Left and Right bounds
|
||||
{
|
||||
if (span[y * step] >= minTouchingBondsPixelColor) // Left
|
||||
{
|
||||
list.Add(issue);
|
||||
return list;
|
||||
});
|
||||
}
|
||||
pixels.Add(new Point(0, y));
|
||||
}
|
||||
|
||||
contours.Dispose();
|
||||
hierarchy.Dispose();
|
||||
previousImage?.Dispose();
|
||||
if (span[y * step + step - 1] >= minTouchingBondsPixelColor) // Right
|
||||
{
|
||||
pixels.Add(new Point(step - 1, y));
|
||||
}
|
||||
}
|
||||
|
||||
if (pixels.Count > 0)
|
||||
{
|
||||
result.TryAdd(layer.Index, new List<LayerIssue>
|
||||
{
|
||||
new LayerIssue(layer, LayerIssue.IssueType.TouchingBound, pixels.ToArray())
|
||||
});
|
||||
}
|
||||
|
||||
if (layer.Index == 0) return; // No islands for layer 0
|
||||
|
||||
VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint();
|
||||
Mat hierarchy = new Mat();
|
||||
|
||||
if (islandConfig.BinaryThreshold > 0)
|
||||
{
|
||||
using (var thresholdImage = new Mat())
|
||||
{
|
||||
CvInvoke.Threshold(image, thresholdImage, 1, 255, ThresholdType.Binary);
|
||||
CvInvoke.FindContours(thresholdImage, contours, hierarchy, RetrType.Ccomp,
|
||||
ChainApproxMethod.ChainApproxSimple);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CvInvoke.FindContours(image, contours, hierarchy, RetrType.Ccomp,
|
||||
ChainApproxMethod.ChainApproxSimple);
|
||||
}
|
||||
|
||||
var arr = hierarchy.GetData();
|
||||
//
|
||||
//hierarchy[i][0]: the index of the next contour of the same level
|
||||
//hierarchy[i][1]: the index of the previous contour of the same level
|
||||
//hierarchy[i][2]: the index of the first child
|
||||
//hierarchy[i][3]: the index of the parent
|
||||
//
|
||||
|
||||
Mat previousImage = null;
|
||||
Span<byte> previousSpan = null;
|
||||
for (int i = 0; i < contours.Size; i++)
|
||||
{
|
||||
|
||||
if ((int) arr.GetValue(0, i, 2) == -1 && (int) arr.GetValue(0, i, 3) != -1)
|
||||
continue;
|
||||
var rect = CvInvoke.BoundingRectangle(contours[i]);
|
||||
if (rect.GetArea() < islandConfig.RequiredAreaToProcessCheck)
|
||||
continue;
|
||||
|
||||
if (ReferenceEquals(previousImage, null))
|
||||
{
|
||||
previousImage = this[layer.Index - 1].LayerMat;
|
||||
previousSpan = previousImage.GetPixelSpan<byte>();
|
||||
}
|
||||
|
||||
List<Point> points = new List<Point>();
|
||||
uint pixelsSupportingIsland = 0;
|
||||
|
||||
using (Mat contourImage = image.CloneBlank())
|
||||
{
|
||||
CvInvoke.DrawContours(contourImage, contours, i, new MCvScalar(255), -1);
|
||||
var contourImageSpan = contourImage.GetPixelSpan<byte>();
|
||||
|
||||
for (int y = rect.Y; y < rect.Bottom; y++)
|
||||
{
|
||||
for (int x = rect.X; x < rect.Right; x++)
|
||||
{
|
||||
int pixel = step * y + x;
|
||||
if (span[pixel] < islandConfig.RequiredPixelBrightnessToProcessCheck)
|
||||
continue; // Low brightness, ignore
|
||||
if (contourImageSpan[pixel] != 255)
|
||||
continue; // Not inside contour, ignore
|
||||
|
||||
//if (CvInvoke.PointPolygonTest(contours[i], new PointF(x, y), false) < 0) continue; // Out of contour SLOW!
|
||||
//Debug.WriteLine($"Layer: {layer.Index}, Coutour: {i}, X:{x} Y:{y}");
|
||||
points.Add(new Point(x, y));
|
||||
|
||||
if (previousSpan[pixel] >=
|
||||
islandConfig.RequiredPixelBrightnessToSupport)
|
||||
{
|
||||
pixelsSupportingIsland++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (points.Count == 0) continue;
|
||||
if (pixelsSupportingIsland >= islandConfig.RequiredPixelsToSupport)
|
||||
continue; // Not a island, bounding is strong, i think...
|
||||
if (pixelsSupportingIsland > 0 &&
|
||||
points.Count < islandConfig.RequiredPixelsToSupport &&
|
||||
pixelsSupportingIsland >= Math.Max(1, points.Count / 2))
|
||||
continue; // Not a island, but maybe weak bounding...
|
||||
|
||||
|
||||
var issue = new LayerIssue(layer, LayerIssue.IssueType.Island, points.ToArray(),
|
||||
rect);
|
||||
result.AddOrUpdate(layer.Index, new List<LayerIssue> {issue},
|
||||
(layerIndex, list) =>
|
||||
{
|
||||
list.Add(issue);
|
||||
return list;
|
||||
});
|
||||
}
|
||||
|
||||
contours.Dispose();
|
||||
hierarchy.Dispose();
|
||||
previousImage?.Dispose();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result.TryAdd(layer.Index, new List<LayerIssue>
|
||||
{
|
||||
new LayerIssue(layer, LayerIssue.IssueType.EmptyLayer)
|
||||
});
|
||||
}
|
||||
|
||||
lock (progress.Mutex)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<RepositoryUrl>https://github.com/sn4k3/UVtools</RepositoryUrl>
|
||||
<PackageProjectUrl>https://github.com/sn4k3/UVtools</PackageProjectUrl>
|
||||
<Description>MSLA/DLP, file analysis, repair, conversion and manipulation</Description>
|
||||
<Version>0.6.2.2</Version>
|
||||
<Version>0.6.2.3</Version>
|
||||
<Copyright>Copyright © 2020 PTRTECH</Copyright>
|
||||
<PackageIcon>UVtools.png</PackageIcon>
|
||||
<Platforms>AnyCPU;x64</Platforms>
|
||||
|
||||
Generated
+149
-72
@@ -62,16 +62,26 @@
|
||||
this.mainTable = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.scCenter = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLayer = new Cyotek.Windows.Forms.ImageBox();
|
||||
this.tsLayerInfo = new System.Windows.Forms.ToolStrip();
|
||||
this.tsLayerPreviewTime = new System.Windows.Forms.ToolStripLabel();
|
||||
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerResolution = new System.Windows.Forms.ToolStripLabel();
|
||||
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerImageZoom = new System.Windows.Forms.ToolStripLabel();
|
||||
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerImagePanLocation = new System.Windows.Forms.ToolStripLabel();
|
||||
this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerImageMouseLocation = new System.Windows.Forms.ToolStripLabel();
|
||||
this.tsLayerImagePixelCount = new System.Windows.Forms.ToolStripLabel();
|
||||
this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerBounds = new System.Windows.Forms.ToolStripLabel();
|
||||
this.tsLayer = new System.Windows.Forms.ToolStrip();
|
||||
this.tsLayerImageExport = new System.Windows.Forms.ToolStripSplitButton();
|
||||
this.tsLayerImageExportFile = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsLayerImageExportClipboard = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsLayerResolution = new System.Windows.Forms.ToolStripLabel();
|
||||
this.tsLayerImageRotate = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerImageLayerDifference = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerPreviewTime = new System.Windows.Forms.ToolStripLabel();
|
||||
this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerImageHighlightIssues = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
|
||||
@@ -82,10 +92,6 @@
|
||||
this.tsLayerImageLayerOutlineEdgeDetection = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerImagePixelEdit = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerImageZoom = new System.Windows.Forms.ToolStripLabel();
|
||||
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsLayerImageMouseLocation = new System.Windows.Forms.ToolStripLabel();
|
||||
this.pbLayers = new System.Windows.Forms.ProgressBar();
|
||||
this.tabControlLeft = new System.Windows.Forms.TabControl();
|
||||
this.tbpThumbnailsAndInfo = new System.Windows.Forms.TabPage();
|
||||
@@ -189,6 +195,7 @@
|
||||
this.scCenter.Panel1.SuspendLayout();
|
||||
this.scCenter.Panel2.SuspendLayout();
|
||||
this.scCenter.SuspendLayout();
|
||||
this.tsLayerInfo.SuspendLayout();
|
||||
this.tsLayer.SuspendLayout();
|
||||
this.tabControlLeft.SuspendLayout();
|
||||
this.tbpThumbnailsAndInfo.SuspendLayout();
|
||||
@@ -521,6 +528,7 @@
|
||||
// scCenter.Panel1
|
||||
//
|
||||
this.scCenter.Panel1.Controls.Add(this.pbLayer);
|
||||
this.scCenter.Panel1.Controls.Add(this.tsLayerInfo);
|
||||
this.scCenter.Panel1.Controls.Add(this.tsLayer);
|
||||
//
|
||||
// scCenter.Panel2
|
||||
@@ -540,34 +548,144 @@
|
||||
this.pbLayer.Name = "pbLayer";
|
||||
this.pbLayer.PanMode = Cyotek.Windows.Forms.ImageBoxPanMode.Left;
|
||||
this.pbLayer.ShowPixelGrid = true;
|
||||
this.pbLayer.Size = new System.Drawing.Size(1228, 700);
|
||||
this.pbLayer.Size = new System.Drawing.Size(1228, 675);
|
||||
this.pbLayer.TabIndex = 7;
|
||||
this.pbLayer.PanEnd += new System.EventHandler(this.pbLayer_PanEnd);
|
||||
this.pbLayer.Zoomed += new System.EventHandler<Cyotek.Windows.Forms.ImageBoxZoomEventArgs>(this.pbLayer_Zoomed);
|
||||
this.pbLayer.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.EventMouseDoubleClick);
|
||||
this.pbLayer.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbLayer_MouseMove);
|
||||
this.pbLayer.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbLayer_MouseUp);
|
||||
//
|
||||
// tsLayerInfo
|
||||
//
|
||||
this.tsLayerInfo.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.tsLayerInfo.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
|
||||
this.tsLayerInfo.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsLayerPreviewTime,
|
||||
this.toolStripSeparator6,
|
||||
this.tsLayerResolution,
|
||||
this.toolStripSeparator11,
|
||||
this.tsLayerImageZoom,
|
||||
this.toolStripSeparator8,
|
||||
this.tsLayerImagePanLocation,
|
||||
this.toolStripSeparator16,
|
||||
this.tsLayerImageMouseLocation,
|
||||
this.tsLayerImagePixelCount,
|
||||
this.toolStripSeparator17,
|
||||
this.tsLayerBounds});
|
||||
this.tsLayerInfo.Location = new System.Drawing.Point(0, 700);
|
||||
this.tsLayerInfo.Name = "tsLayerInfo";
|
||||
this.tsLayerInfo.Size = new System.Drawing.Size(1228, 25);
|
||||
this.tsLayerInfo.TabIndex = 8;
|
||||
this.tsLayerInfo.Text = "tsLayerInfo";
|
||||
//
|
||||
// tsLayerPreviewTime
|
||||
//
|
||||
this.tsLayerPreviewTime.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsLayerPreviewTime.Name = "tsLayerPreviewTime";
|
||||
this.tsLayerPreviewTime.Size = new System.Drawing.Size(77, 22);
|
||||
this.tsLayerPreviewTime.Text = "Preview Time";
|
||||
this.tsLayerPreviewTime.ToolTipText = "Layer preview computation time";
|
||||
//
|
||||
// toolStripSeparator6
|
||||
//
|
||||
this.toolStripSeparator6.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
||||
this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// tsLayerResolution
|
||||
//
|
||||
this.tsLayerResolution.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsLayerResolution.Image = global::UVtools.GUI.Properties.Resources.resize_16x16;
|
||||
this.tsLayerResolution.Name = "tsLayerResolution";
|
||||
this.tsLayerResolution.Size = new System.Drawing.Size(79, 22);
|
||||
this.tsLayerResolution.Text = "Resolution";
|
||||
this.tsLayerResolution.ToolTipText = "Layer Resolution";
|
||||
//
|
||||
// toolStripSeparator11
|
||||
//
|
||||
this.toolStripSeparator11.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripSeparator11.Name = "toolStripSeparator11";
|
||||
this.toolStripSeparator11.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// tsLayerImageZoom
|
||||
//
|
||||
this.tsLayerImageZoom.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsLayerImageZoom.Image = global::UVtools.GUI.Properties.Resources.search_16x16;
|
||||
this.tsLayerImageZoom.Name = "tsLayerImageZoom";
|
||||
this.tsLayerImageZoom.Size = new System.Drawing.Size(89, 22);
|
||||
this.tsLayerImageZoom.Text = "Zoom: 100%";
|
||||
this.tsLayerImageZoom.ToolTipText = "Layer image zoom level, use mouse scroll to zoom in/out into image\r\nCtrl + 0 to s" +
|
||||
"cale to fit";
|
||||
//
|
||||
// toolStripSeparator8
|
||||
//
|
||||
this.toolStripSeparator8.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
||||
this.toolStripSeparator8.Size = new System.Drawing.Size(6, 25);
|
||||
this.toolStripSeparator8.Visible = false;
|
||||
//
|
||||
// tsLayerImagePanLocation
|
||||
//
|
||||
this.tsLayerImagePanLocation.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsLayerImagePanLocation.Image = global::UVtools.GUI.Properties.Resources.cursor_16x16;
|
||||
this.tsLayerImagePanLocation.Name = "tsLayerImagePanLocation";
|
||||
this.tsLayerImagePanLocation.Size = new System.Drawing.Size(79, 22);
|
||||
this.tsLayerImagePanLocation.Text = "{X=0, Y=0}";
|
||||
this.tsLayerImagePanLocation.ToolTipText = "Image pan location";
|
||||
this.tsLayerImagePanLocation.Visible = false;
|
||||
//
|
||||
// toolStripSeparator16
|
||||
//
|
||||
this.toolStripSeparator16.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripSeparator16.Name = "toolStripSeparator16";
|
||||
this.toolStripSeparator16.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// tsLayerImageMouseLocation
|
||||
//
|
||||
this.tsLayerImageMouseLocation.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsLayerImageMouseLocation.Image = global::UVtools.GUI.Properties.Resources.pointer_16x16;
|
||||
this.tsLayerImageMouseLocation.Name = "tsLayerImageMouseLocation";
|
||||
this.tsLayerImageMouseLocation.Size = new System.Drawing.Size(79, 22);
|
||||
this.tsLayerImageMouseLocation.Text = "{X=0, Y=0}";
|
||||
this.tsLayerImageMouseLocation.ToolTipText = "Mouse over pixel location and pixel brightness";
|
||||
//
|
||||
// tsLayerImagePixelCount
|
||||
//
|
||||
this.tsLayerImagePixelCount.Image = global::UVtools.GUI.Properties.Resources.pixel_16x16;
|
||||
this.tsLayerImagePixelCount.Name = "tsLayerImagePixelCount";
|
||||
this.tsLayerImagePixelCount.Size = new System.Drawing.Size(65, 22);
|
||||
this.tsLayerImagePixelCount.Text = "Pixels: 0";
|
||||
this.tsLayerImagePixelCount.ToolTipText = "Number of pixels to cure on this layer image and the percetange of them against t" +
|
||||
"otal lcd pixels";
|
||||
//
|
||||
// toolStripSeparator17
|
||||
//
|
||||
this.toolStripSeparator17.Name = "toolStripSeparator17";
|
||||
this.toolStripSeparator17.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// tsLayerBounds
|
||||
//
|
||||
this.tsLayerBounds.Image = global::UVtools.GUI.Properties.Resources.resize_16x16;
|
||||
this.tsLayerBounds.Name = "tsLayerBounds";
|
||||
this.tsLayerBounds.Size = new System.Drawing.Size(66, 22);
|
||||
this.tsLayerBounds.Text = "Bounds:";
|
||||
this.tsLayerBounds.ToolTipText = "Image bounds for this layer only, position and size";
|
||||
//
|
||||
// tsLayer
|
||||
//
|
||||
this.tsLayer.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
|
||||
this.tsLayer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsLayerImageExport,
|
||||
this.tsLayerResolution,
|
||||
this.tsLayerImageRotate,
|
||||
this.toolStripSeparator5,
|
||||
this.tsLayerImageLayerDifference,
|
||||
this.toolStripSeparator6,
|
||||
this.tsLayerPreviewTime,
|
||||
this.toolStripSeparator14,
|
||||
this.tsLayerImageHighlightIssues,
|
||||
this.toolStripSeparator7,
|
||||
this.tsLayerImageLayerOutline,
|
||||
this.toolStripSeparator9,
|
||||
this.tsLayerImagePixelEdit,
|
||||
this.toolStripSeparator8,
|
||||
this.tsLayerImageZoom,
|
||||
this.toolStripSeparator11,
|
||||
this.tsLayerImageMouseLocation});
|
||||
this.tsLayerImagePixelEdit});
|
||||
this.tsLayer.Location = new System.Drawing.Point(0, 0);
|
||||
this.tsLayer.Name = "tsLayer";
|
||||
this.tsLayer.Size = new System.Drawing.Size(1228, 25);
|
||||
@@ -605,14 +723,6 @@
|
||||
this.tsLayerImageExportClipboard.Text = "To &Clipboard";
|
||||
this.tsLayerImageExportClipboard.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// tsLayerResolution
|
||||
//
|
||||
this.tsLayerResolution.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsLayerResolution.Name = "tsLayerResolution";
|
||||
this.tsLayerResolution.Size = new System.Drawing.Size(63, 22);
|
||||
this.tsLayerResolution.Text = "Resolution";
|
||||
this.tsLayerResolution.ToolTipText = "Layer Resolution";
|
||||
//
|
||||
// tsLayerImageRotate
|
||||
//
|
||||
this.tsLayerImageRotate.Checked = true;
|
||||
@@ -644,20 +754,6 @@
|
||||
" the white pixels the difference between previous and current layer.";
|
||||
this.tsLayerImageLayerDifference.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// toolStripSeparator6
|
||||
//
|
||||
this.toolStripSeparator6.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
||||
this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// tsLayerPreviewTime
|
||||
//
|
||||
this.tsLayerPreviewTime.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsLayerPreviewTime.Name = "tsLayerPreviewTime";
|
||||
this.tsLayerPreviewTime.Size = new System.Drawing.Size(77, 22);
|
||||
this.tsLayerPreviewTime.Text = "Preview Time";
|
||||
this.tsLayerPreviewTime.ToolTipText = "Layer Resolution";
|
||||
//
|
||||
// toolStripSeparator14
|
||||
//
|
||||
this.toolStripSeparator14.Name = "toolStripSeparator14";
|
||||
@@ -744,33 +840,6 @@
|
||||
"e pixel)\r\nRed pixels are removed pixels\r\nGreen pixels are added pixels";
|
||||
this.tsLayerImagePixelEdit.Click += new System.EventHandler(this.EventClick);
|
||||
//
|
||||
// toolStripSeparator8
|
||||
//
|
||||
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
||||
this.toolStripSeparator8.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// tsLayerImageZoom
|
||||
//
|
||||
this.tsLayerImageZoom.Image = global::UVtools.GUI.Properties.Resources.search_16x16;
|
||||
this.tsLayerImageZoom.Name = "tsLayerImageZoom";
|
||||
this.tsLayerImageZoom.Size = new System.Drawing.Size(89, 22);
|
||||
this.tsLayerImageZoom.Text = "Zoom: 100%";
|
||||
this.tsLayerImageZoom.ToolTipText = "Layer image zoom level, use mouse scroll to zoom in/out into image\r\nCtrl + 0 to s" +
|
||||
"cale to fit";
|
||||
//
|
||||
// toolStripSeparator11
|
||||
//
|
||||
this.toolStripSeparator11.Name = "toolStripSeparator11";
|
||||
this.toolStripSeparator11.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// tsLayerImageMouseLocation
|
||||
//
|
||||
this.tsLayerImageMouseLocation.Image = global::UVtools.GUI.Properties.Resources.pointer_16x16;
|
||||
this.tsLayerImageMouseLocation.Name = "tsLayerImageMouseLocation";
|
||||
this.tsLayerImageMouseLocation.Size = new System.Drawing.Size(79, 22);
|
||||
this.tsLayerImageMouseLocation.Text = "{X=0, Y=0}";
|
||||
this.tsLayerImageMouseLocation.ToolTipText = "Mouse over pixel location and pixel brightness";
|
||||
//
|
||||
// pbLayers
|
||||
//
|
||||
this.pbLayers.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
@@ -1892,6 +1961,8 @@
|
||||
this.scCenter.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.scCenter)).EndInit();
|
||||
this.scCenter.ResumeLayout(false);
|
||||
this.tsLayerInfo.ResumeLayout(false);
|
||||
this.tsLayerInfo.PerformLayout();
|
||||
this.tsLayer.ResumeLayout(false);
|
||||
this.tsLayer.PerformLayout();
|
||||
this.tabControlLeft.ResumeLayout(false);
|
||||
@@ -1972,7 +2043,6 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem menuFileSave;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuFileSaveAs;
|
||||
private System.Windows.Forms.ToolStrip tsLayer;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerResolution;
|
||||
private System.Windows.Forms.TabControl tabControlLeft;
|
||||
private System.Windows.Forms.TabPage tbpThumbnailsAndInfo;
|
||||
private System.Windows.Forms.SplitContainer scLeft;
|
||||
@@ -2002,13 +2072,9 @@
|
||||
private System.Windows.Forms.ToolStripButton tsLayerImageRotate;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
|
||||
private System.Windows.Forms.ToolStripButton tsLayerImageLayerDifference;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerPreviewTime;
|
||||
private Cyotek.Windows.Forms.ImageBox pbLayer;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerImageZoom;
|
||||
private System.Windows.Forms.ToolStripButton tsLayerImagePixelEdit;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuMutate;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
|
||||
@@ -2022,8 +2088,6 @@
|
||||
private System.Windows.Forms.ColumnHeader lvIssuesCount;
|
||||
private System.Windows.Forms.ColumnHeader lvIssuesXY;
|
||||
private System.Windows.Forms.ColumnHeader lvIssuesPixels;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator11;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerImageMouseLocation;
|
||||
private System.Windows.Forms.ColumnHeader lvIssuesLayerHeader;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator12;
|
||||
private System.Windows.Forms.ToolStripButton tsIssueRemove;
|
||||
@@ -2102,6 +2166,19 @@
|
||||
private System.Windows.Forms.NumericUpDown nmPixelEditorDrainHoleDiameter;
|
||||
private System.Windows.Forms.Label label14;
|
||||
private System.Windows.Forms.ToolStripButton btnPixelHistoryRemove;
|
||||
private System.Windows.Forms.ToolStrip tsLayerInfo;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerImageMouseLocation;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator11;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerImageZoom;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerPreviewTime;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerResolution;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerImagePanLocation;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator16;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerImagePixelCount;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator17;
|
||||
private System.Windows.Forms.ToolStripLabel tsLayerBounds;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+29
-2
@@ -1503,6 +1503,7 @@ namespace UVtools.GUI
|
||||
private void pbLayer_Zoomed(object sender, Cyotek.Windows.Forms.ImageBoxZoomEventArgs e)
|
||||
{
|
||||
tsLayerImageZoom.Text = $"Zoom: {e.NewZoom}% ({e.NewZoom/100f}x)";
|
||||
pbLayer_PanEnd(pbLayer, null);
|
||||
}
|
||||
|
||||
private void pbLayer_MouseUp(object sender, MouseEventArgs e)
|
||||
@@ -1563,7 +1564,7 @@ namespace UVtools.GUI
|
||||
ShowLayer(issue.Layer.Index);
|
||||
}
|
||||
|
||||
if (issue.Type == LayerIssue.IssueType.TouchingBound)
|
||||
if (issue.Type == LayerIssue.IssueType.TouchingBound || issue.Type == LayerIssue.IssueType.EmptyLayer || (issue.X == -1 && issue.Y == -1))
|
||||
{
|
||||
ZoomToFit();
|
||||
}
|
||||
@@ -1579,7 +1580,7 @@ namespace UVtools.GUI
|
||||
x = ActualLayerImage.Height - 1 - issue.Y;
|
||||
y = issue.X;
|
||||
}
|
||||
|
||||
|
||||
pbLayer.ZoomToRegion(x, y, 5, 5);
|
||||
pbLayer.ZoomOut(true);
|
||||
}
|
||||
@@ -1679,6 +1680,10 @@ namespace UVtools.GUI
|
||||
{
|
||||
item.Enabled = false;
|
||||
}
|
||||
foreach (ToolStripItem item in tsLayerInfo.Items)
|
||||
{
|
||||
item.Enabled = false;
|
||||
}
|
||||
foreach (ToolStripItem item in tsProperties.Items)
|
||||
{
|
||||
item.Enabled = false;
|
||||
@@ -1688,6 +1693,10 @@ namespace UVtools.GUI
|
||||
item.Enabled = false;
|
||||
}
|
||||
|
||||
tsLayerImagePixelCount.Text = "Pixels: 0";
|
||||
tsLayerBounds.Text = "Bounds:";
|
||||
tsLayerImageMouseLocation.Text = "{X=0, Y=0}";
|
||||
|
||||
tsThumbnailsResolution.Text =
|
||||
tsLayerPreviewTime.Text =
|
||||
tsLayerResolution.Text =
|
||||
@@ -1887,6 +1896,10 @@ namespace UVtools.GUI
|
||||
{
|
||||
item.Enabled = true;
|
||||
}
|
||||
foreach (ToolStripItem item in tsLayerInfo.Items)
|
||||
{
|
||||
item.Enabled = true;
|
||||
}
|
||||
foreach (ToolStripItem item in tsProperties.Items)
|
||||
{
|
||||
item.Enabled = true;
|
||||
@@ -2312,6 +2325,15 @@ namespace UVtools.GUI
|
||||
|
||||
byte percent = (byte)((layerNum + 1) * 100 / SlicerFile.LayerCount);
|
||||
|
||||
float pixelPercent = (float) Math.Round(layer.NonZeroPixelCount * 100f / (SlicerFile.ResolutionX * SlicerFile.ResolutionY), 2);
|
||||
tsLayerImagePixelCount.Text = $"Pixels: {layer.NonZeroPixelCount} ({pixelPercent}%)";
|
||||
tsLayerBounds.Text = $"Bounds: {layer.BoundingRectangle}";
|
||||
tsLayerImagePixelCount.Invalidate();
|
||||
tsLayerBounds.Invalidate();
|
||||
tsLayerInfo.Update();
|
||||
tsLayerInfo.Refresh();
|
||||
|
||||
|
||||
|
||||
watch.Stop();
|
||||
tsLayerPreviewTime.Text = $"{watch.ElapsedMilliseconds}ms";
|
||||
@@ -3082,5 +3104,10 @@ namespace UVtools.GUI
|
||||
MaximumPixelBrightnessToDrain = Settings.Default.ResinTrapMaximumPixelBrightnessToDrain
|
||||
};
|
||||
}
|
||||
|
||||
private void pbLayer_PanEnd(object sender, EventArgs e)
|
||||
{
|
||||
//tsLayerImagePanLocation.Text = $"{pbLayer.AutoScrollPosition}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+96
-81
@@ -123,15 +123,12 @@
|
||||
<metadata name="statusBar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>100, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsLayerInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1312, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsLayer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>201, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>291, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsProperties.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>649, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsGCode.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>551, 17</value>
|
||||
</metadata>
|
||||
@@ -148,83 +145,101 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA+
|
||||
EQAAAk1TRnQBSQFMAgEBBQEAAVgBBQFYAQUBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIC4AAxgBIgMwAUsDMAFMAzIBUOgAAyIBMQNWAbkDXQHiARoBHQEYAf8BGgEd
|
||||
ARgB/wEqAS0BKAH+A1MBrANNAZUDAAEB2AADIQEwA1kB7AErAS4BKQH6AkQBQgH3AUoBTAFIAfQDUwHx
|
||||
AUMBRQFBAfYDQQH5ARoBHQEYAf8DTwGbAwABAdAAAxwBKANZAesBKgEtASgB/gNWAbYDTAGSA0gBhQNI
|
||||
AYUDRgGAA0gBhQEqAS0BKAH+ARoBHQEYAf8DTgGU0AADJgE4ASoBLQEoAf4DTAGTA0sBkANNAZYDSgGL
|
||||
A0UBfwNDAXgDQwF4A0cBggM+AfgDUwGw0AADXAHUARoBHQEYAf8DUQGgA04BmANQAZ8DOgFhAzgBXQNC
|
||||
AXQDRgGAA0gBhANMAZMDWAHjAzABTMgAAzYBWQNAAXADWQHXA0cBggNMAZMDSQGJAwEBAgQAAzABSwNE
|
||||
AXkDSAGHA0sBkANXAegDMAFMyAADLQFGAzgBXgNKAY0DEgEYA1ABoxAAAykBPgNLAZADTQGVA1kB7AMw
|
||||
AUzIAAMUARwDMAFNA08BnANRAaIDUwGwEAADKwFDA08BmwNQAZ4DVgG7AxUBHcgAA0QBeQM/AW4DKgFA
|
||||
Ax4BKwMqAUADVQGxAwQBBQQAAzkBYANMAZIDTgGUA1YBtgNWAbjIAAM/AW0DLgFIAxoBJAMlATcDIQEw
|
||||
ASsBLAErAUMDLAFEA0gBiANIAYUDSAGHA0kBiQNQAZoDWAHpAycBOsgAAwYBCAMKAQ0DUwGwAyoBQANC
|
||||
AXUDFAEcAzUBWANEAXwDTgGUA0QBfANIAYgDTgHwAycBO8gAAwcBCQNVAbQDCQEMBAADQQFzAyoBQQNC
|
||||
AXYDPAFnA1EBpwNaAcoDWwHWAyQBNgMfAS3QAAMBAQIDUwGsAw4BEwM7AWUEAAMwAU0DBwEJAwQBBeQA
|
||||
Az8BbgMGAQgDMQFPAwMBBANTAbDsAAMxAU8DAQEC/wA1AANQAaMDUgGpA1IBqQNSAakDUgGpA1IBqQNS
|
||||
AakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUAGjXAADFQEdAUICWQH1AVECbQH3A0MBdwNbAcgCQgFZ
|
||||
AfUCWAFfAeMDSgGMAwoBDQQAA1UBtANZAccDLwFJAwABAQMbASYDHAEnAxwBJwMcAScDHAEnAxwBJwMc
|
||||
AScDHAEnAxwBJwMcAScDHAEnAwIBAwQAA1IBqTAAA1IBqRAAAycBOgMwAUwDMAFMAzABTAMwAUwDMAFM
|
||||
AzABTAMwAUwDMAFMAycBOhQAAwUBBwNMAZIBVgJYAcEDFQEdAz0BaQEAAcgB8wH/AQABkAHmAf8CBgHc
|
||||
Af8CBgHdAf8COwHjAf8CEQHeAf8CBgHdAf8CWAFbAcsDBgEIAwAB/wMAAf8DQwF3AykBPgMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AzIBUQQAA1IBqQQAA1ABnQNTAaoDUwGq
|
||||
A1MBqgNTAaoDUwGqA1MBqgNQAZ0MAANSAakQAANOAfsDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wNOAfsUAAEwAjEBTQEAAckB8wH/AQAByQH0Af8BWQJgAesBWwJeAdkBAAHAAfEB/wEHAQ8B3wH/
|
||||
AgkB4AH/AgkB4AH/AkIB6QH/AhQB4gH/AgkB4AH/AgkB4AH/A0ABcQNRAaIDVgG2AyoBQAQAAxABFQMR
|
||||
ARcDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEXAxEBFwMQARYIAANSAakEAANQAZ0DUwGqA1MBqgMf
|
||||
ASwcAANSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/FAADBwEKAVkCZwHy
|
||||
AQABygH0Af8BAAHKAfQB/wEAAcoB9AH/AQABoQHuAf8CDAHjAf8CDAHjAf8CDAHjAf8CqQHvAf8CEwHj
|
||||
Af8CDAHjAf8CDAHjAf8CVgFYAbkDCgEOAxEBFwMAAQE4AANSAakwAANSAakTAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADFQEdAz0BaQM6AWIBXAJgAdQBAAHLAfUB/wEAAcsB9QH/
|
||||
AQABywH1Af8BAAGgAfAB/wIPAeYB/wIPAeYB/wIPAeYB/wLCAfYB/wInAegB/wIPAeYB/wIPAeYB/wJX
|
||||
AVkBvwNSAfQDAAH/Az4BbAMOARMDQgF2A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3
|
||||
A0IBdgMUARsEAANSAakDIgEyA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQMi
|
||||
ATIDUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wwAAUsCTAGQAQABywH2
|
||||
Af8BAAHLAfYB/wEAAcsB9gH/AQABywH2Af8BKQFWAWYB+gNDAXgDIgEyAksBYAH7AhIB6QH/AhIB6QH/
|
||||
As0B+AH/AjYB7QH/AhIB6QH/AhIB6QH/A1ABngMAAf4DAAH/A0MBdwMeASsDVwHFA1kBxwNZAccDWQHH
|
||||
A1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1gBxgMmATkEAANSAakDNAFVAzQBVSAAAzQBVQM0AVUDUgGp
|
||||
EwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wwAA1EBoAEAAcwB9wH/AQABzAH3
|
||||
Af8BAAHMAfcB/wEAAcwB9wH/A0MBdwgAA0oBjQIVAewB/wIVAewB/wIxAe8B/wIZAewB/wIVAewB/wER
|
||||
ASIB7QH/AVICUwGoAzMBUwM8AWcDFAEcOAADUgGpAzQBVQM0AVUDRgGAA1IBqQNSAakDUgGpA1IBqQNS
|
||||
AakDUgGpA0UBfwM0AVUDNAFVA1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8PAAEBAT8CQAFvAT4CXAH4AQABzQH3Af8BAAHNAfcB/wMSARgIAAMBAQIDRgF+AlIBXQHwAhgB7gH/
|
||||
ARgBGQHuAf8CQAGoAf0BRQJGAX4DAwEEAzMBUwM8AWcDFAEcOAADUgGpAzQBVQM0AVUDPwFuAzIBUBAA
|
||||
AycBOwNEAXwDNAFVAzQBVQNSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
DwABAQE/AkABbwE+AlwB+AEAAc4B+AH/AQABzgH4Af8DEgEYEAADFwEgAQABvAH3Af8BAAHEAfcB/wFA
|
||||
AqgB/QFFAkYBfgMDAQQDAAH+AwAB/wNDAXcDHwEsA1cBxQNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNZ
|
||||
AccDWQHHA1kBxwNYAcYDJgE5BAADUgGpAzQBVQM0AVUDBQEHA1UBtQMRARcDUgGpAykBPgQAA1ABnwMR
|
||||
ARcDNAFVAzQBVQNSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADUQGg
|
||||
AQABzgH4Af8BAAHPAfkB/wEAAc8B+QH/AQABzwH5Af8DQwF3EAADRAF6AQABzwH5Af8BAAHPAfkB/wEA
|
||||
Ac8B+QH/AQABzgH4Af8BUgJTAagDUgH0AwAB/wM+AWwDDgETA0IBdQNDAXcDQwF3A0MBdwNDAXcDQwF3
|
||||
A0MBdwNDAXcDQwF3A0MBdwNDAXcDFAEbBAADUgGpAzQBVQM0AVUEAAM8AWgDVgG+AyMBNANVAbUDEgEZ
|
||||
A1EBoAQAAzQBVQM0AVUDUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1wB3wwA
|
||||
AUsCTAGQAQAB0AH6Af8BAAHQAfoB/wEAAdAB+gH/AQAB0AH6Af8BKQFWAWYB+gNDAXgDEgEZAxMBGgNE
|
||||
AXoBKAFfAWcB+wEAAdAB+gH/AQAB0AH6Af8BAAHQAfoB/wEAAdAB+gH/A0oBjAMKAQ4DEQEXAwABATgA
|
||||
A1IBqQM0AVUDNAFVAwABAQMtAUYDCgEOBAADOQFfA1wBzgMoATwEAAM0AVUDNAFVA1IBqRMAAf8DggH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1wB3wMXASAMAAMVAR0DPQFpAzoBYgFcAmAB1AEAAdEB+gH/
|
||||
AQAB0QH6Af8BAAHQAfoB/wEAAcsB8wH/AQABywHzAf8BAAHQAfoB/wEAAdEB+gH/AQAB0QH6Af8BXQJh
|
||||
AeIDOgFiAz0BaQMUARwDUQGiA1YBtgMqAUAEAAMQARUDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEX
|
||||
AxEBFwMRARcDEAEWCAADUgGpAzQBVQM0AVUDMwFTA1IBpgNKAYwHAAEBA0cBgwgAAzQBVQM0AVUDUgGp
|
||||
EwAB/wOZAf8DhQH/AwAB/wMAAf8DAAH/AwAB/wNcAd8DFwEgGAADBwEKAVkCZwHyAQAB0gH7Af8BAAHS
|
||||
AfsB/wEAAdIB+wH/AQAB0gH7Af8BAAHSAfsB/wEAAdIB+wH/AQAB0gH7Af8BAAHSAfsB/wErAV8BZwH7
|
||||
AxEBFwsAAf8DAAH/A0MBdwMpAT4DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wMyAVEEAANSAakDNAFVAzQBVQMRARcDUAGeAyQBNhQAAzQBVQM0AVUDUgGpEAADUAH7AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DXAHfAxcBIBwAATACMQFNAQAB0gH8Af8BAAHSAfwB/wFZAmAB6wFbAl4B2QEA
|
||||
AdIB/AH/AQAB0gH8Af8BWwJhAeEBXQJhAeIBAAHSAfwB/wEAAdIB/AH/AzgBXggAA1UBtANZAccDLwFJ
|
||||
AwABAQMbASYDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAwIBAwQAA1IBqQMi
|
||||
ATIDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpAyIBMgNSAakQAAMgAS4DKQE/
|
||||
AykBPwMpAT8DKQE/AykBPwMRARcgAAMFAQcDTAGSAVYCWAHBAxUBHQM9AWkBAAHTAfwB/wEAAdMB/AH/
|
||||
AUUCRgF/AxABFQNWAbMBSwJMAY8DBAEGTAADUAGjA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNS
|
||||
AakDUgGpA1IBqQNSAakDUgGpA1ABo1wAAxUBHQFCAlkB9QFRAm0B9wMgAS8YAAFCAU0BPgcAAT4DAAEo
|
||||
AwABQAMAASADAAEBAQABAQYAAQEWAAP/AQAB/gEfBgAB+AEDBgAB8AEBBgAB4AEBBgAB4AEBBgAB4AcA
|
||||
AcABQAYAAcEB4AYAAcEB4AYAAcABQQYAAYABAQYAAYABAwYAARABBwYAAYQBfwYAAcEB/wYAAc8B/wYA
|
||||
Av8BgAEBAv8B/AEBAgABvwH9AeABBwHAAwABoAEdAeABBwHAAQABEAEBAaEB/QHgAQcBwAEAAR8B/wG/
|
||||
Af0B4AEHBAABgAEBAeABBwQAAY8B8QHgAQcBAwEAAR8B/wGAAQEB4AEHAQMBAAEfAf8BgwHBAeABBwED
|
||||
AcACAAGAAUEB4AEHAQMBwAIAAYgBEQHgAQcCAAEfAf8BgQERAeABBwIAARABAQGBATEB4AEPAcABAwIA
|
||||
AYEB8QHgAR8BwAEDAgABgAEBAeABPwHAAQMC/wGAAQEC/wH8AT8L
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAw
|
||||
EQAAAk1TRnQBSQFMAgEBBQEAAagBBQGoAQUBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIC4AAxgBIgMwAUsDMAFMAzIBUOgAAyIBMQNWAbkDXQHiARABEwEOAf8BEAET
|
||||
AQ4B/wEqAS0BKAH+A1MBrANNAZUDAAEB2AADIQEwA1kB7AErAS4BKQH6A1EB9wNSAfQDUwHxA0gB9gNB
|
||||
AfkBEAETAQ4B/wNPAZsDAAEB0AADHAEoA1kB6wEqAS0BKAH+A1YBtgNMAZIDSAGFA0gBhQNGAYADSAGF
|
||||
ASoBLQEoAf4BEAETAQ4B/wNOAZTQAAMmATgBKgEtASgB/gNMAZMDSwGQA00BlgNKAYsDRQF/A0MBeAND
|
||||
AXgDRwGCAz4B+ANTAbDQAANcAdQBEAETAQ4B/wNRAaADTgGYA1ABnwM6AWEDOAFdA0IBdANGAYADSAGE
|
||||
A0wBkwNYAeMDMAFMyAADNgFZA0ABcANZAdcDRwGCA0wBkwNJAYkDAQECBAADMAFLA0QBeQNIAYcDSwGQ
|
||||
A1cB6AMwAUzIAAMtAUYDOAFeA0oBjQMSARgDUAGjEAADKQE+A0sBkANNAZUDWQHsAzABTMgAAxQBHAMw
|
||||
AU0DTwGcA1EBogNTAbAQAAMrAUMDTwGbA1ABngNWAbsDFQEdyAADRAF5Az8BbgMqAUADHgErAyoBQANV
|
||||
AbEDBAEFBAADOQFgA0wBkgNOAZQDVgG2A1YBuMgAAz8BbQMuAUgDGgEkAyUBNwMhATABKwEsASsBQwMs
|
||||
AUQDSAGIA0gBhQNIAYcDSQGJA1ABmgNYAekDJwE6yAADBgEIAwoBDQNTAbADKgFAA0IBdQMUARwDNQFY
|
||||
A0QBfANOAZQDRAF8A0gBiANOAfADJwE7yAADBwEJA1UBtAMJAQwEAANBAXMDKgFBA0IBdgM8AWcDUQGn
|
||||
A1oBygNbAdYDJAE2Ax8BLdAAAwEBAgNTAawDDgETAzsBZQQAAzABTQMHAQkDBAEF5AADPwFuAwYBCAMx
|
||||
AU8DAwEEA1MBsOwAAzEBTwMBAQL/ADUAA1ABowNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGp
|
||||
A1IBqQNSAakDUgGpA1IBqQNQAaNcAAMVAR0BQgJZAfUBUQJtAfcDQwF3A1sByAJCAVkB9QJYAV8B4wNK
|
||||
AYwDCgENBAADVQG0A1kBxwMvAUkDAAEBAxsBJgMcAScDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEn
|
||||
AxwBJwMcAScDAgEDBAADUgGpMAADUgGpEAADJwE6AzABTAMwAUwDMAFMAzABTAMwAUwDMAFMAzABTAMw
|
||||
AUwDJwE6FAADBQEHA0wBkgFWAlgBwQMVAR0DPQFpAQAByAHzAf8BAAGQAeYB/wIAAdwB/wIAAd0B/wIx
|
||||
AeMB/wIHAd4B/wIAAd0B/wJYAVsBywMGAQgDAAH/AwAB/wNDAXcDKQE+AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DMgFRBAADUgGpBAADUAGdA1MBqgNTAaoDUwGqA1MBqgNT
|
||||
AaoDUwGqA1ABnQwAA1IBqRAAA04B+wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A04B+xQA
|
||||
ATACMQFNAQAByQHzAf8BAAHJAfQB/wFZAmAB6wFbAl4B2QEAAcAB8QH/AQABBQHfAf8CAAHgAf8CAAHg
|
||||
Af8COAHpAf8CCgHiAf8CAAHgAf8CAAHgAf8DQAFxA1EBogNWAbYDKgFABAADEAEVAxEBFwMRARcDEQEX
|
||||
AxEBFwMRARcDEQEXAxEBFwMRARcDEQEXAxABFggAA1IBqQQAA1ABnQNTAaoDUwGqAx8BLBwAA1IBqRMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8UAAMHAQoBWQJnAfIBAAHKAfQB/wEA
|
||||
AcoB9AH/AQABygH0Af8BAAGhAe4B/wICAeMB/wICAeMB/wICAeMB/wKpAe8B/wIJAeMB/wICAeMB/wIC
|
||||
AeMB/wJWAVgBuQMKAQ4DEQEXAwABATgAA1IBqTAAA1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8MAAMVAR0DPQFpAzoBYgFcAmAB1AEAAcsB9QH/AQABywH1Af8BAAHLAfUB/wEA
|
||||
AaAB8AH/AgUB5gH/AgUB5gH/AgUB5gH/AsIB9gH/Ah0B6AH/AgUB5gH/AgUB5gH/AlcBWQG/A1IB9AMA
|
||||
Af8DPgFsAw4BEwNCAXYDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwNDAXcDQgF2AxQBGwQA
|
||||
A1IBqQMiATIDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpAyIBMgNSAakTAAH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DAABSwJMAZABAAHLAfYB/wEAAcsB9gH/
|
||||
AQABywH2Af8BAAHLAfYB/wEpAU0BUwH6A0MBeAMiATICSwFfAfsCCAHpAf8CCAHpAf8CzQH4Af8CLAHt
|
||||
Af8CCAHpAf8CCAHpAf8DUAGeAwAB/gMAAf8DQwF3Ax4BKwNXAcUDWQHHA1kBxwNZAccDWQHHA1kBxwNZ
|
||||
AccDWQHHA1kBxwNZAccDWAHGAyYBOQQAA1IBqQM0AVUDNAFVIAADNAFVAzQBVQNSAakTAAH/AwAB/wMA
|
||||
Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADUQGgAQABzAH3Af8BAAHMAfcB/wEAAcwB9wH/
|
||||
AQABzAH3Af8DQwF3CAADSgGNAgsB7AH/AgsB7AH/AicB7wH/Ag8B7AH/AgsB7AH/AQcBGAHtAf8BUgJT
|
||||
AagDMwFTAzwBZwMUARw4AANSAakDNAFVAzQBVQNGAYADUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDRQF/
|
||||
AzQBVQM0AVUDUgGpEwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/w8AAQEBPwJA
|
||||
AW8BPgJcAfgBAAHNAfcB/wEAAc0B9wH/AxIBGAgAAwEBAgNGAX4CUgFdAfACDgHuAf8BDgEPAe4B/wJA
|
||||
AagB/QFFAkYBfgMDAQQDMwFTAzwBZwMUARw4AANSAakDNAFVAzQBVQM/AW4DMgFQEAADJwE7A0QBfAM0
|
||||
AVUDNAFVA1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8PAAEBAT8CQAFv
|
||||
AT4CXAH4AQABzgH4Af8BAAHOAfgB/wMSARgQAAMXASABAAG8AfcB/wEAAcQB9wH/AUACqAH9AUUCRgF+
|
||||
AwMBBAMAAf4DAAH/A0MBdwMfASwDVwHFA1kBxwNZAccDWQHHA1kBxwNZAccDWQHHA1kBxwNZAccDWQHH
|
||||
A1gBxgMmATkEAANSAakDNAFVAzQBVQMFAQcDVQG1AxEBFwNSAakDKQE+BAADUAGfAxEBFwM0AVUDNAFV
|
||||
A1IBqRMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8MAANRAaABAAHOAfgB/wEA
|
||||
Ac8B+QH/AQABzwH5Af8BAAHPAfkB/wNDAXcQAANEAXoBAAHPAfkB/wEAAc8B+QH/AQABzwH5Af8BAAHO
|
||||
AfgB/wFSAlMBqANSAfQDAAH/Az4BbAMOARMDQgF1A0MBdwNDAXcDQwF3A0MBdwNDAXcDQwF3A0MBdwND
|
||||
AXcDQwF3A0MBdwMUARsEAANSAakDNAFVAzQBVQQAAzwBaANWAb4DIwE0A1UBtQMSARkDUQGgBAADNAFV
|
||||
AzQBVQNSAakTAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DXAHfDAABSwJMAZABAAHQ
|
||||
AfoB/wEAAdAB+gH/AQAB0AH6Af8BAAHQAfoB/wEpAU0BUwH6A0MBeAMSARkDEwEaA0QBegEoAl8B+wEA
|
||||
AdAB+gH/AQAB0AH6Af8BAAHQAfoB/wEAAdAB+gH/A0oBjAMKAQ4DEQEXAwABATgAA1IBqQM0AVUDNAFV
|
||||
AwABAQMtAUYDCgEOBAADOQFfA1wBzgMoATwEAAM0AVUDNAFVA1IBqRMAAf8DggH/AwAB/wMAAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/A1wB3wMXASAMAAMVAR0DPQFpAzoBYgFcAmAB1AEAAdEB+gH/AQAB0QH6Af8BAAHQ
|
||||
AfoB/wEAAcsB8wH/AQABywHzAf8BAAHQAfoB/wEAAdEB+gH/AQAB0QH6Af8BXQJhAeIDOgFiAz0BaQMU
|
||||
ARwDUQGiA1YBtgMqAUAEAAMQARUDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEAEW
|
||||
CAADUgGpAzQBVQM0AVUDMwFTA1IBpgNKAYwHAAEBA0cBgwgAAzQBVQM0AVUDUgGpEwAB/wOZAf8DhQH/
|
||||
AwAB/wMAAf8DAAH/AwAB/wNcAd8DFwEgGAADBwEKAVkCZwHyAQAB0gH7Af8BAAHSAfsB/wEAAdIB+wH/
|
||||
AQAB0gH7Af8BAAHSAfsB/wEAAdIB+wH/AQAB0gH7Af8BAAHSAfsB/wErAl8B+wMRARcLAAH/AwAB/wND
|
||||
AXcDKQE+AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DMgFRBAADUgGp
|
||||
AzQBVQM0AVUDEQEXA1ABngMkATYUAAM0AVUDNAFVA1IBqRAAA1AB+wMAAf8DAAH/AwAB/wMAAf8DAAH/
|
||||
A1wB3wMXASAcAAEwAjEBTQEAAdIB/AH/AQAB0gH8Af8BWQJgAesBWwJeAdkBAAHSAfwB/wEAAdIB/AH/
|
||||
AVsCYQHhAV0CYQHiAQAB0gH8Af8BAAHSAfwB/wM4AV4IAANVAbQDWQHHAy8BSQMAAQEDGwEmAxwBJwMc
|
||||
AScDHAEnAxwBJwMcAScDHAEnAxwBJwMcAScDHAEnAxwBJwMCAQMEAANSAakDIgEyA1IBqQNSAakDUgGp
|
||||
A1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQMiATIDUgGpEAADIAEuAykBPwMpAT8DKQE/AykBPwMp
|
||||
AT8DEQEXIAADBQEHA0wBkgFWAlgBwQMVAR0DPQFpAQAB0wH8Af8BAAHTAfwB/wFFAkYBfwMQARUDVgGz
|
||||
AUsCTAGPAwQBBkwAA1ABowNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGpA1IBqQNSAakDUgGp
|
||||
A1IBqQNQAaNcAAMVAR0BQgJZAfUBUQJtAfcDIAEvGAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEA
|
||||
AQEGAAEBFgAD/wEAAf4BHwYAAfgBAwYAAfABAQYAAeABAQYAAeABAQYAAeAHAAHAAUAGAAHBAeAGAAHB
|
||||
AeAGAAHAAUEGAAGAAQEGAAGAAQMGAAEQAQcGAAGEAX8GAAHBAf8GAAHPAf8GAAL/AYABAQL/AfwBAQIA
|
||||
Ab8B/QHgAQcBwAMAAaABHQHgAQcBwAEAARABAQGhAf0B4AEHAcABAAEfAf8BvwH9AeABBwQAAYABAQHg
|
||||
AQcEAAGPAfEB4AEHAQMBAAEfAf8BgAEBAeABBwEDAQABHwH/AYMBwQHgAQcBAwHAAgABgAFBAeABBwED
|
||||
AcACAAGIAREB4AEHAgABHwH/AYEBEQHgAQcCAAEQAQEBgQExAeABDwHAAQMCAAGBAfEB4AEfAcABAwIA
|
||||
AYABAQHgAT8BwAEDAv8BgAEBAv8B/AE/Cw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="tsThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>291, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsProperties.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>649, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsGCode.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>551, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsIssues.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>765, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsPixelEditorHistory.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1155, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTipInformation.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>863, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTipInformation.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>863, 17</value>
|
||||
</metadata>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 507 B |
@@ -35,5 +35,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("0.6.2.2")]
|
||||
[assembly: AssemblyFileVersion("0.6.2.2")]
|
||||
[assembly: AssemblyVersion("0.6.2.3")]
|
||||
[assembly: AssemblyFileVersion("0.6.2.3")]
|
||||
|
||||
+10
@@ -220,6 +220,16 @@ namespace UVtools.GUI.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap cursor_16x16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("cursor-16x16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
||||
@@ -118,20 +118,23 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="SaveAs-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\SaveAs-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="layers-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\layers-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Error-128x128" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Error-128x128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Cancel-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Cancel-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="search-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\search-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="resize-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\resize-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="arrow-top-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-top-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_solidify" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_solidify.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="mutation_closing" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_closing.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="eye-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\eye-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -166,12 +169,12 @@
|
||||
<data name="warning-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\warning-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="checkbox-marked-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\checkbox-marked-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Wrench-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Wrench-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="pattern-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\pattern-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="arrow-down-double-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-down-double-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -181,15 +184,15 @@
|
||||
<data name="arrow-up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-up.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Convert-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Convert-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Ok-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Ok-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Button-Info-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Button-Info-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="arrow-down-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-down-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Next-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Next-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@@ -202,14 +205,14 @@
|
||||
<data name="Open-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Open-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="pointer-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\pointer-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="checkbox-unmarked-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\checkbox-unmarked-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="File-Close-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\File-Close-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="search-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\search-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="SaveAs-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\SaveAs-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Cancel-32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Cancel-32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -217,23 +220,20 @@
|
||||
<data name="eye-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\eye-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_tophat" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_tophat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Geometry-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Geometry-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="CNCMachine-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\CNCMachine-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="mutation_tophat" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_tophat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\plus.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="UVtools" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\UVtools.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="Convert-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Convert-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="layers-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\layers-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="pattern-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\pattern-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_dilation" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_dilation.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -253,23 +253,26 @@
|
||||
<data name="arrow-end-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-end-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="checkbox-unmarked-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\checkbox-unmarked-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="arrow-down-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\arrow-down-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="UVtools" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\UVtools.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="delete-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\delete-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="checkbox-marked-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\checkbox-marked-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="CNCMachine-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\CNCMachine-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="pointer-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\pointer-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_solidify" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_solidify.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_blackhat" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_blackhat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="mutation_closing" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\gui\mutation_closing.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="Cancel-24x24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Cancel-24x24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="clipboard-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\clipboard-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
@@ -283,7 +286,7 @@
|
||||
<data name="island-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\island-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="resize-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\resize-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="cursor-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\cursor-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -323,6 +323,7 @@
|
||||
<None Include="Images\settings-16x16.png" />
|
||||
<None Include="Images\pattern-16x16.png" />
|
||||
<None Include="Images\resize-16x16.png" />
|
||||
<None Include="Images\cursor-16x16.png" />
|
||||
<Content Include="UVtools.ico" />
|
||||
<None Include="UVtools.png" />
|
||||
<None Include="Images\Exit-16x16.png" />
|
||||
|
||||
Reference in New Issue
Block a user