我写的一个词法分析程序!对于分析内容比较少的时候,可以正常工作,可是代码多了!就说内存溢出了,请大家帮忙看看!!(86分)

  • 主题发起人 主题发起人 tigerhacker
  • 开始时间 开始时间
T

tigerhacker

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ComCtrls, ExtCtrls, WinSkinData, StrUtils;

type
TMainFrom = class(TForm)
StatusBar1: TStatusBar;
MMPageControl: TPageControl;
MMPageSource: TTabSheet;
MMPageCiFa: TTabSheet;
TabSheet3: TTabSheet;
Source: TMemo;
CiFa: TMemo;
Memo3: TMemo;
MainMenu1: TMainMenu;
MMFiles: TMenuItem;
MMFilesOpen: TMenuItem;
MMFilesSave: TMenuItem;
MMNill: TMenuItem;
MMExit: TMenuItem;
MMEdit: TMenuItem;
MMCopy: TMenuItem;
MMPaste: TMenuItem;
MMCompile: TMenuItem;
MMCiFa: TMenuItem;
MMHelp: TMenuItem;
SkinData1: TSkinData;
MMOpenDialog: TOpenDialog;
MMSaveDialog: TSaveDialog;
procedure MMCiFaClick(Sender: TObject);
procedure yylex;
procedure MMFilesOpenClick(Sender: TObject);
procedure MMFilesSaveClick(Sender: TObject);
procedure MMExitClick(Sender: TObject); //词法分析过程
private
{ Private declarations }
public
{ Public declarations }
end;
type //这个数据结构用来存放整个代码的分析结果
tiger=record //定义一个数据结构
value:integer; //id值
leixing:integer; //类型
name:string; //字符串
end;

type //这个数据结构就是标识符列表
chenxu=record //定义一个数据结构
idname:string; //表示符名称
idnumber:integer; //标示符的在该列表中的序号
end;

var
MainFrom: TMainFrom;

implementation

{$R *.dfm}

procedure TMainFrom.yylex;//词法分析过程,从TMainFrom.Source里面读入源文件
var
i,k,m:integer; //都是循环变量
str,temp,nowdir,zhushi:string; //存放每一行,中间过程中保存字符串的变量,nowdir,本程序路径
j,flag,id,tryit:integer;//结构体下标,标志变量,标识符id序号,tryit没什么用的东西
data:array[1..10000]of tiger; //结构体存放分析结果
biaoshifu:array[1..100]of chenxu; //标识符列表
guanjianzi:TStringList; //一个字符串列表
begin
nowdir:=ExtractFilePath(Application.ExeName);
guanjianzi:=TStringList.Create; //建立字符串列表
try
guanjianzi.LoadFromFile(nowdir+'/保留字.txt'); //读入保留字文件
except //读入失败
showmessage('文件打开失败,请确认:保留字.txt是否存在');
guanjianzi.Free;
exit;
end;
j:=1; //初始化结构体下标
id:=1; //标识符id指针=1;
zhushi:='';
for i:=0 to Source.Lines.Count-1 do //从第一行到最后一行分别读取
begin
temp:=''; //初始化中间变量
str:=zhushi+Source.Lines; //读取一行放在str里
for k:=1 to length(str) do //把读入的这一行从第一个字符到最后一个字符遍历检查
begin
case str[k] of
'a'..'z','A'..'Z'://先保存该字符到temp,然后判断下一个字符是否是字符或者数字,
//如果是,就继续,如果不是,那么判断该单词是保留字还是标识符,
begin
temp:=temp+str[k]; //先保存该字符到temp
if ((ord(str[k+1])-48<0))or((ord(str[k+1])-48>9)and (ord(str[k+1])-65<0))or ((ord(str[k+1])-97>25))then
begin //当前temp里面存放着一个完整的单词,下一个字母不能和这个单词合并为一个单词
flag:=0; //先标志不是关键字
for m:=0 to guanjianzi.Count-1 do
//对照关键字列表,看这个单词是否是关键字
begin //如果temp的内容和关键字相等,那么这就是关键字
if temp=leftstr(guanjianzi[m],pos(',',guanjianzi[m])-1) then
begin //关键字的value放在文件里面,用字符串检索很容易得到
data[j].leixing:=strtoint(rightstr(guanjianzi[m],length(guanjianzi[m])-pos(',',guanjianzi[m])));
data[j].value:=0;
data[j].name:=temp;
flag:=1; //标志为关键字
break;
end;
end;
if flag=0 then //如果没有找到关键字匹配,那么不是关键字
begin //这里要注意分析,当前的变量是否已经定义了
//故查找标示符列表,如果不存在添加到标示符列表,并且 id:=id+1
//如果存在id 不变,不添加到标示符列表
for m:=1 to id do //对标识符列表每一个进行匹配
begin //如果已经存在
if biaoshifu[m].idname=temp then
flag:=biaoshifu[m].idnumber;
end; //代表temp已经存在,把id号返回给标志变量
if flag<>0 then //如果已经存在
begin
data[j].leixing:=1;
data[j].value:=flag; //value值和原来设置的一样
data[j].name:=temp;
end
else //如果不存在添加到标示符列表,并且 id:=id+1
begin
data[j].leixing:=1;
data[j].value:=id; //新的标识符
data[j].name:=temp;
biaoshifu[id].idname:=temp; //添加进标示符列表
biaoshifu[id].idnumber:=id;
id:=id+1; //标示符个数+1;
end;
end;
j:=j+1; //单词序号+1
temp:=''; //清空temp
end;
end;
'0'..'9': //先保存进temp,再用数据转换的异常来判断书否为数据
begin
temp:=temp+str[k]; //如果下一个字符不是数字
if (ord(str[k+1])-48<0)or(ord(str[k+1])-48>9) then
begin
try
tryit:=strtoint(temp);
//能执行到这一句,证明当前temp里面存放的是纯数据
if ((ord(str[k+1])-65>=0)and(ord(str[k+1])-90<=0))or((ord(str[k+1])-97>=0)and(ord(str[k+1])-97<25)) then
//如果下一个字母是字母,就抱错,并且把从此之后的分割号之前的符号全部去掉
begin
data[j].leixing:=0;
data[j].value:=0;
data[j].name:='***错误了!***';
for m:=k+1 to length(str) do //把与非法字符串连接的非间隔符号全部去掉
begin //如果是数字或者字母
if ((ord(str[m])-48>=0)and(ord(str[m])-48<=9))or((ord(str[m])-65>=0)and(ord(str[m])-90<=0))or((ord(str[m])-97>=0)and(ord(str[m])-97<=22)) then
str[m]:=' '
else //遇到分割符号
break;
end;
end
else //如果下一个字母不是字母,不是数字
begin
data[j].leixing:=2;
data[j].value:=tryit; //设置value为数据的整数值
data[j].name:=temp;
end;
j:=j+1;
temp:='';
except //当前temp里面由于不是存放的数据而是标示符,所以异常
//在这里还要对下一个数据进行判断
begin //下一个字母不能和这个单词合并为一个单词
if ((ord(str[k+1])-48<0))or((ord(str[k+1])-48>9)and (ord(str[k+1])-65<0))or ((ord(str[k+1])-97>25))then
begin
flag:=0;
for m:=1 to id do //对标识符列表每一个进行匹配
begin //如果已经存在
if biaoshifu[m].idname=temp then
flag:=biaoshifu[m].idnumber;
end; //代表temp已经存在,把id号返回给标志变量
if flag<>0 then //如果已经存在
begin
data[j].leixing:=1;
data[j].value:=flag; //value值和原来设置的一样
data[j].name:=temp;
end
else //如果不存在添加到标示符列表,并且 id:=id+1
begin
data[j].leixing:=1;
data[j].value:=id; //新的标识符
data[j].name:=temp;
biaoshifu[id].idname:=temp; //添加进标示符列表
biaoshifu[id].idnumber:=id;
id:=id+1; //标示符个数+1;
end;
j:=j+1; //单词序号+1
temp:=''; //清空temp
end;
end;
end;
end;
end;
'+': //单运算符
begin
data[j].leixing:=16;
data[j].value:=0;
data[j].name:='+';
j:=j+1;
// temp:='';
end;
'-': //单运算符
begin
data[j].leixing:=17;
data[j].value:=0;
data[j].name:='-';
j:=j+1;
// temp:='';
end;
'*': //单运算符
begin
if str[k+1]<>'/' then //只是乘号,不是反注释符号
begin
data[j].leixing:=18;
data[j].value:=0;
data[j].name:='*';
j:=j+1;
// temp:='';
end
else
begin //反注释符号
if zhushi='/*' then
begin
str[k+1]:=' '; //空格代替
// temp:='';
end
else
begin
data[j].leixing:=0;
data[j].value:=0;
data[j].name:='***错误了!***';
str[k+1]:=' ';
j:=j+1;
// temp:='';
end;
end;
end;
'/': //单运算符,判断是否可以和下一个字符组成/*,如果可以
//那么一直循环,直到找到*,在判断*的下一个字符是否为/
begin
if (str[k+1]<>'*')and (str[k+1]<>'/') then
begin //只是除号,不是注释符号
data[j].leixing:=19;
data[j].value:=0;
data[j].name:='/';
j:=j+1;
// temp:='';
end
else if str[k+1]='/' then
begin
break;
end
else //注释符号,寻找下一个注释符号
begin //删除注释符号中间的东西
if pos('*/',str)=0 then
begin
zhushi:='/*';
break;
end
else
zhushi:='';
for m:=k+2 to length(str)-1 do
begin
if str[m]<>'*' then
str[m]:=' ' //空格代替
else if str[m+1]<>'/'then
begin
str[m]:=' ' ;
str[m+1]:=' ';
end
else //注释结束
break;
end;

end;
end;
'>': //单运算符,判断下一个字符是否可以组合成>=
begin
if str[k+1]='='then
begin
data[j].leixing:=26;
data[j].value:=0;
data[j].name:='>=';
str[k+1]:=' '; //空格代替
j:=j+1;
// temp:='';
end
else
begin
data[j].leixing:=25;
data[j].value:=0;
data[j].name:='>';
j:=j+1;
// temp:='';
end;
end;
'<': //单运算符,判断下一个字符是否可以组合成<=或者<>
begin
if str[k+1]='='then
begin
data[j].leixing:=24;
data[j].value:=0;
data[j].name:='<=';
str[k+1]:=' '; //空格代替
j:=j+1;
// temp:='';
end
else if str[k+1]='>' then
begin
data[j].leixing:=28;
data[j].value:=0;
data[j].name:='<>';
str[k+1]:=' '; //空格代替
j:=j+1;
// temp:='';
end
else
begin
data[j].leixing:=23;
data[j].value:=0;
data[j].name:='<';
j:=j+1;
// temp:='';
end;
end;
'(': //单运算符
begin
data[j].leixing:=33;
data[j].value:=0;
data[j].name:='(';
j:=j+1;
// temp:='';
end;
')': //单运算符
begin
data[j].leixing:=34;
data[j].value:=0;
data[j].name:=')';
j:=j+1;
// temp:='';
end;
'~': //单运算符
begin
data[j].leixing:=20;
data[j].value:=0;
data[j].name:='~';
j:=j+1;
// temp:='';
end;
':': //判断是否可以喝下一个字符组成:=,
begin
if str[k+1]='='then
begin
data[j].leixing:=29;
data[j].value:=0;
data[j].name:=':=';
str[k+1]:=' ';//空格代替
j:=j+1;
// temp:='';
end
else
begin
data[j].leixing:=22;
data[j].value:=0;
data[j].name:=':';
j:=j+1;
// temp:='';
end;
end;
';': //界符,类型6
begin
data[j].leixing:=30;
data[j].value:=0;
data[j].name:=';';
j:=j+1;
// temp:='';
end;
'.': //界符,类型6
begin
data[j].leixing:=31;
data[j].value:=0;
data[j].name:='.';
j:=j+1;
// temp:='';
end;
',': //界符,类型6
begin
data[j].leixing:=32;
data[j].value:=0;
data[j].name:=',';
j:=j+1;
// temp:='';
end;
else
begin
if str[k]<>' 'then //str[k]不是空格,则出错
begin
data[j].leixing:=0;
data[j].value:=0;
data[j].name:='***错误了!***';
j:=j+1;
// temp:='';
end;
end;
end;
end;
end;
guanjianzi.Free; //释放内存
CiFa.Lines.Clear;
for m:=1 to j-1 do //在CiFa里面输出结果
// CiFa.Lines.Add('('+inttostr(data[m].leixing)+','+inttostr(data[m].value)+')'+data[m].name);
end;

//********************************菜单各个过程*********************************************


procedure TMainFrom.MMCiFaClick(Sender: TObject);
begin
yylex;// 词法分析函数
MMPageControl.ActivePageIndex:=1;
end;

procedure TMainFrom.MMFilesOpenClick(Sender: TObject);
begin
if MMOpenDialog.Execute then //打开文件成功
Source.Lines.LoadFromFile(MMOpenDialog.FileName);
end;

procedure TMainFrom.MMFilesSaveClick(Sender: TObject);
begin
if MMSaveDialog.Execute then
Source.Lines.SaveToFile(MMSaveDialog.FileName);
end;

procedure TMainFrom.MMExitClick(Sender: TObject);
begin
Close;
end;

end.




//******************************************************************************
object MainFrom: TMainFrom
Left = 192
Top = 107
BorderStyle = bsSingle
Caption = '小虎专用版Pascal语言编译器'
ClientHeight = 434
ClientWidth = 688
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object StatusBar1: TStatusBar
Left = 0
Top = 415
Width = 688
Height = 19
Panels = <>
end
object MMPageControl: TPageControl
Left = 0
Top = 0
Width = 688
Height = 415
ActivePage = MMPageSource
Align = alClient
TabOrder = 1
object MMPageSource: TTabSheet
Caption = '程序源代码'
object Source: TMemo
Left = 0
Top = 0
Width = 680
Height = 387
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clRed
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
ScrollBars = ssBoth
TabOrder = 0
end
end
object MMPageCiFa: TTabSheet
Caption = '词法分析结果'
ImageIndex = 1
object CiFa: TMemo
Left = 0
Top = 0
Width = 680
Height = 387
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlue
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 0
end
end
object TabSheet3: TTabSheet
Caption = 'TabSheet3'
ImageIndex = 2
object Memo3: TMemo
Left = 0
Top = 0
Width = 680
Height = 387
Align = alClient
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 0
end
end
end
object MainMenu1: TMainMenu
Left = 120
Top = 24
object MMFiles: TMenuItem
Caption = '文件'
object MMFilesOpen: TMenuItem
Caption = '打开文件'
OnClick = MMFilesOpenClick
end
object MMFilesSave: TMenuItem
Caption = '保存'
OnClick = MMFilesSaveClick
end
object MMNill: TMenuItem
Caption = '-'
end
object MMExit: TMenuItem
Caption = '退出'
OnClick = MMExitClick
end
end
object MMEdit: TMenuItem
Caption = '编辑'
object MMCopy: TMenuItem
Caption = '复制'
end
object MMPaste: TMenuItem
Caption = '粘贴'
end
end
object MMCompile: TMenuItem
Caption = '编译'
object MMCiFa: TMenuItem
Caption = '词法分析'
OnClick = MMCiFaClick
end
end
object MMHelp: TMenuItem
Caption = '帮助'
end
end
object SkinData1: TSkinData
Active = True
DisableTag = 99
SkinControls = [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcCheckBox, xcRadioButton, xcProgress, xcScrollbar, xcEdit, xcButton, xcBitBtn, xcSpeedButton, xcSpin, xcPanel, xcGroupBox, xcStatusBar, xcTab, xcTrackBar, xcSystemMenu]
Options = [xoPreview, xoToolbarBK]
Skin3rd.Strings = (
'TVirtualStringTree=scrollbar'
'TVirtualDrawTree=scrollbar'
'TTBXDockablePanel=Panel'
'TAdvPanelGroup=scrollbar'
'TComboboxex=combobox'
'TRxSpeedButton=speedbutton'
'THTMLViewer=scrollbar'
'TDBCtrlGrid=scrollbar'
'TfrSpeedButton=speedbutton'
'TfrTBButton=speedbutton'
'TControlBar=Panel'
'TTBDock=Panel'
'TTBToolbar=Panel'
'TAdvPageControl=nil'
'TImageEnMView=scrollbar'
'TImageEnView=scrollbar'
'TAdvMemo=scrollbar'
'TDBAdvMemo=scrollbar'
'TcxDBLookupComboBox=combobox'
'TcxDBComboBox=combobox'
'TcxDBDateEdit=combobox'
'TcxDBImageComboBox=combobox'
'TcxDBCalcEdit=combobox'
'TcxDBBlobEdit=combobox'
'TcxDBPopupEdit=combobox'
'TcxDBFontNameComboBox=combobox'
'TcxDBShellComboBox=combobox'
'TRxLookupEdit=combobox'
'TRxDBLookupCombo=combobox'
'TRzGroup=panel'
'TRzButton=button'
'TRzBitbtn=bitbtn'
'TRzMenuButton=bitbtn'
'TRzCheckGroup=CheckGroup'
'TRzRadioGroup=Radiogroup'
'TRzButtonEdit=Edit'
'TRzDBRadioGroup=Radiogroup'
'TRzDBRadioButton=Radiobutton'
'TRzDateTimeEdit=combobox'
'TRzColorEdit=combobox'
'TRzDateTimePicker=combobox'
'TRzDBDateTimeEdit=combobox'
'TRzDbColorEdit=combobox'
'TRzDBDateTimePicker=combobox'
'TLMDButton=bitbtn'
'TLMDGroupBox=Groupbox'
'TDBCheckboxEh=Checkbox'
'TDBCheckboxEh=Checkbox'
'TLMDCHECKBOX=Checkbox'
'TLMDDBCHECKBOX=Checkbox'
'TLMDRadiobutton=Radiobutton'
'TLMDCalculator=panel'
'TLMDGROUPBOX=Panel'
'TLMDSIMPLEPANEL=Panel'
'TLMDDBCalendar=Panel'
'TLMDButtonPanel=Panel'
'TLMDLMDCalculator=Panel'
'TLMDHeaderPanel=Panel'
'TLMDTechnicalLine=Panel'
'TLMDLMDClock=Panel'
'TLMDTrackbar=panel'
'TLMDListCombobox=combobox'
'TLMDCheckListCombobox=combobox'
'TLMDHeaderListCombobox=combobox'
'TLMDImageCombobox=combobox'
'TLMDColorCombobox=combobox'
'TLMDFontCombobox=combobox'
'TLMDFontSizeCombobox=combobox'
'TLMDFontSizeCombobox=combobox'
'TLMDPrinterCombobox=combobox'
'TLMDDriveCombobox=combobox'
'TLMDCalculatorComboBox=combobox'
'TLMDTrackBarComboBox=combobox'
'TLMDCalendarComboBox=combobox'
'TLMDTreeComboBox=combobox'
'TLMDRADIOGROUP=radiogroup'
'TLMDCheckGroup=CheckGroup'
'TLMDDBRADIOGROUP=radiogroup'
'TLMDDBCheckGroup=CheckGroup'
'TLMDCalculatorEdit=edit'
'TLMDEDIT=Edit'
'TLMDMASKEDIT=Edit'
'TLMDBROWSEEDIT=Edit'
'TLMDEXTSPINEDIT=Edit'
'TLMDCALENDAREDIT=Edit'
'TLMDFILEOPENEDIT=Edit'
'TLMDFILESAVEEDIT=Edit'
'TLMDCOLOREDIT=Edit'
'TLMDDBEDIT=Edit'
'TLMDDBMASKEDIT=Edit'
'TLMDDBEXTSPINEDIT=Edit'
'TLMDDBSPINEDIT=Edit'
'TLMDDBEDITDBLookup=Edit'
'TLMDEDITDBLookup=Edit'
'TDBLookupCombobox=Combobox'
'TWWDBCombobox=Combobox'
'TWWDBLookupCombo=Combobox'
'TWWDBCombobox=Combobox'
'TWWKeyCombo=Combobox'
'TWWTempKeyCombo=combobox'
'TWWDBDateTimePicker=Combobox'
'TWWRADIOGROUP=radiogroup'
'TWWDBEDIT=Edit'
'TcxButton=bitbtn'
'TcxDBRadioGroup=radiogroup'
'TcxRadioGroup=radiogroup'
'TOVCPICTUREFIELD=Edit'
'TOVCDBPICTUREFIELD=Edit'
'TOVCSLIDEREDIT=Edit'
'TOVCDBSLIDEREDIT=Edit'
'TOVCSIMPLEFIELD=Edit'
'TOVCDBSIMPLEFIELD=Edit'
'TO32DBFLEXEDIT=Edit'
'TOVCNUMERICFIELD=Edit'
'TOVCDBNUMERICFIELD=Edit')
SkinStore = '(Good)'
SkinFormtype = sfMainform
Version = '3.64.10.19'
MenuUpdate = True
MenuMerge = False
Left = 288
Top = 24
SkinStream = {
C8660000F77D0400D676B1986538DC180477DD3B866300601FBFE6EBDDF9B7CC
E5AD6E2E69D4B48F05FE3E3F2B15A09FF7D7E7F490054EABFD00CC0F7C2A3DB5
95E9E8C6D3F7436A2FFD0067BE9A5C1FDE28E2767A2B8E02A2D4BD21C4D9C962
39116389260C608D395DA74A35DD435212D5805BE086EC4172253C963D25CEF9
516F082A04A48B899E58E945A4B388144B06C16440904511650CCAAC19460DAA
55A6582E02B7C965BA8CDDA20A512A09A2CA74067A19BDA806BE06FA79751454
288A53F91FC9982B95BA8AA5F7F189BE38DA1E0A402A8C6EFBEE499DC1882FDE
CEC9F4DD048D1638DD54B2FE00E0C68FA077E6FD59909D863593F407E4C21130
49D26264920C06D618069FCE671903D3431D6DA4B3DED64CCC82EF9E7905C680
F8CEC13580006FDF806A261F7ACEE4264224D7C81F785BA0DE0018F0DBFF4338
7E862E300043C01FA4601955DF7D6C078F91A3082FFDB1CA1EFF7403CE000502
7C2C401604051E02DB0152015D016E0173015002A005680AF016A025A80A653A
5F71819234DB00B8017402780A002980A602A80AA02A80AC02C80B2027480A72
7D10B34966F400D003400D803800E001800E007003801C00E0080032C019AAA8
DE5C00A405202901480A805402A01580AC05602C01053797384CD24A80B7AD81
5FE6C77C6D542DCA755C00A4B75A1D4F24FD62C730B2C05602B01580AC05802C
01003B98392F3731BD35CE0DB77D3C4EA3AEA2274E9F82E7BC602AE05E0E7853
065D18C9F0DE704176EAB904829E8792A240802A0A2EBC027D2334ADEEF34A02
A173411D64AD8B3A71651CEAE0FBAC08921DB703B00580080080080392005575
557817799C6D70121AEE276659AD2A91AC1A4E0E940420869688C8B0868E62C0
CA9419651F91A6A7286F591CB00B24A1141D1CDAA91A450E20240EA466C49202
CD445940C375DEA269C80402F8C0BF805ECD4562995729801001001001001001
770048BD8C5815A2C82D06D111CDB31A90DF6CB855F309B86D5C1BA942328CD7
2005604511112481440D24977898B032C98C8F4BCFE2D7920FFCFE4482C10090
4454ECCB4E97790B2E6404C1D611F647F8B0E059D9C94FAEF4B334602CB416C0
E6692C11F017808008008008008B804EBF10190679CDA775E8479865CDA3CF12
CBC6EAFBCE85D644599CDA7F5013022E10C60A386BF080BFF1601950864A5DFC
39FF71C91BCA1E00AC90050A559B87871EA28E69535C2C04E1D711808CF164C0
58BCCFC27DC479978B050481795E59A57F01780BC05E02F0100144802367291E
0D9052AF3B23031A3DCCC25EA97B6C9B8B7E54A1BD215E1FEB29B7B802C04603
B02981ACC1CE09B2DDFC6424323B8088B24DCE640060009484EB5AB9925D9206
68804AE56EF93549E2CDE16283781005A6B2EBCB0AF017808008008808809650
175102F194F63A7D505B8194BF5ADFE8F5B144D25C7BFC77C5F6D2EF0E45EF60
0B011CA6702981AC10689B458064A0194040AD943E2F74D002E3162CB73B6577
A9E5B5DB002D0EE88F22180B3DE2C40A30C0BB2BA71CABA52C175802A250C008
008008008008009720281629FC670AC3AD23E0D5BE626E1479DD887875E74BE1
6420D4C747BA1D01593627361286853435FB873344DA2CC019516C25DDF925FB
4AF8D55A7AFF96FD703AE86462245C4E625297ACA50E7EB6514B55043DA4B2B5
DAA8CC059E6FB5FD5334AD3405C1DE11E241F8B050B3769EB77D76C20B1CCF7C
05E02F010010010013AEB26133820767DE60C521B3D97FA80464E4097A99F3A4
2AA49BFFD23BA08B887C14E0D4420EDC361CC3BBB194DB57D4015BC57FEF70BE
FD0D3C0EC819712D23A664AAAE604840E1A878560894B1905B1E4BFA50D04CCA
7466896822CEFDEA802E0EF466D080F161C8B1919FCBB0C0CF089C291A0BD53C
EB5A45F01780BC05E02F011D80200C50EACE012EE43122A50DFF7DE5165E69D9
72D7D250256CD5D7D7BA80A37F4F047829C1AE104E266E3DB8CB841C29E17F0D
7C77E40828C9CAC5BCA8F979F045594B160E6494CA40FE19F81F7BC37A6D1574
285BF500443A447943CE1646167C4FB4267BDFC02E01700B805C02E011FAE6DE
66BC2EFF3F2AFD8F705C3800DEAEC2147C5384B38513174E1748396199069081
0990B1D0C962D1612CFDE31B3018823419D019225B4C73A0143C7938C52EBC22
5287DE66F802AF66C562CAF63B6954ADB700483A84798E80B1B05922D35EEE35
E81A02DA059B014FF564F4E002002002002002002D5012C4399629F6344ACBC5
DBB321BA5A0F9B9418917D4F9B84D5E6A62D6C52B3D1540EC6FC834B779FF0DC
A1639192F4CECF3725311009D20EAF547F864BD7553465CA8DFB32622AED11C3
14A5B90A317FD0863CAB40A7F22FA8CD1266DAC00925684601BF8B2F8B39BE7E
CC004A68E6B29BC05E02F010010010017F80957E62567641E5DD28D90DFFC6D7
B433F833FA9CFCBD4B4796577611C04811FAEA829686B3B859AD26AE313B6032
D70C8E42E5286801B6F74AFC0AF7172477F640483A9557434F163D8B0A0012D4
5E7BA955C00B3200588A5353E02F0178080080080090009E2126311C98D110BA
4F35853FACC63FD2F276A69A26ABDF7A7A0ECD356009B8120720A20D21021316
3BCF190D8CA450D25CA1D919901C895C775B0120EED19BA8C1E2C8D8B05C505F
809009CA33E06F8080080080080080092C04E500335E86BC9EBF69FF7D0AFD90
4C7E72A3D3E0FC29473CF5002C560E7E5030D3103B8F8F77FB48981944C655B8
CEB5BE82CDE71AB49FF1B804C3AF9E1DAA102CD82C4CB488005580278F67F6FB
F7D400800800800800AE6009AEA7A3D0CBFE45FDBDD76A7224A5994586FF4631
F5A98FB80BF2730730A30D7CBC80324A19718DB081FA7E0938CDF98746670840
B380B000800800800800800800800AD328CED66973A0DE45894A34E16A602E25
6185393CE0328C1948211C88C20529D3127229742C1E4D011733B0EAEB3B165E
6E7B0130401676160010010010010011011011015100928F8C80880B900B4490
420531202202202202202202402402402402402402C400B08F1EE5AE8BA01201
20120120120120120120120120120162A07393E8C78E60200200200200300300
30030030030030030030011C0155A4F796C04C04C04C04C04C05005005005005
005005716F2F60DEE1880AA37E4019D89B3861A22E802DBD394C306C16174590
0500500500500500500432EE5392E5CC55DAE3C6DCDA80C726C76E1B35F53DA4
05BB5A0720A419690C94375043ADD5559205E87EED8FC0121465E5D0A337A2F9
1E4048B9423D49582CF22C0675001A03BDD3C77800800800A00A0094C0097525
E15DE3D6D7A2437A89CE325CBA38E2797D002408CE72A4590694C5D1908865A6
FC926AA50E48F7C80820F4A0F1722FEFE74BD009075466D492A2C831661B7C25
9C17201014882F7010F1C23BC77E501501501501501501608092F6CA6052B641
15B68E5CD9DE121A7A76ACECAFDDC75B8F6727B8D72021095FA5E720A20D292E
F262E8CB3E32C4FE7F1A492039C11E17980908B5E46D53A526E34790120EA11E
A47D1678166A727A847A4CD1014882D039B49611A02A02A02A02A02A0226026B
F05B203BB9B01A4C4BABBC6C060DC63E3E8975144BBCDCD9CEC04C1017D58518
6BB104CEC59464591902EFF16FFBE491B9433B0F92011410B0A626BD5B45D9F4
0004C3AC47B119059662CF533D93FFD2DA8008508416EBC9E95E00A00A00A00A
00A80B3C05ABE5BFDB20C7BCE718244F9CF0965EDCDB7EEE8DA5E7D643DD7C75
760260860E61461A783962676EF0659E32AD012B4931CEE0073008109F8ACBC9
2F2EBE82008195BFDACA920B3D0B0537B3C042F0857615005005005005005004
B7808489E1B29FAE9FD76BC17F9DE68BDC6F6062BD2E7DC6002B9D81C4F50098
2330861461A62062662C832C68C8540A72863BE56E016D7C97C6677C17FEFA7B
1404C3AC47A90D059842CAAFB0C17F5534FAD74EF82FAC05F4A1C01401401401
4015014FC04458A7419C1A6EB649944FCC478518120E75F529601E6CF5B39061
2C05DF07083981B0A30D51DD998998B2B8CBA1027A552B630DDA373A9D7F3BB0
70D195E06F64E6A52E306B66D8A2B94A5A085C92C3A7A14652429F1D574A19E0
20130EB11EA41B16771670D3F88FAECBC17DD9EB014014014014014016FEB240
671EEECDF983E486E99151CCDDD077DA7154E42920DD6AF6CC084DF985186BC1
03DC301F476A465FC6FE1172567B1658BFD2CF4C1C3C65096FEF815871E4DFA7
CA0D57E513014A020B77497C943DDF32923368F9BC123F1FC0503B2336E40316
600B390CF8BB2C56DDBF814A005FB9E7DDD22B013013013013015B6025AC52BE
CE01CEE57A39E50FAAF6E4EF9AB8021162B445A8F0C7621D25FF3F6FB0230290
35041E09A95EC43282082982F83583B840FAC657712F0A892F30101CA5F90737
4A4E705F0CC81FC6A38F0F561F9EDDFF80A07608F7878C59F4582BFB43F7BDEC
04C04C04C04C04C053EB94CB355AEFCC5378C439AE9800DAECC217BFC984B985
19176617603A619A06A08209A8B310CAE2D2E12E4009152FB0101A42E32A4B6F
8E7A02D5C9ACD94A8E1159438B12B4059D2BA8BF5978F0FDEA2FFC0543B447B8
E98B32C59173C724DBE81D028E0B2602F3EAC125D809809809809809809100AE
21E031415344C5BC5552203506DF37324E3FE3CF3710427791687F4F7D15A0E1
6AD0D5DDE2AB2751669195F4CFDF3738C3D014C5E6BEA8A8195F5D6CD1AE2AB9
BC8BD2AFA18F3A4A51E146EFF884DF957415377B1B198ACF48280AA57447C0DD
8B07164979FB840159A3CB0F36026026026026026024E02B5F9F259DEF3CB0CA
316173A43B768C7A03DACA2D30D55568FAB680A820BD1A140868B3CC5CC96DC6
576CC653A32530BACA1D00284CAAFFBFF625C988850150ED555C0D18B34859CA
00AB52F9EF6554905AD005C4559A96026026026026026028202B884D4C47E434
4EB74866BCF365B1AEB7C48216C5CDB21A6548D2A8E1014A14A0EA14A1AA20A2
697778C659432DAC34DF28618CD056EDBB140A02A1D0C66E2303164E458AFB95
980A80ACA35E06B013013013013013014E80ACA0366BC0D52BD72110F059903E
CF7CE58CC4EDF0A63DBC3BC0B9A83AF9414354416E3F41DF8644D8CA5E32E9C6
7086F41713D23A5D4B870150EDE7872A858B0A164F45CF602DC015C7B5FB7EFB
EAC04C04C04C04C05EE0055755D1EB65E385FCBDDB6A7900668304B0EE318CC0
73C202599E83A852868F3C8632D219111B4425C59B6746641F3C66B0858B0A16
30130130130130130130130169E51ADACE5353C322CB65C1152710106562850B
79CC65B632CC42591118E0C5B137755BB7F57EAC020D7BA1DC5D471ECF5ECA02
A0862C3058C04C04C04C04C04C04C04C05C8028A3E36026022005F248063FFBA
447E449F40116501CA740728D01F5B501C5C5E77E0BF6AE5E5374C597701F980
1AA70FA49D27A3F0D7308B0033CD809A5ED2F679FE24C43CE8B1CA936B75ED6C
6395ECF43FD6CE5414C0F9C05C30BCD84784FC05F372473FC92BF1502FA263FF
728A0178170853441A2FF20CAA17A5752077270F05EA4141DD8A680A6FF5982C
685D52265510728A66E894882D00BDC4BD105077629A02195EC05F6EF235A288
3C1304047F5AA8759C17A69505F802A2954F0405F50BFA0B02029905C9007805
FF0BF803985D85D85FEC2FA8202CD3E02C505FF81D1505D3E689016882FE853E
D0FC00BCC17FDFA143D4058FE80B7EC2E10895228096C602C3C608173C994053
162D5F34F6B58EA85D48B0C3FF06FD007982FE903ED9B73F0BACA6DFA409F13E
B785C0C34D72C4A1751C04C9C2410F2B0BFF21C993F6798C93FFC2F6871110E2
05ED3CA521F4E170D96BF9FAADA43E7A17F0603B0CFF23AA721CDC2F101FC19B
C32351C2FEDAB8EE2A8CBE11A9817EF99E915EDD2D3CE142F0EE1EDEAD421224
5F39617F6E1CD5DECB05EDCB0EE8BD5DBFA5F3F705FDB96077AB476100BF375E
7FC5772582EED5D85D85D26B9FF6F57CC2E96DE7DCD7AFBB4C70BDD07A0BB107
7CE385EE9BCADD77DBCC957CE385EEB3E86A75B792F3C832CE0BD19647B4A881
7FC05249817E80B801AF476648FCA5F605C58CB410BE236389C2E04FBCA17EDE
87F0BD75D88545E42F9C2F6C3EF5B0702F79F57AE5A30BDBA2374AB671A19788
5C2450446E536060B9FE968BAC624F860BA4AE947F58C4DA090BE4B8D0FF5BF0
05F25C6DEB97605DDD2BBA5774AC2EC2EEE95DD2A2EBAA6574BDE17C72E97C02
E9B7157B09E417372685D6F35C566A0EDE9217BB27BD6C817AA505F2EDCEF5C8
30D2CEF696175DBD5311B8E85FC6E1CE861DA25BF8E178DD725A8BAC0BC6EAD4
55CE785CE821F400BCD27E2EDF4F0BE121E66F7530BE227ED36800BAD272F26B
071B550BC70E18BCCDCD083FA102E3206F5CAF514342E3266852DC38ED5C785E
9B787AB46E96964BD50BC4EABC4E96AA17937633FA5AB85F15D718043CD72104
172F7636EEB05CFC217895E7EEBE7C764F085DDABB0BB0B8545E35DA6DB9F842
F80BCFB81456BD22665FC4172762B1B7AA4CFBFE42F7B156EC79DD632E95C882
E416DBB1E3D60BC6D2EADE30BA028A3AB57ACDCB62F9F0B9FB0F16F5830EDDCA
05F58B0205FA15C46176211DC172BE87FF893B68080EBAC06F5E7393BDD75C7D
A1F9AFAEBA80F52012012012010FC02E84DD1009009009809370143EB868096C
3E98801201C804804C04C05856025D380AAA54B3391D558C0E602602602602E7
0083030E808EAAD30EAACE0E6026026026029E002F55002C0AAB181CC04C04C0
4C05D9017FE67FA02AAAFD02A5559C1CC04C04C04C05D8404569016B5558E0E6
026026026023E0155561C2B556C04C04C05A0C047788EA024AAB1952AB383980
9809809809750140D402AAACB3AAB301CC04C04C04C05FB017C5FFDA0252AB17
EF555A980E602602602602E2404BE500AAAB968556603980980980980858041C
184A025AABE9AD55A41CC04C04C04C05F9808D0074955B003003003004F50016
2697405555824E3A2EAD50073013013013012680490016AACB52F85801801801
803AA802589265015DAFA0048073013013013013014014014014011800B68D6F
802802802802ED005D15BAC0140140140108004D0C39405CEABD00E802802802
8027A009F56025FC13AEDFCED20E8028028028023F0106641D013555B3B555A4
1D005005005005BE0123DA02F2AAB501D005005005004CC0203F0050137F3528
6AAB483A00A00A80A80BA0022870082D55A80EA02A02A02A0250013BF35D4AAA
E80A80A8084C011DF83A009CAAD11CAAD20EA02A02A02A02F9009F2E013BF354
AAB541D405405405404DC02FDBFFD0058556DBDB9AB5601D4054054054041002
7BE405155BC4AAB601D405405405405A40215EC44016555856555A41D4054054
054044C0268004EAAE802802802801B50016F51900515588F2FC66AD5A075015
0150150120809A0065559ADDF0D0050060060072A00A28CA70053CE3580960EC
02C02C02C02C02C02C02C02C02B9017C77B70EC3C7C00EB401BAB00EE7C01BD1
405F3DE741F0B94903E21372B0197005AC00C00C00C00C00A001EFBB0AB80180
1801800BD38E7CF8018018018019F3E0060060060067CF8018018018019F3E00
60060060067CF8018018018019F3E0060060060067CF8018018018019F3E0060
060060060067CF8018018018019F3E0060060060067CF8018018018019F3E006
0060060067CF8018018018019F3E0060060060067CF8018018018018019F3E00
60060060067CF8018018018019F3E0060060060067CF8018018018019F3F0070
070070077CFC01C01C01C01DF3F0070070070077CFC01C01C01C01C01DF3F007
0070070077CFC01C01C01C01DF3F0070070070077CFC01C01C01C01DF3F00700
70070077CFC01C01C01C01DF3F0070070070070077CFC01C01C01C01DF3F0070
070070077CFC01C01C01C01DF3F0070070070077CFC01C01C01C01DF3F007007
0070077CFC01C01C01C01DF3F0070070070070077CFC01C01C01C01DF3F00700
70070077CFC01C01C01C01DF3F0070070070077CFC01C01C01C01DF3F0070070
070077CFC01C01C01C01C01DF3F0070070070077CE000000000003E700000000
0001F3800000000000F9C000000000007CE000000000003E7000000000001F38
00000000000001F3800000000000F9C000000000007CE000000000003E700000
0000001F3800000000000F9C000000000007CE000000000000007CE000000000
003E7000000000001F3800000000000F9C000000000007CE000000000003E700
0000000001F3800000000000F9C00000000000000F9C000000000007CE000000
000003E7000000000001F3800000000000F9C000000000007CE000000000003E
7000000000000003E7000000000001F3800000000000F9C00000000002DAF9F6
5BBF343AD000C6A00F198076ED80778600F8DD74D585DD0607DA0C59803F7005
DCBBE008016E017C47C8401002E00211100482AAEDFB50020059C02175202387
10591BFF57FF6EF2EFE76DEDD85C01002B0057BEF0C68661237F93A81802005E
802246F6A49000623246FDF6F77C1AD4ADCC933E55C00400A00A1810C6866323
78BB40170682C8DFC94246C5ADD65FF6008015802B75E4728663E8DFA0A40100
2F50111BC006F71BFAD152367ED667C9D8008015005FF612394331F46F178002
C5341237802C6A37DAD078008017D00AB46FAF7600480BF8055A37E9FD4DE4B9
9D5F66AF1E900200540139ED863433171BC5DA00B9B41D4C6F9A8AA47240480A
46CB35A5F48DFE03A8090105010E37ECADEC404808500BF2F7C23CF55D3697BF
DA40480A00A1810C6866578DEAF04059A6827BB7EF5E9016D0647FB7FECF0FA0
24042C04C6F405E08DE07706F39D7CDAD3E74B6140480A00AB6AC31A19858DEA
ED405CDA0DDFABFF4FD5E8082FEAFFF7FE37F5CCB48090118015B8DF9AD88090
11A015C8DFFC2396785F39577D54EE40480A802CBBB0C68661637ABB50174683
5C6F8ADA3E8A5F148E48090148D9EBE5237DE687455BBF7500952A0D1BE50DA0
2404780458DFC246FD00DCE46FBEE280901401430218D0CCFC8DEB41405A71BE
770A8FB901202FD01431AE46FE1ADC5012023C02C51BFB6020240550058E37D9
8800F0373E2C5DB523F440480B9430218D0CC2C6F576A02E8D04B1BEDB5C6FAE
F89012022DEE52379B927156F37540480AB0098DE80AFA3783CF8BB7147E8809
01758606C31BD5E080B5ED06E46F991C347240480AC8D933B382378515FA0240
57B808D1BD481017F011A37F22327C3DC482DEC6A4080B180B7F2431A19868DE
91480B9B41B237F2BF7236B4901202C0029EDCC330D1BDA68405FC058E37B8C0
40579808F46FE11F73602808C02138DEAED405CDA09E8DF6DF12024059AF72AC
6F789080B0D0131BD017B237FAFF14EBB64F868E679BC80B380A7C9FB872199A
237ABC1016F5A0E28DE6D692024040C050C6C51BFE60F640480AC008D1BFE627
EA0240564041F1BF94EF83F23EA3F140480A00A181CE491BD5DA80BA341346FF
748DF2D6D012022B0148DFF01C6FAAEE809015E01698DE35F501202BE02DB1BE
E8E7A8FA18DE80880D6181431AF0846F578202E0B412D1BCD7C4809016301431
B2C6F2AB7CBDCC05E1010002637A02F7C6F3D237FD1DF5F423EAC23F440480B3
1CC0FFA50CC346F5A0A02ECD06D8DFEEBAFAC6F4040E37C330D1BF2DEF950120
2BE02346F2B04A40480AF80B6C6F1F307EC6AD4DD2754073202404601430218C
51B637ABB5017768348DFFBFD2F89012023E017CF90CCDD1BF940101202C202D
D1BC14A40480B180A91BF83A0F2B2445D700D5BDE44D01202300A1804A750CCD
F1BD5E080BD4D06C8DF781B8A47297CA809015480BF8B0CCA46FE7703A809016
9A0131BD010246FFF1EF41D9CFC8E540893EFA02404601430218C346FD096828
0B69A09E37C001E3920040048010C6865B1BD010DC6FCB4D9901202C802E51BF
35D0D1CBF1E72FA101202300A1810C6D976637A02BA8DE80100684003C6FF31E
2340480B280B9C6FB7D6809016A01758DFF7890E38923E46B40480AD8050C6FB
C691BD5DA80BBB41B3EAF40480BC008D43A809017EC04A228083955C7B880901
78012BA9017EA0830C3B9F410060C2C00699F94C30D3601F0FC05E97007C9630
3D0179B7E971C8FE040C03814CC11208EA2ABF80D3A06EBD02B6DFA5AFF40B42
6BFBE9EB74BEB29C75C186C1AE9BEADB73E3ADB750DDB6F6DDF9DBBE697DB171
7D6E5ED2CEE56BD4E01E5EDC50E104E04630DE3F6599D7E39F11E23CECB1F1E6
AB985741E6D4EB67E3EF5C6F81EFDE074EF56D6D7961972F9BB45BA08F87939D
1EFEE3D07A3F79E7E3FF1859F121EBF87623BFF961CBF2BF34801C28F8E15101
59B6A1E9BFDC3D467588324FD17CCDC6201A5851FCE620BB76612F6C43F26A0B
B5AAF54FCAD5FFB3FD77885AD7DF8E9AFE567C5FC72823837CDF621FC3BCBEB0
D752D495CC45D15EB487576FAA84FF628845D667EE4AD08BDF66CD4D8CE9A9E1
9D36D7B2FF7DEDA85110766C3B15E86BDF3FC5924FEBC18D3CACFD36ABF14FFD
B7F9A3644998ED2FFD627C8EF0B35F4775D4D36DAC596FAEC53F13B4D2A2DDDF
306FA29E7F7FD2A5FC34D19EA7BC361578A2CBC74F59FFE886E79A25145EDE0D
D5D6A2FF8B7FE35AC0000000000000000000000000C1600EBEE0BF08BA00C4FB
09FA06F85F04D30376E512FE81AA7782EC6AF26B006852F1702903704AD06EAE
5906DC4C17D97EDEECFB40183DC8390F6F823A3AD5C7100285B0AC3872106EA1
9306C156E3B477D7580372372DB19C7CDED4C70B90EC010F2CF3ADB8DCEEFFAD
DD2FD533002CCE9FD9B67F506F5E723D18DEFDA17B06D9FB8F5E742E33F474DE
4AE076AF10FABE8F8B5DACC71F222EA75632DDEFC2B85DA2AD58355FB4DD4317
B497C98037E4138DD4CAC1AAF5AEE14A71BAF54EA6D1F59E5D5857701C1383F0
AA5AC00A82A2B24E27A9B82F1938D671D03F9CA0DE80F25A839D48D78B06E53B
0E365A7A53921AB5BED5EAB48AC98A77E59BCDA51BEF24D536BB2C1BC3EB43BF
5BF76173F960DE055057D68803779F85731B0B4A6F75155D55F5B646C1876EC9
FBE928DE7FB1812716D5E14E19EBD57BAF3A7D283789D3C37C6A60DDD5C67E0E
EEC586E34AA1B89B8A96553BB67718E3BC5742E61BFA99AA63A98035435E394F
B89A718D500DE21EF52B39E3B666306A749AF0DCFC12DCF8A6E3A825AF4F1798
B31C06DC434F88D1F4A52ACBC01B5EB72EEA371BB9B9AD9C1ACAADD9F7DE81BB
0DD49DEF38032D4AFB4649A5E56D0005B5049E300D5BFFAB8EE8007CF9B8C1BB
6FF2B1FA0009094994BE7E3A70DF86381BFDE07C7F95FF400396C09B9164C1BC
1AB81BE272E0DD95704C9764008C64A5B0368A717C4EC8024AC2F6C0DDEC6517
77AF28A86E79CD362D14D06EE413DF953D62E7C941CC4FD57F6268A4E14DFD57
3CBE3BEF0A3DD9F2DF3C7ADD2B4E5D747315AFBF878A179195E557E5A60A72CB
F722FD4E556BCB6E7B19EFCEA5F645F83C0E58AF212BC18F29241443790A9D2E
5E287CFD28825DE2C6D1E13786F0B2F1EAFDF3AF4B5BC22CCFD9E137AD999945
18CCF438FAFE7985F547D58DDE236EAD2AA6495D7DF9DE4E645E725E3451C8BC
62F1BCCEDA44AFEFA62BFA61FFA3CE0E73C64BC66E6B07FE995EB32E302F1B32
91EB7B823D7DB20F4D3B07D0E1B33430FFE2AAFEC73C8ABC98C1CD19E8B64D7D
FDDBD9A6D81E4563283C9CBCBAFBFCAAAF47A6D86DB0D9971F8F47B035A1D7DD
0A77A8958F252D2BA67A09F3DE35F8CAB566E7D6FC7B338BD6F9AD756A8655E8
95AA3D3690D7E713CF0B42FFDF673CC0B3AE96EEBE989FB7DAF7A3DFD233CB68
C26C17D5AB3569A57A09C0F2D2BD54F4683FAFE8AD9FC4AF57AFD8719EB45EA1
53E68579D5EFADFB6B6DE82533757761AA17000000000000000000000970D7EF
E9A7FE2BDAD800BFDC0FE8A56C0DBCB48244CD056BCF3941CE6D8B6547CB65D6
E0D57B65BCBD65D6BDF3091CC3BDF5892255AF7C0D844C0D8CC306E6BD9D225C
F7FB31C0EBED4D22D0B4FB7C7E38366938368B381B9E4A49772BB98C9AD7E060
ABBF89C1792028C1ABF6B9B9AE6C7146554160D30B0DE912D1A5AF79DDB6B0DA
3B30375E0E0D8DE34B3B091A52008831D9164B06C62CB04619E35FD0C5278B8A
5CA728890320C2D9871030044C48A4CB13DAC1BA6F9FAB516AAD6A0680F2B989
C6D63E399547C1F98D0D8B8AE23966091CA7D7CAADD3EAE8145AE33187C5AD60
09B64CEFD3750342ED2C002D5837235B221BEAB958C1B10E236A789B5461D878
66C3E515CEAB61282DE3BC245A3004D3578DF9DEEAA06E75269F93A9E7DAB068
333E4457DDA81B0EA1643ADED8030A6152CB1AC64D08A01C6F194378DBB70F77
9CA81B1666C0117272A0689728658DD0D83401B6175D84C3CDC289F6E2659B8E
C4F4484F7DF943714CC38B01BE503744D1FA85B91E6D558361C8431E061B68FC
018D306D4724A15944FABCD572A1D30B37813C3D3543D4F78A2BEFB022188F43
5836E2451E380AC1A410C93C9ED48A486D5A52C8DC6F2F3986FEDE37B79F95F6
2DDC1A0D616DB1B06A836DBF118F983A6F57906CBB9E0DA0C84FB68F78EAFBEA
03C5E8B490DC28EC82B5628E5872A0B9870789E2C1C2C9F1806E0F501B759AB5
B1EA5B08C6D2649622DBE0BB6DF381BABEF0E47F3F0B36C40DC79886F49D606B
A16BD72D001014B0EE001AE8E722ED1FA031639C0037659ADAF1E4FA2D64C5D9
45C6E46CA2D9EBCA2B9D41F2116515E033F2F2B1FBC05C05C05C054F809C62DE
02E02E02E02D5008C84370070070070010C002BA70E81B2D6D3199156DB380B8
0B80B80B200B422A502943E574EE51B80B80B80B80A2C0599D399321E0C95CD9
625B6701701701701670159424A052872BA7DF53DFC05C05C05C052802D2E9C1
274F083A3B1D75701701701471924ED2814A1F4BA7DD81C05C05C05C052E022E
1DC034677DA495FB28954958F017017017015402B7B2940A50E574E1C783E02E
02E02E02A7016A74F42744A39DBF4AD6FBAD9C05C05C05C05AC05A9712814A1C
AE9C1D405C05C05C05C055A0233A72200F025B3C7C8B83EE6DE02E02E02E02D8
02CBC4D40B50FB1D38D85C05C05C05C05620233A71CA910FA7441B6C60E8ECE0
2E02E02E02DA02B6C8D40B50E674E2CEC5E02E02E02E02B7014C74E46E521E8E
210D5770170170170118055911A818974E54370170170170161808CE9E9179EA
5477C46E4320EE37017017017016F010186D40B50E674E7CE1FC05C05C05C059
40233A7B7003D833896AC2D9AD55F017017017011805136AD40B50E674F926F2
7017017017016800B7BA701DAB7542E7F1E8BC05C05C05C047404D3B6A04057B
AD5BA7A3CFC05C05C05C05A202DEE9C80B36EC8681467E02E02E02E02BD804D4
090119D3F0170170170155A026A6780B80B80B8094F80B65EB4D3A9520003B01
D8980EEE303E8AC065795E290BDC0C3E929C0C033A001E8C55C05C05C05C05C0
5C05C057E02D696BA9C01721F90FC87E43F21F90FC87E43F21F90FC87E43F21F
90FC87E43F21F90FC87E43F21F90FC87E43F21F90FC87E43F21F90FC87E43F21
F90FC87E43F21F90FC87E43F21F90FC87E43F21F90FC87E02E67F33F99E19E00
833C1F04803E09007C00870036E0CF0CF0CF0053005B3176D3CBCAA0076EC076
8603C56F01FFB501652B7DB0FC57FE7C03FE00058802004326303A10E10E10E1
0E10E10E10E10E10E10E10E10E10E10E10E10E10E10E10E10E617001002AE98F
5876863D7881E3C6E1FDC7AB0FF2CC7ADE500000000000000000000000000000
00002BA80252477E9C01002AC02D90CF5001002AC021110042AB004008444016
A00AA8DFDA4BDBA7A7A75B4F5EA90008015402C1766633333E687DEC1378B0C0
435E8A57D1001002500B728B319999F3431558021558021558AAC0158557F46F
C97766A254298020052004D4DB333E687D3992F9D2A4B57E3CB0BB4010026026
603319999C1A18AAC010AAC010AAC55600B04AAE0F1BDCA1049002E46A5556D1
C686B5E77622F3CD80AD802004C04CC06633333F5A18AAC010AAC010AAC55600
96AAB47ACF306400A8032CFB346AAB38DEABF1B58A0080129A02AACE333335EC
D18930021558021558930028C955CCEDFF0AADB38020048C04CC687687EC9BA6
153F57F8FD5DB590008016D660331999917C931558021558021558AAC01458AA
EA8DFBFC9BDE1EB9F8B4008017DE2A663C3333EF60F87A2CF18B5BA61E4E989B
401002500B0F23319999FB431558021558021558AAC0158557FC6FC1546BF53B
30C802004A0139846D0F1091A1D9C0F1655BCF267EF8AD64002005B9980CC666
6736862AB0042AB0042AB155802C4AAB9B1BE83E799B400801546A331A6B43ED
370B8FDED79D2D1EDAC8004009B43D3D0CC66664DB431558021558021558AAC0
14D6AAEC8DFDA03D9587AB0DA00400B99A9E2E2CCC4343E9E2FCEF9F77CB1E27
2E3DE008012C05991198CCCC43431558021558021558AAC015A55688DFE3C398
AE66D00200561A8CC66667368691FFD3D703C7F6679CFD3E76380028F80265D2
6CC6633333AB431558021558021558AAC0166D55CA5AF8B5AC1AE62AC3680100
2EA6A5C63334979A3F4FEF44485D38AC75828AB59600B98809974B301521B331
B431558021558021558AAC0167AAB949AB37F61F7A9BBF698D00400AEAAD6633
33182FBE45277C6D347388E8CFC02D62E847F167A401544404CB4E2B6CC06633
3319A48EFE8132855600A8AAB6692CD5155802C1D55F635455600B64AAE52604
DF88DF66BFE6D2C010700554C015C00FCC36667ED0D79A69F48B68D03014AD2F
69F2CDAFD51EBE8002ACB0132A195CCB465D6C54B319D5820D51558021558021
558AAC0158557746F730F9287259C1ECF8600BCE09E38C007CD004D2B9801980
9D02736ACDB34527953779BC3A3D757ACA90F72170B76930001545404CAE65A7
6D5B301663764D41AADA30AAC0059AAB9C69335455600AF555FF1AA2AB001455
5DD1BD11C9ABF42C8EA70000FA6009C58B5373E367F4727A48E0A57271F4D2AD
A66E7F4014F004CA8657567A1ED5AF636757B82AB155D5155DE9A488E42AB155
D0557484D51558AAE965569237A2F97A75FA79FE39BA4ABC00284000F7BECB46
5D63C6CAB1C9E47F9E54B5B49CF64E5F8002DF60168B23ED6B2D1E66B063675C
D60AAC55772ABFE3491AD81558AAEAEB1855600314AAEBD1BD12028FB190E823
0052E0132B9FB0145A0263ABA3B6D24016CF0127EA0CF000AAF65AABFC1A498E
A00B95023133545562ABE3C6F00000000000000000000000000000000085A37E
EBF7C5DF71B801F1B01D7D81D5581F54603514707705E7A987E97FFD20340007
D6B004008010020048005142250D3EBA40164404CA50A80A8005A25449F818C1
22FEFD8696894FA215015000B5CA897554EB58B20055804C9F652854054002DB
2A24FD6BB059002AE02593FC5EE15015000B78A893F32AD16400AC80993ECA50
A80A8005C2544B9F89654A0B20056404B27FDFCC2A02A001719512EB9AED68B2
0056C04C9F652854054002E32A25EB00B2A5814017280AD13E15015000AF1512
DFEFDECA9605005D202BA4F854054002C0544B86DAD2A76FC0017B00AF93E150
15000B09512EF31F2CA9605005F402C04F854054002C4544BD7CB4A9001E2001
849F0A80A80018CA8977BCBC054E4112652854054000FA2A256B57B47E259A0A
32942A02A0017D950B57600801002004009200A5B70F3F90E4AE007BEC076760
787981EF8C0700961AE0BCF5B0FABAB50034800B25364C04A75180D608D000B1
0B35ABFB1F6A162FF158F4FF1457E8D7636B7EC04C34B105BF1F62C0ABB3CE19
ECC7DA6C5809821EF1E821F6AB7F5178803A8800BC2896207BE5C63568BF3AD9
DF589A21FAE7AD3D8C0E2A0CA65FA0261A62062662C0ABCD06B47B9EDCC4A716
9C06B9FF0FE5698B4F92183BF404C34FEAD7DF9C835822F4188A68A724D1F66D
C599D5A9404C34D1A62668B855ECE70E3AFC7FA35A8A3FD4D21AB0D610D608BE
A509ADC1AC53C667CCB4F47280130D310313345C2AD633879438A310A035A02F
9A1DF066D7784BFC760E5A0061A620626C835701E809C8AFE26B232743DF2AA3
833EB0804C34C40C4DFA2FF0CAB9A0E164FB73755EC02397D38D3EBD3EBCF66C
710804C34C40C4D906AD17F5377FACCCCBADE339EAC77D331D45A10098698818
9BF45E642AEB21AB14BA37A252BE52BC564AC318767A9BBD83BF01241E23C80E
70697EEE223E40E889AB988189B38D5A2F117E622B9C79E092D1778BD92FF95B
F017999EE349B0A54871849FC2022C34C40C4C845EB02AF0D38788E165C6635D
DFC7873BE996FA548FDE5583900084DA61A77D357B15FA52052A8EADBA745614
61A620626CE3568BF7A77CAB82D46D5D665F8B84F166B400B0BEFC92E9614DA9
D92A5EEE22F058518698818990CBF082AF6838593ECABDD35BDD8DD8E938A703
E8D8E188266B8428DE6B726FD3EAB785DF52BE268E5ACCFF4FB0D310313671AB
45FDBF6EABC56D2931352CBD7D753017A12FF4D4CB25DCAFBDBDBF2FD937F7DB
4D52828C34C40C4C845F602AF7B1AB14B1AEEE7B2126EDC90F4D9B1E0158C60E
60294BBF39836599CE4A6EDD418182606EC7DC886AA186988189B40D5B2F99AC
D25FBD3C134BC7E65DD377A980BCCD6B0373C8D4D2935F9DD0D1AC165E99A4FC
977F061A620626422FBA957E29C3B93E074A5B6594C8A66ABFED9699697B075F
CD8DD1D6300ADDBEF594FBD24AD37D878F2D667ECCE0E7BAA61A620626CE3568
BF6A35DB56697D8C3CDEC9356A5BB424ECAB642E999574AB7AA76D13A7F9DE32
EAD1AF625E2D8698818990CBFC12AFED385B5C635BCEE5DCBB22078BF7E203BF
6D3127C3E572DC29CAD5FDD7A9C55C8AF5EFD5585A2CB842CC0D410413671AC4
5F4EDDA5D4D71452D8E11CDB12EA6D64CEE6DBED0E2972EEDBAABFB7E1C1F9D3
3B65C6BDB6C73FB9AF606A08209908BFCA55AD06BE8BFDA6EEBB6DB7691025F6
C00687A7F59BD1CD7DDB78F4F1A031C5164BC66A14A6E880E81A930704D9C6B1
177096A5C339B546B976AEEB35D7BD4C7DC4BE1EFAE17E71BBFD0A02EB3645EE
A05B44D61782C440D410413211758156D8384D1AC1E246ADAC1A44080B802D7C
A207EB42B317B6366EC4039BD4F2DA703F786B485D41A2826CE3588BEB91ABDC
51BF5DB32B7738F83B91A0B31D6F5975E481964DA059405C072A5549792E0652
3E06A082098ECBDA455BC8E155DE9B1801E4D6AD7E6851E405DA01410413681A
C65EDADA466133D2B84CD9FC2DA330D480A06A082098E8BBB8AB7E8D4F481AB6
D06631725CEFF8A42D00A08209B40D622F51AC99CB193359873D35919DA06B59
996480140D596A2A098E8BBECABAC1C36F5A05F7835099707AAB558D50176805
04104DA46B1176D70B506A5C2BE2A6A734755B5DB635100A06B12E0304C765F5
22AED870D2E6D669C835B80D079BEDC8E77AE02ED00A08209B40D622E08C1A9E
DE4D9318B316D63A12965D8328805034F75878263A2F672AF681AD633AD69D20
9FB912D93A75149DC01410413681AA117B4DBB11A084BB1D10596B24EC050350
41A500CF5FF956033874D180588AF5D008805C000340D508B90E717BD8C83F6A
B17A40141010F48A139564D1AEA3A904600B40230002D02C8C09B58C4C65D2EE
4288A80167D059CAB490D7360B7D3D740009B0074F807D4300ED7C01A5176BA0
2ED7C81F49B94E031A00838E02E02E02E021E02173C2EE34DD3F9B01D0A20116
0105F06BC7DC7DC7DA747C1A34B5D5700A0D78FB8FB8F948F896A618C980B8FB
8FB8FB483E36001C7DC7DC7CF38FB3CD043E7F4B8F1F71F71F71F71F71F71F52
0FB7A6EFBF8FA0D78FB8FB8FB8FB8FB8FB8FB6C3E64AA91F3871F71F71F71F71
F71F71F6D87C45F08C48FA0D78FB8FB8FB8FB8FB8FB8FB8FB8FB8FB8F9A43E24
AF0F8BE3EE3EE3EE3EE3EE3EE3E121F0091072C3E835E3EE3EE3E1D47C13B91F
07C7DC7DC7CB20FABE975F3A3E835E3EE3EE3E6D47D6903E7100A0D78FB8FB8F
A947D9E001C7DC7DC7D5A3EE02E02E02E02D802CD8A36AFCAA0006F803B0403E
90807DDE00D7AABB9C3103EBB779C062C006146B80B80B80B80B80B80B80B80B
80B80B80AB4045D606E3EE02E02BB8081C20DBF0BA65C05C05A60995F241721A
F20780B809642279B0307DB5F6D74CB80B80B38227B3BE066C4C204567E99701
70132E05EF72DA84C9D50D9467EB4452D5723780B8097853211899555BE99701
7016BE6FEBB59138BB3250990A2132DEFE4F4CB80B809BF73958634264B874CB
6A1327889911F25B80B80B1617DAC860BDE390810E2647CF9D32E02E02DA265B
9FB9C10B2C2C23A362922651B8F25B80B80AB2CC43ED5B502F67A817275F927C
05C05C05C05C05C05C05A8659B2B4C47E554CFCD73E9F9AAE352FCD6BC561A6F
CD7FF4FC0575B5B6F01701701701701701701618051B1140A56E5A002230827A
E025D404461C2AE1630F32AC4E8961604DFD226992F015EC02C1A50AB858F2DF
96FCB7E5BF2DF96E87AE44547A84D313C05990147B50B189781BCD47C8A44B95
FB49F9780B3002852C2AE163CB7E5BF2DF96FCB7E5BEA7AF2A17BAD74BD4A2AC
85BD73D1F15316D910814E02CC00A14B0AB858F2DF96FCB7E5BF2DF96E7D907F
8DD5D0229790744A3A71DCEFC33380B4E02852C2AE163CB7E5BF2DC2DC2DC2DF
56D7DEE8DAF80260002855EA7AFBCD78E352EF4F83BBC433C0127202AEC30AB8
5885B85B85B85B85B85BC7AFB9A374C856BEDD002D8BD49559DEF50B19C4FDDB
CD7D6352E3878B95A650059A00B0F142AE16216E16E16E16E16E16E87AED543D
77CE71BA002D84052AB23D76DA1EBDCB7F5755BEE3E2EB910CF005A34050A585
5C2C42DC2DC2DC2DC2DC2DF5BD7E3FDD6F680134A02852C2AFD7AFE5E1BF065A
DFB0F17F867802DB80B1B142AE16216E16E16E16E16E16F1EBF9C2794642A87B
400B8C0147A8D1C2163EA5FF2FAC70C4C7CB131002EAC058F92157A97385B85B
85B85B85BF372DF097AE009FB00B53D7E0C6DFE6ED9F90C9CAC400930028B9F7
6E42C42DC2DC2DC2DC2DC2DD0F5FF7F990A8F68015200137F4858A12FA671C61
8775F28330013F402852A4ABABA17385B85B85B85B85BE4A2DFD7AEAAB28F680
161D0142AFD7AF5E25FBD739B3FE73BC867802B14050A5DEBB0B10B70B70B70B
70B70B78F5FB2DFB7AF680161C0124942C5497FC376BBCBE5BE05F6EFBFC0132
C050A5855FDF742DC2DC2DC2DC2DC2DD4F5E00194A0129B9000C0C01E9510B08
97F7BFFD78BCBAF166B5F97DA0004DD01429615747F416E16E16E16E16E16F1E
BDC800D6EE2DEE800DF000855C2C1697B6595A64C1C6894C0139202852C2ADB6
C85B85B85B85B85B85BEB7AE00320801697A7CD43AF954E75C016E50142AD3E8
16E16E16E16E16E16F9B16DDB87F7C00CA803B2C03A3D195FFFC5405B611717C
2F4D40FB2E97E80F8C00C10C401002004008010020040080100200400801002C
30095BAD5D5012389AE2C00100200400AA4042BA00400801002F955C00801002
0040080100200400801002004008017F57B6A5176ED537AF3B5FC0B3E0279C10
1D0295954162A2C002004008016A012EBDB15D00200400855C00801002004008
010020040080100200400801510BDB607EA82FF480A55033515AA0F359E40100
2005B701756BEB83060805A80BE05ED8AE8010021576F955C0080100200400A8
BFD88F524010020047C1800801002004BAF6F9BBF7ADA78FFF1500A02203A052
BEA83B3CF6004008016E005C5DF8AD845A016A02F61BDB15D00200400BF1D570
02004008010025D7B7326F6ACAD002004008014011A3000400801002DEAA0E5A
4B2D7ABAF65DD869A4050117CCC0A3F3540B7D801002005C6017EDEA5F05B5F0
E016A82D75ED8AE8010020042AE00400801002004C2F6F2EE73D330000000000
0A401C1E61EA002004008012C55060B3D3355523D2F6901404407655895413F7
400400801002D402DA6F6C574008010026A2AB8010020040080131EDB8020040
08015980857A00801002005ED507C59EBF1DA90155D202F416B3D6F7AA0A9E80
0801002005A804D2F6C574008010021570020040080100200400801002004008
010020058577B6C3D54024EA380A908DD5507CFAFF00400801002D402E72F6C5
7400801002BD8AB801002004008010020040080100200400801002C297B7C353
BCB54777541D9EFB802004008016C0171EF6C57400801002F02AB80100200400
8010020040080100200400801002DBBBDB66EFFDDFCFFB080262901520E6DFD5
540EFE40100200400B600BC1BDB15D00200400B6E2AE00400801002004008010
0200400801002004009377B7EF418F7A2C21A0D217D480A02203B49ABCAA06F3
6D802004008016C0135BDB15D00200400855C008010020040080100200400801
002004008013C8BDBBF71CE4ECE5276719EA0140472769553A6D500000000000
052C009ABDB15D000000003D62AE004008010020040080100200400801002004
009917B6E70F7F567EBD5366CDC1500A02203A052FAA83E33BE802004008016C
0135BDB15D00200400855C0080100200400801002004008010020040080151BB
DBA4AAA75DF3E7716280542AAA39C82C5AA0D1E86800400801002DA024FDED8A
E80100200499AAE00400801002004008010020040080100200400B645EDB4725
503756A805E55035954000801002DC97B62BA0040080117B6008010020040080
10020040080100200400801311DB7AC02E2AA000400801002CC010AE90120240
480A00B2E68FE52FEA8004B803B0C03DF6803D1E02CB5F5EAA0BEF303E49A578
03E6005239F15BF0103B1101202404809015ED0145CFCAE3BBA675376D0B36AD
866600A05206A0820A4C400801002004004C00F173F4BC27172522DC74C872EC
A022FC625D5784E2E7D280100200400800A401A5738E7C244912E4E9F137D011
265915608189E801002004005289E78AE75A82004008010053B13F1023B688CB
01C1FAE70ECB035040C4F400801002002773FCAA5CF68955CF029173C10313D0
02004008009C4FADAE75A82004008010011E27944C7C61E02627A00400801005
FE27DA8B633404C4F40080100200B644F35A15739FB13D002004008037544FE9
84685CF034C4F40080100200E5C4FE412E7ED1738F4A28C940502825CFCCC4F4
0080100200A344FA3973AD4100200400800D744FC7DA2D8D0015063627A00400
801006A44F07B5CE71752E73D12E7820627A00400801001689E25CF93465CF93
A573AD4100200400800FB13FB5CF432E40B8056D5CEB504008010020039A2793
8B33A0973E5D50140A5513CA313D00200400802CD13CAF2B9AE781AF173AD410
0200400800AC4FF573F491035C05745CEB5040080100200BAE27EFC5CF57ADBE
60B9EE22E7AB040C4F40080100200A444F8B9F26A5CE7F2E40CC05173E6E95CE
B5040080100200ADC4FCC173AD4100200400803C62781BD627C10313D0020040
0800AC4F8B9C1D1B1CB475E2E781481AF573AD4100200400800CC4FF573F3B9C
BD880B12B9D6A080100200401A913F5173AD41002004008031189F6E601C1C84
4FC3B3040C4F40080100200B844FB1D73AD41002004008039713F0B6489F84C4
F4008010020027C4F0A2E7D59721B280A05189E80100200401BD89E25A516C6D
00989E80100200401D8227956E6001FBFAE781A820627A00400801001D89F765
CEB5040080100200D3A27D654B9F37885CF9B52E7A8627A004008010064227EB
5CF8731F07802C8AE75A8200400801005189E0742B9E05189E80100200401C38
9E25A516C6E80989E80100200401A7C4F2B0AD01A80C5CFA98606989E8010020
0401B113F8EB9D6A0801002004004789FA52E40F404C4F4008010020019227FD
282E2E7820627A00400801001D89FEAE72836B9E0535AE75A82004008010063A
27F289739516C6E80A44FE5627A004008010013D13E2E7C5C25EDC8807E02814
E45CEB5040080100200EBC4FC5F31452DE0140A313D00200400800FA89FFF3AB
9E06989E80100200401B513FACB9D6A080100200401C244FA812E7FE485CF028
25CF56C4F40080100200CBC4FCD173EF5AFE43F9FF2A2D8A00140A6FDA820627
A00400801001D89F825CEB5040080100200627AD410020040080189EB5040080
1002003D13F369227C0D313D002004008036E278966627EE623C2050140A313D
0020040080376279B1BCF6A599F5CF03470C4F40080100200DA44FC7973AD410
020040080189EB5040080100200F389E23D5CFD4034624B90A70140A5F1AC103
13D00200400800F44F1A75B7692E7DB627A00400801006E627EE8F90D3C4290C
9C2380140A71AE75A8200400801001E89E42CB98B9E06989E801002004014627
85DEEB9C3D89E80100200401CE89F17394D311C0184B8830F40502903552E75A
82004008010073D13E83F669C84B3E455E00140A40D51FEB13D002004008035F
13CE2989750FF08A2C7000A052068E29B13D002004008037113CCE248E3B933A
B1F180A068CE2C4F400801002003F73FF301414A02404809012022F0161C391B
5BF2A0012A00E8F00E38167CF4290165DFAF1E06207C8746F007C6000C598363
B4F1E2D878B300B661C805D01A82682C45E8BD17A2F45F8317F33BE76302C56F
2AF7A457C1368271E1F2F0DEF08400B57300BBB4FD208D17A2FA22F54FA2F45F
AC9F195B18809011F0168EEF41A3A342B3EC199F8E7F027A081B8000F98100A4
F9CCB71A7E3190469B66C2CA2FBE8BC867E09CAF2F737FDEDE05FF70B93FD8BB
33A37BBED6C240501C118E06A08209A0B117A2F45FAC5F1E122F45F405F0A2E5
897E1FD22F45E8BD17A2FFB0BE4CAA02405DC02A343F017E500E4287D17EDD27
C98FCE00A19F31315C8BB6173A29B90C75475F68DDDC737776BED005D202324D
C0A0835A9C904DE632117A2F45FE8BE625517A2FA02F8515F49F985645E8BD17
A2F45E082FB1BF6D01202EF0152D1FDFE3E0850A50C87CD1DA9D37A2FDB17DE2
2EEEC4042D4FE2CD07E4FC2B0F26E7A919CED8F6EF1F07BC7B84402A21901D02
92450420826CCFC45E8BD17EB17C8388BD17D0178A4BF9693F9257D17A2F45E8
BD17E782FE81FD101202F90154A1F9E5CF120E621367B43E8BF7293FC07FFBC5
5E10380E402F5C161F9353F82678A4DE74F7F6F5A8300C71BF3EBF341FE88028
0880E81481A93E504DE683D17A2F45FE0BFCD1FA2F45FF62F925F8427CE9D8A5
7D17A2F45E8BD17ED85F25C7580A4C1980766052B34C0BA40245F4C5FBFE5FC0
0428A512CA1F944B06527D69F97E8BEA0BFA9F649499FABFDA016982E00B2F9D
F7663D783FBAE81A01A98DF29FE7D20D3FAA280140456FF81481A820826CFE47
A2F45FB00BC0C004B1E2FE45F9386A3CBF45E8BCA02F85161D2FF98F8022F45E
8BD17A2F02178B389D80299DCF33C5BE0BA80245F545E4B9EFEC014A1FD632F8
50FA2F3AC5FDEBB34D3D85D6D914D545405C1379E77CF15A6833D7C83BE68025
F2FF2F03FFCE52EF6ADEB9A97E03A05206BD639E9F3F79E47A2F45FB9178EB4C
6B65BB700A0E5081DBA2FC583C48BD17D917C28B745F123EFA1DCCB40200A0CB
96772DE27E47F45E8BF762FF197FA9A7AC545F7D0CDF53E8BD17D4178B32FD80
29DE4211AE5199CAE205D90122FB22FE6F23E4EA5E2F17BB3D621964E7E4C1F0
ED01D5FCBF45F6C5FD2EF371C042A4FD3FB14DE680DFAA7FDFED0302D4FC3FE6
4E47F8CBEFD2F7FFAE640A40D0841EDF10588BD17F585E2106B196876D9F1C29
05B7D0DFAE227C543E8BD17D382F91FF8D2FB8697225216C7F8321023640E327
E767D17A2FF18BE350E9B4291415A17EC9F1B5F45E8BEC0BE779101202F80171
D0FCD19827E088353D559AC020E9E84FD58A1F45F6C5E0EDE6EA0105B01CC29F
C805F005C0101D27ECD2F8BD3F01390AD5C2D4016886DDE8180C07760281A820
D626FD17A2FD645FD8821390A2EC77D64F8CA743117A2FB62F851790BE0A7B53
E6C6AAEFFC715F353F23FA2F45FF217C47612D059DA9FEDB2A2F45E042F9E119
635A585DE73F1797882D05E805963CBF3041A93EA2D7B6CC180B93EBDCF2FD17
DC42F075F37B80BF14FFFEAE0100BEC0B80299612BB457A71FFF6992E390AEF6
65025E64CBE5DA6BB33103016D9903504104D0588BD17FF05F090BB65E3BD7FC
C5FCCAC7B93F31788BD17DB17CCA7FB0BFBDDF8F8CFB417D29FEF2FE8BD17810
BE6BE671E632C0F5CF0412DE45E8BFFA2F1CA99E0299D941682FE8165E9EFE30
D4A1FF053047DFA1F45F798BCDDCC5F4020F6B3803DE5F00BF80B81A949FA64B
AC1F551F379E1D07847F3787DC095B9D61F07ECF5C7F37F1070353BE704D0588
BD17E585F776EF60D7C00DE1A6D97DFC17E3C271A2F45F6C5F0A2FE4BC2EB365
3E7F94012527C7DCF45E8BF7517F4D5E836AC5DF600BB7377BDC98117A2F0317
C935C2E2F3324EE4A9A0B417FA0B01E47F81ABDD77E791FB19BBC5F3C4E05B54
B58F2FD17DB17FDD5C81C02949F2A202CF3312D0160E433135F7FE967EFD5597
FF5B29A39FC5B42203A0530EF41018826956A8BD17FB22F180A151444FE6EA33
22F45F705F0A2D213F1C322F45E8BD17A2F04178E6190020028803FE87E68CE7
A093C89943F3CB9E84BD3B07F6B143E8BF562F25C9AB0175FE6532FD1814F118
E93FD6F9A4C182BD39E3E01E2B7B2175F265D9FFCF79D03016EBFC0740A40D41
04134AC745E8BD17E617E7D8D9D17A2FB82F8516A09F1CAFA2F45E8BD17A2FCE
45ECFDA00BBD27C0294C00524FA8BD0FA2FFBD6795CFC9BB010B7F171F063029
E23949F366B01007BD934ABFA7CA38F7ABEFDAFE633C043046F57CFD3606A082
09A1448BD17A2FCC2F907117A2FB82F91FF584FF725E8BD17A2F45E8BF502F40
480AE80AC4F7C05F74023943E8BF5CA4FF8C974053CE3E5FC9593D10EC1D293E
0EFC0D4D5A017A2015B12717A7C9C200BE0140740A4D6AF82F82C45E8BD17E61
7CFD7117A2FBA2F8516DC9F19C63117A2F45E8BD17FFC5F257101202F10158D1
FF369F39EEBAAE18D5303BA6F45E4F49FFD4BD353E12F8859157DEBC48BC2AD3
17FA7FFDB27EB300501101DC5077501145E8BD17A2F45E8BD17A2FBC0BE3FEC7
898C7F3DFCE0904FD028C0453CE638CDC9B30BC21E00886D9081A45E8BEE8BFD
96240480BC8057E7BE7913D0A3A77171E50C3A87D17FDD3F83C05A2EC1FBD37A
0004C803A6403EB300F5C80328EFA5F43103E1B367A03E6002AB901202FC17FB
E9420240480BD0174ADE99805362330BFF9FC1CC374953FC11A2F45F7C5FEF16
21332384EBAF9808716F984C8BD17F205F26909064E49BC1CE17980A902BF39D
CC0245E8BC5C5F0110043F44E13FC0010E992814A2F45FCA17CB2AABEA3B36D9
405E8A517A2FC22F8A6705F86D602F4528BD17E117FACF81B6BC40210DB917A2
FD8E2FA648C44B5E2010A94D45E8BC5C5F62B06C57EA2F45FC5AD77DC0C5D4CC
5844F7095F314A2F45FA40BC0FCC0F4052E13B94F8F279A02EF12E2B389917A2
FC82F15F88C2963689D81D0028C9BF8468BD178B0BD01202404F2ED012027C35
D1E1AE86C5CBF99C7DE7DC9B323E95A2F45E8BD17A2FE882FF79A1EF02BDD755
3BBC45E8BC4C2F1D72FBE225C89FD3A3345E8BCA45F2C3E5D175E4FD39D98992
2F45E402F1DCE53F40E527E739517A2F21178F0A67CC9F92F28BD17A2F45E8BD
17A2F45E8BD17A2F45EC97A2F45F945ED6FA2F45EE0BD17A2FB02F73BE8BD17B
B2F45E8BD17A2F45F685F3C35DA5A3F0D7FE0BBE1AC0F9E3C352BB9540480901
202405179C69B7BCAF40146AD19922F45F0597FEB09CD53A3C4DC7724A371301
D0288BCFA2FE8D1EE8900E93EA40510E81A45F7E17FA8D0E5587602F54222FF5
05F0E19A3993D3E8028828440917940BE2584BC3E000A08117DE917F19DF7221
98050408BF062F26F8E5CF9500443FD17DE3C5F23E4977271B4D20281A1C71E8
BF522F8990BE2172111319158008FB2068766FD17948BE14423844778EF7939A
D48A62F980E814CF5BE8BCBC5FEC844294DD99B8028080D24C8BF5B0BD012024
0480B6C1A766A8090120240550014A8E96424016CD098AA0F94C45F9317CA889
5A1F7B653CF8949FF14A8BEAE2F94A44B15D3E05FDEAC549360BE9B6845FB617
915E8FF8F8DE4DF393FF26A1F91C8BCDC5F12CBF6D87F27FEF56117FBC2F96C7
7F1095827E76EA779117A2F45E8BD59E8BCF85EC1F45F9C5ECDFA2FB42F6B7D1
7DB17B7FE8BD012024048090166BDD63F86B766B74E6CA3A25CB66BA5B03F51D
9ACA2EF7C02A86C1FFC043526501279A79A024F34F33C5014AA3A3017C79857A
2FAECD6F7E2B1DF87F46901725881D823F8F3360994589E69E68B13CD3CEEF85
9DCD7C5400BE3CFAFB1CEDB363C598AC67D98A00502F03B047F1E74F1328B13C
D3CD16279A79EC58B3B0FF6AA015F89FEC19DB67FBC59E2F34DCE1E405718A07
608FE3CEBD26516279A79A2C4F34F30D0B073B5600B01E7E07BAF1DAEF658FBD
D66A54056D8E07608F01E7C026516279A79A2C4F34F315A2C9E940B014D8583A
B033D4C7CC42F320E05ED20776D75E1CBD6DB340103A35654A97FFCEC1F03A05
E07608FE3CF002679D8B279D233786FE0EC37B8A7AC92CCF31E6058882A986E1
3E776D143BE216F83CC79E9D267B70B27AEDACE794513E189EBE730F3F006C27
3C5BDC9961E70239CF3DDC4C8A8593FC2BC00AB3D36168FF6E3440E1AFD73979
14802AB8173650B8B340161BE04670E38E780F6B32047A32C0EC11E2737C0264
15167EFBFF08909F1FDCB079C39359D443E7912EC1E7D9499308592654A3D857
14541AC0440149A7E7AE7DFCB8C30045C90F6808802811D2798A44CD6E1605D0
0B580BCCC7D233B9301059123161AC4B9EC08B9C0E0CA075E62CD4445D45F950
79DF02811205E39BB0C4E6F1D267E38B21CF093879C7490A5BF3CE1CF0ED8799
0F93913807980899F8E2C94BC1220232E7E31194D582B9C1E0098C47BCB9F87C
C05E42E70193239166E83D6023BB8D08C140CC044F3A48D2AD70EB0D7EB9FED0
D22FE6E97C3A0DE2CF25DF19A1C047DC13F0B3836C40BFCDD823C479F04992A8
59F9D5261BF190A0D161E7F9D45F30E3FCF9200B80798B4994596F821E1176C1
7CBC92ACF3DC39A2ED87B7DA813BF3CF9E4CE481602720FE02264DF94ECE63FE
0E93077BE7B61DC4E6EAA97DF3BBF4E42FDF9039E8FD7EF9D17DDDD3005A8A0E
EA1F1240BC0ED5E23CF712669A167C7509B5171E14CF1040BD44F3F8EAA0F048
93736DF9F39CF3A6099AE859FD71426613F33CA4C89D95CF4348946341E087CF
56F1017C05CF54932541609835802FCF38E03561D16A8E63342D800281781D1F
1B9573F2C994589E69E68B13CD3CF7C0B0DC29B5A02FCF3314674C56D333776E
6F3AA2D30140BC0ED29FFCF3DCC994589E69E68B13CD3CCD82CDC80194F3A0BC
43D84C69E28AB80A05E076909A99C364CA2C4F34F34589E69E68B37E7999CCF0
C783F4F83B00281D339A79A2C4F34F34589E69E75E2CE4C050C9E7808DE4E202
4F34F34049E69E7C142996EF602D3D4E000DA00CDD00F92E01FD44018C35C49C
171FAEE76DBE32EFE03E3004F8CF900211BFC467BE3465E099FBC05035041624
3A02E89C9FA173C86B0028A946C2876F7A79160053D4CC6211015880BCA85D77
8CA029E4C52A2A580A79764044106760FC849FC493538800EAD10BB816A3567D
09AF5EB805B20BD885CFAAFBC053F7AA76357C51762D00A08209BF2067CC631B
65B6DC4CF78B292C38425A76DED02FD68597F52F0146713EAEEB67A2D00A0823
9800FA2C918F12BB602849C326440A5D7D53911AD82F6217CE9B9840144A4670
8CE963A6E80A0822B7D83B8F750166011A1B7DE02D885C4F8400A24D3FB30F87
4DD014100185A02C400A3F83FDE2847FC1017F142C428717E9108FFCFA6F00A2
1125DF7E2C0A38082353DB29A1C17B50B893000519608E112670E9BE02820851
6E196E1DFA4BA20204C30729659864B43AB966C2017B90BCA8EF74237C26FEED
67BE0282093C7EF4ED9AC31014AC419FC17E285CBCFD5847B68FEC74CF7C0504
0CC1F62F8118D4EFE29F838098ADF9400FA98FB428D18059D63FD3E35CFD2BC7
664E7BE02820968B071980510E980E3376A404C628E9E1D82C78599405A35873
695E993EB4FE73E2014104196CE5F66400BEFDFF2144C9D4D03002997C932508
DC82BA648A49DC4CA02FF42F3DEF9A82F6D0800400BF45F73173A06008017BF4
9F5DED2CFA83C29C339E14F05B7F8537D607E8BE14CAD000400B100AED034D00
400B1008444012F555A97EA8004B0010BA80156F103B1BD1B7C67780CCC80240
D5D3AA37B888DF956A600BE200911BCF9580068D4C2237F4CA53D76ADFC735AC
163F400801401430218D0CC446F176802C6D0511BDEF9019B8435EE009035B06
7E488EB23156EA6900400BDC0446F001E546FF9AAC8D945A70A2E9004009802A
4D52394333246F178002E5341237802BE637E5F98A0095201648DFB97CBA0099
A02C91BF51B7C707E61A9D385B3B80080130055DA618D0CC4C6F176802C6D06E
71BD9F719FD000278049D697EE37BAE900400BDC0498DFF5ABE802005F002E2B
DF71EBCDF9E597BFE100400A00A1810C6866648DE2F0005CB682A3B7E75E8015
E46423B7FFB775202405F002637A02B68DE07C55EBC5FDE6CF67996C28090140
15B6C863433031BD5DA80B1B41DDF57D43F57A02A1FABEA01A3797C5B501202F
901678DF49F501202F901688DFE3579F1DAEB65B7BD7EB404808802B3DF0C686
60637ABB50163682746F8ADA3E825F148E48090148D82BCE46FD0D0CAAB75D92
0254A99A37CA1B40480BF80418DFF646FE2B5D246FBBD680901401430218D0CC
E28DEB41405CB8DF3B8457DC809017100A18DBA37FEE4D8809017F80B446FF30
0809010201688DF9D540DBB5D3837F4BA8FD101202D90C0863433011BD5DA80B
1B41046F233A379D7C48090106F70B1BC3C938AB79F62024040804C6F405E58D
E073EFEDC31FA202405BA181D4C6F578202E8341D91BE647031C9012023A364C
ECED8DE0457E809015400418DEA4080B180831BC9B4ADF8DAD81C9BD48101690
172EF863433031BD22901666827C6F27024875A4809016D014F6E619828DED34
202C602D51BDC60202D10041237FE8FB9B0140420151C6F576A02CCD04346F3E
F8901202D57B81E37BC48405A20098DE80AD237FD36AC6685CFFC7BDE6F202D6
029F27E95C8666B8DEAF0405E0683BA378B5A4809017200A18DBA37F7BBDA809
0103010A37F734EE80901050102C6FF8B866CFE991F8A024050050C0F80A8DEA
ED4059DA08A379858DF2D6D01202200148DE67246FB0DA8090106016B8DE43E1
012021C02D71BEBEB7D8FA18DE80B946B0C0298D5FD51BD5E080BD4D07B6378A
F8901202DC028636E8DFE2C7D57280B6A02C602637A02B68DFA246FEDBBF4E7F
7EEBC7E8809016E2981DD7619828DEB414059DA09F1BFEFC7F58DE8089E37C33
051BF0827B5012021E02146FF161E5012021E02D91BC7EB68C6BFA34BF751DEE
4048088028604318B3646F576A02CED0451BFFFF15F1202404540234D8666C8D
E2FEE404808A00B646F3AF28090114010E37D23013AADACF5797E6AF9FD40480
88028605B59C3336C6F578202F6B413E37EAE8B5C8E52F95012022B017FFF0CC
1C6FB3DBF8202405C48098DE80ADE37D59CA45D5E91D5AD4B93A404808802860
431AAC9FA12D0501633411C6F8001C72400803BC010C6865B1BD015C46FC3819
1012022802DB1BE9EC9239058997D08090110050C0863555A637A02F646F4008
02AC001C6FF0B07C5012022A02DF1BF3722024045805C6379BD6A14FAA955910
12022B014318DEA38DEAED4059DA09FF57A024059C044A1D40480BDA02511404
565571EE2024059C04AEA405760418E3B30D7548E278004100658803F761DC71
3AC038B32D19E17A4D03FED8B0603F10054CAA20240480901202404809012024
0480901202405A4047CB3B4E880A940B19E4D46202A70093B501276A40A02B85
3B579C8082761BF94B3FFCDFDEFB56FE7B2FF9DBF840480B9001765F86C43784
4B3D4F8DE809010900844394874049DA8090167F3B586E8087AE1BF9CB3F5FAA
DDF9AFFABCDF8ACB62024045C050D286C437BC6967D1E0809010E80BC7872914
8093B5012022B9DAC37405A8D0DF6E33FEC7FBF67D40E7A08FBA02405DA00A1D
FD9F50DE1B2CFAE8B8A024043A021B0E521D01276A02405B88ED61BA02F2786F
E7C37F9E35BFEFE0EBBBC7BDEEC404808B80A1A50D886F0E967FFBBC5012021F
010E87290E8093B501202F2476B0DD011DC86FB659F36B81BB800F0E7D6CF620
240468050D286C437874B399BBCD012022C010F87290E8093B501202FD476B0D
D015B086FE72CE65F57F945801E8E60F84112024055A01747386C4378ACB3FCE
9D8809011B008AC394874049DA8090107E76B0DD0161C86F84967334F07CE0E6
A80405C0014AFBD4A3CB3AA0101784045E1CA43A024ED404808B53B586E80B7A
437F6967FF4360DFCC06F08173A080B92028697E6086F1896773A080BC602390
E521D01276A024054F1DAC37405D561BFB4B3EBAEB1FFC317FA602FD4080BA80
2869786386F1E9677EA0405EB011F87290E8093B501202ADCED61BA02F570DF6
4B3950CD77C7DAC07D6BD40C8090178C028694360B867BD2CF65B5012023C017
E90E522901276A024045F3B586E8087086FED2CF56A0B55AEB156FEEEB691F20
2405EB00A1A50D8A92D4259FC827ED012023D015187290E8093B501202BACED6
1BA0236A1BEC967A8B243C8346562A40480B5001434A1B151668CB3E01B09404
80A8405461CA43A024ED40480B313B586E80A9586FB659CCE9587BCD6A9C0809
016D0050D833A51967B5D00E40480B50015FA1CA43A024ED40480B4E3B586E80
ABA86FEDC37404808F002DEE2FB2A634809015100A94394874049DA809016AA7
6AF39015ED0DCCC67A024044980876E68090170C01276A024ED481404519DA80
9015E810CB3A02404809012024048090120240480901202A7E59F6DFBC55A189
A000EC0197200C05403F290064FC74C705C03E731CBD6270807EC00FB2E7E202
40458058B4B12024045805AD00200D5C00ADB40580474BD6F9C432DCA22FBE56
DFBA89C02E9EE80E1F3378BF67D17E017E3231808E160C9021640C43BD908129
C02808B78683581ADE2945FDC0BC2C64F8C59E00C5ECEEF2F258F3C763CF2110
C0545632F1DA81481A832D82C45F7D0BFC85F0B453C0D1603B5CD6FB6A5BF3DF
93CDA0AF55DC8602808E8A181481A1880CF8416521790C0DAC96EBC5758A1005
6ECC466DAA181445FEAD78759D8B87B750633D6E880350D7FE77FD557AA00A02
203A05206A28782682C08BC84E6B0DB96B93ADFE72EACBFF670200A02203A050
81ABE85FA2EB8DCB5A2EDE203B77D27FF0EB06AC1044760352700A022AC18148
1A82082682CD42F0240774BFEC2648E3F074F01440B34240A6F105F05FEAE394
68F14E76F08E7BEAFF738347AEAF46610900472EBB3A70F481481AEE048BB482
C3C5E45F3D477D9718132427FEC32B099FDB02903447495517E8A3D1DC0F80A5
FDBE5DFFF1FFD0C5F762C866718FF83200F9C46DCA0BB947197FF97CBA2A7823
8BE40A40D10411A847A278BEF795AF8A3E9F748DDDA7DF5BB0D610B84DC08814
81A2082AA2FD1D7A213FFB387411EE2FF1CA799FC96FEABD01FE83F74F27FCC7
2CDDFD7BD4E3CB9FEA79D81181481A820209A0B0F17DFE7BBF5CFE02A6FC6F68
8433FFBBEC09621A46873605206A080B0BE07624D182DED5318EDBF78A8BFA79
8BE9DA37D44F8AA77F799BFBB0D3BE53F0652D8FA750501D02903504104C4161
C2F897E2A2D1E2EBA05D9FA3298694007ED73603A05206A25F7C5F4297CC9FF4
0C605E1F6F1E9DA73BFA6B5FB903897FFED360BC68C8423C580EE60E06A3530F
C2D416005FA69ED04AFDAC5D3D3EAA7BF5BA0ECC53DCB0FADC0901D029035041
845FDC67AC6056AD16CB0BCDE6E22D453F5D00B28285EDEF8E0090739C780A4B
11A0702840D6751176A9E0B350BFC82D2B9A70CE751DEF3C58FEED3A7F4F5005
01101D029035090A205FA70103BC8A10D0B6FCE8E655278EF93256ADEC016B13
80E651A7929820826E150BA2F949F49A732C475B5EE4AF68E6D27C04D603A052
53FAC05FEEC3EE9C1CEEEEA27B316EA7316A8B25AA87C0A8FF6AD03504105967
75785E866B2D0BD31ABA14B49A523E02CF01D1ACC0D3405E9FC49F774EF2F1B8
23489E8AF20F9ABD51DB600BCE0A5740A40D5947C7F0102FAE17F0DCF87E3298
B9E0914B0A5F7CE9FDD83E026109029B4580BDD85FFECED6D16B7860386FC477
EFD4CA30102FAF179E02802004780A008F014000003C05004780A7754F014EEA
82F3C053C053C053C053C053C053C053C053C053C05DBE02CDE2BDA2AADA95AC
E8DA5799BC5C3DE02AA8CCDB2CE71339D736D08CADBF80BF8BDC5D38CEB0CEF2
5B01D6FE02CE69CE6E4A079C589CEE6F3DF30F80AD59EB10CD699EDF27ABD6FE
02B5787DA1F93FEF92D61D81E02CEF9CEFE4F00A78113C0E9E0A393C0550FF93
0ABFE04763B3167E2780B3C269DFC9E014F021BE7F51E0BE3F0167A3EDF0D6DF
24ED73410CF91D5E02F321B3D1CAD79A67D7AB95E02CEFCBE27FE99F265780B3
E369F1E3CC6AC017CE7F93E54CBF01678B2F3A37BFF00486EA1185E6780B92D1
A5C765C7E2FFAF664A5DCA4780A780AEC2F9D4B67F80BB45EEFDD5758BE75E1A
69690F01768BE87BAB4A45FB7A3D93769417B945EF94549F75417D8780B57F65
8015A804780A008011E028023C05000000F014011E02BFDD5B76BE4E3B5C3567
CDBA02FC2C5F47DD5832A7D15017E942FDC7DD5B7E57CD205F8A8BE81E02AEF6
F2F1F01674CDB82FAC7C04E29272A5DF80B4DC2F67F80B5B77EB073FCD144775
6039A147FC68A385EE4F0166502EF80AFE56F46C5FE3E02FCF1F8DDE2E62B005
F79197EF0F2DDF0172F6FDCF015BE313D63FF317FD6DCEEAC0D28780BF8BFE29
EFF73CFBA12FCBD396009C82F62F0153E742B96D5CC7DEC5C5C5C4E7777C6EAF
CF015D15B1C2C434A6D95BCEE4AE197E02A194F58A3EC5938B9738F5613FD54A
7A7F017E5CBBCEFFCAD3808D611E19E02CE894EBC7856F2DE8DA97B65E02F5E9
EB3BB109F8085117FAF80A876BD3BF305F004CF0ACE039FBE02F7233E789E913
7D25A7E301D9FE02C104F00B693EA22FF6F01679790F9F35BEBAEEB7C3E74E35
743C059DF6F4C9A919E764F27B8D99F0C69F80B3BECDC0A564B27F9182DE4BB3
3C0575780AE1A9F80AE1E8F80B9E8BCF015DD65C5FA1E067D7DD580880E814BF
E02D80BCF016593D5C7B87B5996857A47C059A03B63C05B9C5E7754179E029E0
29E0280200566F0168B29CB1946C1C67BE58FDCAE9DE6C9EDDD7D55678ACBC55
76CA3250DB91DF90D765BABBA0766145A88B34CDB1362793680CD366FE75C327
F662B9ABDD0179D04D0DEF6A5F119BBEB53A97FA397BF5531EAB53B01F68573F
5786A9188F0F40BE969A7A9DBC20810D01A1B1B47B5959F85EE7B7836DD612D9
7170EEE0A1FF0FA8CAA75BCAA4CE8D6EB7846528304784C3670F728D6A93467A
8149D367AD7EA421D80ADDCCF09C33BB166B53616D316F0DD858AB039AAAF83B
7303B6C7047F6045C9E60F6D1A0255F17C25BBF12B0C5D851F6831E287BC18F9
3FD8F6BEC1D1C01E84DAE89F06DAFCFA13958933D1009F03A845BBBA00BF07F7
F1183627CBA27E3F01BE11D08B52B12FB62AEF8E0823CEE45E0230E4CF81F812
73F9A8B174CA4D37A6FEEA2CFEA09BA7F897859C015A4DA504F7E4F8C4849EA0
822C3898642E889F16A08AE88D89050BD1A44941E0D225F8F268134629F049A0
8CD4C9E82CF7568EED7994B14B4043020C66BB0214163F984690631D27A4D472
7D737BE56F59BB0B1D93071E00EF2357200FF8BFC90BE253D9EC53ABF8F39A5A
6C0652586C0D7E37DA0EC09DFBA376FADCCF37A4DD81BB3B573F3EAB50D80AFF
FB2BF8DBEAE64280771A1CF814827532E49EFF662F661AF8BEBB90B2BDCC755A
78F514C2425897644BE5BF0FD2FBCAFD280AE35FE1D22BEF75CBEC58A7244AF3
8DD9ADDB0B17AEDD32A97EC81FB74E3A95D4D2F19AFA34813FDE5F7851AFF3BC
4FA9F17EE530D83C3B7DA75C84AEE56E0434D06D021FA613EB843FAAE4388BF8
71B3215B026512533F3A9D4FB03B23A1B29372B408D198D29379D7BBF2E6BEFC
1CCBCED05EA920C2BC5CF5FEB0B792D05EB926E7F86B795B75E1A5FE3EDF1CF5
C155EF8382E3041B1C3E47828AF6A38FF5762C60EFCE26BA86C1E919EBE3AFDB
5DD2750991F72A8603720FC5ECCBD0F656D483A3FD5DFC3A14B38F50F2E9A267
59D1E01CFA5A1A85CF13EBF50DF1B0AF61E2D2C6FF41D6EC135A27C95CDCB534
C114D2A999B3063556E913D2ADF9CCDA2F7F51605DD9758AA2FBAAE6DFDD709B
8D55ED562C2AC1F8BADEEBABC521A89BA13A2ED94EC46A246BD65DF68D7AD0BF
4F1346C9C01F2677BCDBF106BB37AE3388F60F84CEC8485AEC26B428F9F7BB9C
57784682EE9E41FBE96FEBD2CB780DA9D6D58E2DEEF9F169FEE54FA2579D6127
C791D8ADB8AFEDE309CD79C9E59894B4B7AE316A9F65FF8E5DFD229AD30AFCB3
723672360DEBEB7F9BBC4DAD81A7503E94AAD53F455701EFAAAE033B6AAE0372
019D622AFD5A44BCBFD0D3CB0CD82C65B1AA799D8377341FE98AF7517EE59BA4
136EA13D946E2CEA946C7396E51B3440FEEE69FDCDDCC06BCD384D595F4AB7B5
1BBCB0146D3C51B8B5328D59D1FC3A02BBE28D906072A0DFF9185D7D1A6D0E3D
AD941E07E6B5A24A5DC3F186B2A2C3B6F8E781A8BFEF511CD1F9BAA64A679EF5
A8C2086F6298235DED79C41FDEE5387FA1609DDF8175D568D437E159EEF7DE7C
566DC97FF02D670212910C8070C8070C7BB89166AE8F33BF2AEEB8486ACC69A1
C6B4681ABE2043B1FBAE8A715006873353CBCF7D78581BAEDA0FAE81C34EEEFE
FAF2DBE98B6D3B43E579B781ACC5FC7B1ACA1AFF853CA74E408AC9CA3BAF2652
9A3BE8BC714DFA346F811DCF800D104FFDF03248DFCBD5105F74297BBB5B5577
8AF400A613B208D65932087FE1423671425C28F035F61BFC7A1E86B4736DF7FA
9BC73F3CC0E7B5E519CBEA18DFA7DA8E3FA07B279ED5EA39F17C31F8A353AAD9
C64E014705BA33D7559A3FA35975E6C19F73BACD4D34CE62AB118A8D16740CE3
CB9F72A6B47225502B172353240BDD1338F5BB58C16DB8C373988CB3A39C6241
70A4E6CC2D641A6F8E0F02F61710BF6F890819F35A462CEA31874EAE401D6A8E
E8EB519777AF5B8330F1EA28A56105F72655DFF1F3F8BDE0F3A3A94DB0433611
10419FA4F1F98F0BF67CCF9B0BD995618D989BDD8D56272AA8206ABE89CE79EF
9F24691E83BA073CE9011D0828DEC7D8B0F6860D603E1EB0A27169707AF42D88
7C5C4313E099156B01F1AD6F02BD3325DA517C3E0F999EF299EE5363E1FA6EB3
5AD6B2EB0732357E75D75DCAC53E9CEA31A9D0DCACB5ACFF02A53C0A05F2282D
B45E8FF127CF53E4BEFCCEFDC08E4DA19454D72F62AF691B7EEA8A67B7F8B9AF
DB87C51201B953C5843DB6A933DE492AA2CAA2B8B0B8C573BE94DB027CFC7A53
B9559D51DB3DDF1913A1548C6255D8F6A36F6F1AEE87C90B3AF81FDBF90F0D96
F799A4A340F965D50789519BEADAF0E5F6CA85F59E7BD5B4420E8D474448794F
939222B85ACCA9FEB5D4F3B15D95DEA562D7D2C3FB85B360996CC89D739BF2CF
B91D75F9AC910E755EEC10C50B04BB9FC699A7E31D2CA1B76C49C15C3FB96F9B
48C820F7450B48DBB075A50DD83AD2D70FDB50662A04D8FDBC294C9B29BDE767
23A418B1CB19F63D8F1252D21836363E79D77DF0D17A163815F5418551577CF7
9F6DB01BE15701DE8958C3091C2BB23DFF5B679D51856718BBDC5ABDF4F3F2D6
9B73AB74337389D5F53FFA9F934DAC66FD89478396EEEC92BEF8E742CAE657E2
A855FAA583506EC16E8164B7DF1507301DF3797E8F2C7D3F01C6345B7E24EFBD
389C0EF32ABEA6587BCC65CFE69C4A63862DF35BA8677F42BB02C0325B68C917
8AC50BF3AF1DB7D06BD582A4A2C4EB6CCE3CDB3FF9DE6E11DF3EB791300CBC14
8C022F06B94DB005DAA39D2EB7359286E6EA15EAE0E0C9D5A979764D53881CA7
CBBA4954EC653C71DDEBFB8CE599B6783149096957684F01F21367826E13C3E2
D2AE58224488E10EB60EE36781593CAC511C42AF101A116E6C1BA87FB5837777
5837621D074821FE06CBB92CF2D3A5A0A74CAE3453AB0ED4D48DDA426D92A77B
0FF24A0A24CDD41B699FADAA90576E04225A1ED82CFB8D2AB9BB1C6D4DD4F990
455E4E8A8FC3DA497AE41F825EB7762822F7314F885A92F661B580BD6EEC6945
ED226257B93F4B4FAB1489F645EBD53395568FB9DE38774F66006F64F6E1D5FD
6677DB0C30661114369DD919D4FC18CF60CB8BF9D55BCAC7B56DDD654DE12EAE
E44B2CE1693EDA5B152F7996FB0CDF95696249D4D6B72D0E242297559EA7C796
91E09DA3D51492BFAAA7B2796DA619A7A9791AD969F25EEA7EB1034C482747EE
DD735FDAB1E5F999CEFEF6ABC97196266B8C9AC24B8CD07EB204E237576D0676
29DCE4DCEB5AEDDBA45DD42A}
end
object MMOpenDialog: TOpenDialog
DefaultExt = '*.txt'
Filter = '文本文件|*.txt|所有文件|*.*'
Left = 44
Top = 104
end
object MMSaveDialog: TSaveDialog
DefaultExt = '*.txt'
Filter = '文本文件|*.txt|所有文件|*.*'
Left = 196
Top = 40
end
end


以上是完整源代码,请大家帮忙看看,我快崩溃了,想了很久了!!
 
对不起,你的程序太长,我没有看完!不过内存溢出一般来说是你所用到的数据超出了其内存分配范围。

比如一个String变量能被分配的最大内存大小是255个字节。

你最好看看是多少个字节之后溢出。

大概看了一下,你试用PChar,也许就没问题了!
 
谢谢你!问题解决了!我没有用pchar
我用的是widestring,这样应该不会影响效率把!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
654
import
I
I
回复
0
查看
806
import
I
后退
顶部