feat(data): migrate PR #2309

This commit is contained in:
Azure Pipelines EF Migration Bot 2021-04-03 02:28:57 +00:00 committed by Collin M. Barrett
parent cf2d844491
commit dd825cd615
3 changed files with 84850 additions and 12 deletions

View file

@ -0,0 +1,422 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace FilterLists.Directory.Infrastructure.Migrations.Migrations
{
public partial class _2309 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2425, 22 });
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2472,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2475,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter-domains.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2478,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter-dnsmasq.conf");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2481,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter-hosts.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2484,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter-bind.conf");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2487,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter-unbound.conf");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2612,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter-agh.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2613,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter-ag.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2614,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter-vivaldi.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2640,
column: "Url",
value: "https://curben.gitlab.io/malware-filter/phishing-filter.tpl");
migrationBuilder.InsertData(
table: "FilterLists",
columns: new[] { "Id", "ChatUrl", "Description", "DonateUrl", "EmailAddress", "ForumUrl", "HomeUrl", "IssuesUrl", "LicenseId", "Name", "OnionUrl", "PolicyUrl", "SubmissionUrl" },
values: new object[,]
{
{ 2471, null, "My own Dutch supplement for the Easylist filters", null, null, null, "https://github.com/BPower0036/AdBlockFilters/", "https://github.com/BPower0036/AdBlockFilters/issues", 4, "EasyDutch", null, null, null },
{ 2472, null, "A blocklist of malicious URLs that are being used for malware distribution.", null, null, null, "https://gitlab.com/curben/urlhaus-filter", "https://gitlab.com/curben/urlhaus-filter/issues", 28, "urlhaus-filter (RPZ)", null, null, null },
{ 2473, null, "A blocklist of phishing websites. Based on PhishTank and OpenPhish.", null, null, null, "https://gitlab.com/curben/phishing-filter", "https://gitlab.com/curben/phishing-filter/issues", 8, "phishing-filter (RPZ)", null, null, null }
});
migrationBuilder.InsertData(
table: "Maintainers",
columns: new[] { "Id", "EmailAddress", "Name", "TwitterHandle", "Url" },
values: new object[] { 158, null, "Ming Di Leom", null, "https://mdleom.com/" });
migrationBuilder.InsertData(
table: "FilterListLanguages",
columns: new[] { "FilterListId", "Iso6391" },
values: new object[] { 2471, "nl" });
migrationBuilder.InsertData(
table: "FilterListMaintainers",
columns: new[] { "FilterListId", "MaintainerId" },
values: new object[,]
{
{ 2438, 158 },
{ 2437, 158 },
{ 2424, 158 },
{ 2423, 158 },
{ 2422, 158 },
{ 2421, 158 },
{ 2420, 158 },
{ 2419, 158 },
{ 2328, 158 },
{ 2327, 158 },
{ 2326, 158 },
{ 2325, 158 },
{ 2324, 158 },
{ 2323, 158 },
{ 2171, 158 },
{ 2169, 158 },
{ 2167, 158 },
{ 2165, 158 },
{ 1880, 158 },
{ 1603, 158 },
{ 2472, 158 },
{ 2473, 158 }
});
migrationBuilder.InsertData(
table: "FilterListSyntaxes",
columns: new[] { "FilterListId", "SyntaxId" },
values: new object[,]
{
{ 2473, 25 },
{ 2472, 25 },
{ 2471, 3 }
});
migrationBuilder.InsertData(
table: "FilterListTags",
columns: new[] { "FilterListId", "TagId" },
values: new object[,]
{
{ 2473, 7 },
{ 2472, 6 },
{ 2471, 2 }
});
migrationBuilder.InsertData(
table: "FilterListViewUrls",
columns: new[] { "Id", "FilterListId", "Primariness", "Url" },
values: new object[,]
{
{ 2681, 2473, (short)1, "https://curben.gitlab.io/malware-filter/phishing-filter-rpz.conf" },
{ 2680, 2472, (short)1, "https://curben.gitlab.io/malware-filter/urlhaus-filter-rpz-online.conf" },
{ 2679, 2471, (short)1, "https://raw.githubusercontent.com/BPower0036/AdBlockFilters/main/easydutch" }
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "FilterListLanguages",
keyColumns: new[] { "FilterListId", "Iso6391" },
keyValues: new object[] { 2471, "nl" });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 1603, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 1880, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2165, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2167, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2169, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2171, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2323, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2324, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2325, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2326, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2327, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2328, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2419, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2420, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2421, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2422, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2423, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2424, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2437, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2438, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2472, 158 });
migrationBuilder.DeleteData(
table: "FilterListMaintainers",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2473, 158 });
migrationBuilder.DeleteData(
table: "FilterListSyntaxes",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2471, 3 });
migrationBuilder.DeleteData(
table: "FilterListSyntaxes",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2472, 25 });
migrationBuilder.DeleteData(
table: "FilterListSyntaxes",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2473, 25 });
migrationBuilder.DeleteData(
table: "FilterListTags",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2471, 2 });
migrationBuilder.DeleteData(
table: "FilterListTags",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2472, 6 });
migrationBuilder.DeleteData(
table: "FilterListTags",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2473, 7 });
migrationBuilder.DeleteData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2679);
migrationBuilder.DeleteData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2680);
migrationBuilder.DeleteData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2681);
migrationBuilder.DeleteData(
table: "FilterLists",
keyColumn: "Id",
keyValue: 2471);
migrationBuilder.DeleteData(
table: "FilterLists",
keyColumn: "Id",
keyValue: 2472);
migrationBuilder.DeleteData(
table: "FilterLists",
keyColumn: "Id",
keyValue: 2473);
migrationBuilder.DeleteData(
table: "Maintainers",
keyColumn: "Id",
keyValue: 158);
migrationBuilder.InsertData(
table: "FilterListMaintainers",
columns: new[] { "FilterListId", "MaintainerId" },
values: new object[] { 2425, 22 });
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2472,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2475,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-domains.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2478,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-dnsmasq.conf");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2481,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-hosts.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2484,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-bind.conf");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2487,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-unbound.conf");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2612,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-agh.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2613,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-ag.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2614,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-vivaldi.txt");
migrationBuilder.UpdateData(
table: "FilterListViewUrls",
keyColumn: "Id",
keyValue: 2640,
column: "Url",
value: "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter.tpl");
}
}
}

View file

@ -19342,6 +19342,33 @@ protected override void BuildModel(ModelBuilder modelBuilder)
IssuesUrl = "https://github.com/twcau/AdblockRules/issues",
LicenseId = 28,
Name = "MurdochList"
},
new
{
Id = 2471,
Description = "My own Dutch supplement for the Easylist filters",
HomeUrl = "https://github.com/BPower0036/AdBlockFilters/",
IssuesUrl = "https://github.com/BPower0036/AdBlockFilters/issues",
LicenseId = 4,
Name = "EasyDutch"
},
new
{
Id = 2472,
Description = "A blocklist of malicious URLs that are being used for malware distribution.",
HomeUrl = "https://gitlab.com/curben/urlhaus-filter",
IssuesUrl = "https://gitlab.com/curben/urlhaus-filter/issues",
LicenseId = 28,
Name = "urlhaus-filter (RPZ)"
},
new
{
Id = 2473,
Description = "A blocklist of phishing websites. Based on PhishTank and OpenPhish.",
HomeUrl = "https://gitlab.com/curben/phishing-filter",
IssuesUrl = "https://gitlab.com/curben/phishing-filter/issues",
LicenseId = 8,
Name = "phishing-filter (RPZ)"
});
});
@ -24119,6 +24146,11 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
FilterListId = 2470,
Iso6391 = "en"
},
new
{
FilterListId = 2471,
Iso6391 = "nl"
});
});
@ -29413,6 +29445,11 @@ protected override void BuildModel(ModelBuilder modelBuilder)
MaintainerId = 22
},
new
{
FilterListId = 1603,
MaintainerId = 158
},
new
{
FilterListId = 1604,
MaintainerId = 22
@ -29918,6 +29955,11 @@ protected override void BuildModel(ModelBuilder modelBuilder)
MaintainerId = 22
},
new
{
FilterListId = 1880,
MaintainerId = 158
},
new
{
FilterListId = 1890,
MaintainerId = 148
@ -30528,6 +30570,26 @@ protected override void BuildModel(ModelBuilder modelBuilder)
MaintainerId = 22
},
new
{
FilterListId = 2165,
MaintainerId = 158
},
new
{
FilterListId = 2167,
MaintainerId = 158
},
new
{
FilterListId = 2169,
MaintainerId = 158
},
new
{
FilterListId = 2171,
MaintainerId = 158
},
new
{
FilterListId = 2185,
MaintainerId = 46
@ -30973,6 +31035,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
MaintainerId = 156
},
new
{
FilterListId = 2323,
MaintainerId = 158
},
new
{
FilterListId = 2324,
MaintainerId = 158
},
new
{
FilterListId = 2325,
MaintainerId = 158
},
new
{
FilterListId = 2326,
MaintainerId = 158
},
new
{
FilterListId = 2327,
MaintainerId = 158
},
new
{
FilterListId = 2328,
MaintainerId = 158
},
new
{
FilterListId = 2342,
MaintainerId = 46
@ -31114,8 +31206,33 @@ protected override void BuildModel(ModelBuilder modelBuilder)
},
new
{
FilterListId = 2425,
MaintainerId = 22
FilterListId = 2419,
MaintainerId = 158
},
new
{
FilterListId = 2420,
MaintainerId = 158
},
new
{
FilterListId = 2421,
MaintainerId = 158
},
new
{
FilterListId = 2422,
MaintainerId = 158
},
new
{
FilterListId = 2423,
MaintainerId = 158
},
new
{
FilterListId = 2424,
MaintainerId = 158
},
new
{
@ -31148,6 +31265,16 @@ protected override void BuildModel(ModelBuilder modelBuilder)
MaintainerId = 22
},
new
{
FilterListId = 2437,
MaintainerId = 158
},
new
{
FilterListId = 2438,
MaintainerId = 158
},
new
{
FilterListId = 2439,
MaintainerId = 157
@ -31196,6 +31323,16 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
FilterListId = 2461,
MaintainerId = 46
},
new
{
FilterListId = 2472,
MaintainerId = 158
},
new
{
FilterListId = 2473,
MaintainerId = 158
});
});
@ -42013,6 +42150,21 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
FilterListId = 2470,
SyntaxId = 47
},
new
{
FilterListId = 2471,
SyntaxId = 3
},
new
{
FilterListId = 2472,
SyntaxId = 25
},
new
{
FilterListId = 2473,
SyntaxId = 25
});
});
@ -57775,6 +57927,21 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
FilterListId = 2470,
TagId = 21
},
new
{
FilterListId = 2471,
TagId = 2
},
new
{
FilterListId = 2472,
TagId = 6
},
new
{
FilterListId = 2473,
TagId = 7
});
});
@ -77416,7 +77583,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2323,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter.txt"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter.txt"
},
new
{
@ -77440,7 +77607,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2324,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-domains.txt"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-domains.txt"
},
new
{
@ -77464,7 +77631,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2325,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-dnsmasq.conf"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-dnsmasq.conf"
},
new
{
@ -77488,7 +77655,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2326,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-hosts.txt"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-hosts.txt"
},
new
{
@ -77512,7 +77679,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2327,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-bind.conf"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-bind.conf"
},
new
{
@ -77536,7 +77703,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2328,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-unbound.conf"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-unbound.conf"
},
new
{
@ -78528,7 +78695,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2422,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-agh.txt"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-agh.txt"
},
new
{
@ -78536,7 +78703,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2423,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-ag.txt"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-ag.txt"
},
new
{
@ -78544,7 +78711,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2424,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter-vivaldi.txt"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-vivaldi.txt"
},
new
{
@ -78752,7 +78919,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
FilterListId = 2438,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/phishing-filter-mirror/phishing-filter.tpl"
Url = "https://curben.gitlab.io/malware-filter/phishing-filter.tpl"
},
new
{
@ -79049,6 +79216,30 @@ protected override void BuildModel(ModelBuilder modelBuilder)
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://raw.githubusercontent.com/twcau/AdblockRules/master/MurdochList"
},
new
{
Id = 2679,
FilterListId = 2471,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://raw.githubusercontent.com/BPower0036/AdBlockFilters/main/easydutch"
},
new
{
Id = 2680,
FilterListId = 2472,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/malware-filter/urlhaus-filter-rpz-online.conf"
},
new
{
Id = 2681,
FilterListId = 2473,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://curben.gitlab.io/malware-filter/phishing-filter-rpz.conf"
});
});
@ -81468,6 +81659,12 @@ protected override void BuildModel(ModelBuilder modelBuilder)
EmailAddress = "dev@arapurayil.com",
Name = "arapurayil",
Url = "https://github.com/arapurayil/"
},
new
{
Id = 158,
Name = "Ming Di Leom",
Url = "https://mdleom.com/"
});
});