Commit b2c3a0fc authored by Senator John's avatar Senator John 💬

Merge branch 'patch' into 'master'

Implemented Pre-Release IDs Replacement

Solves a long problem with the "UNKNOWN" cards after the cards where out of "Pre-Release" and got assigned the official id.

See merge request !25
parents 644a2a6b 1d9aa1d8
...@@ -111,8 +111,12 @@ namespace MDPro3.Duel.YGOSharp ...@@ -111,8 +111,12 @@ namespace MDPro3.Duel.YGOSharp
{ {
continue; continue;
} }
if (code > 100) if (code > 100)
{ {
// Replace pre-release ids with official ids (if mapping exists).
code = YdkIdHelper.ToOfficial(code);
switch (flag) switch (flag)
{ {
case 1: case 1:
...@@ -152,7 +156,7 @@ namespace MDPro3.Duel.YGOSharp ...@@ -152,7 +156,7 @@ namespace MDPro3.Duel.YGOSharp
} }
} }
if(Pickup.Count < 3) if (Pickup.Count < 3)
Pickup.AddRange(Enumerable.Repeat(0, 3 - Pickup.Count)); Pickup.AddRange(Enumerable.Repeat(0, 3 - Pickup.Count));
} }
...@@ -168,6 +172,9 @@ namespace MDPro3.Duel.YGOSharp ...@@ -168,6 +172,9 @@ namespace MDPro3.Duel.YGOSharp
Grave = 1100001; Grave = 1100001;
Stand = 1110001; Stand = 1110001;
Mate = 1000001; Mate = 1000001;
// Normalize any pre-release ids that may be in the provided lists.
YdkIdHelper.NormalizeDeck(this);
} }
public int Check(Banlist ban, bool ocg, bool tcg) public int Check(Banlist ban, bool ocg, bool tcg)
......
using MDPro3.Duel.YGOSharp;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using UnityEngine;
namespace MDPro3
{
/// <summary>
/// Maps "pre-release" card ids to their official ids.
/// File format (tab/space separated): <preReleaseId>\t<officialId>
/// Location: Data/YDK_Helper.txt
/// </summary>
public static class YdkIdHelper
{
private const string FileName = "YDK_Helper.txt";
private static readonly object _lock = new();
private static bool _loaded;
private static Dictionary<int, int> _map;
// Matches an ID line (optionally with # and whitespace), e.g. "12345678", "#12345678", " 12345678 "
private static readonly Regex _ydkIdLine =
new Regex(@"^(\s*#?\s*)(\d+)(\s*)$", RegexOptions.Compiled);
public static void EnsureLoaded()
{
if (_loaded) return;
lock (_lock)
{
if (_loaded) return;
Load();
_loaded = true;
}
}
private static void Load()
{
_map = new Dictionary<int, int>();
try
{
var path = Path.Combine(Program.PATH_DATA, FileName);
if (!File.Exists(path))
return;
foreach (var raw in File.ReadAllLines(path))
{
var line = raw?.Trim();
if (string.IsNullOrEmpty(line)) continue;
if (line.StartsWith("#")) continue;
// Accept tab or whitespace separation.
var parts = line.Split(new[] { '\t', ' ' }, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length < 2) continue;
if (!int.TryParse(parts[0], out var pre)) continue;
if (!int.TryParse(parts[1], out var official)) continue;
if (pre <= 0 || official <= 0) continue;
if (pre == official) continue;
_map[pre] = official;
}
Debug.Log($"[YDK_Helper] Loaded {_map.Count} mappings from '{path}'");
}
catch (Exception e)
{
Debug.LogWarning($"[YDK_Helper] Failed to load mappings: {e.Message}");
_map?.Clear();
}
}
public static int ToOfficial(int id)
{
EnsureLoaded();
return (_map != null && _map.TryGetValue(id, out var mapped)) ? mapped : id;
}
public static int NormalizeList(List<int> list)
{
if (list == null || list.Count == 0) return 0;
EnsureLoaded();
if (_map == null || _map.Count == 0) return 0;
var changed = 0;
for (var i = 0; i < list.Count; i++)
{
var oldId = list[i];
if (_map.TryGetValue(oldId, out var newId) && newId != oldId)
{
list[i] = newId;
changed++;
}
}
return changed;
}
public static int NormalizeDeck(Deck deck)
{
if (deck == null) return 0;
var changed = 0;
changed += NormalizeList(deck.Main);
changed += NormalizeList(deck.Extra);
changed += NormalizeList(deck.Side);
changed += NormalizeList(deck.Pickup);
return changed;
}
/// <summary>
/// Reads a .ydk file and rewrites it on disk, replacing pre-release ids with official ids.
/// Returns the number of lines changed.
/// </summary>
public static int NormalizeYdkFile(string path)
{
EnsureLoaded();
if (_map == null || _map.Count == 0) return 0;
if (string.IsNullOrEmpty(path) || !File.Exists(path)) return 0;
string original;
try
{
original = File.ReadAllText(path, Encoding.UTF8);
}
catch
{
original = File.ReadAllText(path);
}
// Preserve original newline style.
var newline = original.Contains("\r\n") ? "\r\n" : "\n";
// Preserve empty lines and trailing newline (do NOT RemoveEmptyEntries).
var lines = original.Replace("\r\n", "\n").Split('\n');
var changed = 0;
for (int i = 0; i < lines.Length; i++)
{
var line = lines[i];
var m = _ydkIdLine.Match(line);
if (!m.Success) continue;
if (!int.TryParse(m.Groups[2].Value, out var id)) continue;
if (id <= 100) continue;
var mapped = ToOfficial(id);
if (mapped == id) continue;
// Rebuild line, preserving prefix and trailing whitespace.
lines[i] = m.Groups[1].Value + mapped.ToString() + m.Groups[3].Value;
changed++;
}
if (changed <= 0) return 0;
var sb = new StringBuilder(original.Length);
for (int i = 0; i < lines.Length; i++)
{
sb.Append(lines[i]);
if (i < lines.Length - 1) sb.Append(newline);
}
try
{
File.WriteAllText(path, sb.ToString(), Encoding.UTF8);
}
catch
{
File.WriteAllText(path, sb.ToString());
}
return changed;
}
}
}
fileFormatVersion: 2
guid: 046cafdedb37a614e82fa0a9579fe7c6
\ No newline at end of file
...@@ -15,7 +15,7 @@ namespace MDPro3 ...@@ -15,7 +15,7 @@ namespace MDPro3
ydkeString = ydkeString.Replace(ydkeHeader, string.Empty); ydkeString = ydkeString.Replace(ydkeHeader, string.Empty);
var sections = ydkeString.Split('!'); var sections = ydkeString.Split('!');
if(sections.Length < 3) if (sections.Length < 3)
{ {
//throw new ArgumentException("Invalid YDKE format"); //throw new ArgumentException("Invalid YDKE format");
return null; return null;
...@@ -27,6 +27,10 @@ namespace MDPro3 ...@@ -27,6 +27,10 @@ namespace MDPro3
Extra = DecodeSection(sections[1]), Extra = DecodeSection(sections[1]),
Side = DecodeSection(sections[2]) Side = DecodeSection(sections[2])
}; };
// Replace pre-release ids with official ids (if mapping exists).
YdkIdHelper.NormalizeDeck(result);
return result; return result;
} }
......
...@@ -49,10 +49,17 @@ namespace MDPro3.Servant ...@@ -49,10 +49,17 @@ namespace MDPro3.Servant
case Condition.EditDeck: case Condition.EditDeck:
returnServant = Program.instance.deckSelector; returnServant = Program.instance.deckSelector;
DeckName = Config.GetConfigDeckName(); DeckName = Config.GetConfigDeckName();
Deck = new Deck(Program.PATH_DECK + DeckName + Program.EXPANSION_YDK);
var deckPath = Program.PATH_DECK + DeckName + Program.EXPANSION_YDK;
// Auto-fix the file on disk (pre-release ids -> official ids).
YdkIdHelper.NormalizeYdkFile(deckPath);
Deck = new Deck(deckPath);
DeckIsFromLocal = true; DeckIsFromLocal = true;
historyCards = new(); historyCards = new();
break; break;
case Condition.OnlineDeck: case Condition.OnlineDeck:
returnServant = Program.instance.onlineDeckViewer; returnServant = Program.instance.onlineDeckViewer;
DeckName = deckName; DeckName = deckName;
...@@ -60,6 +67,7 @@ namespace MDPro3.Servant ...@@ -60,6 +67,7 @@ namespace MDPro3.Servant
DeckIsFromLocal = false; DeckIsFromLocal = false;
historyCards = new(); historyCards = new();
break; break;
case Condition.ReplayDeck: case Condition.ReplayDeck:
returnServant = Program.instance.replay; returnServant = Program.instance.replay;
DeckName = deckName; DeckName = deckName;
...@@ -67,6 +75,7 @@ namespace MDPro3.Servant ...@@ -67,6 +75,7 @@ namespace MDPro3.Servant
DeckIsFromLocal = false; DeckIsFromLocal = false;
historyCards = new(); historyCards = new();
break; break;
case Condition.ChangeSide: case Condition.ChangeSide:
DeckName = Config.GetConfigDeckName(); DeckName = Config.GetConfigDeckName();
Deck = TcpHelper.deck; Deck = TcpHelper.deck;
......
100200251 15735108
100200252 75892194
100200253 19316241
100200245 26857786
100200246 53246495
100200247 70117791
100200254 46789706
100200255 66532962
100200260 87640391
100219001 53008933
100219002 80453041
100216001 44455560
100230201 46533533
100222001 18046862
100222002 45445571
100222003 71939275
100222004 8324284
100222005 44728989
100222006 70717628
100222007 7102732
100222008 33506331
100222009 70095046
100222010 6089145
100222201 32484853
100222012 69873498
100222013 5267507
100222202 32762201
100222015 68756810
100222016 4145915
100222203 31539614
100222018 7934362
100222019 34323367
100222020 70417076
100222021 6812770
100222022 33206889
100222023 69655484
100222024 6659193
100222025 32044231
100222204 69533836
100222027 95937545
100222028 31322640
100222029 68316358
100222103 71939276
100220001 45710945
100220002 72705654
100220003 18294799
100220004 44698398
100220005 71083002
100220006 7477101
100220007 44466810
100220019 70860415
100220020 6355563
100220021 33744268
100220022 75748977
100220023 2133971
100220024 38527680
100220025 75926389
100220201 1410324
100220037 37405032
100220202 64804137
100220203 298846
100220204 37683441
100220205 63181559
100220206 99176254
101205000 96823189
101205001 38775407
101205002 74169516
101205003 1164211
101205004 37552929
101205005 63947968
101205006 342673
101205007 36436372
101205008 63825486
101205009 99229085
101205010 35614780
101205011 62002838
101205012 98007437
101205013 25592142
101205014 61980241
101205015 98385955
101205016 24779554
101205017 60764609
101205018 97262307
101205019 23657016
101205020 50042011
101205021 96030710
101205022 22435424
101205023 59829423
101205024 85314178
101205025 22712877
101205026 58707981
101205027 84192580
101205028 11590299
101205029 57985393
101205030 84079032
101205031 10474647
101205032 56863746
101205033 83257450
101205034 19652159
101205035 46640168
101205036 82135803
101205037 14529511
101205038 41924516
101205039 77313225
101205040 14307929
101205041 40702028
101205042 76290637
101205043 3685372
101205044 49689480
101205045 76078185
101205046 2463794
101205047 49867899
101205048 75352507
101205049 1340142
101205050 38745241
101205051 74139959
101205052 1528054
101205053 37613663
101205054 63017368
101205055 402416
101205056 36890111
101205057 63295720
101205058 99289828
101205059 35778533
101205060 62173132
101205061 98567237
101205062 35552985
101205063 61950680
101205064 97345699
101205065 24839398
101205066 60238002
101205067 97223101
101205068 23617756
101205069 59016454
101205070 36400569
101205071 62995268
101205072 99989863
101205073 25388971
101205074 61773610
101205075 98167225
101205076 24166324
101205077 51650038
101205079 97045737
101205078 24440742
101205080 50838440
101205125 22712878
101205162 35552986
101204081 48228390
101204082 74213995
101204083 1607603
101204084 37006702
101204085 73490417
101204086 885016
101204087 36974120
101204088 63378869
101204089 9763474
101204090 35035985
101204091 62156277
101204092 8540986
101204093 35151572
101204094 61434639
101204095 98828338
101204096 34813443
101204181 48228391
101203081 70843274
101203082 16238373
101203083 43633088
101203084 79627627
101203085 6116731
101203086 42510430
101203087 78905039
101203088 5993144
101203089 31398842
101203090 78783557
101203091 4271596
101203092 30676200
101203093 67660909
101203094 3055018
101203095 30453613
101203096 66848311
100200250 28958464
100215003 17217034
100217001 1047075
100217002 37531679
100217003 73936388
100217004 324483
100217005 36319131
100217006 73714736
100217007 9102835
100217008 35697544
100217009 62091148
100217010 8080257
101204001 2333466
101204002 39321065
101204003 65726770
101204004 92110878
101204005 38505587
101204006 64603182
101204007 91098230
101204008 27483935
101204009 64881644
101204010 90276649
101204011 27260347
101204012 53765052
101204013 99153051
101204014 26548709
101204015 52543404
101204016 39931513
101204017 65326118
101204018 91810826
101204019 24215921
101204020 60203670
101204021 97698279
101204022 23093373
101204023 59481082
101204024 96576187
101204025 22970795
101204026 59369430
101204027 85753549
101204028 74150658
101204029 58143852
101204030 84631951
101204031 21036656
101204032 57420265
101204033 83819309
101204034 10804018
101204035 56208713
101204036 83793721
101204037 19181420
101204038 46186135
101204039 82570174
101204040 18969888
101204041 45464587
101204042 71858682
101204043 18843291
101204044 44241999
101204045 70636044
101204046 7020743
101204047 43129357
101204048 70514456
101204049 6908161
101204050 42307760
101204051 79791878
101204052 5786513
101204053 32270212
101204054 78679226
101204055 4064925
101204056 31458630
101204057 67457739
101204058 4841383
101204059 30336082
101204060 66730191
101204061 93729896
101204062 39114494
101204063 66518509
101204064 92907248
101204065 38491852
101204066 65496951
101204067 91880660
101204068 28279365
101204069 64664373
101204070 91668078
101204071 27157727
101204072 53541822
101204073 90946420
101204074 26334139
101204075 53329234
101204076 89824842
101204077 25218587
101204078 52607696
101204079 88001391
101204080 25096909
101204120 60203671
101204164 92907249
100218001 55343172
100218002 91337277
100218003 28736826
100218004 54120521
100218005 90615639
100200244 43502497
100200248 23530726
100211001 96402918
100211002 32991027
100211003 9396662
100211004 35380371
100211050 61775475
100211051 8173184
100211052 34568783
100211053 61052897
100211097 97051536
100211098 34446231
100211099 60830240
100211100 96235944
100211122 23623653
100211123 69718652
100211124 96113307
100211125 22501005
101202081 25131968
101202082 52126602
101202083 98520301
101202084 25919316
101202085 51303014
101202086 87498729
101202087 24892828
101202088 50281477
101202089 87676171
101202090 13070280
101202091 59069885
101202092 86553594
101203001 90829280
101203002 26913989
101203003 62318994
101203004 99707692
101203005 25191307
101203006 52596406
101203007 98684051
101203008 24079759
101203009 51473858
101203010 27868563
101203011 64257161
101203012 90241276
101203013 26746975
101203014 53134520
101203015 99529628
101203016 26523337
101203017 52918032
101203018 99307040
101203019 25801745
101203020 51296484
101203021 88284599
101203022 24689197
101203023 51073802
101203024 13567610
101203025 50951254
101203026 86346363
101203027 13744068
101203028 49139666
101203029 85123771
101203030 87462901
101203031 12612470
101203032 48017189
101203033 85401123
101203034 11496832
101203035 47894537
101203036 74289646
101203037 10774240
101203038 47172959
101203039 73167098
101203040 9551692
101203041 46956301
101203042 72444406
101203043 9839115
101203044 35834119
101203045 71222868
101203046 8617563
101203047 34001672
101203048 71100270
101203049 3594985
101203050 30989084
101203051 66384688
101203052 2772337
101203053 39767432
101203054 65261141
101203055 92650749
101203057 38044854
101203056 64049553
101203058 91434208
101203059 27822206
101203060 64327901
101203061 90711610
101203062 26700718
101203063 53194323
101203064 99599062
101203065 26984177
101203066 52472775
101203067 98477480
101203068 25861589
101203069 51250293
101203070 88654892
101203071 24649931
101203072 50134646
101203073 87532344
101203074 13927359
101203075 50311058
101203076 86310763
101203077 12804701
101203078 49299410
101203079 85698115
101203080 12682213
100200249 71818935
100213001 44201739
100213002 10796448
100213003 47195442
100213004 83589191
100213005 19974890
100214001 65504487
100214002 69925461
100214003 24878656
100214004 9107531
100214005 42427230
100214006 74055055
100214007 96029570
100214008 19299793
100214009 22414174
100214010 69802283
100214011 95207988
100214012 21291696
100214013 58680635
100214014 94185340
100214015 21579049
100214016 57964143
100214017 83962752
100214018 20357457
100214019 56741506
100212001 12381100
100212002 48486809
100212003 75874514
100212004 1269512
100212005 48654267
100212006 74652966
100230001 28103028
100200259 3859859
101206000 3149401
101206201 55697723
101206202 81096431
101206203 27480536
101206004 54475145
101206005 80870883
101206006 27268998
101206007 53753697
101206008 29157292
101206009 56146300
101206010 92530005
101206011 29925614
101206012 55320758
101206013 81418467
101206014 28803166
101206015 54207171
101206016 81696879
101206017 17080584
101206018 53085623
101206019 80570228
101206020 16968936
101206021 43363035
101206022 89357740
101206023 15746348
101206024 42141493
101206025 84635192
101206026 11024707
101206027 47028805
101206028 73413514
101206029 10807219
101206030 46396218
101206031 73391962
101206032 9785661
101206033 46174776
101206034 72578374
101206035 8963089
101206036 35057188
101206037 71456737
101206038 8841431
101206039 34235530
101206040 70634245
101206204 7628844
101206205 33113958
101206043 60517697
101206044 6906306
101206045 32991300
101206046 69385019
101206047 95784714
101206206 32278723
101206207 68663427
101206050 94661166
101206051 21056275
101206052 67441879
101206053 94845588
101206054 20934683
101206055 66328392
101206056 93723936
101206057 29111045
101206058 56506740
101206059 92501449
101206060 29095457
101206061 55484152
101206062 81878201
101206063 28273805
101206064 54261514
101206065 81756619
101206066 17151328
101206067 53545926
101206208 80534031
101206209 16938770
101206070 53323475
101206071 89812483
101206072 15216188
101206073 42201897
101206074 88695895
101206075 15094540
101206076 41488249
101206077 77573354
101206078 14972952
101206079 40366667
101206080 77751766
101206167 53545927
101205081 67694706
101205082 93683815
101205083 20087414
101205084 66472129
101205085 93860227
101205086 29265962
101205087 55359571
101205088 92744676
101205089 28143384
101205090 55537983
101205091 81522098
101205092 23920796
101205093 50415441
101205094 86809440
101205095 13204145
101205096 59293853
100223001 35844557
100223002 72238166
100223003 8633261
100223004 34022970
100223005 61116514
100223006 7511613
100223007 34909328
100223008 60394026
100223009 6798031
100223010 33787730
100223015 69272449
100223016 96676583
100223017 32061192
100223018 68059897
100223019 95454996
100223020 21848500
100223021 68337209
100223022 94722358
100223023 20726052
100223024 57111661
100223031 93509766
100223032 20904475
100223033 56499179
100223034 92487128
100223035 29882827
100223036 55276522
100223037 82661630
100223038 28669235
100223039 55154344
100223040 81549048
100226015 63028558
100226148 85687952
100226149 12172567
100226150 58570206
100200256 72782945
100200257 8170654
100200258 44175358
100200261 48705086
100221000 93053159
100224002 17947697
100224003 54332792
100224018 80326401
100224019 17725109
100224027 43219114
100224032 89604813
100224033 16699558
100224034 42097666
101207000 99217226
101207001 3598351
101207002 30583090
101207003 76978105
101207004 3376703
101207005 39761418
101207006 65155517
101207007 2254222
101207008 38648860
101207009 65033975
101207010 91438674
101207011 37426272
101207012 64911387
101207013 90315086
101207014 27704731
101207015 63198739
101207016 99193444
101207017 26582143
101207018 62076252
101207019 99471856
101207020 25865565
101207021 52854600
101207022 98248208
101207023 24643913
101207024 51132012
101207025 87126721
101207026 54611591
101207027 81005500
101207028 24521325
101207029 50915474
101207030 86304179
101207031 13708888
101207032 59893882
101207033 86282581
101207034 12686296
101207035 58071334
101207036 85065943
101207037 11464648
101207038 48958757
101207039 84343351
101207040 10732060
101207041 47736165
101207042 73121813
101207043 10515412
101207044 46014517
101207045 72409226
101207046 9453320
101207047 45852939
101207048 72246674
101207049 4731783
101207050 41739381
101207051 77124096
101207052 3519195
101207053 30913809
101207054 76302448
101207055 3496543
101207056 39881252
101207057 65289956
101207058 2674965
101207059 38669664
101207060 5063379
101207061 31552317
101207062 77946022
101207063 4341721
101207064 30339825
101207065 67724434
101207066 3129133
101207067 39613288
101207068 66002986
101207069 2006591
101207070 39491690
101207071 65889305
101207072 91284003
101207073 38379052
101207074 64767757
101207075 91152455
101207076 27556460
101207077 63941169
101207078 90939874
101207079 26434972
101207080 53829527
100228001 42544773
100225001 29325276
100230401 47643326
100200262 10218411
101206081 23738096
101206082 50123605
101206083 86527709
101206084 22916418
101206085 59901153
101206086 85395151
101206087 12890860
101206088 58288565
101206089 84673574
101206090 11677278
101206091 43066927
101206092 80551022
101206093 16955631
101206094 42940335
101206095 19338434
101206100 55733143
100200263 34149150
100227001 68897338
100227002 94292987
100227003 21281085
100227004 57775790
100227027 93170499
100227028 20568404
100227029 52553102
100227030 89948817
100227042 25342956
100227043 51831560
100227044 88225269
100227045 24220368
100227072 51618973
100227073 87003671
100227074 13408726
100227075 50596425
100231002 98588427
100200264 20714553
100229001 12163590
100229002 48658295
100229019 75046994
100229020 11441009
100229033 48835607
100229034 74820316
100232001 6696168
100232002 42081767
100232003 79480466
100232004 5574510
100232005 31969219
100233001 65515667
100233002 44459942
100233003 91019775
100233004 97476032
100233005 88477149
100233006 65569724
100233007 80447641
100233008 17832359
100233009 43236494
100233010 79625003
100233011 16110708
100233012 42104806
100233013 79509511
100233014 5997110
100233015 42382265
100233016 74387963
100233201 875572
100233018 37260677
100233019 73664385
100233020 59080
100233101 65515668
100233102 44459943
100233105 88477150
100230501 66429798
100200265 93413793
101207081 21960890
101207082 58354899
101207083 94749594
101207084 21147203
101207085 57232301
101207086 83626916
101207087 20011655
101207088 56410769
101207089 83404468
101207090 82782870
101207091 18176525
101207092 19899073
101207093 55397172
101207094 45171524
101207095 81560239
101207096 17954937
101208000 58931850
101208201 3723262
101208202 30118811
101208203 66102515
101208004 2501624
101208005 35095329
101208006 61480937
101208007 98888032
101208008 34873741
101208009 60268386
101208010 97662494
101208011 23151193
101208012 60145298
101208013 96540807
101208014 22938501
101208015 59323650
101208016 95718355
101208017 22812963
101208018 58201062
101208019 94655777
101208020 21050476
101208021 57448410
101208022 84433129
101208023 20938824
101208024 56322832
101208025 83711531
101208026 19715246
101208027 56100345
101208028 82699999
101208029 19093698
101208030 45488703
101208031 81476402
101208032 18861006
101208033 44265115
101208034 71750854
101208035 17749468
101208036 43143567
101208037 70538272
101208204 16926971
101208039 43321985
101208040 79415624
101208041 5800323
101208042 42209438
101208043 78693036
101208205 5088741
101208045 31086840
101208046 77571454
101208047 4965193
101208048 30350202
101208049 67359907
101208050 3743515
101208206 39138610
101208052 6636319
101208053 42021064
101208207 79015062
101208055 5414777
101208056 31809476
101208057 78293584
101208058 4398189
101208059 31786838
101208060 67171933
101208061 4575541
101208062 30964246
101208063 66059345
101208064 93453053
101208065 39848658
101208066 66236707
101208067 92221402
101208068 38625110
101208069 65114115
101208208 91509824
101208071 28903523
101208072 64998567
101208073 90386276
101208074 27781371
101208075 53276089
101208076 90664684
101208077 22669793
101208078 58053438
101208079 85442146
101208080 21846145
100200266 24514503
100237001 97522863
100237002 34926568
100237003 60411677
100237004 97800311
100237005 23804920
100237006 69299029
100237007 96687733
100237008 22082432
100237009 59576447
100237010 95561146
100200270 1035143
100200267 74941992
100200268 336601
100200269 37720300
100235001 73129314
100235002 613013
100236001 75003700
100236002 1498449
100236003 44482554
100236004 70871153
100236005 7375867
100236006 33760966
100236007 79755671
100236008 6153210
100236009 32548318
100236010 69932023
100236011 5431722
100236016 31425736
100236017 68810435
100236018 4215180
100236019 31603289
100236020 67098897
100236021 93192592
100236022 30581601
100236023 66975205
100236024 93360904
100236025 29369059
100236026 65853758
100236031 92248362
100236032 28642461
100236033 55031170
100236034 91025875
100236035 27420823
100236036 54919528
100236037 90303227
100236038 27308231
100236039 53792930
100236040 80181649
100236041 26585784
101208081 12500059
101208082 49904658
101208083 75493362
101208084 12888461
101208085 48882106
101208086 74271714
101208087 1665819
101208088 47060528
101208089 14554127
101208090 40543231
101208091 76948970
101208092 13332685
101208093 49721684
101208094 76725398
101208095 12210097
101208096 49604192
100238001 57649113
100228002 38423248
100200271 25072579
100200272 83838727
100239001 10949074
100234001 36608728
101301001 62006866
101301002 9491461
101301003 35886170
101301004 62880279
101301005 8379983
101301006 35763582
101301007 61168637
101301008 97556336
101301009 34541940
101301010 60946049
101301011 97434754
101301012 23829452
101301013 9213491
101301014 36218106
101301015 62606805
101301016 95091919
101301017 31596518
101301018 67584223
101301019 94979322
101301020 30373970
101301021 67768675
101301022 93156774
101301023 29251488
101301024 66646087
101301025 92034192
101301026 29439831
101301027 55423549
101301028 91818544
101301029 28306253
101301030 54701958
101301031 81196066
101301032 27184601
101301033 53589300
101301034 80073414
101301035 26462013
101301036 53466722
101301037 89851827
101301038 16246535
101301039 52644170
101301040 88139289
101301041 15123983
101301042 41522092
101301043 88917691
101301044 14301396
101301045 40706444
101301046 77894049
101301047 13289758
101301048 40673853
101301049 76072561
101301050 12067160
101301051 49451215
101301052 75956913
101301053 2344618
101301054 74733322
101301055 48739627
101301056 37517035
101301057 1122030
101301058 74011784
101301059 483
101301060 36494597
101301061 63899196
101301062 9283801
101301063 36672909
101301064 62767644
101301065 99161253
101301066 35550352
101301067 61944066
101301068 98349765
101301069 34433770
101301070 61822419
101301071 97227123
101301072 23611122
101301073 60600821
101301074 96004535
101301075 23599634
101301076 59983249
101301077 95382988
101301078 22377092
101301079 58761791
101301080 85150300
100241001 19222426
100241002 46221535
100241003 82616239
100242001 59400890
100242002 85899505
100242003 22283204
100242024 10808715
100242025 58288218
100242026 85672957
100242057 11161666
100242058 57566760
100242059 84550369
100200273 71440209
100200277 40725446
100238201 32872239
100243001 20240828
101301081 19000848
101301082 45409943
101301083 71593652
101301084 18988396
101301085 44376395
101301086 71771004
101301186 71771005
101301087 7166709
101301088 43150717
101301089 70659412
101301090 6043161
101301091 33438265
101301092 79436874
101301093 6821579
101301094 32216688
101301095 78710386
101301096 5109321
101302201 67322708
101302202 93317313
101302203 20715411
101302004 66100116
101302005 92595825
101302006 29099860
101302007 55088578
101302008 92472273
101302009 28877382
101302010 54265980
101302011 81650695
101302012 27755794
101302013 54143349
101302014 80538047
101302015 16922142
101302016 53927851
101302017 85315450
101302018 12800564
101302019 58205203
101302020 84693918
101302021 11688916
101302022 47082621
101302023 84477320
101302024 10966439
101302025 47960073
101302026 73355772
101302027 19743887
101302028 46148485
101302029 72632190
101302030 9627299
101302031 45016904
101302032 71410542
101302033 8805651
101302034 44293356
101302204 71398055
101302036 7782069
101302037 33171768
101302205 70576413
101302039 6560411
101302040 33955120
101302041 69453825
101302042 5848934
101302206 32232538
101302044 68231287
101302045 95626382
101302046 31010081
101302047 67515699
101302048 94503794
101302207 30998403
101302050 7382007
101302051 33781156
101302052 69176851
101302053 6260560
101302208 32665564
101302055 69053263
101302056 95448372
101302057 32442017
101302058 68831625
101302059 94326720
101302060 21720439
101302061 67115133
101302062 94103142
101302063 20508881
101302064 66092596
101302065 93481594
101302066 29876299
101302067 56870908
101302068 92269002
101302069 28653611
101302070 55158350
101302071 81143465
101302072 28531163
101302209 54936778
101302074 80320877
101302075 17719582
101302076 53813120
101302077 80208225
101302078 16693934
101302079 42091632
101302080 89086647
101302081 87750925
101302082 23249029
101302083 50643638
101302084 86038337
101302085 13023431
101302086 55421040
101302087 81916745
101302088 18300894
101302089 54399598
101302090 81794107
101302091 17188206
101302092 44573911
101302093 80071619
101302094 16066654
101302095 43450363
101302096 79859067
100240001 8445808
100240201 44839512
100240003 71228611
100240204 7622360
100240005 33017964
100240205 70105073
100240007 2507443
100240202 6500778
100240203 33995387
100240010 69389481
100200274 3837261
100200275 88039509
100200276 60681372
100200278 30394645
100200279 84824728
100247147 72162751
100247148 9567495
100247149 45951104
100246001 37301660
100246002 212652
100245001 95365081
100245002 32759190
100245003 68144894
100245004 95132593
100245005 21637502
100245006 67021206
100245007 94410955
100245008 20415050
100245009 57809669
100245010 93294363
100245011 29792472
100245016 56187077
100245017 92171126
100245018 29570824
100245019 55965529
100245020 82359538
100245021 28454232
100245022 54842941
100245023 81237046
100245024 17621695
100245025 54020393
100245026 80015408
100245031 16509007
100245032 43904702
100245033 89392810
100245034 16387555
100245035 42781164
100245036 88170262
100245037 15665977
100245038 41069676
100245039 78058681
100245040 14442329
100245041 40847034
100244001 17201951
100244002 54656950
100244003 80054655
100244004 16449363
100244005 43834302
100244006 89932017
100244032 16327715
100244033 42711820
100238301 11212437
100200280 86289475
100248019 30271097
100248041 76666602
101303201 25554552
101303202 51548207
101303203 98937206
101303004 24431911
101303005 51826619
101303006 87814728
101303007 23219323
101303008 50604072
101303009 86098176
101303010 13597785
101303011 59581480
101303012 85976588
101303013 12375297
101303014 58769832
101303015 85154941
101303016 11248645
101303017 47647354
101303018 84031359
101303019 10426067
101303020 78910832
101303021 5121528
101303022 41516133
101303023 47425162
101303024 73819701
101303025 19304410
101303026 46708514
101303027 12197223
101303028 49181828
101303029 85586937
101303030 12975671
101303031 48469380
101303204 84464389
101303033 11852093
101303034 47247792
101303035 74631897
101303036 10136446
101303037 42125140
101303038 79519259
101303039 5914858
101303040 42302563
101303041 78397661
101303042 4891376
101303043 31286915
101303044 77675029
101303045 4079728
101303046 30064423
101303205 66452432
101303206 3957130
101303049 39341885
101303050 66736884
101303051 2725599
101303207 38129297
101303053 65514302
101303054 91002901
101303055 38007649
101303056 64491754
101303057 90880453
101303058 27285068
101303059 63679166
101303060 90764871
101303061 26162470
101303062 53557529
101303063 99941223
101303064 4909946
101303065 25940932
101303066 52335937
101303067 98829635
101303068 25224340
101303069 51612489
101303208 87607094
101303071 50590801
101303072 24092792
101303073 87985506
101303074 13379114
101303075 59374259
101303076 86762958
101303077 12157563
101303078 49652661
101303079 85640370
101303080 11035075
100249001 3287359
100200281 74405783
100250206 9978697
100250207 45462306
100250208 72867001
100250209 8252010
100250005 35240714
100250018 71645463
100250019 8039562
100250020 34528176
100250021 70522875
100250022 7917970
100250201 33302589
100250202 60700283
100250203 6195332
100250204 32289031
100250044 69678646
100250062 95072744
100250063 32467459
100250064 8852158
100250065 34950192
100250066 61345801
100252001 30875635
100200282 96228804
100255001 32126000
100255002 53770666
100255003 95915457
100255004 66206748
100255005 561300
100255006 93023136
100255007 91215724
100255008 73218792
100255009 613496
100255010 46001505
100255011 73496100
100255012 9591819
100255013 35989913
100255014 72374522
100255015 8778267
100255016 35167375
100255017 61151074
100255018 7656689
100255019 34041788
100255020 60439482
100253001 59011257
100253002 95506252
100253003 21501961
100253004 58995660
100253005 94384774
100251001 3739500
100251002 30138615
100251003 66122213
100251004 92517928
100251005 39016067
100251006 65400671
101303081 22106558
101303082 69191257
101303083 95589901
101303084 22984000
101303085 68378605
101303086 94467314
101303087 21861412
101303088 57256127
101303089 94641726
101303090 20049870
101303091 56034579
101303092 83528184
101303093 29927283
101303094 56311997
101303095 82706696
101303096 18795635
100200283 89693655
100228003 22623509
100238401 64413994
101304201 83445539
101304202 19434243
101304203 56838842
101304204 82323997
101304005 18711696
101304006 45116390
101304007 81101309
101304008 18595008
101304009 44994712
101304010 70488851
101304011 17473466
101304012 43871165
101304013 10266279
101304014 56651978
101304015 82159583
101304016 19144622
101304017 82933935
101304018 18321034
101304019 44716748
101304020 71801447
101304021 17209452
101304022 45538320
101304023 44694191
101304024 70088809
101304025 6083904
101304026 43471513
101304027 79966218
101304028 6361316
101304029 42759961
101304030 78744660
101304031 5148778
101304032 31533473
101304033 78021082
101304034 4026187
101304035 31411835
101304205 67809530
101304206 3294539
101304038 30698243
101304039 66787942
101304040 93172951
101304041 39576656
101304042 65961304
101304043 92359409
101304044 38354018
101304045 65848113
101304046 91237821
101304047 27632520
101304048 64626565
101304049 90011273
101304050 27519978
101304051 53904087
101304207 99398682
101304053 26387390
101304054 52782439
101304055 89176044
101304056 25661743
101304057 51669847
101304058 84054556
101304059 20448151
101304060 57847269
101304061 83232904
101304062 19326613
101304063 56725612
101304064 82119326
101304065 19504025
101304066 45508030
101304067 82997779
101304068 18482473
101304069 44886582
101304070 71275181
101304208 17269895
101304072 44654994
101304073 70058649
101304074 6547248
101304075 43932352
101304076 79936051
101304077 6325660
101304078 42719764
101304079 78114463
101304080 5208118
101304116 19144623
101304154 52782440
100254201 48016074
100254202 11911336
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment