diff --git a/CTRL.o b/CTRL.o
index 855481c40f0490f2d92da359f84c3d1af3a13d1b..e9a3cd66682a35602e73e47a790bc538b8d3d86d 100644
Binary files a/CTRL.o and b/CTRL.o differ
diff --git a/CTRL.vhd b/CTRL.vhd
index e10b466f5320992ddd1dbd80399fb0211aca6fba..0ea0b56e03b5b0872c0cbea040e747c3972ffa9b 100644
--- a/CTRL.vhd
+++ b/CTRL.vhd
@@ -23,7 +23,6 @@ USE IEEE.STD_LOGIC_1164.ALL;
 
 ENTITY CTRL IS
 	PORT(
-        Instr :             IN      STD_LOGIC_VECTOR(31 DOWNTO 0);
 		OPCode : 			IN		STD_LOGIC_VECTOR(5 DOWNTO 0);
         Func   :            IN      STD_LOGIC_VECTOR(5 DOWNTO 0);
 		RegDst :	    	OUT		STD_LOGIC;
@@ -41,66 +40,66 @@ END CTRL;
 ARCHITECTURE ARC_CTRL OF CTRL IS
 	
 BEGIN
-	PROCESS(OPCode)
-	BEGIN
-		CASE OPCode IS
-			--TYPE R
-			WHEN "000000" =>  RegDst <=		'1';
-									Jump <=			'0';
-									ALUSrc <=		'0';
-									MemtoReg <=		'0';
-									RegWrite <=		'1';
-									MemRead <=		'0';
-									MemWrite <=		'0';
-									Branch <=		'0';
-									ALUOp(1) <=		'1';
-									ALUOp(0) <=		'0';	
-			--TYPE LW						
-			WHEN "100011" =>  RegDst <= 		'0';
-									Jump <=			'0';
-									ALUSrc <=		'1';
-									MemtoReg <=		'1';
-									RegWrite <=		'1';
-									MemRead <=		'1';
-									MemWrite <=		'0';
-									Branch <=		'0';
-									ALUOp(1) <=		'0';
-									ALUOp(0) <=		'0';
-			--TYPE SW					
-			WHEN "101011" =>  RegDst <=		'0'; --X
-									Jump <=			'0';
-									ALUSrc <=		'1';
-									MemtoReg <=		'0'; --X
-									RegWrite <=		'0';
-									MemRead <=		'0';
-									MemWrite <=		'1';
-									Branch <=		'0';
-									ALUOp(1) <=		'0';
-									ALUOp(0) <=		'0';
-			--TYPE JUMP
-			WHEN "000010" =>  RegDst <=		'0'; --X
-									Jump <=			'1';
-									ALUSrc <=		'0';
-									MemtoReg <=		'0'; --X
-									RegWrite <=		'0';
-									MemRead <=		'0';
-									MemWrite <=		'0';
-									Branch <=		'0';
-									ALUOp(1) <=		'1';
-									ALUOp(0) <=		'0';
-			--TYPE BEQ
-			WHEN OTHERS => 	RegDst <=		'0'; --X
-									Jump <=			'0';
-									ALUSrc <=		'0';
-									MemtoReg <=		'0'; --X
-									RegWrite <=		'0';
-									MemRead <=		'0';
-									MemWrite <=		'0';
-									Branch <=		'1';
-									ALUOp(1) <=		'0';
-									ALUOp(0) <=		'1';	
-									
-		END CASE;
-	END PROCESS;
+    PROCESS(OPCode)
+    BEGIN
+        CASE OPCode IS
+            --TYPE R
+            WHEN "000000" =>  RegDst <=		'1';
+                                    Jump <=			'0';
+                                    ALUSrc <=		'0';
+                                    MemtoReg <=		'0';
+                                    RegWrite <=		'1';
+                                    MemRead <=		'0';
+                                    MemWrite <=		'0';
+                                    Branch <=		'0';
+                                    ALUOp(1) <=		'1';
+                                    ALUOp(0) <=		'0';	
+            --TYPE LW						
+            WHEN "100011" =>  RegDst <= 		'0';
+                                    Jump <=			'0';
+                                    ALUSrc <=		'1';
+                                    MemtoReg <=		'1';
+                                    RegWrite <=		'1';
+                                    MemRead <=		'1';
+                                    MemWrite <=		'0';
+                                    Branch <=		'0';
+                                    ALUOp(1) <=		'0';
+                                    ALUOp(0) <=		'0';
+            --TYPE SW					
+            WHEN "101011" =>  RegDst <=		'0'; --X
+                                    Jump <=			'0';
+                                    ALUSrc <=		'1';
+                                    MemtoReg <=		'0'; --X
+                                    RegWrite <=		'0';
+                                    MemRead <=		'0';
+                                    MemWrite <=		'1';
+                                    Branch <=		'0';
+                                    ALUOp(1) <=		'0';
+                                    ALUOp(0) <=		'0';
+            --TYPE JUMP
+            WHEN "000010" =>  RegDst <=		'0'; --X
+                                    Jump <=			'1';
+                                    ALUSrc <=		'0';
+                                    MemtoReg <=		'0'; --X
+                                    RegWrite <=		'0';
+                                    MemRead <=		'0';
+                                    MemWrite <=		'0';
+                                    Branch <=		'0';
+                                    ALUOp(1) <=		'1';
+                                    ALUOp(0) <=		'0';
+            --TYPE BEQ
+            WHEN OTHERS => 	RegDst <=		'0'; --X
+                                    Jump <=			'0';
+                                    ALUSrc <=		'0';
+                                    MemtoReg <=		'0'; --X
+                                    RegWrite <=		'0';
+                                    MemRead <=		'0';
+                                    MemWrite <=		'0';
+                                    Branch <=		'1';
+                                    ALUOp(1) <=		'0';
+                                    ALUOp(0) <=		'1';	
+                                    
+        END CASE;
+    END PROCESS;
 END ARC_CTRL;
 
diff --git a/CTRL_WB.o b/CTRL_WB.o
new file mode 100644
index 0000000000000000000000000000000000000000..88d2ec671c7c755b248d211f6559a5a96e711d14
Binary files /dev/null and b/CTRL_WB.o differ
diff --git a/CTRL_WB.vhd b/CTRL_WB.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..ddca67b39a5ed686a6fc369a6d774c5e7f9294f3
--- /dev/null
+++ b/CTRL_WB.vhd
@@ -0,0 +1,24 @@
+LIBRARY IEEE;
+USE IEEE.STD_LOGIC_1164.ALL;
+
+ENTITY CTRL_WB IS
+        PORT (INSTR   : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
+
+              WB      :OUT STD_LOGIC
+        );
+END CTRL_WB;
+
+ARCHITECTURE ARC_CTRL_WB OF CTRL_WB IS
+
+BEGIN
+    PROCESS(INSTR)
+    BEGIN
+        IF INSTR = X"00000000" THEN
+            WB <= '0';
+        ELSE
+            WB <= '1';
+        END IF;
+    END PROCESS;
+END ARC_CTRL_WB;
+
+
diff --git a/EX_MEM_PIPE.o b/EX_MEM_PIPE.o
index 3b20dcd8f62aff83020166977536388927b1a45e..798bbba5248ccdb8e6e774231dd1616701497608 100644
Binary files a/EX_MEM_PIPE.o and b/EX_MEM_PIPE.o differ
diff --git a/EX_MEM_PIPE.vhd b/EX_MEM_PIPE.vhd
index 78e7cabaa42c2cab9215c2e39e1cabafa67987f5..d895281e2d6663050e1bb48fb6fdebcd1982f374 100644
--- a/EX_MEM_PIPE.vhd
+++ b/EX_MEM_PIPE.vhd
@@ -32,7 +32,7 @@ BEGIN
             ALU_OUT <= X"00000000"; MTR_OUT <= '0';
             REGB_OUT <= X"00000000";
             DST_OUT <= "00000";
-		ELSIF CLK'EVENT AND CLK = '1' THEN
+		ELSIF CLK'EVENT AND CLK = '0' THEN
 			WB_OUT <= WB_IN;  MEM_R_OUT <= MEM_R_IN;
             MEM_W_OUT <= MEM_W_IN; MTR_OUT <= MTR_IN;
             REGB_OUT <= REGB_IN; ALU_OUT <= ALU_RESULT_IN;
diff --git a/FORWARD.o b/FORWARD.o
index 758920c7ff43150ea1fa4d7ae47f506e902f937e..d548522353c3ab6c4fab8de9fc7f02c99bd18eae 100644
Binary files a/FORWARD.o and b/FORWARD.o differ
diff --git a/FORWARD.vhd b/FORWARD.vhd
index 530dc6d5b90b299fb6494ae78984ff67d07a7183..8779da0e2114e5a2b62f1499860df8a52ec80a85 100644
--- a/FORWARD.vhd
+++ b/FORWARD.vhd
@@ -43,25 +43,25 @@ BEGIN
         ELSIF CLK'EVENT AND CLK = '1' THEN
             IF Rd_M = Reg_rs THEN
                 forw_a(1) <= '1';
-            ELSIF
+            ELSE
                 forw_a(1) <= '0';
             END IF;
 
             IF Rd_M = Reg_rt THEN
                 forw_b(1) <= '1';
-            ELSIF
+            ELSE
                 forw_b(1) <= '0';
             END IF;
 
             IF Rd_W = Reg_rs THEN
                 forw_a(0) <= '1';
-            ELSIF
+            ELSE
                 forw_a(0) <= '0';
             END IF;
 
             IF Rd_W = Reg_rt THEN
                 forw_b(0) <= '1';
-            ELSIF
+            ELSE
                 forw_b(0) <= '0';
             END IF;
             --forw_a(1) <= '1' WHEN Rd_M = Reg_rs ELSE '0';
diff --git a/ID_EX_PIPE.o b/ID_EX_PIPE.o
index 5a6fd7aa87ceddffcafb708e474cb345d9ae6dc1..6d653531fda22b295f09079cf7c25e957a2e03ed 100644
Binary files a/ID_EX_PIPE.o and b/ID_EX_PIPE.o differ
diff --git a/ID_EX_PIPE.vhd b/ID_EX_PIPE.vhd
index a20dbda31c9956828c4bda1d4a4475f7bde0c526..1d1a9189b25606c996453bd93e0f8b9a0e255ba3 100644
--- a/ID_EX_PIPE.vhd
+++ b/ID_EX_PIPE.vhd
@@ -49,7 +49,7 @@ BEGIN
             ALU_SRC_OUT <= '0';
             REGDST_OUT <= '0';
             RS_OUT <= "00000"; RT_OUT <= "00000"; RD_OUT <= "00000";
-		ELSIF CLK'EVENT AND CLK = '1' THEN
+		ELSIF CLK'EVENT AND CLK = '0' THEN
 			WB_OUT <= WB_IN;  MEM_R_OUT <= MEM_R_IN;
             MEM_W_OUT <= MEM_W_IN; FUNC_OUT <= FUNC_IN;
             ALU_OP_OUT <= ALU_OP_IN; MTR_OUT <= MTR_IN;
diff --git a/IF_ID_PIPE.o b/IF_ID_PIPE.o
index 5541b6b804cfcd9f25b8b73d998a00a6060a0308..8df90865b11391dd87af313145febb94102934c2 100644
Binary files a/IF_ID_PIPE.o and b/IF_ID_PIPE.o differ
diff --git a/IF_ID_PIPE.vhd b/IF_ID_PIPE.vhd
index 0224760988129de0ccc763b789df54feefddcdfe..012a0e4290ba073e7b3fb61f3f6f5db3362ea51e 100644
--- a/IF_ID_PIPE.vhd
+++ b/IF_ID_PIPE.vhd
@@ -25,8 +25,10 @@ BEGIN
 		IF RESET = '1' THEN
 			OPCODE <= "000000";	REG_RS <= "00000"; REG_RT <= "00000";
 			REG_RD <= "00000";	SHAMT <= "00000";  FUNC <= "000000";
-			IMMED <= "0000000000000000";
-		ELSIF CLK'EVENT AND CLK = '1' THEN
+			IMMED <= X"0000";
+            INSTR_OUT <= X"00000000";
+		ELSIF CLK'EVENT AND CLK = '0' THEN
+            INSTR_OUT <= INSTR;
 			OPCODE <= INSTR(31 DOWNTO 26);
             REG_RS <= INSTR(25 DOWNTO 21);
             REG_RT <= INSTR(20 DOWNTO 16);	
diff --git a/INST.o b/INST.o
index 5a23ebbc5f02bb3fb18445729fd50adcf5300d34..023454ffb6b381052caa9eb90dbcbbdfbff684db 100644
Binary files a/INST.o and b/INST.o differ
diff --git a/INST.vhd b/INST.vhd
index 69fcb6afbc6cb4d24c56cfdb6980d5431b562492..49cae71cb209bb708b8f0f05019857ccb6ecd082 100644
--- a/INST.vhd
+++ b/INST.vhd
@@ -35,8 +35,8 @@ ARCHITECTURE ARC_INST OF INST IS
 	TYPE MEMORY IS ARRAY (0 TO 255) OF STD_LOGIC_VECTOR(31 DOWNTO 0);
 	SIGNAL PROGRAM : MEMORY := (X"00000000",X"00000000",X"00000000",
                                 X"012A4820",X"012A4820",X"012A4820",
-                                X"00000000",X"00000000",X"00000000",
-                                X"00000000",X"00000000",X"00000000",
+                                X"012A4820",X"012A4820",X"012A4820",
+                                X"012A4820",X"012A4820",X"012A4820",
                                 X"00000000",X"00000000",X"00000000",
                                 X"00000000",X"00000000",X"00000000",
                                 X"00000000",X"00000000",X"00000000",
diff --git a/MAIN_CTTRL.o b/MAIN_CTTRL.o
index 9b02e3ba9e745a21b56f5111b6d59b6a8c3dc374..63f5531eb811e9f5bae50cf86efac61d1babcff4 100644
Binary files a/MAIN_CTTRL.o and b/MAIN_CTTRL.o differ
diff --git a/MAIN_CTTRL.vhd b/MAIN_CTTRL.vhd
index 8b60228b6e851333688ab53973383d11e3d1c9cd..10528fdd83047e8fafce1b6bab7971e945c91d70 100644
--- a/MAIN_CTTRL.vhd
+++ b/MAIN_CTTRL.vhd
@@ -63,7 +63,6 @@ ARCHITECTURE ARC_MAIN_PROCESSOR OF MAIN_PROCESSOR IS
 	
 	COMPONENT CTRL IS
 		PORT(
-            Instr  :        IN      STD_LOGIC_VECTOR(31 DOWNTO 0);
 			OPCode : 		IN		STD_LOGIC_VECTOR(5 DOWNTO 0);
             Func   :        IN      STD_LOGIC_VECTOR(5 DOWNTO 0);
 			RegDst :		OUT		STD_LOGIC;
@@ -313,6 +312,13 @@ ARCHITECTURE ARC_MAIN_PROCESSOR OF MAIN_PROCESSOR IS
         );  
     END COMPONENT SUB_BR;
 
+    COMPONENT CTRL_WB IS
+        PORT (INSTR   : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
+              WB      : OUT STD_LOGIC
+        );
+    END COMPONENT;
+
+
     SIGNAL NOVO_PC               :    STD_LOGIC_VECTOR(31 DOWNTO 0);
     SIGNAL PC_OUT               :    STD_LOGIC_VECTOR(31 DOWNTO 0);
     SIGNAL PC4_ID                :    STD_LOGIC_VECTOR(31 DOWNTO 0);
@@ -328,6 +334,8 @@ ARCHITECTURE ARC_MAIN_PROCESSOR OF MAIN_PROCESSOR IS
     SIGNAL CTRL_ALUOP         :    STD_LOGIC_VECTOR(1 DOWNTO 0);
     SIGNAL CTRL_ALUSRC_EXT_B        :    STD_LOGIC;
     SIGNAL CTRL_REGWRITE      :    STD_LOGIC;
+    SIGNAL WB_CTRL            :    STD_LOGIC;
+    SIGNAL WRITEBACK      :    STD_LOGIC;
 
     SIGNAL OPCODE_ID       :    STD_LOGIC_VECTOR(5 DOWNTO 0);
     SIGNAL INSTRUCTION_ID              :    STD_LOGIC_VECTOR(31 DOWNTO 0);
@@ -402,11 +410,15 @@ BEGIN
 	---------------------------------------------------------------------------
 	C_EXTEND_SIGNAL :	EXTEND_SIGNAL PORT MAP(IMMED_ID, 
                                                EXTENDED_IMMED);
-	C_CTRL :			CTRL PORT MAP(INSTRUCTION_ID, OPCODE_ID, FUNC_ID, CTRL_SEL_RDRT, CTRL_JUMP,
+	C_CTRL :			CTRL PORT MAP(OPCODE_ID, FUNC_ID, CTRL_SEL_RDRT, CTRL_JUMP,
                                       CTRL_BRANCH, CTRL_MEMREAD,
                                       CTRL_MEMTOREG, CTRL_ALUOP, 
                                       CTRL_MEMWRITE, CTRL_ALUSRC_EXT_B,
                                       CTRL_REGWRITE);
+    -- regwrite
+    C_WB_CTRL:          CTRL_WB PORT MAP(INSTRUCTION_ID, WB_CTRL);
+    AND_WB:             AND_1 PORT MAP(WB_CTRL, CTRL_REGWRITE, WRITEBACK);
+
 	C_REG :				REG PORT MAP(CLK, RESET, REGWRITE_WB, RS_ID, 
                                      RT_ID, REG_DST_WB, VALUE_WRREG, 
                                      REG_A_OUT, REG_B_OUT);
@@ -431,7 +443,7 @@ BEGIN
 	C_MX_4 :			MX_4 PORT MAP(CTRL_JUMP, JUMP_ADDR, SEL_BR_PC4,
                                       NOVO_PC);
 
-	P_IDEX :            ID_EX_PIPE PORT MAP(CLK, RESET, CTRL_REGWRITE,
+	P_IDEX :            ID_EX_PIPE PORT MAP(CLK, RESET, WRITEBACK,
                                             CTRL_MEMREAD, CTRL_MEMWRITE,
                                             CTRL_MEMTOREG, CTRL_ALUOP, 
                                             CTRL_ALUSRC_EXT_B,
@@ -456,12 +468,12 @@ BEGIN
     C_MX_2 :			MX_2 PORT MAP(ALUSRC_EXT_B_EX, REG_B_OUT_EX, 
                                       EXT_IMMED_EX, 
                                       SEL_ALU_EXT_B);
-    P_FRWD_M_B :        MX_2 PORT MAP(FRWD_B(1), ALU_OUT_MEM, SEL_ALU_EXT_B, FRWD_B_OUT);
-    P_FRWD_B :          MX_2 PORT MAP(FRWD_B(0), ALU_OUT_WB, FRWD_B_OUT, ALU_SRC_B);
+    P_FRWD_M_B :        MX_2 PORT MAP(FRWD_B(0), SEL_ALU_EXT_B, ALU_OUT_WB, FRWD_B_OUT);
+    P_FRWD_B :          MX_2 PORT MAP(FRWD_B(1), FRWD_B_OUT, ALU_OUT_MEM, ALU_SRC_B);
 
     -- ALU src a
-    P_FRWD_M_A :        MX_2 PORT MAP(FRWD_A(1), ALU_OUT_MEM, REG_A_OUT_EX, FRWD_A_OUT);
-    P_FRWD_A :          MX_2 PORT MAP(FRWD_A(0), ALU_OUT_WB, FRWD_A_OUT, ALU_SRC_A);
+    P_FRWD_M_A :        MX_2 PORT MAP(FRWD_A(0), REG_A_OUT_EX, ALU_OUT_WB, FRWD_A_OUT);
+    P_FRWD_A :          MX_2 PORT MAP(FRWD_A(1), FRWD_A_OUT, ALU_OUT_MEM, ALU_SRC_A);
 
 	C_ULA_CTRL :		ULA_CTRL PORT MAP(ALUOP_EX, FUNC_EX, ULA_CTRL_OUT);
 	C_ULA :				ULA PORT MAP(ALU_SRC_A, ALU_SRC_B, ULA_CTRL_OUT, 
diff --git a/MEM_WB_PIPE.o b/MEM_WB_PIPE.o
index 95a39e52aa9cdd50c1c7ab9121d18117568d44fe..f0c9fcec1d1c4c8dd53ed06feed3de2b6b0146e4 100644
Binary files a/MEM_WB_PIPE.o and b/MEM_WB_PIPE.o differ
diff --git a/MEM_WB_PIPE.vhd b/MEM_WB_PIPE.vhd
index 9a99f05b94a3737970451326ee5c130045939d52..dd2266a77ff0d9d3465530ad626f3fa290450782 100644
--- a/MEM_WB_PIPE.vhd
+++ b/MEM_WB_PIPE.vhd
@@ -27,7 +27,7 @@ BEGIN
 			WB_OUT <= '0'; MTR_OUT <= '0';
             MEM_OUT <= X"00000000"; ALU_OUT <= X"00000000";
             RD_OUT <= "00000";
-		ELSIF CLK'EVENT AND CLK = '1' THEN
+		ELSIF CLK'EVENT AND CLK = '0' THEN
 			WB_OUT <= WB_IN; MEM_OUT <= MEM_RES_IN; 
             ALU_OUT <= ALU_RES_IN; MTR_OUT <= MTR_IN;
             RD_OUT <= RD_IN;
diff --git a/REG.vhd b/REG.vhd
index de10a400c5c14e0e5444bfafb9eeee8619f132c0..a22fff37440dff19da459ea2f441619b11ebe2d8 100644
--- a/REG.vhd
+++ b/REG.vhd
@@ -46,7 +46,7 @@ BEGIN
 	--REALIZA A LEITURA NO ENDEREO SELECIONADO
 	OUT_A		<=		REG_1(TO_INTEGER(UNSIGNED(IN_A)));
 	OUT_B		<=		REG_2(TO_INTEGER(UNSIGNED(IN_B)));
-	
+
 	--PROCESSO DE LEITURA
 	PROCESS(CLK, RESET)
 		BEGIN
diff --git a/compile.sh b/compile.sh
index acfeb2f413cdac0e41dc7b7dabd9039437f57e74..a04fcd0f5d9bcfe1a72e05227776f0f32cf0e9b8 100755
--- a/compile.sh
+++ b/compile.sh
@@ -4,7 +4,7 @@ if [ $# -eq 3 ]; then
     ghdl -a --ieee=synopsys -fexplicit *.vhd
     ghdl -e --ieee=synopsys -fexplicit TB_MAIN_PROCESSOR
     ./tb_main_processor --stop-time=$1ns --vcd=$2
-    gtkwave $2 $3
+    gtkwave $2 $3 > /dev/null 2>&1
 else
     echo "Uso: $0 <time> <dump>.vcd <config>.sav"
 fi
diff --git a/config.sav b/config.sav
index a2e0c10efd132d32b76d53fd43c17c85e5957e0c..058956d123da752b2acad069de59fecd8b8e6aec 100644
--- a/config.sav
+++ b/config.sav
@@ -1,15 +1,16 @@
 [*]
 [*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
-[*] Fri Jun 24 09:19:54 2016
+[*] Thu Jun 30 11:44:58 2016
 [*]
 [dumpfile] "/nobackup/bcc/gvcc15/scMIPS/ondas.vcd"
-[dumpfile_mtime] "Fri Jun 24 09:06:09 2016"
-[dumpfile_size] 234135
+[dumpfile_mtime] "Thu Jun 30 11:43:01 2016"
+[dumpfile_size] 66547
 [savefile] "/nobackup/bcc/gvcc15/scMIPS/config.sav"
 [timestart] 0
-[size] 1366 704
+[size] 1366 702
 [pos] 108 25
-*-27.748419 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+*-26.011454 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+[treeopen] uut.
 [sst_width] 244
 [signals_width] 188
 [sst_expanded] 1
@@ -46,7 +47,6 @@ uut.ctrl_jump
 @22
 uut.jump_addr[31:0]
 @200
--
 -EXEC
 -Dst reg
 @28
@@ -59,9 +59,7 @@ uut.def_dest_reg[4:0]
 uut.reg_dst_wb[4:0]
 uut.reg_dst_mem[4:0]
 uut.rs_ex[4:0]
-@23
 uut.rt_ex[4:0]
-@22
 uut.sel_alu_ext_b[31:0]
 @28
 uut.frwd_a[1:0]
diff --git a/e~tb_main_processor.o b/e~tb_main_processor.o
index 5b9d53682cbb17e73b3e8ac464f7a6f073ff286a..9e897c80f4c36f8e689064d445d401b7e83a8413 100644
Binary files a/e~tb_main_processor.o and b/e~tb_main_processor.o differ
diff --git a/ondas.vcd b/ondas.vcd
index 1b45f815a9c452ead90f5b53bf1505408d65981c..72f036c24f5456c6a7db5a0ee1787a123035f1a7 100644
--- a/ondas.vcd
+++ b/ondas.vcd
@@ -1,5 +1,5 @@
 $date
-  Wed Jun 29 15:36:01 2016
+  Thu Jun 30 10:27:25 2016
 $end
 $version
   GHDL v0
@@ -26,83 +26,83 @@ $var reg 1 / ctrl_memtoreg $end
 $var reg 2 0 ctrl_aluop[1:0] $end
 $var reg 1 1 ctrl_alusrc_ext_b $end
 $var reg 1 2 ctrl_regwrite $end
-$var reg 6 3 opcode_id[5:0] $end
-$var reg 32 4 instruction_id[31:0] $end
-$var reg 6 5 func_id[5:0] $end
-$var reg 5 6 rs_id[4:0] $end
-$var reg 5 7 rt_id[4:0] $end
-$var reg 5 8 rd_id[4:0] $end
-$var reg 16 9 immed_id[15:0] $end
-$var reg 32 : extended_immed[31:0] $end
-$var reg 32 ; reg_a_out[31:0] $end
-$var reg 32 < reg_b_out[31:0] $end
-$var reg 32 = sh_l_jump[31:0] $end
-$var reg 32 > sh_l_branch[31:0] $end
-$var reg 32 ? jump_addr[31:0] $end
-$var reg 32 @ branch_addr[31:0] $end
-$var reg 1 A rt_rd_eq $end
-$var reg 1 B take_branch $end
-$var reg 32 C sel_br_pc4[31:0] $end
-$var reg 32 D memory_out[31:0] $end
-$var reg 32 E memory_out_wb[31:0] $end
-$var reg 1 F memtoreg_wb $end
-$var reg 1 G memtoreg_mem $end
-$var reg 1 H memwrite_mem $end
-$var reg 1 I memread_mem $end
-$var reg 1 J memwrite_ex $end
-$var reg 1 K memread_ex $end
-$var reg 1 L memtoreg_ex $end
-$var reg 32 M value_wrreg[31:0] $end
-$var reg 32 N reg_b_out_mem[31:0] $end
-$var reg 32 O sel_alu_ext_b[31:0] $end
-$var reg 5 P rs_ex[4:0] $end
-$var reg 5 Q rt_ex[4:0] $end
-$var reg 5 R rd_ex[4:0] $end
-$var reg 5 S reg_dst_mem[4:0] $end
-$var reg 5 T reg_dst_wb[4:0] $end
-$var reg 1 U regwrite_ex $end
-$var reg 1 V regwrite_mem $end
-$var reg 1 W regwrite_wb $end
-$var reg 32 X ext_immed_ex[31:0] $end
-$var reg 1 Y sel_rdrt_ex $end
-$var reg 5 Z def_dest_reg[4:0] $end
-$var reg 32 [ reg_a_out_ex[31:0] $end
-$var reg 32 \ reg_b_out_ex[31:0] $end
-$var reg 2 ] aluop_ex[1:0] $end
-$var reg 32 ^ alu_out_wb[31:0] $end
-$var reg 32 _ alu_out_mem[31:0] $end
-$var reg 1 ` alusrc_ext_b_ex $end
-$var reg 6 a func_ex[5:0] $end
-$var reg 32 b alu_src_a[31:0] $end
-$var reg 32 c alu_src_b[31:0] $end
-$var reg 32 d alu_out[31:0] $end
-$var reg 3 e ula_ctrl_out[2:0] $end
-$var reg 2 f frwd_a[1:0] $end
-$var reg 2 g frwd_b[1:0] $end
-$var reg 32 h frwd_a_out[31:0] $end
-$var reg 32 i frwd_b_out[31:0] $end
+$var reg 1 3 wb_ctrl $end
+$var reg 1 4 writeback $end
+$var reg 6 5 opcode_id[5:0] $end
+$var reg 32 6 instruction_id[31:0] $end
+$var reg 6 7 func_id[5:0] $end
+$var reg 5 8 rs_id[4:0] $end
+$var reg 5 9 rt_id[4:0] $end
+$var reg 5 : rd_id[4:0] $end
+$var reg 16 ; immed_id[15:0] $end
+$var reg 32 < extended_immed[31:0] $end
+$var reg 32 = reg_a_out[31:0] $end
+$var reg 32 > reg_b_out[31:0] $end
+$var reg 32 ? sh_l_jump[31:0] $end
+$var reg 32 @ sh_l_branch[31:0] $end
+$var reg 32 A jump_addr[31:0] $end
+$var reg 32 B branch_addr[31:0] $end
+$var reg 1 C rt_rd_eq $end
+$var reg 1 D take_branch $end
+$var reg 32 E sel_br_pc4[31:0] $end
+$var reg 32 F memory_out[31:0] $end
+$var reg 32 G memory_out_wb[31:0] $end
+$var reg 1 H memtoreg_wb $end
+$var reg 1 I memtoreg_mem $end
+$var reg 1 J memwrite_mem $end
+$var reg 1 K memread_mem $end
+$var reg 1 L memwrite_ex $end
+$var reg 1 M memread_ex $end
+$var reg 1 N memtoreg_ex $end
+$var reg 32 O value_wrreg[31:0] $end
+$var reg 32 P reg_b_out_mem[31:0] $end
+$var reg 32 Q sel_alu_ext_b[31:0] $end
+$var reg 5 R rs_ex[4:0] $end
+$var reg 5 S rt_ex[4:0] $end
+$var reg 5 T rd_ex[4:0] $end
+$var reg 5 U reg_dst_mem[4:0] $end
+$var reg 5 V reg_dst_wb[4:0] $end
+$var reg 1 W regwrite_ex $end
+$var reg 1 X regwrite_mem $end
+$var reg 1 Y regwrite_wb $end
+$var reg 32 Z ext_immed_ex[31:0] $end
+$var reg 1 [ sel_rdrt_ex $end
+$var reg 5 \ def_dest_reg[4:0] $end
+$var reg 32 ] reg_a_out_ex[31:0] $end
+$var reg 32 ^ reg_b_out_ex[31:0] $end
+$var reg 2 _ aluop_ex[1:0] $end
+$var reg 32 ` alu_out_wb[31:0] $end
+$var reg 32 a alu_out_mem[31:0] $end
+$var reg 1 b alusrc_ext_b_ex $end
+$var reg 6 c func_ex[5:0] $end
+$var reg 32 d alu_src_a[31:0] $end
+$var reg 32 e alu_src_b[31:0] $end
+$var reg 32 f alu_out[31:0] $end
+$var reg 3 g ula_ctrl_out[2:0] $end
+$var reg 2 h frwd_a[1:0] $end
+$var reg 2 i frwd_b[1:0] $end
+$var reg 32 j frwd_a_out[31:0] $end
+$var reg 32 k frwd_b_out[31:0] $end
 $scope module c_pc $end
-$var reg 1 j clk $end
-$var reg 1 k reset $end
-$var reg 1 l pc_w $end
-$var reg 32 m in_a[31:0] $end
-$var reg 32 n out_a[31:0] $end
-$upscope $end
-$scope module c_add_pc $end
+$var reg 1 l clk $end
+$var reg 1 m reset $end
+$var reg 1 n pc_w $end
 $var reg 32 o in_a[31:0] $end
 $var reg 32 p out_a[31:0] $end
 $upscope $end
-$scope module c_inst $end
+$scope module c_add_pc $end
 $var reg 32 q in_a[31:0] $end
 $var reg 32 r out_a[31:0] $end
+$upscope $end
+$scope module c_inst $end
+$var reg 32 s in_a[31:0] $end
+$var reg 32 t out_a[31:0] $end
 $comment program is not handled $end
 $upscope $end
 $scope module p_ifid $end
-$var reg 1 s clk $end
-$var reg 1 t reset $end
-$var reg 32 u instr[31:0] $end
-$var reg 32 v pc4_in[31:0] $end
-$var reg 32 w pc4_out[31:0] $end
+$var reg 1 u clk $end
+$var reg 1 v reset $end
+$var reg 32 w instr[31:0] $end
 $var reg 32 x instr_out[31:0] $end
 $var reg 6 y opcode[5:0] $end
 $var reg 5 z reg_rs[4:0] $end
@@ -129,203 +129,212 @@ $var reg 1 -" memwrite $end
 $var reg 1 ." alusrc $end
 $var reg 1 /" regwrite $end
 $upscope $end
+$scope module c_wb_ctrl $end
+$var reg 32 0" instr[31:0] $end
+$var reg 1 1" wb $end
+$upscope $end
+$scope module and_wb $end
+$var reg 1 2" branch $end
+$var reg 1 3" in_a $end
+$var reg 1 4" out_a $end
+$upscope $end
 $scope module c_reg $end
-$var reg 1 0" clk $end
-$var reg 1 1" reset $end
-$var reg 1 2" regwrite $end
-$var reg 5 3" in_a[4:0] $end
-$var reg 5 4" in_b[4:0] $end
-$var reg 5 5" in_c[4:0] $end
-$var reg 32 6" in_d[31:0] $end
-$var reg 32 7" out_a[31:0] $end
-$var reg 32 8" out_b[31:0] $end
+$var reg 1 5" clk $end
+$var reg 1 6" reset $end
+$var reg 1 7" regwrite $end
+$var reg 5 8" in_a[4:0] $end
+$var reg 5 9" in_b[4:0] $end
+$var reg 5 :" in_c[4:0] $end
+$var reg 32 ;" in_d[31:0] $end
+$var reg 32 <" out_a[31:0] $end
+$var reg 32 =" out_b[31:0] $end
 $comment reg_1 is not handled $end
 $comment reg_2 is not handled $end
 $upscope $end
 $scope module c_sl_1 $end
-$var reg 32 9" in_a[31:0] $end
-$var reg 32 :" out_a[31:0] $end
+$var reg 32 >" in_a[31:0] $end
+$var reg 32 ?" out_a[31:0] $end
 $upscope $end
 $scope module c_concat $end
-$var reg 32 ;" in_a[31:0] $end
-$var reg 32 <" in_b[31:0] $end
-$var reg 32 =" out_a[31:0] $end
-$var reg 32 >" monta_out_s[31:0] $end
+$var reg 32 @" in_a[31:0] $end
+$var reg 32 A" in_b[31:0] $end
+$var reg 32 B" out_a[31:0] $end
+$var reg 32 C" monta_out_s[31:0] $end
 $upscope $end
 $scope module c_sl_2 $end
-$var reg 32 ?" in_a[31:0] $end
-$var reg 32 @" out_a[31:0] $end
+$var reg 32 D" in_a[31:0] $end
+$var reg 32 E" out_a[31:0] $end
 $upscope $end
 $scope module c_add $end
-$var reg 32 A" in_a[31:0] $end
-$var reg 32 B" in_b[31:0] $end
-$var reg 32 C" out_a[31:0] $end
+$var reg 32 F" in_a[31:0] $end
+$var reg 32 G" in_b[31:0] $end
+$var reg 32 H" out_a[31:0] $end
 $upscope $end
 $scope module c_sub_br $end
-$var reg 32 D" in_a[31:0] $end
-$var reg 32 E" in_b[31:0] $end
-$var reg 1 F" out_a $end
-$var reg 32 G" subtr[31:0] $end
+$var reg 32 I" in_a[31:0] $end
+$var reg 32 J" in_b[31:0] $end
+$var reg 1 K" out_a $end
+$var reg 32 L" subtr[31:0] $end
 $upscope $end
 $scope module c_and_1 $end
-$var reg 1 H" branch $end
-$var reg 1 I" in_a $end
-$var reg 1 J" out_a $end
+$var reg 1 M" branch $end
+$var reg 1 N" in_a $end
+$var reg 1 O" out_a $end
 $upscope $end
 $scope module c_mx_3 $end
-$var reg 32 K" in_a[31:0] $end
-$var reg 32 L" in_b[31:0] $end
-$var reg 1 M" in_c $end
-$var reg 32 N" out_a[31:0] $end
-$upscope $end
-$scope module c_mx_4 $end
-$var reg 1 O" jump $end
 $var reg 32 P" in_a[31:0] $end
 $var reg 32 Q" in_b[31:0] $end
-$var reg 32 R" out_a[31:0] $end
+$var reg 1 R" in_c $end
+$var reg 32 S" out_a[31:0] $end
+$upscope $end
+$scope module c_mx_4 $end
+$var reg 1 T" jump $end
+$var reg 32 U" in_a[31:0] $end
+$var reg 32 V" in_b[31:0] $end
+$var reg 32 W" out_a[31:0] $end
 $upscope $end
 $scope module p_idex $end
-$var reg 1 S" clk $end
-$var reg 1 T" reset $end
-$var reg 1 U" wb_in $end
-$var reg 1 V" mem_r_in $end
-$var reg 1 W" mem_w_in $end
-$var reg 1 X" mtr_in $end
-$var reg 2 Y" alu_op_in[1:0] $end
-$var reg 1 Z" alu_src_in $end
-$var reg 6 [" func_in[5:0] $end
-$var reg 1 \" regdst_in $end
-$var reg 5 ]" rs_in[4:0] $end
-$var reg 5 ^" rt_in[4:0] $end
-$var reg 5 _" rd_in[4:0] $end
-$var reg 32 `" inp_a[31:0] $end
-$var reg 32 a" inp_b[31:0] $end
-$var reg 32 b" ext_in[31:0] $end
-$var reg 1 c" wb_out $end
-$var reg 1 d" mem_r_out $end
-$var reg 1 e" mem_w_out $end
-$var reg 2 f" alu_op_out[1:0] $end
-$var reg 1 g" alu_src_out $end
-$var reg 6 h" func_out[5:0] $end
-$var reg 1 i" mtr_out $end
-$var reg 1 j" regdst_out $end
-$var reg 5 k" rs_out[4:0] $end
-$var reg 5 l" rt_out[4:0] $end
-$var reg 5 m" rd_out[4:0] $end
-$var reg 32 n" a_out[31:0] $end
-$var reg 32 o" b_out[31:0] $end
-$var reg 32 p" ext_out[31:0] $end
+$var reg 1 X" clk $end
+$var reg 1 Y" reset $end
+$var reg 1 Z" wb_in $end
+$var reg 1 [" mem_r_in $end
+$var reg 1 \" mem_w_in $end
+$var reg 1 ]" mtr_in $end
+$var reg 2 ^" alu_op_in[1:0] $end
+$var reg 1 _" alu_src_in $end
+$var reg 6 `" func_in[5:0] $end
+$var reg 1 a" regdst_in $end
+$var reg 5 b" rs_in[4:0] $end
+$var reg 5 c" rt_in[4:0] $end
+$var reg 5 d" rd_in[4:0] $end
+$var reg 32 e" inp_a[31:0] $end
+$var reg 32 f" inp_b[31:0] $end
+$var reg 32 g" ext_in[31:0] $end
+$var reg 1 h" wb_out $end
+$var reg 1 i" mem_r_out $end
+$var reg 1 j" mem_w_out $end
+$var reg 2 k" alu_op_out[1:0] $end
+$var reg 1 l" alu_src_out $end
+$var reg 6 m" func_out[5:0] $end
+$var reg 1 n" mtr_out $end
+$var reg 1 o" regdst_out $end
+$var reg 5 p" rs_out[4:0] $end
+$var reg 5 q" rt_out[4:0] $end
+$var reg 5 r" rd_out[4:0] $end
+$var reg 32 s" a_out[31:0] $end
+$var reg 32 t" b_out[31:0] $end
+$var reg 32 u" ext_out[31:0] $end
 $upscope $end
 $scope module c_mx_1 $end
-$var reg 1 q" regdst $end
-$var reg 5 r" in_a[4:0] $end
-$var reg 5 s" in_b[4:0] $end
-$var reg 5 t" out_a[4:0] $end
+$var reg 1 v" regdst $end
+$var reg 5 w" in_a[4:0] $end
+$var reg 5 x" in_b[4:0] $end
+$var reg 5 y" out_a[4:0] $end
 $upscope $end
 $scope module frwd_u $end
-$var reg 1 u" clk $end
-$var reg 1 v" reset $end
-$var reg 5 w" reg_rt[4:0] $end
-$var reg 5 x" reg_rs[4:0] $end
-$var reg 5 y" rd_m[4:0] $end
-$var reg 5 z" rd_w[4:0] $end
-$var reg 2 {" forw_a[1:0] $end
-$var reg 2 |" forw_b[1:0] $end
+$var reg 1 z" clk $end
+$var reg 1 {" reset $end
+$var reg 5 |" reg_rt[4:0] $end
+$var reg 5 }" reg_rs[4:0] $end
+$var reg 5 !# rd_m[4:0] $end
+$var reg 5 "# rd_w[4:0] $end
+$var reg 2 ## forw_a[1:0] $end
+$var reg 2 $# forw_b[1:0] $end
 $upscope $end
 $scope module c_mx_2 $end
-$var reg 1 }" alusrc $end
-$var reg 32 !# in_a[31:0] $end
-$var reg 32 "# in_b[31:0] $end
-$var reg 32 ## out_a[31:0] $end
+$var reg 1 %# alusrc $end
+$var reg 32 &# in_a[31:0] $end
+$var reg 32 '# in_b[31:0] $end
+$var reg 32 (# out_a[31:0] $end
 $upscope $end
 $scope module p_frwd_m_b $end
-$var reg 1 $# alusrc $end
-$var reg 32 %# in_a[31:0] $end
-$var reg 32 &# in_b[31:0] $end
-$var reg 32 '# out_a[31:0] $end
+$var reg 1 )# alusrc $end
+$var reg 32 *# in_a[31:0] $end
+$var reg 32 +# in_b[31:0] $end
+$var reg 32 ,# out_a[31:0] $end
 $upscope $end
 $scope module p_frwd_b $end
-$var reg 1 (# alusrc $end
-$var reg 32 )# in_a[31:0] $end
-$var reg 32 *# in_b[31:0] $end
-$var reg 32 +# out_a[31:0] $end
+$var reg 1 -# alusrc $end
+$var reg 32 .# in_a[31:0] $end
+$var reg 32 /# in_b[31:0] $end
+$var reg 32 0# out_a[31:0] $end
 $upscope $end
 $scope module p_frwd_m_a $end
-$var reg 1 ,# alusrc $end
-$var reg 32 -# in_a[31:0] $end
-$var reg 32 .# in_b[31:0] $end
-$var reg 32 /# out_a[31:0] $end
+$var reg 1 1# alusrc $end
+$var reg 32 2# in_a[31:0] $end
+$var reg 32 3# in_b[31:0] $end
+$var reg 32 4# out_a[31:0] $end
 $upscope $end
 $scope module p_frwd_a $end
-$var reg 1 0# alusrc $end
-$var reg 32 1# in_a[31:0] $end
-$var reg 32 2# in_b[31:0] $end
-$var reg 32 3# out_a[31:0] $end
+$var reg 1 5# alusrc $end
+$var reg 32 6# in_a[31:0] $end
+$var reg 32 7# in_b[31:0] $end
+$var reg 32 8# out_a[31:0] $end
 $upscope $end
 $scope module c_ula_ctrl $end
-$var reg 2 4# aluop[1:0] $end
-$var reg 6 5# in_a[5:0] $end
-$var reg 3 6# out_a[2:0] $end
+$var reg 2 9# aluop[1:0] $end
+$var reg 6 :# in_a[5:0] $end
+$var reg 3 ;# out_a[2:0] $end
 $upscope $end
 $scope module c_ula $end
-$var reg 32 7# in_a[31:0] $end
-$var reg 32 8# in_b[31:0] $end
-$var reg 3 9# in_c[2:0] $end
-$var reg 32 :# out_a[31:0] $end
-$var reg 1 ;# zero $end
-$var reg 32 <# data_rs[31:0] $end
-$var reg 32 =# data_rt[31:0] $end
-$var reg 3 ># ula_ctrl[2:0] $end
-$var reg 32 ?# data_alu_result[31:0] $end
+$var reg 32 <# in_a[31:0] $end
+$var reg 32 =# in_b[31:0] $end
+$var reg 3 ># in_c[2:0] $end
+$var reg 32 ?# out_a[31:0] $end
+$var reg 1 @# zero $end
+$var reg 32 A# data_rs[31:0] $end
+$var reg 32 B# data_rt[31:0] $end
+$var reg 3 C# ula_ctrl[2:0] $end
+$var reg 32 D# data_alu_result[31:0] $end
 $upscope $end
 $scope module p_exmem $end
-$var reg 1 @# clk $end
-$var reg 1 A# reset $end
-$var reg 1 B# wb_in $end
-$var reg 1 C# mem_r_in $end
-$var reg 1 D# mem_w_in $end
-$var reg 1 E# mtr_in $end
-$var reg 5 F# dst_in[4:0] $end
-$var reg 32 G# regb_in[31:0] $end
-$var reg 32 H# alu_result_in[31:0] $end
-$var reg 1 I# mtr_out $end
-$var reg 1 J# wb_out $end
-$var reg 1 K# mem_r_out $end
-$var reg 1 L# mem_w_out $end
-$var reg 5 M# dst_out[4:0] $end
-$var reg 32 N# regb_out[31:0] $end
-$var reg 32 O# alu_out[31:0] $end
+$var reg 1 E# clk $end
+$var reg 1 F# reset $end
+$var reg 1 G# wb_in $end
+$var reg 1 H# mem_r_in $end
+$var reg 1 I# mem_w_in $end
+$var reg 1 J# mtr_in $end
+$var reg 5 K# dst_in[4:0] $end
+$var reg 32 L# regb_in[31:0] $end
+$var reg 32 M# alu_result_in[31:0] $end
+$var reg 1 N# mtr_out $end
+$var reg 1 O# wb_out $end
+$var reg 1 P# mem_r_out $end
+$var reg 1 Q# mem_w_out $end
+$var reg 5 R# dst_out[4:0] $end
+$var reg 32 S# regb_out[31:0] $end
+$var reg 32 T# alu_out[31:0] $end
 $upscope $end
 $scope module c_mem $end
-$var reg 1 P# clk $end
-$var reg 1 Q# reset $end
-$var reg 1 R# memwrite $end
-$var reg 1 S# memread $end
-$var reg 32 T# in_a[31:0] $end
-$var reg 32 U# in_b[31:0] $end
-$var reg 32 V# out_a[31:0] $end
+$var reg 1 U# clk $end
+$var reg 1 V# reset $end
+$var reg 1 W# memwrite $end
+$var reg 1 X# memread $end
+$var reg 32 Y# in_a[31:0] $end
+$var reg 32 Z# in_b[31:0] $end
+$var reg 32 [# out_a[31:0] $end
 $comment ram is not handled $end
-$var reg 32 W# adress[31:0] $end
+$var reg 32 \# adress[31:0] $end
 $upscope $end
 $scope module p_memwb $end
-$var reg 1 X# clk $end
-$var reg 1 Y# reset $end
-$var reg 1 Z# wb_in $end
-$var reg 32 [# mem_res_in[31:0] $end
-$var reg 32 \# alu_res_in[31:0] $end
-$var reg 1 ]# mtr_in $end
-$var reg 5 ^# rd_in[4:0] $end
-$var reg 1 _# wb_out $end
-$var reg 1 `# mtr_out $end
-$var reg 32 a# mem_out[31:0] $end
-$var reg 32 b# alu_out[31:0] $end
-$var reg 5 c# rd_out[4:0] $end
+$var reg 1 ]# clk $end
+$var reg 1 ^# reset $end
+$var reg 1 _# wb_in $end
+$var reg 32 `# mem_res_in[31:0] $end
+$var reg 32 a# alu_res_in[31:0] $end
+$var reg 1 b# mtr_in $end
+$var reg 5 c# rd_in[4:0] $end
+$var reg 1 d# wb_out $end
+$var reg 1 e# mtr_out $end
+$var reg 32 f# mem_out[31:0] $end
+$var reg 32 g# alu_out[31:0] $end
+$var reg 5 h# rd_out[4:0] $end
 $upscope $end
 $scope module c_mx_5 $end
-$var reg 1 d# memtoreg $end
-$var reg 32 e# in_a[31:0] $end
-$var reg 32 f# in_b[31:0] $end
-$var reg 32 g# out_a[31:0] $end
+$var reg 1 i# memtoreg $end
+$var reg 32 j# in_a[31:0] $end
+$var reg 32 k# in_b[31:0] $end
+$var reg 32 l# out_a[31:0] $end
 $upscope $end
 $upscope $end
 $enddefinitions $end
@@ -336,7 +345,7 @@ $enddefinitions $end
 1$
 b00000000010000000000000000000100 %
 b00000000010000000000000000000000 &
-b00000000010000000000000000000100 '
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU '
 b00000000010000000000000000000100 (
 b00000000000000000000000000000000 )
 1*
@@ -347,77 +356,77 @@ b00000000000000000000000000000000 )
 0/
 b10 0
 01
-02
-b000000 3
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 4
+12
+03
+04
 b000000 5
-b00000 6
-b00000 7
+b00000000000000000000000000000000 6
+b000000 7
 b00000 8
-b0000000000000000 9
-b00000000000000000000000000000000 :
-b00000000000000000000000000000000 ;
+b00000 9
+b00000 :
+b0000000000000000 ;
 b00000000000000000000000000000000 <
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 =
+b00000000000000000000000000000000 =
 b00000000000000000000000000000000 >
-b0000UUUUUUUUUUUUUUUUUUUUUUUUUU00 ?
-b00000000010000000000000000000100 @
-1A
-0B
-b00000000010000000000000000000100 C
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU D
-b00000000000000000000000000000000 E
-0F
-0G
+b00000000000000000000000000000000 ?
+b00000000000000000000000000000000 @
+b00000000000000000000000000000000 A
+bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX B
+1C
+0D
+b00000000010000000000000000000100 E
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU F
+b00000000000000000000000000000000 G
 0H
 0I
 0J
 0K
 0L
-b00000000000000000000000000000000 M
-b00000000000000000000000000000000 N
+0M
+0N
 b00000000000000000000000000000000 O
-b00000 P
-b00000 Q
+b00000000000000000000000000000000 P
+b00000000000000000000000000000000 Q
 b00000 R
 b00000 S
 b00000 T
-0U
-0V
+b00000 U
+b00000 V
 0W
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU X
+0X
 0Y
-b00000 Z
-b00000000000000000000000000000000 [
-b00000000000000000000000000000000 \
-b00 ]
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU Z
+0[
+b00000 \
+b00000000000000000000000000000000 ]
 b00000000000000000000000000000000 ^
-b00000000000000000000000000000000 _
-0`
-b000000 a
-b00000000000000000000000000000000 b
-b00000000000000000000000000000000 c
+b00 _
+b00000000000000000000000000000000 `
+b00000000000000000000000000000000 a
+0b
+b000000 c
 b00000000000000000000000000000000 d
-b010 e
-b00 f
-b00 g
-b00000000000000000000000000000000 h
-b00000000000000000000000000000000 i
-0j
-1k
-1l
-b00000000010000000000000000000100 m
-b00000000010000000000000000000000 n
-b00000000010000000000000000000000 o
-b00000000010000000000000000000100 p
+b00000000000000000000000000000000 e
+b00000000000000000000000000000000 f
+b010 g
+b00 h
+b00 i
+b00000000000000000000000000000000 j
+b00000000000000000000000000000000 k
+0l
+1m
+1n
+b00000000010000000000000000000100 o
+b00000000010000000000000000000000 p
 b00000000010000000000000000000000 q
-b00000000000000000000000000000000 r
-0s
-1t
-b00000000000000000000000000000000 u
-b00000000010000000000000000000100 v
-b00000000010000000000000000000100 w
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU x
+b00000000010000000000000000000100 r
+b00000000010000000000000000000000 s
+b00000000000000000000000000000000 t
+0u
+1v
+b00000000000000000000000000000000 w
+b00000000000000000000000000000000 x
 b000000 y
 b00000 z
 b00000 {
@@ -437,354 +446,330 @@ b000000 &"
 b10 ,"
 0-"
 0."
-0/"
-00"
-11"
+1/"
+b00000000000000000000000000000000 0"
+01"
 02"
-b00000 3"
-b00000 4"
-b00000 5"
-b00000000000000000000000000000000 6"
-b00000000000000000000000000000000 7"
-b00000000000000000000000000000000 8"
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 9"
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 :"
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU00 ;"
-b00000000010000000000000000000100 <"
-b0000UUUUUUUUUUUUUUUUUUUUUUUUUU00 ="
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU >"
+13"
+04"
+05"
+16"
+07"
+b00000 8"
+b00000 9"
+b00000 :"
+b00000000000000000000000000000000 ;"
+b00000000000000000000000000000000 <"
+b00000000000000000000000000000000 ="
+b00000000000000000000000000000000 >"
 b00000000000000000000000000000000 ?"
 b00000000000000000000000000000000 @"
 b00000000010000000000000000000100 A"
 b00000000000000000000000000000000 B"
-b00000000010000000000000000000100 C"
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU C"
 b00000000000000000000000000000000 D"
 b00000000000000000000000000000000 E"
-1F"
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU F"
 b00000000000000000000000000000000 G"
-0H"
-1I"
-0J"
-b00000000010000000000000000000100 K"
-b00000000010000000000000000000100 L"
+bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX H"
+b00000000000000000000000000000000 I"
+b00000000000000000000000000000000 J"
+1K"
+b00000000000000000000000000000000 L"
 0M"
-b00000000010000000000000000000100 N"
+1N"
 0O"
-b0000UUUUUUUUUUUUUUUUUUUUUUUUUU00 P"
-b00000000010000000000000000000100 Q"
-b00000000010000000000000000000100 R"
-0S"
-1T"
-0U"
-0V"
-0W"
+b00000000010000000000000000000100 P"
+bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Q"
+0R"
+b00000000010000000000000000000100 S"
+0T"
+b00000000000000000000000000000000 U"
+b00000000010000000000000000000100 V"
+b00000000010000000000000000000100 W"
 0X"
-b10 Y"
+1Y"
 0Z"
-b000000 ["
-1\"
-b00000 ]"
-b00000 ^"
-b00000 _"
-b00000000000000000000000000000000 `"
-b00000000000000000000000000000000 a"
-b00000000000000000000000000000000 b"
-0c"
-0d"
-0e"
-b00 f"
-0g"
-b000000 h"
+0["
+0\"
+0]"
+b10 ^"
+0_"
+b000000 `"
+1a"
+b00000 b"
+b00000 c"
+b00000 d"
+b00000000000000000000000000000000 e"
+b00000000000000000000000000000000 f"
+b00000000000000000000000000000000 g"
+0h"
 0i"
 0j"
-b00000 k"
-b00000 l"
-b00000 m"
-b00000000000000000000000000000000 n"
-b00000000000000000000000000000000 o"
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU p"
-0q"
+b00 k"
+0l"
+b000000 m"
+0n"
+0o"
+b00000 p"
+b00000 q"
 b00000 r"
-b00000 s"
-b00000 t"
-0u"
-1v"
+b00000000000000000000000000000000 s"
+b00000000000000000000000000000000 t"
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU u"
+0v"
 b00000 w"
 b00000 x"
 b00000 y"
-b00000 z"
-b00 {"
-b00 |"
-0}"
-b00000000000000000000000000000000 !#
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU "#
-b00000000000000000000000000000000 ##
-0$#
-b00000000000000000000000000000000 %#
+0z"
+1{"
+b00000 |"
+b00000 }"
+b00000 !#
+b00000 "#
+b00 ##
+b00 $#
+0%#
 b00000000000000000000000000000000 &#
-b00000000000000000000000000000000 '#
-0(#
-b00000000000000000000000000000000 )#
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU '#
+b00000000000000000000000000000000 (#
+0)#
 b00000000000000000000000000000000 *#
 b00000000000000000000000000000000 +#
-0,#
-b00000000000000000000000000000000 -#
+b00000000000000000000000000000000 ,#
+0-#
 b00000000000000000000000000000000 .#
 b00000000000000000000000000000000 /#
-00#
-b00000000000000000000000000000000 1#
+b00000000000000000000000000000000 0#
+01#
 b00000000000000000000000000000000 2#
 b00000000000000000000000000000000 3#
-b00 4#
-b000000 5#
-b010 6#
+b00000000000000000000000000000000 4#
+05#
+b00000000000000000000000000000000 6#
 b00000000000000000000000000000000 7#
 b00000000000000000000000000000000 8#
-b010 9#
-b00000000000000000000000000000000 :#
-1;#
+b00 9#
+b000000 :#
+b010 ;#
 b00000000000000000000000000000000 <#
 b00000000000000000000000000000000 =#
 b010 >#
 b00000000000000000000000000000000 ?#
-0@#
-1A#
-0B#
-0C#
-0D#
+1@#
+b00000000000000000000000000000000 A#
+b00000000000000000000000000000000 B#
+b010 C#
+b00000000000000000000000000000000 D#
 0E#
-b00000 F#
-b00000000000000000000000000000000 G#
-b00000000000000000000000000000000 H#
+1F#
+0G#
+0H#
 0I#
 0J#
-0K#
-0L#
-b00000 M#
-b00000000000000000000000000000000 N#
-b00000000000000000000000000000000 O#
+b00000 K#
+b00000000000000000000000000000000 L#
+b00000000000000000000000000000000 M#
+0N#
+0O#
 0P#
-1Q#
-0R#
-0S#
+0Q#
+b00000 R#
+b00000000000000000000000000000000 S#
 b00000000000000000000000000000000 T#
-b00000000000000000000000000000000 U#
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU V#
-b00000000000000000000000000000000 W#
+0U#
+1V#
+0W#
 0X#
-1Y#
-0Z#
+b00000000000000000000000000000000 Y#
+b00000000000000000000000000000000 Z#
 bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU [#
 b00000000000000000000000000000000 \#
 0]#
-b00000 ^#
+1^#
 0_#
-0`#
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU `#
 b00000000000000000000000000000000 a#
-b00000000000000000000000000000000 b#
+0b#
 b00000 c#
 0d#
-b00000000000000000000000000000000 e#
+0e#
 b00000000000000000000000000000000 f#
 b00000000000000000000000000000000 g#
+b00000 h#
+0i#
+b00000000000000000000000000000000 j#
+b00000000000000000000000000000000 k#
+b00000000000000000000000000000000 l#
 #5000000
 1!
 1#
-1j
-1s
-10"
-1S"
-1u"
-1@#
-1P#
-1X#
+1l
+1u
+15"
+1X"
+1z"
+1E#
+1U#
+1]#
 #10000000
 0!
 0"
 0#
 0$
-0j
-0k
-0s
-0t
-00"
-01"
-0S"
-0T"
-0u"
-0v"
-0@#
-0A#
-0P#
-0Q#
-0X#
-0Y#
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU G
+1[
+b10 _
+0l
+0m
+0u
+0v
+05"
+06"
+0X"
+0Y"
+b10 k"
+1o"
+1v"
+0z"
+0{"
+b10 9#
+0E#
+0F#
+0U#
+0V#
+0]#
+0^#
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU f#
+bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU j#
 #15000000
 1!
 1#
 b00000000010000000000000000001000 %
 b00000000010000000000000000000100 &
 b00000000010000000000000000001000 (
-b00000000010000000000000000001000 C
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU E
-1Y
-b10 ]
-b11 f
-1j
-b00000000010000000000000000001000 m
-b00000000010000000000000000000100 n
-b00000000010000000000000000000100 o
-b00000000010000000000000000001000 p
+b00000000010000000000000000001000 E
+b11 h
+b11 i
+1l
+b00000000010000000000000000001000 o
+b00000000010000000000000000000100 p
 b00000000010000000000000000000100 q
-1s
-b00000000010000000000000000001000 v
-10"
-b00000000010000000000000000001000 <"
-b00000000010000000000000000001000 K"
-b00000000010000000000000000001000 N"
-b00000000010000000000000000001000 Q"
-b00000000010000000000000000001000 R"
-1S"
-b10 f"
-1j"
-1q"
-1u"
-b11 {"
-1,#
-10#
-b10 4#
-1@#
-1P#
-1X#
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU a#
-bUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU e#
+b00000000010000000000000000001000 r
+b00000000010000000000000000000100 s
+1u
+15"
+b00000000010000000000000000001000 A"
+b00000000010000000000000000001000 P"
+b00000000010000000000000000001000 S"
+b00000000010000000000000000001000 V"
+b00000000010000000000000000001000 W"
+1X"
+1z"
+b11 ##
+b11 $#
+1)#
+1-#
+11#
+15#
+1E#
+1U#
+1]#
 #20000000
 0!
 0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
 #25000000
 1!
 1#
 b00000000010000000000000000001100 %
 b00000000010000000000000000001000 &
-b00000000010000000000000000001000 '
 b00000000010000000000000000001100 (
-b00000000010000000000000000001000 @
-b00000000010000000000000000001100 C
-1j
-b00000000010000000000000000001100 m
-b00000000010000000000000000001000 n
-b00000000010000000000000000001000 o
-b00000000010000000000000000001100 p
+b00000000010000000000000000001100 E
+1l
+b00000000010000000000000000001100 o
+b00000000010000000000000000001000 p
 b00000000010000000000000000001000 q
-1s
-b00000000010000000000000000001100 v
-b00000000010000000000000000001000 w
-10"
-b00000000010000000000000000001100 <"
-b00000000010000000000000000001000 A"
-b00000000010000000000000000001000 C"
-b00000000010000000000000000001100 K"
-b00000000010000000000000000001000 L"
-b00000000010000000000000000001100 N"
-b00000000010000000000000000001100 Q"
-b00000000010000000000000000001100 R"
-1S"
-1u"
-1@#
-1P#
-1X#
+b00000000010000000000000000001100 r
+b00000000010000000000000000001000 s
+1u
+15"
+b00000000010000000000000000001100 A"
+b00000000010000000000000000001100 P"
+b00000000010000000000000000001100 S"
+b00000000010000000000000000001100 V"
+b00000000010000000000000000001100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
 #30000000
 0!
 0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
 #35000000
 1!
 1#
 b00000000010000000000000000010000 %
 b00000000010000000000000000001100 &
-b00000000010000000000000000001100 '
 b00000000010000000000000000010000 (
 b00000001001010100100100000100000 )
-b00000000010000000000000000001100 @
-b00000000010000000000000000010000 C
-1j
-b00000000010000000000000000010000 m
-b00000000010000000000000000001100 n
-b00000000010000000000000000001100 o
-b00000000010000000000000000010000 p
+b00000000010000000000000000010000 E
+1l
+b00000000010000000000000000010000 o
+b00000000010000000000000000001100 p
 b00000000010000000000000000001100 q
-b00000001001010100100100000100000 r
-1s
-b00000001001010100100100000100000 u
-b00000000010000000000000000010000 v
-b00000000010000000000000000001100 w
-10"
-b00000000010000000000000000010000 <"
-b00000000010000000000000000001100 A"
-b00000000010000000000000000001100 C"
-b00000000010000000000000000010000 K"
-b00000000010000000000000000001100 L"
-b00000000010000000000000000010000 N"
-b00000000010000000000000000010000 Q"
-b00000000010000000000000000010000 R"
-1S"
-1u"
-1@#
-1P#
-1X#
+b00000000010000000000000000010000 r
+b00000000010000000000000000001100 s
+b00000001001010100100100000100000 t
+1u
+b00000001001010100100100000100000 w
+15"
+b00000000010000000000000000010000 A"
+b00000000010000000000000000010000 P"
+b00000000010000000000000000010000 S"
+b00000000010000000000000000010000 V"
+b00000000010000000000000000010000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
 #40000000
 0!
 0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
-#45000000
-1!
-1#
-b00000000010000000000000000010100 %
-b00000000010000000000000000010000 &
-b00000000010000000000000000010000 '
-b00000000010000000000000000010100 (
-b100000 5
-b01001 6
-b01010 7
+13
+14
+b00000001001010100100100000100000 6
+b100000 7
 b01001 8
-b0100100000100000 9
-b00000000000000000100100000100000 :
-b00000000000000000000000000000001 ;
-b00000000000000000000000000000001 <
-b00000000000000010010000010000000 >
-b00000000010000010010000010010000 @
-b00000000010000000000000000010100 C
-1j
-b00000000010000000000000000010100 m
-b00000000010000000000000000010000 n
-b00000000010000000000000000010000 o
-b00000000010000000000000000010100 p
-b00000000010000000000000000010000 q
-1s
-b00000000010000000000000000010100 v
-b00000000010000000000000000010000 w
+b01010 9
+b01001 :
+b0100100000100000 ;
+b00000000000000000100100000100000 <
+b00000000000000000000000000000001 =
+b00000000000000000000000000000001 >
+b00000100101010010010000010000000 ?
+b00000000000000010010000010000000 @
+b00000100101010010010000010000000 A
+0l
+0u
+b00000001001010100100100000100000 x
 b01001 z
 b01010 {
 b01001 |
@@ -793,223 +778,666 @@ b0100100000100000 ""
 b0100100000100000 #"
 b00000000000000000100100000100000 $"
 b100000 &"
-10"
-b01001 3"
-b01010 4"
-b00000000000000000000000000000001 7"
-b00000000000000000000000000000001 8"
-b00000000010000000000000000010100 <"
-b00000000000000000100100000100000 ?"
-b00000000000000010010000010000000 @"
-b00000000010000000000000000010000 A"
-b00000000000000010010000010000000 B"
-b00000000010000010010000010010000 C"
-b00000000000000000000000000000001 D"
-b00000000000000000000000000000001 E"
-b00000000010000000000000000010100 K"
-b00000000010000010010000010010000 L"
-b00000000010000000000000000010100 N"
-b00000000010000000000000000010100 Q"
-b00000000010000000000000000010100 R"
-1S"
-b100000 ["
-b01001 ]"
-b01010 ^"
-b01001 _"
-b00000000000000000000000000000001 `"
-b00000000000000000000000000000001 a"
-b00000000000000000100100000100000 b"
-1u"
-1@#
-1P#
-1X#
+b00000001001010100100100000100000 0"
+11"
+12"
+14"
+05"
+b01001 8"
+b01010 9"
+b00000000000000000000000000000001 <"
+b00000000000000000000000000000001 ="
+b00000001001010100100100000100000 >"
+b00000100101010010010000010000000 ?"
+b00000100101010010010000010000000 @"
+b00000100101010010010000010000000 B"
+b00000000000000000100100000100000 D"
+b00000000000000010010000010000000 E"
+b00000000000000010010000010000000 G"
+b00000000000000000000000000000001 I"
+b00000000000000000000000000000001 J"
+b00000100101010010010000010000000 U"
+0X"
+1Z"
+b100000 `"
+b01001 b"
+b01010 c"
+b01001 d"
+b00000000000000000000000000000001 e"
+b00000000000000000000000000000001 f"
+b00000000000000000100100000100000 g"
+0z"
+0E#
+0U#
+0]#
+#45000000
+1!
+1#
+b00000000010000000000000000010100 %
+b00000000010000000000000000010000 &
+b00000000010000000000000000010100 (
+b00000000010000000000000000010100 E
+1l
+b00000000010000000000000000010100 o
+b00000000010000000000000000010000 p
+b00000000010000000000000000010000 q
+b00000000010000000000000000010100 r
+b00000000010000000000000000010000 s
+1u
+15"
+b00000000010000000000000000010100 A"
+b00000000010000000000000000010100 P"
+b00000000010000000000000000010100 S"
+b00000000010000000000000000010100 V"
+b00000000010000000000000000010100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
 #50000000
 0!
 0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
+b00000000000000000000000000000001 Q
+b01001 R
+b01010 S
+b01001 T
+1W
+b01001 \
+b00000000000000000000000000000001 ]
+b00000000000000000000000000000001 ^
+b100000 c
+0l
+0u
+05"
+0X"
+1h"
+b100000 m"
+b01001 p"
+b01010 q"
+b01001 r"
+b00000000000000000000000000000001 s"
+b00000000000000000000000000000001 t"
+b01010 w"
+b01001 x"
+b01001 y"
+0z"
+b01010 |"
+b01001 }"
+b00000000000000000000000000000001 &#
+b00000000000000000000000000000001 (#
+b00000000000000000000000000000001 *#
+b00000000000000000000000000000001 2#
+b100000 :#
+0E#
+1G#
+b01001 K#
+b00000000000000000000000000000001 L#
+0U#
+0]#
 #55000000
 1!
 1#
 b00000000010000000000000000011000 %
 b00000000010000000000000000010100 &
-b00000000010000000000000000010100 '
 b00000000010000000000000000011000 (
-b00000000010000010010000010010100 @
-b00000000010000000000000000011000 C
-b00000000000000000000000000000001 O
-b01001 P
-b01010 Q
-b01001 R
-b01001 Z
-b00000000000000000000000000000001 [
-b00000000000000000000000000000001 \
-b100000 a
-b00000000000000000000000000000001 b
+b00000000010000000000000000011000 E
 b00000000000000000000000000000001 d
-b00000000000000000000000000000001 h
-1j
-b00000000010000000000000000011000 m
-b00000000010000000000000000010100 n
-b00000000010000000000000000010100 o
-b00000000010000000000000000011000 p
+b00000000000000000000000000000001 e
+b00000000000000000000000000000010 f
+b00 h
+b00 i
+b00000000000000000000000000000001 j
+b00000000000000000000000000000001 k
+1l
+b00000000010000000000000000011000 o
+b00000000010000000000000000010100 p
 b00000000010000000000000000010100 q
-1s
-b00000000010000000000000000011000 v
-b00000000010000000000000000010100 w
-10"
-b00000000010000000000000000011000 <"
-b00000000010000000000000000010100 A"
-b00000000010000010010000010010100 C"
-b00000000010000000000000000011000 K"
-b00000000010000010010000010010100 L"
-b00000000010000000000000000011000 N"
-b00000000010000000000000000011000 Q"
-b00000000010000000000000000011000 R"
-1S"
-b100000 h"
-b01001 k"
-b01010 l"
-b01001 m"
-b00000000000000000000000000000001 n"
-b00000000000000000000000000000001 o"
-b01010 r"
-b01001 s"
-b01001 t"
-1u"
-b01010 w"
-b01001 x"
-b00000000000000000000000000000001 !#
-b00000000000000000000000000000001 ##
-b00000000000000000000000000000001 &#
+b00000000010000000000000000011000 r
+b00000000010000000000000000010100 s
+1u
+15"
+b00000000010000000000000000011000 A"
+b00000000010000000000000000011000 P"
+b00000000010000000000000000011000 S"
+b00000000010000000000000000011000 V"
+b00000000010000000000000000011000 W"
+1X"
+1z"
+b00 ##
+b00 $#
+0)#
+b00000000000000000000000000000001 ,#
+0-#
 b00000000000000000000000000000001 .#
-b00000000000000000000000000000001 /#
-b00000000000000000000000000000001 2#
-b00000000000000000000000000000001 3#
-b100000 5#
-b00000000000000000000000000000001 7#
-b00000000000000000000000000000001 :#
-0;#
+b00000000000000000000000000000001 0#
+01#
+b00000000000000000000000000000001 4#
+05#
+b00000000000000000000000000000001 6#
+b00000000000000000000000000000001 8#
 b00000000000000000000000000000001 <#
-b00000000000000000000000000000001 ?#
-1@#
-b01001 F#
-b00000000000000000000000000000001 G#
-b00000000000000000000000000000001 H#
-1P#
-1X#
+b00000000000000000000000000000001 =#
+b00000000000000000000000000000010 ?#
+0@#
+b00000000000000000000000000000001 A#
+b00000000000000000000000000000001 B#
+b00000000000000000000000000000010 D#
+1E#
+b00000000000000000000000000000010 M#
+1U#
+1]#
 #60000000
 0!
 0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
+b00000000000000000000000000000001 P
+b01001 U
+1X
+b00000000000000000000000000000010 a
+0l
+0u
+05"
+0X"
+0z"
+b01001 !#
+b00000000000000000000000000000010 /#
+b00000000000000000000000000000010 7#
+0E#
+1O#
+b01001 R#
+b00000000000000000000000000000001 S#
+b00000000000000000000000000000010 T#
+0U#
+b00000000000000000000000000000001 Y#
+b00000000000000000000000000000010 Z#
+b00000000000000000000000000000001 \#
+0]#
+1_#
+b00000000000000000000000000000010 a#
+b01001 c#
 #65000000
 1!
 1#
 b00000000010000000000000000011100 %
 b00000000010000000000000000011000 &
-b00000000010000000000000000011000 '
 b00000000010000000000000000011100 (
-b00000000000000000000000000000000 )
-b00000000010000010010000010011000 @
-b00000000010000000000000000011100 C
-b00000000000000000000000000000001 N
-b01001 S
-b00000000000000000000000000000001 _
-b00000000000000000000000000000001 i
-1j
-b00000000010000000000000000011100 m
-b00000000010000000000000000011000 n
-b00000000010000000000000000011000 o
-b00000000010000000000000000011100 p
+b00000000010000000000000000011100 E
+b00000000000000000000000000000010 d
+b00000000000000000000000000000011 f
+b10 h
+1l
+b00000000010000000000000000011100 o
+b00000000010000000000000000011000 p
 b00000000010000000000000000011000 q
-b00000000000000000000000000000000 r
-1s
-b00000000000000000000000000000000 u
-b00000000010000000000000000011100 v
-b00000000010000000000000000011000 w
-10"
-b00000000010000000000000000011100 <"
-b00000000010000000000000000011000 A"
-b00000000010000010010000010011000 C"
-b00000000010000000000000000011100 K"
-b00000000010000010010000010011000 L"
-b00000000010000000000000000011100 N"
-b00000000010000000000000000011100 Q"
-b00000000010000000000000000011100 R"
-1S"
-1u"
-b01001 y"
-b00000000000000000000000000000001 %#
-b00000000000000000000000000000001 '#
-b00000000000000000000000000000001 *#
-b00000000000000000000000000000001 -#
-1@#
-b01001 M#
-b00000000000000000000000000000001 N#
-b00000000000000000000000000000001 O#
-1P#
-b00000000000000000000000000000001 T#
-b00000000000000000000000000000001 U#
-b00000000000000000000000000000001 W#
-1X#
-b00000000000000000000000000000001 \#
-b01001 ^#
+b00000000010000000000000000011100 r
+b00000000010000000000000000011000 s
+1u
+15"
+b00000000010000000000000000011100 A"
+b00000000010000000000000000011100 P"
+b00000000010000000000000000011100 S"
+b00000000010000000000000000011100 V"
+b00000000010000000000000000011100 W"
+1X"
+1z"
+b10 ##
+15#
+b00000000000000000000000000000010 8#
+b00000000000000000000000000000010 <#
+b00000000000000000000000000000011 ?#
+b00000000000000000000000000000010 A#
+b00000000000000000000000000000011 D#
+1E#
+b00000000000000000000000000000011 M#
+1U#
+1]#
 #70000000
 0!
 0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
+b00000000000000000000000000000010 O
+b01001 V
+1Y
+b00000000000000000000000000000010 `
+b00000000000000000000000000000011 a
+b00000000000000000000000000000011 d
+b00000000000000000000000000000100 f
+0l
+0u
+05"
+17"
+b01001 :"
+b00000000000000000000000000000010 ;"
+0X"
+0z"
+b01001 "#
+b00000000000000000000000000000010 +#
+b00000000000000000000000000000011 /#
+b00000000000000000000000000000010 3#
+b00000000000000000000000000000011 7#
+b00000000000000000000000000000011 8#
+b00000000000000000000000000000011 <#
+b00000000000000000000000000000100 ?#
+b00000000000000000000000000000011 A#
+b00000000000000000000000000000100 D#
+0E#
+b00000000000000000000000000000100 M#
+b00000000000000000000000000000011 T#
+0U#
+b00000000000000000000000000000011 Z#
+0]#
+b00000000000000000000000000000011 a#
+1d#
+b00000000000000000000000000000010 g#
+b01001 h#
+b00000000000000000000000000000010 k#
+b00000000000000000000000000000010 l#
 #75000000
 1!
 1#
 b00000000010000000000000000100000 %
 b00000000010000000000000000011100 &
-b00000000010000000000000000011100 '
 b00000000010000000000000000100000 (
-b000000 5
-b00000 6
-b00000 7
+b00000000010000000000000000100000 E
+b11 h
+b00000000000000000000000000000010 j
+1l
+b00000000010000000000000000100000 o
+b00000000010000000000000000011100 p
+b00000000010000000000000000011100 q
+b00000000010000000000000000100000 r
+b00000000010000000000000000011100 s
+1u
+15"
+b00000000010000000000000000100000 A"
+b00000000010000000000000000100000 P"
+b00000000010000000000000000100000 S"
+b00000000010000000000000000100000 V"
+b00000000010000000000000000100000 W"
+1X"
+1z"
+b11 ##
+11#
+b00000000000000000000000000000010 4#
+b00000000000000000000000000000010 6#
+1E#
+1U#
+1]#
+#80000000
+0!
+0#
+b00000000000000000000000000000010 =
+0C
+b00000000000000000000000000000011 O
+b00000000000000000000000000000011 `
+b00000000000000000000000000000100 a
+b00000000000000000000000000000100 d
+b00000000000000000000000000000101 f
+b00000000000000000000000000000011 j
+0l
+0u
+05"
+b00000000000000000000000000000011 ;"
+b00000000000000000000000000000010 <"
+b00000000000000000000000000000010 I"
+0K"
+b00000000000000000000000000000001 L"
+0N"
+0X"
+b00000000000000000000000000000010 e"
+0z"
+b00000000000000000000000000000011 +#
+b00000000000000000000000000000100 /#
+b00000000000000000000000000000011 3#
+b00000000000000000000000000000011 4#
+b00000000000000000000000000000011 6#
+b00000000000000000000000000000100 7#
+b00000000000000000000000000000100 8#
+b00000000000000000000000000000100 <#
+b00000000000000000000000000000101 ?#
+b00000000000000000000000000000100 A#
+b00000000000000000000000000000101 D#
+0E#
+b00000000000000000000000000000101 M#
+b00000000000000000000000000000100 T#
+0U#
+b00000000000000000000000000000100 Z#
+0]#
+b00000000000000000000000000000100 a#
+b00000000000000000000000000000011 g#
+b00000000000000000000000000000011 k#
+b00000000000000000000000000000011 l#
+#85000000
+1!
+1#
+b00000000010000000000000000100100 %
+b00000000010000000000000000100000 &
+b00000000010000000000000000100100 (
+b00000000010000000000000000100100 E
+1l
+b00000000010000000000000000100100 o
+b00000000010000000000000000100000 p
+b00000000010000000000000000100000 q
+b00000000010000000000000000100100 r
+b00000000010000000000000000100000 s
+1u
+15"
+b00000000010000000000000000100100 A"
+b00000000010000000000000000100100 P"
+b00000000010000000000000000100100 S"
+b00000000010000000000000000100100 V"
+b00000000010000000000000000100100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#90000000
+0!
+0#
+b00000000000000000000000000000011 =
+b00000000000000000000000000000100 O
+b00000000000000000000000000000010 ]
+b00000000000000000000000000000100 `
+b00000000000000000000000000000101 a
+b00000000000000000000000000000101 d
+b00000000000000000000000000000110 f
+b00000000000000000000000000000100 j
+0l
+0u
+05"
+b00000000000000000000000000000100 ;"
+b00000000000000000000000000000011 <"
+b00000000000000000000000000000011 I"
+b00000000000000000000000000000010 L"
+0X"
+b00000000000000000000000000000011 e"
+b00000000000000000000000000000010 s"
+0z"
+b00000000000000000000000000000100 +#
+b00000000000000000000000000000101 /#
+b00000000000000000000000000000010 2#
+b00000000000000000000000000000100 3#
+b00000000000000000000000000000100 4#
+b00000000000000000000000000000100 6#
+b00000000000000000000000000000101 7#
+b00000000000000000000000000000101 8#
+b00000000000000000000000000000101 <#
+b00000000000000000000000000000110 ?#
+b00000000000000000000000000000101 A#
+b00000000000000000000000000000110 D#
+0E#
+b00000000000000000000000000000110 M#
+b00000000000000000000000000000101 T#
+0U#
+b00000000000000000000000000000101 Z#
+0]#
+b00000000000000000000000000000101 a#
+b00000000000000000000000000000100 g#
+b00000000000000000000000000000100 k#
+b00000000000000000000000000000100 l#
+#95000000
+1!
+1#
+b00000000010000000000000000101000 %
+b00000000010000000000000000100100 &
+b00000000010000000000000000101000 (
+b00000000010000000000000000101000 E
+1l
+b00000000010000000000000000101000 o
+b00000000010000000000000000100100 p
+b00000000010000000000000000100100 q
+b00000000010000000000000000101000 r
+b00000000010000000000000000100100 s
+1u
+15"
+b00000000010000000000000000101000 A"
+b00000000010000000000000000101000 P"
+b00000000010000000000000000101000 S"
+b00000000010000000000000000101000 V"
+b00000000010000000000000000101000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#100000000
+0!
+0#
+b00000000000000000000000000000100 =
+b00000000000000000000000000000101 O
+b00000000000000000000000000000011 ]
+b00000000000000000000000000000101 `
+b00000000000000000000000000000110 a
+b00000000000000000000000000000110 d
+b00000000000000000000000000000111 f
+b00000000000000000000000000000101 j
+0l
+0u
+05"
+b00000000000000000000000000000101 ;"
+b00000000000000000000000000000100 <"
+b00000000000000000000000000000100 I"
+b00000000000000000000000000000011 L"
+0X"
+b00000000000000000000000000000100 e"
+b00000000000000000000000000000011 s"
+0z"
+b00000000000000000000000000000101 +#
+b00000000000000000000000000000110 /#
+b00000000000000000000000000000011 2#
+b00000000000000000000000000000101 3#
+b00000000000000000000000000000101 4#
+b00000000000000000000000000000101 6#
+b00000000000000000000000000000110 7#
+b00000000000000000000000000000110 8#
+b00000000000000000000000000000110 <#
+b00000000000000000000000000000111 ?#
+b00000000000000000000000000000110 A#
+b00000000000000000000000000000111 D#
+0E#
+b00000000000000000000000000000111 M#
+b00000000000000000000000000000110 T#
+0U#
+b00000000000000000000000000000110 Z#
+0]#
+b00000000000000000000000000000110 a#
+b00000000000000000000000000000101 g#
+b00000000000000000000000000000101 k#
+b00000000000000000000000000000101 l#
+#105000000
+1!
+1#
+b00000000010000000000000000101100 %
+b00000000010000000000000000101000 &
+b00000000010000000000000000101100 (
+b00000000010000000000000000101100 E
+1l
+b00000000010000000000000000101100 o
+b00000000010000000000000000101000 p
+b00000000010000000000000000101000 q
+b00000000010000000000000000101100 r
+b00000000010000000000000000101000 s
+1u
+15"
+b00000000010000000000000000101100 A"
+b00000000010000000000000000101100 P"
+b00000000010000000000000000101100 S"
+b00000000010000000000000000101100 V"
+b00000000010000000000000000101100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#110000000
+0!
+0#
+b00000000000000000000000000000101 =
+b00000000000000000000000000000110 O
+b00000000000000000000000000000100 ]
+b00000000000000000000000000000110 `
+b00000000000000000000000000000111 a
+b00000000000000000000000000000111 d
+b00000000000000000000000000001000 f
+b00000000000000000000000000000110 j
+0l
+0u
+05"
+b00000000000000000000000000000110 ;"
+b00000000000000000000000000000101 <"
+b00000000000000000000000000000101 I"
+b00000000000000000000000000000100 L"
+0X"
+b00000000000000000000000000000101 e"
+b00000000000000000000000000000100 s"
+0z"
+b00000000000000000000000000000110 +#
+b00000000000000000000000000000111 /#
+b00000000000000000000000000000100 2#
+b00000000000000000000000000000110 3#
+b00000000000000000000000000000110 4#
+b00000000000000000000000000000110 6#
+b00000000000000000000000000000111 7#
+b00000000000000000000000000000111 8#
+b00000000000000000000000000000111 <#
+b00000000000000000000000000001000 ?#
+b00000000000000000000000000000111 A#
+b00000000000000000000000000001000 D#
+0E#
+b00000000000000000000000000001000 M#
+b00000000000000000000000000000111 T#
+0U#
+b00000000000000000000000000000111 Z#
+0]#
+b00000000000000000000000000000111 a#
+b00000000000000000000000000000110 g#
+b00000000000000000000000000000110 k#
+b00000000000000000000000000000110 l#
+#115000000
+1!
+1#
+b00000000010000000000000000110000 %
+b00000000010000000000000000101100 &
+b00000000010000000000000000110000 (
+b00000000010000000000000000110000 E
+1l
+b00000000010000000000000000110000 o
+b00000000010000000000000000101100 p
+b00000000010000000000000000101100 q
+b00000000010000000000000000110000 r
+b00000000010000000000000000101100 s
+1u
+15"
+b00000000010000000000000000110000 A"
+b00000000010000000000000000110000 P"
+b00000000010000000000000000110000 S"
+b00000000010000000000000000110000 V"
+b00000000010000000000000000110000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#120000000
+0!
+0#
+b00000000000000000000000000000110 =
+b00000000000000000000000000000111 O
+b00000000000000000000000000000101 ]
+b00000000000000000000000000000111 `
+b00000000000000000000000000001000 a
+b00000000000000000000000000001000 d
+b00000000000000000000000000001001 f
+b00000000000000000000000000000111 j
+0l
+0u
+05"
+b00000000000000000000000000000111 ;"
+b00000000000000000000000000000110 <"
+b00000000000000000000000000000110 I"
+b00000000000000000000000000000101 L"
+0X"
+b00000000000000000000000000000110 e"
+b00000000000000000000000000000101 s"
+0z"
+b00000000000000000000000000000111 +#
+b00000000000000000000000000001000 /#
+b00000000000000000000000000000101 2#
+b00000000000000000000000000000111 3#
+b00000000000000000000000000000111 4#
+b00000000000000000000000000000111 6#
+b00000000000000000000000000001000 7#
+b00000000000000000000000000001000 8#
+b00000000000000000000000000001000 <#
+b00000000000000000000000000001001 ?#
+b00000000000000000000000000001000 A#
+b00000000000000000000000000001001 D#
+0E#
+b00000000000000000000000000001001 M#
+b00000000000000000000000000001000 T#
+0U#
+b00000000000000000000000000001000 Z#
+0]#
+b00000000000000000000000000001000 a#
+b00000000000000000000000000000111 g#
+b00000000000000000000000000000111 k#
+b00000000000000000000000000000111 l#
+#125000000
+1!
+1#
+b00000000010000000000000000110100 %
+b00000000010000000000000000110000 &
+b00000000010000000000000000110100 (
+b00000000000000000000000000000000 )
+b00000000010000000000000000110100 E
+1l
+b00000000010000000000000000110100 o
+b00000000010000000000000000110000 p
+b00000000010000000000000000110000 q
+b00000000010000000000000000110100 r
+b00000000010000000000000000110000 s
+b00000000000000000000000000000000 t
+1u
+b00000000000000000000000000000000 w
+15"
+b00000000010000000000000000110100 A"
+b00000000010000000000000000110100 P"
+b00000000010000000000000000110100 S"
+b00000000010000000000000000110100 V"
+b00000000010000000000000000110100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#130000000
+0!
+0#
+03
+04
+b00000000000000000000000000000000 6
+b000000 7
 b00000 8
-b0000000000000000 9
-b00000000000000000000000000000000 :
-b00000000000000000000000000000000 ;
+b00000 9
+b00000 :
+b0000000000000000 ;
 b00000000000000000000000000000000 <
+b00000000000000000000000000000000 =
 b00000000000000000000000000000000 >
-b00000000010000000000000000011100 @
-b00000000010000000000000000100000 C
-b00000000000000000000000000000001 M
-b01001 T
-b00000000000000000000000000000001 ^
-b00000000000000000000000000000001 c
-b00000000000000000000000000000010 d
-1j
-b00000000010000000000000000100000 m
-b00000000010000000000000000011100 n
-b00000000010000000000000000011100 o
-b00000000010000000000000000100000 p
-b00000000010000000000000000011100 q
-1s
-b00000000010000000000000000100000 v
-b00000000010000000000000000011100 w
+b00000000000000000000000000000000 ?
+b00000000000000000000000000000000 @
+b00000000000000000000000000000000 A
+1C
+b00000000000000000000000000001000 O
+b00000000000000000000000000000110 ]
+b00000000000000000000000000001000 `
+b00000000000000000000000000001001 a
+b00000000000000000000000000001001 d
+b00000000000000000000000000001010 f
+b00000000000000000000000000001000 j
+0l
+0u
+b00000000000000000000000000000000 x
 b00000 z
 b00000 {
 b00000 |
@@ -1018,224 +1446,800 @@ b0000000000000000 ""
 b0000000000000000 #"
 b00000000000000000000000000000000 $"
 b000000 &"
-10"
-b00000 3"
-b00000 4"
-b01001 5"
-b00000000000000000000000000000001 6"
-b00000000000000000000000000000000 7"
-b00000000000000000000000000000000 8"
-b00000000010000000000000000100000 <"
+b00000000000000000000000000000000 0"
+01"
+02"
+04"
+05"
+b00000 8"
+b00000 9"
+b00000000000000000000000000001000 ;"
+b00000000000000000000000000000000 <"
+b00000000000000000000000000000000 ="
+b00000000000000000000000000000000 >"
 b00000000000000000000000000000000 ?"
 b00000000000000000000000000000000 @"
-b00000000010000000000000000011100 A"
 b00000000000000000000000000000000 B"
-b00000000010000000000000000011100 C"
 b00000000000000000000000000000000 D"
 b00000000000000000000000000000000 E"
-b00000000010000000000000000100000 K"
-b00000000010000000000000000011100 L"
-b00000000010000000000000000100000 N"
-b00000000010000000000000000100000 Q"
-b00000000010000000000000000100000 R"
-1S"
-b000000 ["
-b00000 ]"
-b00000 ^"
-b00000 _"
-b00000000000000000000000000000000 `"
-b00000000000000000000000000000000 a"
-b00000000000000000000000000000000 b"
-1u"
-b01001 z"
-b00000000000000000000000000000001 )#
-b00000000000000000000000000000001 +#
-b00000000000000000000000000000001 1#
-b00000000000000000000000000000001 8#
-b00000000000000000000000000000010 :#
-b00000000000000000000000000000001 =#
-b00000000000000000000000000000010 ?#
-1@#
-b00000000000000000000000000000010 H#
-1P#
-1X#
-b00000000000000000000000000000001 b#
-b01001 c#
-b00000000000000000000000000000001 f#
-b00000000000000000000000000000001 g#
-#80000000
-0!
-0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
-#85000000
+b00000000000000000000000000000000 G"
+b00000000000000000000000000000000 I"
+b00000000000000000000000000000000 J"
+1K"
+b00000000000000000000000000000000 L"
+1N"
+b00000000000000000000000000000000 U"
+0X"
+0Z"
+b000000 `"
+b00000 b"
+b00000 c"
+b00000 d"
+b00000000000000000000000000000000 e"
+b00000000000000000000000000000000 f"
+b00000000000000000000000000000000 g"
+b00000000000000000000000000000110 s"
+0z"
+b00000000000000000000000000001000 +#
+b00000000000000000000000000001001 /#
+b00000000000000000000000000000110 2#
+b00000000000000000000000000001000 3#
+b00000000000000000000000000001000 4#
+b00000000000000000000000000001000 6#
+b00000000000000000000000000001001 7#
+b00000000000000000000000000001001 8#
+b00000000000000000000000000001001 <#
+b00000000000000000000000000001010 ?#
+b00000000000000000000000000001001 A#
+b00000000000000000000000000001010 D#
+0E#
+b00000000000000000000000000001010 M#
+b00000000000000000000000000001001 T#
+0U#
+b00000000000000000000000000001001 Z#
+0]#
+b00000000000000000000000000001001 a#
+b00000000000000000000000000001000 g#
+b00000000000000000000000000001000 k#
+b00000000000000000000000000001000 l#
+#135000000
 1!
 1#
-b00000000010000000000000000100100 %
-b00000000010000000000000000100000 &
-b00000000010000000000000000100000 '
-b00000000010000000000000000100100 (
-b00000000010000000000000000100000 @
-b00000000010000000000000000100100 C
-b00000000000000000000000000000000 O
-b00000 P
-b00000 Q
+b00000000010000000000000000111000 %
+b00000000010000000000000000110100 &
+b00000000010000000000000000111000 (
+b00000000010000000000000000111000 E
+1l
+b00000000010000000000000000111000 o
+b00000000010000000000000000110100 p
+b00000000010000000000000000110100 q
+b00000000010000000000000000111000 r
+b00000000010000000000000000110100 s
+1u
+15"
+b00000000010000000000000000111000 A"
+b00000000010000000000000000111000 P"
+b00000000010000000000000000111000 S"
+b00000000010000000000000000111000 V"
+b00000000010000000000000000111000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#140000000
+0!
+0#
+b00000000000000000000000000001001 O
+b00000000000000000000000000000000 Q
 b00000 R
-b00000 Z
-b00000000000000000000000000000000 [
-b00000000000000000000000000000000 \
-b00000000000000000000000000000010 _
-b000000 a
-b00000000000000000000000000000000 b
-b00000000000000000000000000000001 d
-b00000000000000000000000000000000 h
-b00000000000000000000000000000010 i
-1j
-b00000000010000000000000000100100 m
-b00000000010000000000000000100000 n
-b00000000010000000000000000100000 o
-b00000000010000000000000000100100 p
-b00000000010000000000000000100000 q
-1s
-b00000000010000000000000000100100 v
-b00000000010000000000000000100000 w
-10"
-b00000000010000000000000000100100 <"
-b00000000010000000000000000100000 A"
-b00000000010000000000000000100000 C"
-b00000000010000000000000000100100 K"
-b00000000010000000000000000100000 L"
-b00000000010000000000000000100100 N"
-b00000000010000000000000000100100 Q"
-b00000000010000000000000000100100 R"
-1S"
-b000000 h"
-b00000 k"
-b00000 l"
-b00000 m"
-b00000000000000000000000000000000 n"
-b00000000000000000000000000000000 o"
+b00000 S
+b00000 T
+0W
+b00000 \
+b00000000000000000000000000000000 ]
+b00000000000000000000000000000000 ^
+b00000000000000000000000000001001 `
+b00000000000000000000000000001010 a
+b000000 c
+b00000000000000000000000000001010 d
+b00000000000000000000000000000000 e
+b00000000000000000000000000001010 f
+b00000000000000000000000000001001 j
+b00000000000000000000000000000000 k
+0l
+0u
+05"
+b00000000000000000000000000001001 ;"
+0X"
+0h"
+b000000 m"
+b00000 p"
+b00000 q"
 b00000 r"
-b00000 s"
-b00000 t"
-1u"
+b00000000000000000000000000000000 s"
+b00000000000000000000000000000000 t"
 b00000 w"
 b00000 x"
-b00000000000000000000000000000000 !#
-b00000000000000000000000000000000 ##
-b00000000000000000000000000000010 %#
+b00000 y"
+0z"
+b00000 |"
+b00000 }"
 b00000000000000000000000000000000 &#
-b00000000000000000000000000000010 '#
-b00000000000000000000000000000010 *#
-b00000000000000000000000000000010 -#
+b00000000000000000000000000000000 (#
+b00000000000000000000000000000000 *#
+b00000000000000000000000000001001 +#
+b00000000000000000000000000000000 ,#
 b00000000000000000000000000000000 .#
-b00000000000000000000000000000000 /#
+b00000000000000000000000000001010 /#
+b00000000000000000000000000000000 0#
 b00000000000000000000000000000000 2#
-b00000000000000000000000000000000 3#
-b000000 5#
-b00000000000000000000000000000000 7#
-b00000000000000000000000000000001 :#
+b00000000000000000000000000001001 3#
+b00000000000000000000000000001001 4#
+b00000000000000000000000000001001 6#
+b00000000000000000000000000001010 7#
+b00000000000000000000000000001010 8#
+b000000 :#
+b00000000000000000000000000001010 <#
+b00000000000000000000000000000000 =#
+b00000000000000000000000000001010 ?#
+b00000000000000000000000000001010 A#
+b00000000000000000000000000000000 B#
+b00000000000000000000000000001010 D#
+0E#
+0G#
+b00000 K#
+b00000000000000000000000000000000 L#
+b00000000000000000000000000001010 M#
+b00000000000000000000000000001010 T#
+0U#
+b00000000000000000000000000001010 Z#
+0]#
+b00000000000000000000000000001010 a#
+b00000000000000000000000000001001 g#
+b00000000000000000000000000001001 k#
+b00000000000000000000000000001001 l#
+#145000000
+1!
+1#
+b00000000010000000000000000111100 %
+b00000000010000000000000000111000 &
+b00000000010000000000000000111100 (
+b00000000010000000000000000111100 E
+b00000000000000000000000000000000 d
+b00000000000000000000000000000000 f
+b00 h
+b00000000000000000000000000000000 j
+1l
+b00000000010000000000000000111100 o
+b00000000010000000000000000111000 p
+b00000000010000000000000000111000 q
+b00000000010000000000000000111100 r
+b00000000010000000000000000111000 s
+1u
+15"
+b00000000010000000000000000111100 A"
+b00000000010000000000000000111100 P"
+b00000000010000000000000000111100 S"
+b00000000010000000000000000111100 V"
+b00000000010000000000000000111100 W"
+1X"
+1z"
+b00 ##
+01#
+b00000000000000000000000000000000 4#
+05#
+b00000000000000000000000000000000 6#
+b00000000000000000000000000000000 8#
 b00000000000000000000000000000000 <#
-b00000000000000000000000000000001 ?#
+b00000000000000000000000000000000 ?#
 1@#
-b00000 F#
-b00000000000000000000000000000000 G#
-b00000000000000000000000000000001 H#
-b00000000000000000000000000000010 O#
-1P#
-b00000000000000000000000000000010 U#
-1X#
-b00000000000000000000000000000010 \#
-#90000000
+b00000000000000000000000000000000 A#
+b00000000000000000000000000000000 D#
+1E#
+b00000000000000000000000000000000 M#
+1U#
+1]#
+#150000000
 0!
 0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
-#95000000
+b00000000000000000000000000001010 O
+b00000000000000000000000000000000 P
+b00000 U
+0X
+b00000000000000000000000000001010 `
+b00000000000000000000000000000000 a
+0l
+0u
+05"
+b00000000000000000000000000001010 ;"
+0X"
+0z"
+b00000 !#
+b00000000000000000000000000001010 +#
+b00000000000000000000000000000000 /#
+b00000000000000000000000000001010 3#
+b00000000000000000000000000000000 7#
+0E#
+0O#
+b00000 R#
+b00000000000000000000000000000000 S#
+b00000000000000000000000000000000 T#
+0U#
+b00000000000000000000000000000000 Y#
+b00000000000000000000000000000000 Z#
+b00000000000000000000000000000000 \#
+0]#
+0_#
+b00000000000000000000000000000000 a#
+b00000 c#
+b00000000000000000000000000001010 g#
+b00000000000000000000000000001010 k#
+b00000000000000000000000000001010 l#
+#155000000
 1!
 1#
-b00000000010000000000000000101000 %
-b00000000010000000000000000100100 &
-b00000000010000000000000000100100 '
-b00000000010000000000000000101000 (
-b00000000010000000000000000100100 @
-b00000000010000000000000000101000 C
-b00000000000000000000000000000010 M
-b00000000000000000000000000000000 N
-b00000 S
-b00000000000000000000000000000010 ^
-b00000000000000000000000000000001 _
-b00000000000000000000000000000010 c
-b00000000000000000000000000000010 d
-b00000000000000000000000000000001 i
-1j
-b00000000010000000000000000101000 m
-b00000000010000000000000000100100 n
-b00000000010000000000000000100100 o
-b00000000010000000000000000101000 p
-b00000000010000000000000000100100 q
-1s
-b00000000010000000000000000101000 v
-b00000000010000000000000000100100 w
-10"
-b00000000000000000000000000000010 6"
-b00000000010000000000000000101000 <"
-b00000000010000000000000000100100 A"
-b00000000010000000000000000100100 C"
-b00000000010000000000000000101000 K"
-b00000000010000000000000000100100 L"
-b00000000010000000000000000101000 N"
-b00000000010000000000000000101000 Q"
-b00000000010000000000000000101000 R"
-1S"
-1u"
-b00000 y"
-b00000000000000000000000000000001 %#
-b00000000000000000000000000000001 '#
-b00000000000000000000000000000010 )#
-b00000000000000000000000000000001 *#
-b00000000000000000000000000000010 +#
-b00000000000000000000000000000001 -#
-b00000000000000000000000000000010 1#
-b00000000000000000000000000000010 8#
-b00000000000000000000000000000010 :#
-b00000000000000000000000000000010 =#
-b00000000000000000000000000000010 ?#
-1@#
-b00000000000000000000000000000010 H#
-b00000 M#
-b00000000000000000000000000000000 N#
-b00000000000000000000000000000001 O#
-1P#
-b00000000000000000000000000000000 T#
-b00000000000000000000000000000001 U#
-b00000000000000000000000000000000 W#
-1X#
-b00000000000000000000000000000001 \#
-b00000 ^#
-b00000000000000000000000000000010 b#
-b00000000000000000000000000000010 f#
-b00000000000000000000000000000010 g#
-#100000000
+b00000000010000000000000001000000 %
+b00000000010000000000000000111100 &
+b00000000010000000000000001000000 (
+b00000000010000000000000001000000 E
+b10 h
+b10 i
+1l
+b00000000010000000000000001000000 o
+b00000000010000000000000000111100 p
+b00000000010000000000000000111100 q
+b00000000010000000000000001000000 r
+b00000000010000000000000000111100 s
+1u
+15"
+b00000000010000000000000001000000 A"
+b00000000010000000000000001000000 P"
+b00000000010000000000000001000000 S"
+b00000000010000000000000001000000 V"
+b00000000010000000000000001000000 W"
+1X"
+1z"
+b10 ##
+b10 $#
+1-#
+15#
+1E#
+1U#
+1]#
+#160000000
 0!
 0#
-0j
-0s
-00"
-0S"
-0u"
-0@#
-0P#
-0X#
+b00000000000000000000000000000000 O
+b00000 V
+0Y
+b00000000000000000000000000000000 `
+0l
+0u
+05"
+07"
+b00000 :"
+b00000000000000000000000000000000 ;"
+0X"
+0z"
+b00000 "#
+b00000000000000000000000000000000 +#
+b00000000000000000000000000000000 3#
+0E#
+0U#
+0]#
+0d#
+b00000000000000000000000000000000 g#
+b00000 h#
+b00000000000000000000000000000000 k#
+b00000000000000000000000000000000 l#
+#165000000
+1!
+1#
+b00000000010000000000000001000100 %
+b00000000010000000000000001000000 &
+b00000000010000000000000001000100 (
+b00000000010000000000000001000100 E
+b11 h
+b11 i
+1l
+b00000000010000000000000001000100 o
+b00000000010000000000000001000000 p
+b00000000010000000000000001000000 q
+b00000000010000000000000001000100 r
+b00000000010000000000000001000000 s
+1u
+15"
+b00000000010000000000000001000100 A"
+b00000000010000000000000001000100 P"
+b00000000010000000000000001000100 S"
+b00000000010000000000000001000100 V"
+b00000000010000000000000001000100 W"
+1X"
+1z"
+b11 ##
+b11 $#
+1)#
+11#
+1E#
+1U#
+1]#
+#170000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#175000000
+1!
+1#
+b00000000010000000000000001001000 %
+b00000000010000000000000001000100 &
+b00000000010000000000000001001000 (
+b00000000010000000000000001001000 E
+1l
+b00000000010000000000000001001000 o
+b00000000010000000000000001000100 p
+b00000000010000000000000001000100 q
+b00000000010000000000000001001000 r
+b00000000010000000000000001000100 s
+1u
+15"
+b00000000010000000000000001001000 A"
+b00000000010000000000000001001000 P"
+b00000000010000000000000001001000 S"
+b00000000010000000000000001001000 V"
+b00000000010000000000000001001000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#180000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#185000000
+1!
+1#
+b00000000010000000000000001001100 %
+b00000000010000000000000001001000 &
+b00000000010000000000000001001100 (
+b00000000010000000000000001001100 E
+1l
+b00000000010000000000000001001100 o
+b00000000010000000000000001001000 p
+b00000000010000000000000001001000 q
+b00000000010000000000000001001100 r
+b00000000010000000000000001001000 s
+1u
+15"
+b00000000010000000000000001001100 A"
+b00000000010000000000000001001100 P"
+b00000000010000000000000001001100 S"
+b00000000010000000000000001001100 V"
+b00000000010000000000000001001100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#190000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#195000000
+1!
+1#
+b00000000010000000000000001010000 %
+b00000000010000000000000001001100 &
+b00000000010000000000000001010000 (
+b00000000010000000000000001010000 E
+1l
+b00000000010000000000000001010000 o
+b00000000010000000000000001001100 p
+b00000000010000000000000001001100 q
+b00000000010000000000000001010000 r
+b00000000010000000000000001001100 s
+1u
+15"
+b00000000010000000000000001010000 A"
+b00000000010000000000000001010000 P"
+b00000000010000000000000001010000 S"
+b00000000010000000000000001010000 V"
+b00000000010000000000000001010000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#200000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#205000000
+1!
+1#
+b00000000010000000000000001010100 %
+b00000000010000000000000001010000 &
+b00000000010000000000000001010100 (
+b00000000010000000000000001010100 E
+1l
+b00000000010000000000000001010100 o
+b00000000010000000000000001010000 p
+b00000000010000000000000001010000 q
+b00000000010000000000000001010100 r
+b00000000010000000000000001010000 s
+1u
+15"
+b00000000010000000000000001010100 A"
+b00000000010000000000000001010100 P"
+b00000000010000000000000001010100 S"
+b00000000010000000000000001010100 V"
+b00000000010000000000000001010100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#210000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#215000000
+1!
+1#
+b00000000010000000000000001011000 %
+b00000000010000000000000001010100 &
+b00000000010000000000000001011000 (
+b00000000010000000000000001011000 E
+1l
+b00000000010000000000000001011000 o
+b00000000010000000000000001010100 p
+b00000000010000000000000001010100 q
+b00000000010000000000000001011000 r
+b00000000010000000000000001010100 s
+1u
+15"
+b00000000010000000000000001011000 A"
+b00000000010000000000000001011000 P"
+b00000000010000000000000001011000 S"
+b00000000010000000000000001011000 V"
+b00000000010000000000000001011000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#220000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#225000000
+1!
+1#
+b00000000010000000000000001011100 %
+b00000000010000000000000001011000 &
+b00000000010000000000000001011100 (
+b00000000010000000000000001011100 E
+1l
+b00000000010000000000000001011100 o
+b00000000010000000000000001011000 p
+b00000000010000000000000001011000 q
+b00000000010000000000000001011100 r
+b00000000010000000000000001011000 s
+1u
+15"
+b00000000010000000000000001011100 A"
+b00000000010000000000000001011100 P"
+b00000000010000000000000001011100 S"
+b00000000010000000000000001011100 V"
+b00000000010000000000000001011100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#230000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#235000000
+1!
+1#
+b00000000010000000000000001100000 %
+b00000000010000000000000001011100 &
+b00000000010000000000000001100000 (
+b00000000010000000000000001100000 E
+1l
+b00000000010000000000000001100000 o
+b00000000010000000000000001011100 p
+b00000000010000000000000001011100 q
+b00000000010000000000000001100000 r
+b00000000010000000000000001011100 s
+1u
+15"
+b00000000010000000000000001100000 A"
+b00000000010000000000000001100000 P"
+b00000000010000000000000001100000 S"
+b00000000010000000000000001100000 V"
+b00000000010000000000000001100000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#240000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#245000000
+1!
+1#
+b00000000010000000000000001100100 %
+b00000000010000000000000001100000 &
+b00000000010000000000000001100100 (
+b00000000010000000000000001100100 E
+1l
+b00000000010000000000000001100100 o
+b00000000010000000000000001100000 p
+b00000000010000000000000001100000 q
+b00000000010000000000000001100100 r
+b00000000010000000000000001100000 s
+1u
+15"
+b00000000010000000000000001100100 A"
+b00000000010000000000000001100100 P"
+b00000000010000000000000001100100 S"
+b00000000010000000000000001100100 V"
+b00000000010000000000000001100100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#250000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#255000000
+1!
+1#
+b00000000010000000000000001101000 %
+b00000000010000000000000001100100 &
+b00000000010000000000000001101000 (
+b00000000010000000000000001101000 E
+1l
+b00000000010000000000000001101000 o
+b00000000010000000000000001100100 p
+b00000000010000000000000001100100 q
+b00000000010000000000000001101000 r
+b00000000010000000000000001100100 s
+1u
+15"
+b00000000010000000000000001101000 A"
+b00000000010000000000000001101000 P"
+b00000000010000000000000001101000 S"
+b00000000010000000000000001101000 V"
+b00000000010000000000000001101000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#260000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#265000000
+1!
+1#
+b00000000010000000000000001101100 %
+b00000000010000000000000001101000 &
+b00000000010000000000000001101100 (
+b00000000010000000000000001101100 E
+1l
+b00000000010000000000000001101100 o
+b00000000010000000000000001101000 p
+b00000000010000000000000001101000 q
+b00000000010000000000000001101100 r
+b00000000010000000000000001101000 s
+1u
+15"
+b00000000010000000000000001101100 A"
+b00000000010000000000000001101100 P"
+b00000000010000000000000001101100 S"
+b00000000010000000000000001101100 V"
+b00000000010000000000000001101100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#270000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#275000000
+1!
+1#
+b00000000010000000000000001110000 %
+b00000000010000000000000001101100 &
+b00000000010000000000000001110000 (
+b00000000010000000000000001110000 E
+1l
+b00000000010000000000000001110000 o
+b00000000010000000000000001101100 p
+b00000000010000000000000001101100 q
+b00000000010000000000000001110000 r
+b00000000010000000000000001101100 s
+1u
+15"
+b00000000010000000000000001110000 A"
+b00000000010000000000000001110000 P"
+b00000000010000000000000001110000 S"
+b00000000010000000000000001110000 V"
+b00000000010000000000000001110000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#280000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#285000000
+1!
+1#
+b00000000010000000000000001110100 %
+b00000000010000000000000001110000 &
+b00000000010000000000000001110100 (
+b00000000010000000000000001110100 E
+1l
+b00000000010000000000000001110100 o
+b00000000010000000000000001110000 p
+b00000000010000000000000001110000 q
+b00000000010000000000000001110100 r
+b00000000010000000000000001110000 s
+1u
+15"
+b00000000010000000000000001110100 A"
+b00000000010000000000000001110100 P"
+b00000000010000000000000001110100 S"
+b00000000010000000000000001110100 V"
+b00000000010000000000000001110100 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#290000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
+#295000000
+1!
+1#
+b00000000010000000000000001111000 %
+b00000000010000000000000001110100 &
+b00000000010000000000000001111000 (
+b00000000010000000000000001111000 E
+1l
+b00000000010000000000000001111000 o
+b00000000010000000000000001110100 p
+b00000000010000000000000001110100 q
+b00000000010000000000000001111000 r
+b00000000010000000000000001110100 s
+1u
+15"
+b00000000010000000000000001111000 A"
+b00000000010000000000000001111000 P"
+b00000000010000000000000001111000 S"
+b00000000010000000000000001111000 V"
+b00000000010000000000000001111000 W"
+1X"
+1z"
+1E#
+1U#
+1]#
+#300000000
+0!
+0#
+0l
+0u
+05"
+0X"
+0z"
+0E#
+0U#
+0]#
diff --git a/tb_main_processor b/tb_main_processor
index d28dfc4b6264a1c180d2e48f085fd2b494c90b47..324f0d20308323495fb7f639a28396a9753704eb 100755
Binary files a/tb_main_processor and b/tb_main_processor differ
diff --git a/work-obj93.cf b/work-obj93.cf
index 7963c850b92020078df3bd09f44b6afd3188b19f..864399088d5c28fc9d8e418c8fb16052c32d1c06 100644
--- a/work-obj93.cf
+++ b/work-obj93.cf
@@ -1,82 +1,85 @@
 v 3
-file . "SL_2.vhd" "20160616164459.000" "20160629144130.637":
-  entity sl_2 at 21( 999) + 0 on 4165;
-  architecture arc_sl_2 of sl_2 at 32( 1203) + 0 on 4166;
-file . "REG.vhd" "20160629170547.000" "20160629144130.530":
-  entity reg at 21( 999) + 0 on 4161;
-  architecture arc_reg of reg at 39( 1464) + 0 on 4162;
-file . "MX_5.vhd" "20160616164459.000" "20160629144130.439":
-  entity mx_5 at 21( 999) + 0 on 4157;
-  architecture arc_mx_5 of mx_5 at 32( 1252) + 0 on 4158;
-file . "MX_3.vhd" "20160616164459.000" "20160629144130.369":
-  entity mx_3 at 21( 999) + 0 on 4153;
-  architecture arc_mx_3 of mx_3 at 33( 1250) + 0 on 4154;
-file . "MX_1.vhd" "20160616164459.000" "20160629144130.288":
-  entity mx_1 at 21( 999) + 0 on 4149;
-  architecture arc_mx_1 of mx_1 at 33( 1261) + 0 on 4150;
-file . "MEM.vhd" "20160623172637.000" "20160629144130.169":
-  entity mem at 21( 999) + 0 on 4145;
-  architecture arc_mem of mem at 37( 1363) + 0 on 4146;
-file . "INST.vhd" "20160623173836.000" "20160629144129.965":
-  entity inst at 21( 999) + 0 on 4141;
-  architecture arc_inst of inst at 33( 1199) + 0 on 4142;
-file . "ID_EX_PIPE.vhd" "20160623192429.000" "20160629144129.856":
-  entity id_ex_pipe at 1( 0) + 0 on 4137;
-  architecture arc_id_ex_pipe of id_ex_pipe at 39( 1452) + 0 on 4138;
-file . "EXTEND.vhd" "20160616164459.000" "20160629153601.659":
-  entity extend_signal at 23( 1082) + 0 on 4265;
-  architecture arc_extend_signal of extend_signal at 34( 1306) + 0 on 4266;
-file . "CTRL.vhd" "20160629183559.000" "20160629153601.561":
-  entity ctrl at 21( 999) + 0 on 4261;
-  architecture arc_ctrl of ctrl at 41( 1549) + 0 on 4262;
-file . "AND.vhd" "20160616164459.000" "20160629153601.492":
-  entity and_1 at 21( 1000) + 0 on 4257;
-  architecture arc_and_1 of and_1 at 32( 1179) + 0 on 4258;
-file . "ADD_PC.vhd" "20160616164459.000" "20160629153601.421":
-  entity add_pc at 21( 999) + 0 on 4253;
-  architecture arc_add_pc of add_pc at 32( 1202) + 0 on 4254;
-file . "MAIN_CTTRL.vhd" "20160629174119.000" "20160629144130.052":
-  entity main_processor at 21( 999) + 0 on 4143;
-  architecture arc_main_processor of main_processor at 32( 1183) + 0 on 4144;
-file . "TB_MAIN_PROCESSOR.vhd" "20160629172443.000" "20160629144130.728":
-  entity tb_main_processor at 28( 951) + 0 on 4169;
-  architecture behavior of tb_main_processor at 38( 1200) + 0 on 4170;
-file . "PC.vhd" "20160622231950.000" "20160629144130.491":
-  entity pc at 21( 1001) + 0 on 4159;
-  architecture arc_pc of pc at 34( 1283) + 0 on 4160;
-file . "ADD.vhd" "20160616164459.000" "20160629153601.458":
-  entity add at 21( 999) + 0 on 4255;
-  architecture arc_add of add at 33( 1249) + 0 on 4256;
-file . "CONCAT.vhd" "20160616164459.000" "20160629153601.523":
-  entity concat at 21( 1000) + 0 on 4259;
-  architecture arc_concat of concat at 32( 1245) + 0 on 4260;
-file . "EX_MEM_PIPE.vhd" "20160624020713.000" "20160629153601.613":
-  entity ex_mem_pipe at 1( 0) + 0 on 4263;
-  architecture arc_ex_mem_pipe of ex_mem_pipe at 25( 763) + 0 on 4264;
-file . "IF_ID_PIPE.vhd" "20160629172006.000" "20160629144129.913":
-  entity if_id_pipe at 1( 0) + 0 on 4139;
-  architecture arc_if_id_pipe of if_id_pipe at 22( 699) + 0 on 4140;
-file . "MEM_WB_PIPE.vhd" "20160623111712.000" "20160629144130.227":
-  entity mem_wb_pipe at 1( 0) + 0 on 4147;
-  architecture arc_mem_wb_pipe of mem_wb_pipe at 21( 622) + 0 on 4148;
-file . "MX_2.vhd" "20160616164459.000" "20160629144130.324":
-  entity mx_2 at 21( 999) + 0 on 4151;
-  architecture arc_mx_2 of mx_2 at 33( 1267) + 0 on 4152;
-file . "MX_4.vhd" "20160616164459.000" "20160629144130.404":
-  entity mx_4 at 21( 999) + 0 on 4155;
-  architecture arc_mx_4 of mx_4 at 33( 1250) + 0 on 4156;
-file . "SL_1.vhd" "20160616164459.000" "20160629144130.594":
-  entity sl_1 at 21( 999) + 0 on 4163;
-  architecture arc_sl_1 of sl_1 at 32( 1205) + 0 on 4164;
-file . "SUB_BR.vhd" "20160623130105.000" "20160629144130.672":
-  entity sub_br at 21( 999) + 0 on 4167;
-  architecture arc_sub_br of sub_br at 33( 1239) + 0 on 4168;
-file . "ULA_CTRL.vhd" "20160616164459.000" "20160629144130.774":
-  entity ula_ctrl at 21( 999) + 0 on 4171;
-  architecture arc_ula_ctrl of ula_ctrl at 32( 1244) + 0 on 4172;
-file . "ULA.vhd" "20160616164459.000" "20160629144130.823":
-  entity ula at 21( 999) + 0 on 4173;
-  architecture arc_ula of ula at 37( 1399) + 0 on 4174;
-file . "FORWARD.vhd" "20160623180240.000" "20160629144129.814":
-  entity frwd at 21( 997) + 0 on 4135;
-  architecture arc_frwd of frwd at 35( 1458) + 0 on 4136;
+file . "CTRL_WB.vhd" "20160630121101.000" "20160630102721.963":
+  entity ctrl_wb at 1( 0) + 0 on 5227;
+  architecture arc_ctrl_wb of ctrl_wb at 11( 183) + 0 on 5228;
+file . "FORWARD.vhd" "20160630013649.000" "20160630102722.192":
+  entity frwd at 21( 997) + 0 on 5233;
+  architecture arc_frwd of frwd at 35( 1458) + 0 on 5234;
+file . "ULA.vhd" "20160616164459.000" "20160630102724.225":
+  entity ula at 21( 999) + 0 on 5271;
+  architecture arc_ula of ula at 37( 1399) + 0 on 5272;
+file . "ULA_CTRL.vhd" "20160616164459.000" "20160630102724.142":
+  entity ula_ctrl at 21( 999) + 0 on 5269;
+  architecture arc_ula_ctrl of ula_ctrl at 32( 1244) + 0 on 5270;
+file . "SUB_BR.vhd" "20160623130105.000" "20160630102723.977":
+  entity sub_br at 21( 999) + 0 on 5265;
+  architecture arc_sub_br of sub_br at 33( 1239) + 0 on 5266;
+file . "SL_1.vhd" "20160616164459.000" "20160630102723.837":
+  entity sl_1 at 21( 999) + 0 on 5261;
+  architecture arc_sl_1 of sl_1 at 32( 1205) + 0 on 5262;
+file . "MX_4.vhd" "20160616164459.000" "20160630102723.480":
+  entity mx_4 at 21( 999) + 0 on 5253;
+  architecture arc_mx_4 of mx_4 at 33( 1250) + 0 on 5254;
+file . "MX_2.vhd" "20160616164459.000" "20160630102723.345":
+  entity mx_2 at 21( 999) + 0 on 5249;
+  architecture arc_mx_2 of mx_2 at 33( 1267) + 0 on 5250;
+file . "MEM_WB_PIPE.vhd" "20160630132639.000" "20160630102723.186":
+  entity mem_wb_pipe at 1( 0) + 0 on 5245;
+  architecture arc_mem_wb_pipe of mem_wb_pipe at 21( 622) + 0 on 5246;
+file . "IF_ID_PIPE.vhd" "20160630132650.000" "20160630102722.431":
+  entity if_id_pipe at 1( 0) + 0 on 5237;
+  architecture arc_if_id_pipe of if_id_pipe at 20( 600) + 0 on 5238;
+file . "EX_MEM_PIPE.vhd" "20160630132613.000" "20160630102722.025":
+  entity ex_mem_pipe at 1( 0) + 0 on 5229;
+  architecture arc_ex_mem_pipe of ex_mem_pipe at 25( 763) + 0 on 5230;
+file . "CONCAT.vhd" "20160616164459.000" "20160630102721.754":
+  entity concat at 21( 1000) + 0 on 5223;
+  architecture arc_concat of concat at 32( 1245) + 0 on 5224;
+file . "ADD.vhd" "20160616164459.000" "20160630102721.576":
+  entity add at 21( 999) + 0 on 5219;
+  architecture arc_add of add at 33( 1249) + 0 on 5220;
+file . "PC.vhd" "20160622231950.000" "20160630102723.613":
+  entity pc at 21( 1001) + 0 on 5257;
+  architecture arc_pc of pc at 34( 1283) + 0 on 5258;
+file . "TB_MAIN_PROCESSOR.vhd" "20160629172443.000" "20160630102724.075":
+  entity tb_main_processor at 28( 951) + 0 on 5267;
+  architecture behavior of tb_main_processor at 38( 1200) + 0 on 5268;
+file . "MAIN_CTTRL.vhd" "20160630125828.000" "20160630102722.763":
+  entity main_processor at 21( 999) + 0 on 5241;
+  architecture arc_main_processor of main_processor at 32( 1183) + 0 on 5242;
+file . "ADD_PC.vhd" "20160616164459.000" "20160630102721.495":
+  entity add_pc at 21( 999) + 0 on 5217;
+  architecture arc_add_pc of add_pc at 32( 1202) + 0 on 5218;
+file . "AND.vhd" "20160616164459.000" "20160630102721.694":
+  entity and_1 at 21( 1000) + 0 on 5221;
+  architecture arc_and_1 of and_1 at 32( 1179) + 0 on 5222;
+file . "CTRL.vhd" "20160630121346.000" "20160630102721.824":
+  entity ctrl at 21( 999) + 0 on 5225;
+  architecture arc_ctrl of ctrl at 40( 1482) + 0 on 5226;
+file . "EXTEND.vhd" "20160616164459.000" "20160630102722.125":
+  entity extend_signal at 23( 1082) + 0 on 5231;
+  architecture arc_extend_signal of extend_signal at 34( 1306) + 0 on 5232;
+file . "ID_EX_PIPE.vhd" "20160630132521.000" "20160630102722.294":
+  entity id_ex_pipe at 1( 0) + 0 on 5235;
+  architecture arc_id_ex_pipe of id_ex_pipe at 39( 1452) + 0 on 5236;
+file . "INST.vhd" "20160630132720.000" "20160630102722.548":
+  entity inst at 21( 999) + 0 on 5239;
+  architecture arc_inst of inst at 33( 1199) + 0 on 5240;
+file . "MEM.vhd" "20160623172637.000" "20160630102723.078":
+  entity mem at 21( 999) + 0 on 5243;
+  architecture arc_mem of mem at 37( 1363) + 0 on 5244;
+file . "MX_1.vhd" "20160616164459.000" "20160630102723.275":
+  entity mx_1 at 21( 999) + 0 on 5247;
+  architecture arc_mx_1 of mx_1 at 33( 1261) + 0 on 5248;
+file . "MX_3.vhd" "20160616164459.000" "20160630102723.413":
+  entity mx_3 at 21( 999) + 0 on 5251;
+  architecture arc_mx_3 of mx_3 at 33( 1250) + 0 on 5252;
+file . "MX_5.vhd" "20160616164459.000" "20160630102723.546":
+  entity mx_5 at 21( 999) + 0 on 5255;
+  architecture arc_mx_5 of mx_5 at 32( 1252) + 0 on 5256;
+file . "REG.vhd" "20160630014027.000" "20160630102723.687":
+  entity reg at 21( 999) + 0 on 5259;
+  architecture arc_reg of reg at 39( 1464) + 0 on 5260;
+file . "SL_2.vhd" "20160616164459.000" "20160630102723.907":
+  entity sl_2 at 21( 999) + 0 on 5263;
+  architecture arc_sl_2 of sl_2 at 32( 1203) + 0 on 5264;