Contract: BeaconProxy
Malicious: no
Decompiled opcodes:
PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x098a CODESIZE SUB DUP1 PUSH2 0x098a DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x0022 SWAP2 PUSH2 0x048b JUMP JUMPDEST PUSH2 0x004d PUSH1 0x01 PUSH32 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d51 PUSH2 0x054b JUMP JUMPDEST PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x0943 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE EQ PUSH2 0x0069 JUMPI PUSH2 0x0069 PUSH2 0x0570 JUMP JUMPDEST PUSH2 0x0075 DUP3 DUP3 PUSH1 0x00 PUSH2 0x007c JUMP JUMPDEST POP POP PUSH2 0x05f0 JUMP JUMPDEST PUSH2 0x0085 DUP4 PUSH2 0x0147 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP5 AND SWAP1 PUSH32 0x1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e SWAP1 PUSH1 0x00 SWAP1 LOG2 PUSH1 0x00 DUP3 MLOAD GT DUP1 PUSH2 0x00c6 JUMPI POP DUP1 JUMPDEST ISZERO PUSH2 0x0142 JUMPI PUSH2 0x0140 DUP4 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH4 0x5c60da1b PUSH1 0x40 MLOAD DUP2 PUSH4 0xffffffff AND PUSH1 0xe0 SHL DUP2 MSTORE PUSH1 0x04 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x010c JUMPI RETURNDATASIZE PUSH1 0x00 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x00 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1f NOT PUSH1 0x1f DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x0130 SWAP2 SWAP1 PUSH2 0x0586 JUMP JUMPDEST DUP4 PUSH2 0x02d8 PUSH1 0x20 SHL PUSH2 0x0029 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x015a DUP2 PUSH2 0x0304 PUSH1 0x20 SHL PUSH2 0x0055 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x01b9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x04 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373a206e657720626561636f6e206973206e6f74206120636f6e PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1d1c9858dd PUSH1 0xda SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x022d DUP2 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH4 0x5c60da1b PUSH1 0x40 MLOAD DUP2 PUSH4 0xffffffff AND PUSH1 0xe0 SHL DUP2 MSTORE PUSH1 0x04 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x01fa JUMPI RETURNDATASIZE PUSH1 0x00 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x00 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1f NOT PUSH1 0x1f DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x021e SWAP2 SWAP1 PUSH2 0x0586 JUMP JUMPDEST PUSH2 0x0304 PUSH1 0x20 SHL PUSH2 0x0055 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x0292 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x04 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373a20626561636f6e20696d706c656d656e746174696f6e2069 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x1cc81b9bdd08184818dbdb9d1c9858dd PUSH1 0x82 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x01b0 JUMP JUMPDEST DUP1 PUSH2 0x02b7 PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x0943 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x00 SHL PUSH2 0x0313 PUSH1 0x20 SHL PUSH2 0x0064 OR PUSH1 0x20 SHR JUMP JUMPDEST DUP1 SLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB NOT AND PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x02fd DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x0963 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x0316 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP5 AND EXTCODESIZE PUSH2 0x037e JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x04 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x1b9d1c9858dd PUSH1 0xd2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x01b0 JUMP JUMPDEST PUSH1 0x00 DUP1 DUP6 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x0399 SWAP2 SWAP1 PUSH2 0x05a1 JUMP JUMPDEST PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x03d4 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x03d9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x03ea DUP3 DUP3 DUP7 PUSH2 0x03f4 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x0403 JUMPI POP DUP2 PUSH2 0x02fd JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x0413 JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD PUSH2 0x01b0 SWAP2 SWAP1 PUSH2 0x05bd JUMP JUMPDEST DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x0444 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4e487b71 PUSH1 0xe0 SHL PUSH1 0x00 MSTORE PUSH1 0x41 PUSH1 0x04 MSTORE PUSH1 0x24 PUSH1 0x00 REVERT JUMPDEST PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x047a JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x0462 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x0140 JUMPI POP POP PUSH1 0x00 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x00 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x049e JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST PUSH2 0x04a7 DUP4 PUSH2 0x042d JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x01 PUSH1 0x01 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x04c4 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1f DUP4 ADD SLT PUSH2 0x04d8 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x04ea JUMPI PUSH2 0x04ea PUSH2 0x0449 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1f DUP3 ADD PUSH1 0x1f NOT SWAP1 DUP2 AND PUSH1 0x3f ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x0512 JUMPI PUSH2 0x0512 PUSH2 0x0449 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x052b JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST PUSH2 0x053c DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x045f JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x00 DUP3 DUP3 LT ISZERO PUSH2 0x056b JUMPI PUSH4 0x4e487b71 PUSH1 0xe0 SHL PUSH1 0x00 MSTORE PUSH1 0x11 PUSH1 0x04 MSTORE PUSH1 0x24 PUSH1 0x00 REVERT JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4e487b71 PUSH1 0xe0 SHL PUSH1 0x00 MSTORE PUSH1 0x01 PUSH1 0x04 MSTORE PUSH1 0x24 PUSH1 0x00 REVERT JUMPDEST PUSH1 0x00 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x0598 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST PUSH2 0x02fd DUP3 PUSH2 0x042d JUMP JUMPDEST PUSH1 0x00 DUP3 MLOAD PUSH2 0x05b3 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x045f JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x00 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x05dc DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x045f JUMP JUMPDEST PUSH1 0x1f ADD PUSH1 0x1f NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x0344 DUP1 PUSH2 0x05ff PUSH1 0x00 CODECOPY PUSH1 0x00 RETURN UNKNOWN_0xfe PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH2 0x0013 JUMPI PUSH2 0x0011 PUSH2 0x0017 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x0011 JUMPDEST PUSH2 0x0027 PUSH2 0x0022 PUSH2 0x0067 JUMP JUMPDEST PUSH2 0x0100 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH2 0x004e DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x02e8 PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x0124 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x00 PUSH2 0x009a PUSH32 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50 SLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH4 0x5c60da1b PUSH1 0x40 MLOAD DUP2 PUSH4 0xffffffff AND PUSH1 0xe0 SHL DUP2 MSTORE PUSH1 0x04 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x00d7 JUMPI RETURNDATASIZE PUSH1 0x00 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x00 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1f NOT PUSH1 0x1f DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x00fb SWAP2 SWAP1 PUSH2 0x023f JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x00 DUP1 CALLDATACOPY PUSH1 0x00 DUP1 CALLDATASIZE PUSH1 0x00 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x00 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x011f JUMPI RETURNDATASIZE PUSH1 0x00 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x00 REVERT JUMPDEST PUSH1 0x60 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP5 AND EXTCODESIZE PUSH2 0x0191 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x04 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x1b9d1c9858dd PUSH1 0xd2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x00 DUP1 DUP6 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x01ac SWAP2 SWAP1 PUSH2 0x0298 JUMP JUMPDEST PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x01e7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x01ec JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x01fc DUP3 DUP3 DUP7 PUSH2 0x0206 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x0215 JUMPI POP DUP2 PUSH2 0x004e JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x0225 JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD PUSH2 0x0188 SWAP2 SWAP1 PUSH2 0x02b4 JUMP JUMPDEST PUSH1 0x00 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x0251 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x004e JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x0283 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x026b JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x0292 JUMPI PUSH1 0x00 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x00 DUP3 MLOAD PUSH2 0x02aa DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x0268 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x00 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x02d3 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x0268 JUMP JUMPDEST PUSH1 0x1f ADD PUSH1 0x1f NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP UNKNOWN_0xfe COINBASE PUSH5 0x6472657373 GASPRICE SHA3 PUSH13 0x6f772d6c6576656c2064656c65 PUSH8 0x6174652063616c6c SHA3 PUSH7 0x61696c6564a264 PUSH10 0x7066735822122055616f STOP PUSH8 0xda9b451ef6e679a6 UNKNOWN_0xbe UNKNOWN_0x49 SWAP4 UNKNOWN_0xdd PC UNKNOWN_0xdc ADD UNKNOWN_0xb3 CALL SELFBALANCE OR BASEFEE LOG0 UNKNOWN_0xbe SHA3 GASPRICE UNKNOWN_0xf7 DUP3 STOP PUSH5 0x736f6c6343 STOP ADDMOD SIGNEXTEND STOP CALLER LOG3 CREATE UNKNOWN_0xad PUSH21 0xe5423aebfd80d3ef4346578335a9a72aeaee59ff6c UNKNOWN_0xb3 PC UNKNOWN_0x2b CALLDATALOAD SGT RETURNDATASIZE POP COINBASE PUSH5 0x6472657373 GASPRICE SHA3 PUSH13 0x6f772d6c6576656c2064656c65 PUSH8 0x6174652063616c6c SHA3 PUSH7 0x61696c65640000 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP UNKNOWN_0x4c UNKNOWN_0xd0 PUSH16 0x23e9cc5658acca6d5d681511f3d5616b UNKNOWN_0xc9 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP BLOCKHASH STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP