* Added support for IAR Embedded Workbench v5.0

- Relocated example project in preparation for adding real CMock system test

git-svn-id: http://cmock.svn.sourceforge.net/svnroot/cmock/trunk@47 bf332499-1b4d-0410-844d-d2d48d5cc64c
This commit is contained in:
greg-williams
2008-11-21 02:31:27 +00:00
parent 5b3a063b8b
commit acba0a5a8a
136 changed files with 20279 additions and 2611 deletions
-177
View File
@@ -1,177 +0,0 @@
class UnityTestRunnerGenerator
def run(input_file, output_file, additional_includes=[], tab=' ')
@tab = tab
tests = []
includes = []
used_mocks = []
module_name = File.basename(input_file)
File.open(input_file, 'r') do |input|
tests = find_tests(input)
includes = find_includes(input)
used_mocks = find_mocks(includes)
end
File.open(output_file, 'w') do |output|
create_header(output, used_mocks, additional_includes)
create_externs(output, tests, used_mocks)
create_mock_management(output, used_mocks)
create_runtest(output, used_mocks)
create_main(output, module_name, tests)
end
all_files_used = [input_file, output_file]
all_files_used += includes.map {|filename| filename + '.c'} unless includes.empty?
all_files_used += additional_includes unless additional_includes.empty?
return all_files_used.uniq
end
def find_tests(input_file)
input_file.rewind
tests = []
source = input_file.read()
source = source.gsub(/\/\/.*$/, '') #remove line comments
source = source.gsub(/\/\*.*?\*\//m, '') #remove block comments
lines = source.split(/(^\s*\#.*$) # Treat preprocessor directives as a logical line
| (;|\{|\}) /x) # Match ;, {, and } as end of lines
lines.each do |line|
if line =~ /^\s*void\s+test(.*?)\s*\(\s*void\s*\)/
tests << "test" + $1
end
end
return tests
end
def find_includes(input_file)
input_file.rewind
includes = []
input_file.readlines.each do |line|
scan_results = line.scan(/^#include\s+\"\s*(.+)\.h\s*\"/)
includes << scan_results[0][0] if (scan_results.size > 0)
end
return includes
end
def find_mocks(includes)
mock_headers = []
includes.each do |include_file|
mock_headers << include_file if include_file.include? "Mock"
end
return mock_headers
end
def create_header(output, mocks, additional_includes=[])
output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
output.puts('#include "unity.h"')
additional_includes.each do |includes|
output.puts("#include \"#{includes}.h\"")
end
mocks.each do |mock|
output.puts("#include \"#{mock}.h\"")
end
output.puts('#include <setjmp.h>')
output.puts('#include <stdio.h>')
output.puts('')
output.puts('jmp_buf AbortFrame;')
output.puts('')
output.puts('char MessageBuffer[50];')
end
def create_externs(output, tests, mocks)
output.puts('')
output.puts("extern void setUp(void);")
output.puts("extern void tearDown(void);")
output.puts('')
tests.each do |test|
output.puts("extern void #{test}(void);")
end
output.puts('')
end
def create_mock_management(output, mocks)
unless (mocks.empty?)
output.puts("static void CMock_Init(void)")
output.puts("{")
mocks.each do |mock|
output.puts("#{@tab}#{mock}_Init();")
end
output.puts("}\n")
output.puts("static void CMock_Verify(void)")
output.puts("{")
mocks.each do |mock|
output.puts("#{@tab}#{mock}_Verify();")
end
output.puts("}\n")
output.puts("static void CMock_Destroy(void)")
output.puts("{")
mocks.each do |mock|
output.puts("#{@tab}#{mock}_Destroy();")
end
output.puts("}\n")
end
end
def create_runtest(output, used_mocks)
output.puts("static void runTest(UnityTestFunction test)")
output.puts("{")
output.puts("#{@tab}if (TEST_PROTECT())")
output.puts("#{@tab}{")
output.puts("#{@tab}#{@tab}CMock_Init();") unless (used_mocks.empty?)
output.puts("#{@tab}#{@tab}setUp();")
output.puts("#{@tab}#{@tab}test();")
output.puts("#{@tab}}")
output.puts("#{@tab}CMock_Verify();") unless (used_mocks.empty?)
output.puts("#{@tab}CMock_Destroy();") unless (used_mocks.empty?)
output.puts("#{@tab}tearDown();")
output.puts("}")
end
def create_main(output, module_name, tests)
output.puts()
output.puts()
output.puts("int main(void)")
output.puts("{")
output.puts("#{@tab}Unity.TestFile = \"#{module_name}\";")
output.puts("#{@tab}UnityBegin();")
output.puts()
output.puts("#{@tab}// RUN_TEST calls runTest")
tests.each do |test|
output.puts("#{@tab}RUN_TEST(#{test});")
end
output.puts()
output.puts("#{@tab}UnityEnd();")
output.puts("#{@tab}return 0;")
output.puts("}")
end
end
if ($0 == __FILE__)
usage = "usage: ruby #{__FILE__} input_test_file output_test_runner"
if !ARGV[0]
puts usage
exit 1
end
ARGV[1] = ARGV[0].gsub(".c","_sRunner.c") if (!ARGV[1])
UnityTestRunnerGenerator.new
UnityTestRunnerGenerator.run(ARGV[0], ARGV[1])
end
@@ -4,6 +4,8 @@
#include "UsartConductor.h"
#include "TimerConductor.h"
#include "AdcConductor.h"
#include "IntrinsicsWrapper.h"
void Executor_Init(void)
{
@@ -11,6 +13,7 @@ void Executor_Init(void)
UsartConductor_Init();
AdcConductor_Init();
TimerConductor_Init();
Interrupt_Enable();
}
bool Executor_Run(void)
+18
View File
@@ -0,0 +1,18 @@
#include "IntrinsicsWrapper.h"
#ifdef __ICCARM__
#include <intrinsics.h>
#endif
void Interrupt_Enable(void)
{
#ifdef __ICCARM__
__enable_interrupt();
#endif
}
void Interrupt_Disable(void)
{
#ifdef __ICCARM__
__disable_interrupt();
#endif
}
+7
View File
@@ -0,0 +1,7 @@
#ifndef _INTRINSICS_WRAPPER_H
#define _INTRINSICS_WRAPPER_H
void Interrupt_Enable(void);
void Interrupt_Disable(void);
#endif // _INTRINSICS_WRAPPER_H
@@ -1,5 +1,6 @@
#include "Types.h"
#include "IntrinsicsWrapper.h"
#include "Executor.h"
#include "Model.h"
@@ -5,6 +5,7 @@
#include "MockUsartConductor.h"
#include "MockAdcConductor.h"
#include "MockTimerConductor.h"
#include "MockIntrinsicsWrapper.h"
void setUp(void)
{
@@ -20,7 +21,8 @@ void testInitShouldCallInitOfAllConductorsAndTheModel(void)
UsartConductor_Init_Expect();
AdcConductor_Init_Expect();
TimerConductor_Init_Expect();
Interrupt_Enable_Expect();
Executor_Init();
}
@@ -35,7 +35,7 @@ void testResetSystemTimeDelegatesTo_Timer_SetSystemTime_Appropriately(void)
void testConfigureInterruptShouldSetInterruptHandlerAppropriately(void)
{
AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0] = NULL;
AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0] = (uint32)NULL;
Timer_ConfigureInterrupt();
TEST_ASSERT_EQUAL((uint32)Timer_InterruptHandler, AT91C_BASE_AIC->AIC_SVR[AT91C_ID_TC0]);
}
+6 -6
View File
@@ -1,17 +1,17 @@
compiler:
path: gcc
source_path: 'test/system/src/'
unit_tests_path: &unit_tests_path 'test/system/test/'
mocks_path: 'test/system/mocks/'
build_path: &build_path 'test/system/build/'
source_path: 'examples/src/'
unit_tests_path: &unit_tests_path 'examples/test/'
mocks_path: 'examples/mocks/'
build_path: &build_path 'examples/build/'
options:
- -c
includes:
prefix: '-I'
items:
- 'test/system/src/'
- 'examples/src/'
- *unit_tests_path
- 'test/system/mocks/'
- 'examples/mocks/'
- 'vendor/unity/src/'
defines:
prefix: '-D'
-7
View File
@@ -1,7 +0,0 @@
<html><head>
<meta charset="iso-8859-1" content="Arm / ATMEL/ AT91 library / AT91SAM7X256" http-equiv="Content-Type">
<title>Hardware API Selector: AT91SAM7X256 Main Frame</title>
</head>
<frameset cols="20%, *"><frame name="Index" src="./HTML/AT91SAM7X256_idx.html">
<frame name="Main" src="./HTML/AT91SAM7X256_DBGU.html"></frameset>
</html>
-2244
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -37,7 +37,7 @@
</option>
<option>
<name>MacFile</name>
<state>$PROJ_DIR$\SAM7_FLASH.mac</state>
<state>$PROJ_DIR$\Resource\SAM7_FLASH.mac</state>
</option>
<option>
<name>MemOverride</name>
@@ -77,7 +77,7 @@
</option>
<option>
<name>OCDownloadVerifyAll</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>OCProductVersion</name>
@@ -600,7 +600,7 @@
</option>
<option>
<name>MacFile</name>
<state>$PROJ_DIR$\SAM7_SIM.mac</state>
<state>$PROJ_DIR$\Resource\SAM7_SIM.mac</state>
</option>
<option>
<name>MemOverride</name>
@@ -1163,7 +1163,7 @@
</option>
<option>
<name>MacFile</name>
<state>$PROJ_DIR$\SAM7_FLASH.mac</state>
<state>$PROJ_DIR$\Resource\SAM7_FLASH.mac</state>
</option>
<option>
<name>MemOverride</name>
@@ -1203,7 +1203,7 @@
</option>
<option>
<name>OCDownloadVerifyAll</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>OCProductVersion</name>
@@ -51,20 +51,20 @@
<option>
<name>Input variant</name>
<version>1</version>
<state>0</state>
<state>3</state>
</option>
<option>
<name>Input description</name>
<state>Full formatting.</state>
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
</option>
<option>
<name>Output variant</name>
<version>0</version>
<state>0</state>
<state>1</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting.</state>
<state>No specifier a, A.</state>
</option>
<option>
<name>GOutputBinary</name>
@@ -153,7 +153,7 @@
</option>
<option>
<name>CCListCFile</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CCListCMnemonics</name>
@@ -333,7 +333,7 @@
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\test\system\src</state>
<state>$PROJ_DIR$\..\..\examples\src</state>
</option>
<option>
<name>CCStdIncCheck</name>
@@ -504,7 +504,7 @@
</option>
<option>
<name>AUserIncludes</name>
<state></state>
<state>$PROJ_DIR$\incIAR</state>
</option>
<option>
<name>AExtraOptionsCheckV2</name>
@@ -616,7 +616,7 @@
</option>
<option>
<name>XclFile</name>
<state>$PROJ_DIR$\at91SAM7X256_FLASH.xcl</state>
<state>$PROJ_DIR$\Resource\at91SAM7X256_FLASH.xcl</state>
</option>
<option>
<name>XclFileSlave</name>
@@ -874,20 +874,20 @@
<option>
<name>Input variant</name>
<version>1</version>
<state>0</state>
<state>3</state>
</option>
<option>
<name>Input description</name>
<state>Full formatting.</state>
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
</option>
<option>
<name>Output variant</name>
<version>0</version>
<state>0</state>
<state>1</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting.</state>
<state>No specifier a, A.</state>
</option>
<option>
<name>GOutputBinary</name>
@@ -976,7 +976,7 @@
</option>
<option>
<name>CCListCFile</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CCListCMnemonics</name>
@@ -1156,7 +1156,7 @@
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\test\system\src</state>
<state>$PROJ_DIR$\..\..\examples\src</state>
</option>
<option>
<name>CCStdIncCheck</name>
@@ -1327,7 +1327,7 @@
</option>
<option>
<name>AUserIncludes</name>
<state></state>
<state>$PROJ_DIR$\incIAR</state>
</option>
<option>
<name>AExtraOptionsCheckV2</name>
@@ -1439,7 +1439,7 @@
</option>
<option>
<name>XclFile</name>
<state>$PROJ_DIR$\at91SAM7X256_FLASH.xcl</state>
<state>$PROJ_DIR$\Resource\at91SAM7X256_FLASH.xcl</state>
</option>
<option>
<name>XclFileSlave</name>
@@ -1697,20 +1697,20 @@
<option>
<name>Input variant</name>
<version>1</version>
<state>0</state>
<state>3</state>
</option>
<option>
<name>Input description</name>
<state>Full formatting.</state>
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
</option>
<option>
<name>Output variant</name>
<version>0</version>
<state>0</state>
<state>1</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting.</state>
<state>No specifier a, A.</state>
</option>
<option>
<name>GOutputBinary</name>
@@ -1979,7 +1979,7 @@
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\test\system\src</state>
<state>$PROJ_DIR$\..\..\examples\src</state>
</option>
<option>
<name>CCStdIncCheck</name>
@@ -2150,7 +2150,7 @@
</option>
<option>
<name>AUserIncludes</name>
<state></state>
<state>$PROJ_DIR$\incIAR</state>
</option>
<option>
<name>AExtraOptionsCheckV2</name>
@@ -2262,7 +2262,7 @@
</option>
<option>
<name>XclFile</name>
<state>$PROJ_DIR$\at91SAM7X256_FLASH.xcl</state>
<state>$PROJ_DIR$\Resource\at91SAM7X256_FLASH.xcl</state>
</option>
<option>
<name>XclFileSlave</name>
@@ -2472,87 +2472,108 @@
</settings>
</configuration>
<group>
<name>source</name>
<name>Resource</name>
<file>
<name>$PROJ_DIR$\..\test\system\src\AdcConductor.c</name>
<name>$PROJ_DIR$\Resource\at91SAM7X256_FLASH.xcl</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\AdcHardware.c</name>
<name>$PROJ_DIR$\Resource\at91SAM7X256_RAM.xcl</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\AdcHardwareConfigurator.c</name>
<name>$PROJ_DIR$\Resource\SAM7_FLASH.mac</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\AdcModel.c</name>
<name>$PROJ_DIR$\Resource\SAM7_RAM.mac</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\AdcTemperatureSensor.c</name>
<name>$PROJ_DIR$\Resource\SAM7_SIM.mac</name>
</file>
</group>
<group>
<name>Source</name>
<file>
<name>$PROJ_DIR$\..\..\examples\src\AdcConductor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\Executor.c</name>
<name>$PROJ_DIR$\..\..\examples\src\AdcHardware.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\Main.c</name>
<name>$PROJ_DIR$\..\..\examples\src\AdcHardwareConfigurator.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\Model.c</name>
<name>$PROJ_DIR$\..\..\examples\src\AdcModel.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TaskScheduler.c</name>
<name>$PROJ_DIR$\..\..\examples\src\AdcTemperatureSensor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TemperatureCalculator.c</name>
<name>$PROJ_DIR$\..\..\examples\src\Executor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TemperatureFilter.c</name>
<name>$PROJ_DIR$\..\..\examples\src\IntrinsicsWrapper.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TimerConductor.c</name>
<name>$PROJ_DIR$\..\..\examples\src\Main.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TimerConfigurator.c</name>
<name>$PROJ_DIR$\..\..\examples\src\Model.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TimerHardware.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TaskScheduler.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TimerInterruptConfigurator.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TemperatureCalculator.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TimerInterruptHandler.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TemperatureFilter.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\TimerModel.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TimerConductor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\UsartBaudRateRegisterCalculator.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TimerConfigurator.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\UsartConductor.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TimerHardware.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\UsartConfigurator.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TimerInterruptConfigurator.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\UsartHardware.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TimerInterruptHandler.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\UsartModel.c</name>
<name>$PROJ_DIR$\..\..\examples\src\TimerModel.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\UsartPutChar.c</name>
<name>$PROJ_DIR$\..\..\examples\src\UsartBaudRateRegisterCalculator.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\test\system\src\UsartTransmitBufferStatus.c</name>
<name>$PROJ_DIR$\..\..\examples\src\UsartConductor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\examples\src\UsartConfigurator.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\examples\src\UsartHardware.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\examples\src\UsartModel.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\examples\src\UsartPutChar.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\examples\src\UsartTransmitBufferStatus.c</name>
</file>
</group>
<group>
<name>Startup</name>
<file>
<name>$PROJ_DIR$\Cstartup.s79</name>
<name>$PROJ_DIR$\srcIAR\Cstartup.s79</name>
</file>
<file>
<name>$PROJ_DIR$\Cstartup_SAM7.c</name>
<name>$PROJ_DIR$\srcIAR\Cstartup_SAM7.c</name>
</file>
</group>
</project>
@@ -22,7 +22,7 @@
@REM but they are listed at the end of this file for reference.
"C:\Program Files\IAR Systems\Embedded Workbench 4.0\common\bin\cspybat" "C:\Program Files\IAR Systems\Embedded Workbench 4.0\ARM\bin\armproc.dll" "C:\Program Files\IAR Systems\Embedded Workbench 4.0\ARM\bin\armjlink.dll" %1 --plugin "C:\Program Files\IAR Systems\Embedded Workbench 4.0\ARM\bin\<libsupport_plugin>" --macro "C:\svn\cmock\iar\SAM7_FLASH.mac" --backend -B "--endian" "little" "--cpu" "ARM7TDMI" "--fpu" "None" "--proc_device_desc_file" "C:\Program Files\IAR Systems\Embedded Workbench 4.0\ARM\CONFIG\ioAT91SAM7X256.ddf" "--proc_driver" "jlink" "--jlink_connection" "USB:0" "--jlink_initial_speed" "32"
"C:\Program Files\IAR Systems\Embedded Workbench 4.0\common\bin\cspybat" "C:\Program Files\IAR Systems\Embedded Workbench 4.0\ARM\bin\armproc.dll" "C:\Program Files\IAR Systems\Embedded Workbench 4.0\ARM\bin\armjlink.dll" %1 --plugin "C:\Program Files\IAR Systems\Embedded Workbench 4.0\ARM\bin\<libsupport_plugin>" --macro "C:\svn\cmock\iar\iar_v4\Resource\SAM7_FLASH.mac" --backend -B "--endian" "little" "--cpu" "ARM7TDMI" "--fpu" "None" "--proc_device_desc_file" "C:\Program Files\IAR Systems\Embedded Workbench 4.0\ARM\CONFIG\ioAT91SAM7X256.ddf" "--drv_verify_download" "all" "--proc_driver" "jlink" "--jlink_connection" "USB:0" "--jlink_initial_speed" "32"
@REM loaded plugins:
@@ -10,7 +10,7 @@
<Column0>234</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
<Column0>185</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Disassembly>
@@ -72,14 +72,14 @@
<Pane><Tab><Factory>TextEditor</Factory><Filename>C:\svn\cmock\test\system\src\Main.c</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>820</SelStart><SelEnd>820</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>C:\svn\cmock\examples\src\Main.c</Filename><XPos>0</XPos><YPos>27</YPos><SelStart>806</SelStart><SelEnd>806</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-008fe878><key>iaridepm1</key></Toolbar-008fe878></Sizes></Row0><Row1><Sizes><Toolbar-01a9f618><key>debuggergui1</key></Toolbar-01a9f618></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>711</Bottom><Right>308</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>129366</sizeHorzCX><sizeHorzCY>173310</sizeHorzCY><sizeVertCX>200517</sizeVertCX><sizeVertCY>617851</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>711</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>129366</sizeHorzCX><sizeHorzCY>173310</sizeHorzCY><sizeVertCX>129366</sizeVertCX><sizeVertCY>617851</sizeVertCY></Rect></Wnd2></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>375</Bottom><Right>1548</Right><x>-2</x><y>-2</y><xscreen>1550</xscreen><yscreen>377</yscreen><sizeHorzCX>1002587</sizeHorzCX><sizeHorzCY>326690</sizeHorzCY><sizeVertCX>129366</sizeVertCX><sizeVertCY>173310</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-008fe8c8><key>iaridepm1</key></Toolbar-008fe8c8></Sizes></Row0><Row1><Sizes><Toolbar-02331890><key>debuggergui1</key></Toolbar-02331890></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>509</Bottom><Right>276</Right><x>-2</x><y>-2</y><xscreen>179</xscreen><yscreen>148</yscreen><sizeHorzCX>129149</sizeHorzCX><sizeHorzCY>173302</sizeHorzCY><sizeVertCX>200577</sizeVertCX><sizeVertCY>598361</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>509</Bottom><Right>177</Right><x>-2</x><y>-2</y><xscreen>179</xscreen><yscreen>148</yscreen><sizeHorzCX>129149</sizeHorzCX><sizeHorzCY>173302</sizeHorzCY><sizeVertCX>129149</sizeVertCX><sizeVertCY>598361</sizeVertCY></Rect></Wnd2></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>277</Bottom><Right>1388</Right><x>-2</x><y>-2</y><xscreen>1390</xscreen><yscreen>279</yscreen><sizeHorzCX>1002886</sizeHorzCX><sizeHorzCY>326698</sizeHorzCY><sizeVertCX>129149</sizeVertCX><sizeVertCY>173302</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>

Some files were not shown because too many files have changed in this diff Show More