--- a/branches/VTEM_game1_1/Main_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/VtemStateMachine/svnobj
+++ b/branches/VTEM_game1_1/Main_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/VtemStateMachine/svnobj
@@ -1,4 +1,4 @@
-Gx_l“Ý!0…jüo±‘¸-jºK×câSystem.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
+Gx_l«Ý!0…jüo±‘”~ÒK~±~uSystem.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
 TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagText$IF NOT xInit THEN	N	UM				(		sName := 'Normal Operation', ì							dwSupportedStates := PACK_ML.State.All - PACK_ML.State.Suspending - PACK_ML.State.Suspended - PACK_ML.State.UnSuspending - PACK_ML.Holding - PACK_ML.Held - PACK_ML.UnHolding, Ô							dwAllowsLeavingFromStates := PACK_ML.State.Stopped OR PACK_ML.State.Aborted OR PACK_ML.State.Idle, Ö							dwAllowsEnteringIntoStates := PACK_ML.State.Stopped OR PACK_ML.State.Aborted OR PACK_ML.State.Idle, \							eInitialState := PACK_ML.State.Aborted,0							xActive := TRUE);(	ItfUnitMode := UM; 	xInit := TRUE;	END_IF4IF Client.bReadyToPLC THEN:	CASE Client.iCommandToPLC OF"	0 : 	//Handshake	1 : 	//Lock 		IF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[0]) =  0 THEN		!0			//First Lock Function"2			xLockLoadConfig:=TRUE;#â			SendCommand(Command:= CommandType.Hint, 'Release the valvecontrol to let us load the correct configuration.');$			%			;&–		ELSIF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[1]) =  0 THEN		'2			//Second Lock Function(
 			;	)		END_IF*	2 : 	//Key+Ž		IF SysStrCmp(Client.sCommandToPLC, Client.KeyCommands[0]) =  0 THEN		,6			//Echo first key example-Ž			SendCommand(Command:= CommandType.Key,Value:=Client.KeyCommands[0]);.		END_IF	/	3 : 	//IO0	4 : 	//Media1	5 : 	//Hint2	6 : 	//State	3l		IF SysStrCmp(Client.sCommandToPLC, 'SC') =  0 THEN		4&			StateComplete();5x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Start') =  0 THEN		6			Start();7v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Stop') =  0 THEN		8			Stop();9x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Reset') =  0 THEN		:			Reset();;x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Abort') =  0 THEN		<			Abort();=x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Clear') =  0 THEN		>			Clear();?v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Hold') =  0 THEN		@			Hold();Az		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnHold') =  0 THEN		B			Unhold();	C|		ELSIF SysStrCmp(Client.sCommandToPLC, 'Suspend') =  0 THEN		D			Suspend();E€		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnSuspend') =  0 THEN		F			UnSuspend();G		H	END_CASEI6	Client.iCommandToPLC := 0;J8	Client.sCommandToPLC := '';K:	Client.bReadyToPLC := FALSE;L*CheckConfiguration();M`tonCheckWebAppActive(IN:=Client.ActualStep=120);N.CASE UM.CurrentState OFO,PACK_ML.State.Stopped:P	;Q.PACK_ML.State.Aborted: R&PACK_ML.State.Idle:S(	gxhideStart:=FALSE;T(	IF waitTimer.Q THENU		wait:=FALSE;V0		bySetAppControlAll:=0;W	END_IFX(	IF gxGameStart THENY0PACK_ML.State.Complete :Z,bySetAppControlAll:=3;[&			iTarBackLeft:=0;\(			iTarFrontLeft:=0;]*			iTarFrontRight:=0;^*			iTarBackRight:=0;	_.PACK_ML.State.Execute :`b		gstElapsedTime:= CleanTime(ElapsedGameTime.ET);a8		IF iNumTargetsLeft<=0 THENb<			gxhideMissionSucces:=FALSE;c>			gxhideCrossandTargets:=TRUE;d4			gxhideNumTargets:=TRUE;ef			gstElapsedTime:=CleanTime(ElapsedGameTime.ET);		f.			xGameRunning:=FALSE;g2			bySetAppControlAll:=3;h(			iTarBackRight:=0;iH			StateComplete(); // -> Completingj		END_IF		k		;l2PACK_ML.State.Resetting :m4	CASE Client.ActualStep OFn		1000:o*			xExecuteFB:=FALSE;p>			xDownloadConfigDone1:=FALSE;q4			xDownloadError1:=FALSE;r>			xDownloadConfigDone2:=FALSE;s4			xDownloadError2:=FALSE;t,			iResponseConfig:=0;u<			Client.ActualStep:=1010;			v
 					w		1010:x,			iVTEMComsRights:=2;yf			IF NOT xTransferDone AND NOT xTransferError THENz*				xExecuteFB:=TRUE;{6			ELSIF xTransferDone THEN|8				client.ActualStep:=1020;},				xExecuteFB:=FALSE;~d			ELSIF xTransferError OR tonConfigTimeout.Q THEN			END_IF€		1020:,			iVTEMComsRights:=3;‚8				client.ActualStep:=1030;ƒ		1030:„,			iVTEMComsRights:=4;…8				client.ActualStep:=1040;† 		1040:‡,			iVTEMComsRights:=5;ˆ8				client.ActualStep:=1100;‰		1100:Š:			xCheckConfiguration:=TRUE;‹6			client.ActualStep:=1105;Œ		1105:Z			IF NOT xCheckConfiguration AND xMatch THENŽ8				Client.ActualStep:=1110;b			IF NOT xCheckConfiguration AND NOT xMatch THEN8				Client.ActualStep:=1100;‘		1110:’,			iVTEMComsRights:=1;“D			xUseGlobalSetpointValues:=TRUE;”4			bySetValveModeAll:= 61;•4			bySetAppControlAll:= 0;–2			bySetAppOptionAll:= 0;—6			gxHidecalibration:=TRUE;˜$			gxhideGo:=TRUE;™:			gxhideMissionSucces:=TRUE;š*			gxhideStart:=TRUE;›d			gstElapsedTime:= CleanTime(ElapsedGameTime.ET);œ6			Client.ActualStep:=1120;		1120:ž2			bySetValveModeAll:= 3;Ÿ4			bySetAppControlAll:= 3; 0			bySetAppOptionAll:=0;¡6			IF iAvgPressure<100 THEN¢(				StateComplete();£		END_CASE¤0PACK_ML.State.Starting :¥6	CASE Client.ActualStep OF ¦		0:§:		IF client.Mode = Mode1 THEN¨.		Client.ActualStep:=5;©		ELSEª4			client.ActualStep:=100;«º				SendCommand(Command:= CommandType.Media,Value:= 'http://10.0.0.13/cgi-bin/vtem-welcome');¬			END_IF;­		5:®®		SendCommand(Command:= CommandType.Media,Value:= 'http://10.0.0.10:8080/webvisu.htm');¯*		iVTEMComsRights:=1;°H		xUseGlobalSetpointValues := false;±:		gxHidecalibration := FALSE;²,		gxhideStart := TRUE;³8		gxhideMissionSucces:=TRUE;´2		bySetValveModeAll :=3	;µ0		bySetAppControlAll:=3;¶*		iTarBackLeft:=4000;·,		iTarFrontLeft:=3000;¸.		iTarFrontRight:=2000;¹,		iTarBackRight:=3000;º		wait:=TRUE;»$		ONETIME:=FALSE;	¼0		Client.ActualStep:=10;½
@@ -10,8 +10,8 @@
 		70:Ôj			Client.ActualStep:=80; // Go to step dance game :)Õ
 		80:Öp		atp1(iTar:=4000, iVar:=iValve_BackLeft, iOffset:= 30);×r		atp2(iTar:=4000, iVar:=iValve_BackRight, iOffset:= 30);Ør		atp3(iTar:=4000, iVar:=iValve_FrontLeft, iOffset:= 30);Ùt		atp4(iTar:=4000, iVar:=iValve_FrontRight, iOffset:= 30);ÚÖ		gitotalTime:=(TIME_TO_LINT(atp1.timerprogress+atp2.timerprogress+atp3.timerprogress+atp4.timerprogress));Û				ܺ		IF atp1.atTargetPres AND atp2.atTargetPres AND atp3.atTargetPres AND atp4.atTargetPres THENÝ”			SendCommand(Command:= CommandType.Key, Value := Client.KeyCommands[0]);Þ,			iNumTargetsLeft:=5;ß2			bySetAppControlAll:=0;à*			gxhideGo := FALSE;á6			gxhideNumTargets:=FALSE;â@			gxhideCrossandTargets:=FALSE;ã			wait:=TRUE;ä			wait:=false;å,			xGameRunning:=TRUE;æ		100:ç*		iVTEMComsRights:=8;è6				client.ActualStep:=110;é		110:ê,			iVTEMComsRights:=9;ë6				client.ActualStep:=111;ì		111:í0			iVTEMComsRights := 1;î0			bySetValveModeAll:=1;ï4			Client.ActualStep:=112;ð			112:ñr			IF FB_ValveControl_1.iResponseToValveModeSet=1033 THENòN				iVTEMComsRights:=0; //do something.ó6				Client.ActualStep:=120;ô\			// repeat trying to match the configurationõ		120:öˆ			iVTEMComsRights:=0; // No control, leave to let webapp take over.÷B			IF tonCheckWebAppActive.Q THENø6				Client.ActualStep:=125;ù.				iVTEMComsRights:=1;ú		125:û2		IF xLockLoadConfig THENü6			Client.ActualStep:=1010;ý¼			IF FB_ValveControl_1.iResponseToValveModeSet = FestoVTEMdc.eResponseToValveModeSet.access_denied_WebConfig OR  FB_ValveControl_2.iResponseToValveModeSet = FestoVTEMdc.eResponseToValveModeSet.access_denied_WebConfig THENþ>				xPlayerInWebConfig := TRUE;ÿ			ELSE€@				xPlayerInWebConfig := FALSE;.				iVTEMComsRights:=0;‚>				Client.ActualStep:=140;				ƒ		140:„4			client.ActualStep:=150;…		150:†2				Client.ActualStep:=5;‡˜			//SendCommand(Command:= CommandType.Key, Value := Client.KeyCommands[2]);ˆ			1010:‰6				client.ActualStep:=140;Š		END_CASE;‹4PACK_ML.State.Completing :Œ"	StateComplete();0PACK_ML.State.Aborting :Ž.			xGameRunning:=false;*bySetValveModeAll:=3; iTarBackLeft:=0;‘.PACK_ML.State.Stopping:’2PACK_ML.State.Clearing :	“END_CASE”fIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THEN•(	// Emergency Abort.–	UM.Abort();	—END_IF ˜LClient.ActualState := UM.CurrentState;™BwaitTimer(IN:=wait,PT:=T#1000MS);šZElapsedGameTime(IN:=xGameRunning, PT:=T#30M);›$//Average on sidesœjiAvgPrsLeft		:=	(iValve_FrontLeft+iValve_BackLeft)/2;liAvgPrsTop		:=	(iValve_FrontLeft+iValve_FrontRight)/2;žniAvgPrsRight	:=	(iValve_FrontRight+iValve_BackRight)/2;ŸliAvgPrsBottom	:=	(iValve_BackRight+iValve_BackLeft)/2; //Total average¡¬iSumPressure := iValve_BackLeft + iValve_BackRight+iValve_frontleft+iValve_frontright;¢\iAvgPressure:= LINT_TO_INT( iSumPressure / 4);£BIF (xUseGlobalSetpointValues)THEN¤L	iTarBackLeft:=iSetPointValue_1Global;¥N	iTarBackRight:=iSetPointValue_1Global;¦N	iTarFrontLeft:=iSetPointValue_1Global;§P	iTarFrontRight:=iSetPointValue_1Global;¨ðxAllValvesRunning:= FB_ValveControl_1.iResponseToValveModeSet =1033 AND FB_ValveControl_2.iResponseToValveModeSet =1033;©¢FB_ValveControl_1.xManualAcknowledge := NOT FB_ValveControl_1.xManualAcknowledge;ªšFB_ValveControl_2.xManualAcknowledge := FB_ValveControl_1.xManualAcknowledge;«¾xAnyValveNotReady:=NOT(FB_ValveControl_1.iErrorCode=0 AND (FB_ValveControl_1.iResponseToValveModeSet =1033 OR FB_ValveControl_1.iResponseToValveModeSet =1041) ¬¨					AND FB_ValveControl_2.iErrorCode =0 AND (FB_ValveControl_2.iResponseToValveModeSet =1033 OR FB_ValveControl_2.iResponseToValveModeSet =1041) );­4IF  xAnyValveNotReady THEN®8	xVtemReset:=NOT xVtemReset;¯ELSE°&	xVtemReset:=FALSE;±$CheckParameters();²VTEM_Control();³// VTEM_Control´(*µ&FB_ValveControl_1 (¶j	awBusDataFromVTEM:=	GVL_In_Outputs.awData_Valve1_in,·j	xEnable:=NOT( UM.CurrentState = pack_ml.Resetting) ,¸F	bySetValveMode:=bySetValveModeAll,¹J	bySetAppControl:=bySetAppControlAll,ºF	bySetAppOption:=bySetAppOptionAll,»T	iSetpointValue1:=iSetPointValue_BackLeft,¼V	iSetpointValue2:=iSetPointValue_BackRight,½f	awBusDataToVTEM:=GVL_In_Outputs.awData_Valve1_out,¾@	iActualValue1=>iValve_BackLeft,¿@	iActualValue2=>iValve_BackRightÀ);Á&FB_ValveControl_2 (Âj	awBusDataFromVTEM:=	GVL_In_Outputs.awData_Valve2_in,ÃV	iSetpointValue1:=iSetPointValue_FrontLeft,ÄX	iSetpointValue2:=iSetPointValue_FrontRight,Åf	awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out,ÆB	iActualValue1=>iValve_FrontLeft,ÇB	iActualValue2=>iValve_FrontRightÈ);*)É((*	CASE resetstep OFÊþ			FB_WriteConfig_MA03_Valve2 (iParameterSet:=1 ,awBusDataFromVTEM := GVL_In_Outputs.awData_Valve2_in,xExecute:=xExecuteConfig,iCharacteristicAt2:=1,iCharacteristicAt4:=1,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);Ë		30:	Ì„			FB_WriteConfig_MA08_Valve1 (iParameterSet:=1 ,awBusDataFromVTEM :=  GVL_In_Outputs.awData_Valve1_in,xExecute:=xExecuteConfig,iLoadRetracting:=200,iLoadAdvancing:=200,iSoftStartFunction:=1, iTubingLengthAt2:=1000, iTubingLengthAt4:=1000 ,iTubingInnerDiameterAt2:=570,iTubingInnerDiameterAt4:=570,iDriveStroke:=180,iDriveType:=901,iInstallationPositionDrive :=9000,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve1_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);Í		40:	΄			FB_WriteConfig_MA08_Valve2 (iParameterSet:=1 ,awBusDataFromVTEM := GVL_In_Outputs.awData_Valve2_in,xExecute:=xExecuteConfig, iLoadRetracting:=200,iLoadAdvancing:=200,iSoftStartFunction:=1, iTubingLengthAt2:=1000, iTubingLengthAt4:=1000 ,iTubingInnerDiameterAt2:=570,iTubingInnerDiameterAt4:=570,iDriveStroke:=180,iDriveType:=901,iInstallationPositionDrive :=9000,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);Ï
 				;ÐEND_CASE*)Ñ// Gamevisu PRGÒ//Timers ÓPtargetTimer(IN:=xAtTarget, PT:=T#600MS);ÔBtonConfigTimeout(IN:=xExecuteFB);ÕpgxGameVisuOffset.X := LIMIT(-600,gpOffsetRaw.X*5/2,600);ÖpgxGameVisuOffset.Y := LIMIT(-600,gpOffsetRaw.Y*5/2,600);×&IF NOT onetime THENØ`	pStaticTarget.X:= pStaticTarget.X+randomNumber;Ùb	pStaticTarget.Y:= pStaticTarget.Y+randomNumber2;Ú–	IF pStaticTarget.X > 500 THEN pStaticTarget.X:=pStaticTarget.X-1000;END_IFÛ–	IF pStaticTarget.Y > 500 THEN pStaticTarget.Y:=pStaticTarget.Y-1000;END_IFÜ	onetime:=TRUE;Ý:randomNumber:=randomNumber+3;Þ0IF randomNumber>500 THENß@	randomNumber:=randomNumber-200;à>randomNumber2:=randomNumber2+3;á2IF randomNumber2>500 THENâD	randomNumber2:=randomNumber2-200;ã,IF targetTimer.Q THEN	äL	iNumTargetsLeft:=iNumTargetsLeft -1;	å*CASE Client.Level OF æ	1:ç2	//no changes to the dataè˜	IF pStaticTarget.X > 500 THEN pStaticTarget.X:=pstaticTarget.X-1000; END_IFéš	IF pStaticTarget.X < -500 THEN pStaticTarget.X:=pstaticTarget.X+1000;	END_IFê@	pNextTarget.X:=pStaticTarget.X;ë@	pNextTarget.Y:=pStaticTarget.Y;ì	2:í4	IF xMovementPositive THENîN		pStaticTarget.X := pStaticTarget.X+1;ï
-	ELSEðR		pStaticTarget.X := pStaticTarget.X-1;		ñ	3:òN		pStaticTarget.X := pStaticTarget.X+2;óR		pStaticTarget.X := pStaticTarget.X-2;		ô	4:õ®	pNextTarget.Y := pStaticTarget.Y+REAL_TO_INT(SIN(DINT_TO_REAL(pNextTarget.X)/100)*50);ö	5:÷°	pNextTarget.Y := pStaticTarget.Y+REAL_TO_INT(SIN(DINT_TO_REAL(pNextTarget.X)/50)*100);	ø&// target approach.ùþxAtTarget:=(gxGameVisuOffset.X > (pNextTarget.x - gxGameAccuracy) AND gxGameVisuOffset.X < (pNextTarget.X + gxGameAccuracy) ANDúâgxGameVisuOffset.Y > (pNextTarget.Y - gxGameAccuracy) AND gxGameVisuOffset.Y < (pNextTarget.Y + gxGameAccuracy));û//END_IFü&// VTEM_Druk_PID 'sý.IF NOT gxDisablePD THENþüDruk_PD_BackLeft(target := iTarBackLeft, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_BackLeft, setpoint => iSetPointValue_BackLeft);ÿ„Druk_PD_backRight(target := iTarbackRight, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_backRight, setpoint => iSetPointValue_backRight);€„Druk_PD_frontLeft(target := iTarfrontLeft, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_frontLeft, setpoint => iSetPointValue_frontLeft);ŒDruk_PD_frontRight(target := iTarfrontRight, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_frontRight, setpoint => iSetPointValue_frontRight);‚TgpOffsetRaw.X:=(iAvgPrsRight-iAvgPrsLeft);ƒTgpOffsetRaw.Y:=(iAvgPrsBottom-iAvgPrsTop);„.//offset for debug visu…HgpOffsetDebug.X := gpOffsetRaw.X/10;†HgpOffsetDebug.Y := gpOffsetRaw.Y/10;‡InterfaceˆL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}‰>FUNCTION_BLOCK VtemStateMachineŠVAR‹2	UM			: PACK_ML.UnitMode;Œf	xInit		: BOOL := FALSE; // Flag for initialization0	//VTEM ValveControl FBsŽ`	FB_ValveControl_1: FestoVTEMdc.FB_ValveControl;`	FB_ValveControl_2: FestoVTEMdc.FB_ValveControl;`	FB_ValveControl_3: FestoVTEMdc.FB_ValveControl;‘`	FB_ValveControl_4: FestoVTEMdc.FB_ValveControl;’~	FB_WriteConfig_MA03_Valve1: FestoVTEMdc.FB_Write_config_MA_03;“~	FB_WriteConfig_MA03_Valve2: FestoVTEMdc.FB_Write_config_MA_03;”’	FB_WriteConfig_MA03_Valve1_Incorrect: FestoVTEMdc.FB_Write_config_MA_03;•’	FB_WriteConfig_MA03_Valve2_Incorrect: FestoVTEMdc.FB_Write_config_MA_03;–~	FB_WriteConfig_MA08_Valve1: FestoVTEMdc.FB_Write_config_MA_08;—~	FB_WriteConfig_MA08_Valve2: FestoVTEMdc.FB_Write_config_MA_08;˜ 	FB_Upload_Multiple_Parameters_Valve1:FestoVTEMdc.FB_Upload_Multiple_Parameters;™ 	FB_Upload_Multiple_Parameters_Valve2:FestoVTEMdc.FB_Upload_Multiple_Parameters;šš	aTransferPackagesResult: ARRAY[0..100] OF FestoVTEMdc.stTransferPackage := [›l(iChannel := 1, iAddressedTarget := 3, iIndex := 220),œl(iChannel := 1, iAddressedTarget := 3, iIndex := 221),j(iChannel := 1, iAddressedTarget := 8, iIndex := 12),žj(iChannel := 1, iAddressedTarget := 8, iIndex := 13),Ÿj(iChannel := 1, iAddressedTarget := 8, iIndex := 14), j(iChannel := 1, iAddressedTarget := 8, iIndex := 15),¡j(iChannel := 1, iAddressedTarget := 8, iIndex := 20),¢j(iChannel := 1, iAddressedTarget := 8, iIndex := 21),£j(iChannel := 1, iAddressedTarget := 8, iIndex := 60),¤l(iChannel := 1, iAddressedTarget := 8, iIndex := 100),¥l(iChannel := 1, iAddressedTarget := 8, iIndex := 101),¦~(iChannel := 1, iAddressedTarget := 8, iIndex := 222), 89(())];§0	iVTEMComsRights:INT:=1;¨(	xTransferDone:BOOL;©*	xTransferError:BOOL;ªL	CheckParameters : FB_CheckParameters;«2	xExecuteFB :BOOL:=FALSE;¬D	xDownloadConfigDone1:BOOL:=FALSE;­:	xDownloadError1:BOOL:=FALSE;®D	xDownloadConfigDone2:BOOL:=FALSE;¯:	xDownloadError2:BOOL:=FALSE;°D	xDownloadConfigDone3:BOOL:=FALSE;±:	xDownloadError3:BOOL:=FALSE;²D	xDownloadConfigDone4:BOOL:=FALSE;³:	xDownloadError4:BOOL:=FALSE;´0	iResponseConfig:INT:=0;µd	tonConfigTimeout:TON:=(In:=xExecuteFB,PT:=T#15S);¶@	iStepCheckConfiguration:INT:=0;·	xMatch:BOOL;¸,	xLockLoadConfig:BOOL;¹4	xCheckConfiguration:BOOL;º$	xVtemReset: BOOL;»8	bySetValveModeAll:	BYTE:=3;¼:	bySetAppControlAll:	BYTE:=0;½2	bySetAppOptionAll:	BYTE;¾B	xUseGlobalSetpointValues	:	BOOL;¿>	iSetPointValue_1Global		:	INT;À@	iSetPointValue_BackLeft		:	INT;Á@	iSetPointValue_BackRight	:	INT;Â@	iSetPointValue_FrontLeft	:	INT;ÃB	iSetPointValue_FrontRight	:	INT;Ä$	iAvgPrsLeft :INT;Å"	iAvgPrsTop :INT;Æ$	iAvgPrsRight:INT;Ç&	iAvgPrsBottom:INT;È,	iValve_BackLeft: INT;É.	iValve_BackRight: INT;Ê.	iValve_FrontLeft: INT;Ë0	iValve_FrontRight: INT;Ì$	iTarBackLeft:INT;Í&	iTarBackRight:INT;Î&	iTarFrontLeft:INT;Ï(	iTarFrontRight:INT;Ð&	iAvgPressure: INT;Ñ&	gxDisablePD: BOOL;Ò(	gpOffsetRaw: POINT;Ó,	gpOffsetDebug: POINT;Ô2	gxGameVisuOffset: POINT;Õ2	gxGameAccuracy: INT:=40;Ö"	factorA:INT:=20;×"	factorB:INT:=20;Ø 	xAtTarget:BOOL;Ù(	pNextTarget :Point;Ú	//tempÛ 	targetHit:BOOL;Ü$	gxGameStart:BOOL;Ý2	gxhideStart: BOOL:=TRUE;Þ,	gxhideGo: BOOL:=TRUE;ß:	gxhideNumTargets:BOOL:=true;à6	iNumTargetsLeft: INT := 5;áB	gxhideMissionSucces: BOOL:=true;âF	gxhideCrossandTargets: BOOL:=true;ã&	gitotalTime: LINT;ä>	gxHidecalibration: BOOL:=TRUE;å6	gxHideSBlocker:BOOL:=TRUE;æ6	gtimeElapsedGametime:LINT;ç.	gstElapsedTime:STRING;è*	ONETIME:BOOL:=TRUE;	é	// Gamevisuê$	randomNumber:INT;ë,	iScaleFactor:INT:=1;	ì0	randomNumber2: INT:=80;í$	targetTimer: TON;î"	// VTEM_Druk_PIDï6	Druk_PD_BackLeft: DRUK_PD;ð8	Druk_PD_backRight: DRUK_PD;ñ8	Druk_PD_frontLeft: Druk_pd;ò:	Druk_PD_frontRight: DRUK_PD;ó	// GameDataô		//Stepsõ&	iSumPressure: INT;ö	wait: BOOL;÷d	waitTimer: TON := (IN := wait, PT := TIME#400ms);ø0	atp1: attargetpressure;ù0	atp2: attargetpressure;ú0	atp3: attargetpressure;û0	atp4: attargetpressure;ü,	ElapsedGameTime: TON;ýR	tonCheckWebAppActive :TON := (PT:=T#2S);þ.	pStaticTarget: Point;	ÿ2	xMovementPositive: BOOL;€(	xGameRunning: BOOL;2	xPlayerInWebConfig:BOOL;‚END_VARƒVAR_IN_OUT„.	Client : PuzzleClient;…VAR_OUTPUT†r	ItfUnitMode	: PACK_ML.IUnitMode; // UnitMode of the axis‡0	xAllValvesRunning:BOOL;ˆ2	xAnyValveNotReady: BOOL;‰"UniqueIdGeneratorŠ7375‹POULevelŒL{8e575c5b-1d37-49c6-941b-5c0ec7874787}StandardŽ ChildObjectGuids8System.Collections.ArrayList,AddAttributeSubsequent‘boolÐÐ-ÐÐ	E
-þÐÐ
­½ÚÐ-ÐÐ
­¾ÚÐ-ÐÐ
­¿ÚÐ-ÐÐ
­ÀÚÐ-ÐÐ
­ÁÚÐ-ÐÐ
­ÂÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­ÄÚÐ-ÐÐ
­ÅÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ÐÐ
­ÈÚÐ-ÐÐ
­ÉÚÐ-ÐÐ
­ÊÚÐ-ÐÐ
­ËÚÐ-ÐÐ
­ÌÚÐ-ÐÐ
­ÍÚÐ-ÐÐ
­ÎÚÐ-ÐÐ
­ÏÚÐ- ÐÐ
­FÚÐ-!ÐÐ
­qÚÐ-"ÐÐ
­ËÚÐ-#ÐÐ
­ÌÚÐ-$ÐÐ
­EÚÐ-%ÐÐ
­ÒÚÐ-&ÐÐ
­ÓÚÐ-'ÐÐ
­ÔÚÐ-(ÐÐ
­ÕÚÐ-)ÐÐ
­ÖÚÐ-*ÐÐ
­×ÚÐ-+ÐÐ
­ØÚÐ-,ÐÐ
­ÙÚÐ--ÐÐ
­ÚÚÐ-.ÐÐ
­ÛÚÐ-/ÐÐ
­ÜÚÐ-0ÐÐ
­ÝÚÐ-1ÐÐ
­ÞÚÐ-2ÐÐ
­ßÚÐ-3ÐÐ
­àÚÐ-4ÐÐ
­áÚÐ-5ÐÐ
­âÚÐ-6ÐÐ
­ãÚÐ-7ÐÐ
­äÚÐ-8ÐÐ
­åÚÐ-9ÐÐ
­æÚÐ-:ÐÐ
­çÚÐ-;ÐÐ
­èÚÐ-<ÐÐ
­éÚÐ-=ÐÐ
­êÚÐ->ÐÐ
­ëÚÐ-?ÐÐ
­ìÚÐ-@ÐÐ
­íÚÐ-AÐÐ
­îÚÐ-BÐÐ
­ïÚÐ-CÐÐ
­ðÚÐ-DÐÐ
­ñÚÐ-EÐÐ
­òÚÐ-FÐÐ
­óÚÐ-)ÐÐ
­ôÚÐ-GÐÐ
­õÚÐ-HÐÐ
­öÚÐ-ÐÐ
­÷ÚÐ-IÐÐ
­øÚÐ-JÐÐ
­ùÚÐ-KÐÐ
­úÚÐ-ÐÐ
­ûÚÐ-ÐÐ
­üÚÐ-ÐÐ
­þÚÐ-LÐÐ
­!ÚÐ-MÐÐ
­ÿÚÐ-ÐÐ
­ÚÐ-NÐÐ
­ÚÐ-OÐÐ
­ÚÐ-PÐÐ
­ÚÐ-QÐÐ
­ÚÐ-PÐÐ
­ÚÐ-RÐÐ
­ÚÐ-SÐÐ
­ÚÐ-TÐÐ
­ÚÐ-UÐÐ
­	ÚÐ-VÐÐ
­
+	ELSEðR		pStaticTarget.X := pStaticTarget.X-1;		ñ	3:òN		pStaticTarget.X := pStaticTarget.X+2;óR		pStaticTarget.X := pStaticTarget.X-2;		ô	4:õ®	pNextTarget.Y := pStaticTarget.Y+REAL_TO_INT(SIN(DINT_TO_REAL(pNextTarget.X)/100)*50);ö	5:÷°	pNextTarget.Y := pStaticTarget.Y+REAL_TO_INT(SIN(DINT_TO_REAL(pNextTarget.X)/50)*100);	ø&// target approach.ùþxAtTarget:=(gxGameVisuOffset.X > (pNextTarget.x - gxGameAccuracy) AND gxGameVisuOffset.X < (pNextTarget.X + gxGameAccuracy) ANDúâgxGameVisuOffset.Y > (pNextTarget.Y - gxGameAccuracy) AND gxGameVisuOffset.Y < (pNextTarget.Y + gxGameAccuracy));û//END_IFü&// VTEM_Druk_PID 'sý.IF NOT gxDisablePD THENþüDruk_PD_BackLeft(target := iTarBackLeft, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_BackLeft, setpoint => iSetPointValue_BackLeft);ÿ„Druk_PD_backRight(target := iTarbackRight, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_backRight, setpoint => iSetPointValue_backRight);€„Druk_PD_frontLeft(target := iTarfrontLeft, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_frontLeft, setpoint => iSetPointValue_frontLeft);ŒDruk_PD_frontRight(target := iTarfrontRight, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_frontRight, setpoint => iSetPointValue_frontRight);‚TgpOffsetRaw.X:=(iAvgPrsRight-iAvgPrsLeft);ƒTgpOffsetRaw.Y:=(iAvgPrsBottom-iAvgPrsTop);„.//offset for debug visu…HgpOffsetDebug.X := gpOffsetRaw.X/10;†HgpOffsetDebug.Y := gpOffsetRaw.Y/10;‡InterfaceˆL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}‰>FUNCTION_BLOCK VtemStateMachineŠVAR‹2	UM			: PACK_ML.UnitMode;Œf	xInit		: BOOL := FALSE; // Flag for initialization0	//VTEM ValveControl FBsŽ`	FB_ValveControl_1: FestoVTEMdc.FB_ValveControl;`	FB_ValveControl_2: FestoVTEMdc.FB_ValveControl;`	FB_ValveControl_3: FestoVTEMdc.FB_ValveControl;‘`	FB_ValveControl_4: FestoVTEMdc.FB_ValveControl;’~	FB_WriteConfig_MA03_Valve1: FestoVTEMdc.FB_Write_config_MA_03;“~	FB_WriteConfig_MA03_Valve2: FestoVTEMdc.FB_Write_config_MA_03;”’	FB_WriteConfig_MA03_Valve1_Incorrect: FestoVTEMdc.FB_Write_config_MA_03;•’	FB_WriteConfig_MA03_Valve2_Incorrect: FestoVTEMdc.FB_Write_config_MA_03;–~	FB_WriteConfig_MA08_Valve1: FestoVTEMdc.FB_Write_config_MA_08;—~	FB_WriteConfig_MA08_Valve2: FestoVTEMdc.FB_Write_config_MA_08;˜ 	FB_Upload_Multiple_Parameters_Valve1:FestoVTEMdc.FB_Upload_Multiple_Parameters;™ 	FB_Upload_Multiple_Parameters_Valve2:FestoVTEMdc.FB_Upload_Multiple_Parameters;šš	aTransferPackagesResult: ARRAY[0..100] OF FestoVTEMdc.stTransferPackage := [›l(iChannel := 1, iAddressedTarget := 3, iIndex := 220),œl(iChannel := 1, iAddressedTarget := 3, iIndex := 221),j(iChannel := 1, iAddressedTarget := 8, iIndex := 12),žj(iChannel := 1, iAddressedTarget := 8, iIndex := 13),Ÿj(iChannel := 1, iAddressedTarget := 8, iIndex := 14), j(iChannel := 1, iAddressedTarget := 8, iIndex := 15),¡j(iChannel := 1, iAddressedTarget := 8, iIndex := 20),¢j(iChannel := 1, iAddressedTarget := 8, iIndex := 21),£j(iChannel := 1, iAddressedTarget := 8, iIndex := 60),¤l(iChannel := 1, iAddressedTarget := 8, iIndex := 100),¥l(iChannel := 1, iAddressedTarget := 8, iIndex := 101),¦~(iChannel := 1, iAddressedTarget := 8, iIndex := 222), 89(())];§0	iVTEMComsRights:INT:=1;¨(	xTransferDone:BOOL;©*	xTransferError:BOOL;ªL	CheckParameters : FB_CheckParameters;«2	xExecuteFB :BOOL:=FALSE;¬D	xDownloadConfigDone1:BOOL:=FALSE;­:	xDownloadError1:BOOL:=FALSE;®D	xDownloadConfigDone2:BOOL:=FALSE;¯:	xDownloadError2:BOOL:=FALSE;°D	xDownloadConfigDone3:BOOL:=FALSE;±:	xDownloadError3:BOOL:=FALSE;²D	xDownloadConfigDone4:BOOL:=FALSE;³:	xDownloadError4:BOOL:=FALSE;´0	iResponseConfig:INT:=0;µd	tonConfigTimeout:TON:=(In:=xExecuteFB,PT:=T#15S);¶@	iStepCheckConfiguration:INT:=0;·	xMatch:BOOL;¸,	xLockLoadConfig:BOOL;¹4	xCheckConfiguration:BOOL;º$	xVtemReset: BOOL;»8	bySetValveModeAll:	BYTE:=3;¼:	bySetAppControlAll:	BYTE:=0;½2	bySetAppOptionAll:	BYTE;¾B	xUseGlobalSetpointValues	:	BOOL;¿>	iSetPointValue_1Global		:	INT;À@	iSetPointValue_BackLeft		:	INT;Á@	iSetPointValue_BackRight	:	INT;Â@	iSetPointValue_FrontLeft	:	INT;ÃB	iSetPointValue_FrontRight	:	INT;Ä$	iAvgPrsLeft :INT;Å"	iAvgPrsTop :INT;Æ$	iAvgPrsRight:INT;Ç&	iAvgPrsBottom:INT;È,	iValve_BackLeft: INT;É.	iValve_BackRight: INT;Ê.	iValve_FrontLeft: INT;Ë0	iValve_FrontRight: INT;Ì$	iTarBackLeft:INT;Í&	iTarBackRight:INT;Î&	iTarFrontLeft:INT;Ï(	iTarFrontRight:INT;Ð&	iAvgPressure: INT;Ñ&	gxDisablePD: BOOL;Ò(	gpOffsetRaw: POINT;Ó,	gpOffsetDebug: POINT;Ô2	gxGameVisuOffset: POINT;Õ2	gxGameAccuracy: INT:=40;Ö"	factorA:INT:=20;×"	factorB:INT:=20;Ø 	xAtTarget:BOOL;Ù(	pNextTarget :Point;Ú	//tempÛ 	targetHit:BOOL;Ü$	gxGameStart:BOOL;Ý2	gxhideStart: BOOL:=TRUE;Þ,	gxhideGo: BOOL:=TRUE;ß:	gxhideNumTargets:BOOL:=true;à6	iNumTargetsLeft: INT := 5;áB	gxhideMissionSucces: BOOL:=true;âF	gxhideCrossandTargets: BOOL:=true;ã&	gitotalTime: LINT;ä>	gxHidecalibration: BOOL:=TRUE;å6	gxHideSBlocker:BOOL:=TRUE;æ6	gtimeElapsedGametime:LINT;ç.	gstElapsedTime:STRING;è*	ONETIME:BOOL:=TRUE;	é	// Gamevisuê$	randomNumber:INT;ë,	iScaleFactor:INT:=1;	ì0	randomNumber2: INT:=80;í$	targetTimer: TON;î"	// VTEM_Druk_PIDï6	Druk_PD_BackLeft: DRUK_PD;ð8	Druk_PD_backRight: DRUK_PD;ñ8	Druk_PD_frontLeft: Druk_pd;ò:	Druk_PD_frontRight: DRUK_PD;ó	// GameDataô		//Stepsõ&	iSumPressure: INT;ö	wait: BOOL;÷d	waitTimer: TON := (IN := wait, PT := TIME#400ms);ø0	atp1: attargetpressure;ù0	atp2: attargetpressure;ú0	atp3: attargetpressure;û0	atp4: attargetpressure;ü,	ElapsedGameTime: TON;ýR	tonCheckWebAppActive :TON := (PT:=T#2S);þ.	pStaticTarget: Point;	ÿ2	xMovementPositive: BOOL;€(	xGameRunning: BOOL;2	xPlayerInWebConfig:BOOL;‚END_VARƒVAR_IN_OUT„.	Client : PuzzleClient;…VAR_OUTPUT†r	ItfUnitMode	: PACK_ML.IUnitMode; // UnitMode of the axis‡0	xAllValvesRunning:BOOL;ˆ2	xAnyValveNotReady: BOOL;‰"UniqueIdGeneratorŠ7376‹POULevelŒL{8e575c5b-1d37-49c6-941b-5c0ec7874787}StandardŽ ChildObjectGuids8System.Collections.ArrayList,AddAttributeSubsequent‘boolÐÐ-ÐÐ	E
+ÿÐÐ
­½ÚÐ-ÐÐ
­¾ÚÐ-ÐÐ
­¿ÚÐ-ÐÐ
­ÀÚÐ-ÐÐ
­ÁÚÐ-ÐÐ
­ÂÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­ÄÚÐ-ÐÐ
­ÅÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ÐÐ
­ÈÚÐ-ÐÐ
­ÉÚÐ-ÐÐ
­ÊÚÐ-ÐÐ
­ËÚÐ-ÐÐ
­ÌÚÐ-ÐÐ
­ÍÚÐ-ÐÐ
­ÎÚÐ-ÐÐ
­ÏÚÐ- ÐÐ
­FÚÐ-!ÐÐ
­qÚÐ-"ÐÐ
­ËÚÐ-#ÐÐ
­ÌÚÐ-$ÐÐ
­EÚÐ-%ÐÐ
­ÒÚÐ-&ÐÐ
­ÓÚÐ-'ÐÐ
­ÔÚÐ-(ÐÐ
­ÕÚÐ-)ÐÐ
­ÖÚÐ-*ÐÐ
­×ÚÐ-+ÐÐ
­ØÚÐ-,ÐÐ
­ÙÚÐ--ÐÐ
­ÚÚÐ-.ÐÐ
­ÛÚÐ-/ÐÐ
­ÜÚÐ-0ÐÐ
­ÝÚÐ-1ÐÐ
­ÞÚÐ-2ÐÐ
­ßÚÐ-3ÐÐ
­àÚÐ-4ÐÐ
­áÚÐ-5ÐÐ
­âÚÐ-6ÐÐ
­ãÚÐ-7ÐÐ
­äÚÐ-8ÐÐ
­åÚÐ-9ÐÐ
­æÚÐ-:ÐÐ
­çÚÐ-;ÐÐ
­èÚÐ-<ÐÐ
­éÚÐ-=ÐÐ
­êÚÐ->ÐÐ
­ëÚÐ-?ÐÐ
­ìÚÐ-@ÐÐ
­íÚÐ-AÐÐ
­îÚÐ-BÐÐ
­ïÚÐ-CÐÐ
­ðÚÐ-DÐÐ
­ñÚÐ-EÐÐ
­òÚÐ-FÐÐ
­óÚÐ-)ÐÐ
­ôÚÐ-GÐÐ
­õÚÐ-HÐÐ
­öÚÐ-ÐÐ
­÷ÚÐ-IÐÐ
­øÚÐ-JÐÐ
­ùÚÐ-KÐÐ
­úÚÐ-ÐÐ
­ûÚÐ-ÐÐ
­üÚÐ-ÐÐ
­þÚÐ-LÐÐ
­!ÚÐ-MÐÐ
­ÿÚÐ-ÐÐ
­ÚÐ-NÐÐ
­ÚÐ-OÐÐ
­ÚÐ-PÐÐ
­ÚÐ-QÐÐ
­ÐÚÐ-ÐÐ
­ÚÐ-PÐÐ
­ÚÐ-RÐÐ
­ÚÐ-SÐÐ
­ÚÐ-TÐÐ
­ÚÐ-UÐÐ
­	ÚÐ-VÐÐ
­
 ÚÐ-WÐÐ
­ÚÐ-XÐÐ
­ÚÐ-PÐÐ
­
ÚÐ-WÐÐ
­ÚÐ-PÐÐ
­ÚÐ-YÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-PÐÐ
­ÚÐ-_ÐÐ
­ÚÐ-`ÐÐ
­ÚÐ-aÐÐ
­ÚÐ-bÐÐ
­ÚÐ-cÐÐ
­ÚÐ-dÐÐ
­ÚÐ-eÐÐ
­ÚÐ-fÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-gÐÐ
­ ÚÐ-[ÐÐ
­!ÚÐ-\ÐÐ
­"ÚÐ-]ÐÐ
­#ÚÐ-hÐÐ
­$ÚÐ-$ÐÐ
­%ÚÐ-iÐÐ
­&ÚÐ-jÐÐ
­'ÚÐ-kÐÐ
­(ÚÐ-ÐÐ
­)ÚÐ-lÐÐ
­*ÚÐ-ÐÐ
­+ÚÐ-mÐÐ
­,ÚÐ-GÐÐ
­-ÚÐ-nÐÐ
­\ÚÐ-oÐÐ
­/ÚÐ-pÐÐ
­0ÚÐ-qÐÐ
­1ÚÐ-rÐÐ
­2ÚÐ-sÐÐ
­3ÚÐ-tÐÐ
­4ÚÐ-uÐÐ
­5ÚÐ-vÐÐ
­7ÚÐ-wÐÐ
­ðÚÐ-xÐÐ
­fÚÐ-yÐÐ
­gÚÐ-zÐÐ
­hÚÐ-{ÐÐ
­jÚÐ-|ÐÐ
­kÚÐ-}ÐÐ
­pÚÐ-~ÐÐ
­lÚÐ-}ÐÐ
­oÚÐ-ÐÐ
­qÚÐ-$ÐÐ
­òÚÐ-€ÐÐ
­õÚÐ-ÐÐ
­ÚÐ-yÐÐ
­‚ÚÐ-zÐÐ
­ƒÚÐ-{ÐÐ
­„ÚÐ-‚ÐÐ
­…ÚÐ-}ÐÐ
­‡ÚÐ-~ÐÐ
­ˆÚÐ-}ÐÐ
­yÚÐ-ÐÐ
­÷ÚÐ-ƒÐÐ
­ûÚÐ-„ÐÐ
­ŠÚÐ-yÐÐ
­‹ÚÐ-zÐÐ
­ŒÚÐ-{ÐÐ
­ÚÐ-…ÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-~ÐÐ
­‘ÚÐ-}ÐÐ
­rÚÐ-ÐÐ
­¤ÚÐ-$ÐÐ
­›ÚÐ-†ÐÐ
­üÚÐ-‡ÐÐ
­ÀÚÐ-yÐÐ
­ÁÚÐ-zÐÐ
­ÂÚÐ-{ÐÐ
­ÃÚÐ-ˆÐÐ
­ÅÚÐ-}ÐÐ
­ÆÚÐ-~ÐÐ
­ÇÚÐ-}ÐÐ
­nÚÐ-ÐÐ
­§ÚÐ-$ÐÐ
­þÚÐ-‰ÐÐ
­eÚÐ-oÐÐ
­ÎÚÐ-ŠÐÐ
­ÑÚÐ-‹ÐÐ
­ÒÚÐ-$ÐÐ
­ÓÚÐ-ŒÐÐ
­ÕÚÐ-ÐÐ
­×ÚÐ-ŽÐÐ
­ØÚÐ-ÐÐ
­ÔÚÐ-ÐÐ
­ÛÚÐ-ÐÐ
­lÚÐ-ÐÐ
­mÚÐ-$ÐÐ
­nÚÐ-‘ÐÐ
­oÚÐ-’ÐÐ
­pÚÐ-“ÐÐ
­qÚÐ-”ÐÐ
­rÚÐ-•ÐÐ
­sÚÐ-–ÐÐ
­tÚÐ-ÐÐ
­uÚÐ-[ÐÐ
­vÚÐ-\ÐÐ
­wÚÐ-]ÐÐ
­xÚÐ-hÐÐ
­yÚÐ-—ÐÐ
­zÚÐ-cÐÐ
­{ÚÐ-˜ÐÐ
­|ÚÐ-™ÐÐ
­}ÚÐ-dÐÐ
­~ÚÐ-šÐÐ
­ÚÐ-›ÐÐ
­€ÚÐ-œÐÐ
­ÚÐ-ÐÐ
­‚ÚÐ-žÐÐ
­ƒÚÐ-ŸÐÐ
­„ÚÐ- ÐÐ
­…ÚÐ-GÐÐ
­†ÚÐ-¡ÐÐ
­‡ÚÐ-¢ÐÐ
­‰ÚÐ-ÐÐ
­ÌÚÐ-$ÐÐ
­ÍÚÐ-$ÐÐ
­ŠÚÐ-£ÐÐ
­‹ÚÐ-¤ÐÐ
­ŒÚÐ-¥ÐÐ
­ÚÐ-¦ÐÐ
­ŽÚÐ-§ÐÐ
­ÚÐ-¨ÐÐ
­ÚÐ-©ÐÐ
­‘ÚÐ-ªÐÐ
­ÎÚÐ-«ÐÐ
­’ÚÐ-¬ÐÐ
­“ÚÐ-­ÐÐ
­ÍÚÐ-®ÐÐ
­ÚÐ-¯ÐÐ
­”ÚÐ-°ÐÐ
­•ÚÐ-`ÐÐ
­–ÚÐ-±ÐÐ
­—ÚÐ-²ÐÐ
­˜ÚÐ-³ÐÐ
­™ÚÐ-´ÐÐ
­šÚÐ-µÐÐ
­›ÚÐ-¶ÐÐ
­œÚÐ-·ÐÐ
­ÚÐ-¸ÐÐ
­žÚÐ-¹ÐÐ
­ŸÚÐ-ºÐÐ
­ ÚÐ-»ÐÐ
­¡ÚÐ-¼ÐÐ
­¢ÚÐ-GÐÐ
­£ÚÐ-½ÐÐ
­¤ÚÐ-¾ÐÐ
­¥ÚÐ-¿ÐÐ
­¦ÚÐ-ÀÐÐ
­§ÚÐ-)ÐÐ
­¨ÚÐ-GÐÐ
­©ÚÐ-ÁÐÐ
­ªÚÐ-ÂÐÐ
­«ÚÐ-ÃÐÐ
­¬ÚÐ-ÄÐÐ
­­ÚÐ-ÅÐÐ
­®ÚÐ-ºÐÐ
­¯ÚÐ-ÆÐÐ
­°ÚÐ-GÐÐ
­±ÚÐ-ÇÐÐ
­²ÚÐ-¾ÐÐ
­³ÚÐ-¿ÐÐ
­´ÚÐ-ÈÐÐ
­µÚÐ-)ÐÐ
­¶ÚÐ-ÉÐÐ
­·ÚÐ-ÊÐÐ
­¸ÚÐ-·ÐÐ
­¹ÚÐ-ËÐÐ
­ºÚÐ-¹ÐÐ
­»ÚÐ-ºÐÐ
­¼ÚÐ-ÌÐÐ
­½ÚÐ-GÐÐ
­¾ÚÐ-ÍÐÐ
­¿ÚÐ-¾ÐÐ
­ÀÚÐ-¿ÐÐ
­ÁÚÐ-ÎÐÐ
­ÂÚÐ-)ÐÐ
­ÃÚÐ-GÐÐ
­ÄÚÐ-ÏÐÐ
­ÅÚÐ-ÂÐÐ
­ÆÚÐ-ÐÐÐ
­ÇÚÐ-ÄÐÐ
­ÈÚÐ-ÑÐÐ
­ÉÚÐ-ºÐÐ
­ÊÚÐ-ÒÐÐ
­ËÚÐ-GÐÐ
­ÌÚÐ-ÓÐÐ
­ÍÚÐ-¾ÐÐ
­ÎÚÐ-¿ÐÐ
­ÏÚÐ-ÔÐÐ
­ÐÚÐ-µÐÐ
­ÑÚÐ-)ÐÐ
­ÒÚÐ-ÕÐÐ
­ÓÚÐ-²ÐÐ
­ÔÚÐ-GÐÐ
­ÕÚÐ-¶ÐÐ
­ÖÚÐ-ÃÐÐ
­×ÚÐ-ËÐÐ
­ØÚÐ-ÑÐÐ
­ÙÚÐ-ÖÐÐ
­ÚÚÐ-×ÐÐ
­ÛÚÐ-ØÐÐ
­ÜÚÐ-ÙÐÐ
­ÝÚÐ-GÐÐ
­ÞÚÐ-ÚÐÐ
­ßÚÐ-ÛÐÐ
­àÚÐ-ÜÐÐ
­áÚÐ-ÝÐÐ
­âÚÐ-ÞÐÐ
­ãÚÐ-ßÐÐ
­äÚÐ-àÐÐ
­åÚÐ-áÐÐ
­æÚÐ-âÐÐ
­çÚÐ-—ÐÐ
­èÚÐ-ãÐÐ
­éÚÐ-)ÐÐ
­êÚÐ-¾ÐÐ
­ëÚÐ-˜ÐÐ
­ìÚÐ-äÐÐ
­íÚÐ-4ÐÐ
­îÚÐ-åÐÐ
­ïÚÐ-)ÐÐ
­ÞÚÐ-$ÐÐ
­ßÚÐ-æÐÐ
­ÚÐ-çÐÐ
­ÚÐ-yÐÐ
­ÚÐ-zÐÐ
­ÚÐ-{ÐÐ
­ÚÐ-èÐÐ
­ÚÐ-}ÐÐ
­	ÚÐ-~ÐÐ
­
 ÚÐ-}ÐÐ
­ÚÐ-ÐÐ
­
ÚÐ-$ÐÐ
­ÚÐ-éÐÐ
­ÚÐ-êÐÐ
­ÚÐ-yÐÐ
­ÚÐ-zÐÐ
­ÚÐ-{ÐÐ
­ÚÐ-ëÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-~ÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-ÐÐ
­6ÚÐ-ìÐÐ
­8ÚÐ-íÐÐ
­9ÚÐ-îÐÐ
­:ÚÐ-ïÐÐ
­;ÚÐ-ðÐÐ
­=ÚÐ-ñÐÐ
­>ÚÐ-òÐÐ
­ÏÚÐ-óÐÐ
­?ÚÐ-ÐÐ
­7ÚÐ-$ÐÐ
­ÚÐ-ôÐÐ
­ÚÐ-õÐÐ
­ÚÐ-öÐÐ
­ÚÐ-÷ÐÐ
­$ÚÐ-øÐÐ
­'ÚÐ-ùÐÐ
­#ÚÐ-ÐÐ
­%ÚÐ-úÐÐ
­rÚÐ-ûÐÐ
­sÚÐ-üÐÐ
­tÚÐ-)ÐÐ
­(ÚÐ-ýÐÐ
­)ÚÐ-þÐÐ
­*ÚÐ-ÿÐÐ
­3ÚÐ-€ÐÐ
­-ÚÐ-ÐÐ
­2ÚÐ-‚ÐÐ
­.ÚÐ-ÐÐ
­&ÚÐ-GÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-ƒÐÐ
­àÚÐ-oÐÐ
­áÚÐ-ŠÐÐ
­âÚÐ-„ÐÐ
­ãÚÐ-$ÐÐ
­äÚÐ-…ÐÐ
­åÚÐ-ÐÐ
­æÚÐ-†ÐÐ
­CÚÐ-ÛÐÐ
­DÚÐ-‡ÐÐ
­èÚÐ-ÐÐ
­ÚÐ-$ÐÐ
­éÚÐ-ÐÐ
­êÚÐ-óÐÐ
­ÝÚÐ-ÐÐ
­ŸÚÐ-$ÐÐ
­¡ÚÐ-ˆÐÐ
­¢ÚÐ-xÐÐ
­£ÚÐ-yÐÐ
­¤ÚÐ-zÐÐ
­¥ÚÐ-{ÐÐ
­¦ÚÐ-|ÐÐ
­§ÚÐ-}ÐÐ
­¨ÚÐ-~ÐÐ
­©ÚÐ-}ÐÐ
­ªÚÐ-ÐÐ
­«ÚÐ-$ÐÐ
­¬ÚÐ-€ÐÐ
­­ÚÐ-ÐÐ
­®ÚÐ-yÐÐ
­¯ÚÐ-zÐÐ
­°ÚÐ-{ÐÐ
­±ÚÐ-‚ÐÐ
­²ÚÐ-}ÐÐ
­³ÚÐ-~ÐÐ
­´ÚÐ-}ÐÐ
­µÚÐ-ÐÐ
­¶ÚÐ-ƒÐÐ
­·ÚÐ-„ÐÐ
­¸ÚÐ-yÐÐ
­¹ÚÐ-zÐÐ
­ºÚÐ-{ÐÐ
­»ÚÐ-…ÐÐ
­¼ÚÐ-}ÐÐ
­½ÚÐ-~ÐÐ
­¾ÚÐ-}ÐÐ
­¿ÚÐ-ÐÐ
­ÀÚÐ-$ÐÐ
­ÁÚÐ-†ÐÐ
­ÂÚÐ-‡ÐÐ
­ÃÚÐ-yÐÐ
­ÄÚÐ-zÐÐ
­ÅÚÐ-{ÐÐ
­ÆÚÐ-‰ÐÐ
­ÇÚÐ-}ÐÐ
­ÈÚÐ-~ÐÐ
­ÉÚÐ-}ÐÐ
­ÊÚÐ-ÐÐ
­ ÚÐ-$ÐÐ
­öÚÐ-$ÐÐ
­÷ÚÐ-GÐÐ
­øÚÐ-ŠÐÐ
­ùÚÐ-‹ÐÐ
­úÚÐ-ÐÐ
­ûÚÐ-ŒÐÐ
­üÚÐ-ÐÐ
­ýÚÐ-—ÐÐ
­þÚÐ-cÐÐ
­ÿÚÐ-˜ÐÐ
­ÚÐ-™ÐÐ
­ÚÐ-dÐÐ
­ÚÐ-šÐÐ
­ÚÐ-ŽÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­	ÚÐ-hÐÐ
­
 ÚÐ-ŒÐÐ
­ÚÐ-‘ÐÐ
­ÚÐ-fÐÐ
­
ÚÐ-—ÐÐ
­ÚÐ-cÐÐ
­ÚÐ-˜ÐÐ
­ÚÐ-™ÐÐ
­ÚÐ-dÐÐ
­ÚÐ-šÐÐ
­ÚÐ-ŒÐÐ
­ÚÐ-’ÐÐ
­ÚÐ-ŒÐÐ
­ÚÐ-“ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-”ÐÐ
­ÚÐ-•ÐÐ
­ÚÐ-–ÐÐ
­ÚÐ-—ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-˜ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ ÚÐ-™ÐÐ
­!ÚÐ-šÐÐ
­"ÚÐ-›ÐÐ
­#ÚÐ-œÐÐ
­$ÚÐ-ÐÐ
­%ÚÐ-žÐÐ
­&ÚÐ-ŸÐÐ
­'ÚÐ- ÐÐ
­(ÚÐ-¡ÐÐ
­)ÚÐ-¢ÐÐ
­*ÚÐ-ÐÐ
­+ÚÐ-£ÐÐ
­,ÚÐ-¤ÐÐ
­-ÚÐ-¥ÐÐ
­.ÚÐ-¦ÐÐ
­/ÚÐ-§ÐÐ
­0ÚÐ-ÐÐ
­1ÚÐ-ÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-¨ÐÐ
­4ÚÐ-©ÐÐ
­5ÚÐ-ªÐÐ
­6ÚÐ-«ÐÐ
­7ÚÐ-¬ÐÐ
­8ÚÐ-­ÐÐ
­9ÚÐ-®ÐÐ
­:ÚÐ-¯ÐÐ
­;ÚÐ-°ÐÐ
­<ÚÐ-ÐÐ
­=ÚÐ-±ÐÐ
­>ÚÐ-²ÐÐ
­?ÚÐ-³ÐÐ
­@ÚÐ-´ÐÐ
­AÚÐ-µÐÐ
­BÚÐ-¶ÐÐ
­CÚÐ-·ÐÐ
­DÚÐ-¸ÐÐ
­EÚÐ-¹ÐÐ
­FÚÐ-ºÐÐ
­GÚÐ-»ÐÐ
­HÚÐ-¼ÐÐ
­IÚÐ-½ÐÐ
­JÚÐ-¾ÐÐ
­KÚÐ-¿ÐÐ
­LÚÐ-ÀÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÁÐÐ
­OÚÐ-ÂÐÐ
­PÚÐ-·ÐÐ
­QÚÐ-¸ÐÐ
­RÚÐ-¹ÐÐ
­SÚÐ-ºÐÐ
­TÚÐ-ÃÐÐ
­UÚÐ-ÄÐÐ
­VÚÐ-ÅÐÐ
­WÚÐ-ÆÐÐ
­XÚÐ-ÇÐÐ
­YÚÐ-ÈÐÐ
­ZÚÐ-ÐÐ
­[ÚÐ-ÉÐÐ
­\ÚÐ-½ÐÐ
­]ÚÐ-ÁÐÐ
­^ÚÐ-ÊÐÐ
­_ÚÐ-ËÐÐ
­`ÚÐ-ÌÐÐ
­aÚÐ-ÍÐÐ
­bÚÐ-ÎÐÐ
­cÚÐ-ÍÐÐ
­dÚÐ-ÏÐÐ
­eÚÐ-ÐÐÐ
­fÚÐ-ÐÐ
­gÚÐ-ÑÐÐ
­hÚÐ-ÒÐÐ
­iÚÐ-ÓÐÐ
­kÚÐ-ÔÐÐ
­lÚÐ-ÕÐÐ
­mÚÐ-ÖÐÐ
­nÚÐ-×ÐÐ
­oÚÐ-ØÐÐ
­pÚÐ-ÙÐÐ
­qÚÐ-ÚÐÐ
­rÚÐ-ÛÐÐ
­sÚÐ-ÜÐÐ
­tÚÐ-—ÐÐ
­uÚÐ-ÝÐÐ
­vÚÐ-ÞÐÐ
­wÚÐ-ßÐÐ
­xÚÐ-ÐÐ
­yÚÐ-àÐÐ
­zÚÐ-áÐÐ
­{ÚÐ-âÐÐ
­|ÚÐ-ÐÐ
­}ÚÐ-ÐÐ
­~ÚÐ-ãÐÐ
­ÚÐ-äÐÐ
­€ÚÐ-ØÐÐ
­ÚÐ-ÙÐÐ
­‚ÚÐ-ÚÐÐ
­ƒÚÐ-ÛÐÐ
­„ÚÐ-ÐÐ
­…ÚÐ-ÐÐ
­†ÚÐ-åÐÐ
­‡ÚÐ-æÐÐ
­ˆÚÐ-çÐÐ
­‰ÚÐ-èÐÐ
­ŠÚÐ-éÐÐ
­‹ÚÐ-êÐÐ
­ŒÚÐ-ëÐÐ
­ÚÐ-ìÐÐ
­ŽÚÐ-íÐÐ
­ÚÐ-îÐÐ
­ÚÐ-ïÐÐ
­‘ÚÐ-ðÐÐ
­’ÚÐ-WÐÐ
­“ÚÐ-èÐÐ
­”ÚÐ-éÐÐ
­•ÚÐ-êÐÐ
­–ÚÐ-ëÐÐ
­—ÚÐ-ñÐÐ
­˜ÚÐ-íÐÐ
­™ÚÐ-òÐÐ
­šÚÐ-ïÐÐ
­›ÚÐ-óÐÐ
­œÚÐ-WÐÐ
­ÚÐ-èÐÐ
­žÚÐ-éÐÐ
­ŸÚÐ-êÐÐ
­ ÚÐ-ëÐÐ
­¡ÚÐ-ôÐÐ
­¢ÚÐ-íÐÐ
­£ÚÐ-îÐÐ
­¤ÚÐ-ïÐÐ
­¥ÚÐ-ðÐÐ
­¦ÚÐ-WÐÐ
­§ÚÐ-èÐÐ
­¨ÚÐ-éÐÐ
­©ÚÐ-êÐÐ
­ªÚÐ-õÐÐ
­«ÚÐ-öÐÐ
­¬ÚÐ-íÐÐ
­­ÚÐ-òÐÐ
­®ÚÐ-ïÐÐ
­¯ÚÐ-óÐÐ
­°ÚÐ-WÐÐ
­±ÚÐ-èÐÐ
­²ÚÐ-éÐÐ
­³ÚÐ-êÐÐ
­´ÚÐ-÷ÐÐ
­µÚÐ-“ÐÐ
­¶ÚÐ-ÐÐ
­·ÚÐ-øÐÐ
­¸ÚÐ-ùÐÐ
­¹ÚÐ-úÐÐ
­ºÚÐ-ÐÐ
­»ÚÐ-ûÐÐ
­¼ÚÐ-ÐÐ
­½ÚÐ-üÐÐ
­¾ÚÐ-ýÐÐ
­¿ÚÐ-þÐÐ
­ÀÚÐ-ÿÐÐ
­ÁÚÐ-€ÐÐ
­ÂÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­ÄÚÐ-‚ÐÐ
­ÅÚÐ-ƒÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-„ÐÐ
­ÈÚÐ-…ÐÐ
­ÉÚÐ-†ÐÐ
­