mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
Finalized 2.1.2;
Starting work on 2.1.3 (prioritized metadata lookup, freedb via ctdb)
This commit is contained in:
@@ -588,7 +588,7 @@ namespace CUERipper
|
||||
|
||||
private CUEMetadataEntry CreateCUESheet(ICDRipper audioSource, CTDBResponseMeta release)
|
||||
{
|
||||
CUEMetadataEntry entry = new CUEMetadataEntry(audioSource.TOC, "ctdb");
|
||||
CUEMetadataEntry entry = new CUEMetadataEntry(audioSource.TOC, release.source);
|
||||
entry.metadata.FillFromCtdb(release, entry.TOC.FirstAudio - 1);
|
||||
return entry;
|
||||
}
|
||||
@@ -635,7 +635,7 @@ namespace CUERipper
|
||||
cueSheet.Action = CUEAction.Encode;
|
||||
|
||||
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " CTDB..."; });
|
||||
cueSheet.UseCUEToolsDB("CUERipper " + CUESheet.CUEToolsVersion, selectedDriveInfo.drive.ARName, true, false);
|
||||
cueSheet.UseCUEToolsDB("CUERipper " + CUESheet.CUEToolsVersion, selectedDriveInfo.drive.ARName, false, CTDBPriority.High, CTDBPriority.Medium, CTDBPriority.Low);
|
||||
cueSheet.CTDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
|
||||
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " AccurateRip..."; });
|
||||
cueSheet.UseAccurateRip();
|
||||
|
||||
@@ -188,19 +188,36 @@ namespace CUETools.AccurateRip
|
||||
return worstTotal == 0xffff ? 0 : worstTotal;
|
||||
}
|
||||
|
||||
// TODO: Replace min(sum) with sum(min)!!!
|
||||
public uint WorstConfidence()
|
||||
public uint WorstConfidence(int oi)
|
||||
{
|
||||
uint worstConfidence = 0xffff;
|
||||
for (int iTrack = 0; iTrack < _toc.AudioTracks; iTrack++)
|
||||
{
|
||||
uint sumConfidence = SumConfidence(iTrack);
|
||||
if (worstConfidence > sumConfidence && (Total(iTrack) != 0 || CRC(iTrack) != 0))
|
||||
worstConfidence = sumConfidence;
|
||||
int trno = iTrack + _toc.FirstAudio - 1;
|
||||
uint sum = 0;
|
||||
// sum all matches for this track and this offset
|
||||
for (int di = 0; di < AccDisks.Count; di++)
|
||||
if (trno < AccDisks[di].tracks.Count
|
||||
&& (CRC(iTrack, oi) == AccDisks[di].tracks[trno].CRC
|
||||
|| oi == 0 && CRCV2(iTrack) == AccDisks[di].tracks[trno].CRC))
|
||||
sum += AccDisks[di].tracks[iTrack + _toc.FirstAudio - 1].count;
|
||||
// exclude silent tracks
|
||||
if (worstConfidence > sum && (Total(iTrack) != 0 || CRC(iTrack, oi) != 0))
|
||||
worstConfidence = sum;
|
||||
}
|
||||
return worstConfidence;
|
||||
}
|
||||
|
||||
public uint WorstConfidence()
|
||||
{
|
||||
if (ARStatus != null)
|
||||
return 0U;
|
||||
uint worstConfidence = 0;
|
||||
for (int oi = -_arOffsetRange; oi <= _arOffsetRange; oi++)
|
||||
worstConfidence += WorstConfidence(oi);
|
||||
return worstConfidence;
|
||||
}
|
||||
|
||||
public uint SumConfidence(int iTrack)
|
||||
{
|
||||
if (ARStatus != null)
|
||||
|
||||
44
CUETools.CTDB.EACPlugin/FormMetadata.Designer.cs
generated
44
CUETools.CTDB.EACPlugin/FormMetadata.Designer.cs
generated
@@ -34,14 +34,16 @@
|
||||
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.progressBar1.Location = new System.Drawing.Point(10, 198);
|
||||
this.progressBar1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.progressBar1.Location = new System.Drawing.Point(5, 5);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(587, 23);
|
||||
this.progressBar1.Size = new System.Drawing.Size(587, 25);
|
||||
this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
|
||||
this.progressBar1.TabIndex = 0;
|
||||
//
|
||||
@@ -54,14 +56,14 @@
|
||||
//
|
||||
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader1});
|
||||
this.listView1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.listView1.FullRowSelect = true;
|
||||
this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
|
||||
this.listView1.HideSelection = false;
|
||||
this.listView1.Location = new System.Drawing.Point(10, 10);
|
||||
this.listView1.MultiSelect = false;
|
||||
this.listView1.Name = "listView1";
|
||||
this.listView1.Size = new System.Drawing.Size(587, 188);
|
||||
this.listView1.Size = new System.Drawing.Size(597, 213);
|
||||
this.listView1.TabIndex = 1;
|
||||
this.listView1.UseCompatibleStateImageBehavior = false;
|
||||
this.listView1.View = System.Windows.Forms.View.Details;
|
||||
@@ -74,9 +76,10 @@
|
||||
// button1
|
||||
//
|
||||
this.button1.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.button1.Location = new System.Drawing.Point(519, 204);
|
||||
this.button1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.button1.Location = new System.Drawing.Point(442, 5);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.Size = new System.Drawing.Size(75, 25);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.Text = "Cancel";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
@@ -85,30 +88,44 @@
|
||||
// button2
|
||||
//
|
||||
this.button2.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.button2.Location = new System.Drawing.Point(438, 204);
|
||||
this.button2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.button2.Location = new System.Drawing.Point(517, 5);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(75, 23);
|
||||
this.button2.Size = new System.Drawing.Size(75, 25);
|
||||
this.button2.TabIndex = 3;
|
||||
this.button2.Text = "OK";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Visible = false;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.button1);
|
||||
this.panel1.Controls.Add(this.button2);
|
||||
this.panel1.Controls.Add(this.progressBar1);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.panel1.Location = new System.Drawing.Point(10, 223);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(5);
|
||||
this.panel1.Size = new System.Drawing.Size(597, 35);
|
||||
this.panel1.TabIndex = 4;
|
||||
//
|
||||
// FormMetadata
|
||||
//
|
||||
this.AcceptButton = this.button2;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.button1;
|
||||
this.ClientSize = new System.Drawing.Size(607, 233);
|
||||
this.Controls.Add(this.button2);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.ClientSize = new System.Drawing.Size(617, 268);
|
||||
this.Controls.Add(this.listView1);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
|
||||
this.MinimumSize = new System.Drawing.Size(500, 300);
|
||||
this.Name = "FormMetadata";
|
||||
this.Padding = new System.Windows.Forms.Padding(10);
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "CTDB Metadata Lookup";
|
||||
this.Load += new System.EventHandler(this.FormMetadata_Load);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@@ -121,5 +138,6 @@
|
||||
private System.Windows.Forms.ColumnHeader columnHeader1;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
}
|
||||
}
|
||||
@@ -39,7 +39,11 @@ namespace CUETools.CTDB.EACPlugin
|
||||
|
||||
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
this.ctdb.ContactDB(null, this.agent, null, true, false);
|
||||
|
||||
this.ctdb.ContactDB(null, this.agent, null, false, false,
|
||||
AudioDataPlugIn.Options.priorityMusicbrainz,
|
||||
AudioDataPlugIn.Options.priorityFreedb,
|
||||
AudioDataPlugIn.Options.priorityFreedbFuzzy);
|
||||
}
|
||||
|
||||
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace CUETools.CTDB.EACPlugin
|
||||
this.ctdb.UploadHelper.onProgress += UploadProgress;
|
||||
if (this.agent != null)
|
||||
{
|
||||
this.ctdb.ContactDB(null, this.agent, this.drivename, false, false);
|
||||
this.ctdb.ContactDB(null, this.agent, this.drivename, true, false, CTDBPriority.None, CTDBPriority.None, CTDBPriority.None);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -49,33 +49,97 @@ namespace MetadataPlugIn
|
||||
return false;
|
||||
|
||||
int year, disccount, discnumber;
|
||||
if (meta.year != null && int.TryParse(meta.year, out year))
|
||||
data.Year = year;
|
||||
if (meta.disccount != null && int.TryParse(meta.disccount, out disccount))
|
||||
data.TotalNumberOfCDs = disccount;
|
||||
if (meta.discnumber != null && int.TryParse(meta.discnumber, out discnumber))
|
||||
data.CDNumber = discnumber;
|
||||
if (meta.album != null)
|
||||
data.AlbumTitle = meta.album;
|
||||
if (meta.artist != null)
|
||||
data.AlbumArtist = meta.artist;
|
||||
string extra = meta.extra ?? "";
|
||||
if (!string.IsNullOrEmpty(meta.discname))
|
||||
extra += "Disc name: " + meta.discname + "\r\n";
|
||||
if (!string.IsNullOrEmpty(meta.infourl))
|
||||
extra += "Info URL: " + meta.infourl + "\r\n";
|
||||
if (!string.IsNullOrEmpty(meta.barcode))
|
||||
extra += "Barcode: " + meta.barcode + "\r\n";
|
||||
if (!string.IsNullOrEmpty(meta.releasedate))
|
||||
extra += "Release date: " + meta.releasedate + "\r\n";
|
||||
if (!string.IsNullOrEmpty(meta.country))
|
||||
extra += "Release country: " + meta.country + "\r\n";
|
||||
if (meta.label != null)
|
||||
foreach (var label in meta.label)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(label.name))
|
||||
extra += "Release label: " + label.name + "\r\n";
|
||||
if (!string.IsNullOrEmpty(label.catno))
|
||||
extra += "Release catalog#: " + label.catno + "\r\n";
|
||||
}
|
||||
data.Year = meta.year != null && int.TryParse(meta.year, out year) ? year : -1;
|
||||
data.TotalNumberOfCDs = meta.disccount != null && int.TryParse(meta.disccount, out disccount) ? disccount : 1;
|
||||
data.CDNumber = meta.discnumber != null && int.TryParse(meta.discnumber, out discnumber) ? discnumber : 1;
|
||||
data.FirstTrackNumber = 1;
|
||||
data.AlbumTitle = meta.album ?? "";
|
||||
data.AlbumArtist = meta.artist ?? "";
|
||||
data.MP3V2Type = meta.genre ?? "";
|
||||
data.CDDBMusicType = GetFreeDBMusicType(meta);
|
||||
data.MP3Type = GetMP3MusicType(data.CDDBMusicType);
|
||||
data.ExtendedDiscInformation = extra;
|
||||
data.Revision = -1; // TODO: meta.id? rock/ffffffff/16?
|
||||
if (meta.track != null)
|
||||
for (int track = 0; track < data.NumberOfTracks; track++)
|
||||
{
|
||||
if (track < meta.track.Length)
|
||||
{
|
||||
if (meta.track[track].name != null)
|
||||
data.SetTrackTitle(track, meta.track[track].name);
|
||||
var trackartist = meta.track[track].artist ?? meta.artist;
|
||||
if (trackartist != null)
|
||||
data.SetTrackArtist(track, trackartist);
|
||||
data.SetTrackTitle(track, meta.track[track].name ?? "");
|
||||
data.SetTrackArtist(track, meta.track[track].artist ?? meta.artist ?? "");
|
||||
data.SetExtendedTrackInformation(track, meta.track[track].extra ?? "");
|
||||
}
|
||||
else if (meta.artist != null)
|
||||
data.SetTrackArtist(track, meta.artist);
|
||||
else
|
||||
{
|
||||
data.SetTrackTitle(track, "");
|
||||
data.SetTrackArtist(track, meta.artist ?? "");
|
||||
data.SetExtendedTrackInformation(track, "");
|
||||
}
|
||||
data.SetTrackComposer(track, "");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public int GetMP3MusicType(int freedbtype)
|
||||
{
|
||||
int[] list = { 17, 29, 34, 95, 53, 77, 90, 113, 117, 129, 95 };
|
||||
return (freedbtype <= 0 || freedbtype >= list.Length) ? -1 : list[freedbtype];
|
||||
}
|
||||
|
||||
public int GetFreeDBMusicType(CTDBResponseMeta meta)
|
||||
{
|
||||
int pos = meta.id.IndexOf('/');
|
||||
if (meta.source != "freedb" || pos < 0)
|
||||
return -1;
|
||||
string freedbtype = meta.id.Substring(0, pos);
|
||||
switch (freedbtype.ToUpper())
|
||||
{
|
||||
case "BLUES":
|
||||
return 0;
|
||||
case "CLASSICAL":
|
||||
return 1;
|
||||
case "COUNTRY":
|
||||
return 2;
|
||||
case "DATA":
|
||||
return 3;
|
||||
case "FOLK":
|
||||
return 4;
|
||||
case "JAZZ":
|
||||
return 5;
|
||||
case "NEWAGE":
|
||||
return 6;
|
||||
case "REGGAE":
|
||||
return 7;
|
||||
case "ROCK":
|
||||
return 8;
|
||||
case "SOUNDTRACK":
|
||||
return 9;
|
||||
case "MISC":
|
||||
return 10;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
public string GetPluginGuid()
|
||||
{
|
||||
return ((GuidAttribute)Attribute.GetCustomAttribute(GetType(), typeof(GuidAttribute))).Value;
|
||||
|
||||
258
CUETools.CTDB.EACPlugin/Options.Designer.cs
generated
258
CUETools.CTDB.EACPlugin/Options.Designer.cs
generated
@@ -33,7 +33,28 @@ namespace AudioDataPlugIn
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.radioButtonMBHigh = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonMBLow = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonMBMedium = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonMBNone = new System.Windows.Forms.RadioButton();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.radioButtonFDMedium = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonFDHigh = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonFDLow = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonFDNone = new System.Windows.Forms.RadioButton();
|
||||
this.buttonOk = new System.Windows.Forms.Button();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.radioButtonFZMedium = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonFZHigh = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonFZLow = new System.Windows.Forms.RadioButton();
|
||||
this.radioButtonFZNone = new System.Windows.Forms.RadioButton();
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
@@ -49,7 +70,7 @@ namespace AudioDataPlugIn
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(95, 67);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(230, 74);
|
||||
this.label2.Size = new System.Drawing.Size(230, 34);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "Copyright (c) 2011 Gregory S. Chudov";
|
||||
//
|
||||
@@ -73,11 +94,220 @@ namespace AudioDataPlugIn
|
||||
this.pictureBox1.TabIndex = 4;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// radioButtonMBHigh
|
||||
//
|
||||
this.radioButtonMBHigh.AutoSize = true;
|
||||
this.radioButtonMBHigh.Location = new System.Drawing.Point(6, 16);
|
||||
this.radioButtonMBHigh.Name = "radioButtonMBHigh";
|
||||
this.radioButtonMBHigh.Size = new System.Drawing.Size(47, 17);
|
||||
this.radioButtonMBHigh.TabIndex = 6;
|
||||
this.radioButtonMBHigh.TabStop = true;
|
||||
this.radioButtonMBHigh.Text = "High";
|
||||
this.radioButtonMBHigh.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonMBLow
|
||||
//
|
||||
this.radioButtonMBLow.AutoSize = true;
|
||||
this.radioButtonMBLow.Location = new System.Drawing.Point(6, 50);
|
||||
this.radioButtonMBLow.Name = "radioButtonMBLow";
|
||||
this.radioButtonMBLow.Size = new System.Drawing.Size(45, 17);
|
||||
this.radioButtonMBLow.TabIndex = 7;
|
||||
this.radioButtonMBLow.TabStop = true;
|
||||
this.radioButtonMBLow.Text = "Low";
|
||||
this.radioButtonMBLow.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonMBMedium
|
||||
//
|
||||
this.radioButtonMBMedium.AutoSize = true;
|
||||
this.radioButtonMBMedium.Location = new System.Drawing.Point(6, 33);
|
||||
this.radioButtonMBMedium.Name = "radioButtonMBMedium";
|
||||
this.radioButtonMBMedium.Size = new System.Drawing.Size(62, 17);
|
||||
this.radioButtonMBMedium.TabIndex = 8;
|
||||
this.radioButtonMBMedium.TabStop = true;
|
||||
this.radioButtonMBMedium.Text = "Medium";
|
||||
this.radioButtonMBMedium.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonMBNone
|
||||
//
|
||||
this.radioButtonMBNone.AutoSize = true;
|
||||
this.radioButtonMBNone.Location = new System.Drawing.Point(6, 67);
|
||||
this.radioButtonMBNone.Name = "radioButtonMBNone";
|
||||
this.radioButtonMBNone.Size = new System.Drawing.Size(51, 17);
|
||||
this.radioButtonMBNone.TabIndex = 9;
|
||||
this.radioButtonMBNone.TabStop = true;
|
||||
this.radioButtonMBNone.Text = "None";
|
||||
this.radioButtonMBNone.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.radioButtonMBMedium);
|
||||
this.groupBox1.Controls.Add(this.radioButtonMBHigh);
|
||||
this.groupBox1.Controls.Add(this.radioButtonMBLow);
|
||||
this.groupBox1.Controls.Add(this.radioButtonMBNone);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 119);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(83, 95);
|
||||
this.groupBox1.TabIndex = 15;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Musicbrainz";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.radioButtonFDMedium);
|
||||
this.groupBox2.Controls.Add(this.radioButtonFDHigh);
|
||||
this.groupBox2.Controls.Add(this.radioButtonFDLow);
|
||||
this.groupBox2.Controls.Add(this.radioButtonFDNone);
|
||||
this.groupBox2.Location = new System.Drawing.Point(101, 119);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(83, 95);
|
||||
this.groupBox2.TabIndex = 16;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Freedb";
|
||||
//
|
||||
// radioButtonFDMedium
|
||||
//
|
||||
this.radioButtonFDMedium.AutoSize = true;
|
||||
this.radioButtonFDMedium.Location = new System.Drawing.Point(6, 33);
|
||||
this.radioButtonFDMedium.Name = "radioButtonFDMedium";
|
||||
this.radioButtonFDMedium.Size = new System.Drawing.Size(62, 17);
|
||||
this.radioButtonFDMedium.TabIndex = 8;
|
||||
this.radioButtonFDMedium.TabStop = true;
|
||||
this.radioButtonFDMedium.Text = "Medium";
|
||||
this.radioButtonFDMedium.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonFDHigh
|
||||
//
|
||||
this.radioButtonFDHigh.AutoSize = true;
|
||||
this.radioButtonFDHigh.Location = new System.Drawing.Point(6, 16);
|
||||
this.radioButtonFDHigh.Name = "radioButtonFDHigh";
|
||||
this.radioButtonFDHigh.Size = new System.Drawing.Size(47, 17);
|
||||
this.radioButtonFDHigh.TabIndex = 6;
|
||||
this.radioButtonFDHigh.TabStop = true;
|
||||
this.radioButtonFDHigh.Text = "High";
|
||||
this.radioButtonFDHigh.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonFDLow
|
||||
//
|
||||
this.radioButtonFDLow.AutoSize = true;
|
||||
this.radioButtonFDLow.Location = new System.Drawing.Point(6, 50);
|
||||
this.radioButtonFDLow.Name = "radioButtonFDLow";
|
||||
this.radioButtonFDLow.Size = new System.Drawing.Size(45, 17);
|
||||
this.radioButtonFDLow.TabIndex = 7;
|
||||
this.radioButtonFDLow.TabStop = true;
|
||||
this.radioButtonFDLow.Text = "Low";
|
||||
this.radioButtonFDLow.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonFDNone
|
||||
//
|
||||
this.radioButtonFDNone.AutoSize = true;
|
||||
this.radioButtonFDNone.Location = new System.Drawing.Point(6, 67);
|
||||
this.radioButtonFDNone.Name = "radioButtonFDNone";
|
||||
this.radioButtonFDNone.Size = new System.Drawing.Size(51, 17);
|
||||
this.radioButtonFDNone.TabIndex = 9;
|
||||
this.radioButtonFDNone.TabStop = true;
|
||||
this.radioButtonFDNone.Text = "None";
|
||||
this.radioButtonFDNone.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// buttonOk
|
||||
//
|
||||
this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.buttonOk.Location = new System.Drawing.Point(303, 189);
|
||||
this.buttonOk.Name = "buttonOk";
|
||||
this.buttonOk.Size = new System.Drawing.Size(75, 25);
|
||||
this.buttonOk.TabIndex = 17;
|
||||
this.buttonOk.Text = "OK";
|
||||
this.buttonOk.UseVisualStyleBackColor = true;
|
||||
this.buttonOk.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(12, 101);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(134, 13);
|
||||
this.label3.TabIndex = 18;
|
||||
this.label3.Text = "Metadata providers priority:";
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.radioButtonFZMedium);
|
||||
this.groupBox3.Controls.Add(this.radioButtonFZHigh);
|
||||
this.groupBox3.Controls.Add(this.radioButtonFZLow);
|
||||
this.groupBox3.Controls.Add(this.radioButtonFZNone);
|
||||
this.groupBox3.Location = new System.Drawing.Point(190, 119);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(83, 95);
|
||||
this.groupBox3.TabIndex = 17;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "Freedb fuzzy";
|
||||
//
|
||||
// radioButtonFZMedium
|
||||
//
|
||||
this.radioButtonFZMedium.AutoSize = true;
|
||||
this.radioButtonFZMedium.Location = new System.Drawing.Point(6, 33);
|
||||
this.radioButtonFZMedium.Name = "radioButtonFZMedium";
|
||||
this.radioButtonFZMedium.Size = new System.Drawing.Size(62, 17);
|
||||
this.radioButtonFZMedium.TabIndex = 8;
|
||||
this.radioButtonFZMedium.TabStop = true;
|
||||
this.radioButtonFZMedium.Text = "Medium";
|
||||
this.radioButtonFZMedium.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonFZHigh
|
||||
//
|
||||
this.radioButtonFZHigh.AutoSize = true;
|
||||
this.radioButtonFZHigh.Location = new System.Drawing.Point(6, 16);
|
||||
this.radioButtonFZHigh.Name = "radioButtonFZHigh";
|
||||
this.radioButtonFZHigh.Size = new System.Drawing.Size(47, 17);
|
||||
this.radioButtonFZHigh.TabIndex = 6;
|
||||
this.radioButtonFZHigh.TabStop = true;
|
||||
this.radioButtonFZHigh.Text = "High";
|
||||
this.radioButtonFZHigh.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonFZLow
|
||||
//
|
||||
this.radioButtonFZLow.AutoSize = true;
|
||||
this.radioButtonFZLow.Location = new System.Drawing.Point(6, 50);
|
||||
this.radioButtonFZLow.Name = "radioButtonFZLow";
|
||||
this.radioButtonFZLow.Size = new System.Drawing.Size(45, 17);
|
||||
this.radioButtonFZLow.TabIndex = 7;
|
||||
this.radioButtonFZLow.TabStop = true;
|
||||
this.radioButtonFZLow.Text = "Low";
|
||||
this.radioButtonFZLow.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButtonFZNone
|
||||
//
|
||||
this.radioButtonFZNone.AutoSize = true;
|
||||
this.radioButtonFZNone.Location = new System.Drawing.Point(6, 67);
|
||||
this.radioButtonFZNone.Name = "radioButtonFZNone";
|
||||
this.radioButtonFZNone.Size = new System.Drawing.Size(51, 17);
|
||||
this.radioButtonFZNone.TabIndex = 9;
|
||||
this.radioButtonFZNone.TabStop = true;
|
||||
this.radioButtonFZNone.Text = "None";
|
||||
this.radioButtonFZNone.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.buttonCancel.Location = new System.Drawing.Point(303, 158);
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.Size = new System.Drawing.Size(75, 25);
|
||||
this.buttonCancel.TabIndex = 19;
|
||||
this.buttonCancel.Text = "Cancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Options
|
||||
//
|
||||
this.AcceptButton = this.buttonOk;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(332, 158);
|
||||
this.CancelButton = this.buttonCancel;
|
||||
this.ClientSize = new System.Drawing.Size(390, 227);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.buttonOk);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.Controls.Add(this.linkLabel1);
|
||||
this.Controls.Add(this.label2);
|
||||
@@ -90,6 +320,12 @@ namespace AudioDataPlugIn
|
||||
this.Text = "Options";
|
||||
this.Load += new System.EventHandler(this.Options_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -101,5 +337,23 @@ namespace AudioDataPlugIn
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.LinkLabel linkLabel1;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.RadioButton radioButtonMBHigh;
|
||||
private System.Windows.Forms.RadioButton radioButtonMBLow;
|
||||
private System.Windows.Forms.RadioButton radioButtonMBMedium;
|
||||
private System.Windows.Forms.RadioButton radioButtonMBNone;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.RadioButton radioButtonFDMedium;
|
||||
private System.Windows.Forms.RadioButton radioButtonFDHigh;
|
||||
private System.Windows.Forms.RadioButton radioButtonFDLow;
|
||||
private System.Windows.Forms.RadioButton radioButtonFDNone;
|
||||
private System.Windows.Forms.Button buttonOk;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.RadioButton radioButtonFZMedium;
|
||||
private System.Windows.Forms.RadioButton radioButtonFZHigh;
|
||||
private System.Windows.Forms.RadioButton radioButtonFZLow;
|
||||
private System.Windows.Forms.RadioButton radioButtonFZNone;
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
}
|
||||
}
|
||||
@@ -6,11 +6,16 @@ using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using CUETools.CTDB.EACPlugin.Properties;
|
||||
using CUETools.CTDB;
|
||||
|
||||
namespace AudioDataPlugIn
|
||||
{
|
||||
public partial class Options : Form
|
||||
{
|
||||
public static CTDBPriority priorityMusicbrainz = CTDBPriority.High;
|
||||
public static CTDBPriority priorityFreedb = CTDBPriority.Medium;
|
||||
public static CTDBPriority priorityFreedbFuzzy = CTDBPriority.Low;
|
||||
|
||||
public Options()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -24,6 +29,34 @@ namespace AudioDataPlugIn
|
||||
private void Options_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Icon = Resources.ctdb;
|
||||
this.radioButtonMBHigh.Checked = priorityMusicbrainz == CTDBPriority.High;
|
||||
this.radioButtonMBMedium.Checked = priorityMusicbrainz == CTDBPriority.Medium;
|
||||
this.radioButtonMBLow.Checked = priorityMusicbrainz == CTDBPriority.Low;
|
||||
this.radioButtonMBNone.Checked = priorityMusicbrainz == CTDBPriority.None;
|
||||
this.radioButtonFDHigh.Checked = priorityFreedb == CTDBPriority.High;
|
||||
this.radioButtonFDMedium.Checked = priorityFreedb == CTDBPriority.Medium;
|
||||
this.radioButtonFDLow.Checked = priorityFreedb == CTDBPriority.Low;
|
||||
this.radioButtonFDNone.Checked = priorityFreedb == CTDBPriority.None;
|
||||
this.radioButtonFZHigh.Checked = priorityFreedbFuzzy == CTDBPriority.High;
|
||||
this.radioButtonFZMedium.Checked = priorityFreedbFuzzy == CTDBPriority.Medium;
|
||||
this.radioButtonFZLow.Checked = priorityFreedbFuzzy == CTDBPriority.Low;
|
||||
this.radioButtonFZNone.Checked = priorityFreedbFuzzy == CTDBPriority.None;
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
priorityMusicbrainz = this.radioButtonMBHigh.Checked ? CTDBPriority.High
|
||||
: this.radioButtonMBMedium.Checked ? CTDBPriority.Medium
|
||||
: this.radioButtonMBLow.Checked ? CTDBPriority.Low
|
||||
: CTDBPriority.None;
|
||||
priorityFreedb = this.radioButtonFDHigh.Checked ? CTDBPriority.High
|
||||
: this.radioButtonFDMedium.Checked ? CTDBPriority.Medium
|
||||
: this.radioButtonFDLow.Checked ? CTDBPriority.Low
|
||||
: CTDBPriority.None;
|
||||
priorityFreedbFuzzy = this.radioButtonFZHigh.Checked ? CTDBPriority.High
|
||||
: this.radioButtonFZMedium.Checked ? CTDBPriority.Medium
|
||||
: this.radioButtonFZLow.Checked ? CTDBPriority.Low
|
||||
: CTDBPriority.None;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace CUETools.CTDB
|
||||
}
|
||||
}
|
||||
|
||||
public void ContactDB(string server, string userAgent, string driveName, bool musicbrainz, bool fuzzy)
|
||||
public void ContactDB(string server, string userAgent, string driveName, bool ctdb, bool fuzzy, CTDBPriority musicbrainz, CTDBPriority freedb, CTDBPriority freedbFuzzy)
|
||||
{
|
||||
this.driveName = driveName;
|
||||
this.userAgent = userAgent + " (" + Environment.OSVersion.VersionString + ")" + (driveName != null ? " (" + driveName + ")" : "");
|
||||
@@ -65,7 +65,10 @@ namespace CUETools.CTDB
|
||||
this.total = 0;
|
||||
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlbase
|
||||
+ "/lookup2.php?musicbrainz=" + (musicbrainz ? 1 : 0)
|
||||
+ "/lookup2.php"
|
||||
+ "?ctdb=" + (ctdb ? "1" : "0")
|
||||
+ "&musicbrainz=" + ((int)musicbrainz).ToString()
|
||||
+ "&freedb=" + ((int)freedb + 8 * (int)freedbFuzzy).ToString()
|
||||
+ "&fuzzy=" + (fuzzy ? 1 : 0)
|
||||
+ "&toc=" + toc.ToString());
|
||||
req.Method = "GET";
|
||||
@@ -419,6 +422,20 @@ namespace CUETools.CTDB
|
||||
}
|
||||
}
|
||||
|
||||
public int Confidence
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.QueryExceptionStatus != WebExceptionStatus.Success)
|
||||
return 0;
|
||||
int res = 0;
|
||||
foreach (DBEntry entry in this.Entries)
|
||||
if (entry.toc.ToString() == this.toc.ToString() && !entry.hasErrors)
|
||||
res += entry.conf;
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
public DBEntry MatchingEntry
|
||||
{
|
||||
get
|
||||
@@ -738,6 +755,8 @@ namespace CUETools.CTDB
|
||||
public string name { get; set; }
|
||||
[XmlAttribute]
|
||||
public string artist { get; set; }
|
||||
[XmlAttribute]
|
||||
public string extra { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
@@ -753,7 +772,9 @@ namespace CUETools.CTDB
|
||||
public class CTDBResponseMeta
|
||||
{
|
||||
[XmlAttribute]
|
||||
public string release_gid { get; set; }
|
||||
public string source { get; set; }
|
||||
[XmlAttribute]
|
||||
public string id { get; set; }
|
||||
[XmlAttribute]
|
||||
public string artist { get; set; }
|
||||
[XmlAttribute]
|
||||
@@ -763,6 +784,8 @@ namespace CUETools.CTDB
|
||||
[XmlAttribute]
|
||||
public string genre { get; set; }
|
||||
[XmlAttribute]
|
||||
public string extra { get; set; }
|
||||
[XmlAttribute]
|
||||
public string country { get; set; }
|
||||
[XmlAttribute]
|
||||
public string releasedate { get; set; }
|
||||
@@ -793,4 +816,12 @@ namespace CUETools.CTDB
|
||||
[XmlElement]
|
||||
public CTDBResponseMeta[] musicbrainz;
|
||||
}
|
||||
|
||||
public enum CTDBPriority
|
||||
{
|
||||
None = 0,
|
||||
High = 1,
|
||||
Medium = 2,
|
||||
Low = 3
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,6 +245,7 @@ namespace CUETools.Processor
|
||||
this.Barcode = cdEntry.barcode ?? "";
|
||||
this.ReleaseDate = cdEntry.releasedate ?? "";
|
||||
this.Country = cdEntry.country ?? "";
|
||||
this.Genre = cdEntry.genre ?? "";
|
||||
this.Label = "";
|
||||
if (cdEntry.label != null)
|
||||
foreach (var l in cdEntry.label)
|
||||
|
||||
@@ -129,6 +129,10 @@ namespace CUETools.Processor
|
||||
|
||||
public DateTime VerificationDate { get; set; }
|
||||
|
||||
public DateTime CTDBVerificationDate { get; set; }
|
||||
|
||||
public int CTDBConfidence { get; set; }
|
||||
|
||||
[XmlIgnore]
|
||||
public string Path
|
||||
{
|
||||
@@ -2207,7 +2211,7 @@ return processor.Go();
|
||||
_localDB.Save();
|
||||
}
|
||||
|
||||
public List<object> LookupAlbumInfo(bool useFreedb, bool useCTDB, bool useCache, bool useCUE)
|
||||
public List<object> LookupAlbumInfo(bool useCache, bool useCUE, bool useCTDB, CTDBPriority priorityMusicbrainz, CTDBPriority priorityFreedb, CTDBPriority priorityFreedbFuzzy)
|
||||
{
|
||||
List<object> Releases = new List<object>();
|
||||
|
||||
@@ -2264,18 +2268,18 @@ return processor.Go();
|
||||
{
|
||||
ShowProgress("Looking up album via CTDB...", 0.0, null, null);
|
||||
var ctdb = new CUEToolsDB(TOC, proxy);
|
||||
ctdb.ContactDB(_config.advanced.CTDBServer, "CUETools " + CUEToolsVersion, null, true, true);
|
||||
ctdb.ContactDB(_config.advanced.CTDBServer, "CUETools " + CUEToolsVersion, null, false, false, priorityMusicbrainz, priorityFreedb, priorityFreedbFuzzy);
|
||||
foreach (var meta in ctdb.Metadata)
|
||||
{
|
||||
CUEMetadata metadata = new CUEMetadata(TOC.TOCID, (int)TOC.AudioTracks);
|
||||
metadata.FillFromCtdb(meta, TOC.FirstAudio - 1);
|
||||
CDImageLayout toc = TOC; // TocFromCDEntry(meta);
|
||||
Releases.Add(new CUEMetadataEntry(metadata, toc, "ctdb"));
|
||||
Releases.Add(new CUEMetadataEntry(metadata, toc, meta.source));
|
||||
ctdbFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (useFreedb)
|
||||
if (!ctdbFound && priorityFreedb != CTDBPriority.None)
|
||||
{
|
||||
ShowProgress("Looking up album via Freedb...", 0.0, null, null);
|
||||
|
||||
@@ -3192,13 +3196,13 @@ return processor.Go();
|
||||
// TODO: It should also be set when assigning a DataTrack!!!
|
||||
}
|
||||
|
||||
public void UseCUEToolsDB(string userAgent, string driveName, bool meta, bool fuzzy)
|
||||
public void UseCUEToolsDB(string userAgent, string driveName, bool fuzzy, CTDBPriority musicbrainz, CTDBPriority freedb, CTDBPriority freedbFuzzy)
|
||||
{
|
||||
ShowProgress((string)"Contacting CUETools database...", 0, null, null);
|
||||
|
||||
_CUEToolsDB = new CUEToolsDB(_toc, proxy);
|
||||
_CUEToolsDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
|
||||
_CUEToolsDB.ContactDB(_config.advanced.CTDBServer, userAgent, driveName, meta, fuzzy);
|
||||
_CUEToolsDB.ContactDB(_config.advanced.CTDBServer, userAgent, driveName, true, fuzzy, musicbrainz, freedb, freedbFuzzy);
|
||||
|
||||
if (!_toc[_toc.TrackCount].IsAudio && DataTrackLength == 0)
|
||||
foreach (DBEntry e in _CUEToolsDB.Entries)
|
||||
@@ -4133,7 +4137,7 @@ return processor.Go();
|
||||
}
|
||||
}
|
||||
|
||||
public readonly static string CUEToolsVersion = "2.1.2";
|
||||
public readonly static string CUEToolsVersion = "2.1.2a";
|
||||
|
||||
public void GenerateAccurateRipLog(TextWriter sw)
|
||||
{
|
||||
@@ -4192,10 +4196,10 @@ return processor.Go();
|
||||
FindBestOffset(1, false, out tracksMatch, out bestOffset);
|
||||
if (bestOffset != 0)
|
||||
prefix += string.Format("offset {0}, ", bestOffset);
|
||||
if (tracksMatch == TrackCount)
|
||||
if (_arVerify.WorstConfidence() > 0)
|
||||
prefix += string.Format("rip accurate ({0}/{1})", _arVerify.WorstConfidence(), _arVerify.WorstTotal());
|
||||
else
|
||||
prefix += string.Format("rip not accurate ({0}/{1})", _arVerify.WorstConfidence(), _arVerify.WorstTotal());
|
||||
prefix += string.Format("rip not accurate ({0}/{1})", 0, _arVerify.WorstTotal());
|
||||
}
|
||||
}
|
||||
if (!_useCUEToolsDBFix && _useCUEToolsDB)
|
||||
@@ -4342,11 +4346,27 @@ return processor.Go();
|
||||
|
||||
if (_action == CUEAction.Verify && _useLocalDB)
|
||||
{
|
||||
var now = DateTime.Now;
|
||||
var entry = OpenLocalDBEntry();
|
||||
entry.Status = this.GenerateAccurateRipStatus();
|
||||
entry.ARConfidence = _arVerify.WorstConfidence();
|
||||
entry.ARConfidence = _useAccurateRip ? _arVerify.WorstConfidence() : 0;
|
||||
entry.CTDBConfidence = _useCUEToolsDB && !_useCUEToolsDBFix ? CTDB.Confidence : 0;
|
||||
entry.Log = AccurateRipLog;
|
||||
entry.VerificationDate = DateTime.Now;
|
||||
entry.VerificationDate =
|
||||
_useAccurateRip &&
|
||||
(_arVerify.ExceptionStatus == WebExceptionStatus.Success ||
|
||||
(_arVerify.ExceptionStatus == WebExceptionStatus.ProtocolError &&
|
||||
_arVerify.ResponseStatus == HttpStatusCode.NotFound
|
||||
)
|
||||
) ? now : DateTime.MinValue;
|
||||
entry.CTDBVerificationDate =
|
||||
_useCUEToolsDB &&
|
||||
!_useCUEToolsDBFix &&
|
||||
(CTDB.QueryExceptionStatus == WebExceptionStatus.Success ||
|
||||
(CTDB.QueryExceptionStatus == WebExceptionStatus.ProtocolError &&
|
||||
CTDB.QueryResponseStatus == HttpStatusCode.NotFound
|
||||
)
|
||||
) ? now : DateTime.MinValue;
|
||||
entry.OffsetSafeCRC = _arVerify.OffsetSafeCRC;
|
||||
}
|
||||
|
||||
@@ -6196,7 +6216,7 @@ return processor.Go();
|
||||
return ArVerify.ExceptionStatus != WebExceptionStatus.Success ? WriteReport() : Go();
|
||||
case "repair":
|
||||
{
|
||||
UseCUEToolsDB("CUETools " + CUEToolsVersion, null, false, true);
|
||||
UseCUEToolsDB("CUETools " + CUEToolsVersion, null, true, CTDBPriority.None, CTDBPriority.None, CTDBPriority.None);
|
||||
Action = CUEAction.Verify;
|
||||
if (CTDB.DBStatus != null)
|
||||
return CTDB.DBStatus;
|
||||
|
||||
@@ -180,7 +180,7 @@ namespace CUETools.ConsoleRipper
|
||||
string ArId = AccurateRipVerify.CalculateAccurateRipId(audioSource.TOC);
|
||||
var ctdb = new CUEToolsDB(audioSource.TOC, null);
|
||||
ctdb.Init(arVerify);
|
||||
ctdb.ContactDB(null, "CUETools.ConsoleRipper 2.1.2", audioSource.ARName, true, false);
|
||||
ctdb.ContactDB(null, "CUETools.ConsoleRipper 2.1.2", audioSource.ARName, true, false, CTDBPriority.High, CTDBPriority.Medium, CTDBPriority.Low);
|
||||
arVerify.ContactAccurateRip(ArId);
|
||||
CTDBResponseMeta meta = null;
|
||||
foreach (var imeta in ctdb.Metadata)
|
||||
|
||||
@@ -40,6 +40,7 @@ using CUETools.Processor;
|
||||
using CUETools.CDImage;
|
||||
using CUETools.Compression;
|
||||
using CUETools.AccurateRip;
|
||||
using CUETools.CTDB;
|
||||
|
||||
namespace JDP {
|
||||
public partial class frmCUETools : Form {
|
||||
@@ -582,7 +583,7 @@ namespace JDP {
|
||||
{
|
||||
get
|
||||
{
|
||||
return "CUETools 2.1.0";
|
||||
return "CUETools 2.1.2";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -887,7 +888,7 @@ namespace JDP {
|
||||
if (useLocalDB)
|
||||
cueSheet.UseLocalDB(_localDB);
|
||||
if (useCUEToolsDB)
|
||||
cueSheet.UseCUEToolsDB("CUETools " + CUESheet.CUEToolsVersion, null, false, true);
|
||||
cueSheet.UseCUEToolsDB("CUETools " + CUESheet.CUEToolsVersion, null, true, CTDBPriority.None, CTDBPriority.None, CTDBPriority.None);
|
||||
if (useAR)
|
||||
cueSheet.UseAccurateRip();
|
||||
|
||||
@@ -920,7 +921,12 @@ namespace JDP {
|
||||
if (_choiceMaxed)
|
||||
dlg.WindowState = FormWindowState.Maximized;
|
||||
dlg.CUE = cueSheet;
|
||||
dlg.LookupAlbumInfo(checkBoxUseFreeDb.Checked, checkBoxUseMusicBrainz.Checked, _profile._config.advanced.CacheMetadata, true);
|
||||
dlg.LookupAlbumInfo(_profile._config.advanced.CacheMetadata,
|
||||
true,
|
||||
true,
|
||||
checkBoxUseMusicBrainz.Checked ? CTDBPriority.High : CTDBPriority.None,
|
||||
checkBoxUseFreeDb.Checked ? CTDBPriority.High : CTDBPriority.None,
|
||||
checkBoxUseFreeDb.Checked ? CTDBPriority.Low : CTDBPriority.None);
|
||||
dlgRes = dlg.ShowDialog(this);
|
||||
_choiceMaxed = dlg.WindowState == FormWindowState.Maximized;
|
||||
if (!_choiceMaxed)
|
||||
@@ -2177,7 +2183,7 @@ namespace JDP {
|
||||
if (_choiceMaxed)
|
||||
dlg.WindowState = FormWindowState.Maximized;
|
||||
dlg.CUE = CueSheet;
|
||||
dlg.LookupAlbumInfo(true, true, true, node is FileSystemTreeNodeLocalDBEntry);
|
||||
dlg.LookupAlbumInfo(true, node is FileSystemTreeNodeLocalDBEntry, true, CTDBPriority.High, CTDBPriority.Medium, CTDBPriority.Low);
|
||||
var dlgRes = dlg.ShowDialog(this);
|
||||
_choiceMaxed = dlg.WindowState == FormWindowState.Maximized;
|
||||
if (!_choiceMaxed)
|
||||
|
||||
@@ -2891,7 +2891,7 @@
|
||||
<value>700, 538</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>CUETools 2.1.2</value>
|
||||
<value>CUETools 2.1.2a</value>
|
||||
</data>
|
||||
<data name=">>toolStripStatusLabel1.Name" xml:space="preserve">
|
||||
<value>toolStripStatusLabel1</value>
|
||||
|
||||
6
CUETools/frmChoice.Designer.cs
generated
6
CUETools/frmChoice.Designer.cs
generated
@@ -143,7 +143,9 @@ namespace JDP
|
||||
this.listMetadata.Name = "listMetadata";
|
||||
this.listMetadata.UseCompatibleStateImageBehavior = false;
|
||||
this.listMetadata.View = System.Windows.Forms.View.Details;
|
||||
this.listMetadata.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listMetadata_AfterLabelEdit);
|
||||
this.listMetadata.DoubleClick += new System.EventHandler(this.listMetadata_DoubleClick);
|
||||
this.listMetadata.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listMetadata_KeyDown);
|
||||
//
|
||||
// columnHeaderMetadataValue
|
||||
//
|
||||
@@ -167,7 +169,11 @@ namespace JDP
|
||||
this.listTracks.Name = "listTracks";
|
||||
this.listTracks.UseCompatibleStateImageBehavior = false;
|
||||
this.listTracks.View = System.Windows.Forms.View.Details;
|
||||
this.listTracks.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listTracks_AfterLabelEdit);
|
||||
this.listTracks.DoubleClick += new System.EventHandler(this.listTracks_DoubleClick);
|
||||
this.listTracks.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.listTracks_PreviewKeyDown);
|
||||
this.listTracks.BeforeLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listTracks_BeforeLabelEdit);
|
||||
this.listTracks.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listTracks_KeyDown);
|
||||
//
|
||||
// Title
|
||||
//
|
||||
|
||||
@@ -8,6 +8,7 @@ using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using CUETools.CDImage;
|
||||
using CUETools.Processor;
|
||||
using CUETools.CTDB;
|
||||
|
||||
namespace JDP
|
||||
{
|
||||
@@ -20,15 +21,18 @@ namespace JDP
|
||||
|
||||
public CUESheet CUE;
|
||||
|
||||
private bool freedb, ctdb;
|
||||
private bool ctdb;
|
||||
private CTDBPriority priorityMusicbrainz, priorityFreedb, priorityFreedbFuzzy;
|
||||
|
||||
public void LookupAlbumInfo(bool freedb, bool ctdb, bool cache, bool cue)
|
||||
public void LookupAlbumInfo(bool cache, bool cue, bool ctdb, CTDBPriority priorityMusicbrainz, CTDBPriority priorityFreedb, CTDBPriority priorityFreedbFuzzy)
|
||||
{
|
||||
this.freedb = freedb;
|
||||
this.ctdb = ctdb;
|
||||
var releases = CUE.LookupAlbumInfo(false, false, cache, cue);
|
||||
this.priorityMusicbrainz = priorityMusicbrainz;
|
||||
this.priorityFreedb = priorityFreedb;
|
||||
this.priorityFreedbFuzzy = priorityFreedbFuzzy;
|
||||
var releases = CUE.LookupAlbumInfo(cache, cue, false, CTDBPriority.None, CTDBPriority.None, CTDBPriority.None);
|
||||
this.Choices = releases;
|
||||
if (freedb || ctdb)
|
||||
if (ctdb || priorityMusicbrainz != CTDBPriority.None || priorityFreedb != CTDBPriority.None || priorityFreedbFuzzy != CTDBPriority.None)
|
||||
backgroundWorker1.RunWorkerAsync(null);
|
||||
}
|
||||
|
||||
@@ -266,8 +270,37 @@ namespace JDP
|
||||
|
||||
private void listMetadata_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
CUEMetadataEntry r = ChosenRelease;
|
||||
if (e.KeyCode == Keys.F2)
|
||||
listMetadata.FocusedItem.BeginEdit();
|
||||
if (e.KeyCode == Keys.Delete && r != null)
|
||||
{
|
||||
foreach (int i in listMetadata.SelectedIndices)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
foreach (CUETrackMetadata track in r.metadata.Tracks)
|
||||
if (track.Artist == r.metadata.Artist)
|
||||
track.Artist = "";
|
||||
r.metadata.Artist = "";
|
||||
break;
|
||||
case 1: r.metadata.Title = ""; break;
|
||||
case 2: r.metadata.Year = ""; break;
|
||||
case 3: r.metadata.Genre = ""; break;
|
||||
case 4: r.metadata.DiscNumber = ""; break;
|
||||
case 5: r.metadata.TotalDiscs = ""; break;
|
||||
case 6: r.metadata.DiscName = ""; break;
|
||||
case 7: r.metadata.Barcode = ""; break;
|
||||
case 8: r.metadata.ReleaseDate = ""; break;
|
||||
case 9: r.metadata.Label = ""; break;
|
||||
case 10: r.metadata.Country = ""; break;
|
||||
}
|
||||
listMetadata.Items[i].Text = "";
|
||||
}
|
||||
ListViewItem item = ChosenItem;
|
||||
item.Text = r.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private void listMetadata_AfterLabelEdit(object sender, LabelEditEventArgs e)
|
||||
@@ -307,7 +340,7 @@ namespace JDP
|
||||
|
||||
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
e.Result = CUE.LookupAlbumInfo(this.freedb, this.ctdb, false, false);
|
||||
e.Result = CUE.LookupAlbumInfo(false, false, this.ctdb, this.priorityMusicbrainz, this.priorityFreedb, this.priorityFreedbFuzzy);
|
||||
}
|
||||
|
||||
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||
|
||||
@@ -166,142 +166,142 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB+
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB4
|
||||
HwAAAk1TRnQBSQFMAgEBBwEAAQwBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIB4AAx0BKgNDAXcDHQEqeAABKAInATsBWgFUAU4BlAGFAXABWwHOAaIBfgFZ
|
||||
AesBogF+AVkB6wGFAXABWwHOAVoBVAFOAZQCAAHiAf8CAAHiAf9UAAMdASkDQgF0Av8B8AH/A0IBdAMd
|
||||
ASlsAAMKAQ0BWgFUAU8BlgGvAYIBVQH6AeEBzQG5Af8B8QHgAc4B/wH5AecB1gH/AfgB5gHUAf8B8AHd
|
||||
AcwB/wHhAc0BuQH/AgAB4gH/AgAB4gH/AwoBDUwAAxwBKANAAXEC/wHwAf8C6QHaA/8B8QH/A0ABcQMc
|
||||
ASggAAM2AVkDQgF2A0IBdgMwAUsEAAMwAUsDQgF2A0IBdgNCAXYDQgF2AzABSwQAAzABSwNCAXYDQgF2
|
||||
AzYBWQQAAwoBDQFzAWUBVwG4AdkBvwGlAf8B/gHyAeQC/wHnAc8B/wH8AdsBuwH/AfkB0wGyAf8B9gHQ
|
||||
AawB/wH0AdEBrgH/AfYB2AG7Af8CAAHiAf8CAAHiAf8BcwFlAVcBuAMKAQ1EAAMcAScDQAFvAv8B8AH/
|
||||
AesB3QGxAf8B9wHBATQB/wHtAd8BswP/AfIB/wNAAW8DHAEnHAADQQFyAvkB6QH/AvMB4wH/AlkBVgG1
|
||||
A0MBeANfAcMC8wHjAf8C8wHjAf8C8wHjAf8C8wHjAf8DXwHDA0MBeAJZAVYBtQLzAeMB/wL5AekB/wNB
|
||||
AXIEAAFaAVQBTwGWAdkBvwGlAv8B+AHrAv8B6wHRAv8B4QHDAf8B/gHbAboB/wH7AdYBsgH/AgAB4gH/
|
||||
AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/QAADQAFuAv8B8AH/AukB2gH/
|
||||
AecBqwEeAf8B5wGrAR4B/wHnAasBHgH/AeoB2wGwA/8B9AH/A0ABbgMcAScYAANAAW8C9AHmAf8C6QHa
|
||||
Af8C7wHgAf8C9AHmAf8C7wHgAf8C6QHaAf8C6QHaAf8C6QHaAf8C6QHaAf8C7wHgAf8C9AHmAf8C7wHg
|
||||
Af8C6QHaAf8C9AHmAf8DQAFvAyYBOAG2AYcBVQH9Av4B+gL/AfkB6QL/Ae8B2AL/AecBzQL/AeEBwgH/
|
||||
AfwB3AG7Af8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf8CAAHiAf9AAAMc
|
||||
AScDPwFtAv8B8QH/AecB1wGrAf8B1wGWAQkB/wHXAZYBCQH/AdcBlgEJAf8B6AHYAa4D/wH1Af8DPwFt
|
||||
AxwBJxQAA0ABbgL2AegB/wLrAd4B/wLrAd4B/wLrAd4B/wLrAd4B/wLrAd4B/wLrAd4B/wLrAd4B/wLr
|
||||
Ad4B/wLrAd4B/wLrAd4B/wLrAd4B/wLrAd4B/wL2AegB/wNAAW4BWgFUAU8BlgHiAc4BugH/AfcB3gHG
|
||||
Av8B6QHRAv8B9gHiAv8B8gHdAv8B8AHdAf8B+AHqAdkB/wH4AeYB1AH/AfsB3wHHAf8B9QHPAasB/wIA
|
||||
AeIB/wIAAeIB/wH4Ad0BwwH/AeIBzgG6Af8BWgFUAU8BlkQAAxsBJgM/AWwC/wHyAf8B5QHUAakB/wHN
|
||||
AYkBAAH/Ac0BiQEAAf8BzQGJAQAB/wHoAdcBrwP/AfcB/wM/AWwDGwEmEAADPwFtAvcB7AH/Au4B4wH/
|
||||
Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/
|
||||
Au4B4wH/AvcB7AH/Az8BbQGGAXABWwHQAe8B4AHQAf8B5wG+AZYB/wHnAbwBlAH/AfABzAGpAf8B/gHs
|
||||
AdoB/wHdAcQBrAH/AZwBfAFcAecBnAF8AVwB5wHdAcMBqgH/AfgB3QHEAf8CAAHiAf8CAAHiAf8B9QHW
|
||||
AbgB/wHxAd8BzwH/AYYBcAFbAdBIAAMbASYDPgFrAv8B9AH/AecB1gGsAf8B0QGOAQEB/wHRAY4BAQH/
|
||||
AdEBjgEBAf8B7AHbAbMD/wH4Af8DPgFrAxsBJgwAAz4BawL5Ae8B/wLxAegB/wLxAegB/wLxAegB/wLx
|
||||
AegB/wLxAegB/wMAAf8BTAGFAZMB/wG4AssB/wLxAegB/wLxAegB/wLxAegB/wLxAegB/wL5Ae8B/wM+
|
||||
AWsBoQF9AVkB7AH1AeQB1QH/AekBvgGXAf8B6AG8AZYB/wHnAbwBlAH/AfMB3gHKAf8BnAF7AVkB5gMU
|
||||
ARsDFAEbAZwBewFZAeYB9gHjAdMB/wIAAeIB/wIAAeIB/wHtAckBpAH/AfYB5AHSAf8BoQF9AVkB7EwA
|
||||
AxsBJgM+AWsC/wH1Af8B6wHcAbMB/wHfAaEBFAH/Ad8BoQEUAf8B3wGhARQB/wHxAeIBuwP/AfoB/wM+
|
||||
AWsDGwEmCAADPgFqAvoB8wH/AvUB7gH/AvUB7gH/AvUB7gH/AvUB7gH/AvUB7gH/AXcBsQHAAf8B2QH0
|
||||
Av8BOgGcAasB/wG1AdMB1AH/AvUB7gH/AvUB7gH/AvUB7gH/AvoB8wH/Az4BagGhAX0BWQHsAfUB5AHV
|
||||
Af8B6QG/AZkB/wHpAcABmQH/AekBwQGaAf8B8wHdAckB/wGcAXsBWQHmAxQBGwMUARsBnAF7AVkB5gH4
|
||||
AegB2QH/AfIB0gGyAf8B8AHMAasB/wHwAcwBqwH/AfYB5AHTAf8BoQF9AVkB7FAAAxsBJgM+AWoC/wH3
|
||||
Af8B8gHkAbsB/wHwAbgBKwH/AfABuAErAf8B8AG4ASsB/wL4AfQD/wH7Af8DPgFqAxoBJQQAAz0BaQL8
|
||||
AfcB/wL4AfMB/wL4AfMB/wL4AfMB/wL4AfMB/wL4AfMB/wHUAeYB5wH/AUQBtAHDAf8BdAHmAfcB/wE7
|
||||
AZ0BrQH/AbYB1QHXAf8C+AHzAf8C+AHzAf8C/AH3Af8DPQFpAYYBcAFbAdAB8AHhAdEB/wHqAcQBoQH/
|
||||
AekBwQGbAf8B6QHAAZcB/wHxAc4BsgH/AdwBwwGqAf8BnAF8AVwB5wGcAXwBXAHnAd0BxAGsAv8B/AHz
|
||||
Av8B9AHlAv8B7gHaAf8B/AHlAdEB/wHxAeEB0QH/AYYBcAFbAdBUAAMaASUDPQFpAv8B+AH/AfcB6gHD
|
||||
Af8B/QHJATwB/wH5AewBxwH/AvsB9wH/AvwB+QP/AfwB/wM9AWkDGgElAz0BaAL9AfoB/wL7AfcB/wL7
|
||||
AfcB/wL7AfcB/wL7AfcB/wL7AfcB/wL7AfcB/wG+AeUB6AH/AUUBtQHFAf8BdAHmAfcB/wE8AZ4BrgH/
|
||||
AbkB2AHbAf8C+wH3Af8C/QH6Af8DPQFoAVoBVAFPAZYB4gHOAboB/wHxAdIBtgH/AesBwQGbAf8B6wG/
|
||||
AZkC/wHkAdMC/wHoAdsB/wHzAdoBxwH/AfgB8QHkAv8B+AHtAv8B9wHpAv8B/gHxAv8B/AHvAv8B/AHy
|
||||
Af8B4gHOAboB/wFaAVQBTwGWWAADGgElAz0BaAL/AfoB/wL4AfQB/wL7AfcB/wLoAd4B/wLYAckB/wLo
|
||||
Ad4D/wH+Af8DPQFoAz0BaAL+Af0B/wL9AfsB/wL9AfsB/wL9AfsB/wL9AfsB/wL9AfsB/wL9AfsB/wL9
|
||||
AfsB/wHAAeYB6wH/AUYBtQHGAf8BdAHmAfcB/wE8AZ4BrwH/Ab4B2AHcAf8C/gH9Af8DPQFoAyYBOAG2
|
||||
AYcBVQH9AfoB7QHhAf8B7AHHAaMC/wHsAdoF/wH3Ac0BtgH/AewBvQGXAv8B9AHcA/8B9wL/AfcB6AP/
|
||||
AfMD/wH5Af8C/gH5Af8BtgGHAVUB/QMmAThcAAMaASUDPQFoAv8B+wH/AvwB+QH/AssBuwH/BAACywG8
|
||||
A/8B/gH/Az0BaAM9AWck/wHBAegB7gH/AUYBtgHHAf8BdAHmAfcB/wOTAf8D1QH/Az0BZwQAAVoBVAFP
|
||||
AZYB2QG/AaUC/wH6AfAG/wH9AfMB/wHwAcEBowH/Ae4BxgGgAf8B/QHwAdED/wH+Av8B/QHwAv8B/QHx
|
||||
Bf8B2QG/AaUB/wFaAVQBTwGWZAADGgElAz0BZwL/AfwB/wLUAcoB/wKvAZ8B/wLUAcsD/wH+Af8DPQFn
|
||||
AzEBTQM8AWYDPAFmAzwBZgM8AWYDPAFmAzwBZgM8AWYDPAFmAzwBZgM8AWYDSgGMA1IBpwP3Af8CVgFY
|
||||
AbsDRAF6BAADCgENAXMBZQFXAbgB2QG/AaUB/wH+Af0B/AL/AfEB5AH/AfIBygGuAf8B8gHSAa0B/wH5
|
||||
Ae0ByAP/AfcD/wH9Af8B/gH9AfwB/wHZAb8BpQH/AXMBZQFXAbgDCgENaAADGgEkAz0BZwL/Af4D/wH+
|
||||
A/8B/gX/Az0BZzAAAxoBJAJEAUUBfAKAAv8CUwFdAcEIAAMKAQ0BWgFUAU8BlgGvAYIBVQH6AeEBzQG5
|
||||
Af8B8QHiAdQB/wH5AewB3wH/AfsB8wHlAf8B9AHtAeQB/wHiAc4BuwH/Aa8BggFVAfoBWgFUAU8BlgMK
|
||||
AQ1wAAMaASQDPAFmAzwBZgM8AWYDPAFmAzEBTTQAAyYBOQJSAVgBrwMqAUAQAAEoAicBOwFaAVQBTgGU
|
||||
AYUBcAFbAc4BogF+AVkB6wGjAX8BWAHvAY0BdAFaAdkBWwFUAU8BlwEoAicBO1wAAwIBAwMUARwDMAFM
|
||||
A0QBeQNQAZoDUAGkA1ABmgNEAXkDMAFMAxQBHAMDAQQIAAOWAf8BGgIAAf8BGgIAAf8BGgIAAf8BGgIA
|
||||
Af8BGgIAAf8BGgIAAf8BGgIAAf8BGgIAAf8BGgIAAf8BGgIAAf8BGgIAAf8BGgIAAf8BGgIAAf8BGgIA
|
||||
Af8BGgIAAf8EAAFNAcwC/wEaApkB/wEaApkB/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFN
|
||||
AcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/xAAAwIBAwMUARwDMAFMA0QBeQNQAZoDUAGk
|
||||
A1ABmgNEAXkDMAFMAxQBHAMDAQQQAAMEAQYDJAE2A1MBsAFjAl4B5QFtAl8B+wGzAqkB/wFtAmAB+wNg
|
||||
AesDWgHTA1MBrANHAYIDKAE8AwcBCQQAAcwCmQH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/A+oB/wPq
|
||||
Af8D6gH/AYACAAH/A+oB/wPqAf8D6gH/AYACAAH/AYACAAH/AU0CAAH/ARoCAAH/ARoCmQH/AwAB/wMQ
|
||||
Af8DNAH/AwAB/wMDAf8BTQHMAv8BTQHMAv8BTQHMAv8BTQHMAv8BTQHMAv8BTQHMAv8BTQHMAv8BTQHM
|
||||
Av8BTQHMAv8BTQHMAv8IAAMEAQYDJAE2A1MBsAFjAl4B5QFtAl8B+wGzAqkB/wFtAmAB+wNgAesDWgHT
|
||||
A1MBrANHAYIDKAE8AwcBCQgAAwIBAwMxAU8DXAHqAc8CtAL/At0C/wLiAv8C6AL/Au4C/wLzAf8DzwH/
|
||||
A18B8wNYAcYDTAGSAygBPAMDAQQBzAKZAf8BgAIAAf8BgAIAAf8BgAIAAf8D8QH/AYACAAH/AYACAAH/
|
||||
A/EB/wGAAgAB/wPxAf8BgAIAAf8BgAIAAf8D8QH/AYACAAH/AYACAAH/ARoCAAH/AwAB/wPMDf8DNAH/
|
||||
AwMB/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wQA
|
||||
AwIBAwMxAU8DXAHqAc8CtAL/At0C/wLiAv8C6AL/Au4C/wLzAf8DzwH/A18B8wNYAcYDTAGSAygBPAMD
|
||||
AQQEAAMmATgDbQH3AfUCxwL/AtIC/wLYAv8C3QL/AuIC/wLoAv8C9AX/A/UB/wOAAfsDWAHGA0cBggMU
|
||||
ARwBzAKZAf8BmQEAARoB/wGAAgAB/wGAAgAF/wGAAgAB/wGAAgAF/wGAAgAF/wGAAgAB/wGAAgAF/wGA
|
||||
AgAB/wGAAgAB/wEaAgAB/wMAAf8DzBH/AwAB/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wFN
|
||||
AcwC/wFNAcwC/wFNAcwC/wFNAcwC/wQAAyYBOANtAfcB9QLHAv8C0gL/AtgC/wLdAv8C4gL/AugC/wL0
|
||||
Bf8D9QH/A4AB+wNYAcYDRwGCAxQBHAMHAQkDXgHdAfUCzQL/As8C/wLNAv8C0gL/AtgC/wLdAv8C4gL/
|
||||
AvoJ/wP1Af8DXwHzA1MBrAMwAUwBzAKZAf8BmQEAARoB/wGAAgAB/wGAAgAB/wGAAgAN/wGAAgAN/wGA
|
||||
AgAB/wGAAgAB/wGAAgAB/wEaAgAB/wEaApkB/wMDAf8DXgH/A8AB/wPAAf8DzAH/AwAB/wMQAf8DAAH/
|
||||
AwAB/wMAAf8DAAH/AxAB/wFNAcwC/wFNAcwC/wFNAcwC/wMHAQkDXgHdAfUCzQL/As8C/wLNAv8C0gL/
|
||||
AtgC/wLdAv8C4gL/AvoJ/wP1Af8DXwHzA1MBrAMwAUwDPgFqAcYCsQL/AtkC/wLUAv8CzwL/As0C/wHU
|
||||
AdsC/wHXAeIC/wHkAeoR/wHSAswB/wNaAdMDQwF3AcwCmQH/AZkBAAEaAf8BgAIAAf8BgAIAAf8BgAIA
|
||||
Af8BgAIAAf8BgAIABf8BgAIABf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BGgIAAf8BTQHM
|
||||
Av8BGgKZAf8DAwH/AwAB/wMABf8DAAH/AwMB/wGkAqAJ/wOZAf8DEAH/AxAB/wFNAcwC/wFNAcwC/wM+
|
||||
AWoBxgKxAv8C2QL/AtQC/wLPAv8CzQL/AdQB2wL/AdcB4gL/AeQB6hH/AdICzAH/A1oB0wNDAXcDVgG2
|
||||
Af8C4wH/AQABFQEWAf8BAAEVARYB/wEAARUBFgL/Ad4B5wH/AQABFQEWAv8B0QHzAf8BAAEVARYC/wH4
|
||||
Av8BVQJbAf8BAAEVARYB/wFVAlsB/wHMApkB/wFcAlUB6gNOAZQBzAKZAf8BmQEAARoB/wGAAgAB/wGA
|
||||
AgAB/wGAAgAB/wGAAgAB/wGAAgAF/wGAAgAF/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEa
|
||||
AgAB/wFNAcwC/wFNAcwC/wFNAcwC/wFNAcwC/wMABf8DAAH/AxAR/wPMAf8DAAH/AU0BzAL/AU0BzAL/
|
||||
A1YBtgH/AuMB/wFVAlsB/wEAARUBFgH/AVUCWwL/Ad4B5wH/AVUCWwH/AQABFQEWAf8BVQJbAv8B+AL/
|
||||
AQABFQEWAf8BAAEVARYB/wEAARUBFgH/AcwCmQH/AVwCVQHqA04BlANhAeIB/wLnAf8BAAEVARYC/wLe
|
||||
Av8C4AL/Ae8B/AH/AQABFQEWAv8B4gH8Af8BAAEVARYB/wH8AfAB+QH/AQABFQEWAf8BzAKZAf8BAAEV
|
||||
ARYB/wHMApkB/wFtAmwB9wNRAaEBzAKZAf8BmQEAARoB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGA
|
||||
AgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEaAgAB/wGZ
|
||||
Ak0B/wGZAk0B/wGZAk0B/wGZAk0B/wMABf8DAAH/AwAB/wM0Af8DzA3/AwAB/wGZAk0B/wGZAk0B/wNh
|
||||
AeIB/wLnAf8BAAEVARYC/wLeAf8BAAEVARYC/wHvAfwB/wEAARUBFgL/AeIB/AH/AQABFQEWAf8B/AHw
|
||||
AfkB/wEAARUBFgH/AcwCmQH/AcwCmQH/AcwCmQH/AW0CbAH3A1EBoQGeAowB/wHpAr4B/wEAARUBFgH/
|
||||
AQABFQEWAf8B+QLWAv8B6QHzAf8BAAEVARYB/wEAARUBFgH/AQABFQEWAf8B+QHoAewB/wEAARUBFgH/
|
||||
AeYCugH/AeYCvQH/AeYCwAH/AaYClAH/A04BlDT/A/EB/wPqAf8DgAH/AZkCTQH/AZkCTQH/AZkCTQH/
|
||||
AZkCTQH/AwAF/wMAAf8DPAH/AwMB/wMAAf8DAAH/AwAF/wMAAf8BmQJNAf8BmQJNAf8BngKMAf8B6QK+
|
||||
Af8BAAEVARYB/wHzAsUB/wH5AtYC/wHpAfMB/wEAARUBFgL/AekB8wH/AQABFQEWAf8B+QHoAewB/wEA
|
||||
ARUBFgH/AQABFQEWAf8B5gK9Af8B5gLAAf8BpgKUAf8DTgGUA10B0gHbAqgB/wEAARUBFgH/AeoCtwH/
|
||||
AfMCzQL/Ae4B/AH/AQABFQEWAv8B0gH1Af8BAAEVARYC/wH0AfwB/wEAARUBFgL/AtgB/wEAARUBFgL/
|
||||
AuIB/wNiAfYDQwF3BP8BmQEAARoJ/wGAAgAN/wGAAgAB/wGAAgAN/wGAAgAB/wGAAgAB/wOAAf8BmQJN
|
||||
Af8BmQJNAf8BmQJNAf8BmQJNAf8DAAX/AwMB/wMAAf8DEAH/AzwB/wM8Af8DAAX/AwAB/wGZAk0B/wGZ
|
||||
Ak0B/wNdAdIB2wKoAf8BAAEVARYB/wHqArcB/wEAARUBFgL/Ae4B/AH/AQABFQEWAv8B0gH1Af8BAAEV
|
||||
ARYC/wH0AfwB/wEAARUBFgL/AtgC/wLdAv8C4gH/A2IB9gNDAXcDVgGxAdUCogH/AQABFQEWAf8BAAEV
|
||||
ARYB/wEAARUBFgL/AfYC/wFVAlsB/wEAARUBFgH/AVUCWwL/AeAB5wH/AVUCWwH/AQABFQEWAf8BVQJb
|
||||
Av8C3QH/A1oB5AMwAUwE/wGZAQABGgn/AYACAAn/AYACABH/AYACAAH/A/EB/wPqAf8DgAH/AZkCTQH/
|
||||
AZkCTQH/AZkCTQH/AZkCTQH/AwAJ/wOZAf8DEAH/AwAB/wMDAf8DAAX/AwAB/wGZAk0B/wGZAk0B/wNW
|
||||
AbEB1QKiAf8BVQJbAf8BAAEVARYB/wFVAlsC/wH2Av8BAAEVARYC/wHSAfUB/wEAARUBFgL/AeAB5wH/
|
||||
AQABFQEWAf8BAAEVARYB/wEAARUBFgL/At0B/wNaAeQDMAFMAzIBUAHDAr8S/wHsAfEC/wHbAecC/wHZ
|
||||
Ad4C/wLUAv8CzwL/As0C/wLSAf8BxgKtAf8DUwGsAxQBGwT/AZkBAAEaCf8BgAIACf8BgAIAAf8BgAIA
|
||||
Af8BgAIAAf8BgAIABf8BgAIAAf8BgAIAAf8BgAIAAf8BGgIAAf8BmQJNAf8BmQJNAf8BmQJNAf8BmQJN
|
||||
Af8DAAH/A8AN/wPMAf8DRgH/AwAF/wMAAf8BmQJNAf8BmQJNAf8DMgFQAcMCvxL/AewB8QL/AdsB5wL/
|
||||
AdkB3gL/AtQC/wLPAv8CzQL/AtIB/wHGAq0B/wNTAawDFAEbBAADWgHAA/UK/wL+Av8C5wL/AuMC/wLe
|
||||
Av8C2QL/AtQC/wLPAf8B9QLHAf8DXwHjAyMBNAMCAQME/wGZAQABGgH/AYACAAX/AYACAAn/AYACAAn/
|
||||
AYACAAX/AYACAAH/A/EB/wPqAf8BGgIAAf8BmQJNAf8BmQJNAf8BmQJNAf8BmQJNAf8DEAH/AzQB/wPA
|
||||
Gf8DAAH/AZkCTQH/AZkCTQH/BAADWgHAA/UK/wL+Av8C5wL/AuMC/wLeAv8C2QL/AtQC/wLPAf8B9QLH
|
||||
Af8DXwHjAyMBNAMCAQMEAAMXASADYgHvA/UG/wL4Av8C7AL/AucC/wLjAv8C3gL/AtkB/wH1As0B/wNt
|
||||
AfcDMAFNAwQBBgQABP8BmQIaCf8BgAIAAf8BgAIACf8BgAIAAf8BgAIADf8BgAIAAf8BgAIAAf8DhgH/
|
||||
AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AxAB/wMAAf8DEAH/A5kR/wMAAf8BmQJNAf8BmQJN
|
||||
Af8EAAMXASADYgHvA/UG/wL4Av8C7AL/AucC/wLjAv8C3gL/AtkB/wH1As0B/wNtAfcDMAFNAwQBBgwA
|
||||
AxcBIANaAcADxgL/AvcC/wLyAv8C7AL/AucC/wLjAf8BxgKxAf8DXgHQAyQBNgMCAQMIAAT/AZkCGi3/
|
||||
A/EB/wPqAf8DhgH/AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AxAB/wMA
|
||||
Af8DAwH/A14B/wPMBf8DAAH/AZkCTQH/AZkCTQH/CAADFwEgA1oBwAPGAv8C9wL/AvIC/wLsAv8C5wL/
|
||||
AuMB/wHGArEB/wNeAdADJAE2AwIBAxgAAzIBUANRAaIDXQHSAYwCiQH/A2AB1ANUAaYDNwFaAwUBBxAA
|
||||
CP8BzAKZLf8D8QH/A8AB/wQAAZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/AZkCTQH/
|
||||
AZkCTQH/AZkCTQH/AwMB/wMAAf8DNAH/AxAB/wGZAk0B/xQAAzIBUANRAaIDXQHSAYwCiQH/A2AB1ANU
|
||||
AaYDNwFaAwUBBxAAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/8BAAHjA/8B8AEH
|
||||
AgABwQP/AcABAwIAAYAB/wEIARABgAEBAwABfwIAAYAEAAE/BwABHwYAAYABDwYAAcABBwYAAeABAwYA
|
||||
AfABAQYAAfgHAAH8BwAB/gEIAgABgAEBAgAB/wMAAYABAQIAAf8BgAH/AfABwAEDAgAB/wHAAf8B+AHw
|
||||
AQ8CAAHgAQMCAAGAAQEB4AEDAcABAQQAAcABAQGABQABgAEAAYAFAAGAQQABgAUAAYABAAGAAQEEAAGA
|
||||
AQEBwAEDBAABwAEDAfABDwIAAYABAQHwAQ8L
|
||||
AwABIAMAAQEBAAEgBgABIB4AAx0BKgNDAXcDHQEqeAADJwE7AVIBUAFOAZQBdwFqAVwBzgGYAXoBWQHr
|
||||
AZgBegFZAesBdwFqAVwBzgFSAVABTgGUAgAB4gH/AgAB4gH/VAADHQEpA0IBdAL/AfAB/wNCAXQDHQEp
|
||||
bAADCgENAVIBUAFOAZYBrAF/AVMB+gHhAc0BuQH/AfEB4AHOAf8B+QHnAdYB/wH4AeYB1AH/AfAB3QHM
|
||||
Af8B4QHNAbkB/wIAAeIB/wIAAeIB/wMKAQ1MAAMcASgDQAFxAv8B8AH/AukB2gP/AfEB/wNAAXEDHAEo
|
||||
IAADNgFZA0IBdgNCAXYDMAFLBAADMAFLA0IBdgNCAXYDQgF2A0IBdgMwAUsEAAMwAUsDQgF2A0IBdgM2
|
||||
AVkEAAMKAQ0BZgFfAVcBuAHZAb8BpQH/Af4B8gHkAv8B5wHPAf8B/AHbAbsB/wH5AdMBsgH/AfYB0AGs
|
||||
Af8B9AHRAa4B/wH2AdgBuwH/AgAB4gH/AgAB4gH/AWYBXwFXAbgDCgENRAADHAEnA0ABbwL/AfAB/wHr
|
||||
Ad0BsQH/AfcBwQEzAf8B7QHfAbMD/wHyAf8DQAFvAxwBJxwAA0EBcgL5AekB/wLzAeMB/wJWAVUBtQND
|
||||
AXgDXQHDAvMB4wH/AvMB4wH/AvMB4wH/AvMB4wH/A10BwwNDAXgCVgFVAbUC8wHjAf8C+QHpAf8DQQFy
|
||||
BAABUgFQAU4BlgHZAb8BpQL/AfgB6wL/AesB0QL/AeEBwwH/Af4B2wG6Af8B+wHWAbIB/wIAAeIB/wIA
|
||||
AeIB/wIAAeIB/wIAAeIB/wIAAeIB/wIAAeIB/wIAAeIB/wIAAeIB/0AAA0ABbgL/AfAB/wLpAdoB/wHn
|
||||
AasBHQH/AecBqwEdAf8B5wGrAR0B/wHqAdsBsAP/AfQB/wNAAW4DHAEnGAADQAFvAvQB5gH/AukB2gH/
|
||||
Au8B4AH/AvQB5gH/Au8B4AH/AukB2gH/AukB2gH/AukB2gH/AukB2gH/Au8B4AH/AvQB5gH/Au8B4AH/
|
||||
AukB2gH/AvQB5gH/A0ABbwMmATgBtQGHAVQB/QL+AfoC/wH5AekC/wHvAdgC/wHnAc0C/wHhAcIB/wH8
|
||||
AdwBuwH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/QAADHAEn
|
||||
Az8BbQL/AfEB/wHnAdcBqwH/AdcBlgEIAf8B1wGWAQgB/wHXAZYBCAH/AegB2AGuA/8B9QH/Az8BbQMc
|
||||
AScUAANAAW4C9gHoAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHe
|
||||
Af8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C9gHoAf8DQAFuAVIBUAFOAZYB4gHOAboB/wH3Ad4BxgL/
|
||||
AekB0QL/AfYB4gL/AfIB3QL/AfAB3QH/AfgB6gHZAf8B+AHmAdQB/wH7Ad8BxwH/AfUBzwGrAf8CAAHi
|
||||
Af8CAAHiAf8B+AHdAcMB/wHiAc4BugH/AVIBUAFOAZZEAAMbASYDPwFsAv8B8gH/AeUB1AGpAf8BzQGJ
|
||||
AQAB/wHNAYkBAAH/Ac0BiQEAAf8B6AHXAa8D/wH3Af8DPwFsAxsBJhAAAz8BbQL3AewB/wLuAeMB/wLu
|
||||
AeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLu
|
||||
AeMB/wL3AewB/wM/AW0BeAFqAVsB0AHvAeAB0AH/AecBvgGWAf8B5wG8AZQB/wHwAcwBqQH/Af4B7AHa
|
||||
Af8B3QHEAawB/wGRAXcBXAHnAZEBdwFcAecB3QHDAaoB/wH4Ad0BxAH/AgAB4gH/AgAB4gH/AfUB1gG4
|
||||
Af8B8QHfAc8B/wF4AWoBWwHQSAADGwEmAz4BawL/AfQB/wHnAdYBrAH/AdEBjgEAAf8B0QGOAQAB/wHR
|
||||
AY4BAAH/AewB2wGzA/8B+AH/Az4BawMbASYMAAM+AWsC+QHvAf8C8QHoAf8C8QHoAf8C8QHoAf8C8QHo
|
||||
Af8C8QHoAf8DAAH/AUsBhQGTAf8BuALLAf8C8QHoAf8C8QHoAf8C8QHoAf8C8QHoAf8C+QHvAf8DPgFr
|
||||
AZgBegFZAewB9QHkAdUB/wHpAb4BlwH/AegBvAGWAf8B5wG8AZQB/wHzAd4BygH/AZIBdwFZAeYDFAEb
|
||||
AxQBGwGSAXcBWQHmAfYB4wHTAf8CAAHiAf8CAAHiAf8B7QHJAaQB/wH2AeQB0gH/AZgBegFZAexMAAMb
|
||||
ASYDPgFrAv8B9QH/AesB3AGzAf8B3wGhARMB/wHfAaEBEwH/Ad8BoQETAf8B8QHiAbsD/wH6Af8DPgFr
|
||||
AxsBJggAAz4BagL6AfMB/wL1Ae4B/wL1Ae4B/wL1Ae4B/wL1Ae4B/wL1Ae4B/wF2AbEBwAH/AdkB9AL/
|
||||
ATkBnAGrAf8BtQHTAdQB/wL1Ae4B/wL1Ae4B/wL1Ae4B/wL6AfMB/wM+AWoBmAF6AVkB7AH1AeQB1QH/
|
||||
AekBvwGZAf8B6QHAAZkB/wHpAcEBmgH/AfMB3QHJAf8BkgF3AVkB5gMUARsDFAEbAZIBdwFZAeYB+AHo
|
||||
AdkB/wHyAdIBsgH/AfABzAGrAf8B8AHMAasB/wH2AeQB0wH/AZgBegFZAexQAAMbASYDPgFqAv8B9wH/
|
||||
AfIB5AG7Af8B8AG4ASoB/wHwAbgBKgH/AfABuAEqAf8C+AH0A/8B+wH/Az4BagMaASUEAAM9AWkC/AH3
|
||||
Af8C+AHzAf8C+AHzAf8C+AHzAf8C+AHzAf8C+AHzAf8B1AHmAecB/wFDAbQBwwH/AXMB5gH3Af8BOgGd
|
||||
Aa0B/wG2AdUB1wH/AvgB8wH/AvgB8wH/AvwB9wH/Az0BaQF4AWoBWwHQAfAB4QHRAf8B6gHEAaEB/wHp
|
||||
AcEBmwH/AekBwAGXAf8B8QHOAbIB/wHcAcMBqgH/AZEBdwFcAecBkQF3AVwB5wHdAcQBrAL/AfwB8wL/
|
||||
AfQB5QL/Ae4B2gH/AfwB5QHRAf8B8QHhAdEB/wF4AWoBWwHQVAADGgElAz0BaQL/AfgB/wH3AeoBwwH/
|
||||
Af0ByQE7Af8B+QHsAccB/wL7AfcB/wL8AfkD/wH8Af8DPQFpAxoBJQM9AWgC/QH6Af8C+wH3Af8C+wH3
|
||||
Af8C+wH3Af8C+wH3Af8C+wH3Af8C+wH3Af8BvgHlAegB/wFEAbUBxQH/AXMB5gH3Af8BOwGeAa4B/wG5
|
||||
AdgB2wH/AvsB9wH/Av0B+gH/Az0BaAFSAVABTgGWAeIBzgG6Af8B8QHSAbYB/wHrAcEBmwH/AesBvwGZ
|
||||
Av8B5AHTAv8B6AHbAf8B8wHaAccB/wH4AfEB5AL/AfgB7QL/AfcB6QL/Af4B8QL/AfwB7wL/AfwB8gH/
|
||||
AeIBzgG6Af8BUgFQAU4BllgAAxoBJQM9AWgC/wH6Af8C+AH0Af8C+wH3Af8C6AHeAf8C2AHJAf8C6AHe
|
||||
A/8B/gH/Az0BaAM9AWgC/gH9Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7
|
||||
Af8BwAHmAesB/wFFAbUBxgH/AXMB5gH3Af8BOwGeAa8B/wG+AdgB3AH/Av4B/QH/Az0BaAMmATgBtQGH
|
||||
AVQB/QH6Ae0B4QH/AewBxwGjAv8B7AHaBf8B9wHNAbYB/wHsAb0BlwL/AfQB3AP/AfcC/wH3AegD/wHz
|
||||
A/8B+QH/Av4B+QH/AbUBhwFUAf0DJgE4XAADGgElAz0BaAL/AfsB/wL8AfkB/wLLAbsB/wQAAssBvAP/
|
||||
Af4B/wM9AWgDPQFnJP8BwQHoAe4B/wFFAbYBxwH/AXMB5gH3Af8DkwH/A9UB/wM9AWcEAAFSAVABTgGW
|
||||
AdkBvwGlAv8B+gHwBv8B/QHzAf8B8AHBAaMB/wHuAcYBoAH/Af0B8AHRA/8B/gL/Af0B8AL/Af0B8QX/
|
||||
AdkBvwGlAf8BUgFQAU4BlmQAAxoBJQM9AWcC/wH8Af8C1AHKAf8CrwGfAf8C1AHLA/8B/gH/Az0BZwMx
|
||||
AU0DPAFmAzwBZgM8AWYDPAFmAzwBZgM8AWYDPAFmAzwBZgM8AWYDPAFmA0oBjANSAacD9wH/AlYBWAG7
|
||||
A0QBegQAAwoBDQFmAV8BVwG4AdkBvwGlAf8B/gH9AfwC/wHxAeQB/wHyAcoBrgH/AfIB0gGtAf8B+QHt
|
||||
AcgD/wH3A/8B/QH/Af4B/QH8Af8B2QG/AaUB/wFmAV8BVwG4AwoBDWgAAxoBJAM9AWcC/wH+A/8B/gP/
|
||||
Af4F/wM9AWcwAAMaASQCRAFFAXwCgAL/AlUBWwHBCAADCgENAVIBUAFOAZYBrAF/AVMB+gHhAc0BuQH/
|
||||
AfEB4gHUAf8B+QHsAd8B/wH7AfMB5QH/AfQB7QHkAf8B4gHOAbsB/wGsAX8BUwH6AVIBUAFOAZYDCgEN
|
||||
cAADGgEkAzwBZgM8AWYDPAFmAzwBZgMxAU00AAMmATkCUwFWAa8DKgFAEAADJwE7AVIBUAFOAZQBdwFq
|
||||
AVwBzgGYAXoBWQHrAZsBewFYAe8BgAFvAVsB2QFTAVABTwGXAycBO1wAAwIBAwMUARwDMAFMA0QBeQNQ
|
||||
AZoDUAGkA1ABmgNEAXkDMAFMAxQBHAMDAQQIAAOWAf8BGQIAAf8BGQIAAf8BGQIAAf8BGQIAAf8BGQIA
|
||||
Af8BGQIAAf8BGQIAAf8BGQIAAf8BGQIAAf8BGQIAAf8BGQIAAf8BGQIAAf8BGQIAAf8BGQIAAf8BGQIA
|
||||
Af8EAAFMAcwC/wEZApkB/wEZApkB/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFM
|
||||
AcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/xAAAwIBAwMUARwDMAFMA0QBeQNQAZoDUAGkA1ABmgNE
|
||||
AXkDMAFMAxQBHAMDAQQQAAMEAQYDJAE2A1MBsAFjAl4B5QFqAl8B+wGzAqkB/wFqAl8B+wNgAesDWgHT
|
||||
A1MBrANHAYIDKAE8AwcBCQQAAcwCmQH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/A+oB/wPqAf8D6gH/
|
||||
AYACAAH/A+oB/wPqAf8D6gH/AYACAAH/AYACAAH/AUwCAAH/ARkCAAH/ARkCmQH/AwAB/wMPAf8DMwH/
|
||||
AwAB/wMCAf8BTAHMAv8BTAHMAv8BTAHMAv8BTAHMAv8BTAHMAv8BTAHMAv8BTAHMAv8BTAHMAv8BTAHM
|
||||
Av8BTAHMAv8IAAMEAQYDJAE2A1MBsAFjAl4B5QFqAl8B+wGzAqkB/wFqAl8B+wNgAesDWgHTA1MBrANH
|
||||
AYIDKAE8AwcBCQgAAwIBAwMxAU8DXAHqAc8CtAL/At0C/wLiAv8C6AL/Au4C/wLzAf8DzwH/A18B8wNY
|
||||
AcYDTAGSAygBPAMDAQQBzAKZAf8BgAIAAf8BgAIAAf8BgAIAAf8D8QH/AYACAAH/AYACAAH/A/EB/wGA
|
||||
AgAB/wPxAf8BgAIAAf8BgAIAAf8D8QH/AYACAAH/AYACAAH/ARkCAAH/AwAB/wPMDf8DMwH/AwIB/wFM
|
||||
AcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wQAAwIBAwMx
|
||||
AU8DXAHqAc8CtAL/At0C/wLiAv8C6AL/Au4C/wLzAf8DzwH/A18B8wNYAcYDTAGSAygBPAMDAQQEAAMm
|
||||
ATgDbQH3AfUCxwL/AtIC/wLYAv8C3QL/AuIC/wLoAv8C9AX/A/UB/wN/AfsDWAHGA0cBggMUARwBzAKZ
|
||||
Af8BmQEAARkB/wGAAgAB/wGAAgAF/wGAAgAB/wGAAgAF/wGAAgAF/wGAAgAB/wGAAgAF/wGAAgAB/wGA
|
||||
AgAB/wEZAgAB/wMAAf8DzBH/AwAB/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFMAcwC/wFM
|
||||
AcwC/wFMAcwC/wFMAcwC/wQAAyYBOANtAfcB9QLHAv8C0gL/AtgC/wLdAv8C4gL/AugC/wL0Bf8D9QH/
|
||||
A38B+wNYAcYDRwGCAxQBHAMHAQkDXgHdAfUCzQL/As8C/wLNAv8C0gL/AtgC/wLdAv8C4gL/AvoJ/wP1
|
||||
Af8DXwHzA1MBrAMwAUwBzAKZAf8BmQEAARkB/wGAAgAB/wGAAgAB/wGAAgAN/wGAAgAN/wGAAgAB/wGA
|
||||
AgAB/wGAAgAB/wEZAgAB/wEZApkB/wMCAf8DXQH/A8AB/wPAAf8DzAH/AwAB/wMPAf8DAAH/AwAB/wMA
|
||||
Af8DAAH/Aw8B/wFMAcwC/wFMAcwC/wFMAcwC/wMHAQkDXgHdAfUCzQL/As8C/wLNAv8C0gL/AtgC/wLd
|
||||
Av8C4gL/AvoJ/wP1Af8DXwHzA1MBrAMwAUwDPgFqAcYCsQL/AtkC/wLUAv8CzwL/As0C/wHUAdsC/wHX
|
||||
AeIC/wHkAeoR/wHSAswB/wNaAdMDQwF3AcwCmQH/AZkBAAEZAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIA
|
||||
Af8BgAIABf8BgAIABf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BGQIAAf8BTAHMAv8BGQKZ
|
||||
Af8DAgH/AwAB/wMABf8DAAH/AwIB/wGkAqAJ/wOZAf8DDwH/Aw8B/wFMAcwC/wFMAcwC/wM+AWoBxgKx
|
||||
Av8C2QL/AtQC/wLPAv8CzQL/AdQB2wL/AdcB4gL/AeQB6hH/AdICzAH/A1oB0wNDAXcDVgG2Af8C4wH/
|
||||
AQABFAEVAf8BAAEUARUB/wEAARQBFQL/Ad4B5wH/AQABFAEVAv8B0QHzAf8BAAEUARUC/wH4Av8BVAJa
|
||||
Af8BAAEUARUB/wFUAloB/wHMApkB/wFcAlUB6gNOAZQBzAKZAf8BmQEAARkB/wGAAgAB/wGAAgAB/wGA
|
||||
AgAB/wGAAgAB/wGAAgAF/wGAAgAF/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEZAgAB/wFM
|
||||
AcwC/wFMAcwC/wFMAcwC/wFMAcwC/wMABf8DAAH/Aw8R/wPMAf8DAAH/AUwBzAL/AUwBzAL/A1YBtgH/
|
||||
AuMB/wFUAloB/wEAARQBFQH/AVQCWgL/Ad4B5wH/AVQCWgH/AQABFAEVAf8BVAJaAv8B+AL/AQABFAEV
|
||||
Af8BAAEUARUB/wEAARQBFQH/AcwCmQH/AVwCVQHqA04BlANhAeIB/wLnAf8BAAEUARUC/wLeAv8C4AL/
|
||||
Ae8B/AH/AQABFAEVAv8B4gH8Af8BAAEUARUB/wH8AfAB+QH/AQABFAEVAf8BzAKZAf8BAAEUARUB/wHM
|
||||
ApkB/wFtAmwB9wNRAaEBzAKZAf8BmQEAARkB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGA
|
||||
AgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEZAgAB/wGZAkwB/wGZ
|
||||
AkwB/wGZAkwB/wGZAkwB/wMABf8DAAH/AwAB/wMzAf8DzA3/AwAB/wGZAkwB/wGZAkwB/wNhAeIB/wLn
|
||||
Af8BAAEUARUC/wLeAf8BAAEUARUC/wHvAfwB/wEAARQBFQL/AeIB/AH/AQABFAEVAf8B/AHwAfkB/wEA
|
||||
ARQBFQH/AcwCmQH/AcwCmQH/AcwCmQH/AW0CbAH3A1EBoQGeAowB/wHpAr4B/wEAARQBFQH/AQABFAEV
|
||||
Af8B+QLWAv8B6QHzAf8BAAEUARUB/wEAARQBFQH/AQABFAEVAf8B+QHoAewB/wEAARQBFQH/AeYCugH/
|
||||
AeYCvQH/AeYCwAH/AaYClAH/A04BlDT/A/EB/wPqAf8DgAH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/
|
||||
AwAF/wMAAf8DOwH/AwIB/wMAAf8DAAH/AwAF/wMAAf8BmQJMAf8BmQJMAf8BngKMAf8B6QK+Af8BAAEU
|
||||
ARUB/wHzAsUB/wH5AtYC/wHpAfMB/wEAARQBFQL/AekB8wH/AQABFAEVAf8B+QHoAewB/wEAARQBFQH/
|
||||
AQABFAEVAf8B5gK9Af8B5gLAAf8BpgKUAf8DTgGUA10B0gHbAqgB/wEAARQBFQH/AeoCtwH/AfMCzQL/
|
||||
Ae4B/AH/AQABFAEVAv8B0gH1Af8BAAEUARUC/wH0AfwB/wEAARQBFQL/AtgB/wEAARQBFQL/AuIB/wNi
|
||||
AfYDQwF3BP8BmQEAARkJ/wGAAgAN/wGAAgAB/wGAAgAN/wGAAgAB/wGAAgAB/wOAAf8BmQJMAf8BmQJM
|
||||
Af8BmQJMAf8BmQJMAf8DAAX/AwIB/wMAAf8DDwH/AzsB/wM7Af8DAAX/AwAB/wGZAkwB/wGZAkwB/wNd
|
||||
AdIB2wKoAf8BAAEUARUB/wHqArcB/wEAARQBFQL/Ae4B/AH/AQABFAEVAv8B0gH1Af8BAAEUARUC/wH0
|
||||
AfwB/wEAARQBFQL/AtgC/wLdAv8C4gH/A2IB9gNDAXcDVgGxAdUCogH/AQABFAEVAf8BAAEUARUB/wEA
|
||||
ARQBFQL/AfYC/wFUAloB/wEAARQBFQH/AVQCWgL/AeAB5wH/AVQCWgH/AQABFAEVAf8BVAJaAv8C3QH/
|
||||
A1oB5AMwAUwE/wGZAQABGQn/AYACAAn/AYACABH/AYACAAH/A/EB/wPqAf8DgAH/AZkCTAH/AZkCTAH/
|
||||
AZkCTAH/AZkCTAH/AwAJ/wOZAf8DDwH/AwAB/wMCAf8DAAX/AwAB/wGZAkwB/wGZAkwB/wNWAbEB1QKi
|
||||
Af8BVAJaAf8BAAEUARUB/wFUAloC/wH2Av8BAAEUARUC/wHSAfUB/wEAARQBFQL/AeAB5wH/AQABFAEV
|
||||
Af8BAAEUARUB/wEAARQBFQL/At0B/wNaAeQDMAFMAzIBUAHDAr8S/wHsAfEC/wHbAecC/wHZAd4C/wLU
|
||||
Av8CzwL/As0C/wLSAf8BxgKtAf8DUwGsAxQBGwT/AZkBAAEZCf8BgAIACf8BgAIAAf8BgAIAAf8BgAIA
|
||||
Af8BgAIABf8BgAIAAf8BgAIAAf8BgAIAAf8BGQIAAf8BmQJMAf8BmQJMAf8BmQJMAf8BmQJMAf8DAAH/
|
||||
A8AN/wPMAf8DRQH/AwAF/wMAAf8BmQJMAf8BmQJMAf8DMgFQAcMCvxL/AewB8QL/AdsB5wL/AdkB3gL/
|
||||
AtQC/wLPAv8CzQL/AtIB/wHGAq0B/wNTAawDFAEbBAADWgHAA/UK/wL+Av8C5wL/AuMC/wLeAv8C2QL/
|
||||
AtQC/wLPAf8B9QLHAf8DXwHjAyMBNAMCAQME/wGZAQABGQH/AYACAAX/AYACAAn/AYACAAn/AYACAAX/
|
||||
AYACAAH/A/EB/wPqAf8BGQIAAf8BmQJMAf8BmQJMAf8BmQJMAf8BmQJMAf8DDwH/AzMB/wPAGf8DAAH/
|
||||
AZkCTAH/AZkCTAH/BAADWgHAA/UK/wL+Av8C5wL/AuMC/wLeAv8C2QL/AtQC/wLPAf8B9QLHAf8DXwHj
|
||||
AyMBNAMCAQMEAAMXASADYgHvA/UG/wL4Av8C7AL/AucC/wLjAv8C3gL/AtkB/wH1As0B/wNtAfcDMAFN
|
||||
AwQBBgQABP8BmQIZCf8BgAIAAf8BgAIACf8BgAIAAf8BgAIADf8BgAIAAf8BgAIAAf8DhgH/AZkCTAH/
|
||||
AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/Aw8B/wMAAf8DDwH/A5kR/wMAAf8BmQJMAf8BmQJMAf8EAAMX
|
||||
ASADYgHvA/UG/wL4Av8C7AL/AucC/wLjAv8C3gL/AtkB/wH1As0B/wNtAfcDMAFNAwQBBgwAAxcBIANa
|
||||
AcADxgL/AvcC/wLyAv8C7AL/AucC/wLjAf8BxgKxAf8DXgHQAyQBNgMCAQMIAAT/AZkCGS3/A/EB/wPq
|
||||
Af8DhgH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/Aw8B/wMAAf8DAgH/
|
||||
A10B/wPMBf8DAAH/AZkCTAH/AZkCTAH/CAADFwEgA1oBwAPGAv8C9wL/AvIC/wLsAv8C5wL/AuMB/wHG
|
||||
ArEB/wNeAdADJAE2AwIBAxgAAzIBUANRAaIDXQHSAYwCiQH/A2AB1ANUAaYDNwFaAwUBBxAACP8BzAKZ
|
||||
Lf8D8QH/A8AB/wQAAZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/AZkCTAH/
|
||||
AZkCTAH/AwIB/wMAAf8DMwH/Aw8B/wGZAkwB/xQAAzIBUANRAaIDXQHSAYwCiQH/A2AB1ANUAaYDNwFa
|
||||
AwUBBxAAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/8BAAHjA/8B8AEHAgABwQP/
|
||||
AcABAwIAAYAB/wEIARABgAEBAwABfwIAAYAEAAE/BwABHwYAAYABDwYAAcABBwYAAeABAwYAAfABAQYA
|
||||
AfgHAAH8BwAB/gEIAgABgAEBAgAB/wMAAYABAQIAAf8BgAH/AfABwAEDAgAB/wHAAf8B+AHwAQ8CAAHg
|
||||
AQMCAAGAAQEB4AEDAcABAQQAAcABAQGABQABgAEAAYAFAAGAQQABgAUAAYABAAGAAQEEAAGAAQEBwAED
|
||||
BAABwAEDAfABDwIAAYABAQHwAQ8L
|
||||
</value>
|
||||
</data>
|
||||
<data name="listChoices.TabIndex" type="System.Int32, mscorlib">
|
||||
@@ -418,24 +418,6 @@
|
||||
<data name="tableLayoutPanelMeta.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.Text" xml:space="preserve">
|
||||
<value>Value</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.Width" type="System.Int32, mscorlib">
|
||||
<value>240</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.Text" xml:space="preserve">
|
||||
<value>Field</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.Width" type="System.Int32, mscorlib">
|
||||
<value>120</value>
|
||||
</data>
|
||||
<data name="listMetadata.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
@@ -574,6 +556,24 @@
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?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></value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.Text" xml:space="preserve">
|
||||
<value>Value</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.Width" type="System.Int32, mscorlib">
|
||||
<value>240</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.Text" xml:space="preserve">
|
||||
<value>Field</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.Width" type="System.Int32, mscorlib">
|
||||
<value>120</value>
|
||||
</data>
|
||||
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>127, 17</value>
|
||||
</metadata>
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user