From c87fe31ff4cb7dbd4141cfaea41316799ef417e6 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Wed, 26 Aug 2020 08:53:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=203.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Интегрирован NUnit --- CodeCompletion/CodeCompletion.csproj | 1 + Compiler/Compiler.csproj | 1 + CompilerTools/CompilerTools.csproj | 1 + Configuration/GlobalAssemblyInfo.cs | 6 +- Configuration/Version.defs | 6 +- Errors/Errors.csproj | 1 + Localization/DefaultLang.resources | Bin 95350 -> 95392 bytes Localization/Localization.csproj | 1 + NETGenerator/NETGenerator.csproj | 3 +- Optimizer/Optimizer.csproj | 1 + ParserTools/ParserTools.csproj | 3 +- .../PascalABCParserNewSaushkin/ABCPascal.cs | 2 +- .../ABCPascalYacc.cs | 2 +- Parsers/PascalABCParserNewSaushkin/PABC.ymc | 4 + .../PascalABCSaushkinParser.csproj | 1 + Parsers/VBNETParser/VBNETParser.csproj | 1 + PluginsSupport/Interfaces.cs | 1 + PluginsSupport/PluginsSupport.csproj | 1 + Release/pabcversion.txt | 2 +- ReleaseGenerators/License.rtf | 153 +++++------ ReleaseGenerators/License.txt | 2 +- ReleaseGenerators/License_en.rtf | 116 ++++---- ReleaseGenerators/License_en.txt | 2 +- ReleaseGenerators/PascalABCNET_end.nsh | 4 + ReleaseGenerators/PascalABCNET_version.nsh | 2 +- ReleaseGenerators/RebuildStandartModules.pas | 2 +- ReleaseGenerators/sect_Core.nsh | 10 +- ReleaseGenerators/sect_VisualPABCNET.nsh | 2 + SemanticTree/SemanticTree.csproj | 1 + .../SyntaxTreeConverters.csproj | 1 + SyntaxVisitors/SyntaxVisitors.csproj | 1 + TestSuite/CompilationSamples/School.pas | 105 ++++++- TreeConverter/TreeConverter.csproj | 1 + VisualPascalABCNET/Form1.Designer.cs | 32 ++- VisualPascalABCNET/Form1.cs | 29 ++ VisualPascalABCNET/Form1.resx | 2 +- .../Project/ICSharpCode.SharpDevelop.csproj | 1 + .../Main/Core/Project/ICSharpCode.Core.csproj | 1 + .../ICSharpCode.Core.Presentation.csproj | 3 + .../ICSharpCode.Core.WinForms.csproj | 3 + VisualPascalABCNET/Workbench/RunService.cs | 10 +- .../CompilerController.csproj | 1 + VisualPlugins/HelpBuilder/HelpBuilder.csproj | 1 + .../InternalErrorReport.csproj | 1 + .../LanguageConverter.csproj | 1 + VisualPlugins/PT4Provider/PT4Provider.csproj | 1 + .../SemanticTreeVisualisator.csproj | 1 + .../SyntaxTreeVisualisator.csproj | 1 + VisualPlugins/TestPlugin/TestPlugin.csproj | 1 + Yield/YieldHelpers/YieldHelpers.csproj | 1 + _RegisterHelix.bat | 4 - _RegisterHelixNUnit.bat | 6 + bin/Lib/NUnitABC.pas | 19 ++ bin/Lib/School.pas | 105 ++++++- bin/Lib/nunit.framework.dll | Bin 0 -> 394240 bytes bin/Lng/Eng/VisualPascalABCNET.dat | 2 + bin/Lng/Rus/VisualPascalABCNET.dat | 2 + bin/RunUnitTests.exe | Bin 0 -> 38912 bytes bin/RunUnitTests.pas | 260 ++++++++++++++++++ pabcnetc/PABCNETC.csproj | 1 + pabcnetc_clear/PABCNETCclear.csproj | 1 + 61 files changed, 757 insertions(+), 173 deletions(-) delete mode 100644 _RegisterHelix.bat create mode 100644 _RegisterHelixNUnit.bat create mode 100644 bin/Lib/NUnitABC.pas create mode 100644 bin/Lib/nunit.framework.dll create mode 100644 bin/RunUnitTests.exe create mode 100644 bin/RunUnitTests.pas diff --git a/CodeCompletion/CodeCompletion.csproj b/CodeCompletion/CodeCompletion.csproj index 5cbce79dd..00e95f89e 100644 --- a/CodeCompletion/CodeCompletion.csproj +++ b/CodeCompletion/CodeCompletion.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/Compiler/Compiler.csproj b/Compiler/Compiler.csproj index f97121b47..49cc787cb 100644 --- a/Compiler/Compiler.csproj +++ b/Compiler/Compiler.csproj @@ -69,6 +69,7 @@ full prompt AllRules.ruleset + true ..\bin\ diff --git a/CompilerTools/CompilerTools.csproj b/CompilerTools/CompilerTools.csproj index 4b20dc868..9979a3821 100644 --- a/CompilerTools/CompilerTools.csproj +++ b/CompilerTools/CompilerTools.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index db05e3346..145d81dd8 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -13,9 +13,9 @@ using System.Runtime.CompilerServices; internal static class RevisionClass { public const string Major = "3"; - public const string Minor = "6"; - public const string Build = "3"; - public const string Revision = "2660"; + public const string Minor = "7"; + public const string Build = "0"; + public const string Revision = "2670"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index 6e0f81b41..78c64c3e2 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=3 -%REVISION%=2660 -%MINOR%=6 +%COREVERSION%=0 +%REVISION%=2670 +%MINOR%=7 %MAJOR%=3 diff --git a/Errors/Errors.csproj b/Errors/Errors.csproj index 2a879b3b2..5d223359d 100644 --- a/Errors/Errors.csproj +++ b/Errors/Errors.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/Localization/DefaultLang.resources b/Localization/DefaultLang.resources index 70d58f6189e9a8f77eb60c5d895807b04fbef76c..dac6069f553a16f1e731437f6216836760457836 100644 GIT binary patch delta 71 zcmV-N0J#75=mntZ1(4tYyn*4h;Q=l&DpgKNR9{p@Q&dwu$Kdbt@$%^M{2=V^W3Qb>^p)~;$w<0nDR6>prompt 4 AllRules.ruleset + true pdbonly diff --git a/NETGenerator/NETGenerator.csproj b/NETGenerator/NETGenerator.csproj index 3fdab4696..a259e9f85 100644 --- a/NETGenerator/NETGenerator.csproj +++ b/NETGenerator/NETGenerator.csproj @@ -65,6 +65,7 @@ prompt AllRules.ruleset DEBUG + true ..\bin\ @@ -169,4 +170,4 @@ - + \ No newline at end of file diff --git a/Optimizer/Optimizer.csproj b/Optimizer/Optimizer.csproj index 9c8c1c440..3cc7ad4a5 100644 --- a/Optimizer/Optimizer.csproj +++ b/Optimizer/Optimizer.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/ParserTools/ParserTools.csproj b/ParserTools/ParserTools.csproj index 451eaf45c..24a638a26 100644 --- a/ParserTools/ParserTools.csproj +++ b/ParserTools/ParserTools.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly @@ -122,4 +123,4 @@ --> - + \ No newline at end of file diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs index 79f6384de..8923c16ea 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascal.cs @@ -2,7 +2,7 @@ // This CSharp output file generated by Gardens Point LEX // Version: 1.1.3.301 // Machine: DESKTOP-G8V08V4 -// DateTime: 12.08.2020 15:06:56 +// DateTime: 26.08.2020 0:44:46 // UserName: ????????? // GPLEX input file // GPLEX frame file diff --git a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs index 36f946e2d..92ad31f96 100644 --- a/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs +++ b/Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs @@ -2,7 +2,7 @@ // GPPG version 1.3.6 // Machine: DESKTOP-G8V08V4 -// DateTime: 12.08.2020 15:06:57 +// DateTime: 26.08.2020 0:44:47 // UserName: ????????? // Input file diff --git a/Parsers/PascalABCParserNewSaushkin/PABC.ymc b/Parsers/PascalABCParserNewSaushkin/PABC.ymc index dcc3ad542..8cc0534dc 100644 --- a/Parsers/PascalABCParserNewSaushkin/PABC.ymc +++ b/Parsers/PascalABCParserNewSaushkin/PABC.ymc @@ -276,6 +276,10 @@ script= + + + + diff --git a/Parsers/PascalABCParserNewSaushkin/PascalABCSaushkinParser.csproj b/Parsers/PascalABCParserNewSaushkin/PascalABCSaushkinParser.csproj index 9eeb4ca67..3346fe329 100644 --- a/Parsers/PascalABCParserNewSaushkin/PascalABCSaushkinParser.csproj +++ b/Parsers/PascalABCParserNewSaushkin/PascalABCSaushkinParser.csproj @@ -47,6 +47,7 @@ 3 AllRules.ruleset AnyCPU + true pdbonly diff --git a/Parsers/VBNETParser/VBNETParser.csproj b/Parsers/VBNETParser/VBNETParser.csproj index 8ea9c23b2..0f64f4b72 100644 --- a/Parsers/VBNETParser/VBNETParser.csproj +++ b/Parsers/VBNETParser/VBNETParser.csproj @@ -59,6 +59,7 @@ AllRules.ruleset + true AllRules.ruleset diff --git a/PluginsSupport/Interfaces.cs b/PluginsSupport/Interfaces.cs index 8b38a2bc0..68f46809e 100644 --- a/PluginsSupport/Interfaces.cs +++ b/PluginsSupport/Interfaces.cs @@ -299,6 +299,7 @@ namespace VisualPascalABCPlugins void Stop(string FileName); bool Run(bool forDebugging, bool startWithGoto, bool need_first_brpt); bool Run(ICodeFileDocument tabPage, bool forDebugging, bool startWithGoto, bool needFirstBreakpoint); + void Run(string fileName, bool redirectIO, string ModeName, bool RunWithPause, string WorkingDirectory, string CommandLineArguments, bool attachDebugger, bool fictive_attach); bool HasRunArgument(string FileName); string GetRunArgument(string FileName); void AddRunArgument(string FileName, string argument); diff --git a/PluginsSupport/PluginsSupport.csproj b/PluginsSupport/PluginsSupport.csproj index 36c1db15c..f471d78ba 100644 --- a/PluginsSupport/PluginsSupport.csproj +++ b/PluginsSupport/PluginsSupport.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/Release/pabcversion.txt b/Release/pabcversion.txt index 77d573b65..20bd31262 100644 --- a/Release/pabcversion.txt +++ b/Release/pabcversion.txt @@ -1 +1 @@ -3.6.3.2660 +3.7.0.2670 diff --git a/ReleaseGenerators/License.rtf b/ReleaseGenerators/License.rtf index 191d6d5ee..ef7c268d7 100644 --- a/ReleaseGenerators/License.rtf +++ b/ReleaseGenerators/License.rtf @@ -37,9 +37,9 @@ \fs22\lang1049\langfe1049\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1049\langfe1049\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 \snext11 \ssemihidden \sunhideused -Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid9583613\rsid12019863\rsid14836557}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info -{\operator \'d1\'f2\'e0\'ed\'e8\'f1\'eb\'e0\'e2 \'cc\'e8\'f5\'e0\'eb\'ea\'ee\'e2\'e8\'f7}{\creatim\yr2018\mo8\dy29\hr21\min57}{\revtim\yr2020\mo2\dy4\hr23\min13}{\version7}{\edmins9}{\nofpages4}{\nofwords1386}{\nofchars7904}{\nofcharsws9272}{\vern121}} -{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1701\margr850\margt1134\margb1134\gutter0\ltrsect +Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2307793\rsid2756858\rsid5121612\rsid9338748\rsid9583613\rsid12019863\rsid14836557}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1} +{\info{\operator \'d1\'f2\'e0\'ed\'e8\'f1\'eb\'e0\'e2 \'cc\'e8\'f5\'e0\'eb\'ea\'ee\'e2\'e8\'f7}{\creatim\yr2018\mo8\dy29\hr21\min57}{\revtim\yr2020\mo8\dy24\hr15\min4}{\version8}{\edmins9}{\nofpages4}{\nofwords1386}{\nofchars7904}{\nofcharsws9272} +{\vern7}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1701\margr850\margt1134\margb1134\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701 \dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot9338748 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 \pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 @@ -47,67 +47,67 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1049\langfe1049\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'c4\'e0\'ed\'ed\'fb\'e9\loch\f37 \hich\f37 \'e4\'ee\'ea\'f3\'ec\'e5\'ed\'f2\loch\f37 \hich\f37 \'ee\'ef\'e8\'f1\'fb\'e2\'e0\'e5\'f2\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'ff \loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'e5\'ed\'e8\'ff\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 PascalABC.NET (\'e2\'e5\'f0\'f1\'e8\'ff\loch\f37 3.}{\rtlch\fcs1 \af37 \ltrch\fcs0 -\f37\insrsid1983975\charrsid5121612 \hich\af37\dbch\af31505\loch\f37 6}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 ). +\f37\lang1033\langfe1049\langnp1033\insrsid2307793 \hich\af37\dbch\af31505\loch\f37 7}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 ). \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ca\'ee\'ef\'e8\'ff\loch\f37 \hich\f37 \'eb\'e8\'f6\'e5\'ed\'e7\'e8\'e8\loch\f37 \hich\f37 GNU LGPL \'ef\'f0\'e8\'eb\'e0\'e3\'e0\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ea\'ee\'ed\'f6\'e5\loch\f37 \hich\f37 \'fd\'f2\'ee\'e3\'ee\loch\f37 \hich\f37 \'f4\'e0\'e9\'eb\'e0. \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'c2\'c0\'c6\'cd\'c5\'c9\'d8\'c8\'c5\loch\f37 \hich\f37 \'d3\'d1\'cb\'ce\'c2\'c8\'df\loch\f37 \hich\f37 \'d0\'c0\loch\af37\dbch\af31505\hich\f37 \'d1\'cf\'d0\'ce\'d1 -\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'df\loch\f37 \hich\f37 \'cf\'d0\'ce\'c4\'d3\'ca\'d2\'c0\loch\f37 PascalABC.NET}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 \loch\af37\dbch\af31505\hich\f37 \'e8\'eb\'e8\loch\f37 -\hich\f37 \'eb\'fe\'e1\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e8\'e7\'e2\'ee\'e4\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 +\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'df\loch\f37 \hich\f37 \'cf\'d0\'ce\'c4\'d3\'ca\'d2\'c0\loch\f37 PascalABC.NET}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 \hich\f37 \'e8\'eb\'e8\loch\f37 \hich\f37 \'eb\'fe\'e1\'ee +\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e8\'e7\'e2\'ee\'e4\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \par \hich\af37\dbch\af31505\loch\f37 Copyright (C) 2005-20}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid2756858 \hich\af37\dbch\af31505\loch\f37 20}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 by Ivan Bondarev, Stanislav Mikhalkovich \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'dd\'f2\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e5\loch\f37 \hich\f37 \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'e5\loch\f37 \hich\f37 \'ff \'e2\'eb\'ff\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'f1\'e2\'ee\'e1\'ee\'e4\'ed\'fb\'ec\loch\f37 \hich\f37 ; \'e2\'fb\loch\f37 \hich\f37 \'ec\'ee\'e6\'e5\'f2\'e5\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'ff\'f2\'fc\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 /\'e8\'eb\'e8\loch\f37 \hich\f37 \'ec\'ee\'e4\'e8\'f4\'e8\'f6\'e8\'f0\'ee\'e2\'e0\'f2\'fc\loch\f37 \hich\f37 \'e5\'e3\'ee\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'ff\'f5\loch\f37 -\hich\f37 GNU LGPL \'e2\'e5\'f0\'f1\'e8\'e8\loch\f37 \hich\f37 3 \'f1\loch\f37 \hich\f37 \'f0\'e0\'e7\'fa\'ff\'f1\'ed\'e5\'ed\'e8\'ff\'ec\'e8\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'e8\'f1\'ea\'eb\'fe\'f7\'e5\loch\af37\dbch\af31505\hich\f37 \'ed +\hich\f37 GNU LGPL \'e2\loch\af37\dbch\af31505\hich\f37 \'e5\'f0\'f1\'e8\'e8\loch\f37 \hich\f37 3 \'f1\loch\f37 \hich\f37 \'f0\'e0\'e7\'fa\'ff\'f1\'ed\'e5\'ed\'e8\'ff\'ec\'e8\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'e8\'f1\'ea\'eb\'fe\'f7\'e5\'ed \'e8\'ff\'ec\'e8\loch\f37 \hich\f37 , \'e4\'e0\'ed\'ed\'fb\'ec\'e8\loch\f37 \hich\f37 \'ed\'e8\'e6\'e5. \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'cf\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 \hich\f37 PascalABC.NET \'ec\'ee\'e6\'e5\'f2\loch\f37 \hich\f37 \'ea\'ee\'ec\'ef\'ee\'ed\'ee\'e2\'e0\'f2\'fc\'f1\'ff\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'ed\'e5\'f1\'e2\'ee\'e1\'ee\'e4\'ed\'fb\'ec\'e8\loch\f37 \hich\f37 \'ec\'ee\'e4\'f3\'eb\'ff\'ec\'e8\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'e1\'e8\'e1\'eb\'e8\'ee\'f2\'e5\'ea\'e0\'ec\'e8\loch\f37 \hich\f37 \'e5\'f1\'eb\'e8\loch\f37 \hich\f37 \'fd\'f2\'ee\loch\f37 \hich\f37 \'ed\'e5\loch\f37 \hich\f37 \'e4\'e5\'f1\'f2\'e0\'e1\'e8\'eb\'e8\'e7\'e8\'f0\'f3\'e5\'f2\loch\f37 \hich\f37 \'e5\'e3\'ee\loch\f37 \hich\f37 \'f0\'e0\'e1\'ee\'f2\'f3\loch\f37 \hich\f37 . \'c4\'e0\'ed\'ed\'ee\'e5\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'e5\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ee\'f1\'ed\'ee\'e2\'ed\'ee\'ec\loch\f37 \hich\f37 \'ed\'e0\'ef\'f0\'e0\'e2\'eb\'e5\'ed\'ee\loch\f37 \hich\f37 \'ed\'e0 -\loch\f37 \hich\f37 \'e2\'ee\'e7\'ec\'ee\'e6\'ed\'ee\'f1\'f2\'fc\loch\f37 \hich\f37 \'e4\'ee\'e1\'e0\'e2\'eb\'e5\'ed\'e8\'ff\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 \hich\f37 \'f1\'f2\'ee\'f0\'ee\'ed\'ed\'e8 -\'f5\loch\f37 \hich\f37 \'ec\'ee\'e4\'f3\'eb\'e5\'e9\loch\f37 \hich\f37 , \'f1\'e2\'ff\'e7\'e0\'ed\'ed\'fb\'f5\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'ee\'e1\'f3\'f7\'e5\'ed\'e8\'e5\'ec\hich\af37\dbch\af31505\loch\f37 \hich\f37 . \'c2\loch\f37 -\hich\f37 \'f7\'e0\'f1\'f2\'ed\'ee\'f1\'f2\'e8\loch\f37 \hich\f37 , \'e2\loch\f37 \hich\f37 \'ee\'f1\'ed\'ee\'e2\'ed\'f3\'fe\loch\f37 \hich\f37 \'ef\'ee\'f1\'f2\'e0\'e2\'ea\'f3\loch\f37 \hich\f37 PascalABC.NET \'e2\'f5\'ee\'e4\'e8\'f2\loch\f37 -\hich\f37 \'fd\'eb\'e5\'ea\'f2\'f0\'ee\'ed\'ed\'fb\'e9\loch\f37 \hich\f37 \'e7\'e0\'e4\'e0\'f7\'ed\'e8\'ea\loch\f37 \hich\f37 Programming Taskbook (\'ef\'ee\loch\f37 \hich\f37 \'f1\'ee\'e3\'eb\'e0\'f1\'ee\'e2\'e0\'ed\'e8\'fe\loch\f37 \hich\f37 \'f1 -\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'ec\loch\f37 \hich\f37 \'e4\'e0\'ed\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 ), \'ea\'ee\'f2\'ee\'f0\'fb\'e9\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2 -\'f0\'e0\'ed\'e0\'ff\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'ff\'f5\loch\f37 \hich\f37 \'f1\'e2\'ee\'e5\'e9\loch\f37 \hich\f37 \'ef\'f0\'ee\'ef\'f0\'e8\'e5\'f2\'e0\'f0\'ed\'ee\'e9\loch\f37 \hich\f37 -\'eb\'e8\'f6\'e5\'ed\'e7\'e8\'e8\loch\f37 \hich\f37 (\'f1\'ec\loch\f37 \hich\f37 . \'ef\'e0\'ef\'ea\'f3\loch\f37 \\bin\\PT4) +\loch\f37 \hich\f37 \'e2\'ee\'e7\'ec\'ee\'e6\'ed\'ee\'f1\'f2\'fc\loch\f37 \hich\f37 \'e4\'ee\'e1\'e0\'e2\'eb\'e5\'ed\'e8\'ff\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 \hich\f37 \'f1\'f2\'ee\'f0\'ee\'ed\'ed +\loch\af37\dbch\af31505\hich\f37 \'e8\'f5\loch\f37 \hich\f37 \'ec\'ee\'e4\'f3\'eb\'e5\'e9\loch\f37 \hich\f37 , \'f1\'e2\'ff\'e7\'e0\'ed\'ed\'fb\'f5\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'ee\'e1\'f3\'f7\'e5\'ed\'e8\'e5\'ec\loch\f37 \hich\f37 . +\'c2\loch\f37 \hich\f37 \'f7\'e0\'f1\'f2\'ed\'ee\'f1\'f2\'e8\loch\f37 \hich\f37 , \'e2\loch\f37 \hich\f37 \'ee\'f1\'ed\'ee\'e2\'ed\'f3\'fe\loch\f37 \hich\f37 \'ef\'ee\'f1\'f2\'e0\'e2\'ea\'f3\loch\f37 \hich\f37 PascalABC.NET \'e2\'f5\'ee\'e4\'e8\'f2 +\loch\f37 \hich\f37 \'fd\'eb\'e5\'ea\'f2\'f0\'ee\'ed\'ed\'fb\'e9\loch\f37 \hich\f37 \'e7\'e0\'e4\'e0\'f7\'ed\'e8\'ea\loch\f37 \hich\f37 Programming Taskbook (\'ef\'ee\loch\f37 \hich\f37 \'f1\'ee\'e3\'eb\'e0\'f1\'ee\'e2\'e0\'ed\'e8\'fe\loch\f37 +\hich\f37 \'f1\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'ec\loch\f37 \hich\f37 \'e4\'e0\'ed\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 ), \'ea\'ee\'f2\'ee\'f0\'fb\'e9\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef +\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'e0\'ff\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'ff\'f5\loch\f37 \hich\f37 \'f1\'e2\'ee\'e5\'e9\loch\f37 \hich\f37 \'ef\'f0\'ee\'ef\'f0\'e8\'e5\'f2\'e0\'f0\'ed\'ee\'e9 +\loch\f37 \hich\f37 \'eb\'e8\'f6\'e5\'ed\'e7\'e8\'e8\loch\f37 \hich\f37 (\'f1\'ec\loch\f37 \hich\f37 . \'ef\'e0\'ef\'ea\'f3\loch\f37 \\\hich\af37\dbch\af31505\loch\f37 bin\\PT4) \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ca\'f0\'ee\'ec\'e5\loch\f37 \hich\f37 \'f2\'ee\'e3\'ee\loch\f37 \hich\f37 , \'e2\loch\f37 \hich\f37 \'ee\'ea\'ed\'e5\loch\f37 Abou\hich\af37\dbch\af31505\loch\f37 -\hich\f37 t \'e8\'ed\'f2\'e5\'e3\'f0\'e8\'f0\'ee\'e2\'e0\'ed\'ed\'ee\'e9\loch\f37 \hich\f37 \'f1\'f0\'e5\'e4\'fb\loch\f37 \hich\f37 PascalABC.NET \'e4\'ee\'eb\'e6\'ed\'fb\loch\f37 \hich\f37 \'ee\'e1\'ff\'e7\'e0\'f2\'e5\'eb\'fc\'ed\'ee\loch\f37 -\hich\f37 \'f1\'ee\'e4\'e5\'f0\'e6\'e0\'f2\'fc\'f1\'ff\loch\f37 \hich\f37 \'e8\'ec\'e5\'ed\'e0\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'e2}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 -\hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 , \'ef\'f0\'e8\'e2\'e5\'e4\'e5\'ed\'ed\'fb\'e5\loch\f37 \hich\f37 \'e2\loch\f37 -\hich\f37 \'ed\'e0\'f7\'e0\'eb\'e5\loch\f37 \hich\f37 \'e4\'e0\'ed\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'e4\'ee\'ea\'f3\'ec\'e5\'ed\'f2\'e0\loch\f37 \hich\f37 \'f1\'f0\'e0\'e7\'f3\loch\f37 \hich\f37 \'ef\'ee\'f1\'eb\'e5\loch\f37 \hich\f37 \'e7\'e0 -\'e3\'ee\'eb\'ee\'e2\'ea\'e0\loch\f37 \hich\f37 \'ab\'c2\'c0\'c6\'cd\'c5\'c9\'d8\'c8\'c5\loch\f37 \hich\f37 \'d3\'d1\'cb\'ce\'c2\'c8\'df\loch\f37 \hich\f37 \'d0\'c0\'d1\'cf\'d0\'ce\'d1\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'df\loch\f37 \hich\f37 \'cf\'d0\'ce -\'c4\'d3\'ca\'d2\'c0\loch\f37 PascalABC.NET}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \loch\af37\dbch\af31505\hich\f37 \'e8\'eb\'e8\loch\f37 \hich\f37 \'eb -\'fe\'e1\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e8\'e7\'e2\'ee\'e4\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'bb.}{\rtlch\fcs1 \af37 -\ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612\charrsid5121612 \loch\af37\dbch\af31505\hich\f37 \'c2\loch\f37 \hich\f37 \'f1\'eb\'f3\'f7\'e0\'e5\loch\f37 \hich\f37 \'e8\'ed\'f2\'e5 -\'e3\'f0\'e0\'f6\'e8\'e8\loch\f37 \hich\f37 \'ea\'ee\'ec\'ef\'e8\'eb\'ff\'f2\'ee\'f0\'e0\loch\f37 \hich\f37 PascalABC.NET \'e2\loch\f37 \hich\f37 \'e4\'f0\'f3\'e3\'f3\'fe\loch\f37 \hich\f37 \'f1\'f0\'e5\'e4\'f3\loch\f37 \hich\f37 \'ee\'ea\'ed\'ee -\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'f3\'ea\'e0\'e7\'e0\'ed\'ed\'fb\'ec\'e8\loch\f37 \hich\f37 \'e8\'ec\'e5\'ed\'e0\'ec\'e8\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'e2\loch\f37 \hich\f37 \'e4\'ee\'eb\'e6\'ed\'ee\loch\f37 \hich\f37 \'ee -\'e1\'ff\'e7\'e0\'f2\'e5\'eb\'fc\'ed\'ee\loch\f37 \hich\f37 \'ef\'f0\'e8\'f1\'f3\'f2\'f1\'f2\'e2\'ee\'e2\'e0\'f2\'fc\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'e4\'ee\'f1\'f2\'f3\'ef\'ed\'ee\'ec\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'ee\'f7 -\'e5\'e2\'e8\'e4\'ed\'ee\'ec\loch\f37 \hich\f37 \'ec\'e5\'f1\'f2\'e5}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 .\hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ca\'f0\'ee\'ec\'e5\loch\f37 \hich\f37 \'f2\'ee\'e3\'ee\loch\f37 \hich\f37 , \'e2\loch\f37 \hich\f37 \'ee\'ea\'ed\'e5\loch\f37 \hich\f37 About \'e8\'ed\'f2\'e5\'e3 +\'f0\'e8\'f0\'ee\'e2\'e0\'ed\'ed\'ee\'e9\loch\f37 \hich\f37 \'f1\'f0\'e5\'e4\'fb\loch\f37 \hich\f37 PascalABC.NET \'e4\'ee\'eb\'e6\'ed\'fb\loch\f37 \hich\f37 \'ee\'e1\'ff\'e7\'e0\'f2\'e5\'eb\'fc\'ed\'ee\loch\f37 \hich\f37 \'f1\'ee\'e4\'e5\'f0\'e6\'e0 +\'f2\'fc\'f1\'ff\loch\f37 \hich\f37 \'e8\'ec\'e5\'ed\'e0\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'e2}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 +\f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 , \'ef\'f0\'e8\'e2\'e5\'e4\'e5\'ed\'ed\'fb\'e5\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ed\'e0\'f7\'e0\'eb\'e5\loch\f37 \hich\f37 \'e4\'e0\'ed +\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'e4\'ee\'ea\'f3\'ec\'e5\'ed\'f2\'e0\loch\f37 \hich\f37 \'f1\'f0\'e0\'e7\'f3\loch\f37 \hich\f37 \'ef\'ee\'f1\'eb\'e5\loch\f37 \hich\f37 \'e7\'e0\'e3\'ee\'eb\'ee\'e2\'ea\'e0\loch\f37 \hich\f37 \'ab\'c2\'c0\'c6\'cd +\'c5\'c9\'d8\'c8\'c5\loch\f37 \hich\f37 \'d3\'d1\'cb\'ce\'c2\'c8\'df\loch\f37 \hich\f37 \'d0\'c0\'d1\'cf\'d0\'ce\'d1\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'df\loch\f37 \hich\f37 \'cf\'d0\'ce\'c4\'d3\'ca\'d2\'c0\loch\f37 PascalABC.NET}{\rtlch\fcs1 \af37 +\ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 \hich\f37 \'e8\'eb\'e8\loch\f37 \hich\f37 \'eb\'fe\'e1\'ee\'e3\'ee\loch\f37 \loch\af37\dbch\af31505\hich\f37 \'ef\'f0\'ee\'e8\'e7\'e2\'ee\'e4\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0 +\'ee\'e4\'f3\'ea\'f2\'e0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'bb.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 +\f37\insrsid5121612\charrsid5121612 \loch\af37\dbch\af31505\hich\f37 \'c2\loch\f37 \hich\f37 \'f1\'eb\'f3\'f7\'e0\'e5\loch\f37 \hich\f37 \'e8\'ed\'f2\'e5\'e3\'f0\'e0\'f6\'e8\'e8\loch\f37 \hich\f37 \'ea\'ee\'ec\'ef\'e8\'eb\'ff\'f2\'ee\'f0\'e0\loch\f37 +\hich\f37 PascalABC.NET \'e2\loch\f37 \hich\f37 \'e4\'f0\'f3\'e3\'f3\'fe\loch\f37 \hich\f37 \'f1\'f0\'e5\'e4\'f3\loch\f37 \hich\f37 \'ee\'ea\'ed\'ee\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'f3\'ea\'e0\'e7\'e0\'ed\'ed\'fb\'ec\'e8\loch\f37 +\hich\f37 \'e8\'ec\'e5\'ed\'e0\'ec\'e8\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'e2\loch\f37 \hich\f37 \'e4\'ee\'eb\'e6\'ed\'ee\loch\f37 \hich\f37 \'ee\'e1\'ff\'e7\'e0\'f2\'e5\'eb\'fc\'ed\'ee\loch\f37 \hich\f37 \'ef\'f0\'e8\'f1\'f3\'f2\'f1\'f2\'e2 +\'ee\'e2\'e0\'f2\'fc\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'e4\'ee\'f1\'f2\'f3\'ef\'ed\'ee\'ec\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'ee\'f7\'e5\'e2\'e8\'e4\'ed\'ee\'ec\loch\f37 \hich\f37 \'ec\'e5\'f1\'f2\'e5}{\rtlch\fcs1 \af37 +\ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 . }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'cd\'e0\'f8\'e0\loch\f37 \hich\f37 \'e8\'ed\'f2\'e5\'f0\'ef\'f0\'e5\'f2\'e0\'f6\'e8\'ff\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2 -\loch\af37\dbch\af31505\hich\f37 \'f0\'e0\'ed\'ff\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'f2\'ee\'eb\'fc\'ea\'ee\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 \hich\f37 PascalABC.NET - \'ec\'fb\loch\f37 \hich\f37 -\'ed\'e5\loch\f37 \hich\f37 \'e8\'ec\'e5\'e5\'ec\loch\f37 \hich\f37 \'e7\'e4\'e5\'f1\'fc\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'e2\'e8\'e4\'f3\loch\f37 \hich\f37 \'e4\'f0\'f3\'e3\'e8\'e5\loch\f37 \hich\f37 LGPL-\'ef\'f0\'ee\'e4\'f3\'ea\'f2\'fb -.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'cd\'e0\'f8\'e0\loch\f37 \hich\f37 \'e8\'ed\'f2\'e5\'f0\'ef\'f0\'e5\'f2\'e0\'f6\'e8\'ff\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'ff\'e5\'f2 +\'f1\'ff\loch\f37 \hich\f37 \'f2\'ee\'eb\'fc\'ea\'ee\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 Pa\hich\af37\dbch\af31505\loch\f37 \hich\f37 scalABC.NET - \'ec\'fb\loch\f37 \hich\f37 \'ed\'e5\loch\f37 +\hich\f37 \'e8\'ec\'e5\'e5\'ec\loch\f37 \hich\f37 \'e7\'e4\'e5\'f1\'fc\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'e2\'e8\'e4\'f3\loch\f37 \hich\f37 \'e4\'f0\'f3\'e3\'e8\'e5\loch\f37 \hich\f37 LGPL-\'ef\'f0\'ee\'e4\'f3\'ea\'f2\'fb.}{\rtlch\fcs1 +\af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \par }{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1031\langfe1049\langnp1031\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 ******************************************************************************}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 GNU LESSER GENERAL PUBLIC LICENSE}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 \tab \tab Version 3, 29 June 2007}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \tab \tab Version 3, 29 Jun\hich\af37\dbch\af31505\loch\f37 e 2007}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Copyright (C) 2007 Free Software Foundation, Inc. <}{\field{\*\fldinst {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 HYPERLINK "http://fsf.org/"}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid9338748 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3800000068007400740070003a002f002f006600730066002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab000300650000}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0 -\f37\ul\cf2\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 http://fsf.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3800000068007400740070003a002f002f006600730066002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006500000c}}}{\fldrslt {\rtlch\fcs1 \af37 +\ltrch\fcs0 \f37\ul\cf2\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 http://fsf.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 > -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Everyone is permitted to copy a\hich\af37\dbch\af31505\loch\f37 nd distribute verbatim copies}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Everyone is permitted to copy and distribute verbatim copies}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of this license document, but changing it is not allowed.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -124,7 +124,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 As used herein, "this License" refers to version 3 of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License, and the "GNU GPL" refers to version 3 of the GNU}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License, and the "GNU\hich\af37\dbch\af31505\loch\f37 GPL" refers to version 3 of the GNU}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par @@ -133,7 +133,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 other than an Application or a Combined Work as defined below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 An "Application" is any w\hich\af37\dbch\af31505\loch\f37 ork that makes use of an interface provided}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 An "Application" is any work that makes use of an interface p\hich\af37\dbch\af31505\loch\f37 rovided}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 by the Library, but which is not otherwise based on the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -142,7 +142,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of using an interface provided by the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 A "Combined Work" is a wor\hich\af37\dbch\af31505\loch\f37 k produced by combining or linking an}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 A "Combined Work" is a work produced by combining or linking a\hich\af37\dbch\af31505\loch\f37 n}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Application with the Library. The particular version of the Library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -152,16 +152,16 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The "Minimal Corresponding Source" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Corres\hich\af37\dbch\af31505\loch\f37 ponding Source for the Combined Work, excluding any source code}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Corresponding Source for the Combined Work\hich\af37\dbch\af31505\loch\f37 , excluding any source code}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 for portions of the Combined Work that, considered in isolation, are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 based on the Application, and not on the Linked Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The "Corresponding Application Code" for a Combined Work means \hich\af37\dbch\af31505\loch\f37 the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The "Corresponding Application Code" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 object code and/or source code for the Application, including any data}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 object code and/or source code f\hich\af37\dbch\af31505\loch\f37 or the Application, including any data}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 and utility programs needed for reproducing the Combined Work from the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -188,7 +188,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 version:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) under this License, prov\hich\af37\dbch\af31505\loch\f37 ided that you make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) under this License, provided that you make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 ensure that, in the event an Application does not supply the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -197,7 +197,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 whatever part of its purpose remains meaningful, or}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with n\hich\af37\dbch\af31505\loch\f37 one of the additional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with none of the additional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 this License applicable to that copy.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par @@ -206,13 +206,13 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The object code form of an Application may incorporate material from}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a header file that is part of the Libr\hich\af37\dbch\af31505\loch\f37 ary. You may convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a header\hich\af37\dbch\af31505\loch\f37 file that is part of the Library. You may convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 code under terms of your choice, provided that, if the incorporated}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 material is not limited to numerical parameters, data structure}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 layouts and accessors, or small macros, inline functions and templates}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 layouts and accessors, or small macros, inline functions and \hich\af37\dbch\af31505\loch\f37 templates}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 (ten or fewer lines in length), you do both of the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -223,38 +223,37 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 covered by this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) Accompany the object code\hich\af37\dbch\af31505\loch\f37 with a copy of the GNU GPL and this license}{\rtlch\fcs1 \af37\afs24 -\ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) Accompany the object code with a copy of the GNU GPL and this license}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 document.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 4. Combined Works.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 You may convey a Combined Work under terms of your choice that,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 You may convey a Combined Work under terms of your \hich\af37\dbch\af31505\loch\f37 choice that,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 taken together, effectively do not restrict modification of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 portions of the Library contained in the Comb\hich\af37\dbch\af31505\loch\f37 ined Work and reverse}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 portions of the Library contained in the Combined Work and reverse}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 engineering for debugging such modifications, if you also do each of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) Give prominent notice with each copy of the Combined Work that}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) Give prominent notice\hich\af37\dbch\af31505\loch\f37 with each copy of the Combined Work that}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the Library is used in it and that the Library and its use are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 covered by \hich\af37\dbch\af31505\loch\f37 this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 -\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 covered by this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) Accompany the Combined Work with a copy of the GNU GPL and this license}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 document.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 c) For a Combined Work that displays copyright notices during}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 c) For a Combined Work t\hich\af37\dbch\af31505\loch\f37 hat displays copyright notices during}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 execution, include the copyright notice for the Library among}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 these notices, a\hich\af37\dbch\af31505\loch\f37 s well as a reference directing the user to the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 these notices, as well as a reference directing the user to the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 copies of the GNU GPL and this license document.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -267,7 +266,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 suitable for, and under terms that permit, the user to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 recombine or relink the Application with a modif\hich\af37\dbch\af31505\loch\f37 ied version of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 recombine or rel\hich\af37\dbch\af31505\loch\f37 ink the Application with a modified version of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the Linked Version to produce a modified Combined Work, in the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -275,37 +274,37 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Corresponding Source.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 1) Use a suitable shared library mechanism for linking with the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 1) Use a suitable shared library mec\hich\af37\dbch\af31505\loch\f37 hanism for linking with the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a copy of the Library already present on the user's computer}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 system, and (b) will operate properly with a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 system\hich\af37\dbch\af31505\loch\f37 , and (b) will operate properly with a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible w\hich\af37\dbch\af31505\loch\f37 ith the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible with the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 e) Provide Installation Information, but only if you would otherwise}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 be required to provide such information under section 6 of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 be required to provide such information u\hich\af37\dbch\af31505\loch\f37 nder section 6 of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 GNU GPL, and only to the extent that such information is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 necessary to install an\hich\af37\dbch\af31505\loch\f37 d execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 necessary to install and execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Combined Work produced by recombining or relinking the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Application with a modified version of the Linked Version. (If}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Application with a modified version of the Linked V\hich\af37\dbch\af31505\loch\f37 ersion. (If}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 you use option 4d0, the Installation Information must accompany}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding \hich\af37\dbch\af31505\loch\f37 Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Code. If you use option 4d1, you must provide the Installation}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Information in the manner specified by section 6 of the GNU GPL}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Information in the manner specified by sec\hich\af37\dbch\af31505\loch\f37 tion 6 of the GNU GPL}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 for conveying Corresponding Source.)}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par @@ -317,11 +316,11 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 facilities that are not Applications and are not covered by this}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combi\hich\af37\dbch\af31505\loch\f37 ned library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combined library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 choice, if you do both of the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) Accompany the combined library with a copy of the same work based}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) Accompany \hich\af37\dbch\af31505\loch\f37 the combined library with a copy of the same work based}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 on the Library, uncombined with any other library facilities,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -330,7 +329,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) Give prominent notice with the combined library that part of it}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 is a work based on the Library, and explaining where to find the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 is a work based \hich\af37\dbch\af31505\loch\f37 on the Library, and explaining where to find the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 accompanying uncombined form of the same work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -338,18 +337,18 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 6. Revised Versions of the GNU Lesser General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License from time to time. Such new}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser Ge\hich\af37\dbch\af31505\loch\f37 neral Public License from time to time. Such new}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 versions will be similar in spirit to the present version, but may}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 differ in detail to address new problems or concer\hich\af37\dbch\af31505\loch\f37 ns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 differ in detail to address new problems or concerns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Each version is given a distinguishing version number. If the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Library as you received it specifies that a certain numbered version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Library as you receiv\hich\af37\dbch\af31505\loch\f37 ed it specifies that a certain numbered version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License "or any later version"}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -359,18 +358,18 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 published by the Free Software Foundation. If the Library as you}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Less\hich\af37\dbch\af31505\loch\f37 er}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License, you may choose any version of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License, you may choose any version of the G\hich\af37\dbch\af31505\loch\f37 NU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License ever published by the Free Software Foundation.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 If the Library as you received it specifies that a proxy can decide}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 whether future versions of the GNU Lesser \hich\af37\dbch\af31505\loch\f37 General Public License shall}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 whether future versions of the GNU Lesser General Public License shall}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 apply, that proxy's public statement of acceptance of any version is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 apply, that proxy's public statem\hich\af37\dbch\af31505\loch\f37 ent of acceptance of any version is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 permanent authorization for you to choose that version for the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557 @@ -519,8 +518,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000010dc -e68297dbd501feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e041 +e0ab0e7ad601feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/ReleaseGenerators/License.txt b/ReleaseGenerators/License.txt index 8502f0494..917643ba8 100644 --- a/ReleaseGenerators/License.txt +++ b/ReleaseGenerators/License.txt @@ -1,4 +1,4 @@ -Данный документ описывает условия распространения продукта PascalABC.NET (версия 3.6). +Данный документ описывает условия распространения продукта PascalABC.NET (версия 3.7). Копия лицензии GNU LGPL прилагается в конце этого файла. ВАЖНЕЙШИЕ УСЛОВИЯ РАСПРОСТРАНЕНИЯ ПРОДУКТА PascalABC.NET или любого производного продукта diff --git a/ReleaseGenerators/License_en.rtf b/ReleaseGenerators/License_en.rtf index 405b960a7..b837dc730 100644 --- a/ReleaseGenerators/License_en.rtf +++ b/ReleaseGenerators/License_en.rtf @@ -37,16 +37,17 @@ \fs22\lang1049\langfe1049\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1049\langfe1049\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 \snext11 \ssemihidden \sunhideused -Normal Table;}}{\*\rsidtbl \rsid8737603\rsid12992900\rsid14828819}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info -{\operator \'d1\'f2\'e0\'ed\'e8\'f1\'eb\'e0\'e2 \'cc\'e8\'f5\'e0\'eb\'ea\'ee\'e2\'e8\'f7}{\creatim\yr2020\mo2\dy4\hr23\min53}{\revtim\yr2020\mo5\dy4\hr23\min7}{\version3}{\edmins1}{\nofpages4}{\nofwords1364}{\nofchars7779}{\nofcharsws9125}{\vern127}} +Normal Table;}}{\*\rsidtbl \rsid2127750\rsid8737603\rsid12992900\rsid14828819}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info +{\operator \'d1\'f2\'e0\'ed\'e8\'f1\'eb\'e0\'e2 \'cc\'e8\'f5\'e0\'eb\'ea\'ee\'e2\'e8\'f7}{\creatim\yr2020\mo2\dy4\hr23\min53}{\revtim\yr2020\mo8\dy24\hr15\min4}{\version4}{\edmins1}{\nofpages4}{\nofwords1364}{\nofchars7779}{\nofcharsws9125}{\vern7}} {\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1701\margr850\margt1134\margb1134\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701 -\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale110\rsidroot8737603 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 +\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot8737603 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 \pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 \pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1049\langfe1049\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Next, we describe the terms under which PascalABC.NET }{\rtlch\fcs1 \af37 \ltrch\fcs0 -\f37\lang1033\langfe1049\langnp1033\insrsid14828819\charrsid14828819 \hich\af37\dbch\af31505\loch\f37 (version 3.6) }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 is distributed. +\f37\lang1033\langfe1049\langnp1033\insrsid14828819\charrsid14828819 \hich\af37\dbch\af31505\loch\f37 (version 3.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid2127750 \hich\af37\dbch\af31505\loch\f37 7}{\rtlch\fcs1 \af37 +\ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid14828819\charrsid14828819 \hich\af37\dbch\af31505\loch\f37 ) }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 is distributed. \par \hich\af37\dbch\af31505\loch\f37 A copy of the GNU GPL is appended to this file. \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid8737603 @@ -55,32 +56,32 @@ Normal Table;}}{\*\rsidtbl \rsid8737603\rsid12992900\rsid14828819}{\mmathPr\mmat \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Copyright (C) 2005-202}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 by Ivan Bondarev, Stanislav Mikhalkovich}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 This program is free software; you may redistribute and/or modify it under the terms of the GNU LGPL version 3 with the clar -\hich\af37\dbch\af31505\loch\f37 ifications and exceptions described below. }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 This program is free software; you may redistribute and/or modify it under \hich\af37\dbch\af31505\loch\f37 +the terms of the GNU LGPL version 3 with the clarifications and exceptions described below. }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 PascalABC.NET }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 can be linked with non-free modules and libraries}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 . }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 -\hich\af37\dbch\af31505\loch\f37 This condition is mainly concerned with possibility of adding foreign modules and libraries to PascalABC.NET, aimed at education.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 -\hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 In particular}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 -\hich\af37\dbch\af31505\loch\f37 , P\hich\af37\dbch\af31505\loch\f37 ascalABC.NET }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 +\hich\af37\dbch\af31505\loch\f37 This condition is mainly concerned with possibility of adding foreign modules and libraries to Pa\hich\af37\dbch\af31505\loch\f37 scalABC.NET, aimed at education.}{\rtlch\fcs1 \af37 \ltrch\fcs0 +\f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 In particular}{\rtlch\fcs1 \af37 \ltrch\fcs0 +\f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 , PascalABC.NET }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 includes as a part PROGRAMMING TASKBOOK FOR PASCALABC.NET}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 (in agreement with the author of this product), }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 which is distributed }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 under the terms of }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 proprietary license}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 (}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 see }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \\\hich\af37\dbch\af31505\loch\f37 bin\\PT4)}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par \hich\af37\dbch\af31505\loch\f37 In addition, in About window }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1049\langnp1031\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of}{\rtlch\fcs1 \af37 \ltrch\fcs0 -\f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 PascalABC.NET IDE we demand t\hich\af37\dbch\af31505\loch\f37 \hich\f37 -o display names of the authors of PascalABC.NET from the beginning of this document (right after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603 -\hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603\charrsid8737603 \hich\af37\dbch\af31505\loch\f37 (or any derivative product)}{\rtlch\fcs1 \af37 \ltrch\fcs0 -\f37\lang1033\langfe1049\langnp1033\insrsid12992900 \loch\af37\dbch\af31505\hich\f37 \'94\loch\f37 ).}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 -\f37\lang1033\langfe1049\langnp1033\insrsid8737603\charrsid8737603 \hich\af37\dbch\af31505\loch\f37 If the PascalABC.NET compiler is integrated into another IDE, the window with \hich\af37\dbch\af31505\loch\f37 -names of the authors of PascalABC.NET must be present in an accessible and obvious place.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 +\par \hich\af37\dbch\af31505\loch\f37 In addition,\hich\af37\dbch\af31505\loch\f37 in About window }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1049\langnp1031\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of}{\rtlch\fcs1 \af37 \ltrch\fcs0 +\f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\f37 PascalABC.NET IDE we demand to display names of the authors of PascalABC.NET from the beginning of this document (right after the title \'93\loch\f37 +IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603\charrsid8737603 +\hich\af37\dbch\af31505\loch\f37 (or any derivative product)}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \loch\af37\dbch\af31505\hich\f37 \'94\loch\f37 ).}{\rtlch\fcs1 \af37 \ltrch\fcs0 +\f37\lang1033\langfe1049\langnp1033\insrsid8737603 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603\charrsid8737603 \hich\af37\dbch\af31505\loch\f37 If the PascalABC.NET compiler +\hich\af37\dbch\af31505\loch\f37 is integrated into another IDE, the window with names of the authors of PascalABC.NET must be present in an accessible and obvious place.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 + \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1049\langnp1031\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Our interpretation applies only to PascalABC.NET - we don't speak for other people's LGPL works.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 *****************************************************\hich\af37\dbch\af31505\loch\f37 *************************}{\rtlch\fcs1 \af37 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 ****\hich\af37\dbch\af31505\loch\f37 **************************************************************************}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 GNU LESSER GENERAL PUBLIC LICENSE}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 @@ -90,12 +91,12 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Copyright (C) 2007 Free Software Foundation, Inc. <}{\field{\*\fldinst {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 HYPERLINK "http://fsf.org/"}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid8737603 {\*\datafield -00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3800000068007400740070003a002f002f006600730066002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab000300}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0 +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3800000068007400740070003a002f002f006600730066002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\ul\cf2\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 http://fsf.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 > \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Everyone is permitted to copy and distribute verbatim copies}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of this license document, but changing it is not allowed.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of thi\hich\af37\dbch\af31505\loch\f37 s license document, but changing it is not allowed.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par @@ -106,7 +107,8 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, supplemented by the additional permissions listed below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 0. Additional Definitions.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 0. Additional Definitions.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 As used herein, "this License" refers to version 3 of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -116,48 +118,48 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 "The Library" refers to a covered work governed by this License,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 other than an Applic\hich\af37\dbch\af31505\loch\f37 ation or a Combined Work as defined below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 other than an Application or a Combined Work as defined below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 An "Application" is any work that makes use of an interface provided}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 by the Library, but which is not otherwise based on the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 by the Library, but which is not otherwise based on th\hich\af37\dbch\af31505\loch\f37 e Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Defining a subclass of a class defined by the Library is deemed a mode}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of us\hich\af37\dbch\af31505\loch\f37 ing an interface provided by the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 -\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of using an interface provided by the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 + \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 A "Combined Work" is a work produced by combining or linking an}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application with the Library. The particular version of the Library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application with the Library. The particular version of the\hich\af37\dbch\af31505\loch\f37 Library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 with which the Combined Work was made is also called the "Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Version".}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 The "Minimal Corresponding Source" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The "Minimal Corresponding Source" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Corresponding Source for the Combined Work, excluding any source code}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 for portions of the Combined Work that, considered in isolation, are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 for portions of the Combined Work \hich\af37\dbch\af31505\loch\f37 that, considered in isolation, are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 based on the Application, and not on the Linked Vers\hich\af37\dbch\af31505\loch\f37 ion.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 based on the Application, and not on the Linked Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The "Corresponding Application Code" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 object code and/or source code for the Application, including any data}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 and utility programs needed for reproducing the Combined Work from the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 and utility programs ne\hich\af37\dbch\af31505\loch\f37 eded for reproducing the Combined Work from the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application, but excluding the System L\hich\af37\dbch\af31505\loch\f37 ibraries of the Combined Work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application, but excluding the System Libraries of the Combined Work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 1. Exception to Section 3 of the GNU GPL.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 You may convey a covered work under sections 3 and 4 of this License}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 You may convey a covered work under sectio\hich\af37\dbch\af31505\loch\f37 ns 3 and 4 of this License}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 without being bound by section 3 of the GNU GPL.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -174,27 +176,27 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 version:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a) under this License, provided that you make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a) under this License, provided that you \hich\af37\dbch\af31505\loch\f37 make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 ensure that, in the event an Application\hich\af37\dbch\af31505\loch\f37 does not supply the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 ensure that, in the event an Application does not supply the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 function or data, the facility still operates, and performs}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 whatever part of its purpose remains meaningful, or}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with none of the additional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with none of the add\hich\af37\dbch\af31505\loch\f37 itional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 this License applicable to that copy.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 3. O\hich\af37\dbch\af31505\loch\f37 bject Code Incorporating Material from Library Header Files.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 3. Object Code Incorporating Material from Library Header Files.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The object code form of an Application may incorporate material from}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a header file that is part of the Library. You may convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a header file that is part of the Library. You may \hich\af37\dbch\af31505\loch\f37 convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 code under terms of your choice, provided that, if t\hich\af37\dbch\af31505\loch\f37 he incorporated}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 code under terms of your choice, provided that, if the incorporated}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 material is not limited to numerical parameters, data structure}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -263,13 +265,13 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 1) Use a suitable shared library mechanism for linking with the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a copy of the Library already present on the user's computer}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 system, and (b) will operate properly w\hich\af37\dbch\af31505\loch\f37 ith a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 system, and (b) will operate properly with a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible with the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible w\hich\af37\dbch\af31505\loch\f37 ith the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par @@ -277,17 +279,17 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 be required to provide such information under section 6 of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 GNU GPL,\hich\af37\dbch\af31505\loch\f37 and only to the extent that such information is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 GNU GPL, and only to the extent that such information is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 necessary to install and execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 necessary to install an\hich\af37\dbch\af31505\loch\f37 d execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Combined Work produced by recombining or relinking the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application with a modified version of the Linked Version. (If}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 you use option 4d0\hich\af37\dbch\af31505\loch\f37 , the Installation Information must accompany}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 you use option 4d0, the Installation Information must accompany}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding \hich\af37\dbch\af31505\loch\f37 Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Code. If you use option 4d1, you must provide the Installation}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -301,9 +303,9 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library side by side in a single library together with other library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 facilities that are not Applications and are not covered\hich\af37\dbch\af31505\loch\f37 by this}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 facilities that are not Applications and are not covered by this}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combined library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combi\hich\af37\dbch\af31505\loch\f37 ned library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 choice, if you do both of the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par @@ -311,8 +313,8 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 on the Library, uncombined with any other library facilities,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 c\hich\af37\dbch\af31505\loch\f37 onveyed under the terms of this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 -\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 conveyed under the terms of this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 + \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) Give prominent notice with the combined library that part of it}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -321,16 +323,16 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 accompanying uncombined form of the same work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 6. Revised Versions of \hich\af37\dbch\af31505\loch\f37 the GNU Lesser General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 6. Revised Versions of the GNU Lesser General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License from time to time. Such new}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 versions will be similar in spirit to the present version, but may}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 differ in\hich\af37\dbch\af31505\loch\f37 detail to address new problems or concerns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 differ in detail to address new problems or concer\hich\af37\dbch\af31505\loch\f37 ns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Each version is given a distinguishing version number. If the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 @@ -339,13 +341,13 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License "or any later version"}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 applies to it, you have the option of following the terms and}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 appl\hich\af37\dbch\af31505\loch\f37 ies to it, you have the option of following the terms and}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 conditions either of that published version or of any later version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 published by the Free Software Foundation. If the Library as you}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Less\hich\af37\dbch\af31505\loch\f37 er}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 General Public License, you may choose any version of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 @@ -354,11 +356,11 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio \par \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 If the Library as you received it specifies that a proxy can decide}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 whether future versions of the GNU Lesser General Public License shall}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 whether future versions of the GNU Lesser Gen\hich\af37\dbch\af31505\loch\f37 eral Public License shall}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 apply, that proxy's public statement of acceptance of any version is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 -\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 permanent authorization for you to choose that\hich\af37\dbch\af31505\loch\f37 version for the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 permanent authorization for you to choose that version for the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900 \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a @@ -505,8 +507,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000104f -16b44f22d601feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000f098 +37b10e7ad601feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/ReleaseGenerators/License_en.txt b/ReleaseGenerators/License_en.txt index bee695058..4fab2477f 100644 --- a/ReleaseGenerators/License_en.txt +++ b/ReleaseGenerators/License_en.txt @@ -1,4 +1,4 @@ -Next, we describe the terms under which PascalABC.NET (version 3.6) is distributed. +Next, we describe the terms under which PascalABC.NET (version 3.7) is distributed. A copy of the GNU GPL is appended to this file. IMPORTANT PascalABC.NET LICENSE TERMS (or any derivative product) diff --git a/ReleaseGenerators/PascalABCNET_end.nsh b/ReleaseGenerators/PascalABCNET_end.nsh index c7b73e3a9..ee2672030 100644 --- a/ReleaseGenerators/PascalABCNET_end.nsh +++ b/ReleaseGenerators/PascalABCNET_end.nsh @@ -8,6 +8,10 @@ ExecWait '"$INSTDIR\ExecHide.exe" "$INSTDIR\gacutil.exe" /u "HelixToolkit"' ExecWait '"$INSTDIR\ExecHide.exe" "$INSTDIR\gacutil.exe" /i "$INSTDIR\Lib\HelixToolkit.dll"' + + ExecWait '"$INSTDIR\ExecHide.exe" "$INSTDIR\gacutil.exe" /u "nunit.framework"' + ExecWait '"$INSTDIR\ExecHide.exe" "$INSTDIR\gacutil.exe" /i "$INSTDIR\Lib\nunit.framework.dll"' + ;\MikhailoMMX Delete "$INSTDIR\gacutil.exe" Delete "$INSTDIR\gacutil.exe.config" diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 39d1eb777..0345a8406 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.6.3.2660' +!define VERSION '3.7.0.2670' diff --git a/ReleaseGenerators/RebuildStandartModules.pas b/ReleaseGenerators/RebuildStandartModules.pas index 63b583fba..bbe1212e1 100644 --- a/ReleaseGenerators/RebuildStandartModules.pas +++ b/ReleaseGenerators/RebuildStandartModules.pas @@ -15,7 +15,7 @@ ABCDatabases,BlockFileOfT,Controls, OpenCLABC, OpenCL, OpenCLABCBase, OpenGLABC, OpenGL, OpenGLABCBase, - BBCMicroBit, School, SF, TwoPanelsWindow + BBCMicroBit, School, SF, TwoPanelsWindow, NUnitABC ; begin diff --git a/ReleaseGenerators/sect_Core.nsh b/ReleaseGenerators/sect_Core.nsh index 1410958be..477a6b56d 100644 --- a/ReleaseGenerators/sect_Core.nsh +++ b/ReleaseGenerators/sect_Core.nsh @@ -138,11 +138,12 @@ File ..\bin\Lib\SF.pcu File ..\bin\Lib\Turtle.pcu File ..\bin\Lib\TwoPanelsWindow.pcu + File ..\bin\Lib\NUnitABC.pcu File ..\bin\Lib\PABCRtl.dll File ..\bin\Lib\HelixToolkit.Wpf.dll File ..\bin\Lib\HelixToolkit.dll - + File ..\bin\Lib\nunit.framework.dll ${AddFile} "__RedirectIOMode.pcu" ${AddFile} "__RunMode.pcu" @@ -210,11 +211,14 @@ ${AddFile} "SF.pcu" ${AddFile} "Turtle.pcu" ${AddFile} "TwoPanelsWindow.pcu" + ${AddFile} "NUnitABC.pcu" ${AddFile} "PABCRtl.dll" ${AddFile} "HelixToolkit.Wpf.dll" ${AddFile} "HelixToolkit.dll" + ${AddFile} "nunit.framework.dll" + ${AddFile} "PABCRtl.pdb" SetOutPath "$INSTDIR\Doc" @@ -228,6 +232,8 @@ Call NGEN Push "Lib\HelixToolkit.dll" Call NGEN + Push "Lib\nunit.framework.dll" + Call NGEN SetOutPath "$INSTDIR\LibSource" File ..\bin\Lib\__RedirectIOMode.pas @@ -294,6 +300,7 @@ File ..\bin\Lib\SF.pas File ..\bin\Lib\Turtle.pas File ..\bin\Lib\TwoPanelsWindow.pas + File ..\bin\Lib\NUnitABC.pas File ..\bin\Lib\__RedirectIOMode.vb File ..\bin\Lib\VBSystem.vb @@ -362,6 +369,7 @@ ${AddFile} "SF.pas" ${AddFile} "Turtle.pas" ${AddFile} "TwoPanelsWindow.pas" + ${AddFile} "NUnitABC.pas" ${AddFile} "__RedirectIOMode.vb" diff --git a/ReleaseGenerators/sect_VisualPABCNET.nsh b/ReleaseGenerators/sect_VisualPABCNET.nsh index adce630e3..5a3f0dae3 100644 --- a/ReleaseGenerators/sect_VisualPABCNET.nsh +++ b/ReleaseGenerators/sect_VisualPABCNET.nsh @@ -20,6 +20,7 @@ File "..\bin\nuget.exe" File "..\bin\FormatterOptions.ini" File "..\bin\ProgrammRunner.exe" + File "..\bin\RunUnitTests.exe" File "..\bin\pabcworknet.ini" ;dobavljaem fajly v uninst.log @@ -42,6 +43,7 @@ ${AddFile} "nuget.exe" ${AddFile} "FormatterOptions.ini" ${AddFile} "ProgrammRunner.exe" + ${AddFile} "RunUnitTests.exe" SetOutPath "$INSTDIR\Temp" SetOutPath "$INSTDIR" diff --git a/SemanticTree/SemanticTree.csproj b/SemanticTree/SemanticTree.csproj index 60210060a..a61943aa6 100644 --- a/SemanticTree/SemanticTree.csproj +++ b/SemanticTree/SemanticTree.csproj @@ -69,6 +69,7 @@ full prompt AllRules.ruleset + true ..\bin\ diff --git a/SyntaxTreeConverters/SyntaxTreeConverters.csproj b/SyntaxTreeConverters/SyntaxTreeConverters.csproj index 19cde9c03..b70a85b2b 100644 --- a/SyntaxTreeConverters/SyntaxTreeConverters.csproj +++ b/SyntaxTreeConverters/SyntaxTreeConverters.csproj @@ -20,6 +20,7 @@ DEBUG;TRACE prompt 4 + true pdbonly diff --git a/SyntaxVisitors/SyntaxVisitors.csproj b/SyntaxVisitors/SyntaxVisitors.csproj index 506b9f1fc..bb34f7442 100644 --- a/SyntaxVisitors/SyntaxVisitors.csproj +++ b/SyntaxVisitors/SyntaxVisitors.csproj @@ -21,6 +21,7 @@ DEBUG;TRACE prompt 4 + true pdbonly diff --git a/TestSuite/CompilationSamples/School.pas b/TestSuite/CompilationSamples/School.pas index ffd54fbed..469d4fed6 100644 --- a/TestSuite/CompilationSamples/School.pas +++ b/TestSuite/CompilationSamples/School.pas @@ -53,7 +53,7 @@ function Primes(n: integer): List; /// Первые n простых чисел function FirstPrimes(n: integer): List; -/// Возвращает массив, содержащий цифры числа +/// Возвращает список, содержащий цифры числа function Digits(n: int64): List; /// возвращает список делителей натурального числа @@ -80,6 +80,25 @@ function SeqRandomReal(n: integer; a, b: real; t: integer): sequence of real; /// на интервале [a; b) с t знаками в дробной части function MatrRandomReal(m: integer; n: integer; a, b: real; t: integer): array [,] of real; +/// Возвращает логическое значение операции импликации a -> b +function Imp(a, b: boolean) : boolean; + +/// Выводит на монитор таблицу истинности для двух переменных +procedure TrueTable(f: function(a, b: boolean): boolean; + vars: string := 'x1.x2'); + +/// Выводит на монитор таблицу истинности для трех переменных +procedure TrueTable(f: function(a, b, c: boolean): boolean; + vars: string := 'x1.x2.x3'); + +/// Выводит на монитор таблицу истинности для четырех переменных +procedure TrueTable(f: function(a, b, c, d: boolean): boolean; + vars: string := 'x1.x2.x3.x4'); + +/// Выводит на монитор таблицу истинности для пяти переменных +procedure TrueTable(f: function(a, b, c, d, e: boolean): boolean; + vars: string := 'x1.x2.x3.x4.x5'); + implementation type @@ -428,7 +447,7 @@ end; {$region Digits} -/// Возвращает массив, содержащий цифры числа +/// Возвращает список, содержащий цифры числа function Digits(n: int64): List; begin var St := new Stack; @@ -445,11 +464,11 @@ begin end end; -/// Возвращает массив, содержащий цифры числа +/// Возвращает список, содержащий цифры числа function Digits(Self: integer): List; extensionmethod := Digits(Self); -/// возвращает массив, содержащий цифры числа +/// возвращает список, содержащий цифры числа function Digits(Self: int64): List; extensionmethod := Digits(Self); @@ -560,4 +579,82 @@ end; {$endregion} +{$region BooleanLogic} + +function BoolToStr(Self: boolean): string; extensionmethod := + if Self then '1' else '0'; + +/// Возвращает логическое значение операции импликации a -> b +function Imp(a, b: boolean) : boolean := not a or b; + +/// Выводит на монитор таблицу истинности для двух переменных +procedure TrueTable(f: function(a, b: boolean): boolean; + vars: string); +begin + var names := vars.ToWords('.'); + var lengths := names.Select(Имя -> Имя.Length + 1).ToArray; + Write(' '); + names.Print; + Writeln(' F'); + for var a := False to True do + for var b := False to True do + Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1], + f(a, b).BoolToStr:2) +end; + +/// Выводит на монитор таблицу истинности для трех переменных +procedure TrueTable(f: function(a, b, c: boolean): boolean; + vars: string); +begin + var names := vars.ToWords('.'); + var lengths := names.Select(Имя -> Имя.Length + 1).ToArray; + Write(' '); + names.Print; + Writeln(' F'); + for var a := False to True do + for var b := False to True do + for var c := False to True do + Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1], + c.BoolToStr:lengths[2], f(a, b, c).BoolToStr:2) +end; + +/// Выводит на монитор таблицу истинности для четырех переменных +procedure TrueTable(f: function(a, b, c, d: boolean): boolean; + vars: string); +begin + var names := vars.ToWords('.'); + var lengths := names.Select(Имя -> Имя.Length + 1).ToArray; + Write(' '); + names.Print; + Writeln(' F'); + for var a := False to True do + for var b := False to True do + for var c := False to True do + for var d := False to True do + Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1], + c.BoolToStr:lengths[2], d.BoolToStr:lengths[3], + f(a, b, c, d).BoolToStr:2) +end; + +/// Выводит на монитор таблицу истинности для пяти переменных +procedure TrueTable(f: function(a, b, c, d, e: boolean): boolean; + vars: string); +begin + var names := vars.ToWords('.'); + var lengths := names.Select(Имя -> Имя.Length + 1).ToArray; + Write(' '); + names.Print; + Writeln(' F'); + for var a := False to True do + for var b := False to True do + for var c := False to True do + for var d := False to True do + for var e := False to True do + Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1], + c.BoolToStr:lengths[2], d.BoolToStr:lengths[3], + e.BoolToStr:lengths[4], f(a, b, c, d, e).BoolToStr:2) +end; + +{$endregion} + end. \ No newline at end of file diff --git a/TreeConverter/TreeConverter.csproj b/TreeConverter/TreeConverter.csproj index f47a9cddf..783886235 100644 --- a/TreeConverter/TreeConverter.csproj +++ b/TreeConverter/TreeConverter.csproj @@ -60,6 +60,7 @@ AllRules.ruleset + true ..\bin\ diff --git a/VisualPascalABCNET/Form1.Designer.cs b/VisualPascalABCNET/Form1.Designer.cs index 27570776f..d07b76485 100644 --- a/VisualPascalABCNET/Form1.Designer.cs +++ b/VisualPascalABCNET/Form1.Designer.cs @@ -177,6 +177,7 @@ namespace VisualPascalABC this.tsFindAllReferences = new System.Windows.Forms.ToolStripMenuItem(); this.miGenerateRealization = new System.Windows.Forms.ToolStripMenuItem(); this.mFORMATToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mUNITTESTSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.miPlugins = new System.Windows.Forms.ToolStripMenuItem(); this.mrHelp = new System.Windows.Forms.ToolStripMenuItem(); this.tsHelp = new System.Windows.Forms.ToolStripMenuItem(); @@ -1390,7 +1391,7 @@ namespace VisualPascalABC // miShowGrid // this.miShowGrid.Name = "miShowGrid"; - this.miShowGrid.Size = new System.Drawing.Size(165, 22); + this.miShowGrid.Size = new System.Drawing.Size(180, 22); this.miShowGrid.Text = "M_SHOW_GRID"; this.miShowGrid.Visible = false; this.miShowGrid.Click += new System.EventHandler(this.miShowGrid_Click); @@ -1398,7 +1399,7 @@ namespace VisualPascalABC // miSnapToGrid // this.miSnapToGrid.Name = "miSnapToGrid"; - this.miSnapToGrid.Size = new System.Drawing.Size(165, 22); + this.miSnapToGrid.Size = new System.Drawing.Size(180, 22); this.miSnapToGrid.Text = "M_SNAP_TO_GRID"; this.miSnapToGrid.Visible = false; this.miSnapToGrid.Click += new System.EventHandler(this.miSnapToGrid_Click); @@ -1414,7 +1415,7 @@ namespace VisualPascalABC this.miAlignCenters, this.miAlignToGrid}); this.miAlign.Name = "miAlign"; - this.miAlign.Size = new System.Drawing.Size(165, 22); + this.miAlign.Size = new System.Drawing.Size(180, 22); this.miAlign.Text = "M_ALIGN"; // // miAlignLefts @@ -1472,7 +1473,7 @@ namespace VisualPascalABC this.miCenterHorizontally, this.miCenterVertically}); this.miCenter.Name = "miCenter"; - this.miCenter.Size = new System.Drawing.Size(165, 22); + this.miCenter.Size = new System.Drawing.Size(180, 22); this.miCenter.Text = "M_CENTER"; // // miCenterHorizontally @@ -1497,7 +1498,7 @@ namespace VisualPascalABC this.miSizeToControlHeight, this.miSizeToGrid}); this.miSizeTo.Name = "miSizeTo"; - this.miSizeTo.Size = new System.Drawing.Size(165, 22); + this.miSizeTo.Size = new System.Drawing.Size(180, 22); this.miSizeTo.Text = "M_SIZE_TO"; // // miSizeToControl @@ -1534,7 +1535,7 @@ namespace VisualPascalABC this.miBringToFront, this.miSendToBack}); this.miZOrder.Name = "miZOrder"; - this.miZOrder.Size = new System.Drawing.Size(165, 22); + this.miZOrder.Size = new System.Drawing.Size(180, 22); this.miZOrder.Text = "M_Z_ORDER"; // // miBringToFront @@ -1554,7 +1555,7 @@ namespace VisualPascalABC // miTabOrder // this.miTabOrder.Name = "miTabOrder"; - this.miTabOrder.Size = new System.Drawing.Size(165, 22); + this.miTabOrder.Size = new System.Drawing.Size(180, 22); this.miTabOrder.Text = "M_TAB_ORDER"; this.miTabOrder.Click += new System.EventHandler(this.miTabOrder_Click); // @@ -1568,7 +1569,8 @@ namespace VisualPascalABC this.tsGotoRealization, this.tsFindAllReferences, this.miGenerateRealization, - this.mFORMATToolStripMenuItem}); + this.mFORMATToolStripMenuItem, + this.mUNITTESTSToolStripMenuItem}); this.mrService.Name = "mrService"; this.mrService.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) | System.Windows.Forms.Keys.D))); @@ -1624,7 +1626,9 @@ namespace VisualPascalABC // this.miGenerateRealization.Image = ((System.Drawing.Image)(resources.GetObject("miGenerateRealization.Image"))); this.miGenerateRealization.Name = "miGenerateRealization"; - this.miGenerateRealization.ShortcutKeyDisplayString = "Shift+Ctrl+C"; + this.miGenerateRealization.ShortcutKeyDisplayString = ""; + this.miGenerateRealization.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.C))); this.miGenerateRealization.Size = new System.Drawing.Size(282, 22); this.miGenerateRealization.Text = "M_GENERATE_REALIZATION"; // @@ -1638,6 +1642,15 @@ namespace VisualPascalABC this.mFORMATToolStripMenuItem.Text = "M_FORMAT"; this.mFORMATToolStripMenuItem.Click += new System.EventHandler(this.mFORMATToolStripMenuItem_Click); // + // mUNITTESTSToolStripMenuItem + // + this.mUNITTESTSToolStripMenuItem.Name = "mUNITTESTSToolStripMenuItem"; + this.mUNITTESTSToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.T))); + this.mUNITTESTSToolStripMenuItem.Size = new System.Drawing.Size(282, 22); + this.mUNITTESTSToolStripMenuItem.Text = "M_UNIT_TESTS"; + this.mUNITTESTSToolStripMenuItem.Click += new System.EventHandler(this.mUNITTESTSToolStripMenuItem_Click); + // // miPlugins // this.miPlugins.Name = "miPlugins"; @@ -2601,6 +2614,7 @@ namespace VisualPascalABC private System.Windows.Forms.ToolStripMenuItem tsDisassembly; private System.Windows.Forms.ToolStripButton tsAutoInsertCode; private System.Windows.Forms.ToolStripMenuItem mAUTOINSERTToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem mUNITTESTSToolStripMenuItem; } } diff --git a/VisualPascalABCNET/Form1.cs b/VisualPascalABCNET/Form1.cs index 11d29d1ce..fd55cba34 100644 --- a/VisualPascalABCNET/Form1.cs +++ b/VisualPascalABCNET/Form1.cs @@ -1541,6 +1541,35 @@ namespace VisualPascalABC mAUTOINSERTToolStripMenuItem.Checked = !mAUTOINSERTToolStripMenuItem.Checked; } + private void mUNITTESTSToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + WorkbenchServiceFactory.Workbench.ErrorsListWindow.ClearErrorList(); + var OutputFileName = WorkbenchServiceFactory.BuildService.Compile(CurrentSourceFileName, false, "__RunMode", true, true); + if (OutputFileName != null) + { + var process = new System.Diagnostics.Process(); + process.StartInfo.FileName = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RunUnitTests.exe"); + process.StartInfo.Arguments = "\""+OutputFileName+"\""; + process.Start(); + } + /*WorkbenchServiceFactory.RunService.Run(@"D:\PABC_Git\bin\RunUnitTests.exe", + WorkbenchServiceFactory.Workbench.UserOptions.RedirectConsoleIO, "", false, + WorkbenchServiceFactory.Workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileDirectory, + WorkbenchServiceFactory.Workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileName, false, false);*/ + } + catch (System.Exception ee) + { + ee = ee; + // SSM 22/04/19 - исправляю вылет оболочки при отсутствии exe файла + // this.RunnerManager_Exited(OutputFileName); // - это всё равно не срабатывает. Кнопки оказываются в заблокированном состоянии + //var OutputFileName = @"D:\PABC_Git\bin\RunUnitTests.exe"; + //WorkbenchServiceFactory.OperationsService.AddTextToOutputWindowSync(OutputFileName, "Произошла непредвиденная ошибка" + ee.StackTrace); + //throw; + } + } + private void tsHelp_Click(object sender, EventArgs e) { __showhelpinqueue(); diff --git a/VisualPascalABCNET/Form1.resx b/VisualPascalABCNET/Form1.resx index 864e59647..42168b08e 100644 --- a/VisualPascalABCNET/Form1.resx +++ b/VisualPascalABCNET/Form1.resx @@ -681,7 +681,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABK - FQAAAk1TRnQBSQFMAgEBEAEAAfwBAAH8AQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + FQAAAk1TRnQBSQFMAgEBEAEAARwBAQEcAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAAVADAAEBAQABCAYAARQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA diff --git a/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index 6e678eea0..35b2e8a0e 100644 --- a/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -36,6 +36,7 @@ True DEBUG,TRACE;PUBLICINTERPROCESS ..\..\..\..\..\..\..\bin\ + true false diff --git a/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/Core/Project/ICSharpCode.Core.csproj b/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/Core/Project/ICSharpCode.Core.csproj index 17262735a..b53881d16 100644 --- a/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/Core/Project/ICSharpCode.Core.csproj +++ b/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/Core/Project/ICSharpCode.Core.csproj @@ -35,6 +35,7 @@ True ..\..\..\..\bin\ 4 + true False diff --git a/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/ICSharpCode.Core.Presentation/ICSharpCode.Core.Presentation.csproj b/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/ICSharpCode.Core.Presentation/ICSharpCode.Core.Presentation.csproj index b95129f46..4a96750a3 100644 --- a/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/ICSharpCode.Core.Presentation/ICSharpCode.Core.Presentation.csproj +++ b/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/ICSharpCode.Core.Presentation/ICSharpCode.Core.Presentation.csproj @@ -45,6 +45,9 @@ AnyCPU 4096 + + true + diff --git a/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/ICSharpCode.Core.WinForms/ICSharpCode.Core.WinForms.csproj b/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/ICSharpCode.Core.WinForms/ICSharpCode.Core.WinForms.csproj index 3ba480cd1..91f76338c 100644 --- a/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/ICSharpCode.Core.WinForms/ICSharpCode.Core.WinForms.csproj +++ b/VisualPascalABCNET/FormsDesignerBinding/Dependecies/src/Main/ICSharpCode.Core.WinForms/ICSharpCode.Core.WinForms.csproj @@ -42,6 +42,9 @@ AnyCPU 4096 + + true + diff --git a/VisualPascalABCNET/Workbench/RunService.cs b/VisualPascalABCNET/Workbench/RunService.cs index e7b4350c5..40b1db5f4 100644 --- a/VisualPascalABCNET/Workbench/RunService.cs +++ b/VisualPascalABCNET/Workbench/RunService.cs @@ -18,7 +18,7 @@ namespace VisualPascalABC string RedirectIOModeName = "[REDIRECTIOMODE]"; string RunModeName = "[RUNMODE]"; private bool TerminateAllPrograms = false; - internal RunManager RunnerManager; + public RunManager RunnerManager; private IWorkbench Workbench; private IWorkbenchDesignerService DesignerService; private IWorkbenchBuildService BuildService; @@ -65,6 +65,14 @@ namespace VisualPascalABC return Run(DocumentService.CurrentCodeFileDocument, forDebugging, startWithGoto, need_first_brpt); } + public void Run(string fileName, bool redirectIO, string ModeName, bool RunWithPause, string WorkingDirectory, string CommandLineArguments, bool attachDebugger, bool fictive_attach) + { + RunnerManager.Run(fileName, + Workbench.UserOptions.RedirectConsoleIO, RedirectIOModeName, RunWithPause, + Workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileDirectory, + CommandLineArguments, attachDebugger, fictive_attach); + } + public bool Run(ICodeFileDocument tabPage, bool forDebugging, bool startWithGoto, bool needFirstBreakpoint) { lock (o) diff --git a/VisualPlugins/CompilerController/CompilerController.csproj b/VisualPlugins/CompilerController/CompilerController.csproj index 662b939fd..15f0adbda 100644 --- a/VisualPlugins/CompilerController/CompilerController.csproj +++ b/VisualPlugins/CompilerController/CompilerController.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/VisualPlugins/HelpBuilder/HelpBuilder.csproj b/VisualPlugins/HelpBuilder/HelpBuilder.csproj index 3da190b77..875a7d7a3 100644 --- a/VisualPlugins/HelpBuilder/HelpBuilder.csproj +++ b/VisualPlugins/HelpBuilder/HelpBuilder.csproj @@ -59,6 +59,7 @@ AllRules.ruleset + true AllRules.ruleset diff --git a/VisualPlugins/InternalErrorReport/InternalErrorReport.csproj b/VisualPlugins/InternalErrorReport/InternalErrorReport.csproj index ab645d50a..c119ac1f4 100644 --- a/VisualPlugins/InternalErrorReport/InternalErrorReport.csproj +++ b/VisualPlugins/InternalErrorReport/InternalErrorReport.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/VisualPlugins/LanguageConverter/LanguageConverter.csproj b/VisualPlugins/LanguageConverter/LanguageConverter.csproj index 6eb83f660..9d057afce 100644 --- a/VisualPlugins/LanguageConverter/LanguageConverter.csproj +++ b/VisualPlugins/LanguageConverter/LanguageConverter.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/VisualPlugins/PT4Provider/PT4Provider.csproj b/VisualPlugins/PT4Provider/PT4Provider.csproj index dfa7b1a6d..e608b0019 100644 --- a/VisualPlugins/PT4Provider/PT4Provider.csproj +++ b/VisualPlugins/PT4Provider/PT4Provider.csproj @@ -44,6 +44,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/VisualPlugins/SemanticTreeVisualisator/SemanticTreeVisualisator.csproj b/VisualPlugins/SemanticTreeVisualisator/SemanticTreeVisualisator.csproj index 28e02dba3..69e4553ec 100644 --- a/VisualPlugins/SemanticTreeVisualisator/SemanticTreeVisualisator.csproj +++ b/VisualPlugins/SemanticTreeVisualisator/SemanticTreeVisualisator.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/VisualPlugins/SyntaxTreeVisualisator/SyntaxTreeVisualisator.csproj b/VisualPlugins/SyntaxTreeVisualisator/SyntaxTreeVisualisator.csproj index 76f7f1b6d..247f3522a 100644 --- a/VisualPlugins/SyntaxTreeVisualisator/SyntaxTreeVisualisator.csproj +++ b/VisualPlugins/SyntaxTreeVisualisator/SyntaxTreeVisualisator.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/VisualPlugins/TestPlugin/TestPlugin.csproj b/VisualPlugins/TestPlugin/TestPlugin.csproj index 1cb8afe10..e98814370 100644 --- a/VisualPlugins/TestPlugin/TestPlugin.csproj +++ b/VisualPlugins/TestPlugin/TestPlugin.csproj @@ -42,6 +42,7 @@ prompt 4 AllRules.ruleset + true pdbonly diff --git a/Yield/YieldHelpers/YieldHelpers.csproj b/Yield/YieldHelpers/YieldHelpers.csproj index 724bf5a87..9516d94c8 100644 --- a/Yield/YieldHelpers/YieldHelpers.csproj +++ b/Yield/YieldHelpers/YieldHelpers.csproj @@ -21,6 +21,7 @@ DEBUG;TRACE prompt 4 + true pdbonly diff --git a/_RegisterHelix.bat b/_RegisterHelix.bat deleted file mode 100644 index 97748f876..000000000 --- a/_RegisterHelix.bat +++ /dev/null @@ -1,4 +0,0 @@ -ReleaseGenerators\gacutil.exe /u HelixToolkit.Wpf -ReleaseGenerators\gacutil.exe /i bin\Lib\HelixToolkit.Wpf.dll -ReleaseGenerators\gacutil.exe /u HelixToolkit -ReleaseGenerators\gacutil.exe /i bin\Lib\HelixToolkit.dll \ No newline at end of file diff --git a/_RegisterHelixNUnit.bat b/_RegisterHelixNUnit.bat new file mode 100644 index 000000000..eb29a0b51 --- /dev/null +++ b/_RegisterHelixNUnit.bat @@ -0,0 +1,6 @@ +ReleaseGenerators\gacutil.exe /u HelixToolkit.Wpf +ReleaseGenerators\gacutil.exe /i bin\Lib\HelixToolkit.Wpf.dll +ReleaseGenerators\gacutil.exe /u HelixToolkit +ReleaseGenerators\gacutil.exe /i bin\Lib\HelixToolkit.dll +ReleaseGenerators\gacutil.exe /u nunit.framework +ReleaseGenerators\gacutil.exe /i bin\Lib\nunit.framework.dll \ No newline at end of file diff --git a/bin/Lib/NUnitABC.pas b/bin/Lib/NUnitABC.pas new file mode 100644 index 000000000..f34b3d497 --- /dev/null +++ b/bin/Lib/NUnitABC.pas @@ -0,0 +1,19 @@ +unit NUnitABC; + +{$reference nunit.framework.dll} +uses NUnit.Framework; + +procedure InitPABCSystem; +begin + __InitPABCSystem; +end; + +type + SetUpAttribute = NUnit.Framework.SetUpAttribute; + TestAttribute = NUnit.Framework.TestAttribute; + TestCaseAttribute = NUnit.Framework.TestCaseAttribute; + Assert = NUnit.Framework.Assert; + +begin + +end. \ No newline at end of file diff --git a/bin/Lib/School.pas b/bin/Lib/School.pas index ffd54fbed..469d4fed6 100644 --- a/bin/Lib/School.pas +++ b/bin/Lib/School.pas @@ -53,7 +53,7 @@ function Primes(n: integer): List; /// Первые n простых чисел function FirstPrimes(n: integer): List; -/// Возвращает массив, содержащий цифры числа +/// Возвращает список, содержащий цифры числа function Digits(n: int64): List; /// возвращает список делителей натурального числа @@ -80,6 +80,25 @@ function SeqRandomReal(n: integer; a, b: real; t: integer): sequence of real; /// на интервале [a; b) с t знаками в дробной части function MatrRandomReal(m: integer; n: integer; a, b: real; t: integer): array [,] of real; +/// Возвращает логическое значение операции импликации a -> b +function Imp(a, b: boolean) : boolean; + +/// Выводит на монитор таблицу истинности для двух переменных +procedure TrueTable(f: function(a, b: boolean): boolean; + vars: string := 'x1.x2'); + +/// Выводит на монитор таблицу истинности для трех переменных +procedure TrueTable(f: function(a, b, c: boolean): boolean; + vars: string := 'x1.x2.x3'); + +/// Выводит на монитор таблицу истинности для четырех переменных +procedure TrueTable(f: function(a, b, c, d: boolean): boolean; + vars: string := 'x1.x2.x3.x4'); + +/// Выводит на монитор таблицу истинности для пяти переменных +procedure TrueTable(f: function(a, b, c, d, e: boolean): boolean; + vars: string := 'x1.x2.x3.x4.x5'); + implementation type @@ -428,7 +447,7 @@ end; {$region Digits} -/// Возвращает массив, содержащий цифры числа +/// Возвращает список, содержащий цифры числа function Digits(n: int64): List; begin var St := new Stack; @@ -445,11 +464,11 @@ begin end end; -/// Возвращает массив, содержащий цифры числа +/// Возвращает список, содержащий цифры числа function Digits(Self: integer): List; extensionmethod := Digits(Self); -/// возвращает массив, содержащий цифры числа +/// возвращает список, содержащий цифры числа function Digits(Self: int64): List; extensionmethod := Digits(Self); @@ -560,4 +579,82 @@ end; {$endregion} +{$region BooleanLogic} + +function BoolToStr(Self: boolean): string; extensionmethod := + if Self then '1' else '0'; + +/// Возвращает логическое значение операции импликации a -> b +function Imp(a, b: boolean) : boolean := not a or b; + +/// Выводит на монитор таблицу истинности для двух переменных +procedure TrueTable(f: function(a, b: boolean): boolean; + vars: string); +begin + var names := vars.ToWords('.'); + var lengths := names.Select(Имя -> Имя.Length + 1).ToArray; + Write(' '); + names.Print; + Writeln(' F'); + for var a := False to True do + for var b := False to True do + Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1], + f(a, b).BoolToStr:2) +end; + +/// Выводит на монитор таблицу истинности для трех переменных +procedure TrueTable(f: function(a, b, c: boolean): boolean; + vars: string); +begin + var names := vars.ToWords('.'); + var lengths := names.Select(Имя -> Имя.Length + 1).ToArray; + Write(' '); + names.Print; + Writeln(' F'); + for var a := False to True do + for var b := False to True do + for var c := False to True do + Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1], + c.BoolToStr:lengths[2], f(a, b, c).BoolToStr:2) +end; + +/// Выводит на монитор таблицу истинности для четырех переменных +procedure TrueTable(f: function(a, b, c, d: boolean): boolean; + vars: string); +begin + var names := vars.ToWords('.'); + var lengths := names.Select(Имя -> Имя.Length + 1).ToArray; + Write(' '); + names.Print; + Writeln(' F'); + for var a := False to True do + for var b := False to True do + for var c := False to True do + for var d := False to True do + Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1], + c.BoolToStr:lengths[2], d.BoolToStr:lengths[3], + f(a, b, c, d).BoolToStr:2) +end; + +/// Выводит на монитор таблицу истинности для пяти переменных +procedure TrueTable(f: function(a, b, c, d, e: boolean): boolean; + vars: string); +begin + var names := vars.ToWords('.'); + var lengths := names.Select(Имя -> Имя.Length + 1).ToArray; + Write(' '); + names.Print; + Writeln(' F'); + for var a := False to True do + for var b := False to True do + for var c := False to True do + for var d := False to True do + for var e := False to True do + Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1], + c.BoolToStr:lengths[2], d.BoolToStr:lengths[3], + e.BoolToStr:lengths[4], f(a, b, c, d, e).BoolToStr:2) +end; + +{$endregion} + end. \ No newline at end of file diff --git a/bin/Lib/nunit.framework.dll b/bin/Lib/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..8df9f8b3a9353895415924b4ab37b7e2a9cd0138 GIT binary patch literal 394240 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�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 {TF#0mxO!O5i|4qe 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 Ty`Fcj|DPFLKLY3f3I_fUwg2&5 literal 0 HcmV?d00001 diff --git a/bin/Lng/Eng/VisualPascalABCNET.dat b/bin/Lng/Eng/VisualPascalABCNET.dat index 8e9bbe08b..6974fdfbf 100644 --- a/bin/Lng/Eng/VisualPascalABCNET.dat +++ b/bin/Lng/Eng/VisualPascalABCNET.dat @@ -126,6 +126,8 @@ M_GOTO_REALIZATION=Go To Definition M_FIND_ALL_REFERENCES=Find References M_RENAME=Rename M_FORMAT=Format Code +M_UNIT_TESTS=Run unit tests + M_SAMPLES=Samples M_COLLAPSE_REGIONS=Collapse regions diff --git a/bin/Lng/Rus/VisualPascalABCNET.dat b/bin/Lng/Rus/VisualPascalABCNET.dat index fd92d2189..e0d1bdbe0 100644 --- a/bin/Lng/Rus/VisualPascalABCNET.dat +++ b/bin/Lng/Rus/VisualPascalABCNET.dat @@ -126,6 +126,8 @@ M_GOTO_REALIZATION=Перейти к реализации M_FIND_ALL_REFERENCES=Найти все ссылки M_RENAME=Переименовать M_FORMAT=Форматировать код +M_UNIT_TESTS=Запустить модульные тесты + M_SAMPLES=Примеры M_COLLAPSE_REGIONS=Свернуть все регионы diff --git a/bin/RunUnitTests.exe b/bin/RunUnitTests.exe new file mode 100644 index 0000000000000000000000000000000000000000..edb25f28da14502b1e72c755b23a4c44f48d8c5d GIT binary patch literal 38912 zcmeIb33Oc5kvCp%>Fr6~*6Ws9UL>oHjcIISya6p^8!xhqz`F#t!5Pt(+IC|}Pjt78 zg|U%Xl8~_zl0ZU8NC<%$vXPKL1`?8itPo%VSqRCHe2_5tNSMilBqx((IOh9R-TQj6 zY?#bH-#Py|=M!|jTXpN!ty@*M?$S^4hD&ZDi->G|UVokFK|J|qrNB1^W2la`eKAJ& zN1mGTpt1g`89jUR#nf=Y+f&F6ruwo&LtZJhE0-#a45jizsg6zEsX?zlH$NJ6W@*uz z*AlHaOuF^{HNAdsFOX@}8FfTAgJLS`#?RrI!siiuSi2M+sAIkP$A8ibKy(|6R^C9= zApcjM8s$d#`Qv>=-KuzE_y|$`iEG}Nnj#8UafE@NUxm*vSra<>MHavDlTBV;)iuJDL^mpg?+k+4B+?#x$ZCdNh~la zga&BqnrT314*h?lsopVcH?csK5wGPk_v6$5r<4(^Wu2?bZ>+ybN#Cx?LkKO~OdfLh z(R2t?#hyd3vrTF61R&o`!wZg?o&g`4X|Owo;7i*~v1g8+0tX!egFPp)AVeE|x#mIP zImk6h;q)ThlI5ER84B^3-QJ8QrtoPx=Z@PmppsTg^l|7YQ=m`!+fbzaY-uK1i@0NU z@|e-i^UL&Ra4b`%(@4O)RJ*OnuIMTDR@o=HOqXn-fg&xQ`jESc2Ot0nOXRGcuUW2GHMJ`)S-- z`&HC@#(`s5>kLmP8N@S=NYwgIrFX%VaF|>84$-iqEbM}2dZ(hIF4UG%noWX$=1`j> zSZ@X#lx)|;XbthJufP6!NRO$#34DcTAUgd$h%3VI&Q+p75e{?e!yzw<=j^}GW=gGg z*qJhHa*-&?DOyK`2Hg~m=e^?db(7}oWg*v^J=vbcFv4C8+Bum4Fe!sXBWVoUVPCxh z1{p=dcI}8Bhc^qud`5FEW&0!}y1&cBXw6ESc)44#b2QohAjG-0>JZ*ZEI5-siJ*t$ zbZosBm{P(C)_5g&BCiD7CVIt>w3B-!Sr=?O17pLmsi{u)mYEDJ*fv+wo6B^N>CI&Z z+ZG(Nm-75f2HVPLRAT)jfF$F}_a2o5Z6HGq=JfFtQ3Km@uRKQrleA|K@ zJ%3@OC{rn${}vsJtHof7_R|Wj94X%}(`q8+^JOxRqWv#aU##$#HnJ{AJ^AF5_2^CJ z(M`UwiU=RyEY<~W&Lv`-?LEiG@OO^A{7E0ebLrK1A``nZs~l6!CCqgd$$qw}O+jnWrktzZh>>*->U5(fyq2H&AZDHwl$o~$ zYne$L{Z;y>8=?AED0!kf*z2TqSZf^~+=<#@@jGc9=9>dkp0FMAm2=Ta>ZX?KPT~VB z5YENygP`oyc;BGB=e3~52^Q|<2x~>T9eyCId20qMDkkTHwe;lH42MwR>maKsDt6uJC{X56_zHc+ zX)iiL9M!B_+bN(p^h2og&f)RtIymYL<)txR7Q}mVxK?6|wV#Mv#M2u*q>*>?S2zoI=)e=m-jrijV6~H>C*9y8hYCrj&C%j+(?&>Yc#!g z`tePsmYe9(aZRT7PCdTKv~m+&I0+rQ@13_wos)#%itQCc0GBB-FgU zE^{F^0CQ*>*49I?b_~9ikaCoxym@d;UC28Fk7%X?91#zW!?s*vl=rpXnZPY?wom%2QR(*k@K#ED3MC$MDuMw`qwz)P{rGA&I?lyF)xuz27hc zN{aMp$axX9urY6SWL1(iiJg#GFonYK4Dzks>zf{o8LTU=#3<^M2|Fa~P5VwL5R&Cf zLQbm2rG5TO{lTkCWvHuPs*+Zm@ZKBA9s+s)@-9aadBjE9o0m&LR@ef6;kh1N1<+ zo#5;sdw(TsPWcCX0oug;9GB^hXlkUJ;4V&_G$vjoMP z+qA0xg9tr2|5ej)wIei(PJzBirO2~PGlhFc^L9SB+U*>8SOfuOqVRYtvFPb>*~Gyu zv8cZr8bA%^1b2+&Ug-^@Oa7D!3hXm>!ISw2=gpk1UUY>hqpJECt z`(4cq)8|9Dc{TG(G5g=}7p~eS_zO#s_7~4RH^8&W2SGM9dp@R%7 zw&KPi5%C7L;wI?}#a7HO#s7}2u=ARWKNwJpV;<8|K+xCCR^?ARi40h6?r`kxZONBTRo61ZRB_;#yJdOsB;Pk;Kh{< z^UhO`GirE|D>W~RG7oYK@QQdpCsue^(nLXgHdqfi;s?EE+|Bm&J_(3(gm*7oe&|eY zYnLoJvY~wkviXyw?E|~T5J_q3F^5;>mv%LG6{s2IG0sV*g>MxE$ zbFk1E)Zd=?`*v)?cqcd?((!dZKV*Hiyf2`6eOL}TI0!U=4Yy~gccNxQ4G=h=Hs}JWv_z753wyI>O01LH2dB1N*C@JC(ggSVFKozxW5YU zd0(%O$>dRZ#VBq8H-9(SM*j&9V9Ce+d_B7-3f822hvxX-SbZBLQ!XJBK{q&M$6DrL z_prv7;Zu(fZhGiKe3s+06`u}#cHpxIAIt^WYGm>#;6maZ=n{|X)Z=PAo<=hxy#WgF z$pkMb>;ZAQler9!$xdbm9#fsnRzZM!g5J z2|ctIftx8d=hVyE8ZK)~UFK~DJ(_fqiBQCYeHv0D;ABkDy+@C-@-@&bnK2|AT074==&^4kA?j`*;k9($7O4$#=i%+uIc5 z^4%21CUa&&JI;+}`iIP@oAZ((%}o#52lW@hN|cNX0ix#LK};R)UpelOS{c zR4j4(WGvogJZiREh&VtTw)tOCzW(mh%c^eBPnckBYC}Kj?99<1*BpiGp{0{qjoS1s zu(yMU3P(URFRzOmg`0Q~eW*~^Q}QC3s>ZFSs_ie=s&!qRA5%Q0^q0icSfJ$4$=~(g z1^F|$PREu0!ulqVWuhN$hnYpmbdL2|hKi()!sZ=yL4B74@d(D-gggB(%SVk0B3#@! znHPB0Vzes4Vum|QCxe{y$zSlvdfD)|43oelJZAIu+nfyNG=<(KT|*~B77!T^ zIjcMeSxpH&eEChLX!14A%Ex%)B3oJQUPPkWd zO8Rm}ezF|MY%M0lVpzrEKGcn|Y!yLV(n1GNGuupyq@RGboU&wH=H;(*D=qJWi+PTG z01PMeO$#cTE7`<@!S$E$zQ&x*s~CpBpyT;0Xmb!**Uw!_R+;K~Cze%V7%t0FF%%_U zab~e?^L3$SwcX-1ovYD|R^oFZJ{e?S{gp-G+i-D;2PaErqt)nL0kN|!Co>OBDsVD0 zP%N&53!MzFkVVWr6gk-zF&9xpiFYbIkFfx#JHvyR2yd1b8>?BK<7oRH1XaC(X&z)2 zuK=CYW#y%6Z3{_1>=W~^*blymLHyg7@Kp}y;b|BT>`7Q>^&FDd#4ycDU~qoI^R7M| zja(%m6r97~Ye0XBPbNpjPC)LnW~04jA`P+0_#NfBj!b3KGI3Fo-p|5Rj7Uw!2_Uj&T#+t_OrreOOmxo>HUCzi?xtcQsnvjSY?w zjkKpw)2voq*vxqv$){@bqvu4GV2K$+HlC;RIG*vxwt(iE61Z-2UC5L#_*H&x;vP&y zw|58~$a}8-RAXz%M&SwM_;Mq)=9XXKta@29SzneT?~}4~n(9RYJE2m^FO_m-v#Lai z{tM#E?eoz{@<_rtqWWWtJ8ER|pJeP-Uq8!f(WT`sKw%I{-_kAENYt*AZu``qQytxay16X(JMs?w_YoI$Ccfcw?W34_Mk0{p zlb~xaV+DBMBaCVz0uZpw__>vbSl9?@al^X?vgP+BLL;o6li{RO*ojKe0mB0+lj%LUKl~ z4^P{%miHU*#Dov8h!^66d_3+Af!jUzxnz#>dhMVR3tC=|9UA% zV^gYLeQ+{2N~3ewE%46_ZUzde49EvH*Y?};n4s`Be%uX};Yc@7X(6xiNQ;2q0*M*^ zWfuO?`Y4vm<<$#iClYB)C6H1;n#cqucz z>$tlgL1ib?QR!|=O^bG(+2-9$tSju2C`@0Ec50=Wd!Ofrg}&m*Oi+AU*Y<)!cOK^Zau=m%a&{78o}!Eq6HGKBlkYZ^p9m=`^sHC zjigYu?ABNbX``x2cUr>%1txOnUtMB5IvGRMLUf2)pT%5}m*J!42-Eb1p&B(GveDS>tW}<0oSunldjHUZTEIKQ3vQvj0H}Eua%fulw zhy0F7r0t-3S6W_jiL_m+Fn#$cgNo>zQ471d=im(wGuWBkjC`qXNZWb7H@l&>{$sYE z7J2eS+U6-?Cl=sh3xJ!Zf51FdZFvFYh>jF4M~tanBu@z_>wBn1-?!*4^zR9+fs>R| zDoInPOr*dGRk$w;t1PPK0MY^rNdGg2nTTlbz5~N8lvt&|MJa(}xj6j@liyh;*SUC; z2y%UIU4-Wihm#^V!DRswD)NFP#2N8FwpG3X-6{n~hZA+`cT5Z#@H{vD0 zjTY{y*lH3Qx%E#2>fl+;>imiM>f0KoUN%`>875+7^j%;`OmbuT+A7hIOt@}?>#El+ zmq`!JZp>}COLvLW+zcIzZxZakStxN$e37f1$SNKyc88vP1{b0cmY)lok5F#0oWk)`Y_PAY_ET|es+WM3g z6X0l$l-pM39uG8BJ%_N?Qic<3HMfLm$e*HOQ0`paCPkXJM>B_D%}|@3VCvT;)c&HL zpe`-KxK)VOHP(lYk2;Q>P~me3P8E5L$)l4HmyO=77%3mNWU3&SJK6qD(Jy)0c z40l{5kQc?J&0t7|p59&#?y99yE~OjQnjTg3_hCR^M51pQo_yRvP;k z^<_1G2Z5Uv*_)>Sm$1rt|31(bgE#eaL_zuk&|?gm+Qr+rgazF$LQ-%HJ0QF8b&R#{ zux#_5Mlnv6ZC=-m!L#SgPE*vpplcj0B8&>!I%VJ-YC@ZufJ z{!w8EXK-u@_bsKfP-;v+3gYbaoh)fN2%LWTej052!F^O3$7XzYrk?d7u~^uV!%bL_ zkiK-Xyt}|D`_L+zeATx}jBbTYbn4FuNrq3u3{?wO&60cKod6_I;g1+v`fhYrcnzh> zTTOVOsRXKeO;DKBhJ$1Hcz)hQCe1rtTU}f5IY#*&{&dZ{&@<`Bp}UMHT)tO1j42_n z*l|=fr~e+EdG`R|tHi2=%=5Q7{c+aM#&=`hCs4x0o}a<7+o1Hnu;InA&0{OX@_dKS z_D4`?8x@wIbtRtpdsnCUDF8kJe;Q8?S@=u6hsjAiDYBAsnW63~cwaB^DKV=2`{p>0 zfaUSE3~v7;0$~`GUu3A{IK&AFCMo;$bD|ti8b|V`>3tr>BQqh*dywm7#G%6V{#S-e z@j{^!$7{BN?=*|M^t-{0LVASSdy@Xz*RlY zr3nNA*YbYEdz1@KhArnh9%i1Ch`0e>!mz8P!jl*#e%B*ddA|y~C{&OeI*cr3W9RWT zwDGc}35 zg$bn{hf6f2jgFFj?3od<(&M zMul%-4c{VnQL?aK_!fb0ZiR1AjcSYC#Z{_l?=5kcBnwBR@seiqYAhLc;Zs0mcfu>7 z{DBGQPIpO7aGd3yl`MQ#nw^DaNDn7zc9v>3MfvP(_v~chX=!#gR9%E-Q_?@-NI=jV zce-a!F8o>5s%9#VVQk);JOl4y2ZJC+<_kK-C!k#MNuCvlp8~9JK8m?8jSs5HLO6nb z!HD-y;GP|7413=}f#+}W6A;KbR-&BK|5o&+r;pt7&4N7D zZ~AF8!iAqwP{$&&u)=klh#N^3Eq{yZ4Op~?nQT&9TWpNjZb7)l_jK5Y6PL}I^({Q@sE zljSeM;AP^r=N0An%)rFE%3(#Pg6aCyfL&zkU;665aa^b=X zHl?|ct6)>76mFCAr@u6yc__$e>&03 z!$c|U7N5szG_$)@$Peu)GRJG!3=cb?UDQnj=c&ITHFMoXT^*>q8u-oFAMYHTdwJ;9dA21n39&UhK+3cMRIPMbB?tVlwK+4tYMU|wf+|H{X+S$^%<1Ej&htHw^-WurTk+l|4Mj%EBs`${`EG? zObDDQ@GODL1#S@7ZS&}QrMypIN#Ll!YXsgP@QA?o3jBb;JM1rG2miE4__0u4v{~m@ zr2IR9fdG#v8esa=0P8bH;F17qc%GCm6u4P9-y-yW;ok>(j79=ufgl|bp7#p<4k_Ow z@JmAZ8p;lRJFw13(su**0{#nNkY1JA*93-wtV5H)(}JwY!eAyCq^=-a^`c-Au&uIDI$BHh&KEIQ>M*zYN}s@~cudLR_8{ni7iBB7x_GHlf@nBZFEGi_X{?IZV~Kb^abcLlRgBQCOu0p(xb*K`iRv1M#eCU z?iMU9?H1$QWZ+%JW58VK{It}4L8P3E^-a}%0d*bpvedl@nE_zG)O9aP-LIrBYD5jL zdqvkp4Q}^uNI8+ngMi7%mjGu({t@uZ$m4*kBj3X}ia@-5CM z0JF}g0YB<+Uq2A|LtXwc=s$EA{=j)f$_#&3$DIFB_dUFTnXJbf$Mms!rhHo9KM4G~ zz-I(LFYwm_|5IQf%KWatHi3(yr$ElK=xo4Ffg7W*7#ELyF!nuI=HA%LW|AHd_@&st zqWpx=Ux@t%<=@194`@#M55P+r)>%pVn}+p(EGv3HE!9{Z_E=@8!DSWGiw%IMq*Q;KInWRoLdpkE^hqk)PIJFY))N^3xgE z8Tpl7eTW$QjeO6_m5lv?Vv13)*JLg8>rC}Rh~^9W8s;2A|0Jr!&xp(ejGRKb?WgBa4j+R;gRvmJTd*e;CicVu`xI4otJLijtkYoYPNhF;jIBGB9-PUXod)+lm3mH97~6U( z)#Kp7bvq+3;a&E5W$ahTSsi8UH+UcB$ujl_yh-|U8G8+R(mvgnVj3w*m9elfgO-)C zm~jeiFJq0yOyb){)%#TBubawP$~cuiTgGM^v(-hR=sC|gjb`z-5*XV$O~V>vTc_!z zxvGw>o2JS0d~BIWwjGhxrX}yfXxW>UDLOiyNCf8u;8Z1+TonM1(ufg`# zUT;E8ql1a8CKBM8oSSV7T8T1dq}Xm1heR?f_-1tJt5f33WJ^x7%Qj& zhg|IRMeCI`PcV+2FBvPTM`J%iEUlyg!IWkz=`M{0>$alqC5=t0dzMyFJq~@o$5v5` zV9H9XXr9LIbAAlYl^T0UupYsb)~o1xUB_ClqFV(E(40DM_bH7ntNWI*iXPEe59(Ia z_cgW~b*t%RjU7PU8hTA*??BxeYFNQ~@>=zz(Lou(lqEW;M=-X;ca2WET4QX9PP$nz zWr}Ko)^%~8v8-rHsb=i zM`JJ5{nogU9#$Bv^ao%s38r+}KyU?qR1X`dK`_3_*kxI&Q^L@FlC9Y^rT=(+7_K- zZl#wswkNvS?4jRua=Rp58ErQ&qI$k}0d^>Qp1F-O8oMsqY3`ts#{M?C*}Q}v)7Tx+ zTlkxz^HsY$qB-+YT3^O4H+RyfGpZ!~lC8;!jjeV4h125>LKWB463+e_DL?9b7g&ApUa zuj)dvTPRO2Xl!ciHZxEC;@%`Jjoo4HqbD^s?);rOKub2NcB^BbHixLBu}fq3o5OTh z8T*P^pr1K9efFg zF^oGeng{4E!5U=Exr#QYxK8b9ucF5^XLQo*=2i59##~@m(`y=QoYY_)rklFCU6N)_ zYO=1OCpETY(iC9zJ*w`4Np02`ExSlz+a~4AaoVo2J(Ffx*HRCh%~Hl7^Li?2>^+m_ zSU1qXPF45!lNMWVr-rvE?4e1w(2bPV7<=qSTB)(8QTMmhqp=qRYy2D4?%yy5)M@NL zQFoN~YAn*wZXKoiUd5ScSYf@BW@&6j!!2^hL^MY4OU-XsW4()x=(^Pn4ZyxGn6l?h z)SqH0%APmTOEq-|YU+NkrLfjFk$oAr^Q9cA;pFrD-Y~=K08M%aphfQnwCOg$0Nn{_ z(5I{5^HR=6nEuy=*NM!x{a=u*^sJWu6Y1q=0)GK$;;hUgdaa7CcxE_EpDD1yX=%!4 z&`sJ2$Y*Hgd}|ft+FHsFKrwNiW_lDyHiI@!fD?HpQdFzop{JP z-{qoQtMnN`*`QIOC~es?CaICWO=@ovs4T{94N?-gM}w4)zA1DCpFtV-D^;!7<|e%; zlvk_h^I}Y22&iQGl9eW1QhTw~vL+^FrQ9d<-DNs-5SdEnY7Lbf)%zq|)T$^oNtHRO z4eAuS8l8gCx`qZ*`>tXKlRg4Yi7Si>EF zA@^>;2KN(ylikk%&T#LCoH_1dqsv(2K5U&%E8MS2kK1s9;!~rG9v_1~mq(fa?}S!)Mf=l%>m zzRP`7#~R{* zA-5T@!EFJY?9Q;SK&#pI<6^5V^j-AwjFg`-_CwkzJ?GA~pD}os{EYDn_kO^vyV$OW zRvEj?SRGph3A`I^6pAb59|;_#S46}AbkDc{WJKeO%~5KMv(B^Po9$l`kL5*UJ}565 z%i?U4Md)jkE{I=ZzX+>l?TE>Kbj|MgKG1i8=L+%TFX@W-74|Z*RR`^lUuAdDSo|7L z_Pf{HQ_K$N*-rOF3)T$t9r35khtTQ>^kmp&JjebrdEJ^}-X4Fqy`H`wd7u3veKvlx z$?!vbNm>fov;Ee_zEu?co7orOAG~`F&i37fyd3Z#)E-~&?Cl@#)9>Xc1LzOY zWsTQD|GkZG3+$u=jYq+GZR7g`KLXGFG{d~P@%F%r=ADfn3%qK6rt#x|k2Zb=T0P!) zf8bBx`6A%6jYsT9>4nCx1|Fr~G=2;4m_VoLMdLndZdwdDqv=V|=QVvd5V6i``mOOO zt!jEM&}D3FdNJTyJooRTolU<0Wp(Ud0dq~i2S3~DQ5uAVM`={x+nfFz=qHZ$0g2}l z=G|5H>DG*N(X=GUI-D15kyyPEJZpm=04!J^75H($ZMcDdlC}iHWEe4PFxIlX9QAI&?|oW9C-CpPQEhX6R?hOtEuLvFrUK_kI`0n8Qg0}@f61+S3x!^;=Zv?*`{88|y!Jh?x75r`Rk3k9r zL-nEQp~ZM1uQRkh)E(L#x;*5CN};jP+e0^nJ{bB)=UhC4`|{yb3=eb zqR%k2G3hGkV$wm}ADj495*P3=z6&tu8bA|!+9s681zv~mbWFNd;8B`_@;h;ZYT`F* zTfy^wK>RC1xEpowjmo8v9WySag}7gy0@`dklQQ@orUPf(9@38erqj>H%7DS@71UHaN@H`jKb0c>dt0Q;f^9rqtyh;~F9x*nf?jqD(gdG%q zmTmC*M+R~$XtVm~n`rCE&_zS}Qctc}DpJ>`?$Kf?H%OaTtzM&xpp~*i{n zY1A`1oa^t-m1xzjVyTerE3M8CWecO7`GK6OlTsD2YpAp}JG3W9YxZUfsI z3hUYfrQA>v)kWHxD~=45x<>{Fp&ZRxGmtG7dAO@eB_+1Pdt%Z1a)qJXz~V*o`v(SS zu-NAn2J*W|={tYp$Y8FJ?<@NF8V_$o42?kk{N4Dcv2s^>g?+k?Hto7R*H@yhwL{#9 zM^|YzFn}u2x2pQGg(qN`zb-e#T@nuQmk#DX+;64D8DG?ekrT207ZuzMJ3a+jc$= zys$glmn%{S>U;8oIqKq2){@HJt@NY~gRn1wd;S`4a2Vq(bmt2D^CBlNuE20FTSPr0 zh&DXetvMf4pyD#Wwe;@|mm7->XhW{F*XvhimgzKqYi_r8F|8fy^ZN0+iSHqqO_&A! z`1N_j)2>{h(<=;SOV!QS;f0gzK>jL;d6__Pb+N=o94RU#VYFhdz(J&`YY_e(Yb-Cf ztRBe^a9DJ0T6>@`H_UvxhE#VI@}~VT>40}-g#uBaA$AojGROYB2pcLbUPN7MJU@Q9 zJUEPC;OOSaSc88Cj#iJtbKL@AuZ3sRMU@A)A1a-_L}++)IxeZ)DHj z39jqNXZH+wMZ`~$#Ng}m#S(RRBiw6eJ~yCD-;wLf4`v5A!Lg@V9qq&o*+OwIY7ofm ziOzv6Uj9*WQ5p0qgu(tS&ja?5j`p=f`||~Fi1QC^$d>k&14E`kWwNk!DxxM%`Stms zE2wj1s1LCPb0Wu;M#bT)J@_o^`=)z%AYa-f-YU{&FVE3V-B1|=WlIkrU3PngQm((F zI%*Y3O}7m>4k?kX!g6&Mf3-j+Y!1?-qKsi}$nVahkBhSdBVsWGp)a=~JCxVbbtBVJ7Y7B>O?g`Aj8GM= zoQ!xDjWGWSGs_TygjrNAm;7!KRLH{fVAhQd^FmLVmE9_a#MSiz4f)hXJe{K$v9@aWw6a+?PdwnM&y~*BfFuXXowBU zE?{gYSY>n&zh6>h;RB!!?1u8#>>wBhiK~#kdv|#wL;WKQ~_Q zT`5A&&+kFT&6U<*XeFVj(g42l&!%Bqxeg(-%(QTsVPe(FC4FR4rpc4YsfbTO`sXa+ROh zm{lm7j6KY2cCMeGBz&roDz+*X{QIr`mYY3^bHLDkZy#3f+@Ac9E+eO_{n%*;U~E@U zL(auQD}2a?%4pcTm&=@ubN!0mu>VY#!_8CYE^7NPd9)IR-#(T;o)Mg9Vun5B0WFdn^ zv{fd2e|}FM(@&Ok%vT(^IT4{vZ!bpV?;#k$;s*89aj>`7-zHUDL;LbbAp3RVl+ysu zX0-<-Ua_+!jEXk{!;(4WbhnH87E<3LY*H~^1mW-qLJP*(RM?v9&leClFccCE8;dp- z`gs@H<6#d71-rU?yLWW=tliMNVN=IN>(`PuQbKz~FT*t>g#z|n81j^dep0 zA2dcH68Be}zhxwcllVkB4Gm@w2v|sKu*_l6lSHOgQoM36N5O1AZxVCptE;$eFP78p zVcsb~VFUp6c={C3OY*3(az0tb&CPai#00f!F>J)AofK?-_*-Q!_FfPcK+z`d6u~;OFKsnX1-FiD0@)RnQu^_lB~)+wO94`3lGX_In)6r#PzwMJvd2pkMKnb z&!!FD{v7WGBrqXfR;M11_b0OJ&lYk$p3)p6STo>ZlL0NehH|{Dv7USY&`Mzf3?kX? zmoR2!*=hb^R;4FVxhPACj0U5UQa5#_6*o;4&p4#)?LL(PC`%G^Yla5;VOfN3^%B? zN1bnI?cgwv8b@8Q^iAg<38hNwqYs8q7&kpxsqv33JPMVOgp8DgV*{+NQ%Ggq=AQhuo6F_(o00X| zT{-1@Zi;&qCh|@|3SC8YPGsVmy|_%l=#YbWVc1kq(Z^MC_T=LPx{-Dp^sz=ND@Pkf z%O?w^aHT_WugZbl!??xRo$vGQyWT?v#O{JWa?p%ZtLvA8nxb=1zX+w3_W3^7lxi*|<$TD<*v1LupJ%VJyZn}| zZIE-8y#zFFcb0uN%G`Gb&}jALrbzYe%iaR%Mszwf$k+?*rO*h!-!b;yHmH9d)Lt#5 z6s@w?fq@6dgJPkZ^Z-({6uisrPQYa{^cCP+q1!D2{|YFwz@C9G&9_nxJFtFA0rKt) zCry-bb1O6tv=sJDLpY_4pf-gwQ3)K}W{`~2J8^C(poFhAsTW^&4$*#;vByU1ZsFv% zdx%;$p@wDeMy-cGPpP;|_?4DL_){A!a|HENw_Dod{D$9XiQ8*M)8){W$HuN?C$dRW zl)>1}f~mO722^fi$F_sg0lt;sSb#Q$H4g!SHkWZ4`bJY)`!9t?F@%*HNFA#g_U z?13={LG8x#Dm*vAq{i5LeS>tMBY(&%#4qQG0{(E8qa*f~ngENS`Z*XDM>Bg>O^8mk z;3>3HXscjav^8!8;#<>s_Sm?Kobvy%h>n6iG4R+Tv z`b-?;&{y@y*xtS1<3R3%20S93$$OwTxqRc(C%)tiwhOdw$LMzjZaJlN)JWJwB(5xuK1Q#eOr!I+yud%uPgj>?L>2%Uqu#EFOb zFayXqoq4Cql+Pe-C>gv)R3x$la3(nM@S?T?ixVdq(55i06|MaFTCSPtbDww#Z0FW% zxo`eYNv$l;oX1(FKPFzn&o}{}=pcGk7R(GwZua%6tP5u`eO+yjl?D5ad#vzrk11`7 zGhr8Qw^q@bxX(t|XN|oWSwvIYxW`sldmTP(waTa#utpZ%y%iqz0cXO_8V;=H+DFPp zOTcw5QaG>uy#B36n-${s^(-yA3e=_0U^%j;F>RZ~$v#9{Wq#|(IjfRORD|)ks_m_^ zGH1qiSvYv4#yH*t%Ro3UzdRi7-d}Q6vS%Zlc&(`jUy64e9Qll3(&0`QZ8lwt4XD$#47Cla=us-f!Mh%q^tHYh z9-#0)T($G!DNA0sF+4l-R3IDbcqPyjj~ZctR0Z zPh#;MVf;aw82vU*Ku2Jmzpo!wSZy;M0oF417*SmD$4e=+`t_gsWBh zicb!uEKuT;F>m5$fcbPY*n-DGe9pqBJ&gMJ@^C9F@30KfBEB4T%gvyJ5r?fXfoK}x za41Dh@wEn1!pw`YnTBO)vSkJ>)L4*&p_@iDY6hbqL_sh`fCw1!!|_$b%J7+7I&N9(KpnSr^@D1qOmHW3Hz_>=&KG~OCb1zKVd93P+2!a)Fcj6J~NfEU0x9;VY| zu{}x%LB=HyNn(Pz#}_JH#uuU(OqneZf*!4KBxSb7S|J(J&qTKk2@cFjMvHP13~HEc zb2B~~AC>WqFN7M<8ZHdOmDCy^-@zufEGXX68jhy|@lma6YkYaDJN_0(j2}YiU?4gC z=4yOAkA|2K<9Q6&MK$J83xrENCx{uxZV>h>FnV`!@&^S(F%pwpO_LMqy%uA%sn}P%E{sS5K<*Vxg~x^EEWveW;h&% z9G}+0tY^eR;aL2P_}DLzDpAk06y!K8xD~z*g%A};mk?>j(;Bk`n^cUpy70?4_SVmLrOp&4v&O8ilY(O_&@&%J)%&^y#ga{ zf$BCiijSX)|3wchxB6*07#-ph|C?xp7fEgO8RoIUWv#KW{0}KHjK>t6BB3BptB6w< z4q2+((?gAjzO`I^J4^z5@Bl_-`i|Ysqd~+jWWf%+0j5@HjMfP7M^JB7n!&%( + (TestStatus.Failed,'Тесты провалены'), + (TestStatus.Inconclusive,'Тесты не завершены'), + (TestStatus.Passed,'Тесты прошли'), + (TestStatus.Skipped,'Тесты пропущены'), + (TestStatus.Warning,'Предупреждение') +); + +var RusAssertionStatus := Dict&( + (AssertionStatus.Failed,'Тест не прошёл'), + (AssertionStatus.Inconclusive,'Тесты не завершены'), + (AssertionStatus.Passed,'Тесты прошли'), + (AssertionStatus.Error,'Ошибка'), + (AssertionStatus.Warning,'Предупреждение') +); + +procedure DisplayTestResult(prefix, status, fullName, message, stackTrace: string); +begin + Writeln($'{prefix}) {status}: {fullName}'); + if not string.IsNullOrEmpty(message) then + Writeln(message.TrimEnd(TRIM_CHARS)); + if not string.IsNullOrEmpty(stackTrace) then + Writeln(stackTrace.TrimEnd(TRIM_CHARS)); +end; + +procedure DisplayTestResult(result: ITestResult); +begin + var resultState := result.ResultState; + var fullName := result.FullName; + var message := result.Message; + var stackTrace := result.StackTrace; + _reportIndex += 1; + var text := _reportIndex.ToString; + var count := result.AssertionResults.Count; + if count > 0 then + begin + var num := 0; + var prefix := text; + foreach var assertionResult in result.AssertionResults do + begin + if count > 1 then + prefix := $'{text}-{++num}'; + DisplayTestResult(prefix, RusAssertionStatus[assertionResult.Status], fullName, assertionResult.Message, assertionResult.StackTrace); + end + end + else + begin + var resultStatus := GetResultStatus(resultState); + //if message.StartsWith('No test fixtures were found') then + // message := 'Тесты не найдены'; + + DisplayTestResult(text, resultStatus, fullName, message, stackTrace); + end +end; + +procedure DisplayTestResults(result: ITestResult); +begin + var flag := (result.ResultState.Status = TestStatus.Failed) or (result.ResultState.Status = TestStatus.Warning); + if (result.Test.IsSuite) then + begin + if flag then + begin + var obj := result.Test as TestSuite; + var site := result.ResultState.Site; + if (obj.TestType = 'Theory') or (site = FailureSite.SetUp) or (site = FailureSite.TearDown) then + DisplayTestResult(result); + if site = FailureSite.SetUp then + exit; + end; + foreach var child in result.Children do + DisplayTestResults(child); + end + else if (flag) then + DisplayTestResult(result); +end; + + +type ResultSummary = class + TestCount,PassCount,FailureCount,WarningCount,ErrorCount,InconclusiveCount,InvalidCount,SkipCount,IgnoreCount,ExplicitCount,InvalidTestFixtures: integer; + ResState: ResultState; + StartTime,EndTime: DateTime; + Duration: real; + + function RunCount := PassCount + ErrorCount + FailureCount + InconclusiveCount; + function NotRunCount := InvalidCount + SkipCount + IgnoreCount + ExplicitCount; + function FailedCount := FailureCount + InvalidCount + ErrorCount; + function TotalSkipCount := SkipCount + IgnoreCount + ExplicitCount; + + constructor (result: ITestResult); + begin + InitializeCounters(); + ResState := result.ResultState; + StartTime := result.StartTime; + EndTime := result.EndTime; + Duration := result.Duration; + Summarize(result); + end; + + procedure InitializeCounters(); + begin + TestCount := 0; + PassCount := 0; + FailureCount := 0; + WarningCount := 0; + ErrorCount := 0; + InconclusiveCount := 0; + SkipCount := 0; + IgnoreCount := 0; + ExplicitCount := 0; + InvalidCount := 0; + end; + + procedure Summarize(result: ITestResult ); + begin + var &label := result.ResultState.Label; + var status := result.ResultState.Status; + if result.Test.IsSuite then + begin + if (status = TestStatus.Failed) and (&label = 'Invalid') then + InvalidTestFixtures+=1; + foreach var child in result.Children do + Summarize(child); + end + else + begin + TestCount+=1; + case status of + TestStatus.Passed: PassCount+=1; + TestStatus.Skipped: + if &label = 'Ignored' then + IgnoreCount+=1 + else if &label = 'Explicit' then + ExplicitCount+=1 + else + SkipCount+=1; + TestStatus.Warning: + WarningCount+=1; + TestStatus.Failed: + if &label = 'Invalid' then + InvalidCount+=1 + else if &label = 'Error' then + ErrorCount+=1 + else + FailureCount+=1; + TestStatus.Inconclusive: InconclusiveCount+=1; + end; + end; + end; +end; + +procedure DisplaySummaryReport(summary: ResultSummary); +begin + var status := summary.ResState.Status; + var text := RusTestStatus[status]; + if text = RusTestStatus[TestStatus.Skipped] then + text := RusTestStatus[TestStatus.Warning]; + {var num := 0; + case status of + TestStatus.Skipped: num := 10; + TestStatus.Failed: num := 9; + TestStatus.Passed: num := 8; + else num := 4; + end;} + + Writeln; + Println('Итог теста'); + Println(' Итоговый результат:', text); + Print(' Количество тестов:', summary.TestCount); + Print(', Прошло:', summary.PassCount); + Print(', Не прошло:', summary.FailedCount); + Print(', Предупреждений:', summary.WarningCount); + Println; + if summary.FailedCount > 0 then + begin + Print(' Проваленные тесты - Провалено:', summary.FailureCount); Print(', Ошибки:', summary.ErrorCount); + Print(', Неверные:', summary.InvalidCount); + Println; + end; + if summary.TotalSkipCount > 0 then + begin + Print(' Пропущенные тесты - Пропущено: ', summary.IgnoreCount); + Print(', Явных: ', summary.ExplicitCount); + Print(', Других: ', summary.SkipCount); + Println; + end; + Println(' Начало теста:', summary.StartTime.ToString('T',CultureInfo.CreateSpecificCulture('ru-RU'))); + Println(' Конец теста :', summary.EndTime.ToString('T',CultureInfo.CreateSpecificCulture('ru-RU'))); + Println(' Продолжительность:',summary.Duration.Round(3),'секунд'); + Writeln; +end; + + +begin + var fname := ParamStr(1);//'33.exe'; + var runner := new NUnitTestAssemblyRunner(new DefaultTestAssemblyBuilder()); + var filter := TestFilter.Empty; + var runSettings := Dict&(('WorkDirectory',object('.'))); + + runner.Load(fname,runSettings); + var TestResult := runner.Run(nil,filter); + + //Println($'Не прошло тестов: {TestResult.FailCount}'); + //Println($'Прошло тестов: {TestResult.PassCount}'); + //Println; + + var Summary := new ResultSummary(TestResult); + if Summary.TestCount = 0 then + begin + Println($'Файл {ParamStr(1)}: тесты не найдены'); + Println; + Println('Минимальный файл, содержащий тесты:'#13#10 + ''#13#10 + 'uses NUnitABC;'#13#10 + ''#13#10 + '[Test]'#13#10 + 'procedure Test1;'#13#10 + 'begin'#13#10 + ' Assert.AreEqual(2*2,4);'#13#10 + 'end;'#13#10 + ''#13#10 + 'begin'#13#10 + 'end.' + ); + + end + else + begin + DisplayTestResults(TestResult); + DisplaySummaryReport(Summary); + end; + + + readln; +end. \ No newline at end of file diff --git a/pabcnetc/PABCNETC.csproj b/pabcnetc/PABCNETC.csproj index d4243231e..da40be07e 100644 --- a/pabcnetc/PABCNETC.csproj +++ b/pabcnetc/PABCNETC.csproj @@ -68,6 +68,7 @@ full prompt AllRules.ruleset + true ..\bin\ diff --git a/pabcnetc_clear/PABCNETCclear.csproj b/pabcnetc_clear/PABCNETCclear.csproj index 3102dd2e9..efd700169 100644 --- a/pabcnetc_clear/PABCNETCclear.csproj +++ b/pabcnetc_clear/PABCNETCclear.csproj @@ -58,6 +58,7 @@ full prompt AllRules.ruleset + true ..\bin\