// SPDX-License-Identifier: MITpragmasolidity>=0.8.0;/// @title Decompiled Contract/// @author Jonathan Becker <jonathan@jbecker.dev>/// @custom:version heimdall-rs v0.9.2////// @notice This contract was decompiled using the heimdall-rs decompiler./// It was generated directly by tracing the EVM opcodes from this contract./// As a result, it may not compile or even be valid solidity code./// Despite this, it should be obvious what each function does. Overall/// logic should have been preserved throughout decompiling.////// @custom:github You can find the open-source decompiler here:/// https://heimdall.rscontract DecompiledContract {address store_b;address store_a;event AdminChanged(address,address);event Upgraded(address);/// @custom:selector 0x5c60da1b/// @custom:signature implementation() public returns (uint256)function implementation()publicreturns(uint256){require(!(address(msg.sender))==(address(store_a)));require(!(address(msg.sender))==(address(store_a)));(bool success,bytesmemory ret0)=address(store_b).Unresolved_(var_b);// delegatecallreturn;returnaddress(store_b);}/// @custom:selector 0xf851a440/// @custom:signature admin() public returns (uint256)function admin()publicreturns(uint256){require(!(address(msg.sender))==(address(store_a)));require(!(address(msg.sender))==(address(store_a)));(bool success,bytesmemory ret0)=address(store_b).Unresolved_(var_b);// delegatecallreturn;returnaddress(store_a);}/// @custom:selector 0x4f1ef286/// @custom:signature Unresolved_4f1ef286(address arg0, uint256 arg1) public payable returns (uint256)/// @param arg0 ["address", "uint160", "bytes20", "int160"]/// @param arg1 ["uint256", "bytes32", "int256"]function Unresolved_4f1ef286(address arg0,uint256 arg1)publicpayablereturns(uint256){require(arg0 ==(address(arg0)));require(!arg1 >0xffffffffffffffff);require(!(arg1)>0xffffffffffffffff);require(!(address(msg.sender))==(address(store_a)));require(!(address(msg.sender))==(address(store_a)));(bool success,bytesmemory ret0)=address(store_b).Unresolved_(var_b);// delegatecallreturn;uint256 var_i = var_i +(0x20+(((0x1f+(arg1))/0x20)*0x20));require(address(arg0).code.length,"ERC1967: new implementation is not a contract");
store_b =(address(arg0))|(uint96(store_b));emit Upgraded(address(arg0));require(var_i.length >0,"Address: delegate call to non-contract");require(!(var_i.length >0),"Address: delegate call to non-contract");
var_i =0x60+ var_i;require(address(arg0).code.length,"Address: delegate call to non-contract");require(!0> var_i.length);(bool success,bytesmemory ret0)=address(arg0).Unresolved_(var_p);// delegatecallrequire(ret0.length ==0);require(!var_q);require(!(0> var_i.length),"