Commit cdf8323

Nick Faro committed on
Clean out some old cruft, start work on VGM dumping
commit cdf8323244a71f9c56fa98cdbce35f3f99f76076 parent f5cbf83
7 changed files +351−332
ModifiedSound/sound.pas +0−1
@@ -296,7 +296,6 @@ end;
296 procedure SoundDoOut(l, r: Integer; cycles: integer); 296 procedure SoundDoOut(l, r: Integer; cycles: integer);
297 var 297 var
298 buf: array[0..1] of Single; 298 buf: array[0..1] of Single;
299 buf2: array[0..1] of Smallint;
300 begin 299 begin
301 Inc(bufLVal, l * cycles); 300 Inc(bufLVal, l * cycles);
302 Inc(bufRVal, r * cycles); 301 Inc(bufRVal, r * cycles);
ModifiedhUGETracker.lpi +10−5
@@ -65,7 +65,7 @@
65 <ShoLineNum Value="True"/> 65 <ShoLineNum Value="True"/>
66 </Verbosity> 66 </Verbosity>
67 <WriteFPCLogo Value="False"/> 67 <WriteFPCLogo Value="False"/>
68 <CustomOptions Value="-dBorland -dVer150 -dDelphi7 -dCompiler6_Up -dPUREPASCAL -dPRODUCTION"/> 68 <CustomOptions Value="-dPRODUCTION"/>
69 </Other> 69 </Other>
70 </CompilerOptions> 70 </CompilerOptions>
71 </Item2> 71 </Item2>
@@ -113,7 +113,7 @@
113 <ShoLineNum Value="True"/> 113 <ShoLineNum Value="True"/>
114 </Verbosity> 114 </Verbosity>
115 <WriteFPCLogo Value="False"/> 115 <WriteFPCLogo Value="False"/>
116 <CustomOptions Value="-dBorland -dVer150 -dDelphi7 -dCompiler6_Up -dPUREPASCAL -dPRODUCTION"/> 116 <CustomOptions Value="-dPRODUCTION"/>
117 </Other> 117 </Other>
118 </CompilerOptions> 118 </CompilerOptions>
119 </Item3> 119 </Item3>
@@ -165,7 +165,7 @@
165 <ShoLineNum Value="True"/> 165 <ShoLineNum Value="True"/>
166 </Verbosity> 166 </Verbosity>
167 <WriteFPCLogo Value="False"/> 167 <WriteFPCLogo Value="False"/>
168 <CustomOptions Value="-dBorland -dVer150 -dDelphi7 -dCompiler6_Up -dPUREPASCAL -dPRODUCTION"/> 168 <CustomOptions Value="-dPRODUCTION"/>
169 </Other> 169 </Other>
170 </CompilerOptions> 170 </CompilerOptions>
171 </Item4> 171 </Item4>
@@ -207,7 +207,7 @@
207 <PackageName Value="LCL"/> 207 <PackageName Value="LCL"/>
208 </Item5> 208 </Item5>
209 </RequiredPackages> 209 </RequiredPackages>
210 <Units Count="24"> 210 <Units Count="25">
211 <Unit0> 211 <Unit0>
212 <Filename Value="hUGETracker.lpr"/> 212 <Filename Value="hUGETracker.lpr"/>
213 <IsPartOfProject Value="True"/> 213 <IsPartOfProject Value="True"/>
@@ -334,6 +334,11 @@
334 <IsPartOfProject Value="True"/> 334 <IsPartOfProject Value="True"/>
335 <UnitName Value="DMFImport"/> 335 <UnitName Value="DMFImport"/>
336 </Unit23> 336 </Unit23>
337 <Unit24>
338 <Filename Value="vgm.pas"/>
339 <IsPartOfProject Value="True"/>
340 <UnitName Value="VGM"/>
341 </Unit24>
337 </Units> 342 </Units>
338 </ProjectOptions> 343 </ProjectOptions>
339 <CompilerOptions> 344 <CompilerOptions>
@@ -374,7 +379,7 @@
374 <ShoLineNum Value="True"/> 379 <ShoLineNum Value="True"/>
375 </Verbosity> 380 </Verbosity>
376 <WriteFPCLogo Value="False"/> 381 <WriteFPCLogo Value="False"/>
377 <CustomOptions Value="-dBorland -dVer150 -dDelphi7 -dCompiler6_Up -dPUREPASCAL -dDEVELOPMENT"/> 382 <CustomOptions Value="-dDEVELOPMENT"/>
378 </Other> 383 </Other>
379 </CompilerOptions> 384 </CompilerOptions>
380 </CONFIG> 385 </CONFIG>
Modifiedmainloop.pas +0−18
@@ -262,24 +262,6 @@ begin
262 end; 262 end;
263 end; 263 end;
264 264
265 const
266 cycles_per_hblank = 451;
267
268 function remap(f: byte): Byte;
269 var
270 z,n,h,c:byte;
271 begin
272 Result := 0;
273 z := f and %01000000;
274 n := f and %00000010;
275 h := f and %00010000;
276 c := f and %00000001;
277 if z<>0 then result := result or %10000000;
278 if n<>0 then result := result or %01000000;
279 if h<>0 then result := result or %00100000;
280 if c<>0 then result := result or %00010000;
281 end;
282
283 function z80_decode: byte; 265 function z80_decode: byte;
284 var 266 var
285 Count: byte; 267 Count: byte;
Modifiedsong.pas +2−2
@@ -111,7 +111,7 @@ type
111 111
112 procedure WriteSongToStream(S: TStream; const ASong: TSong); 112 procedure WriteSongToStream(S: TStream; const ASong: TSong);
113 procedure ReadSongFromStream(S: TStream; out ASong: TSong); 113 procedure ReadSongFromStream(S: TStream; out ASong: TSong);
114 procedure InitializeSong(var S: TSong); 114 procedure InitializeSong(out S: TSong);
115 procedure LoadDefaultInstruments(var S: TSong); 115 procedure LoadDefaultInstruments(var S: TSong);
116 procedure DestroySong(var S: TSong); 116 procedure DestroySong(var S: TSong);
117 117
@@ -448,7 +448,7 @@ begin
448 end; 448 end;
449 end; 449 end;
450 450
451 procedure InitializeSong(var S: TSong); 451 procedure InitializeSong(out S: TSong);
452 var 452 var
453 I, J: Integer; 453 I, J: Integer;
454 begin 454 begin
Modifiedtracker.lfm +316−306
@@ -1,7 +1,7 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 1621 2 Left = 1669
3 Height = 857 3 Height = 857
4 Top = 130 4 Top = 152
5 Width = 1318 5 Width = 1318
6 AllowDropFiles = True 6 AllowDropFiles = True
7 Caption = 'hUGETracker' 7 Caption = 'hUGETracker'
@@ -20,7 +20,7 @@ object frmTracker: TfrmTracker
20 LCLVersion = '2.2.3.0' 20 LCLVersion = '2.2.3.0'
21 object TreeView1: TTreeView 21 object TreeView1: TTreeView
22 Left = 0 22 Left = 0
23 Height = 725 23 Height = 720
24 Top = 89 24 Top = 89
25 Width = 193 25 Width = 193
26 Align = alLeft 26 Align = alLeft
@@ -42,34 +42,34 @@ object frmTracker: TfrmTracker
42 end 42 end
43 object Splitter1: TSplitter 43 object Splitter1: TSplitter
44 Left = 193 44 Left = 193
45 Height = 725 45 Height = 720
46 Top = 89 46 Top = 89
47 Width = 5 47 Width = 5
48 end 48 end
49 object Panel1: TPanel 49 object Panel1: TPanel
50 Left = 198 50 Left = 198
51 Height = 725 51 Height = 720
52 Top = 89 52 Top = 89
53 Width = 1120 53 Width = 1120
54 Align = alClient 54 Align = alClient
55 BevelOuter = bvNone 55 BevelOuter = bvNone
56 ClientHeight = 725 56 ClientHeight = 720
57 ClientWidth = 1120 57 ClientWidth = 1120
58 ParentFont = False 58 ParentFont = False
59 TabOrder = 2 59 TabOrder = 2
60 object PageControl1: TPageControl 60 object PageControl1: TPageControl
61 Left = 0 61 Left = 0
62 Height = 725 62 Height = 720
63 Top = 0 63 Top = 0
64 Width = 1120 64 Width = 1120
65 ActivePage = GeneralTabSheet 65 ActivePage = InstrumentTabSheet
66 Align = alClient 66 Align = alClient
67 ParentFont = False 67 ParentFont = False
68 TabIndex = 0 68 TabIndex = 2
69 TabOrder = 0 69 TabOrder = 0
70 object GeneralTabSheet: TTabSheet 70 object GeneralTabSheet: TTabSheet
71 Caption = 'General' 71 Caption = 'General'
72 ClientHeight = 697 72 ClientHeight = 692
73 ClientWidth = 1112 73 ClientWidth = 1112
74 ParentFont = False 74 ParentFont = False
75 object SongInformationGroupbox: TGroupBox 75 object SongInformationGroupbox: TGroupBox
@@ -186,16 +186,16 @@ object frmTracker: TfrmTracker
186 end 186 end
187 object PatternTabSheet: TTabSheet 187 object PatternTabSheet: TTabSheet
188 Caption = 'Patterns' 188 Caption = 'Patterns'
189 ClientHeight = 697 189 ClientHeight = 692
190 ClientWidth = 1112 190 ClientWidth = 1112
191 ParentFont = False 191 ParentFont = False
192 object Panel3: TPanel 192 object Panel3: TPanel
193 Left = 224 193 Left = 224
194 Height = 697 194 Height = 692
195 Top = 0 195 Top = 0
196 Width = 888 196 Width = 888
197 Align = alClient 197 Align = alClient
198 ClientHeight = 697 198 ClientHeight = 692
199 ClientWidth = 888 199 ClientWidth = 888
200 ParentFont = False 200 ParentFont = False
201 TabOrder = 0 201 TabOrder = 0
@@ -249,7 +249,7 @@ object frmTracker: TfrmTracker
249 end 249 end
250 object ScrollBox1: TScrollBox 250 object ScrollBox1: TScrollBox
251 Left = 1 251 Left = 1
252 Height = 665 252 Height = 660
253 Top = 31 253 Top = 31
254 Width = 886 254 Width = 886
255 HorzScrollBar.Increment = 3 255 HorzScrollBar.Increment = 3
@@ -262,7 +262,7 @@ object frmTracker: TfrmTracker
262 VertScrollBar.Tracking = True 262 VertScrollBar.Tracking = True
263 Align = alClient 263 Align = alClient
264 BorderStyle = bsNone 264 BorderStyle = bsNone
265 ClientHeight = 665 265 ClientHeight = 660
266 ClientWidth = 886 266 ClientWidth = 886
267 ParentFont = False 267 ParentFont = False
268 TabOrder = 1 268 TabOrder = 1
@@ -270,7 +270,7 @@ object frmTracker: TfrmTracker
270 OnMouseWheelUp = ScrollBox1MouseWheelUp 270 OnMouseWheelUp = ScrollBox1MouseWheelUp
271 object RowNumberStringGrid: TStringGrid 271 object RowNumberStringGrid: TStringGrid
272 Left = 0 272 Left = 0
273 Height = 665 273 Height = 660
274 Top = 0 274 Top = 0
275 Width = 32 275 Width = 32
276 Align = alLeft 276 Align = alLeft
@@ -287,7 +287,7 @@ object frmTracker: TfrmTracker
287 end 287 end
288 object OrderEditStringGrid: TStringGrid 288 object OrderEditStringGrid: TStringGrid
289 Left = 0 289 Left = 0
290 Height = 697 290 Height = 692
291 Top = 0 291 Top = 0
292 Width = 224 292 Width = 224
293 Align = alLeft 293 Align = alLeft
@@ -352,12 +352,12 @@ object frmTracker: TfrmTracker
352 end 352 end
353 object InstrumentTabSheet: TTabSheet 353 object InstrumentTabSheet: TTabSheet
354 Caption = 'Instruments' 354 Caption = 'Instruments'
355 ClientHeight = 697 355 ClientHeight = 692
356 ClientWidth = 1112 356 ClientWidth = 1112
357 ParentFont = False 357 ParentFont = False
358 object FlowPanel1: TFlowPanel 358 object FlowPanel1: TFlowPanel
359 Left = 0 359 Left = 0
360 Height = 697 360 Height = 692
361 Top = 0 361 Top = 0
362 Width = 952 362 Width = 952
363 Align = alClient 363 Align = alClient
@@ -990,19 +990,19 @@ object frmTracker: TfrmTracker
990 end 990 end
991 object SubpatternGroupBox: TGroupBox 991 object SubpatternGroupBox: TGroupBox
992 Left = 952 992 Left = 952
993 Height = 690 993 Height = 685
994 Top = 7 994 Top = 7
995 Width = 160 995 Width = 160
996 Align = alRight 996 Align = alRight
997 Anchors = [] 997 Anchors = []
998 BorderSpacing.Top = 7 998 BorderSpacing.Top = 7
999 Caption = 'Subpattern' 999 Caption = 'Subpattern'
1000 ClientHeight = 670 1000 ClientHeight = 665
1001 ClientWidth = 156 1001 ClientWidth = 156
1002 TabOrder = 1 1002 TabOrder = 1
1003 object ScrollBox2: TScrollBox 1003 object ScrollBox2: TScrollBox
1004 Left = 0 1004 Left = 0
1005 Height = 670 1005 Height = 665
1006 Top = 0 1006 Top = 0
1007 Width = 156 1007 Width = 156
1008 HorzScrollBar.Increment = 3 1008 HorzScrollBar.Increment = 3
@@ -1015,14 +1015,14 @@ object frmTracker: TfrmTracker
1015 VertScrollBar.Tracking = True 1015 VertScrollBar.Tracking = True
1016 Align = alClient 1016 Align = alClient
1017 BorderStyle = bsNone 1017 BorderStyle = bsNone
1018 ClientHeight = 670 1018 ClientHeight = 665
1019 ClientWidth = 156 1019 ClientWidth = 156
1020 TabOrder = 0 1020 TabOrder = 0
1021 OnMouseWheelDown = ScrollBox1MouseWheelDown 1021 OnMouseWheelDown = ScrollBox1MouseWheelDown
1022 OnMouseWheelUp = ScrollBox1MouseWheelUp 1022 OnMouseWheelUp = ScrollBox1MouseWheelUp
1023 object RowNumberStringGrid1: TStringGrid 1023 object RowNumberStringGrid1: TStringGrid
1024 Left = 124 1024 Left = 124
1025 Height = 670 1025 Height = 665
1026 Top = 0 1026 Top = 0
1027 Width = 32 1027 Width = 32
1028 Align = alRight 1028 Align = alRight
@@ -1040,14 +1040,14 @@ object frmTracker: TfrmTracker
1040 end 1040 end
1041 object WavesTabSheet: TTabSheet 1041 object WavesTabSheet: TTabSheet
1042 Caption = 'Waves' 1042 Caption = 'Waves'
1043 ClientHeight = 697 1043 ClientHeight = 692
1044 ClientWidth = 1112 1044 ClientWidth = 1112
1045 ParentFont = False 1045 ParentFont = False
1046 object WaveEditPaintBox: TPaintBox 1046 object WaveEditPaintBox: TPaintBox
1047 AnchorSideTop.Control = WaveEditGroupBox 1047 AnchorSideTop.Control = WaveEditGroupBox
1048 AnchorSideTop.Side = asrBottom 1048 AnchorSideTop.Side = asrBottom
1049 Left = 0 1049 Left = 0
1050 Height = 537 1050 Height = 532
1051 Top = 160 1051 Top = 160
1052 Width = 1112 1052 Width = 1112
1053 Align = alBottom 1053 Align = alBottom
@@ -1144,14 +1144,14 @@ object frmTracker: TfrmTracker
1144 end 1144 end
1145 object CommentsTabSheet: TTabSheet 1145 object CommentsTabSheet: TTabSheet
1146 Caption = 'Comments' 1146 Caption = 'Comments'
1147 ClientHeight = 697 1147 ClientHeight = 692
1148 ClientWidth = 1112 1148 ClientWidth = 1112
1149 ParentFont = False 1149 ParentFont = False
1150 object CommentMemo: TMemo 1150 object CommentMemo: TMemo
1151 AnchorSideTop.Control = Label17 1151 AnchorSideTop.Control = Label17
1152 AnchorSideTop.Side = asrBottom 1152 AnchorSideTop.Side = asrBottom
1153 Left = 0 1153 Left = 0
1154 Height = 661 1154 Height = 656
1155 Hint = 'The comments section for your song. Greetings/links/etc' 1155 Hint = 'The comments section for your song. Greetings/links/etc'
1156 Top = 36 1156 Top = 36
1157 Width = 1112 1157 Width = 1112
@@ -1175,14 +1175,14 @@ object frmTracker: TfrmTracker
1175 end 1175 end
1176 object RoutinesTabSheet: TTabSheet 1176 object RoutinesTabSheet: TTabSheet
1177 Caption = 'Routines' 1177 Caption = 'Routines'
1178 ClientHeight = 697 1178 ClientHeight = 692
1179 ClientWidth = 1112 1179 ClientWidth = 1112
1180 ParentFont = False 1180 ParentFont = False
1181 inline RoutineSynedit: TSynEdit 1181 inline RoutineSynedit: TSynEdit
1182 AnchorSideTop.Control = Label19 1182 AnchorSideTop.Control = Label19
1183 AnchorSideTop.Side = asrBottom 1183 AnchorSideTop.Side = asrBottom
1184 Left = 0 1184 Left = 0
1185 Height = 569 1185 Height = 564
1186 Top = 128 1186 Top = 128
1187 Width = 1112 1187 Width = 1112
1188 Align = alBottom 1188 Align = alBottom
@@ -1815,8 +1815,8 @@ object frmTracker: TfrmTracker
1815 end 1815 end
1816 object StatusBar1: TStatusBar 1816 object StatusBar1: TStatusBar
1817 Left = 0 1817 Left = 0
1818 Height = 23 1818 Height = 28
1819 Top = 814 1819 Top = 809
1820 Width = 1318 1820 Width = 1318
1821 AutoHint = True 1821 AutoHint = True
1822 Panels = < 1822 Panels = <
@@ -2052,17 +2052,22 @@ object frmTracker: TfrmTracker
2052 Caption = '-' 2052 Caption = '-'
2053 end 2053 end
2054 object MenuItem54: TMenuItem 2054 object MenuItem54: TMenuItem
2055 Caption = 'Export .GB ROM ...' 2055 Caption = 'Export GB ROM ...'
2056 Hint = 'Export the song as a standalone ROM' 2056 Hint = 'Export the song as a standalone ROM'
2057 ImageIndex = 81 2057 ImageIndex = 81
2058 OnClick = ExportGBButtonClick 2058 OnClick = ExportGBButtonClick
2059 end 2059 end
2060 object MenuItem44: TMenuItem 2060 object MenuItem44: TMenuItem
2061 Caption = 'Export .GBS soundtrack ...' 2061 Caption = 'Export GBS soundtrack ...'
2062 Hint = 'Export the song as a GBS soundtrack' 2062 Hint = 'Export the song as a GBS soundtrack'
2063 ImageIndex = 80 2063 ImageIndex = 80
2064 OnClick = ExportGBSButtonClick 2064 OnClick = ExportGBSButtonClick
2065 end 2065 end
2066 object MenuItem10: TMenuItem
2067 Caption = 'Export VGM ...'
2068 Hint = 'Export the song as a VGM, useful for creating sound effects'
2069 ImageIndex = 84
2070 end
2066 object MenuItem40: TMenuItem 2071 object MenuItem40: TMenuItem
2067 Caption = '-' 2072 Caption = '-'
2068 end 2073 end
@@ -2264,278 +2269,283 @@ object frmTracker: TfrmTracker
2264 Left = 152 2269 Left = 152
2265 Top = 32 2270 Top = 32
2266 Bitmap = { 2271 Bitmap = {
2267 4C7A540000001000000010000000D32100000000000078DAED5D097C16C5D99F 2272 4C7A550000001000000010000000812200000000000078DAED5D077C1645DA9F
2268 24D8F66B6B6DA51EB5B6D2CFEA578B6015A8580A845B2C8A2220288780A02882 2273 144F3FFB89ED3CEFE43E4FBFF3103C054E3C0E085D3C144540508A80A0288288
2269 8894439045817028672084700B245C4210B99553CE170837E14A807085701AEE 2274 1CC5208B02A128351042E802094D08225DA9525F7A0D2DA143E8187A79BE7926
2270 E3F9E699BCFB6676DF99DDD9DD975CBC9BDF3FF3EEEEFC9F67EE9D7B08293017 2275 EFBE99DD77667776F72509E1DDFCFE997777E6FF3CD37766760A21F9E602131C
2271 98E0F81D7F71F644CF0DEF57AC5811E0F3B2CCDCDCF720E59BF5C87EABEA17C9 2276 DBF117E74EF4DC60BF68D1A2009F9765E6E6D883946FD623FBADAA5F24D71CBE
2272 35FB2F94FA65320CCF2CF4AB851F71E4FE60FF8BF9E6B420F1B350BFA66906F0 2277 50EA97C9303CB3D0AF167FC491FF83C32FE69BF38224CC42FD9AA619C0BB33DB
2273 F6CCEF387DC442B60A8AFAE5C5AF6073AFCA07877C08F3C37C9BDFD28B2B3B0C 2278 71FA88856C1514F4CB4B58C1E65E950F0EF910E687F936BFA51757771864FA9F
2274 32FDCF894319E0945B80BEDFE088AB97EF9CA928C36BD91BA457C9E4D395E09D 2279 138732C029371FBDBFC11157AFDF39535186D7BA3748AF92C9E72B819D9D0C73
2275 9D0C73FD8408BE8F8EF50BFCE9583FF78DCF17FF5B7CAF95F52B9856FA1DC77F 2280 FB8408DE8F8EF50BC2E9583FF78ECF93F05BBCAF95F52B9856FA1DA77FF8FD6F
2276 F8FB6FF7BD57F5B3396CED9E8752BFB47EA8186FD2FAADE4B9D732CCC095E9B6 2281 F7BE570DB3396EED9E8752BFB47DA8986ED2F6ADE4B9D73ACCC095E9B66903DF
2277 A903DF493E38E17B79AF10BE5EE387D885910AFF2EACFF17E6F2CB6D7C49F3A8 2282 4C3E38E17BB157885FAFE943ECE248857F1BB6FF6FE5FACB6D7A49CBA88BF64C
2278 8BFA4C7EF3EF36FFDFEDEDF5829AEFF22A3E0ABADEB0FF8BA6FFC397557F08F6 2283 5EF36FB7F0DFEEFDF5FC5AEE722B3DF2BBDE70F80B66F8C397D578088E8170F0
2279 8170F0C257B1E756BF15DFEABDDD3B276E2CAC7C1519AAEFEDE2D0495A739BF6 2284 C25771E756BF15DFCADECECE891F6F55BE8A0C557BBB347492D7DCE63DAF79F6
2280 BCA6D9BB212F7BE17BD1CF9BE67E576EFC475996CE958C3F2AF3552172B7EA45 2285 7628CB5EF85EF4F3A679DC95FBFEA32C4BE74ABE3F2AF35521F2B7EA4504E3D3
2281 04FDD381312DFADECE94F155B8CC2CAAFA9DC07E7C3B5C07094DBD8DE451F885 2286 816F5AD4DECE94F155B8CC2CA8FA9DC0FEFB76B80D129A761BC9A5F80BEB0FEB
2282 F587F5E7A7FEA29A7795F816734C5CF3C1C1F8A368DE8B83FAA3F03BAD099E4B 2287 CF4BFD05B5EC2AF12DE698B8E68383EF8FA2792F0EDA8FC2F7B426782E91211C
2283 6408FBD7657CDD54D5CFFB4BE21765FD66F94EF413D378826693BF1CE897D6CD 2288 5F97F17553553F1F2E495894F59BE53BD14F4CDF13349BF2E540BFB46DA6A8DF
2284 14F55BF2BDE80F555B249FF2B4D57D61E083E0B71B374008CAC550C583D37692 2289 92EF457FA8FA227954A6ADEE6F053E087EBBF10384A05E0C553A38ED2779EAA7
2285 A7769A9BF69ED9BEA18DA49067ACDA79F9C177DA662DA4FD05219983E3E412F1 2290 B9E9EF99DD1BFA480A65C6AA9F97177CA77DD65B74BC202473709C5C22BE6AFF
2286 55DB5F32BE57FD7C1BDDEA3EACBF70E91755D6ACF82A15C602D406F0DAE7605B 2291 4BC6F7AA9FEFA35BDD87F5DF5AFA458D352BBE4A83311FF501BC8E39D8B65334
2287 4FD11CF29D9623D83703FE3E1ABBFAB7488F9E3668E9EB87337ECE7CF01C2EDF 2292 877CA7F5088ECD807F8CC6AEFD2DD2A3E70D5AFBFAE18C9F3D1F3C9BCBF71FCC
2288 7E30BB4BE44E99FE5C3B5A1074194EF5EB769CE89771CDFACDFEB2E3DAAC4B30 2293 FE12F953A63FC78D16045D8653FDBA1B27FA655CB37E73B8ECB836EB124C7A8C
2289 E931FADBA97EBBF097A529C5F7D236A1A2FE3B91270B7B3F80DB3ABE93797E2A 2294 E176AADF2EFE65794AD15EDA2754D47F33CAE4AD3E0EE0B68DEF649E9F4ABC3B
2290 E1EE846BE717E773A2BDC775A8B85EDC1E8AB05395A11AFF6EE2DE4E465EB7D7 2295 E1DA85C5F99C68EF691D2AAE17BF8722EE5465A8A6BF9BB4B79391DBFDB5823A
2291 8A6A1FA25D1F6AA8C2DA515FCB9DEC83D1E473D5F2CCFF61FD77AFFE803B14C6 2296 866837861AAAB87634D67233C76034F95CB55C0B7F58FFEDAB3FE00F856FCD56
2292 9AADB8A0F799B07636C981CA38786E9B8CFEF6DBD7F93632026DBA403D3687E3 2297 5CD0C74C583F9B6443E53B784E9F8CFEF6BBD7F93632027DBA403B369BE35FA4
2293 5FA41B9021F30BEF6EC27179D3CA0D01BE160C831C1BBED9BDB9EE36F08563CF 2298 1B90210B0BEF6FC27179D3CA0F01BE160C831C1BBED9BF39FE36F085DF9E035C
2294 012E0FCDA8DBE47F43DF6460BD99C21A1C8B6FB1A335374279EA6B6EE4E33016 2299 1E9A51B729FC86B1C9C07A3385353816EF62476B6E84F2D4D7DCC8BFC358AC85
2295 6BA16CFDC3735D8CE17BE0E686893B2E211EDB0BD1D1D19A1DACF2B0DEA6915D 2300 B20D0FCF75F10DDF0337274EDC7109F1D85F888989D1EC605586F53E8DEC42FB
2296 F8BE4489122B54F9E9E9E901E87C2B192AFAADDCA1BF4F4949613A7553FF8DF8 2301 C2850B2F52E567646404A0F3AD64A8E8B7F2876EBF61C306A65337F5DF88CF3E
2297 E8A38F583E4233A7D856E7EBA6EE37195FF7AF6E8A9E59F1BDEA0FBBDF9BFBF9 2302 FB8C952334B3AB6D75BE6EEA6193F1F5F0EAA6E89915DFABFEB0FFBDF99FCFB7
2298 742B828C3F77EE5C5B2EEF1F33DF7FEF04D185641C419D5B94D6109BC7C11DAE 2303 22C8F8D3A74FB7E5F2E131F3FDF74E10738B7C4750E716A435C4E6EFE00ED7B0
2299 61D5FC32CDA613FD86768E03FD3C4F747FA7F587CAFF5EC2FF2E5D43EC75DCDC 2304 6A7E9966D3897E433FC7817E9E27BABFD9FA43157E2FF17F9BAE21F6FADDDC0B
2300 0B1F24FB26842AFFAB8EF583C53355B7CB9E39EDF7CA2B7E9E5E5EFB5D349B35 2305 1F24FB2684AAFCAB7EEB078B67AA7E973D733AEE955BFC5CBDBC8EBB68366B10
2301 08323354FD3F5A88E6B0DFD130F6B60789555A72C335BB49C9CDB2BE14815FB8 2306 6466A8C67FB410CD61BFA971EC6D0F12ABBCE4866BF693929F65632982B070DF
2302 B12873292D1EEF95B5FD446D4F677CF1D74285AFFB9FDB1F4BB85F98C8FFBC3F 2307 A2CCB5B4F87BAFACEF27EA7B3AE38BDF162A7C3DFCDCFE58C2FDC244E1E7C329
2303 45EB096CCA53B57DC32CCA99A0F971F2F4E778FE8842B9E6944F42C0270EBFFF 2308 5A4F60539FAAED1B6651CF04CD8F93E73FC7F34714EA35A77C12023E71F8FECF
2304 05F65258AF022AFD7F36E1075EF856E3B50EF40B65385A7FE382EF45BF9E77F4 2309 B797C27A155019FFB3893FF0C2B7FA5EEB40BF5086A3F5372EF85EF4EB65471F
2305 FE134DB27EC58AEBAFED1AF6C923166B9FCCE1AE7375BE392EECF83C9CF279BF 2310 3FD124EB57ACB8FED6AE619F3C62B1F6C91CEF3A57E79BD3C28ECFC3299F0F3B
2306 A33B9CB8DF26FCC043FC1964F0F2ED6051D774BB774CC12D57BCD491309E3DEC 2311 FAC389FF6DE20F3CA49F41062FDF0E166D4DB77BC7E4DF7AC54B1B09D3D9C3DE
2307 9DE6A58E17D0ADC3A11B34D3FC57276ED07507F9C3C19A46B7755DB36EA76E90 2312 695EDA7801DD3A1CFA4133CD7F75E2075D7750381CAC6974DBD635EB76EA0799
2308 E9E1C3D3A9EEA0F810AD9FB4F0A756F8E6DEE7553BDF499BDC719B52D2F67552 2313 1E3E3E9DEA0E4A0FD1FA498B706AB7DEDCFBDCEAE73BE9933BEE534AFABE4EDA
2309 2F72BD7FA2A41DE1B81F8397A39CFFFC1C9BFAAE72FBC9891B04BADDF62348C3 2314 45AEF74F94F4231C8F63F07294CB9F9F63D3DE55EE3F39F18340B7DB7104697C
2310 D36A1CD6639F9772DBD0EC060B7F3BED27514E5792F875B33FD1DD54E6E4E77C 2315 5A7D87F538E6A5DC3734FBC122DC4EC74994F395247DDDEC4F743BD53979391F
2311 B84251670A853B1DE4879087B3A96EEEC60DAED34908F6EECD93793A85BDAE2E 2316 EE96683385C29F0ECA43C8E3D9D43677E307D7F924047BF7E6CA3C9D5BBDAD2E
2312 AB6379A91FABD4CD6476BDE8B7F1BFF87BE86E4CC255FDC3C11882A8EE625517 2317 6B6379691FABB4CD646EBDE8B709BFF87DE8EE9B84ABF687836F08A2B68B555B
2313 53E23A90E165DC4BB9BC128DB3380CE7A2F8FD0DC9FAABF0FA31F7FA55001ED2 2318 4C89EB408697EF5ECAF595E83B8BC3782E88EFDF90ACBF0AAF1F73AF5F05E021
2314 1E3747D0CDC71C6408917EAFFE0FAF1FF5A6BF20D6ED95FB3055FB4E65FDA876 2319 EF717304DDBCCC418610E9F71AFEF0FA516FFAF363DB5E790C5375EC54368E6A
2315 6BBD88F5DA2FEEFC1AFB991FD6FCE038178D03E6957E338ABA7E2FF1EF21FD79 2320 B7D68B58AFFDE2CEAFB19FF961CD0F4E73D177C0DCD26F4641D7EF25FD3DE43F
2316 4DFF85A5ADAE5EFF0C8C387150AD7F8AE6AFABCB90D9F3C277EE07F75CBBB020 2321 AFF9FF56E9ABABB73F035F9C38A8B63F45F3D7D565C8DC79E13B0F837BAE5D5C
2317 8EF95EFA5AF2974F3C7343117E5EC3E0EEE83F50DE3756138FAB59F7FD9ADAEB 2322 10C77C2F632D79CB279EB9A1883FAF71707B8C1F28EF1BAB89BFAB598FFD9AFA
2318 82F124B06AAB6BA23E63391F42C0B772AB9DFB41353C2CFAA06DC3C361FDCD32 2323 EB82EF4960D557D74463C6723E84806FE5573BFF836A7C588C41DBC687C3F69B
2319 2C54DDAEC027C47D7F8952BF8D625F91573E21A1E9A70EEF335840C61CDCF4A5 2324 655CA8FA5D814F88FBF112A5711BC5B122AF7C4242334E1DDE67309F7C737033
2320 BBE8BB0BEBF6A63BBC5767DEB5E189DB3E8CC0FA6270C7E7B8C23E1817DCA03E 2325 96EE62EC2EACDB9BEEF05E9DB9D787276EC73002EB8BC11D9FE30AC7605C7083
2321 1C3BAE6C0EAE3E172C683F719DAB11D9DA6C03DF2C8370F37A55F8843B17D7BC 2326 C670ECB8B239B8FA5CB0A0FDC475AE46646BB30D7CB30CC2CDEB55E113EE5C5C
2322 B65285CF9F956BF68B66B17ED6CC17C9109DD1EB14E6FD831CB5DD393711C1F9 2327 F3DA4A153E7F56AE392C9AC5FA59335F24437446AF5398F70F72D477E7FC4404
2323 C02AF361457D00AAFA4573209DB8A308966BF9BD762AAC3FAC3FBC877FD18FBF 2328 E703ABCC87158D01A8EA17CD8174E28F0258AFE5F5DAA9B0FEB0FEF01EFE053F
2324 B0FFC3FE0F5F6A7D428EF8167BBA2BEBD78A601C85C3361C56775319A2795853 2329 FDC2E10F873F7CA98D0939E25BECE9AEAC5F2B8069148EDB705CDD4E7588E661
2325 6D714686325FE56C863BC5CFC7F463FBBD0BC74FC18E9F825AE6AABCB72A7355 2330 4DB5C51919CA7C95B3196E163F0FF38FEDFB2E9C3EF93B7DF26B9DAB626F55E7
2326 DE6B0A674A16D432391C7EE1F00B5FF9DEF7603643B316CD7E2F4CF97E41BA1D 2331 AAD86B0A674AE6D73A391C7FE1F80B5F793EF6603643B316CD7E2F4CF97E41BA
2327 19D7665F09B35DE1BDA27E4B53D1FFC47A7F51A17E07FB897AE94F085FF95D86 2332 1B19D7665F09B35BE1BDA27E4B5331FCC47A7F51A17E07FB897A194F085F795D
2328 3B1C3F91ADDF544D33A2FD1FF8342A3DFB55DF4B4EB27F84950CFEB94CBFC8AE 2333 873BFC7E225BBFA99A6744FB3FF079547AF6ABBE979C64FF082B19FC73997E91
2329 E85E45BFCCB4D26FA7D7CAFF7661C7CBB0F3BF9D29E2BB19830B411F64F82A18 2334 5BD1BD8A7E9969A5DF4EAF55F8EDE28E9761177E3B53C477F30D2E046390E12B
2330 DF6F2FFDC7E0E62236E75F8A39C6337A9CEAF7CAB772BFE89C513354F97742BF 2335 7FBCBFBD8C1F839B8BD89C7F29E618CFE871AADF2BDFCAFFA27346CD50E5DF0C
2331 13BE53FD243C7E975779D196EF760F3015BEEA1EF26EF6E0729216C3FCA2CB2F 2336 FD4EF84EF593F0F7BBDC2A8BB67CB77B80A9F055F79077B3079793BC18E6175C
2332 746507775E21570F34D6EBECF6E40C9CDDC19FE3A11976D05491613695F3AF89 2337 FE2D577770E71572ED4063BBCE6E4FCEC0D91DFC391E9A61074D15196653B9FC
2333 235B37268ABF207B413B7F5AEEE1664838E6396AD67501C3D91B4414666EF711 2338 9A38B27563A2F40B7217B4F3A7E51E6E868C639EA366DD16309CBD414471E676
2334 B44A77767B5A7A5C3F1AD6EF915F44EA1F5EDC0E76E168DBEFE56D3F57C319EF 2339 1F41AB7C67B7A7A5C7F5A361FD1EF905A4FDE1C5EF60178FB6E35EDEF673359C
2335 E6F3E89DC4BD5BBE66B1079FAA7E99EE3BCDB773BBAAFF65BAF3827F57E5FD98 2340 F16E3E8FDE49DABBE56B167BF0A9EA97E9BED97C3BBFAB865FA63B37F8B755D9
2336 4D39E8EF6B41D15B112D02BC988D3ABEE8BF3F1BDE5E790A9A2FCF046D47368C 2341 8F5B938D9EBEC6145D15D138C08B5BADE39B9EBBB2E0FDC5C7A0D1C24CD03667
2337 3D7A0B261F0703A66552FF53BB015EDFF53AFACEBE0030F3DC6D883D7215DAAF 2342 C1F003D761EC61306042260D3F751BE0755FA9A3FBD4B300934FDF80F8FD97A0
2338 3F03D5E216C3E0854B0C18B16C29FCB1CFDC51957A0F26157B7D49489F1F75C4 2343 D5CA935031612EF49D3DCF80410BE6C31FBB4D1F52B66B5F52A6CBB78474FB55
2339 4C3F7B0BA69CBAC930E3DC2DF870CE6638732603B2B34F501C858B170FC3AA55 2344 47DCC453D761DCB16B0C934E5F874FA7AD8593270F4256D6118A0370EEDC3E58
2340 C950B357DF453D7AD47BA25BB75709F97C958E81D34EDF8449C76F30E0EF9649 2345 B22415AA74E93E2736B6E6331D3BBE49C8D74B74F49E70FC1A8C397C95017F37
2341 1B60FFFE9DB077EF56387DFA209C38B11B162C98CAE29072DB523C417A2D277E 2346 495905BB766D811D3BD6C3F1E37BE0C8916D306BD678968694DB82E219D26521
2342 7CF5F5C91B30EEE83506FCDD68C22A3870600F9371FEFC712663CA941101D4AE 2347 F1E3BBEF8F5E8511072E33E0EFBAA396C0EEDDDB998C33670E3319E3C60D0AA0
2343 FD440FD27329F163E8F863D76074DA6506FCDD70EC7238742895C9C8CECE0AC8 2348 5AB5676249E7F9C48FFE230F5D86A1E91718F0779DE10B61EFDE3426232BEB44
2344 4077A05F3A767CB11DF97411F12336E1F01588A57180C0DFF5E297415ADA7E26 2349 4006FA03C3D2A6CDAB2DC99773881FF149FB2E423C4D0304FEAE99B800D2D377
2345 E3D2A57306193FFD7414DAB5ABDE9E749D4FFC888B3B741986EEBDC880BFEB8E 2350 3119E7CF9F36C8F8EDB703D0B265A556A4C34CE24742C2DE0BD07FC73906FC5D
2346 5A04870F1F6432AE5CB9609071F9F24978F7DDE88FC87FE7123F1286EFCB8641 2351 63C81CD8B76F0F9371F1E259838C0B178EC2871FC67C46FE3B9DF89134706716
2347 3BCF33E0EF3AC317507E1A9371F56AB641C6D5AB67A165CB7F7F4CDEF89C904E 2352 F4D97286017F571F388BF2D3998C4B97B20C322E5D3A054D9AFCFB73F2CED784
2348 B310E307EFBE0831296718F0F78B43E6C1912387998CEBD72F1B645CBF7E119A 2353 B49D8218D977DB3988DB7092017FBFDA6F06ECDFBF8FC9B872E58241C6952BE7
2349 367DFE139686EB7F464887C42903779C87CF379F66C0DF3507CD81A3478F3019 2354 A0418397BF6079B8D65784B44E1ED77BF319F87AED7106FC5DA5CF343870603F
2350 376E5C35C8B87E3D1B1A357AEEBF94FD3F14F79336F1F3FAA79C835E1B4F31C4 2355 9371F5EA25838C2B57B2A06EDD97FE4BD9FF43F110699E38A3E786D3D065F531
2351 D0DFD507CC828C8C0C26E3E6CD1B0619376E5C82BA759FEE49B9BFA3F82BA9F9 2356 8638FABB52AF2970F0E04126E3DAB5AB061957AF9E871A359EEF4CB9BFA7F82B
2352 FEE87243BFBFD876D1C1EB9F6FCA82BE5BCE42957E4970ECD8318A0CB87DFB16 2357 A9F2F1D092FD7F3ED762CE9E2B5FAF3901DDD79D82F23D52E0D0A1431407E1C6
2353 C54DB875EB3A95758DFEBE06152AFCB17F201F96AE4148EBF857C93B71F18F76 2358 8DEB14D7E0FAF52B54D665FAFB32942EFDC79E817258AC3221CD12DF241F2424
2354 9FBEA2DED4CDE93FAFDFE5C8134FFC7244C992BF1E58AAD4BD31663CFEF8AFDE 2359 3ED969E2A29AE3D766DC59ABFDFE679EB97B509122F7F62E5AF4BE38339E7EFA
2355 37F0DF8923A4E508429A0DFE0769F2650FD2A8CF48FAE6318A4724F8DD9D1A93 2360 9E8F0DFC0F120869328890867DFF41EA7F1B4BEA761B4C6D9EA2784282DFDFAC
2356 551C73138F05D8AFDD52DAE3CB299FDF43D6C60DB663BD366E002BDD06796237 2361 6FB28ADFDCC4DF02ECD76E29EDF1E594CFEF216BE307DB6FBD367E002BDD0679
2357 D8AE2DB5710384A07E67760188E1842F92E72CFE6DB80ADF51B95EFB33312CDD 2362 623FD8AE2DB5F10384A07D67F60188E1842F92E72CFD6DB80AEF51B95EFB3331
2358 2C72830D57BE8F9A5CB7DBF0F79CEB0B43FC2BF095E3D02D97A8A73BA7E19767 2363 2CFD2CF2830D57BE8F9A5CB7DBF8F75CEA6F85F457E02BA7A15B2E51CF774EE3
2359 F16FBB8F77012DFFADE738DA94FF76F95FB1FCB7D56D55FECBF27F1E97FF21AF 2364 2FD7D2DF761FEF7C5AFF5BCF71B4A9FFEDCABF62FD6FABDBAAFE9795FF5CAEFF
2360 2F68C4FB794A9AF33D9542A23F1C7EE1F0BB9BC32F8FDA0CB6E1EFA50F3214FA 2365 43DE5ED088F7F39434E77B2A85447F38FEC2F1773BC75F2EF5196CE3DFCB1864
2361 F32BFE42A5DB6DFA2D2AE1E7D50F5EFBC0BD963F057C0CC0F99881F559F406AE 2366 28F4E755FA854AB7DBFC5B50E2CF6B18BC8E817BAD7FF2F93700E7DF0CACCFA2
2362 E6DF9B959F8B46CC7359F5F7C1F3BF8C5C2B378AED99E54A61AB5FD594E8E74D 2367 377035FFDEACFC5C34629ECBAADB07CFFF3272ADFC287667962B85AD7E5553A2
2363 CDFA2C1F7BFD923E6DD1B74EA65FC60F9A536FA15FB3384FD88D7EC13A2065FD 2368 9F3735EBB37CECF54BC6B445EF3A997E193F684EBD857ECDE23C6137FA05EB80
2364 667758A55F07FA6DCB25AD689C43A4B749C13D17DCC8C8DDBFD928438D6BDE1B 2369 94F59BFD61957F1DE8B7AD97B482710E91DE2705F75C70232367FF66A30C35AE
2365 5A5D7FA00CD3F78D219A3BAE16E6DA7F3BDC7173D387BC7C7690BE3C9D7B5D14 2370 796F6875FD813A4CDF378668EEB85A986BFFEE70C7CDC91FF2FAD941FEF274EE
2366 E61582213C9CC6A33E9F48BE07B0521A0AC02CCFAA4FDE6CD73F9FC6EAEC4C2B 2371 754198570886F8709A8EFA7C22F91EC04A792800B33CAB3179B35BFF7C1AABB3
2367 BEBE6F96E6A06E117073E0ECCC5C394EF8B9675E424086B21BFCE0F98A67A907 2372 33ADF8FABE599A83B645C0CF81B33373E438E1E79C79090119CA7EF083E72B9E
2368 ED932FD8F74B29FDB83947D6CCE7C3DF49DAD588C660DEE7CB8EABF3101811B9 2373 A51EB44FBE60DF2FA5FCE3E61C59339F8F7F277957231A83799F2F3BAECE4360
2369 F5885C58A51F81BD807B78B340E77B2F7CF0BA5FB3271960F873B5DFB3271920 2374 42E4B4237260957F04EE02FEE1CD7C5DEEBDF0C1EB7ECD9E6480E1CFD57ECF9E
2370 FC73B46FBA2719A1D7CF710154CA6E39D7115FC035C349FA53D66F11560AFC82 2375 6480F0CFD1BEE99E64845E3FC70550A9BBE55C477C01D70C27F94F59BF455C29
2371 FF6107A5F3362DF9163284E1EF38FE2CD2AC927EB04E07E1FC9F47FEF752FE7A 2376 F0F3FF8B1D94CEDBB4E45BC810C6BFE3F4B3C8B34AFAC13A1F84CB7F2E85DF4B
2372 29FFF3E7AC81A2D597EF7CEDA581EBE5EC22AB39F0AADC3BAC5B3AFEABA25BDF 2377 FDEBA5FECF9BB3060AD658BEF3B59706AE97B38BACE6C0AB726FB26EE9F75F15
2373 F7950F47D5FD70055C707AF6BC69FCD9CD9A5BC3BD957EF31EC032BF4BDD6B6A 2378 DDFABEAF7C3CAAEE872BE082D3B3E74DDF9FDDACB935DC5BE937EF012C0BBBD4
2374 8B09CEF9216EF61196F5BFAAF8DF22FD17A575879EE6FF7B3CBBCC75FECF23DD 2379 BFA6BE98E09C1FE2661F61D9F8AB4AF82DF27F415A77E869FEBFC7B3CB5C97FF
2375 D2310C876B56CDA6D33DD7DD9D29E44EAFF4EC36BBF254B0DF832C0C84B1C1F5 2380 5CD22DFD86E170CDAAD974BAE7BABB3385DCE9959EDD66579F0AF67B90C58130
2376 FB1089BF5DAF1B17B8C969F815D5FCAFE22FA5796296DF229BBCC8EF632FFCBE 2381 35B8711F2209B7EB75E3023F398DBF825AFE55C2A5344FCCF25D645316F97DEC
2377 58A4019E2B93A109D6A0CBB8661926F7077165B224E167285F647506B76B5748 2382 85EF178B3CC073653234C11A7419D72CC3E4FF20AE4C9624FE0CF58BACCDE076
2378 1EAFDB73517E177AFD24BCEF403EF76D783B3B158CDF18CBB651982FE67BD8BB 2383 ED0AC9E5757B2EEAEF5B5E3F09EF3B90C7631BDECE4E05E33BC6B26F14E68BF9
2379 279C87C297F73E0B97732B4473B7F5EFB3A6304F4E539C4F2F73978A5BADFCA5 2384 1EF6EE0997A1F0E57DCCC2E5DC0AD1DC6DFDFDAC29CC93D314E7D3CBFCA5E257
2380 399C87A2EA7F11D7D29E8BB3C2C2579EB6D943D176062F7CA775303C2F4B710F 2385 AB70690EE7A1A8865FC4B574E7E2ACB0F095AB7DF650F49DC10BDF691B0CCFCB
2381 1FF9995D9AD21A72218F872ADFE06617FACD7CC53A8C3D4723CAFEB7738B0ADF 2386 52DCC3477E6697A6B4865CC8E3A1CA37F8D9857E335FB10D63CFD18872F8EDFC
2382 EC77277C2FE16F17F66EFDEF86EFA00E7A37EF5F56D0F66FBBDBCF9F0AFBBF90 2387 A2C23787DD09DF4BFCDBC5BDDBF0BBE13B6883DECEFB97E5B7FDDB6EF7F3A7C2
2383 E4BF21512DC9503F7AF56A608B1E3D1A909225C7BD101171684E44C4DA683FFF 2388 E1BF45CA5FBFA826A4BF1F5DBAD4B6456C6C6D52A4C888572222F64E8B88581E
2384 3D8A41F47D1B3B74EEDCA047C3BF745C83C35D1111C92B8744B5A06E68F1D5C5 2389 E3E77F44D187DA37B743BB76B563EBFCA5CD32FCDC151191BAB85F5463EA87C6
2385 69A9FE92EDB6142B4F9E856FBFFD16AE5CB902157FD7603321136A7E15F536A1 2390 DF9D9B90E6AFD96E48B1F8E829F8F1C71FE1E2C58B50E6F7B5D71232AACA7751
2386 1892357107DCBE9DB3478308CB8F9D8297BEFB11BA1DBF02035AF6800EBF78E5 2391 EF138A7E27466F861B37B2F7681061E1A163F0DA4FBF42C7C317A1579358687D
2387 EB9A919F912FA39A2386658EDFC6F674B87CF97C10961E3E0AB5BF5DC5B855C6 2392 D71BDF5789FC8A7C1BD508312073E446B6A7C3850B6782307FDF01A8F6E312C6
2388 CF86E4E13F0072903B30AA1922F6F898CD70F5EA39B870E184010B0F1D805AF3 2393 2D3F722AA40EFC059083DCDE510D11F18787AD854B974EC3D9B3470C98BD7737
2389 56306EA58419B068CF6E40BBC8416E4C641344DCD1B88D54D729C8CA4A0B60E3 2394 549DB18871CB264D8239DBB701BA450E72E322EB23120E24ACA6BA8EC18913E9
2390 813D5073EE0F8C5B714C12CCF66D6076D02E7290DB37F24DC498F4D87570FEE0 2395 01ACDEBD1DAA4CFF8571CB0C4B81A9BE55CC0DBA450E72BB47BE8B189611BF02
2391 21C8CECE08E0D3E425909A0D5079EC7458B06B2B7B8676D02E7290FB456463C4 2396 CEECD90B59590703F832751EA46501941B3E11666D5DCF9EA11B748B1CE47E13
2392 B8034357C38E982506601AADD5A20F4CFA34C9F01CED2207B95AE41B8889A95F 2397 590F316277FFA5B0396E9E019847AB36EE0663BE4C313C47B7C841AE16F90E62
2393 AD80C90D07C0A406FD85C0773A0E8F5C0FC841EE67910D1053760D5806531B7F 2398 74DA778B606C9D5E30A6764F21D04EC7BEC12B0139C8FD2AB23662DCD65E0B60
2394 09EBD7AD83D5AB561980CFF0DDEA2E3320A9C91038386C0D2007B99F46BE8E48 2399 7CBD6F61E58A15B074C91203F019DA2D6D3F0952EAF7833D0396017290FB65E4
2395 DADE6F314C6F3A14562C5D0A236BF76058386F1E033EC377C89FFB4E1CEC1BBC 2400 DB88944D3DE6C2C406FD61D1FCF930B85A2CC3EC193318F019DA217FFA0709B0
2396 129083DC2E91AF2266EFECBF1466B7888525C9C9CC4424272531E8CF90BFA8DD 2401 B3EF62400E72DB47BE8998BAA5E77C98DA381EE6A5A63213919A92C2A03F43FE
2397 04D8FBE572400E721F8D284E5E8F285FA57DC44B4B125ED4CE2D9E3913925B8F 2402 9C96A360C7B70B0139C87D32A210793BA254F95611AFCD4B7A553B3D77F26448
2398 66F82E3191417F86FC159F24C2EE81DF03DA472EBDFE4C51BA1C79BC556B526D 2403 6D3694E1A7E46406FD19F2177D910CDB7AFF0CE81EB9F4FA3345B192E4E9A6CD
2399 6DB162C5068A80EF78D42165C6FBB9F7513C44E47B7CC8F0909F5BD0BEE35663 2404 48C5E5D1D1D1BD45403B1ED549F1917EEE03148F11F91E1F323CE6E7E6B7F7B8
2400 43767B2FAA982A6536918C5559B59B1DE9D772DB3276636B416E1470D5FB390A 2405 D5B721BBBD17554C953A9B48BE5559F59B1DE9D772FA3276DFD682FC28E0AA8F
2401 3057664795AB09C24673105E9A649D91133F6BE2FDDA1C8795968FF1ECB6BE03 2406 73E463AECC8D2A5713C48DE620BE34C93A232761D6C4FBB5398E2B2D0FD3D96D
2402 927152DB73888DF3B60C72ACE68688F89A9D3E20063E98D66BD9E9D34C73C281 2407 7B0724DF496DCF2136CEDB32C8B19A1B22E26B76FA8018F8605AAF65A74F33CD
2403 03E1CECCCE097B08D22772BFCED738BEE8FC6B917E5E868AFB256B010CE16DA9 2408 09070E843B333B3BEE21489FC8FF3A5FE3F8A2F3AF45FA79192AFE97AC0530C4
2404 9F10E99C78D159E1667D566B1102BA246122F1BF23FD2A7C2BFF5BAD05919D55 2409 B7A57E42A473E24567859BF559AD4508E892C48924FC8EF4ABF0ADC26FB51644
2405 2E3B2B5CC6B74DEFB2F5C36A7399C297BBB65C7EF0F35A37D8D43FEE349F8420 2410 7656B9ECAC7019DF36BFCBD60FABCD650A5FEEFA7279C1CF6DDD60D3FEB8D97C
2406 AD4288C22D7C85BE0F44BD2E213ABF4765EF600147F1DC28A5F3832C64287305 2411 1282BC0A218AB7F015FA3110F5B684E8FC1E95BD83051CC573A394CE0FB290A1
2407 FDB7CEB8A2F9804EB9A2334CECCF2993CD85B13CA7CC8D7E253F49C2D0053714 2412 CC158CDF3AE38AE6033AE58ACE30B13FA74C3617C6F29C3237FA95C224894317
2408 F1AF2CC3360DBB4FFFA1C87F9E2ECDC3DE049AC558B9A63846EED63D5EF92A6D 2413 DC50A4BFB20CDB3CEC3EFF87A2FC79BA340F7B136816DFCA35C56FE46EFDE395
2409 C102504F51D90FD072EF4B9B3D51ADD7B75ACFDD91F7B398DA2A0237D8B93FC0 2414 AFD217CC07ED1495FD002DF7BEB4D913D57A7DABF5DC1DF9388BA9AF22F0839D
2410 51983F649021AB533B5C53ECB68E0136FD60E17A8A75994788FB7D88DCD6A3C3 2415 FF031C85F9430619B236B5C335C56EDB1860330E166EA758D77984B8DF87C86D
2411 FC10F005F9153CA403C8A7F4176E7F17F2CBFC0D9795FBA2BA8B269B132890A1 2416 3B3ACC0F015F505EC1433E803CCA7FE1FEF72D7E99DFE1B27A5FD476D1647302
2412 99F66E755A577152CFB0E37BD5AFDDA1797E56F30CC35708D2BAC259BBF65CFF 2417 053234D3DEAD4EDB2A4EDA19767CAFFAB59B34CFCF6A9E61F80A415E57386BD7
2413 7A137EEE955D7AE2F6D991CDDDB2AA97323ED7B70CE67E79BF0C61BEF3737937 2418 9EEB5F6FC2CFBDB2CB4FDC3E3BB2B95B56ED52C6E7C696C13C2EEF97212C777E
2414 6B1C87E7CBEAA6063B1C72D23A27CF822F93A1BB01883D5F2647D3ACF99A0D1F 2419 2EEF678DE3F07C59DBD4E08643765EE7E459F06532743F00B1E7CBE4689A355F
2415 6CCA3E22180721A6711585EF60C09E68DF23FE9E5B0B152443B04ECA722DB4B0 2420 B3E1834DDD4704DF4188E9BB8AC27B30E04EB4EF117FCFAD850A9221582765B9
2416 0F876BABC8D63FCBFA103CEA271EFDEFBA1EEC36DF1BF2805E5F53CCF77CDECF 2421 165A3886C3F55564EB9F6563081EF5138FE177DD0E765BEE0D65406FAF29967B
2417 F9EDB7EFB4ECD0C76BCDF9C522DF730165D0A9F3ECF2BD812FC9B3C422DFF17C 2422 BEEC67FFF6BB775A77E8DF6BCDE5C5A2DC731165D0A9F3ECCABD812F29B3C4A2
2418 C57C2B5E3723CA739A51B7D5FA59D1D9E9C4F9BA5D477D8D4279CEFBEBE47DAF 2423 DCF17CC5722B5E37232A739A51B7D5FA59D1D9E9C4F9BA5D47638D4279CEC7EB
2419 6ED621F35CF3DE75F67BD979E1E686893B2E21219A6F9847DF7FF0F8FD179EDF 2424 E463AF6ED621F35CF3DE75F67BD979E1E6C4893B2E21219A6F984BEF7FF0F8FE
2420 29FBFE8BFBAE8DFB3F587DFF0991EE4618C85B56DF7F55BEF4FBAFE87E957244 2425 179EDF297BFF8BC7AE8DFB3F58BDFF0991EE4618285B56EF7F55BEF4FDAFE87F
2421 D496B6FCFE13E1F71F6CBFFF5AF0BC0495BE498D8B33CE8FCA6938F7DB2C0F6F 2426 957A44D497B67CFF13E1FB1F6CDFFF5AF0BC0495B1498D4B332E8CCA7938E7DD
2422 9536BC473E71EB7E0F7D264EFB1E1D97034E788139187AFD5723B672CC65802C 2427 2C8F6F953EBC473E71EB7F0F63264EC71E1DD7034E788139187AFB5723B672CC
2423 EF6A36E587A6392F0B793713D39C9CDC6FA8E4EC068ECBBB1D82F6B911CE6F0A 2428 7580ACEC6A36F587A639AF0B793F13D39C9C9C77A8E4EC068ECBFB1D82F6B911
2424 DEF787E4D659F42F6060FD7E402E09DAFFC6BC4F29CF35CBD04CFAF532DBC837 2429 CE6F0ADEF787E4B459F4376060FD7E402E09DAFFC6BC4F29CF35CBD04CFAF53A
2425 72819F5F25E1E7C6B716C4B5D2CFD7D9809BEF63E66ADCBEDE7C1CF0752DBE0C 2430 DBC83772819F5F25E1E7A4B716C4B5D2CFB7D9809BEF63E66ADCBEDE7C1AF06D
2426 32EF39941B35C167E78000C6B22F67FF6920F63234AE2CD34CCFEC6468D6FBB5 2431 2DBE0E32EF39949334C167E78000C6BA2F7BFF6920F63234AE2ED34CCFEC6468
2427 FBEDEB7B583BAA0FDC89F2C54959633B6F49A19CB11B3F523933CAD1994E2EFC 2432 D6FBB5FBDDEB7B583B6A0FDC8CFAC5495D633B6F49A19EB1FB7EA4726694A333
2428 EDF4BC250845991D82EF405E8C4FDAEDE9A3F48D11FD56F597051F54D29CC237 2433 9D5C84DBE9794B108A3A3B04EF81DCF83E69B7A78FD23B46F45B355C167C50C9
2429 D1729F2597EE8750FADFE0FECAB139881E194FE153407C80C3304287AFFDA463 2434 730AEF44CB7D965CFA1F42197E83FFCBC56723667022854F0189010EC3201DBE
2430 D0227637B44F4881AD07CE40FA91E3B062E33E681BBB31E7397D8FF6380E2115 2435 56630E41E3F86DD02A6903ACDF7D1232F61F8645AB77428BF8D5D9CFA93DBAE3
2431 87E9F0B51E7D00AA7E3207966FDA0B03070E840A152AC0E09818983C71367B8E 2436 38849419A0C3D76CE86EA8F0C53458B86607F4EEDD1B4A972E0D7DE3E260ECE8
2432 EFD11EC721A4C2601DBE56A3F6C1BFDB4F83836987A16CD9B2101F1F0F6DDAB4 2437 A9EC39DAA33B8E4348E9BE3A7C4D87EC847FB79A007BD2F74189122520313111
2433 81350B16B1E7F81EED711C425E18A4C3F7F6883D10DD7116CC5DF423C4F4EA05 2438 9A376F0ECB66CD61CFD11EDD711C425EE9A3C3F7FEA0ED10D3660A4C9FF32BC4
2434 CD9A3583897171306FCE32F61CDFA33D8E43C83FFBEBF03519B2036A745908B5 2439 75E9020D1B3684D109093063DA02F61CEDD11DC721E49F3D75F8EAF7DB0C95DB
2435 DB8F87C91366C18F546FF2374BE1E58E93D8737C8FF6380E2165FBE8F0D5EFBB 2440 CF866AAD46C2D85153E057AA37F587F9F07A9B31EC39DAA33B8E4348896E3A7C
2436 0E6A754C84E189AB60CBAE8370F8C85158EBDB093163E643F5F65300DFA33D8E 2441 B5BAAF80AA6D926160F21258B7750FECDB7F0096FBB640DCB09950A9D538407B
2437 43C8B3BD75F8EA749E05CB37EC86E9D3A743D3A64DE1E5975F8676EDDAC1B409 2442 74C7710879B1AB0E5FF5765360E1AA6D3071E24468D0A001BCFEFAEBD0B2654B
2438 13A0DDACA5F087F12B20A2CDC43452690009A0744F1DBE11D35642525212942F 2443 98306A14B49C321FFE30721144341F9D4ECAF6220114EBACC33768C262484949
2439 5F1E4A952A05D5AA5563E1F741C78FA1CACC25909071068A0DF8F64CC4BC4DBF 2444 8152A54A41D1A245A162C58A2CFE3E69F339949F3C0F920E9E84E85E3F9E8C98
2440 A0200852B29B0EDF969D07A051A346F0F4D34FC3C30F3FCCCC264D9AC0DBB163 2445 B1E62E0A8220453AEAF0ADDBB21BEAD6AD0BCF3FFF3C3CFEF8E3CCAC5FBF3EBC
2441 A1C9721FCCBC74132ACFDB7C2962EEFA9723E6AC2308F2B7CE3A7CE8DFAA55AB 2446 1F3F1CEA2FF4C1E4F3D7A0DC8CB5E723A6AF7C3D62DA0A82207F6BA7C387E1AD
2442 322077E9D2A5D0F8ADB7E0DF53E7C3A023A7A1418306D0E340E6CDC8D96BC745 2447 50A1020372E7CF9F0FF5DE7B0FFE3D7E26F4D97F1C6AD7AE0DB1BB33AF454E5D
2443 CC5C538C8290273AEAF0ADDDB8039AD3386BD9B225BC45796FBEF92634EE3310 2448 3E2262F2B2680A429E69A3C3B77CF5666844D3AC499326F01EE5BDFBEEBB50AF
2444 EA2ED9003D322EB07CF4DEDE13F0F822DFFA88A415D522129713F2483D42FEF7 2449 5B6FA8316F15C41E3CCBCAD1473B8EC0D3737C2B235216558C485E48C8133509
2445 43842F26762E8C1F3D9AC57BBF7EFD207ECC18A8FA7532BCB3FD00D4DCB1073A 2450 F9DF4F11BEB8F8E93072E85096EE3D7AF480C461C3A0C2F7A9F0C1A6DD5065F3
2446 CFFF0EA253B643858DDBB222A62C1B1D31794904CB430FD421E48FAD7CD16F8F 2451 766837F32788D9B0094AAFDE782262DC82A11163E745B032F4487542FED8D417
2447 81C9E366C184D858E8D9AD1B34FF3C069E4D5A085553D3A10C8D4FD48F66598A 2452 F3FE30183B620A8C8A8F87CE1D3B42A3AFE3E0C594D950212D038AD3F444FD68
2448 7B67AD5C17317EC1BFE8B35F125C8B735F7D5FB97712A152D338F8ECF389303F 2453 96A0B86FCAE215112367FD8B3EBB9BE05A9C076AF94A7E900C651B24C0575F8F
2449 29195E4B5C006568FE796AFF29F8DBBE53D0EDCC2566221E5D979A19119F3C96 2454 869929A9F056F22C284ECBCF73BB8EC1DF761E838E27CF3313F1E48AB4CC88C4
2450 727111512972CF3FA7917B6AF90C68D83393741C926D40E76159E48BD1292466 2455 D4E1948B8B888A923BFE3981DC51D567409DCE99A44DBF2C03DA0D3841BE19BA
2451 EC463268722C568922222274BC40318A629600A3FCEF995DBE61C4F1E3DE7DF7 2456 81C40D5F4DFA8C8DC726514444848E572886504C116088DF9EB9E53B461C3FE1
2452 DD13187683060D82A14387C2E0C18361C08001D0B66DDB13F85EC29FA303CB25 2457 C30F3F3C8271D7A74F1FE8DFBF3FF4EDDB177AF5EA052D5AB43882F612FE341D
2453 4CB3A54B9786071F7C9099788FCF797B267E191A069B5F7DF555E8D9B32754AF 2458 582F619E2D56AC183CFAE8A3CCC47B7CCEBB33F18BD33858FBE69B6F42E7CE9D
2454 5E1D7EF9FB5E10557C0B33F11E9FE37BB487F6CDEEA757596A7EDBBD7B77A854 2459 A152A54A70F7C35D20AAD03A66E23D3E477B7487EECDFEA757096AFED8A95327
2455 A912FCE6A9BD706FC94C66E23D3EC7F77E7B32FF2FE8D2A50BBCF6DA6BF054F4 2460 285BB62CDCFFDC0EB8AF482633F11E9FA3BDDF9D2CFCB3DAB76F0F6FBDF5163C
2456 78F853AD93CCC47B7C8EEF25FE5FA4A373E7CECCFE33CF3C038F3DF61833F11E 2461 173312FE54F52833F11E9FA3BD24FC7374B46BD78EB97FE18517E0A9A79E6226
2457 9FF3F64CFCE7A9BBF6D5A851033EFE98E6D52A55A056AD5AD0BA756B66E23D3E 2462 DEE373DE9D89FF32F5D7CECA952BC3E79FD3B25ABE3C54AD5A159A356BC64CBC
2458 C7F7680FED0BFC5F9E9A3FB46FDF9EE53FCC43342E9989F7F81CDFFBEDC9FCBF 2463 C7E7688FEED0BD20FCA5A8F94BAB56AD58F9C33244D39299788FCFD1DEEF4E16
2459 F2830F3E60EEAD57AF1E346FDE9C99788FCFF1BDC4FF6B74D074C2385806952C 2464 FEC59F7CF209F36FCD9A35A151A346CCC47B7C8EF692F02FD341F309E3601D54
2460 599299788FCF797B267E05EAAECC175E78819557356BD6647EC5B2084DBCC7E7 2465 A4481166E23D3EE7DD99F8A5A9BF325F79E515565F55A952858515EB2234F11E
2461 F81EEDA17D81FF2B507363AB56AD587A69D8B021346EDC9899788FCFF1BDDF9E 2466 9FA33DBA43F782F097A6E6EAA64D9BB2FC52A74E1DA857AF1E33F11E9FA3BDDF
2462 646B41B2BD458B1650A74E1D16EEF5EBD76726DEE3737C2FEA64F097010F53AC 2467 9D646B41B2A971E3C650BD7A7516EFB56AD56226DEE373B4170D32F8EB80C729
2463 A1BAAE6039F7CA2BAF3077A389F7F81CDF53FC81E25726FEEF29FE41F11E858F 2468 96515D17B19E7BE38D3798BFD1C47B7C8EF6147FA0B8C7C47F98E21F141F51F8
2464 E2A4003EFFFB67291E94C45F91C9FF2FBEF82274E8D081996EF2FF871F7EC8F2 2469 288E0AE0F3DBBF48F1A824FD0A4CF97FF5D557A175EBD6CC7453FE3FFDF45356
2465 1C9A6EF23FA61B4CF36886F37FDEE7FFC73E7A0C1E98F40033DDE4FF928B4A42 2470 E6D07453FE31DF609E47335CFE73BFFC3FF5D953F0C8984798E9A6FC17995304
2466 C9352599E926FF571E52196AEFAACDCC70FE0FE7FFBCCEFFF7B5ED045113E732 2471 8A2C2BC24C37E5BF5CBF72506D6B356686CB7FB8FCE776F97FA0455B881A3D9D
2467 D34DFE8F5AB816C89A5DCC7493FFFF4CEBFCC576663033FCFD2FD8F93F3F41A6 2472 996ECA7FD4ECE540966D65A69BF2FF67DAE68FDE729099E1F77FFE2EFF790932
2468 DF2664063044F64B23C55A2CBFBF58CB1583749068CDC7837F8776793E22EA8D 2473 F10621938021B2473A896EBCF0A1E8268BFAE820319A8F076F876E793E22EA9D
2469 99EFD51CBC7B5DFFA5670151BDCB8C00A23B4D03FD39DA41BB941F4FE10BE0B3 2474 C91F55E9BB6D45CFF9A70051A9FDA40062DA4E00FD39BA41B7949F48E10BE0AB
2470 9DBE1907017474A1FF74B489F701FFAE58F325C3C8946BBED73201EA1CCB01E9 2475 2DBE497B0074B4A7FF74344FF4016F17DD68DE0032EEB2EFAD4C80EA87B2413A
2471 9EE21B97721546AEFF89A141FFA501BCAC7D1B783E61FB35886ABA20F6DD7211 2476 6DF08DD8700906AFFC8DA176CFF901BCAEFD18783E6AD365886A302BFEC39211
2472 3312BA370244742AE577DEE48BDBF8130C59751686AD39CF78F56396006CAA06 2477 93923AD505444C1AE5B75BE34B58FD1BF45B720A062C3BC378B5E2E601ACA908
2473 375657804B8B9F85F373FE0F466DB808516FCD8B6F533E72F296D983606A4C6B 2478 57979686F3735F8433D3FE0F86AC3A0751EFCD486C5E2A72ECBAA97D607C5C33
2474 A8B093F23BFCE81BBC320BFA2E3A0E039665327F57ED9C04972E65183060D971 2479 28BD85F25BFFEAEBBBF804749F73187A2DC864E1AED02E05CE9F3F6840AF0587
2475 886AFCCDB8D615A346EF5A1A0FC963BA42B92D94DFF6075FBFC5C7A1E7DC74E8 2480 21AADE0F239A95891ABA757E22A40EEB0025D7517E8B5F7C3DE61E86CED333A0
2476 3DFF289573023A4CDE0E5959FB61C992E9B079F332F6BBFBEC54886A387D72AB 2481 EBCC0354CE11683D76139C38B10BE6CD9B086BD72E60BF3B4D4D83A83A13C736
2477 2AC5866C5E321A46CF9D0ACFACA7FC968B7C3DE7A6D1F0DA0FDD661DA4720E43 2482 2D1FDD6FEDBCA13074FA78786125E53799E3EB3C3D9DC6D72EE838650F95B30F
2478 8BD8B570E4C83603DA4DD80C91AF4F49241FAFF33DB709E0A95539204DE7F9BA 2483 1AC72F87FDFB371AD072D45A887C7B5C32F97C85EFA53500CF2DC9066930C3D7
2479 CCD8071DA7EC864F1253999CB663B740E32F7F8037BF5A1E40A769BB20B26EC2 2484 7ED24E68336E1B7C919CC6E4B418BE0EEA7DFB0BBCFBDDC200DA4ED80A913592
2480 5C9A176792F883F06CCDA60CC5EB0C38F8DFE9A994BB17BACEDCCFD07DF621E8 2485 A6D3B2389924EE8117AB34602854BDD79EFF4E4CA3DC1DD061F22E864E53F742
2481 31271DDE89F9062A566BCCD076503244D418B0BA58B1628308B9FF0C96CF08FC 2486 ECB40CF820EE072853B11E438B3EA91051B9D7D2E8E8E83E843C7412EB6704FE
2482 1D1515D5816214453C45426464E4788A6E667B54F70CFA9C66A7FBB7E233ECAF 2487 8E8A8A6A4D318422912229323272244547B33BAA7B127D4E8BD343EBF1198E57
2483 C0DF11113F23F85C474E99778FC01E2B77FE4CB3731B7ABF2D07F89B3C294690 2488 E0EF8888DF117CAE23BBCEBB43E08ED53B7FA6C5B939BDDF980DFC4D9E1523C8
2484 3DCFFB7F78CEC34B1B880014C5CDCFA39F7930B87352CEEF83BF6F27FF87DC9A 2489 9DE7FD3F3C97E1F9B545008A42E6E7312F3C1A3C3829E777C3DF3752FF43AE4F
2485 5923801F7A97259FD42D413E7AE951D2B6FA4356FC5B14AF98F98893E32A93B4 2490 AE1CC02F5D4B902F6A14269FBDF6246951E9312BFE758A37CC7CC4D111E5487A
2486 D8F2647B4C69265F0038165B3A959AD9B7BF79B19C15FFFAC86744801BE39EFF 2491 7C29B229AE18932F001C8A2F9646CDAC1B3FBC5AD28A7F65F00B22C0D5112FDF
2487 4D46BF126BE9EF535763FEF2C815ED1182B830B494817FA5C78322C0D52FFE44 2492 7FB047E1E5F4F7B14B717F79E2A2F604419CED5FD4C0BF18FBA80870E99B3F11
2488 28EFE747BAFF7E03BD9FACBFBB30B8A4819FD5EF71726EC013E4DAA70FF00066 2493 CABB737FA78757D1FBB1BADDD9BE450CFC133D9E26A77B3D432E7FF9080F6026
2489 5219D4FCEBD94F1FB8A0BF432ECF4F8F2D434EC43F4F2EC6972330E46F3A8099 2494 9541CDBF9EFAF291B3BA1D72797E467C717224F165722EB124817E7FD301CC4C
2490 71CF12185EF2D7F47736DEFF34B28C947F767C05F2D3840A04A65444004CAD44 2495 7891C0C022F7D2DF5978FFDBE0E252FEA991A5C96FA34A131857060130BE2C81
2491 20A96ACEEF84B2253287FE831C4FA8484E8CAD144FD144C467322655223793AA 2496 940AD9BF934A14CEECFF0F7238A90C3932BC6C22457D119FC91853965C4BA908
2492 0105332F4DAE5C62D7C0670922757059D4EB431C1AF17C139D9F11572E9ACAD8 2497 14CC3C3FB65CE1ADBD5F2488B4BE2550AF0FB177D0CBF575FEC184923154C66A
2493 48719302D0CC4C7881CAFB3749E95B2A9EDAF3F180637180267DD76453EFBF12 2498 8A6B14806666D22B54DEBFC986EE4513A93B1F0F3894006852BBFA6BBAFE9550
2494 8A1327136BC0F5554DE14CF22B40EFF7E3F3D5DD1E47F8E0E870805DEF036C6B 2499 1C399A5C19AE2C69002753DF007ABF0B9F2FEDF834C2070706026CFD18606383
2495 9A8BBD9D00DF957AF41EF2CD7BF75D3C3CA63CA48D7E1E16747C08FAD4BDB71D 2500 1CEC680B6857F4C93BC80F1F3D706EDFB052903EF46598D5E631E856E3BE96F8
2496 3E2FFDE8CFC980578BC77FF7FEC33E1EF06379407361BB3F34A159A0C47B1522 2501 BCD89377925E6F164AFCE9E3C77D3CE0D75280E6EC967FA84F8B40E18F4A47C6
2497 6312DE88BC38E68DC8632D9E8FEC4B9F95F17FA71FF7F7EF15EBFBF26FC937AD 2502 25BD13796ED83B91871ABF1CD99D3E2BEE7F4F3FED1FDF8BEEFEFA83E487A685
2498 8A93C426F7FA10D39BFDA609958159E8B792FC8DF584FBFD750B2CA4C8B87A3F 2503 4872FDFB7C88890DEFAF4F6560117A5052BEB19DF090BF6D8195141951F37764
2499 23635FFB593C45132A83F8F9ECC27AA613F07918EF8F1FCB8093274F406626EE 2504 F85BBF4BA4A84F65103F9F5DD8CE7402BE0CE3FDE14307E1E8D1239099897B58
2500 61751ACE9CC982B4B44370EEDC59387C381DCE9F3F0F172E9CA765FF6166F232 2505 1D8793274F407AFA5E387DFA14ECDB970167CE9C81B367CFD0BA7F1F337919F8
2501 F077CAD62D3096D695E22B5766D8BD7B17F87C9B60CF9E3DF49BB31912AA44E7 2506 7BC3FA75309CB69512CB9563D8B66D2BF87C6B60FBF6EDF49DB31692CAC76483
2502 80D68952535383F83B766C8731D1D1D4FE6E18FF526D6A672FE5FB60FFFE7DB0 2507 B689D2D2D282F89B376F82613131D4FD3618F95A35EA6607E5FB60D7AE9DB06E
2503 650BE5D33A6CEA8E1DB075EB563878F060107FDFBE542ABF0A7D77000E1D3A04 2508 1DE5D3366CDAE6CDB07EFD7AD8B3674F107FE7CE342ABF3CB5DB0D7BF7EE858C
2504 E9E9693096EA9A4AEB5EE886F1B40EC8F0D24B90919111C447FBF8FEE8D1A330 2509 8C74184E758DA76D2FF4C348DA066478ED353878F060101FDDA3FD810307601C
2505 85D6778F1F3F0E070E1C8053A74E3179999999B07AE448184BDD71FAF4E9203E 2510 6DEF1E3E7C1876EFDE0DC78E1D63F232333361E9E0C1309CFAE3F8F1E3417C8C
2506 864FE2EBAFC3D7B56B335CBD7A9571AE5FBFCEEC4FFDCF7F724065DFB8712388 2511 9FE4B7DF86EFAB5563B874E912E35CB97285B91FFF9FFF6483CABE7AF56A107F
2507 7FE4C8113846E300F59E3C799271D3D2D218373D3D9DC649168D9333342E0E33 2512 FFFEFD7088A601EA3D7AF428E3A6A7A7336E4646064D9313344D4ED2B4D8C74C
2508 D3CC47BBF80EDD7FECD8312667FFFEFD4C96EE0F04861D9A663EDADDBE3D8DE9 2513 331FDDA21DFAFFD0A1434CCEAE5DBB982C3D1C088C3B34CD7C74BB69533AD385
2509 4239889D3B773279BB77EF6661866EDC41E300DF99F95BB6EC8766CD72DCDCB5 2514 72105BB66C61F2B66DDBC6E20CFDB899A601DA99F9EBD6ED82860DB3FDDCA143
2510 6B26B383E1BE6CD921D8B06127D38BF1BE69D326D8B56B17AB17F3FC59B3AEC2 2515 267383F1BE60C15E58B56A0BD38BE9BE66CD1AD8BA752B6B17F3FC29532EC14B
2511 73CFDD82C9936FD0F6DA4DF8FEFB9B70F6EC595A873F0DE3C61D64EE4A4949A1 2516 2F5D87B163AFD2FEDA35F8F9E76B70EAD429DA863F0E2346EC61FEDAB06103F5
2512 6EDC0663C78E6575729EFFAF7F5DA16DCD6B50A1C235EAB62BB4CD71019A36C5 2517 E346183E7C386B93F3FC7FFDEB22ED6B5E86D2A52F53BF5DA47D8EB3D0A001A6
2513 783A0C952BA740AF5E0B599C2C5AB408BA75EB1694FE172FCEA4FCCBD4BD6729 2518 D33E28576E0374E9329BA5C99C3973A063C78E41F97FEEDC4CCABF40FD7B8A72
2514 E72758B72E8BF9F7FDF7D361CC98CDCC2F8B172F66ED59F33710F9999997A9DB 2519 7E83152B4EB0F07EFC71060C1BB6968565EEDCB9AC3F6B7E07223F33F302F5FB
2515 AFB0B8FDFEFB6B70EBD62DE6FEACACCB34FD1C84091326B036A86C90CF2AAFD6 2520 4596B63FFF7C19AE5FBFCEFC7FE2C4059A7FF6C0A851A3581F54F691CFAAACD6
2516 AD5B97B51F55C7584F9C3841FDB18C8D05CD9C391356AF5E4DF3F1395B3ECED3 2521 A85183F51F55BFB11E397284866301FB163479F26458BA74292DC7A76DF9384F
2517 C076FF94295360E5CA952CAE66CC9841FD3F06FAF6EDCB806942C4C57E82E4E4 2522 03FBFDE3C68D83C58B17B3B49A3469120DFF30E8DEBD3B03E6091117C7095253
2518 64E67FFDC2DF98F61098BE366EDC08BD7BF7868913271A646CDBB68DB953E720 2523 5359F8F50B7F63DE4360FE5ABD7A3574EDDA15468F1E6D90B171E346E64F9D83
2519 30FCAE5DBB46E37B3B4D5B5B581982BA311DF6EAD58B9641170232502F961578 2524 C0F8BB7CF9324DEF4D346FAD637508EAC67CD8A54B175A079D0DC840BD5857E0
2520 218FD78F1C2C33106867DFBE7D101B1BCBE253E7272626B2B4A9F36FDEBC19E0 2525 853C5E3F72B0CE40A09B9D3B77427C7C3C4B4F9D9F9C9CCCF2A6CEBF76ED5A80
2521 637AC7F48AEE473B581660FA5BBB766D803F75EA54E647B6FBE1EDDB01FD98F7 2526 8FF91DF32BFA1FDD605D80F96FF9F2E501FEF8F1E35918D9EE87376E04F463D9
2522 31EF2C5FBE1CBEFEFA6B0674C7A4499360D5AA5506FD98CF468C1801C58B1767 2527 C7B2B370E142F8FEFBEF19D01F63C68C81254B9618F463391B346810142A5488
2523 635FE83F9485BAB11D8D6DDFBFFFFDEF2CDDA33E8C1B9D8FE912C370DEBC79AC 2528 7DFBC2F0A12CD48DFD68ECFBFEFDEF7F67F91EF561DAE87CCC9718873366CC60
2524 CFE191471EA179661C73033EC73454A64C1978F2C927591F0A8EAB627ED2F998 2529 630E4F3CF1042D3323981FF039E6A1E2C58BC3B3CF3ECBC650F0BB2A96279D8F
2525 37319E753FEBE180C0FC8C6EC5F708CC83313131CC6F7C1C0E1B368CF130ECF4 2530 6513D3590FB31E0F082CCFE857B44760198C8B8B6361E3D370C080018C8771A7
2526 F0C378C27E07BD2CC0B0C778C4FE2473FAC130C5B0E6DD8069B1478F1ECC0D98 2531 C71FA6138E3BE87501C63DA6238E2799F30FC629C635EF07CC8BB1B1B1CC0F98
2527 76308C131212581E36F3B3B3B3D998B37E5DBE7C9961C3860D6CFE11EAC630C3 2532 77308E939292581936F3B3B2B2D83767FDBA70E102C3AA55ABD8FC23D48D7186
2528 7E24ABF43F7AF468C6C7B262FEFCF9307CF8701686988E3A75EA640837990C0C 2533 E34856F97FE8D0A18C8F75C5CC993361E0C0812C0E311FB56DDBD6106F321918
2529 9F75EBD6B138C5B847BF75EDDA95A51F95FC8BEE5EB060018C1A350AE2E2E20C 2534 3F2B56AC60698A698F61EBD0A103CB3F2AE517FD3D6BD62C1832640824242418
2530 69C5E3FC61E1DC69D5F3E34C67B005F1315FDB41B4BE4295CBCBE0E538D52FE3 2535 F28AC7F9C3C2B9D3AAE7C799CE600BE263B9B683687D852A9797C1CB71AA5FC6
2531 BB0C07EEBCBA054A10F103EFD95C76EE77608F34E37B219FB7C7DF9B4D277C81 2536 77190FDC7975B39420E207ECD95C76EE77608F34A3BD90CFBBE3EFCDA613BE40
2532 6E5BBE855E25F7BBE5CBC24FC1FD5EE3CF43FA719B7F219CFF0B58FEDF0B4A10 2537 B72DDF42AF92FFDDF265F1A7E07FAFE9E721FFB82DBF102EFFF9ACFCEF002508
2533 E67FB33D7CC7FFD6C1C990F2792E7FEF856F7AA6C49799779A2F0B3F0BF77B8D 2538 CBBFD91DDAF1BF757032A47C9ECBDF7BE19B9E29F165E6CDE6CBE2CFC2FF5ED3
2534 BF7CCEFF21BBF47A930C582FC27AA9155F9F0326028E2D5AC9D0F917CE9D0F02 2539 2F8FCB7FC82EBDDD2403B68BB05D6AC5D7E7808980DF16AD64E8FCB3A7CF0481
2535 2F03F710C7FAA91B3E2FC32D1F81769DF0CDB28A125F94569CF2CD61EB86EF55 2540 97817B8863FBD40D9F97E1968F40B74EF8665905892FCA2B4EF9E6B875C3F7AA
2536 3FCFB74AC72AEE578155F8E5C71E02E1FC1FCEFF4EF86E60E663FB18EFD114E5 2541 9FE75BE56315FFABC02AFEF2620F8170F90F977F277C3730F3B17F8CF7688ACA
2537 23FD1D5F2EF07CDE1E6F5F948F657C73BEE5F599CDF61FB6B7D56F76BFA87C71 2542 916EC7D70B3C9F77C7BB17956319DF5C6E797D66B3D5A7AD6CF59BFD2FAA5FDC
2538 0B3EBEFE1F90129B8F 2543 2244FD7F082C7CA6D79D77DE1974FEECDD77DF0D8F3DF698F40C23B4D7AFBBEE
2544 BA2B887FEFBDF75A9E8184F60F3FFCB0F09C5A5D9E7E3DF0C0034C9F8E7BEEB9
2545 87D9F37E20C1E7DC06EED1BDC8FFE8E6C1071F343CC73138331FFD83EEEEBFFF
2546 FE203E319DFD141D1D2D7C2ED38F400E5EA8834F23AB38443BB35B513AE3733E
2547 EE7410C9BEA07861BA98F5CB3822BE393DDCF0ADE2CB8EAFA7379FB64EF8581E
2548 F4B4D0C7339DF2F567367C22E2CBCA9399FBFF3621B951
2539 } 2549 }
2540 end 2550 end
2541 object OpenDialog1: TOpenDialog 2551 object OpenDialog1: TOpenDialog
Modifiedtracker.pas +1−0
@@ -42,6 +42,7 @@ type
42 { TfrmTracker } 42 { TfrmTracker }
43 43
44 TfrmTracker = class(TForm) 44 TfrmTracker = class(TForm)
45 MenuItem10: TMenuItem;
45 TempoBPMLabel: TLabel; 46 TempoBPMLabel: TLabel;
46 TimerEnabledCheckBox: TCheckBox; 47 TimerEnabledCheckBox: TCheckBox;
47 EnableSubpatternCheckbox: TCheckBox; 48 EnableSubpatternCheckbox: TCheckBox;
Addedvgm.pas +22−0
@@ -0,0 +1,22 @@
1 unit VGM;
2
3 {$mode ObjFPC}{$H+}
4
5 interface
6
7 uses
8 Classes, SysUtils;
9
10 var
11 RecordingVGM: Boolean = False;
12
13 procedure BeginRecordingVGM(F: String);
14 procedure EndRecordingVGM;
15
16 procedure VGMWriteReg(Command: Integer; Param: Integer);
17 procedure VGMWait(Amount: Integer);
18
19 implementation
20
21 end.
22