diff --git a/CUETools/CUETools.csproj b/CUETools/CUETools.csproj index c8b0c97..8b7855d 100644 --- a/CUETools/CUETools.csproj +++ b/CUETools/CUETools.csproj @@ -352,9 +352,7 @@ - - PreserveNewest - + diff --git a/CUETools/frmCUETools.cs b/CUETools/frmCUETools.cs index 35381f0..ed60df2 100644 --- a/CUETools/frmCUETools.cs +++ b/CUETools/frmCUETools.cs @@ -557,6 +557,7 @@ namespace JDP this.Invoke((MethodInvoker)delegate() { frmChoice dlg = new frmChoice(); + dlg.config = _profile._config; if (_choiceWidth != 0 && _choiceHeight != 0) dlg.Size = new Size(_choiceWidth, _choiceHeight); if (_choiceMaxed) @@ -941,6 +942,7 @@ namespace JDP if (_batchPaths.Count <= 1 && _batchProcessed == 0 && action == CUEAction.Encode && checkBoxEditTags.Checked) { frmChoice dlg = new frmChoice(); + dlg.config = _profile._config; if (_choiceWidth != 0 && _choiceHeight != 0) dlg.Size = new Size(_choiceWidth, _choiceHeight); if (_choiceMaxed) @@ -971,6 +973,19 @@ namespace JDP entry.Metadata.CopyMetadata(dlg.ChosenRelease.metadata); } } + if (dlgRes != DialogResult.Cancel) + { + if (cueSheet.AlbumArt.Count == 0 && cueSheet.Metadata.AlbumArt.Count > 0) + { + var ms = new MemoryStream(); + var image = cueSheet.Metadata.AlbumArt.Find(x => x.primary) ?? cueSheet.Metadata.AlbumArt[0]; + if (cueSheet.CTDB.FetchFile(image.uri, ms)) + { + var blob = new TagLib.ByteVector(ms.ToArray()); + cueSheet.AlbumArt.Add(new TagLib.Picture(new TagLib.ByteVector(blob))); + } + } + } dlg.Close(); } else if (_profile._config.advanced.CacheMetadata) @@ -2238,6 +2253,7 @@ namespace JDP } CueSheet.UseLocalDB(_localDB); frmChoice dlg = new frmChoice(); + dlg.config = _profile._config; if (_choiceWidth != 0 && _choiceHeight != 0) dlg.Size = new Size(_choiceWidth, _choiceHeight); if (_choiceMaxed) diff --git a/CUETools/frmChoice.Designer.cs b/CUETools/frmChoice.Designer.cs index fb88ec9..224a6df 100644 --- a/CUETools/frmChoice.Designer.cs +++ b/CUETools/frmChoice.Designer.cs @@ -240,11 +240,13 @@ namespace JDP resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.tableLayoutPanel1); + this.KeyPreview = true; this.Name = "frmChoice"; this.ShowIcon = false; this.ShowInTaskbar = false; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmChoice_FormClosing); this.Load += new System.EventHandler(this.frmChoice_Load); + this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.frmChoice_KeyPress); this.Resize += new System.EventHandler(this.frmChoice_Resize); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); diff --git a/CUETools/frmChoice.cs b/CUETools/frmChoice.cs index 65c4472..5fb63d7 100644 --- a/CUETools/frmChoice.cs +++ b/CUETools/frmChoice.cs @@ -12,347 +12,493 @@ using CUETools.CTDB; namespace JDP { - public partial class frmChoice : Form - { - public frmChoice() - { - InitializeComponent(); - } + public partial class frmChoice : Form + { + public frmChoice() + { + InitializeComponent(); + } - public CUESheet CUE; + public CUESheet CUE; + public CUEConfig config; - private bool ctdb; - private CTDBMetadataSearch metadataSearch; + private bool ctdb; + private CTDBMetadataSearch metadataSearch; + private enum CropAlign + { + None, TopLeft, BottomRight + }; + private RotateFlipType imageRotation = RotateFlipType.RotateNoneFlipNone; + private CropAlign cropAlign = CropAlign.None; + private int trimEdge = 0; - public void LookupAlbumInfo(bool cache, bool cue, bool ctdb, CTDBMetadataSearch metadataSearch) - { - this.ctdb = ctdb; - this.metadataSearch = metadataSearch; - var releases = CUE.LookupAlbumInfo(cache, cue, false, CTDBMetadataSearch.None); - this.Choices = releases; - if (ctdb || metadataSearch != CTDBMetadataSearch.None) - backgroundWorker1.RunWorkerAsync(null); - } + public void LookupAlbumInfo(bool cache, bool cue, bool ctdb, CTDBMetadataSearch metadataSearch) + { + this.ctdb = ctdb; + this.metadataSearch = metadataSearch; + var releases = CUE.LookupAlbumInfo(cache, cue, false, CTDBMetadataSearch.None); + this.Choices = releases; + if (ctdb || metadataSearch != CTDBMetadataSearch.None) + backgroundWorker1.RunWorkerAsync(null); + } - private void frmChoice_Load(object sender, EventArgs e) - { - buttonOk.Select(); - } + private void frmChoice_Load(object sender, EventArgs e) + { + buttonOk.Select(); + } - private void AddItem(object i) - { - if (i is CUEToolsSourceFile) - { - CUEToolsSourceFile sf = i as CUEToolsSourceFile; - ListViewItem item = new ListViewItem(sf.path, 0); - item.Tag = sf; - listChoices.Items.Add(item); - } - else if (i is TagLib.IPicture) - { - TagLib.IPicture pic = i as TagLib.IPicture; - ListViewItem item = new ListViewItem(pic.Description, -1); - item.Tag = pic; - listChoices.Items.Add(item); - } - else if (i is CUEMetadataEntry) - { - CUEMetadataEntry entry = i as CUEMetadataEntry; - ListViewItem item = new ListViewItem(entry.ToString(), entry.ImageKey); - item.Tag = entry; - listChoices.Items.Add(item); + private void AddItem(object i) + { + if (i is CUEToolsSourceFile) + { + CUEToolsSourceFile sf = i as CUEToolsSourceFile; + ListViewItem item = new ListViewItem(sf.path, 0); + item.Tag = sf; + listChoices.Items.Add(item); + } + else if (i is TagLib.IPicture) + { + TagLib.IPicture pic = i as TagLib.IPicture; + ListViewItem item = new ListViewItem(pic.Description, -1); + item.Tag = pic; + listChoices.Items.Add(item); + } + else if (i is CUEMetadataEntry) + { + CUEMetadataEntry entry = i as CUEMetadataEntry; + ListViewItem item = new ListViewItem(entry.ToString(), entry.ImageKey); + item.Tag = entry; + listChoices.Items.Add(item); - if (entry.ImageKey == "freedb") - { - // check if the entry contains non-iso characters, - // and add a second one if it does - CUEMetadata copy = new CUEMetadata(entry.metadata); - if (copy.FreedbToEncoding()) - { - entry = new CUEMetadataEntry(copy, entry.TOC, entry.ImageKey); - item = new ListViewItem(entry.ToString(), entry.ImageKey); - item.Tag = entry; - listChoices.Items.Add(item); - } - } - } - else - { - ListViewItem item = new ListViewItem(i.ToString(), -1); - item.Tag = i; - listChoices.Items.Add(item); - } - } + if (entry.ImageKey == "freedb") + { + // check if the entry contains non-iso characters, + // and add a second one if it does + CUEMetadata copy = new CUEMetadata(entry.metadata); + if (copy.FreedbToEncoding()) + { + entry = new CUEMetadataEntry(copy, entry.TOC, entry.ImageKey); + item = new ListViewItem(entry.ToString(), entry.ImageKey); + item.Tag = entry; + listChoices.Items.Add(item); + } + } + } + else + { + ListViewItem item = new ListViewItem(i.ToString(), -1); + item.Tag = i; + listChoices.Items.Add(item); + } + } - public IEnumerable Choices - { - set - { - foreach (object i in value) - AddItem(i); - if (CUE != null) - { - textBox1.Hide(); - pictureBox1.Hide(); - tableLayoutPanelMeta.Show(); - tableLayoutPanel1.SetRowSpan(listChoices, 2); - tableLayoutPanel1.PerformLayout(); - } - else - { - textBox1.Show(); - pictureBox1.Hide(); - tableLayoutPanelMeta.Hide(); - tableLayoutPanel1.SetRowSpan(textBox1, 3); - tableLayoutPanel1.PerformLayout(); - } - if (listChoices.Items.Count > 0) - listChoices.Items[0].Selected = true; - } - } + public IEnumerable Choices + { + set + { + foreach (object i in value) + AddItem(i); + if (CUE != null) + { + textBox1.Hide(); + pictureBox1.Hide(); + tableLayoutPanelMeta.Show(); + tableLayoutPanel1.SetRowSpan(listChoices, 2); + tableLayoutPanel1.PerformLayout(); + } + else + { + textBox1.Show(); + pictureBox1.Hide(); + tableLayoutPanelMeta.Hide(); + tableLayoutPanel1.SetRowSpan(textBox1, 3); + tableLayoutPanel1.PerformLayout(); + } + if (listChoices.Items.Count > 0) + listChoices.Items[0].Selected = true; + } + } - public int ChosenIndex - { - get - { - return listChoices.SelectedItems.Count > 0 ? listChoices.SelectedItems[0].Index : -1; - } - } + public int ChosenIndex + { + get + { + return listChoices.SelectedItems.Count > 0 ? listChoices.SelectedItems[0].Index : -1; + } + } - public object ChosenObject - { - get - { - return listChoices.SelectedItems.Count > 0 ? listChoices.SelectedItems[0].Tag : null; - } - } + public object ChosenObject + { + get + { + return listChoices.SelectedItems.Count > 0 ? listChoices.SelectedItems[0].Tag : null; + } + } - public CUEMetadataEntry ChosenRelease - { - get - { - object o = ChosenObject; - return o != null && o is CUEMetadataEntry ? o as CUEMetadataEntry : null; - } - } + public CUEMetadataEntry ChosenRelease + { + get + { + object o = ChosenObject; + return o != null && o is CUEMetadataEntry ? o as CUEMetadataEntry : null; + } + } - private ListViewItem ChosenItem - { - get - { - return listChoices.SelectedItems.Count > 0 ? listChoices.SelectedItems[0] : null; - } - } + private ListViewItem ChosenItem + { + get + { + return listChoices.SelectedItems.Count > 0 ? listChoices.SelectedItems[0] : null; + } + } - private void frmChoice_FormClosing(object sender, FormClosingEventArgs e) - { - if (backgroundWorker1.IsBusy) - { - e.Cancel = true; - return; - } - CUEMetadataEntry ri = ChosenRelease; - if (e.CloseReason != CloseReason.None || DialogResult != DialogResult.OK || ri == null || CUE == null) - return; - CUE.CopyMetadata(ri.metadata); - } + private void frmChoice_FormClosing(object sender, FormClosingEventArgs e) + { + if (backgroundWorker1.IsBusy) + { + e.Cancel = true; + return; + } - private void AutoResizeList(ListView list, int mainCol) - { - list.SuspendLayout(); - int widthAvailable = list.ClientSize.Width - 2 * SystemInformation.BorderSize.Width - SystemInformation.VerticalScrollBarWidth; - for (int i = 0; i < list.Columns.Count; i++) - if (i != mainCol) - { - list.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent); - widthAvailable -= list.Columns[i].Width + SystemInformation.BorderSize.Width; - } - if (list.Columns[mainCol].Width != widthAvailable) - list.Columns[mainCol].Width = widthAvailable; - list.ResumeLayout(false); - } + TagLib.IPicture picture = ChosenObject as TagLib.IPicture; + if (e.CloseReason == CloseReason.None && DialogResult == DialogResult.OK + && pictureBox1.Image != null && picture != null + && (cropAlign != CropAlign.None || imageRotation != RotateFlipType.RotateNoneFlipNone || trimEdge != 0)) + { + using (MemoryStream encoded = new MemoryStream()) + { + pictureBox1.Image.Save(encoded, System.Drawing.Imaging.ImageFormat.Jpeg); + picture.Data = new TagLib.ByteVector(encoded.ToArray()); + picture.MimeType = "image/jpeg"; + } + } - private void listChoices_SelectedIndexChanged(object sender, EventArgs e) - { - object item = ChosenObject; - if (item != null && item is TagLib.IPicture) - { - TagLib.IPicture picture = item as TagLib.IPicture; - using (MemoryStream imageStream = new MemoryStream(picture.Data.Data, 0, picture.Data.Count)) - try { pictureBox1.Image = Image.FromStream(imageStream); } - catch { } - textBox1.Hide(); - pictureBox1.Show(); - tableLayoutPanelMeta.Hide(); - tableLayoutPanel1.SetRowSpan(pictureBox1, 2); - } - else if (item != null && item is CUEToolsSourceFile) - { - textBox1.Text = (item as CUEToolsSourceFile).contents.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", "\r\n"); - } - else if (item != null && item is CUEMetadataEntry) - { - CUEMetadataEntry r = (item as CUEMetadataEntry); - dataGridViewTracks.SuspendLayout(); - dataGridViewTracks.Rows.Clear(); - foreach (CUETrackMetadata track in r.metadata.Tracks) - { - int no = dataGridViewTracks.Rows.Count; - dataGridViewTracks.Rows.Add( - (no + 1).ToString(), - track.Title, - r.TOC[no + r.TOC.FirstAudio].StartMSF, - r.TOC[no + r.TOC.FirstAudio].LengthMSF - ); - } - dataGridViewTracks.ResumeLayout(); - dataGridViewMetadata.Rows.Clear(); - dataGridViewMetadata.Rows.Add("Artist", r.metadata.Artist); - dataGridViewMetadata.Rows.Add("Album", r.metadata.Title); - dataGridViewMetadata.Rows.Add("Date", r.metadata.Year); - dataGridViewMetadata.Rows.Add("Genre", r.metadata.Genre); - dataGridViewMetadata.Rows.Add("Disc Number", r.metadata.DiscNumber); - dataGridViewMetadata.Rows.Add("Total Discs", r.metadata.TotalDiscs); - dataGridViewMetadata.Rows.Add("Disc Name", r.metadata.DiscName); - dataGridViewMetadata.Rows.Add("Label", r.metadata.Label); + CUEMetadataEntry ri = ChosenRelease; + if (e.CloseReason != CloseReason.None || DialogResult != DialogResult.OK || ri == null || CUE == null) + return; + CUE.CopyMetadata(ri.metadata); + // TODO: copy album art + + } + + private void AutoResizeList(ListView list, int mainCol) + { + list.SuspendLayout(); + int widthAvailable = list.ClientSize.Width - 2 * SystemInformation.BorderSize.Width - SystemInformation.VerticalScrollBarWidth; + for (int i = 0; i < list.Columns.Count; i++) + if (i != mainCol) + { + list.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent); + widthAvailable -= list.Columns[i].Width + SystemInformation.BorderSize.Width; + } + if (list.Columns[mainCol].Width != widthAvailable) + list.Columns[mainCol].Width = widthAvailable; + list.ResumeLayout(false); + } + + private void listChoices_SelectedIndexChanged(object sender, EventArgs e) + { + object item = ChosenObject; + if (item != null && item is TagLib.IPicture) + { + imageRotation = RotateFlipType.RotateNoneFlipNone; + cropAlign = CropAlign.None; + trimEdge = 0; + ResetPictureBox(); + textBox1.Hide(); + pictureBox1.Show(); + tableLayoutPanelMeta.Hide(); + tableLayoutPanel1.SetRowSpan(pictureBox1, 2); + } + else if (item != null && item is CUEToolsSourceFile) + { + textBox1.Text = (item as CUEToolsSourceFile).contents.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", "\r\n"); + } + else if (item != null && item is CUEMetadataEntry) + { + CUEMetadataEntry r = (item as CUEMetadataEntry); + dataGridViewTracks.SuspendLayout(); + dataGridViewTracks.Rows.Clear(); + foreach (CUETrackMetadata track in r.metadata.Tracks) + { + int no = dataGridViewTracks.Rows.Count; + dataGridViewTracks.Rows.Add( + (no + 1).ToString(), + track.Title, + r.TOC[no + r.TOC.FirstAudio].StartMSF, + r.TOC[no + r.TOC.FirstAudio].LengthMSF + ); + } + dataGridViewTracks.ResumeLayout(); + dataGridViewMetadata.Rows.Clear(); + dataGridViewMetadata.Rows.Add("Artist", r.metadata.Artist); + dataGridViewMetadata.Rows.Add("Album", r.metadata.Title); + dataGridViewMetadata.Rows.Add("Date", r.metadata.Year); + dataGridViewMetadata.Rows.Add("Genre", r.metadata.Genre); + dataGridViewMetadata.Rows.Add("Disc Number", r.metadata.DiscNumber); + dataGridViewMetadata.Rows.Add("Total Discs", r.metadata.TotalDiscs); + dataGridViewMetadata.Rows.Add("Disc Name", r.metadata.DiscName); + dataGridViewMetadata.Rows.Add("Label", r.metadata.Label); dataGridViewMetadata.Rows.Add("Label#", r.metadata.LabelNo); dataGridViewMetadata.Rows.Add("Country", r.metadata.Country); dataGridViewMetadata.Rows.Add("Release Date", r.metadata.ReleaseDate); dataGridViewMetadata.Rows.Add("Barcode", r.metadata.Barcode); dataGridViewMetadata.Rows.Add("Comment", r.metadata.Comment); + if (pictureBox1.ImageLocation == null) + { + if (pictureBox1.Image != null) pictureBox1.Image.Dispose(); + pictureBox1.Image = null; + } + pictureBox1.ImageLocation = null; + if (r.metadata.AlbumArt.Count > 0) + { + pictureBox1.Show(); + var image = r.metadata.AlbumArt.Find(x => x.primary) ?? r.metadata.AlbumArt[0]; + pictureBox1.ImageLocation = image.uri150; + } else + { + pictureBox1.Hide(); + } } - else - { - dataGridViewMetadata.Rows.Clear(); - dataGridViewTracks.Rows.Clear(); - textBox1.Text = ""; - } - } + else + { + dataGridViewMetadata.Rows.Clear(); + dataGridViewTracks.Rows.Clear(); + textBox1.Text = ""; + } + } - private void pictureBox1_DoubleClick(object sender, EventArgs e) - { - pictureBox1.SizeMode = pictureBox1.SizeMode == PictureBoxSizeMode.Zoom ? - PictureBoxSizeMode.CenterImage : PictureBoxSizeMode.Zoom; - } + private void pictureBox1_DoubleClick(object sender, EventArgs e) + { + pictureBox1.SizeMode = pictureBox1.SizeMode == PictureBoxSizeMode.Zoom ? + PictureBoxSizeMode.CenterImage : PictureBoxSizeMode.Zoom; + } - private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) - { - e.Result = CUE.LookupAlbumInfo(false, false, this.ctdb, this.metadataSearch); - } + private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) + { + e.Result = CUE.LookupAlbumInfo(false, false, this.ctdb, this.metadataSearch); + } - private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) - { - foreach (object i in (e.Result as List)) - AddItem(i); - } + private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + foreach (object i in (e.Result as List)) + AddItem(i); + } - private void frmChoice_Resize(object sender, EventArgs e) - { - AutoResizeList(listChoices, 0); - } + private void frmChoice_Resize(object sender, EventArgs e) + { + AutoResizeList(listChoices, 0); + } - private void dataGridViewMetadata_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) - { - var te = e.Control as DataGridViewTextBoxEditingControl; - if (te != null) - { -// te.AutoCompleteMode = AutoCompleteMode.None; - te.AutoCompleteMode = AutoCompleteMode.Suggest; - te.AutoCompleteSource = AutoCompleteSource.CustomSource; - te.AutoCompleteCustomSource.Clear(); - foreach (ListViewItem item in listChoices.Items) - { - var r = item.Tag as CUEMetadataEntry; - switch (dataGridViewMetadata.CurrentCell.RowIndex) - { - case 0: - foreach (CUETrackMetadata track in r.metadata.Tracks) - te.AutoCompleteCustomSource.Add(track.Artist); - te.AutoCompleteCustomSource.Add(r.metadata.Artist); - break; - case 1: te.AutoCompleteCustomSource.Add(r.metadata.Title); break; - case 2: te.AutoCompleteCustomSource.Add(r.metadata.Year); break; - case 3: te.AutoCompleteCustomSource.Add(r.metadata.Genre); break; - case 4: te.AutoCompleteCustomSource.Add(r.metadata.DiscNumber); break; - case 5: te.AutoCompleteCustomSource.Add(r.metadata.TotalDiscs); break; - case 6: te.AutoCompleteCustomSource.Add(r.metadata.DiscName); break; - case 7: te.AutoCompleteCustomSource.Add(r.metadata.Label); break; + private void dataGridViewMetadata_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) + { + var te = e.Control as DataGridViewTextBoxEditingControl; + if (te != null) + { + // te.AutoCompleteMode = AutoCompleteMode.None; + te.AutoCompleteMode = AutoCompleteMode.Suggest; + te.AutoCompleteSource = AutoCompleteSource.CustomSource; + te.AutoCompleteCustomSource.Clear(); + foreach (ListViewItem item in listChoices.Items) + { + var r = item.Tag as CUEMetadataEntry; + switch (dataGridViewMetadata.CurrentCell.RowIndex) + { + case 0: + foreach (CUETrackMetadata track in r.metadata.Tracks) + te.AutoCompleteCustomSource.Add(track.Artist); + te.AutoCompleteCustomSource.Add(r.metadata.Artist); + break; + case 1: te.AutoCompleteCustomSource.Add(r.metadata.Title); break; + case 2: te.AutoCompleteCustomSource.Add(r.metadata.Year); break; + case 3: te.AutoCompleteCustomSource.Add(r.metadata.Genre); break; + case 4: te.AutoCompleteCustomSource.Add(r.metadata.DiscNumber); break; + case 5: te.AutoCompleteCustomSource.Add(r.metadata.TotalDiscs); break; + case 6: te.AutoCompleteCustomSource.Add(r.metadata.DiscName); break; + case 7: te.AutoCompleteCustomSource.Add(r.metadata.Label); break; case 8: te.AutoCompleteCustomSource.Add(r.metadata.LabelNo); break; case 9: te.AutoCompleteCustomSource.Add(r.metadata.Country); break; case 10: te.AutoCompleteCustomSource.Add(r.metadata.ReleaseDate); break; case 11: te.AutoCompleteCustomSource.Add(r.metadata.Barcode); break; case 12: te.AutoCompleteCustomSource.Add(r.metadata.Comment); break; - } - } - } - } + } + } + } + } - private void dataGridViewMetadata_CellEndEdit(object sender, DataGridViewCellEventArgs e) - { - ListViewItem item = ChosenItem; - CUEMetadataEntry r = ChosenRelease; - var label = dataGridViewMetadata.Rows[e.RowIndex].Cells[1].Value as string; - if (label != null && item != null && r != null) - { - switch (e.RowIndex) - { - case 0: - foreach (CUETrackMetadata track in r.metadata.Tracks) - if (track.Artist == r.metadata.Artist) - track.Artist = label; - r.metadata.Artist = label; - break; - case 1: r.metadata.Title = label; break; - case 2: r.metadata.Year = label; break; - case 3: r.metadata.Genre = label; break; - case 4: r.metadata.DiscNumber = label; break; - case 5: r.metadata.TotalDiscs = label; break; - case 6: r.metadata.DiscName = label; break; - case 7: r.metadata.Label = label; break; + private void dataGridViewMetadata_CellEndEdit(object sender, DataGridViewCellEventArgs e) + { + ListViewItem item = ChosenItem; + CUEMetadataEntry r = ChosenRelease; + var label = dataGridViewMetadata.Rows[e.RowIndex].Cells[1].Value as string; + if (label != null && item != null && r != null) + { + switch (e.RowIndex) + { + case 0: + foreach (CUETrackMetadata track in r.metadata.Tracks) + if (track.Artist == r.metadata.Artist) + track.Artist = label; + r.metadata.Artist = label; + break; + case 1: r.metadata.Title = label; break; + case 2: r.metadata.Year = label; break; + case 3: r.metadata.Genre = label; break; + case 4: r.metadata.DiscNumber = label; break; + case 5: r.metadata.TotalDiscs = label; break; + case 6: r.metadata.DiscName = label; break; + case 7: r.metadata.Label = label; break; case 8: r.metadata.LabelNo = label; break; - case 9: r.metadata.Country = label; break; + case 9: r.metadata.Country = label; break; case 10: r.metadata.ReleaseDate = label; break; case 11: r.metadata.Barcode = label; break; case 12: r.metadata.Comment = label; break; } - item.Text = r.ToString(); - } - } + item.Text = r.ToString(); + } + } - private void dataGridViewMetadata_KeyDown(object sender, KeyEventArgs e) - { - CUEMetadataEntry r = ChosenRelease; - if (e.KeyCode == Keys.Delete && r != null) - { - var ee = new DataGridViewCellEventArgs(1, dataGridViewMetadata.CurrentCellAddress.Y); - dataGridViewMetadata.Rows[ee.RowIndex].Cells[1].Value = ""; - dataGridViewMetadata_CellEndEdit(sender, ee); - } - } + private void dataGridViewMetadata_KeyDown(object sender, KeyEventArgs e) + { + CUEMetadataEntry r = ChosenRelease; + if (e.KeyCode == Keys.Delete && r != null) + { + var ee = new DataGridViewCellEventArgs(1, dataGridViewMetadata.CurrentCellAddress.Y); + dataGridViewMetadata.Rows[ee.RowIndex].Cells[1].Value = ""; + dataGridViewMetadata_CellEndEdit(sender, ee); + } + } - private void dataGridViewTracks_CellEndEdit(object sender, DataGridViewCellEventArgs e) - { - CUEMetadataEntry ri = ChosenRelease; - var label = dataGridViewTracks.Rows[e.RowIndex].Cells[e.ColumnIndex].Value as string; - if (ri != null && label != null) - ri.metadata.Tracks[e.RowIndex].Title = label; + private void dataGridViewTracks_CellEndEdit(object sender, DataGridViewCellEventArgs e) + { + CUEMetadataEntry ri = ChosenRelease; + var label = dataGridViewTracks.Rows[e.RowIndex].Cells[e.ColumnIndex].Value as string; + if (ri != null && label != null) + ri.metadata.Tracks[e.RowIndex].Title = label; - } + } - /* - private void listTracks_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) - { - if (e.KeyCode == Keys.Enter) - { - if (listTracks.FocusedItem.Index + 1 < listTracks.Items.Count) // && e.editing - { - listTracks.FocusedItem.Selected = false; - listTracks.FocusedItem = listTracks.Items[listTracks.FocusedItem.Index + 1]; - listTracks.FocusedItem.Selected = true; - listTracks.FocusedItem.BeginEdit(); - } - } - } - * */ - } + private void frmChoice_KeyPress(object sender, KeyPressEventArgs e) + { + TagLib.IPicture picture = ChosenObject as TagLib.IPicture; + if (e.KeyChar == 'r' && picture != null) + { + switch (imageRotation) + { + case RotateFlipType.RotateNoneFlipNone: + imageRotation = RotateFlipType.Rotate90FlipNone; + break; + case RotateFlipType.Rotate90FlipNone: + imageRotation = RotateFlipType.Rotate180FlipNone; + break; + case RotateFlipType.Rotate180FlipNone: + imageRotation = RotateFlipType.Rotate270FlipNone; + break; + case RotateFlipType.Rotate270FlipNone: + imageRotation = RotateFlipType.RotateNoneFlipNone; + break; + } + ResetPictureBox(); + return; + } + + if (e.KeyChar == 'c' && picture != null) + { + switch (cropAlign) + { + case CropAlign.None: + cropAlign = CropAlign.TopLeft; + break; + case CropAlign.TopLeft: + cropAlign = CropAlign.BottomRight; + break; + case CropAlign.BottomRight: + cropAlign = CropAlign.None; + break; + } + ResetPictureBox(); + return; + } + + if (e.KeyChar == 't' && picture != null) + { + if (trimEdge == 0) trimEdge = 1; + else trimEdge <<= 1; + if (trimEdge > 1024) trimEdge = 0; + ResetPictureBox(); + return; + } + } + + private void ResetPictureBox() + { + TagLib.IPicture picture = ChosenObject as TagLib.IPicture; + if (pictureBox1.Image != null) pictureBox1.Image.Dispose(); + pictureBox1.Image = null; + pictureBox1.ImageLocation = null; + using (MemoryStream imageStream = new MemoryStream(picture.Data.Data, 0, picture.Data.Count)) + try + { + var image = Image.FromStream(imageStream); + if (imageRotation != RotateFlipType.RotateNoneFlipNone) + image.RotateFlip(imageRotation); + if (cropAlign == CropAlign.None && trimEdge == 0) + { + pictureBox1.Image = image; + return; + } + + var width = image.Width; + var height = image.Height; + var sz = Math.Min(width, height); + Rectangle dstRect = + cropAlign == CropAlign.None ? + Rectangle.FromLTRB(0, 0, width - 2 * trimEdge, height - 2 * trimEdge) : + Rectangle.FromLTRB(0, 0, sz - 2 * trimEdge, sz - 2 * trimEdge); + Rectangle srcRect = + cropAlign == CropAlign.None ? + Rectangle.FromLTRB(trimEdge, trimEdge, width - trimEdge, height - trimEdge) : + cropAlign == CropAlign.TopLeft ? + Rectangle.FromLTRB(trimEdge, trimEdge, sz - trimEdge, sz - trimEdge) : + //cropAlign == CropAlign.BottomRight ? + Rectangle.FromLTRB(width - sz + trimEdge, height - sz + trimEdge, width - trimEdge, height - trimEdge); + var mode = System.Drawing.Drawing2D.InterpolationMode.Default; + if (dstRect.Width > config.maxAlbumArtSize || dstRect.Height > config.maxAlbumArtSize) + { + dstRect = + cropAlign != CropAlign.None ? + Rectangle.FromLTRB(0, 0, config.maxAlbumArtSize, config.maxAlbumArtSize) : + width > height ? Rectangle.FromLTRB(0, 0, config.maxAlbumArtSize, (height - 2 * trimEdge) * config.maxAlbumArtSize / (width - 2 * trimEdge)) + : Rectangle.FromLTRB(0, 0, (width - 2 * trimEdge) * config.maxAlbumArtSize / (height - 2 * trimEdge), config.maxAlbumArtSize); + mode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; + } + + Bitmap b = new Bitmap(dstRect.Width, dstRect.Height); + pictureBox1.Image = b; + using (Graphics g = Graphics.FromImage((Image)b)) + { + g.InterpolationMode = mode; + g.DrawImage(image, dstRect, srcRect, GraphicsUnit.Pixel); + } + image.Dispose(); + } + catch { } + } + + /* + private void listTracks_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + if (listTracks.FocusedItem.Index + 1 < listTracks.Items.Count) // && e.editing + { + listTracks.FocusedItem.Selected = false; + listTracks.FocusedItem = listTracks.Items[listTracks.FocusedItem.Index + 1]; + listTracks.FocusedItem.Selected = true; + listTracks.FocusedItem.BeginEdit(); + } + } + } + * */ + } } diff --git a/CUETools/frmChoice.resx b/CUETools/frmChoice.resx index e9e74e9..cfb8650 100644 --- a/CUETools/frmChoice.resx +++ b/CUETools/frmChoice.resx @@ -112,23 +112,26 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + Fill - + - 631, 3 + 947, 5 + + + 4, 5, 4, 5 - 154, 29 + 232, 43 - + 0 @@ -139,7 +142,7 @@ buttonOk - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tableLayoutPanel2 @@ -154,185 +157,187 @@ Fill - 3, 3 + 4, 5 + + + 4, 5, 4, 5 - 788, 144 + 1183, 221 - + 17, 17 - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABY - KAAAAk1TRnQBSQFMAgEBCQEAAUwBAAFMAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABMAMAAQEBAAEgBgABMBIAAwsBDwMUARsDHAEpAyEBMgEwAU0BLwGmASMBZgEgAdEBIwFmASAB0QEz - AUIBMgFmBAABMwFCATIBZgEjAWYBIAHRASMBZgEgAdEBIwFmASAB0QEjAWYBIAHRATABUAEvAakDIQEz - wAADBgEIAwoBDgMPARUDEgEZASQBZAEhAcwBIQHVARAB/wEhAacBFgHvATIBUQEyAZkEAAEyAVEBMgGZ - ASEBpwEWAe8BIQHVARAB/wEhAdUBEAH/ASEB1QEQAf8BJAFvASAB0QMTARrQAAEnAW4BIQHMASQBzQET - Af8BIQFhASAB0QEhASUBIQEzBAABIQElASEBMwEhAWEBIAHRASEBzAEQAf8BIQHMARAB/wEhAcwBEAH/ - AScBdwEgAdHEAAEpATEBKQFDATABbgEqAbgBMAFuASoBuAEpATEBKQFDASgBdQEhAcwBKAHEARcB/wEi - AWABIAHRATIBQAEyAWYEAAEyAUABMgFmASEBYAEgAdEBIQHBARAB/wEhAcEBEAH/ASEBwQEQAf8BKAF8 - ASAB0cQAATIBbgEsAbIBTgHGAT0B/wFAAa0BMgHzASkBdwEhAcwBJgGDAR0B2QEiAbcBEQH/AScBlgEc - Ae8BIgFiASAB0wEhAVcBIQHMASEBYgEgAdMBIwGUARkB7wEjAbcBEgH/ASIBtgERAf8BIQG2ARAB/wEo - AX0BIAHRxAABKQF5ASEBzAFNAcUBPAH/AUMBuwEyAf8BTAHEATsB/wFCAb0BMQH/ASEBqwEQAf8BIwGs - ARIB/wEnAa8BFgH/AScBrwEWAf8BJgGvARUB/wEmAZsBHAHvASIBeQEgAdEBIgF5ASAB0QEjAZoBGQHv - ASkBfwEgAdHEAAEzAXIBLAGyAVUBzQFEAf8BRQGzATYB8wEqAX0BIQHMATEBjAEmAdkBMwGwASIB/wEi - AaIBEQH/ASEBoQEQAf8BIQGhARAB/wEoAagBFwH/ASMBewEgAdMBMgFHATIBZgEhAScBIQEzATIBYAEy - AZkBMwFHATIBZsQAASoBMwEpAUMBMgF2ASoBuAEyAXYBKgG4ASoBMwEpAUMBKwF/ASEBzAFPAccBPgH/ - AT4BtwEtAf8BNAGtASMB/wEqAaQBGQH/ATEBqgEgAf8BIQFzASEBzOQAASsBgQEhAcwBUgHKAUEB/wFE - AbwBMwH/AUQBvAEzAf8BRAG8ATMB/wFMAcQBOwH/AScBfgElAdMBMgFHATIBZgEhAScBIQEzATIBYAEy - AZkBMwFIATIBZtQAASwBgwEhAcwBVwHPAUYB/wFJAcEBOAH/AUkBwQE4Af8BSQHBATgB/wFLAcMBOgH/ - AUUBrwE5Ae8BJgF8ASQB0QEmAXwBJAHRAUQBrgE5Ae8BLAGDASEBzNQAASwBhgEhAcwBZAHcAVMB/wFc - AdQBSwH/AVsB0wFKAf8BWgHSAUkB/wFUAcwBQwH/AU4BxgE9Af8BVgHOAUUB/wFfAdcBTgH/AV0B1QFM - Af8BLAGGASEBzNQAATgBbAEyAZkBLQGIASEBzAEtAYgBIQHMAS0BiAEhAcwBLQGIASEBzAE3AZsBKwHZ - AVoB0gFJAf8BMwGWASYB2QEtAYgBIQHMAS0BiAEhAcwBOAFsATIBmeQAASoBNAEpAUMBLQGJASEBzAFl - Ad0BVAH/AS0BiQEhAcwBKgE0ASkBQ+wAATQBgQEqAbgBWQHLAUkB8wFgAdgBTwH/AVgBywFJAfMBNAGB - ASoBuOwAATUBggEqAbgBcQHpAWAB/wFsAeQBWwH/AXAB6AFfAf8BNQGCASoBuOwAASoBNAEpAUMBNgF/ - ASwBsgEvAY4BIQHMATYBfwEsAbIBKgE0ASkBQ9gAAx0BKgNDAXcDHQEqOAADJwE7A04BlAJeAVwBzgFw - AWcBWQHrAXABZwFZAesCXgFcAc4DTgGUAgAB4gH/AgAB4gH/JAABYwFrAXMB/wFjAWsBcwH/AWMBawFz - Af8BYwFrAXMB/xwAA8cB/wNvAf8DcAH/A8cB/wPGAf8DxgH/A8cB/wPHAf8DxgH/A8cB/wPHAf8DxwH/ - A8cB/wPHAf8MAAMdASkDQgF0Av8B8AH/A0IBdAMdASksAAMKAQ0DTgGWAZgBdgFNAfoB4QHNAbkB/wHx - AeABzgH/AfkB5wHWAf8B+AHmAdQB/wHwAd0BzAH/AeEBzQG5Af8CAAHiAf8CAAHiAf8DCgENGAABYwFr - AXMB/wM6Af8DOgH/ASECMQH/AwgB/wMIAf8DAAH/AwgB/xAAA3AB/wMBAf8DFwH/AzIB/wMBAf8DDAH/ - A8cB/wPGAf8DxgH/A8cB/wPHAf8DxwH/A8YB/wPHAf8DxwH/A8cB/wQAAxwBKANAAXEC/wHwAf8C6QHa - A/8B8QH/A0ABcQMcASgkAAMKAQ0DVwG4AdkBvwGlAf8B/gHyAeQC/wHnAc8B/wH8AdsBuwH/AfkB0wGy - Af8B9gHQAawB/wH0AdEBrgH/AfYB2AG7Af8CAAHiAf8CAAHiAf8DVwG4AwoBDRAAAzoB/wG9AsYB/wFj - AWsBcwH/AzoB/wEZAiEB/wMIAf8DCAH/AwAB/wMAAf8DCAH/DAADAgH/A8MN/wMyAf8DDAH/A8cB/wPG - Af8DxwH/A8YB/wPGAf8DxwH/A8cB/wPHAf8DxwH/AxwBJwNAAW8C/wHwAf8B6wHdAbEB/wH3AcEBKgH/ - Ae0B3wGzA/8B8gH/A0ABbwMcAScgAANOAZYB2QG/AaUC/wH4AesC/wHrAdEC/wHhAcMB/wH+AdsBugH/ - AfsB1gGyAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8IAAEZ - AiEB/wM6Af8BYwFrAXMB/wG9AsYB/wFjAWsBcwH/ARkCIQH/AwgB/wMIAf8DAAH/AwAB/wMAAf8DCAH/ - CAADAQH/A8MR/wMCAf8DxwH/A8YB/wPHAf8DxwH/A8cB/wPHAf8DxwH/A8cB/wPHAf8DQAFuAv8B8AH/ - AukB2gH/AecBqwEUAf8B5wGrARQB/wHnAasBFAH/AeoB2wGwA/8B9AH/A0ABbgMcAScYAAMmATgBrAGH - AUsB/QL+AfoC/wH5AekC/wHvAdgC/wHnAc0C/wHhAcIB/wH8AdwBuwH/AgAB4gH/AgAB4gH/AgAB4gH/ - AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/BAABGQIhAf8BIQIxAf8DOgH/AzoB/wFjAWsBcwH/ - AWMBawFzAf8BIQIxAf8BGQIhAf8DCAH/AwAB/wMAAf8DAAH/AwAB/wEZAiEB/wQAA3AB/wMMAf8DUwH/ - A6wB/wOtAf8DwwH/AwIB/wMYAf8DAQH/AwIB/wMCAf8DAQH/AxgB/wPHAf8DxwH/A8cB/wMcAScDPwFt - Av8B8QH/AecB1wGrAf8B1wGWAQAB/wHXAZYBAAH/AdcBlgEAAf8B6AHYAa4D/wH1Af8DPwFtAxwBJxQA - A04BlgHiAc4BugH/AfcB3gHGAv8B6QHRAv8B9gHiAv8B8gHdAv8B8AHdAf8B+AHqAdkB/wH4AeYB1AH/ - AfsB3wHHAf8B9QHPAasB/wIAAeIB/wIAAeIB/wH4Ad0BwwH/AeIBzgG6Af8DTgGWBAADCAH/ARkCIQH/ - ARkCIQH/ASECMQH/ASECMQH/AwgB/wEQAVsBYwH/ARABWwFjAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA - Af8EAAPHAf8DcAH/AwwB/wMBAf8DAgX/AwIB/wMMAf8Dkwn/A4kB/wMYAf8DGAH/A8YB/wPHAf8EAAMb - ASYDPwFsAv8B8gH/AeUB1AGpAf8BzQGJAQAB/wHNAYkBAAH/Ac0BiQEAAf8B6AHXAa8D/wH3Af8DPwFs - AxsBJhAAAl4BWwHQAe8B4AHQAf8B5wG+AZYB/wHnAbwBlAH/AfABzAGpAf8B/gHsAdoB/wHdAcQBrAH/ - AWkBZAFcAecBaQFkAVwB5wHdAcMBqgH/AfgB3QHEAf8CAAHiAf8CAAHiAf8B9QHWAbgB/wHxAd8BzwH/ - Al4BWwHQAWMBawFzAf8DAAH/AwgB/wMIAf8DCAH/AwgB/wEAAcYB1gH/AQABxgHWAf8BAAHGAdYB/wEA - AcYB1gH/AwAB/wMAAf8DAAH/AwAB/wMAAf8BYwFrAXMB/wPHAf8DxwH/A8cB/wPGAf8DAQX/AwIB/wMY - Ef8DwgH/AwIB/wPHAf8DxgH/CAADGwEmAz4BawL/AfQB/wHnAdYBrAH/AdEBjgEAAf8B0QGOAQAB/wHR - AY4BAAH/AewB2wGzA/8B+AH/Az4BawMbASYMAAFwAWQBWQHsAfUB5AHVAf8B6QG+AZcB/wHoAbwBlgH/ - AecBvAGUAf8B8wHeAcoB/wFpAWQBWQHmAxQBGwMUARsBaQFkAVkB5gH2AeMB0wH/AgAB4gH/AgAB4gH/ - Ae0ByQGkAf8B9gHkAdIB/wFwAWQBWQHsAWMBawFzAf8DAAH/AwAB/wMAAf8DAAH/ARABWwFjAf8BAAHG - AdYB/wEAAcYB1gH/AQABxgHWAf8BAAHGAdYB/wEQAVsBYwH/AwAB/wMAAf8DAAH/AwAB/wFjAWsBcwH/ - A1cB/wNXAf8DWAH/A1cB/wMBBf8DAgH/AwIB/wMyAf8Dww3/AwIB/wNXAf8DVwH/DAADGwEmAz4BawL/ - AfUB/wHrAdwBswH/Ad8BoQEKAf8B3wGhAQoB/wHfAaEBCgH/AfEB4gG7A/8B+gH/Az4BawMbASYIAAFw - AWQBWQHsAfUB5AHVAf8B6QG/AZkB/wHpAcABmQH/AekBwQGaAf8B8wHdAckB/wFpAWQBWQHmAxQBGwMU - ARsBaQFkAVkB5gH4AegB2QH/AfIB0gGyAf8B8AHMAasB/wHwAcwBqwH/AfYB5AHTAf8BcAFkAVkB7AFj - AWsBcwH/AwAB/wMAAf8DAAH/AwAB/wEQAVsBYwH/AQABxgHWAf8BAAHGAdYB/wEAAcYB1gH/AQABxgHW - Af8BEAFbAWMB/wMIAf8DCAH/AwgB/wMIAf8BYwFrAXMB/wNXAf8DVwH/A1cB/wNYAf8DAgX/AwEB/wM0 - Af8DDAH/AwEB/wMCAf8DAQX/AwIB/wNXAf8DWAH/EAADGwEmAz4BagL/AfcB/wHyAeQBuwH/AfABuAEh - Af8B8AG4ASEB/wHwAbgBIQH/AvgB9AP/AfsB/wM+AWoDGgElBAACXgFbAdAB8AHhAdEB/wHqAcQBoQH/ - AekBwQGbAf8B6QHAAZcB/wHxAc4BsgH/AdwBwwGqAf8BaQFkAVwB5wFpAWQBXAHnAd0BxAGsAv8B/AHz - Av8B9AHlAv8B7gHaAf8B/AHlAdEB/wHxAeEB0QH/Al4BWwHQAWMBawFzAf8DAAH/AwAB/wMAAf8DAAH/ - AwgB/wEAAcYB1gH/AQABxgHWAf8BAAHGAdYB/wEAAcYB1gH/AwgB/wEZAiEB/wEZAiEB/wMIAf8DCAH/ - AWMBawFzAf8DVwH/A1cB/wNYAf8DVwH/AwIF/wMMAf8DAgH/AxgB/wM0Af8DNAH/AwEF/wMBAf8DVwH/ - A1cB/xQAAxoBJQM9AWkC/wH4Af8B9wHqAcMB/wH9AckBMgH/AfkB7AHHAf8C+wH3Af8C/AH5A/8B/AH/ + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAc + KAAAAk1TRnQBSQFMAgEBCQEAAWQBAAFkAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABMAMAAQEBAAEgBgABMBIAAwsBDwMUARsDHQEpAyIBMgFPAVIBTwGmAUoBXwFJAdEBSgFfAUkB0QM8 + AWYEAAM8AWYBSgFfAUkB0QFKAV8BSQHRAUoBXwFJAdEBSgFfAUkB0QFPAVIBTwGpAyMBM8AAAwYBCAMK + AQ4DEAEVAxIBGQFMAV4BSwHMAR4B1QENAf8BMwGRAS0B7wFNAU4BTQGZBAABTQFOAU0BmQEzAZEBLQHv + AR4B1QENAf8BHgHVAQ0B/wEeAdUBDQH/AUoBYwFJAdEDEwEa0AABTgFfAUsBzAEhAc0BEAH/AUoBXgFJ + AdEDIwEzBAADIwEzAUoBXgFJAdEBHgHMAQ0B/wEeAcwBDQH/AR4BzAENAf8BTQFmAUkB0cQAASsBLAEr + AUMBUQFbAVABuAFRAVsBUAG4ASsBLAErAUMBTgFiAUsBzAElAcQBFAH/AUoBXQFJAdEDPAFmBAADPAFm + AUoBXQFJAdEBHgHBAQ0B/wEeAcEBDQH/AR4BwQENAf8BTQFmAUkB0cQAAVIBWQFQAbIBSwHGAToB/wFJ + AZoBOwHzAU4BYgFLAcwBRwFrAUQB2QEfAbcBDgH/ATgBhQEvAe8BRwFdAUcB0wFLAVkBSwHMAUcBXQFH + AdMBNAGDAS4B7wEgAbcBDwH/AR8BtgEOAf8BHgG2AQ0B/wFNAWYBSQHRxAABTgFkAUsBzAFKAcUBOQH/ + AUABuwEvAf8BSQHEATgB/wE/Ab0BLgH/AR4BqwENAf8BIAGsAQ8B/wEkAa8BEwH/ASQBrwETAf8BIwGv + ARIB/wE4AYcBLwHvAUoBZgFJAdEBSgFmAUkB0QE0AYYBLgHvAU0BZgFJAdHEAAFSAVoBUAGyAVIBzQFB + Af8BTAGfAT0B8wFOAWQBSwHMAU0BbwFHAdkBMAGwAR8B/wEfAaIBDgH/AR4BoQENAf8BHgGhAQ0B/wEl + AagBFAH/AUoBZwFHAdMDPAFmAyMBMwFNAU4BTQGZAzwBZsQAASsBLAErAUMBUQFcAVABuAFRAVwBUAG4 + ASsBLAErAUMBTgFmAUsBzAFMAccBOwH/ATsBtwEqAf8BMQGtASAB/wEnAaQBFgH/AS4BqgEdAf8BSwFi + AUsBzOQAAU4BZgFLAcwBTwHKAT4B/wFBAbwBMAH/AUEBvAEwAf8BQQG8ATAB/wFJAcQBOAH/AUsBZwFL + AdMDPAFmAyMBMwFNAU4BTQGZAzwBZtQAAU4BZgFLAcwBVAHPAUMB/wFGAcEBNQH/AUYBwQE1Af8BRgHB + ATUB/wFIAcMBNwH/AUsBlQFCAe8BSgFmAUoB0QFKAWYBSgHRAUsBlAFCAe8BTgFmAUsBzNQAAU4BZgFL + AcwBYQHcAVAB/wFZAdQBSAH/AVgB0wFHAf8BVwHSAUYB/wFRAcwBQAH/AUsBxgE6Af8BUwHOAUIB/wFc + AdcBSwH/AVoB1QFJAf8BTgFmAUsBzNQAAU0BUAFNAZkBTwFpAUsBzAFPAWkBSwHMAU8BaQFLAcwBTwFp + AUsBzAFNAXQBSQHZAVcB0gFGAf8BTQF0AUcB2QFPAWkBSwHMAU8BaQFLAcwBTQFQAU0BmeQAASsBLAEr + AUMBTwFpAUsBzAFiAd0BUQH/AU8BaQFLAcwBKwEsASsBQ+wAAVIBXgFQAbgBXAGvAUwB8wFdAdgBTAH/ + AVsBrwFMAfMBUgFeAVABuOwAAVIBXgFQAbgBbgHpAV0B/wFpAeQBWAH/AW0B6AFcAf8BUgFeAVABuOwA + ASsBLAErAUMBUgFcAVABsgFPAWkBSwHMAVIBXAFQAbIBKwEsASsBQ9gAAx0BKgNDAXcDHQEqOAADJwE7 + A04BlAJeAVwBzgFqAWMBWQHrAWoBYwFZAesCXgFcAc4DTgGUAgAB4gH/AgAB4gH/JAABYAFoAXAB/wFg + AWgBcAH/AWABaAFwAf8BYAFoAXAB/xwAA8cB/wNsAf8DbQH/A8cB/wPGAf8DxgH/A8cB/wPHAf8DxgH/ + A8cB/wPHAf8DxwH/A8cB/wPHAf8MAAMdASkDQgF0Av8B8AH/A0IBdAMdASksAAMKAQ0DTgGWAY8BcwFN + AfoB4QHNAbkB/wHxAeABzgH/AfkB5wHWAf8B+AHmAdQB/wHwAd0BzAH/AeEBzQG5Af8CAAHiAf8CAAHi + Af8DCgENGAABYAFoAXAB/wM3Af8DNwH/AR4CLgH/AwUB/wMFAf8DAAH/AwUB/xAAA20B/wMAAf8DFAH/ + Ay8B/wMAAf8DCQH/A8cB/wPGAf8DxgH/A8cB/wPHAf8DxwH/A8YB/wPHAf8DxwH/A8cB/wQAAxwBKANA + AXEC/wHwAf8C6QHaA/8B8QH/A0ABcQMcASgkAAMKAQ0DVwG4AdkBvwGlAf8B/gHyAeQC/wHnAc8B/wH8 + AdsBuwH/AfkB0wGyAf8B9gHQAawB/wH0AdEBrgH/AfYB2AG7Af8CAAHiAf8CAAHiAf8DVwG4AwoBDRAA + AzcB/wG9AsYB/wFgAWgBcAH/AzcB/wEWAh4B/wMFAf8DBQH/AwAB/wMAAf8DBQH/DwAB/wPDDf8DLwH/ + AwkB/wPHAf8DxgH/A8cB/wPGAf8DxgH/A8cB/wPHAf8DxwH/A8cB/wMcAScDQAFvAv8B8AH/AesB3QGx + Af8B9wHBAScB/wHtAd8BswP/AfIB/wNAAW8DHAEnIAADTgGWAdkBvwGlAv8B+AHrAv8B6wHRAv8B4QHD + Af8B/gHbAboB/wH7AdYBsgH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/ + AgAB4gH/CAABFgIeAf8DNwH/AWABaAFwAf8BvQLGAf8BYAFoAXAB/wEWAh4B/wMFAf8DBQH/AwAB/wMA + Af8DAAH/AwUB/wsAAf8DwxH/AwAB/wPHAf8DxgH/A8cB/wPHAf8DxwH/A8cB/wPHAf8DxwH/A8cB/wNA + AW4C/wHwAf8C6QHaAf8B5wGrAREB/wHnAasBEQH/AecBqwERAf8B6gHbAbAD/wH0Af8DQAFuAxwBJxgA + AyYBOAGpAYcBSAH9Av4B+gL/AfkB6QL/Ae8B2AL/AecBzQL/AeEBwgH/AfwB3AG7Af8CAAHiAf8CAAHi + Af8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8EAAEWAh4B/wEeAi4B/wM3Af8DNwH/ + AWABaAFwAf8BYAFoAXAB/wEeAi4B/wEWAh4B/wMFAf8DAAH/AwAB/wMAAf8DAAH/ARYCHgH/BAADbQH/ + AwkB/wNQAf8DrAH/A60B/wPDAf8DAAH/AxUB/wMAAf8DAAH/AwAB/wMAAf8DFQH/A8cB/wPHAf8DxwH/ + AxwBJwM/AW0C/wHxAf8B5wHXAasB/wHXAZYBAAH/AdcBlgEAAf8B1wGWAQAB/wHoAdgBrgP/AfUB/wM/ + AW0DHAEnFAADTgGWAeIBzgG6Af8B9wHeAcYC/wHpAdEC/wH2AeIC/wHyAd0C/wHwAd0B/wH4AeoB2QH/ + AfgB5gHUAf8B+wHfAccB/wH1Ac8BqwH/AgAB4gH/AgAB4gH/AfgB3QHDAf8B4gHOAboB/wNOAZYEAAMF + Af8BFgIeAf8BFgIeAf8BHgIuAf8BHgIuAf8DBQH/AQ0BWAFgAf8BDQFYAWAB/wMAAf8DAAH/AwAB/wMA + Af8DAAH/AwAB/wQAA8cB/wNtAf8DCQH/AwAB/wMABf8DAAH/AwkB/wOTCf8DiQH/AxUB/wMVAf8DxgH/ + A8cB/wQAAxsBJgM/AWwC/wHyAf8B5QHUAakB/wHNAYkBAAH/Ac0BiQEAAf8BzQGJAQAB/wHoAdcBrwP/ + AfcB/wM/AWwDGwEmEAACXgFbAdAB7wHgAdAB/wHnAb4BlgH/AecBvAGUAf8B8AHMAakB/wH+AewB2gH/ + Ad0BxAGsAf8CZAFcAecCZAFcAecB3QHDAaoB/wH4Ad0BxAH/AgAB4gH/AgAB4gH/AfUB1gG4Af8B8QHf + Ac8B/wJeAVsB0AFgAWgBcAH/AwAB/wMFAf8DBQH/AwUB/wMFAf8BAAHGAdYB/wEAAcYB1gH/AQABxgHW + Af8BAAHGAdYB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AWABaAFwAf8DxwH/A8cB/wPHAf8DxgH/AwAF/wMA + Af8DFRH/A8IB/wMAAf8DxwH/A8YB/wgAAxsBJgM+AWsC/wH0Af8B5wHWAawB/wHRAY4BAAH/AdEBjgEA + Af8B0QGOAQAB/wHsAdsBswP/AfgB/wM+AWsDGwEmDAABagFkAVkB7AH1AeQB1QH/AekBvgGXAf8B6AG8 + AZYB/wHnAbwBlAH/AfMB3gHKAf8BZgFhAVkB5gMUARsDFAEbAWYBYQFZAeYB9gHjAdMB/wIAAeIB/wIA + AeIB/wHtAckBpAH/AfYB5AHSAf8BagFkAVkB7AFgAWgBcAH/AwAB/wMAAf8DAAH/AwAB/wENAVgBYAH/ + AQABxgHWAf8BAAHGAdYB/wEAAcYB1gH/AQABxgHWAf8BDQFYAWAB/wMAAf8DAAH/AwAB/wMAAf8BYAFo + AXAB/wNUAf8DVAH/A1UB/wNUAf8DAAX/AwAB/wMAAf8DLwH/A8MN/wMAAf8DVAH/A1QB/wwAAxsBJgM+ + AWsC/wH1Af8B6wHcAbMB/wHfAaEBBwH/Ad8BoQEHAf8B3wGhAQcB/wHxAeIBuwP/AfoB/wM+AWsDGwEm + CAABagFkAVkB7AH1AeQB1QH/AekBvwGZAf8B6QHAAZkB/wHpAcEBmgH/AfMB3QHJAf8BZgFhAVkB5gMU + ARsDFAEbAWYBYQFZAeYB+AHoAdkB/wHyAdIBsgH/AfABzAGrAf8B8AHMAasB/wH2AeQB0wH/AWoBZAFZ + AewBYAFoAXAB/wMAAf8DAAH/AwAB/wMAAf8BDQFYAWAB/wEAAcYB1gH/AQABxgHWAf8BAAHGAdYB/wEA + AcYB1gH/AQ0BWAFgAf8DBQH/AwUB/wMFAf8DBQH/AWABaAFwAf8DVAH/A1QB/wNUAf8DVQH/AwAF/wMA + Af8DMQH/AwkB/wMAAf8DAAH/AwAF/wMAAf8DVAH/A1UB/xAAAxsBJgM+AWoC/wH3Af8B8gHkAbsB/wHw + AbgBHgH/AfABuAEeAf8B8AG4AR4B/wL4AfQD/wH7Af8DPgFqAxoBJQQAAl4BWwHQAfAB4QHRAf8B6gHE + AaEB/wHpAcEBmwH/AekBwAGXAf8B8QHOAbIB/wHcAcMBqgH/AmQBXAHnAmQBXAHnAd0BxAGsAv8B/AHz + Av8B9AHlAv8B7gHaAf8B/AHlAdEB/wHxAeEB0QH/Al4BWwHQAWABaAFwAf8DAAH/AwAB/wMAAf8DAAH/ + AwUB/wEAAcYB1gH/AQABxgHWAf8BAAHGAdYB/wEAAcYB1gH/AwUB/wEWAh4B/wEWAh4B/wMFAf8DBQH/ + AWABaAFwAf8DVAH/A1QB/wNVAf8DVAH/AwAF/wMJAf8DAAH/AxUB/wMxAf8DMQH/AwAF/wMAAf8DVAH/ + A1QB/xQAAxoBJQM9AWkC/wH4Af8B9wHqAcMB/wH9AckBLwH/AfkB7AHHAf8C+wH3Af8C/AH5A/8B/AH/ Az0BaQMaASUDTgGWAeIBzgG6Af8B8QHSAbYB/wHrAcEBmwH/AesBvwGZAv8B5AHTAv8B6AHbAf8B8wHa - AccB/wH4AfEB5AL/AfgB7QL/AfcB6QL/Af4B8QL/AfwB7wL/AfwB8gH/AeIBzgG6Af8DTgGWBAADCAH/ - AwAB/wMAAf8DAAH/AwAB/wMIAf8BEAFbAWMB/wEQAVsBYwH/AwgB/wM6Af8DOgH/ARkCIQH/ARkCIQH/ - ARkCIQH/BAADWAH/A1gB/wNYAf8DVwH/AwEJ/wOIAf8DGAH/AwEB/wMMAf8DAQX/AwIB/wNXAf8DVwH/ - GAADGgElAz0BaAL/AfoB/wL4AfQB/wL7AfcB/wLoAd4B/wLYAckB/wLoAd4D/wH+Af8DPQFoAyYBOAGs - AYcBSwH9AfoB7QHhAf8B7AHHAaMC/wHsAdoF/wH3Ac0BtgH/AewBvQGXAv8B9AHcA/8B9wL/AfcB6AP/ - AfMD/wH5Af8C/gH5Af8BrAGHAUsB/QMmATgEAAM6Af8DAAH/AwAB/wMAAf8DCAH/AwgB/wEZAiEB/wM6 - Af8BYwFrAXMB/wFjAq0B/wM6Af8DOgH/ARkCIQH/AzoB/wQAA1cB/wNXAf8DVwH/A1cB/wMCAf8DrA3/ - A8MB/wNGAf8DAgX/AwEB/wNXAf8DVwH/HAADGgElAz0BaAL/AfsB/wL8AfkB/wLLAbsB/wQAAssBvAP/ + AccB/wH4AfEB5AL/AfgB7QL/AfcB6QL/Af4B8QL/AfwB7wL/AfwB8gH/AeIBzgG6Af8DTgGWBAADBQH/ + AwAB/wMAAf8DAAH/AwAB/wMFAf8BDQFYAWAB/wENAVgBYAH/AwUB/wM3Af8DNwH/ARYCHgH/ARYCHgH/ + ARYCHgH/BAADVQH/A1UB/wNVAf8DVAH/AwAJ/wOIAf8DFQH/AwAB/wMJAf8DAAX/AwAB/wNUAf8DVAH/ + GAADGgElAz0BaAL/AfoB/wL4AfQB/wL7AfcB/wLoAd4B/wLYAckB/wLoAd4D/wH+Af8DPQFoAyYBOAGp + AYcBSAH9AfoB7QHhAf8B7AHHAaMC/wHsAdoF/wH3Ac0BtgH/AewBvQGXAv8B9AHcA/8B9wL/AfcB6AP/ + AfMD/wH5Af8C/gH5Af8BqQGHAUgB/QMmATgEAAM3Af8DAAH/AwAB/wMAAf8DBQH/AwUB/wEWAh4B/wM3 + Af8BYAFoAXAB/wFgAq0B/wM3Af8DNwH/ARYCHgH/AzcB/wQAA1QB/wNUAf8DVAH/A1QB/wMAAf8DrA3/ + A8MB/wNDAf8DAAX/AwAB/wNUAf8DVAH/HAADGgElAz0BaAL/AfsB/wL8AfkB/wLLAbsB/wQAAssBvAP/ Af4B/wM9AWgEAANOAZYB2QG/AaUC/wH6AfAG/wH9AfMB/wHwAcEBowH/Ae4BxgGgAf8B/QHwAdED/wH+ - Av8B/QHwAv8B/QHxBf8B2QG/AaUB/wNOAZYMAAEZAiEB/wMAAf8DAAH/AwgB/wMIAf8BGQIhAf8BIQIx - Af8BYwFrAXMB/wG9AsYB/wFjAWsBcwH/ASECMQH/AzoB/wgAA1cB/wNYAf8DVwH/A1cB/wMYAf8DMgH/ - A60Z/wMBAf8DWAH/A1cB/yAAAxoBJQM9AWcC/wH8Af8C1AHKAf8CrwGfAf8C1AHLA/8B/gH/Az0BZwQA + Av8B/QHwAv8B/QHxBf8B2QG/AaUB/wNOAZYMAAEWAh4B/wMAAf8DAAH/AwUB/wMFAf8BFgIeAf8BHgIu + Af8BYAFoAXAB/wG9AsYB/wFgAWgBcAH/AR4CLgH/AzcB/wgAA1QB/wNVAf8DVAH/A1QB/wMVAf8DLwH/ + A60Z/wMAAf8DVQH/A1QB/yAAAxoBJQM9AWcC/wH8Af8C1AHKAf8CrwGfAf8C1AHLA/8B/gH/Az0BZwQA AwoBDQNXAbgB2QG/AaUB/wH+Af0B/AL/AfEB5AH/AfIBygGuAf8B8gHSAa0B/wH5Ae0ByAP/AfcD/wH9 - Af8B/gH9AfwB/wHZAb8BpQH/A1cBuAMKAQ0QAAM6Af8DAAH/AwgB/wMIAf8BGQIhAf8BIQIxAf8DOgH/ - AWMBawFzAf8BYwFrAXMB/wFjAWsBcwH/DAADVwH/A1cB/wNYAf8DVwH/A1cB/wMYAf8DAgH/AxgB/wOJ - Ef8DAgH/A1gB/wNXAf8kAAMaASQDPQFnAv8B/gP/Af4D/wH+Bf8DPQFnCAADCgENA04BlgGYAXYBTQH6 - AeEBzQG5Af8B8QHiAdQB/wH5AewB3wH/AfsB8wHlAf8B9AHtAeQB/wHiAc4BuwH/AZgBdgFNAfoDTgGW - AwoBDRgAASECMQH/ASECMQH/AwgB/wMIAf8DCAH/ARkCIQH/AzoB/wM6Af8QAANXAf8DVwH/A1cB/wNX - Af8DVwH/A1cB/wNXAf8DGAH/AwEB/wMMAf8DUwH/A8IF/wMBAf8DWAH/A1cB/ygAAxoBJAM8AWYDPAFm - AzwBZgM8AWYDMQFNEAADJwE7A04BlAJeAVwBzgFwAWcBWQHrAXABZAFYAe8CXgFbAdkDTwGXAycBOygA - AWMBawFzAf8BYwFrAXMB/wFjAWsBcwH/AWMBawFzAf8cAANXAf8DVwH/A1cB/wNXAf8DWAH/A1cB/wNX - Af8DVwH/A1cB/wMMAf8DAQH/AzIB/wMYAf8DWAH/EAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQAaQDUAGa - A0QBeQMwAUwDFAEcAwMBBAgAA5YB/wEQAgAB/wEQAgAB/wEQAgAB/wEQAgAB/wEQAgAB/wEQAgAB/wEQ - AgAB/wEQAgAB/wEQAgAB/wEQAgAB/wEQAgAB/wEQAgAB/wEQAgAB/wEQAgAB/wEQAgAB/wQAAUMBzAL/ - ARACmQH/ARACmQH/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/ - AUMBzAL/AUMBzAL/AUMBzAL/EAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQAaQDUAGaA0QBeQMwAUwDFAEc + Af8B/gH9AfwB/wHZAb8BpQH/A1cBuAMKAQ0QAAM3Af8DAAH/AwUB/wMFAf8BFgIeAf8BHgIuAf8DNwH/ + AWABaAFwAf8BYAFoAXAB/wFgAWgBcAH/DAADVAH/A1QB/wNVAf8DVAH/A1QB/wMVAf8DAAH/AxUB/wOJ + Ef8DAAH/A1UB/wNUAf8kAAMaASQDPQFnAv8B/gP/Af4D/wH+Bf8DPQFnCAADCgENA04BlgGPAXMBTQH6 + AeEBzQG5Af8B8QHiAdQB/wH5AewB3wH/AfsB8wHlAf8B9AHtAeQB/wHiAc4BuwH/AY8BcwFNAfoDTgGW + AwoBDRgAAR4CLgH/AR4CLgH/AwUB/wMFAf8DBQH/ARYCHgH/AzcB/wM3Af8QAANUAf8DVAH/A1QB/wNU + Af8DVAH/A1QB/wNUAf8DFQH/AwAB/wMJAf8DUAH/A8IF/wMAAf8DVQH/A1QB/ygAAxoBJAM8AWYDPAFm + AzwBZgM8AWYDMQFNEAADJwE7A04BlAJeAVwBzgFqAWMBWQHrAWgBYgFYAe8CXgFbAdkDTwGXAycBOygA + AWABaAFwAf8BYAFoAXAB/wFgAWgBcAH/AWABaAFwAf8cAANUAf8DVAH/A1QB/wNUAf8DVQH/A1QB/wNU + Af8DVAH/A1QB/wMJAf8DAAH/Ay8B/wMVAf8DVQH/EAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQAaQDUAGa + A0QBeQMwAUwDFAEcAwMBBAgAA5YB/wENAgAB/wENAgAB/wENAgAB/wENAgAB/wENAgAB/wENAgAB/wEN + AgAB/wENAgAB/wENAgAB/wENAgAB/wENAgAB/wENAgAB/wENAgAB/wENAgAB/wENAgAB/wQAAUABzAL/ + AQ0CmQH/AQ0CmQH/AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/ + AUABzAL/AUABzAL/AUABzAL/EAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQAaQDUAGaA0QBeQMwAUwDFAEc AwMBBBAAAwQBBgMkATYDUwGwAWMCXgHlA18B+wGzAqkB/wNfAfsDYAHrA1oB0wNTAawDRwGCAygBPAMH AQkEAAHMApkB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wPqAf8D6gH/A+oB/wGAAgAB/wPqAf8D6gH/ - A+oB/wGAAgAB/wGAAgAB/wFDAgAB/wEQAgAB/wEQApkB/wMAAf8DBgH/AyoB/wMAAf8DAAH/AUMBzAL/ - AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/AUMBzAL/CAADBAEG + A+oB/wGAAgAB/wGAAgAB/wFAAgAB/wENAgAB/wENApkB/wMAAf8DAwH/AycB/wMAAf8DAAH/AUABzAL/ + AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/AUABzAL/CAADBAEG AyQBNgNTAbABYwJeAeUDXwH7AbMCqQH/A18B+wNgAesDWgHTA1MBrANHAYIDKAE8AwcBCQgAAwIBAwMx AU8DXAHqAc8CtAL/At0C/wLiAv8C6AL/Au4C/wLzAf8DzwH/A18B8wNYAcYDTAGSAygBPAMDAQQBzAKZ Af8BgAIAAf8BgAIAAf8BgAIAAf8D8QH/AYACAAH/AYACAAH/A/EB/wGAAgAB/wPxAf8BgAIAAf8BgAIA - Af8D8QH/AYACAAH/AYACAAH/ARACAAH/AwAB/wPMDf8DKgH/AwAB/wFDAcwC/wFDAcwC/wFDAcwC/wFD - AcwC/wFDAcwC/wFDAcwC/wFDAcwC/wFDAcwC/wFDAcwC/wQAAwIBAwMxAU8DXAHqAc8CtAL/At0C/wLi + Af8D8QH/AYACAAH/AYACAAH/AQ0CAAH/AwAB/wPMDf8DJwH/AwAB/wFAAcwC/wFAAcwC/wFAAcwC/wFA + AcwC/wFAAcwC/wFAAcwC/wFAAcwC/wFAAcwC/wFAAcwC/wQAAwIBAwMxAU8DXAHqAc8CtAL/At0C/wLi Av8C6AL/Au4C/wLzAf8DzwH/A18B8wNYAcYDTAGSAygBPAMDAQQEAAMmATgDbQH3AfUCxwL/AtIC/wLY - Av8C3QL/AuIC/wLoAv8C9AX/A/UB/wNkAfsDWAHGA0cBggMUARwBzAKZAf8BmQEAARAB/wGAAgAB/wGA - AgAF/wGAAgAB/wGAAgAF/wGAAgAF/wGAAgAB/wGAAgAF/wGAAgAB/wGAAgAB/wEQAgAB/wMAAf8DzBH/ - AwAB/wFDAcwC/wFDAcwC/wFDAcwC/wFDAcwC/wFDAcwC/wFDAcwC/wFDAcwC/wFDAcwC/wFDAcwC/wQA - AyYBOANtAfcB9QLHAv8C0gL/AtgC/wLdAv8C4gL/AugC/wL0Bf8D9QH/A2QB+wNYAcYDRwGCAxQBHAMH + Av8C3QL/AuIC/wLoAv8C9AX/A/UB/wNfAfsDWAHGA0cBggMUARwBzAKZAf8BmQEAAQ0B/wGAAgAB/wGA + AgAF/wGAAgAB/wGAAgAF/wGAAgAF/wGAAgAB/wGAAgAF/wGAAgAB/wGAAgAB/wENAgAB/wMAAf8DzBH/ + AwAB/wFAAcwC/wFAAcwC/wFAAcwC/wFAAcwC/wFAAcwC/wFAAcwC/wFAAcwC/wFAAcwC/wFAAcwC/wQA + AyYBOANtAfcB9QLHAv8C0gL/AtgC/wLdAv8C4gL/AugC/wL0Bf8D9QH/A18B+wNYAcYDRwGCAxQBHAMH AQkDXgHdAfUCzQL/As8C/wLNAv8C0gL/AtgC/wLdAv8C4gL/AvoJ/wP1Af8DXwHzA1MBrAMwAUwBzAKZ - Af8BmQEAARAB/wGAAgAB/wGAAgAB/wGAAgAN/wGAAgAN/wGAAgAB/wGAAgAB/wGAAgAB/wEQAgAB/wEQ - ApkB/wMAAf8DVAH/A8AB/wPAAf8DzAH/AwAB/wMGAf8DAAH/AwAB/wMAAf8DAAH/AwYB/wFDAcwC/wFD - AcwC/wFDAcwC/wMHAQkDXgHdAfUCzQL/As8C/wLNAv8C0gL/AtgC/wLdAv8C4gL/AvoJ/wP1Af8DXwHz + Af8BmQEAAQ0B/wGAAgAB/wGAAgAB/wGAAgAN/wGAAgAN/wGAAgAB/wGAAgAB/wGAAgAB/wENAgAB/wEN + ApkB/wMAAf8DUQH/A8AB/wPAAf8DzAH/AwAB/wMDAf8DAAH/AwAB/wMAAf8DAAH/AwMB/wFAAcwC/wFA + AcwC/wFAAcwC/wMHAQkDXgHdAfUCzQL/As8C/wLNAv8C0gL/AtgC/wLdAv8C4gL/AvoJ/wP1Af8DXwHz A1MBrAMwAUwDPgFqAcYCsQL/AtkC/wLUAv8CzwL/As0C/wHUAdsC/wHXAeIC/wHkAeoR/wHSAswB/wNa - AdMDQwF3AcwCmQH/AZkBAAEQAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIABf8BgAIABf8BgAIA - Af8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BEAIAAf8BQwHMAv8BEAKZAf8DAAH/AwAB/wMABf8DAAH/ - AwAB/wGkAqAJ/wOZAf8DBgH/AwYB/wFDAcwC/wFDAcwC/wM+AWoBxgKxAv8C2QL/AtQC/wLPAv8CzQL/ - AdQB2wL/AdcB4gL/AeQB6hH/AdICzAH/A1oB0wNDAXcDVgG2Af8C4wH/AQABCwEMAf8BAAELAQwB/wEA - AQsBDAL/Ad4B5wH/AQABCwEMAv8B0QHzAf8BAAELAQwC/wH4Av8BSwJRAf8BAAELAQwB/wFLAlEB/wHM - ApkB/wFcAlUB6gNOAZQBzAKZAf8BmQEAARAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAF/wGA - AgAF/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEQAgAB/wFDAcwC/wFDAcwC/wFDAcwC/wFD - AcwC/wMABf8DAAH/AwYR/wPMAf8DAAH/AUMBzAL/AUMBzAL/A1YBtgH/AuMB/wFLAlEB/wEAAQsBDAH/ - AUsCUQL/Ad4B5wH/AUsCUQH/AQABCwEMAf8BSwJRAv8B+AL/AQABCwEMAf8BAAELAQwB/wEAAQsBDAH/ - AcwCmQH/AVwCVQHqA04BlANhAeIB/wLnAf8BAAELAQwC/wLeAv8C4AL/Ae8B/AH/AQABCwEMAv8B4gH8 - Af8BAAELAQwB/wH8AfAB+QH/AQABCwEMAf8BzAKZAf8BAAELAQwB/wHMApkB/wFtAmwB9wNRAaEBzAKZ - Af8BmQEAARAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGA - AgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEQAgAB/wGZAkMB/wGZAkMB/wGZAkMB/wGZAkMB/wMA - Bf8DAAH/AwAB/wMqAf8DzA3/AwAB/wGZAkMB/wGZAkMB/wNhAeIB/wLnAf8BAAELAQwC/wLeAf8BAAEL - AQwC/wHvAfwB/wEAAQsBDAL/AeIB/AH/AQABCwEMAf8B/AHwAfkB/wEAAQsBDAH/AcwCmQH/AcwCmQH/ - AcwCmQH/AW0CbAH3A1EBoQGeAowB/wHpAr4B/wEAAQsBDAH/AQABCwEMAf8B+QLWAv8B6QHzAf8BAAEL - AQwB/wEAAQsBDAH/AQABCwEMAf8B+QHoAewB/wEAAQsBDAH/AeYCugH/AeYCvQH/AeYCwAH/AaYClAH/ - A04BlDT/A/EB/wPqAf8DgAH/AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AwAF/wMAAf8DMgH/AwAB/wMA - Af8DAAH/AwAF/wMAAf8BmQJDAf8BmQJDAf8BngKMAf8B6QK+Af8BAAELAQwB/wHzAsUB/wH5AtYC/wHp - AfMB/wEAAQsBDAL/AekB8wH/AQABCwEMAf8B+QHoAewB/wEAAQsBDAH/AQABCwEMAf8B5gK9Af8B5gLA - Af8BpgKUAf8DTgGUA10B0gHbAqgB/wEAAQsBDAH/AeoCtwH/AfMCzQL/Ae4B/AH/AQABCwEMAv8B0gH1 - Af8BAAELAQwC/wH0AfwB/wEAAQsBDAL/AtgB/wEAAQsBDAL/AuIB/wNiAfYDQwF3BP8BmQEAARAJ/wGA - AgAN/wGAAgAB/wGAAgAN/wGAAgAB/wGAAgAB/wOAAf8BmQJDAf8BmQJDAf8BmQJDAf8BmQJDAf8DAAX/ - AwAB/wMAAf8DBgH/AzIB/wMyAf8DAAX/AwAB/wGZAkMB/wGZAkMB/wNdAdIB2wKoAf8BAAELAQwB/wHq - ArcB/wEAAQsBDAL/Ae4B/AH/AQABCwEMAv8B0gH1Af8BAAELAQwC/wH0AfwB/wEAAQsBDAL/AtgC/wLd - Av8C4gH/A2IB9gNDAXcDVgGxAdUCogH/AQABCwEMAf8BAAELAQwB/wEAAQsBDAL/AfYC/wFLAlEB/wEA - AQsBDAH/AUsCUQL/AeAB5wH/AUsCUQH/AQABCwEMAf8BSwJRAv8C3QH/A1oB5AMwAUwE/wGZAQABEAn/ - AYACAAn/AYACABH/AYACAAH/A/EB/wPqAf8DgAH/AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AwAJ/wOZ - Af8DBgH/AwAB/wMAAf8DAAX/AwAB/wGZAkMB/wGZAkMB/wNWAbEB1QKiAf8BSwJRAf8BAAELAQwB/wFL - AlEC/wH2Av8BAAELAQwC/wHSAfUB/wEAAQsBDAL/AeAB5wH/AQABCwEMAf8BAAELAQwB/wEAAQsBDAL/ + AdMDQwF3AcwCmQH/AZkBAAENAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIABf8BgAIABf8BgAIA + Af8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BDQIAAf8BQAHMAv8BDQKZAf8DAAH/AwAB/wMABf8DAAH/ + AwAB/wGkAqAJ/wOZAf8DAwH/AwMB/wFAAcwC/wFAAcwC/wM+AWoBxgKxAv8C2QL/AtQC/wLPAv8CzQL/ + AdQB2wL/AdcB4gL/AeQB6hH/AdICzAH/A1oB0wNDAXcDVgG2Af8C4wH/AQABCAEJAf8BAAEIAQkB/wEA + AQgBCQL/Ad4B5wH/AQABCAEJAv8B0QHzAf8BAAEIAQkC/wH4Av8BSAJOAf8BAAEIAQkB/wFIAk4B/wHM + ApkB/wFcAlUB6gNOAZQBzAKZAf8BmQEAAQ0B/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAF/wGA + AgAF/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wENAgAB/wFAAcwC/wFAAcwC/wFAAcwC/wFA + AcwC/wMABf8DAAH/AwMR/wPMAf8DAAH/AUABzAL/AUABzAL/A1YBtgH/AuMB/wFIAk4B/wEAAQgBCQH/ + AUgCTgL/Ad4B5wH/AUgCTgH/AQABCAEJAf8BSAJOAv8B+AL/AQABCAEJAf8BAAEIAQkB/wEAAQgBCQH/ + AcwCmQH/AVwCVQHqA04BlANhAeIB/wLnAf8BAAEIAQkC/wLeAv8C4AL/Ae8B/AH/AQABCAEJAv8B4gH8 + Af8BAAEIAQkB/wH8AfAB+QH/AQABCAEJAf8BzAKZAf8BAAEIAQkB/wHMApkB/wFtAmwB9wNRAaEBzAKZ + Af8BmQEAAQ0B/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGA + AgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wENAgAB/wGZAkAB/wGZAkAB/wGZAkAB/wGZAkAB/wMA + Bf8DAAH/AwAB/wMnAf8DzA3/AwAB/wGZAkAB/wGZAkAB/wNhAeIB/wLnAf8BAAEIAQkC/wLeAf8BAAEI + AQkC/wHvAfwB/wEAAQgBCQL/AeIB/AH/AQABCAEJAf8B/AHwAfkB/wEAAQgBCQH/AcwCmQH/AcwCmQH/ + AcwCmQH/AW0CbAH3A1EBoQGeAowB/wHpAr4B/wEAAQgBCQH/AQABCAEJAf8B+QLWAv8B6QHzAf8BAAEI + AQkB/wEAAQgBCQH/AQABCAEJAf8B+QHoAewB/wEAAQgBCQH/AeYCugH/AeYCvQH/AeYCwAH/AaYClAH/ + A04BlDT/A/EB/wPqAf8DgAH/AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AwAF/wMAAf8DLwH/AwAB/wMA + Af8DAAH/AwAF/wMAAf8BmQJAAf8BmQJAAf8BngKMAf8B6QK+Af8BAAEIAQkB/wHzAsUB/wH5AtYC/wHp + AfMB/wEAAQgBCQL/AekB8wH/AQABCAEJAf8B+QHoAewB/wEAAQgBCQH/AQABCAEJAf8B5gK9Af8B5gLA + Af8BpgKUAf8DTgGUA10B0gHbAqgB/wEAAQgBCQH/AeoCtwH/AfMCzQL/Ae4B/AH/AQABCAEJAv8B0gH1 + Af8BAAEIAQkC/wH0AfwB/wEAAQgBCQL/AtgB/wEAAQgBCQL/AuIB/wNiAfYDQwF3BP8BmQEAAQ0J/wGA + AgAN/wGAAgAB/wGAAgAN/wGAAgAB/wGAAgAB/wOAAf8BmQJAAf8BmQJAAf8BmQJAAf8BmQJAAf8DAAX/ + AwAB/wMAAf8DAwH/Ay8B/wMvAf8DAAX/AwAB/wGZAkAB/wGZAkAB/wNdAdIB2wKoAf8BAAEIAQkB/wHq + ArcB/wEAAQgBCQL/Ae4B/AH/AQABCAEJAv8B0gH1Af8BAAEIAQkC/wH0AfwB/wEAAQgBCQL/AtgC/wLd + Av8C4gH/A2IB9gNDAXcDVgGxAdUCogH/AQABCAEJAf8BAAEIAQkB/wEAAQgBCQL/AfYC/wFIAk4B/wEA + AQgBCQH/AUgCTgL/AeAB5wH/AUgCTgH/AQABCAEJAf8BSAJOAv8C3QH/A1oB5AMwAUwE/wGZAQABDQn/ + AYACAAn/AYACABH/AYACAAH/A/EB/wPqAf8DgAH/AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AwAJ/wOZ + Af8DAwH/AwAB/wMAAf8DAAX/AwAB/wGZAkAB/wGZAkAB/wNWAbEB1QKiAf8BSAJOAf8BAAEIAQkB/wFI + Ak4C/wH2Av8BAAEIAQkC/wHSAfUB/wEAAQgBCQL/AeAB5wH/AQABCAEJAf8BAAEIAQkB/wEAAQgBCQL/ At0B/wNaAeQDMAFMAzIBUAHDAr8S/wHsAfEC/wHbAecC/wHZAd4C/wLUAv8CzwL/As0C/wLSAf8BxgKt - Af8DUwGsAxQBGwT/AZkBAAEQCf8BgAIACf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIABf8BgAIAAf8BgAIA - Af8BgAIAAf8BEAIAAf8BmQJDAf8BmQJDAf8BmQJDAf8BmQJDAf8DAAH/A8AN/wPMAf8DPAH/AwAF/wMA - Af8BmQJDAf8BmQJDAf8DMgFQAcMCvxL/AewB8QL/AdsB5wL/AdkB3gL/AtQC/wLPAv8CzQL/AtIB/wHG + Af8DUwGsAxQBGwT/AZkBAAENCf8BgAIACf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIABf8BgAIAAf8BgAIA + Af8BgAIAAf8BDQIAAf8BmQJAAf8BmQJAAf8BmQJAAf8BmQJAAf8DAAH/A8AN/wPMAf8DOQH/AwAF/wMA + Af8BmQJAAf8BmQJAAf8DMgFQAcMCvxL/AewB8QL/AdsB5wL/AdkB3gL/AtQC/wLPAv8CzQL/AtIB/wHG Aq0B/wNTAawDFAEbBAADWgHAA/UK/wL+Av8C5wL/AuMC/wLeAv8C2QL/AtQC/wLPAf8B9QLHAf8DXwHj - AyMBNAMCAQME/wGZAQABEAH/AYACAAX/AYACAAn/AYACAAn/AYACAAX/AYACAAH/A/EB/wPqAf8BEAIA - Af8BmQJDAf8BmQJDAf8BmQJDAf8BmQJDAf8DBgH/AyoB/wPAGf8DAAH/AZkCQwH/AZkCQwH/BAADWgHA + AyMBNAMCAQME/wGZAQABDQH/AYACAAX/AYACAAn/AYACAAn/AYACAAX/AYACAAH/A/EB/wPqAf8BDQIA + Af8BmQJAAf8BmQJAAf8BmQJAAf8BmQJAAf8DAwH/AycB/wPAGf8DAAH/AZkCQAH/AZkCQAH/BAADWgHA A/UK/wL+Av8C5wL/AuMC/wLeAv8C2QL/AtQC/wLPAf8B9QLHAf8DXwHjAyMBNAMCAQMEAAMXASADYgHv - A/UG/wL4Av8C7AL/AucC/wLjAv8C3gL/AtkB/wH1As0B/wNtAfcDMAFNAwQBBgQABP8BmQIQCf8BgAIA - Af8BgAIACf8BgAIAAf8BgAIADf8BgAIAAf8BgAIAAf8DhgH/AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/ - AZkCQwH/AwYB/wMAAf8DBgH/A5kR/wMAAf8BmQJDAf8BmQJDAf8EAAMXASADYgHvA/UG/wL4Av8C7AL/ + A/UG/wL4Av8C7AL/AucC/wLjAv8C3gL/AtkB/wH1As0B/wNtAfcDMAFNAwQBBgQABP8BmQINCf8BgAIA + Af8BgAIACf8BgAIAAf8BgAIADf8BgAIAAf8BgAIAAf8DhgH/AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/ + AZkCQAH/AwMB/wMAAf8DAwH/A5kR/wMAAf8BmQJAAf8BmQJAAf8EAAMXASADYgHvA/UG/wL4Av8C7AL/ AucC/wLjAv8C3gL/AtkB/wH1As0B/wNtAfcDMAFNAwQBBgwAAxcBIANaAcADxgL/AvcC/wLyAv8C7AL/ - AucC/wLjAf8BxgKxAf8DXgHQAyQBNgMCAQMIAAT/AZkCEC3/A/EB/wPqAf8DhgH/AZkCQwH/AZkCQwH/ - AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AwYB/wMAAf8DAAH/A1QB/wPMBf8DAAH/AZkCQwH/ - AZkCQwH/CAADFwEgA1oBwAPGAv8C9wL/AvIC/wLsAv8C5wL/AuMB/wHGArEB/wNeAdADJAE2AwIBAxgA - AzIBUANRAaIDXQHSAYwCiQH/A2AB1ANUAaYDNwFaAwUBBxAACP8BzAKZLf8D8QH/A8AB/wQAAZkCQwH/ - AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AZkCQwH/AwAB/wMAAf8DKgH/ - AwYB/wGZAkMB/xQAAzIBUANRAaIDXQHSAYwCiQH/A2AB1ANUAaYDNwFaAwUBBxAAAUIBTQE+BwABPgMA + AucC/wLjAf8BxgKxAf8DXgHQAyQBNgMCAQMIAAT/AZkCDS3/A/EB/wPqAf8DhgH/AZkCQAH/AZkCQAH/ + AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AwMB/wMAAf8DAAH/A1EB/wPMBf8DAAH/AZkCQAH/ + AZkCQAH/CAADFwEgA1oBwAPGAv8C9wL/AvIC/wLsAv8C5wL/AuMB/wHGArEB/wNeAdADJAE2AwIBAxgA + AzIBUANRAaIDXQHSAYwCiQH/A2AB1ANUAaYDNwFaAwUBBxAACP8BzAKZLf8D8QH/A8AB/wQAAZkCQAH/ + AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AZkCQAH/AwAB/wMAAf8DJwH/ + AwMB/wGZAkAB/xQAAzIBUANRAaIDXQHSAYwCiQH/A2AB1ANUAaYDNwFaAwUBBxAAAUIBTQE+BwABPgMA ASgDAAFAAwABMAMAAQEBAAEBBQABgAEBFgAD/wIAAYAHAAGABgAB8AGBBwABgQcAAQEHAAEBBwABAQcA AR8GAAHwAQEGAAHwAQEGAAHwAQEGAAHwAQEGAAH/AQcGAAH/AQcGAAH/AQcGAAH/AQcGAAHjAf8B8AEH AfwBPwGAAQEBwQH/AcABAwHwAQ8CAAGAAf8BgAEBAeABBwMAAX8BgAEAAcABAwMAAT8CAAGAAQEDAAEf @@ -349,7 +354,7 @@ listChoices - System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tableLayoutPanel1 @@ -364,7 +369,10 @@ Courier New, 8pt - 3, 153 + 4, 236 + + + 4, 5, 4, 5 True @@ -373,7 +381,7 @@ Vertical - 788, 7 + 1183, 10 1 @@ -382,7 +390,7 @@ textBox1 - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tableLayoutPanel1 @@ -400,13 +408,16 @@ Fill - 3, 422 + 4, 650 + + + 4, 5, 4, 5 1 - 788, 35 + 1183, 53 30 @@ -415,7 +426,7 @@ tableLayoutPanel2 - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tableLayoutPanel1 @@ -429,11 +440,17 @@ Fill + + NoControl + - 3, 166 + 4, 256 + + + 4, 5, 4, 5 - 788, 7 + 1183, 73 Zoom @@ -445,7 +462,7 @@ pictureBox1 - System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tableLayoutPanel1 @@ -456,7 +473,7 @@ 2 - + True @@ -468,13 +485,13 @@ 30 - + True Title - + True @@ -486,7 +503,7 @@ 50 - + True @@ -496,19 +513,16 @@ 50 - 50 + 65 Fill - 396, 2 - - - 2, 2, 2, 2 + 594, 3 - 390, 233 + 586, 295 6 @@ -517,7 +531,7 @@ dataGridViewTracks - System.Windows.Forms.DataGridView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tableLayoutPanelMeta @@ -525,7 +539,7 @@ 0 - + True @@ -537,7 +551,7 @@ 50 - + True @@ -547,13 +561,10 @@ Fill - 2, 2 - - - 2, 2, 2, 2 + 3, 3 - 390, 233 + 585, 295 5 @@ -562,7 +573,7 @@ dataGridViewMetadata - System.Windows.Forms.DataGridView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tableLayoutPanelMeta @@ -574,13 +585,16 @@ Fill - 3, 179 + 4, 339 + + + 4, 5, 4, 5 1 - 788, 237 + 1183, 301 32 @@ -589,7 +603,7 @@ tableLayoutPanelMeta - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tableLayoutPanel1 @@ -606,11 +620,14 @@ 0, 0 + + 4, 5, 4, 5 + 5 - 794, 460 + 1191, 708 29 @@ -619,7 +636,7 @@ tableLayoutPanel1 - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this @@ -628,25 +645,28 @@ 0 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tableLayoutPanel2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textBox1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listChoices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBox1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanelMeta" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,150,Percent,5,Percent,5,Percent,90,Absolute,40" /></TableLayoutSettings> + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tableLayoutPanel2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textBox1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listChoices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBox1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanelMeta" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,231,Percent,5,Percent,20,Percent,75,Absolute,62" /></TableLayoutSettings> - + 127, 17 - + True - + 51 - 6, 13 + 9, 20 - 794, 460 + 1191, 708 + + + 4, 5, 4, 5 - 590, 495 + 874, 731 CenterParent @@ -658,60 +678,60 @@ columnHeader1 - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 imageList1 - System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dataGridViewTextBoxColumnTrackNo - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dataGridViewTextBoxColumnTrackTitle - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dataGridViewTextBoxColumnTrackStart - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dataGridViewTextBoxColumnTrackLength - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Item - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Value - System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 backgroundWorker1 - System.ComponentModel.BackgroundWorker, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 frmChoice - System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 \ No newline at end of file