--- a/branches/PackMLState/Display_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/ByteSwapPuzzleStateMachine/svnobj
+++ b/branches/PackMLState/Display_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/ByteSwapPuzzleStateMachine/svnobj
@@ -1,11 +1,11 @@
-Gx_ln[!0…jüo25iÀC&੶bSystem.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üov7Q`Žå(&-{øOSystem.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);	xInit := TRUE;	END_IF4IF Client.bReadyToPLC THEN:	CASE Client.iCommandToPLC OF"	0 : 	//Handshake	1 : 	//Lock		IF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[0]) =  0 THEN		 4			overrideKey := TRUE;			!–		ELSIF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[1]) =  0 THEN		"2			//Second Lock Function#
-			;	$		END_IF%	2 : 	//Key&	3 : 	//IO'	4 : 	//Media(	5 : 	//Hint)	6 : 	//State	*p		IF SysStrCmp(Client.sCommandFromPLC, 'SC') =  0 THEN		+&			StateComplete();,x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Start') =  0 THEN		-			Start();.v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Stop') =  0 THEN		/			Stop();0x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Reset') =  0 THEN		1			Reset();2x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Abort') =  0 THEN		3			Abort();4x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Clear') =  0 THEN		5			Clear();6v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Hold') =  0 THEN		7			Hold();8z		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnHold') =  0 THEN		9			Unhold();	:|		ELSIF SysStrCmp(Client.sCommandToPLC, 'Suspend') =  0 THEN		;			Suspend();<€		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnSuspend') =  0 THEN		=			UnSuspend();>		?	END_CASE@6	Client.iCommandToPLC := 0;A8	Client.sCommandToPLC := '';B:	Client.bReadyToPLC := FALSE;C.CASE UM.CurrentState OFD,PACK_ML.State.Stopped:E	;F,PACK_ML.State.Aborted:G&PACK_ML.State.Idle:H2PACK_ML.State.Complete :	I.PACK_ML.State.Execute :J(	CASE Client.Mode OFK		Mode.Mode1:LH			IF puzzleTimer.iProcess = 10 THENM˜				SendCommand(Command := CommandType.Hint ,Value := 'Time is the Key!.');	N			END_IFOH			IF puzzleTimer.iProcess = 25 THENP„				SendCommand(Command := CommandType.Hint ,Value := '36 9 34');	QJ			IF puzzleTimer.iProcess = 40 THEN	Rœ				SendCommand(Command := CommandType.Media ,Value := 'Padlock K000367');				SH			IF puzzleTimer.iProcess = 70 THENTF				IF Client.ActualStep <= 10 THENUú					SendCommand(Command := CommandType.Media ,Value := 'https://en.wikipedia.org/wiki/Bit_numbering#Least_significant_bit');V				END_IFW			END_IF				X.			CASE Client.Level OFY&				Level.Beginner:ZF					ShadowInByte := ROL(InByte,0);[.				Level.Placeholder1:\F					ShadowInByte := ROL(InByte,2);].				Level.Intermediate:^F					ShadowInByte := ROL(InByte,4);_.				Level.Placeholder2:`F					ShadowInByte := ROL(InByte,6);a&				Level.Advanced:bF					ShadowInByte := ROL(InByte,8);c			END_CASEd		Mode.Mode2:eÒ					SendCommand(Command := CommandType.Media ,Value := 'https://www.youtube.com/watch?v=dQw4w9WgXcQ');		f			END_IF		g
-					h			i,			temp.7 := InByte.5;j,			temp.6 := InByte.2;k,			temp.5 := InByte.7;l,			temp.4 := InByte.1;m,			temp.3 := InByte.6;n,			temp.2 := InByte.0;o,			temp.1 := InByte.3;p,			temp.0 := InByte.4;q				r2			ShadowInByte := temp; s		Mode.Mode3:tÝ					SendCommand(Command := CommandType.Media ,Value := 'https://en.wikipedia.org/wiki/Endianness#Files_and_byte_swap');				u,			temp.7 := InByte.0;v,			temp.6 := InByte.1;w,			temp.5 := InByte.2;x,			temp.4 := InByte.3;y,			temp.3 := InByte.4;z,			temp.2 := InByte.5;{,			temp.1 := InByte.6;|,			temp.0 := InByte.7;}4			ShadowInByte := temp; 	~4	CASE Client.ActualStep OF0		0:	// Waiting for key.ÄV			IF DI_Key_switch OR overrideKey THEN				Ā`				Client.ActualStep := Client.ActualStep + 10;ā&				ViewIndex := 0;ÉĖ				SendCommand(Command := CommandType.Key,Value := Client.KeyCommands[0]);Ą4				// Turn on the screen.Ö			END_IF	Ü.		10: // Check solutioná		 	ą 			IF ton.Q THENČ@				IF LocalOutByte = 255 THEN		ä.					LocalOutByte := 0;č				ELSEĆL					LocalOutByte := LocalOutByte + 1;ć>				OutByte := LocalOutByte;			é^				Client.ActualStep := Client.ActualStep + 5;Ź
-		15:4			IF CheckSolution() THEN‘`				Client.ActualStep := Client.ActualStep + 5;	’			ELSE“f				Client.ActualStep := Client.ActualStep - 5;				”h			IF NOT DI_Key_switch AND NOT overrideKey THEN				•6				Client.ActualStep := 0;–&				ViewIndex := 1;—6				// Turn off the screen.˜
-		20:™"				OutByte := 1;šf				Client.ActualStep := Client.ActualStep + 10;		 ›		30:	œD				IF ShadowInByte = OutByte THENb					Client.ActualStep := Client.ActualStep + 10;ž:					Client.ActualStep := 10;Ÿl				IF NOT DI_Key_switch AND NOT overrideKey  THEN				 8					Client.ActualStep := 0;¡(					ViewIndex := 1;¢8					// Turn off the screen.£				END_IF	¤
-		40:¥"				OutByte := 2;¦d				Client.ActualStep := Client.ActualStep + 10;	 §		50:	¨
-		60:©"				OutByte := 4;ª		70:	«
-		80:¬"				OutByte := 8;­		90:	®		100:¯$				OutByte := 16;°		110:	±		120:²$				OutByte := 32;³		130:	´		140:µ$				OutByte := 64;¶		150:	·		160:¸&				OutByte := 128;¹b				Client.ActualStep := Client.ActualStep + 10; º		170:	»		180: 					¼(				StateComplete();½2PACK_ML.State.Resetting :¾ 	ViewIndex := 1;¿,	overrideKey := FALSE;À$	LocalInByte := 0;Á&	LocalOutByte := 0;Â&	ShadowInByte := 0;Ã	OutByte := 0;Ä"	StateComplete();Å0PACK_ML.State.Starting :Æ4PACK_ML.State.Completing :Ç0PACK_ML.State.Aborting :È.PACK_ML.State.Stopping:É2PACK_ML.State.Clearing :	ÊEND_CASEËLClient.ActualState := UM.CurrentState;ÌVIF NOT x_EmergencyGF AND x_EmergencyFF THENÍ(	 //Emergency Abort.Î	Abort();	ÏäpuzzleTimer(xStartTimer := UM.CurrentState = PACK_ML.State.Execute ,xPauseTimer := ,xStopTimer:= NOT (UM.CurrentState = PACK_ML.State.Execute),tMaxPuzzleTime := Client.Duration);Ð>messageQueue(Client := Client);ÑPClient.Progress := puzzleTimer.iProcess;ÒFIF puzzleTimer.iProcess >= 100 THENÓ	//Stop();	Ô¸ton(IN := (Client.ActualState = PACK_ML.Execute AND Client.ActualStep = 10 ),PT := T#500MS);ÕInterfaceÖL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}×RFUNCTION_BLOCK ByteSwapPuzzleStateMachineØVAR_IN_OUTÙ.	Client : PuzzleClient;Ú"	ViewIndex : INT;ÛEND_VARÜVARÝ0	UM	: PACK_ML.UnitMode; Þj	xInit				: BOOL := FALSE; // Flag for initializationß(	overrideKey : BOOL;à6	puzzleTimer : PuzzleTimer;á:	messageQueue : MessageQueue;â&	LocalInByte :BYTE;ã(	LocalOutByte :BYTE;ä,	InByte AT %IB0: BYTE;å(	ShadowInByte :BYTE;æ.	OutByte AT %QB0: BYTE;ç	ton  : TON;è	iRol:INT := 4;é	temp : BYTE;ê"UniqueIdGeneratorë920ìPOULevelíL{8e575c5b-1d37-49c6-941b-5c0ec7874787}îStandardï ChildObjectGuidsð8System.Collections.ArrayListñ,AddAttributeSubsequentòboolÐÐ-ÐÐ	E
-ïÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­lÚÐ-ÐÐ
­eÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ŽÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­”ÚÐ-ÐÐ
­®ÚÐ-ÐÐ
­–ÚÐ-ÐÐ
­µÚÐ-ÐÐ
­´ÚÐ- ÐÐ
­¶ÚÐ-!ÐÐ
­·ÚÐ-"ÐÐ
­øÚÐ-#ÐÐ
­¯ÚÐ-$ÐÐ
­ÚÚÐ-%ÐÐ
­ªÚÐ-&ÐÐ
­«ÚÐ-'ÐÐ
­¬ÚÐ-(ÐÐ
­­ÚÐ-)ÐÐ
­¹ÚÐ-*ÐÐ
­ºÚÐ-+ÐÐ
­»ÚÐ-,ÐÐ
­¾ÚÐ--ÐÐ
­¿ÚÐ-.ÐÐ
­ÀÚÐ-/ÐÐ
­ÁÚÐ-0ÐÐ
­ÂÚÐ-1ÐÐ
­ÃÚÐ-2ÐÐ
­ÄÚÐ-3ÐÐ
­ÅÚÐ-4ÐÐ
­ÆÚÐ-5ÐÐ
­ÇÚÐ-6ÐÐ
­ÈÚÐ-7ÐÐ
­ÉÚÐ-8ÐÐ
­ÎÚÐ-9ÐÐ
­ÏÚÐ-:ÐÐ
­ÐÚÐ-;ÐÐ
­ÑÚÐ-<ÐÐ
­¼ÚÐ-=ÐÐ
­¸ÚÐ-$ÐÐ
­½ÚÐ->ÐÐ
­—ÚÐ-?ÐÐ
­ÓÚÐ-ÐÐ
­ÕÚÐ-@ÐÐ
­ÖÚÐ-AÐÐ
­×ÚÐ-BÐÐ
­•ÚÐ-ÐÐ
­‘ÚÐ-ÐÐ
­’ÚÐ-ÐÐ
­“ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-CÐÐ
­ÚÐ-DÐÐ
­ÚÐ-EÐÐ
­ÚÐ-FÐÐ
­ÚÐ-EÐÐ
­ÚÐ-GÐÐ
­ÚÐ-EÐÐ
­ ÚÐ-HÐÐ
­¦ÚÐ-EÐÐ
­ŸÚÐ-IÐÐ
­ÚÐ-JÐÐ
­ÚÐ-KÐÐ
­ˆÚÐ-LÐÐ
­‰ÚÐ-MÐÐ
­ŠÚÐ-NÐÐ
­‹ÚÐ-OÐÐ
­ŒÚÐ-PÐÐ
­ÚÐ-NÐÐ
­ŽÚÐ-QÐÐ
­ÚÐ-RÐÐ
­ÚÐ-NÐÐ
­‘ÚÐ-SÐÐ
­’ÚÐ-TÐÐ
­“ÚÐ-UÐÐ
­”ÚÐ-VÐÐ
­7ÚÐ-WÐÐ
­5ÚÐ->ÐÐ
­ÚÐ-XÐÐ
­ÚÐ-YÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-_ÐÐ
­ÚÐ-`ÐÐ
­ ÚÐ-aÐÐ
­!ÚÐ-bÐÐ
­"ÚÐ-cÐÐ
­#ÚÐ-dÐÐ
­zÚÐ-LÐÐ
­{ÚÐ-MÐÐ
­|ÚÐ-NÐÐ
­}ÚÐ-OÐÐ
­~ÚÐ-PÐÐ
­ÚÐ-NÐÐ
­€ÚÐ-QÐÐ
­ÚÐ-RÐÐ
­‚ÚÐ-NÐÐ
­ƒÚÐ-SÐÐ
­„ÚÐ-TÐÐ
­…ÚÐ-eÐÐ
­†ÚÐ-VÐÐ
­‡ÚÐ-fÐÐ
­QÚÐ-gÐÐ
­NÚÐ-hÐÐ
­DÚÐ-iÐÐ
­EÚÐ-jÐÐ
­FÚÐ-kÐÐ
­GÚÐ-lÐÐ
­HÚÐ-mÐÐ
­IÚÐ-nÐÐ
­JÚÐ-oÐÐ
­KÚÐ-pÐÐ
­LÚÐ-qÐÐ
­(ÚÐ-rÐÐ
­%ÚÐ-sÐÐ
­dÚÐ-LÐÐ
­eÚÐ-MÐÐ
­cÚÐ-NÐÐ
­gÚÐ-OÐÐ
­hÚÐ-PÐÐ
­iÚÐ-NÐÐ
­kÚÐ-QÐÐ
­qÚÐ-RÐÐ
­fÚÐ-NÐÐ
­>ÚÐ-SÐÐ
­sÚÐ-TÐÐ
­@ÚÐ-tÐÐ
­CÚÐ-VÐÐ
­tÚÐ-NÐÐ
­=ÚÐ-hÐÐ
­)ÚÐ-uÐÐ
­*ÚÐ-vÐÐ
­+ÚÐ-wÐÐ
­,ÚÐ-xÐÐ
­-ÚÐ-yÐÐ
­.ÚÐ-zÐÐ
­/ÚÐ-{ÐÐ
­0ÚÐ-|ÐÐ
­1ÚÐ-qÐÐ
­'ÚÐ-}ÐÐ
­&ÚÐ-qÐÐ
­ûÚÐ-?ÐÐ
­ùÚÐ-ÐÐ
­»ÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-~ÐÐ
­òÚÐ->ÐÐ
­óÚÐ-ÐÐ
­÷ÚÐ-€ÐÐ
­ûÚÐ-ÐÐ
­	ÚÐ-‚ÐÐ
­
ÚÐ-ƒÐÐ
­üÚÐ-„ÐÐ
­úÚÐ-…ÐÐ
­ËÚÐ-†ÐÐ
­±ÚÐ-‡ÐÐ
­×ÚÐ-ˆÐÐ
­ØÚÐ-‰ÐÐ
­ÙÚÐ-ŠÐÐ
­ÚÚÐ-‹ÐÐ
­ÛÚÐ-ŒÐÐ
­ÜÚÐ-VÐÐ
­ÞÚÐ-ÐÐ
­ßÚÐ-ŽÐÐ
­²ÚÐ-fÐÐ
­þÚÐ-hÐÐ
­ÿÚÐ-ÐÐ
­¾ÚÐ-ÐÐ
­¿ÚÐ-‘ÐÐ
­ÁÚÐ-’ÐÐ
­ÃÚÐ-“ÐÐ
­½ÚÐ-fÐÐ
­ÆÚÐ-ÐÐ
­ÈÚÐ-”ÐÐ
­ÉÚÐ-•ÐÐ
­ÊÚÐ-–ÐÐ
­ËÚÐ-—ÐÐ
­ÇÚÐ-…ÐÐ
­ÅÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-˜ÐÐ
­ÚÐ-™ÐÐ
­gÚÐ-šÐÐ
­ÚÐ-›ÐÐ
­ºÚÐ-œÐÐ
­fÚÐ-ÐÐ
­"ÚÐ-‹ÐÐ
­#ÚÐ-žÐÐ
­$ÚÐ-VÐÐ
­}ÚÐ-qÐÐ
­ÚÐ-qÐÐ
­€ÚÐ-ŸÐÐ
­ÚÐ- ÐÐ
­‚ÚÐ-¡ÐÐ
­ƒÚÐ-¢ÐÐ
­„ÚÐ-qÐÐ
­~ÚÐ-£ÐÐ
­%ÚÐ-¤ÐÐ
­&ÚÐ-¥ÐÐ
­hÚÐ-¦ÐÐ
­(ÚÐ-§ÐÐ
­)ÚÐ-œÐÐ
­iÚÐ-ÐÐ
­+ÚÐ-‹ÐÐ
­vÚÐ-žÐÐ
­-ÚÐ-VÐÐ
­…ÚÐ-qÐÐ
­‡ÚÐ-qÐÐ
­ˆÚÐ-ŸÐÐ
­‰ÚÐ- ÐÐ
­ŠÚÐ-¡ÐÐ
­‹ÚÐ-¢ÐÐ
­ŒÚÐ-qÐÐ
­†ÚÐ-£ÐÐ
­.ÚÐ-¨ÐÐ
­/ÚÐ-©ÐÐ
­jÚÐ-¦ÐÐ
­1ÚÐ-ªÐÐ
­2ÚÐ-œÐÐ
­kÚÐ-ÐÐ
­4ÚÐ-‹ÐÐ
­wÚÐ-žÐÐ
­6ÚÐ-VÐÐ
­ŽÚÐ-qÐÐ
­ÚÐ-ŸÐÐ
­ÚÐ- ÐÐ
­‘ÚÐ-¡ÐÐ
­’ÚÐ-¢ÐÐ
­“ÚÐ-gÐÐ
­ÚÐ-£ÐÐ
­7ÚÐ-«ÐÐ
­8ÚÐ-¬ÐÐ
­lÚÐ-šÐÐ
­:ÚÐ-­ÐÐ
­;ÚÐ-œÐÐ
­mÚÐ-ÐÐ
­=ÚÐ-‹ÐÐ
­xÚÐ-žÐÐ
­?ÚÐ-VÐÐ
­•ÚÐ-qÐÐ
­–ÚÐ-ŸÐÐ
­—ÚÐ- ÐÐ
­˜ÚÐ-¡ÐÐ
­™ÚÐ-¢ÐÐ
­šÚÐ-gÐÐ
­”ÚÐ-£ÐÐ
­@ÚÐ-®ÐÐ
­AÚÐ-¯ÐÐ
­nÚÐ-šÐÐ
­CÚÐ-°ÐÐ
­DÚÐ-œÐÐ
­oÚÐ-ÐÐ
­FÚÐ-‹ÐÐ
­yÚÐ-žÐÐ
­HÚÐ-VÐÐ
­œÚÐ-qÐÐ
­ÚÐ-ŸÐÐ
­žÚÐ- ÐÐ
­ŸÚÐ-¡ÐÐ
­ ÚÐ-¢ÐÐ
­¡ÚÐ-gÐÐ
­›ÚÐ-£ÐÐ
­IÚÐ-±ÐÐ
­JÚÐ-²ÐÐ
­pÚÐ-¦ÐÐ
­LÚÐ-³ÐÐ
­MÚÐ-œÐÐ
­qÚÐ-ÐÐ
­OÚÐ-‹ÐÐ
­zÚÐ-žÐÐ
­¢ÚÐ-VÐÐ
­£ÚÐ-ŸÐÐ
­¤ÚÐ- ÐÐ
­¥ÚÐ-¡ÐÐ
­¦ÚÐ-¢ÐÐ
­§ÚÐ-gÐÐ
­QÚÐ-£ÐÐ
­RÚÐ-´ÐÐ
­SÚÐ-µÐÐ
­rÚÐ-¦ÐÐ
­UÚÐ-¶ÐÐ
­VÚÐ-œÐÐ
­sÚÐ-ÐÐ
­XÚÐ-‹ÐÐ
­{ÚÐ-žÐÐ
­ZÚÐ-VÐÐ
­©ÚÐ-qÐÐ
­ªÚÐ-ŸÐÐ
­«ÚÐ- ÐÐ
­¬ÚÐ-¡ÐÐ
­­ÚÐ-¢ÐÐ
­®ÚÐ-gÐÐ
­¨ÚÐ-£ÐÐ
­[ÚÐ-·ÐÐ
­\ÚÐ-¸ÐÐ
­tÚÐ-¹ÐÐ
­^ÚÐ-ºÐÐ
­_ÚÐ-œÐÐ
­uÚÐ-ÐÐ
­aÚÐ-‹ÐÐ
­|ÚÐ-žÐÐ
­cÚÐ-VÐÐ
­dÚÐ-»ÐÐ
­ÚÐ-¼ÐÐ
­ÊÚÐ->ÐÐ
­ÉÚÐ-?ÐÐ
­ÀÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­´ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­¥ÚÐ-ÐÐ
­ªÚÐ-ÐÐ
­þÚÐ-½ÐÐ
­ÚÐ-¾ÐÐ
­ÚÐ-¿ÐÐ
­ÚÐ-ÀÐÐ
­ÚÐ-ÁÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-ÃÐÐ
­ÚÐ-ÄÐÐ
­ÚÐ-ÅÐÐ
­ÚÐ-ÄÐÐ
­RÚÐ-ÆÐÐ
­ ÚÐ-ÄÐÐ
­UÚÐ-ÇÐÐ
­!ÚÐ-ÄÐÐ
­WÚÐ-ÈÐÐ
­"ÚÐ-ÄÐÐ
­[ÚÐ-ÉÐÐ
­#ÚÐ-ÄÐÐ
­	ÚÐ-ÊÐÐ
­gÚÐ-ÐÐ
­ÚÐ-ÐÐ
­fÚÐ-ËÐÐ
­YÚÐ-ÐÐ
­ZÚÐ-ÌÐÐ
­[ÚÐ-ÍÐÐ
­\ÚÐ-ÎÐÐ
­ÚÐ-ÐÐ
­VÚÐ-ÐÐ
­ÚÐ-ÏÐÐ
­—ÚÐ-ÐÐ
­˜ÚÐ-ÐÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÑÐÐ
­4ÚÐ-ÐÐ
­ÚÐ-ÒÐÐ
­8ÚÐ-ÓÐÐ
­7ÚÐ-ÐÐ
­âÚÐ-ÐÐ
­ãÚÐ-ÐÐ
­ÚÐ-ÐÐ
­áÚÐ-ÐÐ
­àÚÐ-ÔÐÕÖÐ	E
-ÐÐ
­$ÚÐ-×ÐÐ
­%ÚÐ-ØÐÐ
­&ÚÐ-ÙÐÐ
­ÚÐ-ÚÐÐ
­*ÚÐ-ÛÐÐ
­+ÚÐ-ÜÐÐ
­XÚÐ-ÝÐÐ
­-ÚÐ-ÐÐ
­.ÚÐ-ÞÐÐ
­/ÚÐ-ÐÐ
­0ÚÐ-ÐÐ
­ÚÐ-ßÐÐ
­ÚÐ-ÐÐ
­1ÚÐ-àÐÐ
­•ÚÐ-áÐÐ
­–ÚÐ-ÐÐ
­2ÚÐ-âÐÐ
­ŒÚÐ-ãÐÐ
­ÚÐ-äÐÐ
­ÚÐ-åÐÐ
­‘ÚÐ-æÐÐ
­’ÚÐ-ÐÐ
­ÌÚÐ-çÐÐ
­ÚÐ-èÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-éÐÐ
­ŽÚÐ-ÐÐ
­3ÚÐ-ÛÐÐ
­ÚÐ-Ðê-ëÐìí-îïðÐñò­
\ No newline at end of file
+			;	$		END_IF%	2 : 	//Key&	3 : 	//IO'	4 : 	//Media(	5 : 	//Hint)	6 : 	//State	*p		IF SysStrCmp(Client.sCommandFromPLC, 'SC') =  0 THEN		+&			StateComplete();,x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Start') =  0 THEN		-			Start();.v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Stop') =  0 THEN		/			Stop();0x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Reset') =  0 THEN		1			Reset();2x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Abort') =  0 THEN		3			Abort();4x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Clear') =  0 THEN		5			Clear();6v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Hold') =  0 THEN		7			Hold();8z		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnHold') =  0 THEN		9			Unhold();	:|		ELSIF SysStrCmp(Client.sCommandToPLC, 'Suspend') =  0 THEN		;			Suspend();<€		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnSuspend') =  0 THEN		=			UnSuspend();>		?	END_CASE@6	Client.iCommandToPLC := 0;A8	Client.sCommandToPLC := '';B:	Client.bReadyToPLC := FALSE;C.CASE UM.CurrentState OFD,PACK_ML.State.Stopped:E	;F,PACK_ML.State.Aborted:G&PACK_ML.State.Idle:H2PACK_ML.State.Complete :	I.PACK_ML.State.Execute :J(	CASE Client.Mode OFK		Mode.Mode1:LH			IF puzzleTimer.iProcess = 25 THENM˜				SendCommand(Command := CommandType.Hint ,Value := 'Time is the Key!.');	N			END_IFOH			IF puzzleTimer.iProcess = 50 THENP”				SendCommand(Command := CommandType.Hint ,Value := 'Padlock K000367');	Q			END_IF			RH			IF puzzleTimer.iProcess = 75 THENSF				IF Client.ActualStep <= 10 THENT’					SendCommand(Command := CommandType.Media ,Value := 'https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_operator_rol/');U				ELSEV2					overrideKey := TRUE;W				END_IFX			END_IF				Y.			CASE Client.Level OFZ&				Level.Beginner:[F					ShadowInByte := ROL(InByte,0);\.				Level.Placeholder1:]F					ShadowInByte := ROL(InByte,2);^.				Level.Intermediate:_F					ShadowInByte := ROL(InByte,4);`.				Level.Placeholder2:aF					ShadowInByte := ROL(InByte,6);b&				Level.Advanced:cF					ShadowInByte := ROL(InByte,8);d			END_CASEe		Mode.Mode2:fÐ					SendCommand(Command := CommandType.Media ,Value := 'https://www.youtube.com/watch?v=dQw4w9WgXcQ');	gÒ					SendCommand(Command := CommandType.Media ,Value := 'https://www.youtube.com/watch?v=dQw4w9WgXcQ');		h				i			END_IF		j
+					k			l,			temp.7 := InByte.5;m,			temp.6 := InByte.2;n,			temp.5 := InByte.7;o,			temp.4 := InByte.1;p,			temp.3 := InByte.6;q,			temp.2 := InByte.0;r,			temp.1 := InByte.3;s,			temp.0 := InByte.4;t2			ShadowInByte := temp; u		Mode.Mode3:vJ			IF puzzleTimer.iProcess = 50 THEN	wœ				SendCommand(Command := CommandType.Media ,Value := 'Padlock K000367');				xų					SendCommand(Command := CommandType.Media ,Value := 'https://en.wikipedia.org/wiki/Endianness#Files_and_byte_swapp');			yō					SendCommand(Command := CommandType.Media ,Value := 'https://en.wikipedia.org/wiki/Endianness#Files_and_byte_swap');		z,			temp.7 := InByte.0;{,			temp.6 := InByte.1;|,			temp.5 := InByte.2;},			temp.4 := InByte.3;~,			temp.3 := InByte.4;,			temp.2 := InByte.5;€,			temp.1 := InByte.6;,			temp.0 := InByte.7;‚4			ShadowInByte := temp; 	ƒ4	CASE Client.ActualStep OF„0		0:	// Waiting for key.…V			IF DI_Key_switch OR overrideKey THEN				†`				Client.ActualStep := Client.ActualStep + 10;‡&				ViewIndex := 0;ˆ–				SendCommand(Command := CommandType.Key,Value := Client.KeyCommands[0]);‰4				// Turn on the screen.Š			END_IF	‹.		10: // Check solutionŒ		 	 			IF ton.Q THENŽ@				IF LocalOutByte = 255 THEN		.					LocalOutByte := 0;L					LocalOutByte := LocalOutByte + 1;‘>				OutByte := LocalOutByte;			’^				Client.ActualStep := Client.ActualStep + 5;“
+		15:”4			IF CheckSolution() THEN•`				Client.ActualStep := Client.ActualStep + 5;	–			ELSE—f				Client.ActualStep := Client.ActualStep - 5;				˜h			IF NOT DI_Key_switch AND NOT overrideKey THEN				™6				Client.ActualStep := 0;š&				ViewIndex := 1;›6				// Turn off the screen.œ
+		20:"				OutByte := 1;žf				Client.ActualStep := Client.ActualStep + 10;		 Ÿ		30:	 D				IF ShadowInByte = OutByte THEN¡b					Client.ActualStep := Client.ActualStep + 10;¢:					Client.ActualStep := 10;£l				IF NOT DI_Key_switch AND NOT overrideKey  THEN				¤8					Client.ActualStep := 0;¥(					ViewIndex := 1;¦8					// Turn off the screen.§				END_IF	¨
+		40:©"				OutByte := 2;ªd				Client.ActualStep := Client.ActualStep + 10;	 «		50:	¬
+		60:­"				OutByte := 4;®		70:	¯
+		80:°"				OutByte := 8;±		90:	²		100:³$				OutByte := 16;´		110:	µ		120:¶$				OutByte := 32;·		130:	¸		140:¹$				OutByte := 64;º		150:	»		160:¼&				OutByte := 128;½b				Client.ActualStep := Client.ActualStep + 10; ¾		170:	¿		180: 					À(				StateComplete();Á2PACK_ML.State.Resetting : 	ViewIndex := 1;Ã,	overrideKey := FALSE;Ä$	LocalInByte := 0;Å&	LocalOutByte := 0;Æ&	ShadowInByte := 0;Ç	OutByte := 0;È"	StateComplete();É0PACK_ML.State.Starting :Ê4PACK_ML.State.Completing :Ë0PACK_ML.State.Aborting :Ì.PACK_ML.State.Stopping:Í2PACK_ML.State.Clearing :	ÎEND_CASEÏLClient.ActualState := UM.CurrentState;ÐVIF NOT x_EmergencyGF AND x_EmergencyFF THENÑ(	 //Emergency Abort.Ò	Abort();	ÓäpuzzleTimer(xStartTimer := UM.CurrentState = PACK_ML.State.Execute ,xPauseTimer := ,xStopTimer:= NOT (UM.CurrentState = PACK_ML.State.Execute),tMaxPuzzleTime := Client.Duration);Ô>messageQueue(Client := Client);ÕPClient.Progress := puzzleTimer.iProcess;ÖFIF puzzleTimer.iProcess >= 100 THEN×	//Stop();	ظton(IN := (Client.ActualState = PACK_ML.Execute AND Client.ActualStep = 10 ),PT := T#500MS);ÙInterfaceÚL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}ÛRFUNCTION_BLOCK ByteSwapPuzzleStateMachineÜVAR_IN_OUTÝ.	Client : PuzzleClient;Þ"	ViewIndex : INT;ßEND_VARàVARá0	UM	: PACK_ML.UnitMode; âj	xInit				: BOOL := FALSE; // Flag for initializationã(	overrideKey : BOOL;ä6	puzzleTimer : PuzzleTimer;å:	messageQueue : MessageQueue;æ&	LocalInByte :BYTE;ç(	LocalOutByte :BYTE;è,	InByte AT %IB0: BYTE;é(	ShadowInByte :BYTE;ê.	OutByte AT %QB0: BYTE;ë	ton  : TON;ì	iRol:INT := 4;í	temp : BYTE;î"UniqueIdGeneratorï931ðPOULevelñL{8e575c5b-1d37-49c6-941b-5c0ec7874787}òStandardó ChildObjectGuidsô8System.Collections.ArrayListõ,AddAttributeSubsequentöboolÐÐ-ÐÐ	E
+ðÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­lÚÐ-ÐÐ
­eÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ŽÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­”ÚÐ-ÐÐ
­®ÚÐ-ÐÐ
­–ÚÐ-ÐÐ
­µÚÐ-ÐÐ
­´ÚÐ- ÐÐ
­¶ÚÐ-!ÐÐ
­·ÚÐ-"ÐÐ
­øÚÐ-#ÐÐ
­¯ÚÐ-$ÐÐ
­ÚÚÐ-%ÐÐ
­ªÚÐ-&ÐÐ
­«ÚÐ-'ÐÐ
­¬ÚÐ-(ÐÐ
­­ÚÐ-)ÐÐ
­¹ÚÐ-*ÐÐ
­ºÚÐ-+ÐÐ
­»ÚÐ-,ÐÐ
­¾ÚÐ--ÐÐ
­¿ÚÐ-.ÐÐ
­ÀÚÐ-/ÐÐ
­ÁÚÐ-0ÐÐ
­ÂÚÐ-1ÐÐ
­ÃÚÐ-2ÐÐ
­ÄÚÐ-3ÐÐ
­ÅÚÐ-4ÐÐ
­ÆÚÐ-5ÐÐ
­ÇÚÐ-6ÐÐ
­ÈÚÐ-7ÐÐ
­ÉÚÐ-8ÐÐ
­ÎÚÐ-9ÐÐ
­ÏÚÐ-:ÐÐ
­ÐÚÐ-;ÐÐ
­ÑÚÐ-<ÐÐ
­¼ÚÐ-=ÐÐ
­¸ÚÐ-$ÐÐ
­½ÚÐ->ÐÐ
­—ÚÐ-?ÐÐ
­ÓÚÐ-ÐÐ
­ÕÚÐ-@ÐÐ
­ÖÚÐ-AÐÐ
­×ÚÐ-BÐÐ
­•ÚÐ-ÐÐ
­‘ÚÐ-ÐÐ
­’ÚÐ-ÐÐ
­“ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-CÐÐ
­ÚÐ-DÐÐ
­ÚÐ-EÐÐ
­ÚÐ-FÐÐ
­ÚÐ-EÐÐ
­ÚÐ-GÐÐ
­ÚÐ-EÐÐ
­ ÚÐ-HÐÐ
­¦ÚÐ-EÐÐ
­ŸÚÐ-IÐÐ
­ÚÐ-JÐÐ
­ÚÐ-KÐÐ
­ˆÚÐ-LÐÐ
­‰ÚÐ-MÐÐ
­ŠÚÐ-NÐÐ
­‹ÚÐ-OÐÐ
­ŒÚÐ-PÐÐ
­ÚÐ-QÐÐ
­‘ÚÐ-RÐÐ
­’ÚÐ-SÐÐ
­“ÚÐ-TÐÐ
­žÚÐ-UÐÐ
­ŸÚÐ-VÐÐ
­ ÚÐ-TÐÐ
­”ÚÐ-WÐÐ
­7ÚÐ-XÐÐ
­5ÚÐ->ÐÐ
­ÚÐ-YÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-_ÐÐ
­ÚÐ-`ÐÐ
­ÚÐ-aÐÐ
­ ÚÐ-bÐÐ
­!ÚÐ-cÐÐ
­"ÚÐ-dÐÐ
­#ÚÐ-eÐÐ
­zÚÐ-LÐÐ
­{ÚÐ-MÐÐ
­|ÚÐ-NÐÐ
­}ÚÐ-OÐÐ
­~ÚÐ-PÐÐ
­ÚÐ-NÐÐ
­‚ÚÐ-RÐÐ
­„ÚÐ-SÐÐ
­…ÚÐ-fÐÐ
­šÚÐ-UÐÐ
­ÚÐ-VÐÐ
­œÚÐ-gÐÐ
­†ÚÐ-WÐÐ
­™ÚÐ-hÐÐ
­‡ÚÐ-iÐÐ
­QÚÐ-jÐÐ
­NÚÐ-kÐÐ
­DÚÐ-lÐÐ
­EÚÐ-mÐÐ
­FÚÐ-nÐÐ
­GÚÐ-oÐÐ
­HÚÐ-pÐÐ
­IÚÐ-qÐÐ
­JÚÐ-rÐÐ
­KÚÐ-sÐÐ
­LÚÐ-hÐÐ
­(ÚÐ-tÐÐ
­%ÚÐ-uÐÐ
­dÚÐ-LÐÐ
­eÚÐ-MÐÐ
­iÚÐ-NÐÐ
­kÚÐ-vÐÐ
­qÚÐ-wÐÐ
­fÚÐ-NÐÐ
­>ÚÐ-RÐÐ
­sÚÐ-SÐÐ
­¡ÚÐ-xÐÐ
­¢ÚÐ-UÐÐ
­£ÚÐ-VÐÐ
­@ÚÐ-yÐÐ
­CÚÐ-WÐÐ
­tÚÐ-NÐÐ
­=ÚÐ-kÐÐ
­)ÚÐ-zÐÐ
­*ÚÐ-{ÐÐ
­+ÚÐ-|ÐÐ
­,ÚÐ-}ÐÐ
­-ÚÐ-~ÐÐ
­.ÚÐ-ÐÐ
­/ÚÐ-€ÐÐ
­0ÚÐ-ÐÐ
­1ÚÐ-hÐÐ
­'ÚÐ-‚ÐÐ
­&ÚÐ-hÐÐ
­ûÚÐ-?ÐÐ
­ùÚÐ-ÐÐ
­»ÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ƒÐÐ
­òÚÐ->ÐÐ
­óÚÐ-„ÐÐ
­÷ÚÐ-…ÐÐ
­ûÚÐ-†ÐÐ
­	ÚÐ-‡ÐÐ
­
ÚÐ-ˆÐÐ
­üÚÐ-‰ÐÐ
­úÚÐ-ŠÐÐ
­ËÚÐ-‹ÐÐ
­±ÚÐ-ŒÐÐ
­×ÚÐ-ÐÐ
­ØÚÐ-ŽÐÐ
­ÙÚÐ-ÐÐ
­ÚÚÐ-UÐÐ
­ÛÚÐ-ÐÐ
­ÜÚÐ-WÐÐ
­ÞÚÐ-‘ÐÐ
­ßÚÐ-’ÐÐ
­²ÚÐ-iÐÐ
­þÚÐ-kÐÐ
­ÿÚÐ-“ÐÐ
­¾ÚÐ-”ÐÐ
­¿ÚÐ-•ÐÐ
­ÁÚÐ-–ÐÐ
­ÃÚÐ-—ÐÐ
­½ÚÐ-iÐÐ
­ÆÚÐ-ÐÐ
­ÈÚÐ-˜ÐÐ
­ÉÚÐ-™ÐÐ
­ÊÚÐ-šÐÐ
­ËÚÐ-›ÐÐ
­ÇÚÐ-ŠÐÐ
­ÅÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-œÐÐ
­ÚÐ-ÐÐ
­gÚÐ-žÐÐ
­ÚÐ-ŸÐÐ
­ºÚÐ- ÐÐ
­fÚÐ-¡ÐÐ
­"ÚÐ-UÐÐ
­#ÚÐ-¢ÐÐ
­$ÚÐ-WÐÐ
­}ÚÐ-hÐÐ
­ÚÐ-hÐÐ
­€ÚÐ-£ÐÐ
­ÚÐ-¤ÐÐ
­‚ÚÐ-¥ÐÐ
­ƒÚÐ-¦ÐÐ
­„ÚÐ-hÐÐ
­~ÚÐ-§ÐÐ
­%ÚÐ-¨ÐÐ
­&ÚÐ-©ÐÐ
­hÚÐ-ªÐÐ
­(ÚÐ-«ÐÐ
­)ÚÐ- ÐÐ
­iÚÐ-¡ÐÐ
­+ÚÐ-UÐÐ
­vÚÐ-¢ÐÐ
­-ÚÐ-WÐÐ
­…ÚÐ-hÐÐ
­‡ÚÐ-hÐÐ
­ˆÚÐ-£ÐÐ
­‰ÚÐ-¤ÐÐ
­ŠÚÐ-¥ÐÐ
­‹ÚÐ-¦ÐÐ
­ŒÚÐ-hÐÐ
­†ÚÐ-§ÐÐ
­.ÚÐ-¬ÐÐ
­/ÚÐ-­ÐÐ
­jÚÐ-ªÐÐ
­1ÚÐ-®ÐÐ
­2ÚÐ- ÐÐ
­kÚÐ-¡ÐÐ
­4ÚÐ-UÐÐ
­wÚÐ-¢ÐÐ
­6ÚÐ-WÐÐ
­ŽÚÐ-hÐÐ
­ÚÐ-£ÐÐ
­ÚÐ-¤ÐÐ
­‘ÚÐ-¥ÐÐ
­’ÚÐ-¦ÐÐ
­“ÚÐ-jÐÐ
­ÚÐ-§ÐÐ
­7ÚÐ-¯ÐÐ
­8ÚÐ-°ÐÐ
­lÚÐ-žÐÐ
­:ÚÐ-±ÐÐ
­;ÚÐ- ÐÐ
­mÚÐ-¡ÐÐ
­=ÚÐ-UÐÐ
­xÚÐ-¢ÐÐ
­?ÚÐ-WÐÐ
­•ÚÐ-hÐÐ
­–ÚÐ-£ÐÐ
­—ÚÐ-¤ÐÐ
­˜ÚÐ-¥ÐÐ
­™ÚÐ-¦ÐÐ
­šÚÐ-jÐÐ
­”ÚÐ-§ÐÐ
­@ÚÐ-²ÐÐ
­AÚÐ-³ÐÐ
­nÚÐ-žÐÐ
­CÚÐ-´ÐÐ
­DÚÐ- ÐÐ
­oÚÐ-¡ÐÐ
­FÚÐ-UÐÐ
­yÚÐ-¢ÐÐ
­HÚÐ-WÐÐ
­œÚÐ-hÐÐ
­ÚÐ-£ÐÐ
­žÚÐ-¤ÐÐ
­ŸÚÐ-¥ÐÐ
­ ÚÐ-¦ÐÐ
­¡ÚÐ-jÐÐ
­›ÚÐ-§ÐÐ
­IÚÐ-µÐÐ
­JÚÐ-¶ÐÐ
­pÚÐ-ªÐÐ
­LÚÐ-·ÐÐ
­MÚÐ- ÐÐ
­qÚÐ-¡ÐÐ
­OÚÐ-UÐÐ
­zÚÐ-¢ÐÐ
­¢ÚÐ-WÐÐ
­£ÚÐ-£ÐÐ
­¤ÚÐ-¤ÐÐ
­¥ÚÐ-¥ÐÐ
­¦ÚÐ-¦ÐÐ
­§ÚÐ-jÐÐ
­QÚÐ-§ÐÐ
­RÚÐ-¸ÐÐ
­SÚÐ-¹ÐÐ
­rÚÐ-ªÐÐ
­UÚÐ-ºÐÐ
­VÚÐ- ÐÐ
­sÚÐ-¡ÐÐ
­XÚÐ-UÐÐ
­{ÚÐ-¢ÐÐ
­ZÚÐ-WÐÐ
­©ÚÐ-hÐÐ
­ªÚÐ-£ÐÐ
­«ÚÐ-¤ÐÐ
­¬ÚÐ-¥ÐÐ
­­ÚÐ-¦ÐÐ
­®ÚÐ-jÐÐ
­¨ÚÐ-§ÐÐ
­[ÚÐ-»ÐÐ
­\ÚÐ-¼ÐÐ
­tÚÐ-½ÐÐ
­^ÚÐ-¾ÐÐ
­_ÚÐ- ÐÐ
­uÚÐ-¡ÐÐ
­aÚÐ-UÐÐ
­|ÚÐ-¢ÐÐ
­cÚÐ-WÐÐ
­dÚÐ-¿ÐÐ
­ÚÐ-ÀÐÐ
­ÊÚÐ->ÐÐ
­ÉÚÐ-?ÐÐ
­ÀÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­´ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­¥ÚÐ-ÐÐ
­ªÚÐ-ÐÐ
­þÚÐ-ÁÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-ÃÐÐ
­ÚÐ-ÄÐÐ
­ÚÐ-ÅÐÐ
­ÚÐ-ÆÐÐ
­ÚÐ-ÇÐÐ
­ÚÐ-ÈÐÐ
­ÚÐ-ÉÐÐ
­ÚÐ-ÈÐÐ
­RÚÐ-ÊÐÐ
­ ÚÐ-ÈÐÐ
­UÚÐ-ËÐÐ
­!ÚÐ-ÈÐÐ
­WÚÐ-ÌÐÐ
­"ÚÐ-ÈÐÐ
­[ÚÐ-ÍÐÐ
­#ÚÐ-ÈÐÐ
­	ÚÐ-ÎÐÐ
­gÚÐ-ÐÐ
­ÚÐ-ÐÐ
­fÚÐ-ÏÐÐ
­YÚÐ-ÐÐ
­ZÚÐ-ÐÐÐ
­[ÚÐ-ÑÐÐ
­\ÚÐ-ÒÐÐ
­ÚÐ-ÐÐ
­VÚÐ-ÐÐ
­ÚÐ-ÓÐÐ
­—ÚÐ-ÐÐ
­˜ÚÐ-ÔÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÕÐÐ
­4ÚÐ-ÐÐ
­ÚÐ-ÖÐÐ
­8ÚÐ-×ÐÐ
­7ÚÐ-ÐÐ
­âÚÐ-ÐÐ
­ãÚÐ-ÐÐ
­ÚÐ-ÐÐ
­áÚÐ-ÐÐ
­àÚÐ-ØÐÙÚÐ	E
+ÐÐ
­$ÚÐ-ÛÐÐ
­%ÚÐ-ÜÐÐ
­&ÚÐ-ÝÐÐ
­ÚÐ-ÞÐÐ
­*ÚÐ-ßÐÐ
­+ÚÐ-àÐÐ
­XÚÐ-áÐÐ
­-ÚÐ-ÐÐ
­.ÚÐ-âÐÐ
­/ÚÐ-ÐÐ
­0ÚÐ-ÐÐ
­ÚÐ-ãÐÐ
­ÚÐ-ÐÐ
­1ÚÐ-äÐÐ
­•ÚÐ-åÐÐ
­–ÚÐ-ÐÐ
­2ÚÐ-æÐÐ
­ŒÚÐ-çÐÐ
­ÚÐ-èÐÐ
­ÚÐ-éÐÐ
­‘ÚÐ-êÐÐ
­’ÚÐ-ÐÐ
­ÌÚÐ-ëÐÐ
­ÚÐ-ìÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-íÐÐ
­ŽÚÐ-ÐÐ
­3ÚÐ-ßÐÐ
­ÚÐ-Ðî-ïÐðñ-òóôÐõö­
\ No newline at end of file