{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "src",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "guy",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "dst",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "Deposit",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "src",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "dst",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "src",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "Withdrawal",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "guy",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deposit",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "dst",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "src",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "dst",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "wad",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "allSourcePaths": {
    "27": "contracts/mock/MockWETH.sol"
  },
  "ast": {
    "absolutePath": "contracts/mock/MockWETH.sol",
    "exportedSymbols": {
      "MockWETH": [
        10973
      ]
    },
    "id": 10974,
    "license": null,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 10727,
        "literals": [
          "solidity",
          "0.6",
          ".12"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:27"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10973,
        "linearizedBaseContracts": [
          10973
        ],
        "name": "MockWETH",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "functionSelector": "06fdde03",
            "id": 10730,
            "mutability": "mutable",
            "name": "name",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 10973,
            "src": "47:36:27",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 10728,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "47:6:27",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "57726170706564204574686572",
              "id": 10729,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "68:15:27",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_00cd3d46df44f2cbb950cf84eb2e92aa2ddd23195b1a009173ea59a063357ed3",
                "typeString": "literal_string \"Wrapped Ether\""
              },
              "value": "Wrapped Ether"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "95d89b41",
            "id": 10733,
            "mutability": "mutable",
            "name": "symbol",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 10973,
            "src": "87:29:27",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 10731,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "87:6:27",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "57455448",
              "id": 10732,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "110:6:27",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8",
                "typeString": "literal_string \"WETH\""
              },
              "value": "WETH"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "313ce567",
            "id": 10736,
            "mutability": "mutable",
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 10973,
            "src": "120:26:27",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 10734,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "120:5:27",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 10735,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "144:2:27",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 10744,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 10743,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10738,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "src",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10744,
                  "src": "166:19:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10737,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "166:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10740,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "guy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10744,
                  "src": "187:19:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10739,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "187:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10742,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "wad",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10744,
                  "src": "208:8:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10741,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "208:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "165:52:27"
            },
            "src": "151:67:27"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 10752,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 10751,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10746,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "src",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10752,
                  "src": "236:19:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10745,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "236:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10748,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "dst",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10752,
                  "src": "257:19:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10747,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "257:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10750,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "wad",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10752,
                  "src": "278:8:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10749,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "278:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "235:52:27"
            },
            "src": "221:67:27"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 10758,
            "name": "Deposit",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 10757,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10754,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "dst",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10758,
                  "src": "305:19:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10753,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "305:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10756,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "wad",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10758,
                  "src": "326:8:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10755,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "326:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "304:31:27"
            },
            "src": "291:45:27"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 10764,
            "name": "Withdrawal",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 10763,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10760,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "src",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10764,
                  "src": "356:19:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10759,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "356:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10762,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "wad",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10764,
                  "src": "377:8:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10761,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "377:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "355:31:27"
            },
            "src": "339:48:27"
          },
          {
            "constant": false,
            "functionSelector": "70a08231",
            "id": 10768,
            "mutability": "mutable",
            "name": "balanceOf",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 10973,
            "src": "391:41:27",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 10767,
              "keyType": {
                "id": 10765,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "399:7:27",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "391:24:27",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 10766,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "410:4:27",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "dd62ed3e",
            "id": 10774,
            "mutability": "mutable",
            "name": "allowance",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 10973,
            "src": "436:61:27",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
              "typeString": "mapping(address => mapping(address => uint256))"
            },
            "typeName": {
              "id": 10773,
              "keyType": {
                "id": 10769,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "444:7:27",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "436:44:27",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                "typeString": "mapping(address => mapping(address => uint256))"
              },
              "valueType": {
                "id": 10772,
                "keyType": {
                  "id": 10770,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "463:7:27",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "455:24:27",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                  "typeString": "mapping(address => uint256)"
                },
                "valueType": {
                  "id": 10771,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "474:4:27",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10780,
              "nodeType": "Block",
              "src": "529:20:27",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 10777,
                      "name": "deposit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10800,
                      "src": "535:7:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 10778,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "535:9:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10779,
                  "nodeType": "ExpressionStatement",
                  "src": "535:9:27"
                }
              ]
            },
            "documentation": null,
            "id": 10781,
            "implemented": true,
            "kind": "receive",
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10775,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "509:2:27"
            },
            "returnParameters": {
              "id": 10776,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "529:0:27"
            },
            "scope": 10973,
            "src": "502:47:27",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 10799,
              "nodeType": "Block",
              "src": "587:86:27",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10790,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 10784,
                        "name": "balanceOf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10768,
                        "src": "593:9:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 10787,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10785,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "603:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10786,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "603:10:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "593:21:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 10788,
                        "name": "msg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -15,
                        "src": "618:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_message",
                          "typeString": "msg"
                        }
                      },
                      "id": 10789,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "618:9:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "593:34:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10791,
                  "nodeType": "ExpressionStatement",
                  "src": "593:34:27"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10793,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "646:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10794,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "646:10:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10795,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "658:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10796,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "658:9:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 10792,
                      "name": "Deposit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10758,
                      "src": "638:7:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 10797,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "638:30:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10798,
                  "nodeType": "EmitStatement",
                  "src": "633:35:27"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "d0e30db0",
            "id": 10800,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deposit",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10782,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "569:2:27"
            },
            "returnParameters": {
              "id": 10783,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "587:0:27"
            },
            "scope": 10973,
            "src": "553:120:27",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10835,
              "nodeType": "Block",
              "src": "712:150:27",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10811,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 10806,
                            "name": "balanceOf",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10768,
                            "src": "726:9:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 10809,
                          "indexExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 10807,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -15,
                              "src": "736:3:27",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 10808,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "736:10:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "726:21:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 10810,
                          "name": "wad",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10802,
                          "src": "751:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "726:28:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 10805,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "718:7:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 10812,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "718:37:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10813,
                  "nodeType": "ExpressionStatement",
                  "src": "718:37:27"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 10814,
                        "name": "balanceOf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10768,
                        "src": "761:9:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 10817,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10815,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "771:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10816,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "771:10:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "761:21:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "-=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10818,
                      "name": "wad",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10802,
                      "src": "786:3:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "761:28:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10820,
                  "nodeType": "ExpressionStatement",
                  "src": "761:28:27"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10826,
                        "name": "wad",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10802,
                        "src": "815:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10821,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "795:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10824,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "795:10:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      "id": 10825,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "795:19:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 10827,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "795:24:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10828,
                  "nodeType": "ExpressionStatement",
                  "src": "795:24:27"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10830,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "841:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10831,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "841:10:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10832,
                        "name": "wad",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10802,
                        "src": "853:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 10829,
                      "name": "Withdrawal",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10764,
                      "src": "830:10:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 10833,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "830:27:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10834,
                  "nodeType": "EmitStatement",
                  "src": "825:32:27"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "2e1a7d4d",
            "id": 10836,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "withdraw",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10803,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10802,
                  "mutability": "mutable",
                  "name": "wad",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10836,
                  "src": "695:8:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10801,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "695:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "694:10:27"
            },
            "returnParameters": {
              "id": 10804,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "712:0:27"
            },
            "scope": 10973,
            "src": "677:185:27",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10847,
              "nodeType": "Block",
              "src": "916:39:27",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 10843,
                          "name": "this",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -28,
                          "src": "937:4:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_MockWETH_$10973",
                            "typeString": "contract MockWETH"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_MockWETH_$10973",
                            "typeString": "contract MockWETH"
                          }
                        ],
                        "id": 10842,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "929:7:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 10841,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "929:7:27",
                          "typeDescriptions": {
                            "typeIdentifier": null,
                            "typeString": null
                          }
                        }
                      },
                      "id": 10844,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "929:13:27",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address_payable",
                        "typeString": "address payable"
                      }
                    },
                    "id": 10845,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "balance",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "929:21:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 10840,
                  "id": 10846,
                  "nodeType": "Return",
                  "src": "922:28:27"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "18160ddd",
            "id": 10848,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10837,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "886:2:27"
            },
            "returnParameters": {
              "id": 10840,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10839,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10848,
                  "src": "910:4:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10838,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "910:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "909:6:27"
            },
            "scope": 10973,
            "src": "866:89:27",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10875,
              "nodeType": "Block",
              "src": "1021:101:27",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10864,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 10857,
                          "name": "allowance",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10774,
                          "src": "1027:9:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                            "typeString": "mapping(address => mapping(address => uint256))"
                          }
                        },
                        "id": 10861,
                        "indexExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 10858,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "1037:3:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 10859,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1037:10:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1027:21:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 10862,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 10860,
                        "name": "guy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10850,
                        "src": "1049:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1027:26:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10863,
                      "name": "wad",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10852,
                      "src": "1056:3:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1027:32:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10865,
                  "nodeType": "ExpressionStatement",
                  "src": "1027:32:27"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10867,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "1079:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10868,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1079:10:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10869,
                        "name": "guy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10850,
                        "src": "1091:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10870,
                        "name": "wad",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10852,
                        "src": "1096:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 10866,
                      "name": "Approval",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10744,
                      "src": "1070:8:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,uint256)"
                      }
                    },
                    "id": 10871,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1070:30:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10872,
                  "nodeType": "EmitStatement",
                  "src": "1065:35:27"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 10873,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1113:4:27",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 10856,
                  "id": 10874,
                  "nodeType": "Return",
                  "src": "1106:11:27"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "095ea7b3",
            "id": 10876,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10853,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10850,
                  "mutability": "mutable",
                  "name": "guy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10876,
                  "src": "976:11:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10849,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "976:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10852,
                  "mutability": "mutable",
                  "name": "wad",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10876,
                  "src": "989:8:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10851,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "989:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "975:23:27"
            },
            "returnParameters": {
              "id": 10856,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10855,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10876,
                  "src": "1015:4:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 10854,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1015:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1014:6:27"
            },
            "scope": 10973,
            "src": "959:163:27",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10892,
              "nodeType": "Block",
              "src": "1189:52:27",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10886,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "1215:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10887,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1215:10:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10888,
                        "name": "dst",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10878,
                        "src": "1227:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10889,
                        "name": "wad",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10880,
                        "src": "1232:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 10885,
                      "name": "transferFrom",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10972,
                      "src": "1202:12:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,address,uint256) returns (bool)"
                      }
                    },
                    "id": 10890,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1202:34:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 10884,
                  "id": 10891,
                  "nodeType": "Return",
                  "src": "1195:41:27"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "a9059cbb",
            "id": 10893,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10881,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10878,
                  "mutability": "mutable",
                  "name": "dst",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10893,
                  "src": "1144:11:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10877,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1144:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10880,
                  "mutability": "mutable",
                  "name": "wad",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10893,
                  "src": "1157:8:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10879,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1157:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1143:23:27"
            },
            "returnParameters": {
              "id": 10884,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10883,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10893,
                  "src": "1183:4:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 10882,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1183:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1182:6:27"
            },
            "scope": 10973,
            "src": "1126:115:27",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 10971,
              "nodeType": "Block",
              "src": "1341:318:27",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10909,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 10905,
                            "name": "balanceOf",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10768,
                            "src": "1355:9:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 10907,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 10906,
                            "name": "src",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10895,
                            "src": "1365:3:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1355:14:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 10908,
                          "name": "wad",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10899,
                          "src": "1373:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "1355:21:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 10904,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1347:7:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 10910,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1347:30:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10911,
                  "nodeType": "ExpressionStatement",
                  "src": "1347:30:27"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 10928,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 10915,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 10912,
                        "name": "src",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10895,
                        "src": "1388:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 10913,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "1395:3:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 10914,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1395:10:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      "src": "1388:17:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 10927,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 10916,
                            "name": "allowance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10774,
                            "src": "1409:9:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                              "typeString": "mapping(address => mapping(address => uint256))"
                            }
                          },
                          "id": 10918,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 10917,
                            "name": "src",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10895,
                            "src": "1419:3:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1409:14:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 10921,
                        "indexExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 10919,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "1424:3:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 10920,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1424:10:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1409:26:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 10925,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "-",
                            "prefix": true,
                            "src": "1444:2:27",
                            "subExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 10924,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1445:1:27",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_minus_1_by_1",
                              "typeString": "int_const -1"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_minus_1_by_1",
                              "typeString": "int_const -1"
                            }
                          ],
                          "id": 10923,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1439:4:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint256_$",
                            "typeString": "type(uint256)"
                          },
                          "typeName": {
                            "id": 10922,
                            "name": "uint",
                            "nodeType": "ElementaryTypeName",
                            "src": "1439:4:27",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 10926,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1439:8:27",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "1409:38:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1388:59:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 10950,
                  "nodeType": "IfStatement",
                  "src": "1384:163:27",
                  "trueBody": {
                    "id": 10949,
                    "nodeType": "Block",
                    "src": "1449:98:27",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 10937,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 10930,
                                    "name": "allowance",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10774,
                                    "src": "1465:9:27",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                                      "typeString": "mapping(address => mapping(address => uint256))"
                                    }
                                  },
                                  "id": 10932,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 10931,
                                    "name": "src",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 10895,
                                    "src": "1475:3:27",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "1465:14:27",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                    "typeString": "mapping(address => uint256)"
                                  }
                                },
                                "id": 10935,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 10933,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": -15,
                                    "src": "1480:3:27",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 10934,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "1480:10:27",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address_payable",
                                    "typeString": "address payable"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "1465:26:27",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "id": 10936,
                                "name": "wad",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10899,
                                "src": "1495:3:27",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "1465:33:27",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 10929,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              -18,
                              -18
                            ],
                            "referencedDeclaration": -18,
                            "src": "1457:7:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 10938,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1457:42:27",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 10939,
                        "nodeType": "ExpressionStatement",
                        "src": "1457:42:27"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 10947,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 10940,
                                "name": "allowance",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10774,
                                "src": "1507:9:27",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                                  "typeString": "mapping(address => mapping(address => uint256))"
                                }
                              },
                              "id": 10944,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 10941,
                                "name": "src",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 10895,
                                "src": "1517:3:27",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "1507:14:27",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 10945,
                            "indexExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 10942,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -15,
                                "src": "1522:3:27",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 10943,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "1522:10:27",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address_payable",
                                "typeString": "address payable"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "1507:26:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "-=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 10946,
                            "name": "wad",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 10899,
                            "src": "1537:3:27",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "1507:33:27",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 10948,
                        "nodeType": "ExpressionStatement",
                        "src": "1507:33:27"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10955,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 10951,
                        "name": "balanceOf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10768,
                        "src": "1553:9:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 10953,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 10952,
                        "name": "src",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10895,
                        "src": "1563:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1553:14:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "-=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10954,
                      "name": "wad",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10899,
                      "src": "1571:3:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1553:21:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10956,
                  "nodeType": "ExpressionStatement",
                  "src": "1553:21:27"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10961,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 10957,
                        "name": "balanceOf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10768,
                        "src": "1580:9:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 10959,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 10958,
                        "name": "dst",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10897,
                        "src": "1590:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1580:14:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10960,
                      "name": "wad",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10899,
                      "src": "1598:3:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1580:21:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10962,
                  "nodeType": "ExpressionStatement",
                  "src": "1580:21:27"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 10964,
                        "name": "src",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10895,
                        "src": "1622:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10965,
                        "name": "dst",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10897,
                        "src": "1627:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 10966,
                        "name": "wad",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10899,
                        "src": "1632:3:27",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 10963,
                      "name": "Transfer",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10752,
                      "src": "1613:8:27",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,uint256)"
                      }
                    },
                    "id": 10967,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1613:23:27",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10968,
                  "nodeType": "EmitStatement",
                  "src": "1608:28:27"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 10969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1650:4:27",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 10903,
                  "id": 10970,
                  "nodeType": "Return",
                  "src": "1643:11:27"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "23b872dd",
            "id": 10972,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 10900,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10895,
                  "mutability": "mutable",
                  "name": "src",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10972,
                  "src": "1272:11:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10894,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1272:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10897,
                  "mutability": "mutable",
                  "name": "dst",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10972,
                  "src": "1289:11:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10896,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1289:7:27",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10899,
                  "mutability": "mutable",
                  "name": "wad",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10972,
                  "src": "1306:8:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10898,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1306:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1266:52:27"
            },
            "returnParameters": {
              "id": 10903,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10902,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 10972,
                  "src": "1335:4:27",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 10901,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1335:4:27",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1334:6:27"
            },
            "scope": 10973,
            "src": "1245:414:27",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "scope": 10974,
        "src": "25:1636:27"
      }
    ],
    "src": "0:1662:27"
  },
  "bytecode": "60c0604052600d60808190526c2bb930b83832b21022ba3432b960991b60a090815261002e916000919061007a565b50604080518082019091526004808252630ae8aa8960e31b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b5061010d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100bb57805160ff19168380011785556100e8565b828001600101855582156100e8579182015b828111156100e85782518255916020019190600101906100cd565b506100f49291506100f8565b5090565b5b808211156100f457600081556001016100f9565b6106fa8061011c6000396000f3fe6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce5671461021f57806370a082311461024a57806395d89b411461027d578063a9059cbb14610292578063d0e30db0146102cb578063dd62ed3e146102d3576100af565b806306fdde03146100b4578063095ea7b31461013e57806318160ddd1461018b57806323b872dd146101b25780632e1a7d4d146101f5576100af565b366100af576100ad61030e565b005b600080fd5b3480156100c057600080fd5b506100c961035d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101035781810151838201526020016100eb565b50505050905090810190601f1680156101305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014a57600080fd5b506101776004803603604081101561016157600080fd5b506001600160a01b0381351690602001356103eb565b604080519115158252519081900360200190f35b34801561019757600080fd5b506101a0610451565b60408051918252519081900360200190f35b3480156101be57600080fd5b50610177600480360360608110156101d557600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b34801561020157600080fd5b506100ad6004803603602081101561021857600080fd5b5035610589565b34801561022b57600080fd5b5061023461061e565b6040805160ff9092168252519081900360200190f35b34801561025657600080fd5b506101a06004803603602081101561026d57600080fd5b50356001600160a01b0316610627565b34801561028957600080fd5b506100c9610639565b34801561029e57600080fd5b50610177600480360360408110156102b557600080fd5b506001600160a01b038135169060200135610693565b6100ad61030e565b3480156102df57600080fd5b506101a0600480360360408110156102f657600080fd5b506001600160a01b03813581169160200135166106a7565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b6001600160a01b03831660009081526003602052604081205482111561047a57600080fd5b6001600160a01b03841633148015906104b857506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b15610518576001600160a01b03841660009081526004602090815260408083203384529091529020548211156104ed57600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b6001600160a01b03808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105a557600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f193505050501580156105e4573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e35780601f106103b8576101008083540402835291602001916103e3565b60006106a0338484610455565b9392505050565b60046020908152600092835260408084209091529082529020548156fea26469706673582212207076ad5a439008da73d3933bcf99f367b4697938ec58fb49c0521791540b5aaa64736f6c634300060c0033",
  "bytecodeSha1": "890a14eac63fa3d28dffc06ca898be3b6203a551",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.6.12+commit.27d51765"
  },
  "contractName": "MockWETH",
  "coverageMap": {
    "branches": {
      "27": {
        "MockWETH.transferFrom": {
          "19": [
            1355,
            1376,
            true
          ],
          "20": [
            1388,
            1405,
            false
          ],
          "21": [
            1409,
            1447,
            false
          ],
          "22": [
            1465,
            1498,
            true
          ]
        },
        "MockWETH.withdraw": {
          "23": [
            726,
            754,
            true
          ]
        }
      }
    },
    "statements": {
      "27": {
        "MockWETH.<receive>": {
          "0": [
            535,
            544
          ]
        },
        "MockWETH.approve": {
          "3": [
            1027,
            1059
          ],
          "4": [
            1065,
            1100
          ],
          "5": [
            1106,
            1117
          ]
        },
        "MockWETH.deposit": {
          "1": [
            593,
            627
          ],
          "2": [
            633,
            668
          ]
        },
        "MockWETH.totalSupply": {
          "6": [
            922,
            950
          ]
        },
        "MockWETH.transfer": {
          "18": [
            1195,
            1236
          ]
        },
        "MockWETH.transferFrom": {
          "7": [
            1347,
            1377
          ],
          "8": [
            1457,
            1499
          ],
          "9": [
            1507,
            1540
          ],
          "10": [
            1553,
            1574
          ],
          "11": [
            1580,
            1601
          ],
          "12": [
            1608,
            1636
          ],
          "13": [
            1643,
            1654
          ]
        },
        "MockWETH.withdraw": {
          "14": [
            718,
            755
          ],
          "15": [
            761,
            789
          ],
          "16": [
            795,
            819
          ],
          "17": [
            825,
            857
          ]
        }
      }
    }
  },
  "dependencies": [],
  "deployedBytecode": "6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce5671461021f57806370a082311461024a57806395d89b411461027d578063a9059cbb14610292578063d0e30db0146102cb578063dd62ed3e146102d3576100af565b806306fdde03146100b4578063095ea7b31461013e57806318160ddd1461018b57806323b872dd146101b25780632e1a7d4d146101f5576100af565b366100af576100ad61030e565b005b600080fd5b3480156100c057600080fd5b506100c961035d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101035781810151838201526020016100eb565b50505050905090810190601f1680156101305780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014a57600080fd5b506101776004803603604081101561016157600080fd5b506001600160a01b0381351690602001356103eb565b604080519115158252519081900360200190f35b34801561019757600080fd5b506101a0610451565b60408051918252519081900360200190f35b3480156101be57600080fd5b50610177600480360360608110156101d557600080fd5b506001600160a01b03813581169160208101359091169060400135610455565b34801561020157600080fd5b506100ad6004803603602081101561021857600080fd5b5035610589565b34801561022b57600080fd5b5061023461061e565b6040805160ff9092168252519081900360200190f35b34801561025657600080fd5b506101a06004803603602081101561026d57600080fd5b50356001600160a01b0316610627565b34801561028957600080fd5b506100c9610639565b34801561029e57600080fd5b50610177600480360360408110156102b557600080fd5b506001600160a01b038135169060200135610693565b6100ad61030e565b3480156102df57600080fd5b506101a0600480360360408110156102f657600080fd5b506001600160a01b03813581169160200135166106a7565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e35780601f106103b8576101008083540402835291602001916103e3565b820191906000526020600020905b8154815290600101906020018083116103c657829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b6001600160a01b03831660009081526003602052604081205482111561047a57600080fd5b6001600160a01b03841633148015906104b857506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b15610518576001600160a01b03841660009081526004602090815260408083203384529091529020548211156104ed57600080fd5b6001600160a01b03841660009081526004602090815260408083203384529091529020805483900390555b6001600160a01b03808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105a557600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f193505050501580156105e4573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103e35780601f106103b8576101008083540402835291602001916103e3565b60006106a0338484610455565b9392505050565b60046020908152600092835260408084209091529082529020548156fea26469706673582212207076ad5a439008da73d3933bcf99f367b4697938ec58fb49c0521791540b5aaa64736f6c634300060c0033",
  "deployedSourceMap": "25:1636:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:9;:7;:9::i;:::-;25:1636;;;;;47:36;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;959:163;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;959:163:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;866:89;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1245:414;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1245:414:27;;;;;;;;;;;;;;;;;:::i;677:185::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;677:185:27;;:::i;120:26::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;391:41;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;391:41:27;-1:-1:-1;;;;;391:41:27;;:::i;87:29::-;;;;;;;;;;;;;:::i;1126:115::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1126:115:27;;;;;;;;:::i;553:120::-;;;:::i;436:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;436:61:27;;;;;;;;;;:::i;553:120::-;603:10;593:21;;;;:9;:21;;;;;;;;;:34;;618:9;593:34;;;;;;638:30;;;;;;;;;;;;;;;;;553:120::o;47:36::-;;;;;;;;;;;;;;;-1:-1:-1;;47:36:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;959:163::-;1037:10;1015:4;1027:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;1027:26:27;;;;;;;;;;;:32;;;1070:30;;;;;;;1015:4;;1027:26;;1037:10;;1070:30;;;;;;;;-1:-1:-1;1113:4:27;959:163;;;;:::o;866:89::-;929:21;866:89;:::o;1245:414::-;-1:-1:-1;;;;;1355:14:27;;1335:4;1355:14;;;:9;:14;;;;;;:21;-1:-1:-1;1355:21:27;1347:30;;;;;;-1:-1:-1;;;;;1388:17:27;;1395:10;1388:17;;;;:59;;-1:-1:-1;;;;;;1409:14:27;;;;;;:9;:14;;;;;;;;1424:10;1409:26;;;;;;;;-1:-1:-1;;1409:38:27;;1388:59;1384:163;;;-1:-1:-1;;;;;1465:14:27;;;;;;:9;:14;;;;;;;;1480:10;1465:26;;;;;;;;:33;-1:-1:-1;1465:33:27;1457:42;;;;;;-1:-1:-1;;;;;1507:14:27;;;;;;:9;:14;;;;;;;;1522:10;1507:26;;;;;;;:33;;;;;;;1384:163;-1:-1:-1;;;;;1553:14:27;;;;;;;:9;:14;;;;;;;;:21;;;;;;;1580:14;;;;;;;;;;:21;;;;;;1613:23;;;;;;;1580:14;;1613:23;;;;;;;;;;;-1:-1:-1;1650:4:27;1245:414;;;;;:::o;677:185::-;736:10;726:21;;;;:9;:21;;;;;;:28;-1:-1:-1;726:28:27;718:37;;;;;;771:10;761:21;;;;:9;:21;;;;;;:28;;;;;;;795:24;;;;;;786:3;;795:24;;761:21;795:24;786:3;771:10;795:24;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:27:27;;;;;;;;841:10;;830:27;;;;;;;;;;677:185;:::o;120:26::-;;;;;;:::o;391:41::-;;;;;;;;;;;;;:::o;87:29::-;;;;;;;;;;;;;;;-1:-1:-1;;87:29:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1126:115;1183:4;1202:34;1215:10;1227:3;1232;1202:12;:34::i;:::-;1195:41;1126:115;-1:-1:-1;;;1126:115:27:o;436:61::-;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    25,
    1661
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA0 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x21F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x24A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x27D JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x292 JUMPI DUP1 PUSH4 0xD0E30DB0 EQ PUSH2 0x2CB JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2D3 JUMPI PUSH2 0xAF JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13E JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x1F5 JUMPI PUSH2 0xAF JUMP JUMPDEST CALLDATASIZE PUSH2 0xAF JUMPI PUSH2 0xAD PUSH2 0x30E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC9 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x103 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xEB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x130 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x14A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x161 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x3EB JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A0 PUSH2 0x451 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x455 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x589 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x234 PUSH2 0x61E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x26D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x627 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x289 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC9 PUSH2 0x639 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x177 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x693 JUMP JUMPDEST PUSH2 0xAD PUSH2 0x30E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x2F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0x6A7 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD CALLVALUE SWAP1 DUP2 ADD SWAP1 SWAP2 SSTORE DUP3 MLOAD SWAP1 DUP2 MSTORE SWAP2 MLOAD PUSH32 0xE1FFFCC4923D04B559F4D29A8BFC6CDA04EB5B0D3C460751C2402C5C5CC9109C SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x2 PUSH1 0x1 DUP6 AND ISZERO PUSH2 0x100 MUL PUSH1 0x0 NOT ADD SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 DIV PUSH1 0x1F DUP2 ADD DUP5 SWAP1 DIV DUP5 MUL DUP3 ADD DUP5 ADD SWAP1 SWAP3 MSTORE DUP2 DUP2 MSTORE SWAP3 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x3E3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE DUP2 DUP5 KECCAK256 DUP7 SWAP1 SSTORE DUP2 MLOAD DUP7 DUP2 MSTORE SWAP2 MLOAD SWAP4 SWAP5 SWAP1 SWAP4 SWAP1 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 DUP3 SWAP1 SUB ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST SELFBALANCE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x47A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND CALLER EQ DUP1 ISZERO SWAP1 PUSH2 0x4B8 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0x0 NOT EQ ISZERO JUMPDEST ISZERO PUSH2 0x518 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x4ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD DUP4 SWAP1 SUB SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP9 SWAP1 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE DUP4 MLOAD DUP7 DUP2 MSTORE SWAP4 MLOAD SWAP2 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 GT ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD DUP6 SWAP1 SUB SWAP1 SSTORE MLOAD DUP4 ISZERO PUSH2 0x8FC MUL SWAP2 DUP5 SWAP2 SWAP1 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x5E4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE SWAP1 MLOAD CALLER SWAP2 PUSH32 0x7FCF532C15F0A6DB0BD6D0E038BEA71D30D808C7D98CB3BF7268A95BF5081B65 SWAP2 SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x2 DUP5 DUP7 AND ISZERO PUSH2 0x100 MUL PUSH1 0x0 NOT ADD SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 DIV PUSH1 0x1F DUP2 ADD DUP5 SWAP1 DIV DUP5 MUL DUP3 ADD DUP5 ADD SWAP1 SWAP3 MSTORE DUP2 DUP2 MSTORE SWAP3 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x3E3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6A0 CALLER DUP5 DUP5 PUSH2 0x455 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0x76AD5A439008DA73D3933BCF99F367B469 PUSH26 0x38EC58FB49C0521791540B5AAA64736F6C634300060C00330000 ",
  "pcMap": {
    "0": {
      "offset": [
        25,
        1661
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "5": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "7": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "CALLDATASIZE",
      "path": "27"
    },
    "8": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "LT",
      "path": "27"
    },
    "9": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xA0"
    },
    "12": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "13": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "15": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "16": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0xE0"
    },
    "18": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "SHR",
      "path": "27"
    },
    "19": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "20": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x313CE567"
    },
    "25": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "GT",
      "path": "27"
    },
    "26": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x64"
    },
    "29": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "30": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "31": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x313CE567"
    },
    "36": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "37": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x21F"
    },
    "40": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "41": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "42": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x70A08231"
    },
    "47": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "48": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x24A"
    },
    "51": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "52": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "53": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x95D89B41"
    },
    "58": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "59": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x27D"
    },
    "62": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "63": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "64": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0xA9059CBB"
    },
    "69": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "70": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x292"
    },
    "73": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "74": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "75": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0xD0E30DB0"
    },
    "80": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "81": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x2CB"
    },
    "84": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "85": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "86": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0xDD62ED3E"
    },
    "91": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "92": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x2D3"
    },
    "95": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "96": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xAF"
    },
    "99": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMP",
      "path": "27"
    },
    "100": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "101": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "102": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x6FDDE03"
    },
    "107": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "108": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xB4"
    },
    "111": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "112": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "113": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x95EA7B3"
    },
    "118": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "119": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x13E"
    },
    "122": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "123": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "124": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x18160DDD"
    },
    "129": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "130": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x18B"
    },
    "133": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "134": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "135": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x23B872DD"
    },
    "140": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "141": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1B2"
    },
    "144": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "145": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "146": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH4",
      "path": "27",
      "value": "0x2E1A7D4D"
    },
    "151": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "EQ",
      "path": "27"
    },
    "152": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1F5"
    },
    "155": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "156": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xAF"
    },
    "159": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMP",
      "path": "27"
    },
    "160": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "161": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "CALLDATASIZE",
      "path": "27"
    },
    "162": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xAF"
    },
    "165": {
      "fn": null,
      "offset": [
        25,
        1661
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "166": {
      "fn": "MockWETH.<receive>",
      "offset": [
        535,
        544
      ],
      "op": "PUSH2",
      "path": "27",
      "statement": 0,
      "value": "0xAD"
    },
    "169": {
      "fn": "MockWETH.<receive>",
      "offset": [
        535,
        542
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x30E"
    },
    "172": {
      "fn": "MockWETH.<receive>",
      "jump": "i",
      "offset": [
        535,
        544
      ],
      "op": "JUMP",
      "path": "27"
    },
    "173": {
      "fn": "MockWETH.<receive>",
      "offset": [
        535,
        544
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "174": {
      "offset": [
        25,
        1661
      ],
      "op": "STOP",
      "path": "27"
    },
    "175": {
      "fn": "MockWETH.<receive>",
      "offset": [
        25,
        1661
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "176": {
      "fn": "MockWETH.<receive>",
      "offset": [
        25,
        1661
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "178": {
      "fn": "MockWETH.<receive>",
      "offset": [
        25,
        1661
      ],
      "op": "DUP1",
      "path": "27"
    },
    "179": {
      "first_revert": true,
      "fn": "MockWETH.<receive>",
      "offset": [
        25,
        1661
      ],
      "op": "REVERT",
      "path": "27"
    },
    "180": {
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "181": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "182": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "183": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "184": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xC0"
    },
    "187": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "188": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "190": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "191": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "REVERT",
      "path": "27"
    },
    "192": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "193": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "194": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xC9"
    },
    "197": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x35D"
    },
    "200": {
      "fn": "MockWETH.<receive>",
      "jump": "i",
      "offset": [
        47,
        83
      ],
      "op": "JUMP",
      "path": "27"
    },
    "201": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "202": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "204": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "205": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "206": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "208": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "209": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "210": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "211": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "212": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "213": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "214": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "215": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "216": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "217": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "218": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "219": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "220": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "221": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "222": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "223": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "224": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "225": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "226": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "227": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP6",
      "path": "27"
    },
    "228": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "229": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "230": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "231": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "232": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "233": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "235": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "236": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "237": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "238": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "LT",
      "path": "27"
    },
    "239": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "240": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x103"
    },
    "243": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "244": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "245": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "246": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "247": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "248": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "249": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "250": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "251": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "252": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "254": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "255": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xEB"
    },
    "258": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMP",
      "path": "27"
    },
    "259": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "260": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "261": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "262": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "263": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "264": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "265": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "266": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "267": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "268": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "269": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "270": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1F"
    },
    "272": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "AND",
      "path": "27"
    },
    "273": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "274": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "275": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x130"
    },
    "278": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "279": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "280": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "281": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SUB",
      "path": "27"
    },
    "282": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "283": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "284": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1"
    },
    "286": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "287": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "289": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SUB",
      "path": "27"
    },
    "290": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x100"
    },
    "293": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "EXP",
      "path": "27"
    },
    "294": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SUB",
      "path": "27"
    },
    "295": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "NOT",
      "path": "27"
    },
    "296": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "AND",
      "path": "27"
    },
    "297": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "298": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "299": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "301": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "302": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "303": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "304": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "305": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "306": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "307": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "308": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "309": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "310": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "312": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "313": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "314": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "315": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SUB",
      "path": "27"
    },
    "316": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "317": {
      "fn": "MockWETH.<receive>",
      "offset": [
        47,
        83
      ],
      "op": "RETURN",
      "path": "27"
    },
    "318": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "319": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "320": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP1",
      "path": "27"
    },
    "321": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "322": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x14A"
    },
    "325": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "326": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "328": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP1",
      "path": "27"
    },
    "329": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "REVERT",
      "path": "27"
    },
    "330": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "331": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "POP",
      "path": "27"
    },
    "332": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x177"
    },
    "335": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "337": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP1",
      "path": "27"
    },
    "338": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "CALLDATASIZE",
      "path": "27"
    },
    "339": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SUB",
      "path": "27"
    },
    "340": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "342": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP2",
      "path": "27"
    },
    "343": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "LT",
      "path": "27"
    },
    "344": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "345": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x161"
    },
    "348": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "349": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "351": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP1",
      "path": "27"
    },
    "352": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "REVERT",
      "path": "27"
    },
    "353": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "354": {
      "op": "POP"
    },
    "355": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "357": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "359": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "361": {
      "op": "SHL"
    },
    "362": {
      "op": "SUB"
    },
    "363": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP2",
      "path": "27"
    },
    "364": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "365": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "AND",
      "path": "27"
    },
    "366": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "367": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "369": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "ADD",
      "path": "27"
    },
    "370": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "371": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x3EB"
    },
    "374": {
      "fn": "MockWETH.approve",
      "jump": "i",
      "offset": [
        959,
        1122
      ],
      "op": "JUMP",
      "path": "27"
    },
    "375": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "376": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "378": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP1",
      "path": "27"
    },
    "379": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "380": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "381": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "382": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "383": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP3",
      "path": "27"
    },
    "384": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "385": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "386": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "387": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "DUP2",
      "path": "27"
    },
    "388": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "389": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SUB",
      "path": "27"
    },
    "390": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "392": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "ADD",
      "path": "27"
    },
    "393": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "394": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "RETURN",
      "path": "27"
    },
    "395": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "396": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "397": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "DUP1",
      "path": "27"
    },
    "398": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "399": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x197"
    },
    "402": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "403": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "405": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "DUP1",
      "path": "27"
    },
    "406": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "REVERT",
      "path": "27"
    },
    "407": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "408": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "POP",
      "path": "27"
    },
    "409": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1A0"
    },
    "412": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x451"
    },
    "415": {
      "fn": "MockWETH.totalSupply",
      "jump": "i",
      "offset": [
        866,
        955
      ],
      "op": "JUMP",
      "path": "27"
    },
    "416": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "417": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "419": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "DUP1",
      "path": "27"
    },
    "420": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "421": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "422": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "DUP3",
      "path": "27"
    },
    "423": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "424": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "425": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "426": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "DUP2",
      "path": "27"
    },
    "427": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "428": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "SUB",
      "path": "27"
    },
    "429": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "431": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "ADD",
      "path": "27"
    },
    "432": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "433": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "RETURN",
      "path": "27"
    },
    "434": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "435": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "436": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "DUP1",
      "path": "27"
    },
    "437": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "438": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1BE"
    },
    "441": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "442": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "444": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "DUP1",
      "path": "27"
    },
    "445": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "REVERT",
      "path": "27"
    },
    "446": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "447": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "POP",
      "path": "27"
    },
    "448": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x177"
    },
    "451": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "453": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "DUP1",
      "path": "27"
    },
    "454": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "CALLDATASIZE",
      "path": "27"
    },
    "455": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "SUB",
      "path": "27"
    },
    "456": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x60"
    },
    "458": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "DUP2",
      "path": "27"
    },
    "459": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "LT",
      "path": "27"
    },
    "460": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "461": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1D5"
    },
    "464": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "465": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "467": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "DUP1",
      "path": "27"
    },
    "468": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "REVERT",
      "path": "27"
    },
    "469": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "470": {
      "op": "POP"
    },
    "471": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "473": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "475": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "477": {
      "op": "SHL"
    },
    "478": {
      "op": "SUB"
    },
    "479": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "DUP2",
      "path": "27"
    },
    "480": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "481": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "DUP2",
      "path": "27"
    },
    "482": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "AND",
      "path": "27"
    },
    "483": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "484": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "486": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "DUP2",
      "path": "27"
    },
    "487": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "ADD",
      "path": "27"
    },
    "488": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "489": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "490": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "491": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "AND",
      "path": "27"
    },
    "492": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "493": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "495": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "ADD",
      "path": "27"
    },
    "496": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "497": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x455"
    },
    "500": {
      "fn": "MockWETH.transferFrom",
      "jump": "i",
      "offset": [
        1245,
        1659
      ],
      "op": "JUMP",
      "path": "27"
    },
    "501": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "502": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "503": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "DUP1",
      "path": "27"
    },
    "504": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "505": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x201"
    },
    "508": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "509": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "511": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "DUP1",
      "path": "27"
    },
    "512": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "REVERT",
      "path": "27"
    },
    "513": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "514": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "POP",
      "path": "27"
    },
    "515": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xAD"
    },
    "518": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "520": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "DUP1",
      "path": "27"
    },
    "521": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "CALLDATASIZE",
      "path": "27"
    },
    "522": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "SUB",
      "path": "27"
    },
    "523": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "525": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "DUP2",
      "path": "27"
    },
    "526": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "LT",
      "path": "27"
    },
    "527": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "528": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x218"
    },
    "531": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "532": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "534": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "DUP1",
      "path": "27"
    },
    "535": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "REVERT",
      "path": "27"
    },
    "536": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "537": {
      "op": "POP"
    },
    "538": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "539": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x589"
    },
    "542": {
      "fn": "MockWETH.withdraw",
      "jump": "i",
      "offset": [
        677,
        862
      ],
      "op": "JUMP",
      "path": "27"
    },
    "543": {
      "offset": [
        120,
        146
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "544": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "545": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "DUP1",
      "path": "27"
    },
    "546": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "547": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x22B"
    },
    "550": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "551": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "553": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "DUP1",
      "path": "27"
    },
    "554": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "REVERT",
      "path": "27"
    },
    "555": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "556": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "POP",
      "path": "27"
    },
    "557": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x234"
    },
    "560": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x61E"
    },
    "563": {
      "fn": "MockWETH.withdraw",
      "jump": "i",
      "offset": [
        120,
        146
      ],
      "op": "JUMP",
      "path": "27"
    },
    "564": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "565": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "567": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "DUP1",
      "path": "27"
    },
    "568": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "569": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0xFF"
    },
    "571": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "572": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "573": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "AND",
      "path": "27"
    },
    "574": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "DUP3",
      "path": "27"
    },
    "575": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "576": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "577": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "578": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "DUP2",
      "path": "27"
    },
    "579": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "580": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "SUB",
      "path": "27"
    },
    "581": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "583": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "ADD",
      "path": "27"
    },
    "584": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "585": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "RETURN",
      "path": "27"
    },
    "586": {
      "offset": [
        391,
        432
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "587": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "588": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "DUP1",
      "path": "27"
    },
    "589": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "590": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x256"
    },
    "593": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "594": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "596": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "DUP1",
      "path": "27"
    },
    "597": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "REVERT",
      "path": "27"
    },
    "598": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "599": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "POP",
      "path": "27"
    },
    "600": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1A0"
    },
    "603": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "605": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "DUP1",
      "path": "27"
    },
    "606": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "CALLDATASIZE",
      "path": "27"
    },
    "607": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "SUB",
      "path": "27"
    },
    "608": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "610": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "DUP2",
      "path": "27"
    },
    "611": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "LT",
      "path": "27"
    },
    "612": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "613": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x26D"
    },
    "616": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "617": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "619": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "DUP1",
      "path": "27"
    },
    "620": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "REVERT",
      "path": "27"
    },
    "621": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "622": {
      "op": "POP"
    },
    "623": {
      "offset": [
        391,
        432
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "624": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "626": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "628": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "630": {
      "op": "SHL"
    },
    "631": {
      "op": "SUB"
    },
    "632": {
      "offset": [
        391,
        432
      ],
      "op": "AND",
      "path": "27"
    },
    "633": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x627"
    },
    "636": {
      "fn": "MockWETH.withdraw",
      "jump": "i",
      "offset": [
        391,
        432
      ],
      "op": "JUMP",
      "path": "27"
    },
    "637": {
      "offset": [
        87,
        116
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "638": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "639": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP1",
      "path": "27"
    },
    "640": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "641": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x289"
    },
    "644": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "645": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "647": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP1",
      "path": "27"
    },
    "648": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "REVERT",
      "path": "27"
    },
    "649": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "650": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "POP",
      "path": "27"
    },
    "651": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xC9"
    },
    "654": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x639"
    },
    "657": {
      "fn": "MockWETH.withdraw",
      "jump": "i",
      "offset": [
        87,
        116
      ],
      "op": "JUMP",
      "path": "27"
    },
    "658": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "659": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "660": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "DUP1",
      "path": "27"
    },
    "661": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "662": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x29E"
    },
    "665": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "666": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "668": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "DUP1",
      "path": "27"
    },
    "669": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "REVERT",
      "path": "27"
    },
    "670": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "671": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "POP",
      "path": "27"
    },
    "672": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x177"
    },
    "675": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "677": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "DUP1",
      "path": "27"
    },
    "678": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "CALLDATASIZE",
      "path": "27"
    },
    "679": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "SUB",
      "path": "27"
    },
    "680": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "682": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "DUP2",
      "path": "27"
    },
    "683": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "LT",
      "path": "27"
    },
    "684": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "685": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x2B5"
    },
    "688": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "689": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "691": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "DUP1",
      "path": "27"
    },
    "692": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "REVERT",
      "path": "27"
    },
    "693": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "694": {
      "op": "POP"
    },
    "695": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "697": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "699": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "701": {
      "op": "SHL"
    },
    "702": {
      "op": "SUB"
    },
    "703": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "DUP2",
      "path": "27"
    },
    "704": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "705": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "AND",
      "path": "27"
    },
    "706": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "707": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "709": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "ADD",
      "path": "27"
    },
    "710": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "711": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x693"
    },
    "714": {
      "fn": "MockWETH.transfer",
      "jump": "i",
      "offset": [
        1126,
        1241
      ],
      "op": "JUMP",
      "path": "27"
    },
    "715": {
      "fn": "MockWETH.deposit",
      "offset": [
        553,
        673
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "716": {
      "fn": "MockWETH.deposit",
      "offset": [
        553,
        673
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0xAD"
    },
    "719": {
      "fn": "MockWETH.deposit",
      "offset": [
        553,
        673
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x30E"
    },
    "722": {
      "fn": "MockWETH.deposit",
      "jump": "i",
      "offset": [
        553,
        673
      ],
      "op": "JUMP",
      "path": "27"
    },
    "723": {
      "offset": [
        436,
        497
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "724": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "725": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "DUP1",
      "path": "27"
    },
    "726": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "727": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x2DF"
    },
    "730": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "731": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "733": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "DUP1",
      "path": "27"
    },
    "734": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "REVERT",
      "path": "27"
    },
    "735": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "736": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "POP",
      "path": "27"
    },
    "737": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x1A0"
    },
    "740": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "742": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "DUP1",
      "path": "27"
    },
    "743": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "CALLDATASIZE",
      "path": "27"
    },
    "744": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "SUB",
      "path": "27"
    },
    "745": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "747": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "DUP2",
      "path": "27"
    },
    "748": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "LT",
      "path": "27"
    },
    "749": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "750": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x2F6"
    },
    "753": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "754": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "756": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "DUP1",
      "path": "27"
    },
    "757": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "REVERT",
      "path": "27"
    },
    "758": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "759": {
      "op": "POP"
    },
    "760": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "762": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "764": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "766": {
      "op": "SHL"
    },
    "767": {
      "op": "SUB"
    },
    "768": {
      "offset": [
        436,
        497
      ],
      "op": "DUP2",
      "path": "27"
    },
    "769": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "770": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "DUP2",
      "path": "27"
    },
    "771": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "AND",
      "path": "27"
    },
    "772": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "773": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "775": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "ADD",
      "path": "27"
    },
    "776": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "CALLDATALOAD",
      "path": "27"
    },
    "777": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "AND",
      "path": "27"
    },
    "778": {
      "fn": "MockWETH.deposit",
      "offset": [
        436,
        497
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x6A7"
    },
    "781": {
      "fn": "MockWETH.deposit",
      "jump": "i",
      "offset": [
        436,
        497
      ],
      "op": "JUMP",
      "path": "27"
    },
    "782": {
      "fn": "MockWETH.deposit",
      "offset": [
        553,
        673
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "783": {
      "fn": "MockWETH.deposit",
      "offset": [
        603,
        613
      ],
      "op": "CALLER",
      "path": "27",
      "statement": 1
    },
    "784": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "786": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "DUP2",
      "path": "27"
    },
    "787": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "DUP2",
      "path": "27"
    },
    "788": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "789": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        602
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x3"
    },
    "791": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "793": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "794": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "DUP2",
      "path": "27"
    },
    "795": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "796": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "798": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "799": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "DUP3",
      "path": "27"
    },
    "800": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "801": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        614
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "802": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        627
      ],
      "op": "DUP1",
      "path": "27"
    },
    "803": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        627
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "804": {
      "fn": "MockWETH.deposit",
      "offset": [
        618,
        627
      ],
      "op": "CALLVALUE",
      "path": "27"
    },
    "805": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        627
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "806": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        627
      ],
      "op": "DUP2",
      "path": "27"
    },
    "807": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        627
      ],
      "op": "ADD",
      "path": "27"
    },
    "808": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        627
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "809": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        627
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "810": {
      "fn": "MockWETH.deposit",
      "offset": [
        593,
        627
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "811": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "DUP3",
      "path": "27",
      "statement": 2
    },
    "812": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "813": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "814": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "DUP2",
      "path": "27"
    },
    "815": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "816": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "817": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "818": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "PUSH32",
      "path": "27",
      "value": "0xE1FFFCC4923D04B559F4D29A8BFC6CDA04EB5B0D3C460751C2402C5C5CC9109C"
    },
    "851": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "852": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "DUP2",
      "path": "27"
    },
    "853": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "854": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "SUB",
      "path": "27"
    },
    "855": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "856": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "857": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "ADD",
      "path": "27"
    },
    "858": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "859": {
      "fn": "MockWETH.deposit",
      "offset": [
        638,
        668
      ],
      "op": "LOG2",
      "path": "27"
    },
    "860": {
      "fn": "MockWETH.deposit",
      "jump": "o",
      "offset": [
        553,
        673
      ],
      "op": "JUMP",
      "path": "27"
    },
    "861": {
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "862": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "864": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "865": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "866": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "868": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "869": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "870": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "872": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x2"
    },
    "874": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1"
    },
    "876": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP6",
      "path": "27"
    },
    "877": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "AND",
      "path": "27"
    },
    "878": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "879": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x100"
    },
    "882": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MUL",
      "path": "27"
    },
    "883": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "885": {
      "op": "NOT"
    },
    "886": {
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "887": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "888": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP5",
      "path": "27"
    },
    "889": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "AND",
      "path": "27"
    },
    "890": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "891": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "892": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "893": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DIV",
      "path": "27"
    },
    "894": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1F"
    },
    "896": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "897": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "898": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP5",
      "path": "27"
    },
    "899": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "900": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DIV",
      "path": "27"
    },
    "901": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP5",
      "path": "27"
    },
    "902": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MUL",
      "path": "27"
    },
    "903": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "904": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "905": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP5",
      "path": "27"
    },
    "906": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "907": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "908": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "909": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "910": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "911": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "912": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "913": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "914": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "915": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "916": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "917": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "918": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "919": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "920": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "921": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x3E3"
    },
    "924": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "925": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "926": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1F"
    },
    "928": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "LT",
      "path": "27"
    },
    "929": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x3B8"
    },
    "932": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "933": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x100"
    },
    "936": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "937": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "938": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "939": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DIV",
      "path": "27"
    },
    "940": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MUL",
      "path": "27"
    },
    "941": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "942": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "943": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "944": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "946": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "947": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "948": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x3E3"
    },
    "951": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "JUMP",
      "path": "27"
    },
    "952": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "953": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "954": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "955": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "956": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "957": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "959": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "960": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "962": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "964": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "965": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "966": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "967": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "968": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "969": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "970": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "971": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "972": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1"
    },
    "974": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "975": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "976": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "978": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "979": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP1",
      "path": "27"
    },
    "980": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP4",
      "path": "27"
    },
    "981": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "GT",
      "path": "27"
    },
    "982": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x3C6"
    },
    "985": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "986": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "987": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "988": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SUB",
      "path": "27"
    },
    "989": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1F"
    },
    "991": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "AND",
      "path": "27"
    },
    "992": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP3",
      "path": "27"
    },
    "993": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "ADD",
      "path": "27"
    },
    "994": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "995": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "996": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "997": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "998": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "999": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "1000": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "POP",
      "path": "27"
    },
    "1001": {
      "fn": "MockWETH.deposit",
      "offset": [
        47,
        83
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1002": {
      "fn": "MockWETH.deposit",
      "jump": "o",
      "offset": [
        47,
        83
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1003": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1004": {
      "fn": "MockWETH.approve",
      "offset": [
        1037,
        1047
      ],
      "op": "CALLER",
      "path": "27",
      "statement": 3
    },
    "1005": {
      "fn": "MockWETH.approve",
      "offset": [
        1015,
        1019
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1007": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1008": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1009": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1010": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1036
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "1012": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1014": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1015": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1016": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1017": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1019": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1020": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1021": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1048
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1022": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1024": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1026": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1028": {
      "op": "SHL"
    },
    "1029": {
      "op": "SUB"
    },
    "1030": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "DUP8",
      "path": "27"
    },
    "1031": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "AND",
      "path": "27"
    },
    "1032": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1033": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "DUP6",
      "path": "27"
    },
    "1034": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1035": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1036": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1037": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1038": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1039": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1040": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1041": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1059
      ],
      "op": "DUP7",
      "path": "27"
    },
    "1042": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1059
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1043": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1059
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "1044": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "DUP2",
      "path": "27",
      "statement": 4
    },
    "1045": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "1046": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "DUP7",
      "path": "27"
    },
    "1047": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1048": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1049": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1050": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "1051": {
      "fn": "MockWETH.approve",
      "offset": [
        1015,
        1019
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1052": {
      "fn": "MockWETH.approve",
      "offset": [
        1015,
        1019
      ],
      "op": "SWAP5",
      "path": "27"
    },
    "1053": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1054": {
      "fn": "MockWETH.approve",
      "offset": [
        1027,
        1053
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1055": {
      "fn": "MockWETH.approve",
      "offset": [
        1037,
        1047
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1056": {
      "fn": "MockWETH.approve",
      "offset": [
        1037,
        1047
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1057": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "PUSH32",
      "path": "27",
      "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925"
    },
    "1090": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1091": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1092": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1093": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "SUB",
      "path": "27"
    },
    "1094": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "ADD",
      "path": "27"
    },
    "1095": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1096": {
      "fn": "MockWETH.approve",
      "offset": [
        1070,
        1100
      ],
      "op": "LOG3",
      "path": "27"
    },
    "1097": {
      "op": "POP"
    },
    "1098": {
      "fn": "MockWETH.approve",
      "offset": [
        1113,
        1117
      ],
      "op": "PUSH1",
      "path": "27",
      "statement": 5,
      "value": "0x1"
    },
    "1100": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1101": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1102": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "POP",
      "path": "27"
    },
    "1103": {
      "fn": "MockWETH.approve",
      "offset": [
        959,
        1122
      ],
      "op": "POP",
      "path": "27"
    },
    "1104": {
      "fn": "MockWETH.approve",
      "jump": "o",
      "offset": [
        959,
        1122
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1105": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1106": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        929,
        950
      ],
      "op": "SELFBALANCE",
      "path": "27",
      "statement": 6
    },
    "1107": {
      "fn": "MockWETH.totalSupply",
      "offset": [
        866,
        955
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1108": {
      "fn": "MockWETH.totalSupply",
      "jump": "o",
      "offset": [
        866,
        955
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1109": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1110": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1112": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1114": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1116": {
      "op": "SHL"
    },
    "1117": {
      "op": "SUB"
    },
    "1118": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "DUP4",
      "path": "27",
      "statement": 7
    },
    "1119": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "AND",
      "path": "27"
    },
    "1120": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1335,
        1339
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1122": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1123": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1124": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1125": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1364
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x3"
    },
    "1127": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1129": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1130": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1132": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1133": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1134": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1369
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1135": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1376
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1136": {
      "op": "GT"
    },
    "1137": {
      "branch": 19,
      "fn": "MockWETH.transferFrom",
      "offset": [
        1355,
        1376
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1138": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1347,
        1377
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x47A"
    },
    "1141": {
      "branch": 19,
      "fn": "MockWETH.transferFrom",
      "offset": [
        1347,
        1377
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "1142": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1347,
        1377
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1144": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1347,
        1377
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1145": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1347,
        1377
      ],
      "op": "REVERT",
      "path": "27"
    },
    "1146": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1347,
        1377
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1147": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1149": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1151": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1153": {
      "op": "SHL"
    },
    "1154": {
      "op": "SUB"
    },
    "1155": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1405
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1156": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1405
      ],
      "op": "AND",
      "path": "27"
    },
    "1157": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1395,
        1405
      ],
      "op": "CALLER",
      "path": "27"
    },
    "1158": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1405
      ],
      "op": "EQ",
      "path": "27"
    },
    "1159": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1405
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1160": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1405
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1161": {
      "branch": 20,
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1405
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1162": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1447
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x4B8"
    },
    "1165": {
      "branch": 20,
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1447
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "1166": {
      "op": "POP"
    },
    "1167": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1169": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1171": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1173": {
      "op": "SHL"
    },
    "1174": {
      "op": "SUB"
    },
    "1175": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1176": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "AND",
      "path": "27"
    },
    "1177": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1179": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1180": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1181": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1182": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1418
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "1184": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1186": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1187": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1188": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1189": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1191": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1192": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1193": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1423
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1194": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1424,
        1434
      ],
      "op": "CALLER",
      "path": "27"
    },
    "1195": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1435
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1196": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1435
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1197": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1435
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1198": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1435
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1199": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1435
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1200": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1435
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1201": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1435
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1202": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1435
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1203": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1205": {
      "op": "NOT"
    },
    "1206": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1447
      ],
      "op": "EQ",
      "path": "27"
    },
    "1207": {
      "branch": 21,
      "fn": "MockWETH.transferFrom",
      "offset": [
        1409,
        1447
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1208": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1388,
        1447
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1209": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1384,
        1547
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1210": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1384,
        1547
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x518"
    },
    "1213": {
      "branch": 21,
      "fn": "MockWETH.transferFrom",
      "offset": [
        1384,
        1547
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "1214": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1216": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1218": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1220": {
      "op": "SHL"
    },
    "1221": {
      "op": "SUB"
    },
    "1222": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "DUP5",
      "path": "27",
      "statement": 8
    },
    "1223": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "AND",
      "path": "27"
    },
    "1224": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1226": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1227": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1228": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1229": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1474
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "1231": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1233": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1234": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1235": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1236": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1238": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1239": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1240": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1479
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1241": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1480,
        1490
      ],
      "op": "CALLER",
      "path": "27"
    },
    "1242": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1491
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1243": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1491
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1244": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1491
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1245": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1491
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1246": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1491
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1247": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1491
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1248": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1491
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1249": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1491
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1250": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1498
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1251": {
      "op": "GT"
    },
    "1252": {
      "branch": 22,
      "fn": "MockWETH.transferFrom",
      "offset": [
        1465,
        1498
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1253": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1457,
        1499
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x4ED"
    },
    "1256": {
      "branch": 22,
      "fn": "MockWETH.transferFrom",
      "offset": [
        1457,
        1499
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "1257": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1457,
        1499
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1259": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1457,
        1499
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1260": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1457,
        1499
      ],
      "op": "REVERT",
      "path": "27"
    },
    "1261": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1457,
        1499
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1262": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1264": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1266": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1268": {
      "op": "SHL"
    },
    "1269": {
      "op": "SUB"
    },
    "1270": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "DUP5",
      "path": "27",
      "statement": 9
    },
    "1271": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "AND",
      "path": "27"
    },
    "1272": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1274": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1275": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1276": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1277": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1516
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "1279": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1281": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1282": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1283": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1284": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1286": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1287": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1288": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1521
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1289": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1522,
        1532
      ],
      "op": "CALLER",
      "path": "27"
    },
    "1290": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1533
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1291": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1533
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1292": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1533
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1293": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1533
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1294": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1533
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1295": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1533
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1296": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1533
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1297": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1540
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1298": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1540
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1299": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1540
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1300": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1540
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1301": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1540
      ],
      "op": "SUB",
      "path": "27"
    },
    "1302": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1540
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1303": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1507,
        1540
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "1304": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1384,
        1547
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1305": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1307": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1309": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1311": {
      "op": "SHL"
    },
    "1312": {
      "op": "SUB"
    },
    "1313": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "DUP1",
      "path": "27",
      "statement": 10
    },
    "1314": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "DUP6",
      "path": "27"
    },
    "1315": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "AND",
      "path": "27"
    },
    "1316": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1318": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1319": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1320": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1321": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1562
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x3"
    },
    "1323": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1325": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1326": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1327": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1328": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1330": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1331": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1332": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1567
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1333": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1574
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1334": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1574
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1335": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1574
      ],
      "op": "DUP9",
      "path": "27"
    },
    "1336": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1574
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1337": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1574
      ],
      "op": "SUB",
      "path": "27"
    },
    "1338": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1574
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1339": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1553,
        1574
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "1340": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "SWAP4",
      "path": "27",
      "statement": 11
    },
    "1341": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "DUP8",
      "path": "27"
    },
    "1342": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "AND",
      "path": "27"
    },
    "1343": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1344": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1345": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1346": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1347": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1348": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1349": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1350": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1601
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1351": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1601
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1352": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1601
      ],
      "op": "DUP8",
      "path": "27"
    },
    "1353": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1601
      ],
      "op": "ADD",
      "path": "27"
    },
    "1354": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1601
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1355": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1601
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "1356": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "DUP4",
      "path": "27",
      "statement": 12
    },
    "1357": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "1358": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "DUP7",
      "path": "27"
    },
    "1359": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1360": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1361": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1362": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "1363": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1364": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1580,
        1594
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1365": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "PUSH32",
      "path": "27",
      "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
    },
    "1398": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1399": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1400": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1401": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1402": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "SUB",
      "path": "27"
    },
    "1403": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1404": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1405": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "ADD",
      "path": "27"
    },
    "1406": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1407": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1613,
        1636
      ],
      "op": "LOG3",
      "path": "27"
    },
    "1408": {
      "op": "POP"
    },
    "1409": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1650,
        1654
      ],
      "op": "PUSH1",
      "path": "27",
      "statement": 13,
      "value": "0x1"
    },
    "1411": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1412": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1413": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "POP",
      "path": "27"
    },
    "1414": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "POP",
      "path": "27"
    },
    "1415": {
      "fn": "MockWETH.transferFrom",
      "offset": [
        1245,
        1659
      ],
      "op": "POP",
      "path": "27"
    },
    "1416": {
      "fn": "MockWETH.transferFrom",
      "jump": "o",
      "offset": [
        1245,
        1659
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1417": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1418": {
      "fn": "MockWETH.withdraw",
      "offset": [
        736,
        746
      ],
      "op": "CALLER",
      "path": "27",
      "statement": 14
    },
    "1419": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1421": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1422": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1423": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1424": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        735
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x3"
    },
    "1426": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1428": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1429": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1431": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1432": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1433": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        747
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1434": {
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        754
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1435": {
      "op": "GT"
    },
    "1436": {
      "branch": 23,
      "fn": "MockWETH.withdraw",
      "offset": [
        726,
        754
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1437": {
      "fn": "MockWETH.withdraw",
      "offset": [
        718,
        755
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x5A5"
    },
    "1440": {
      "branch": 23,
      "fn": "MockWETH.withdraw",
      "offset": [
        718,
        755
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "1441": {
      "fn": "MockWETH.withdraw",
      "offset": [
        718,
        755
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1443": {
      "fn": "MockWETH.withdraw",
      "offset": [
        718,
        755
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1444": {
      "fn": "MockWETH.withdraw",
      "offset": [
        718,
        755
      ],
      "op": "REVERT",
      "path": "27"
    },
    "1445": {
      "fn": "MockWETH.withdraw",
      "offset": [
        718,
        755
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1446": {
      "fn": "MockWETH.withdraw",
      "offset": [
        771,
        781
      ],
      "op": "CALLER",
      "path": "27",
      "statement": 15
    },
    "1447": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1449": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1450": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1451": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1452": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        770
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x3"
    },
    "1454": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1456": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1457": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1459": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1460": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1461": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1462": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        789
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1463": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        789
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1464": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        789
      ],
      "op": "DUP6",
      "path": "27"
    },
    "1465": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        789
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1466": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        789
      ],
      "op": "SUB",
      "path": "27"
    },
    "1467": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        789
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1468": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        789
      ],
      "op": "SSTORE",
      "path": "27"
    },
    "1469": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "MLOAD",
      "path": "27",
      "statement": 16
    },
    "1470": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1471": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1472": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x8FC"
    },
    "1475": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "MUL",
      "path": "27"
    },
    "1476": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1477": {
      "fn": "MockWETH.withdraw",
      "offset": [
        786,
        789
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1478": {
      "fn": "MockWETH.withdraw",
      "offset": [
        786,
        789
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1479": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1480": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1481": {
      "fn": "MockWETH.withdraw",
      "offset": [
        761,
        782
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1482": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1483": {
      "fn": "MockWETH.withdraw",
      "offset": [
        786,
        789
      ],
      "op": "DUP6",
      "path": "27"
    },
    "1484": {
      "fn": "MockWETH.withdraw",
      "offset": [
        771,
        781
      ],
      "op": "DUP9",
      "path": "27"
    },
    "1485": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "DUP9",
      "path": "27"
    },
    "1486": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "CALL",
      "path": "27"
    },
    "1487": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1488": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "POP",
      "path": "27"
    },
    "1489": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "POP",
      "path": "27"
    },
    "1490": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "POP",
      "path": "27"
    },
    "1491": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "POP",
      "path": "27"
    },
    "1492": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1493": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1494": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1495": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x5E4"
    },
    "1498": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "1499": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "RETURNDATASIZE",
      "path": "27"
    },
    "1500": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1502": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1503": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "RETURNDATACOPY",
      "path": "27"
    },
    "1504": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "RETURNDATASIZE",
      "path": "27"
    },
    "1505": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1507": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "REVERT",
      "path": "27"
    },
    "1508": {
      "fn": "MockWETH.withdraw",
      "offset": [
        795,
        819
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1509": {
      "op": "POP"
    },
    "1510": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "PUSH1",
      "path": "27",
      "statement": 17,
      "value": "0x40"
    },
    "1512": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1513": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "1514": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1515": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1516": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1517": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1518": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "1519": {
      "fn": "MockWETH.withdraw",
      "offset": [
        841,
        851
      ],
      "op": "CALLER",
      "path": "27"
    },
    "1520": {
      "fn": "MockWETH.withdraw",
      "offset": [
        841,
        851
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1521": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "PUSH32",
      "path": "27",
      "value": "0x7FCF532C15F0A6DB0BD6D0E038BEA71D30D808C7D98CB3BF7268A95BF5081B65"
    },
    "1554": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1555": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1556": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1557": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1558": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "SUB",
      "path": "27"
    },
    "1559": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1561": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "ADD",
      "path": "27"
    },
    "1562": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1563": {
      "fn": "MockWETH.withdraw",
      "offset": [
        830,
        857
      ],
      "op": "LOG2",
      "path": "27"
    },
    "1564": {
      "fn": "MockWETH.withdraw",
      "offset": [
        677,
        862
      ],
      "op": "POP",
      "path": "27"
    },
    "1565": {
      "fn": "MockWETH.withdraw",
      "jump": "o",
      "offset": [
        677,
        862
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1566": {
      "offset": [
        120,
        146
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1567": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x2"
    },
    "1569": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1570": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0xFF"
    },
    "1572": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "AND",
      "path": "27"
    },
    "1573": {
      "fn": "MockWETH.withdraw",
      "offset": [
        120,
        146
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1574": {
      "fn": "MockWETH.withdraw",
      "jump": "o",
      "offset": [
        120,
        146
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1575": {
      "offset": [
        391,
        432
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1576": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x3"
    },
    "1578": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1580": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1581": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1583": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1584": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1585": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1586": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1588": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1589": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1590": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1591": {
      "fn": "MockWETH.withdraw",
      "offset": [
        391,
        432
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1592": {
      "fn": "MockWETH.withdraw",
      "jump": "o",
      "offset": [
        391,
        432
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1593": {
      "offset": [
        87,
        116
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1594": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1"
    },
    "1596": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1597": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1598": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1600": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1601": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "MLOAD",
      "path": "27"
    },
    "1602": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1604": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x2"
    },
    "1606": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1607": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP7",
      "path": "27"
    },
    "1608": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "AND",
      "path": "27"
    },
    "1609": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1610": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x100"
    },
    "1613": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "MUL",
      "path": "27"
    },
    "1614": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1616": {
      "op": "NOT"
    },
    "1617": {
      "offset": [
        87,
        116
      ],
      "op": "ADD",
      "path": "27"
    },
    "1618": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1619": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP5",
      "path": "27"
    },
    "1620": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "AND",
      "path": "27"
    },
    "1621": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1622": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1623": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1624": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DIV",
      "path": "27"
    },
    "1625": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1F"
    },
    "1627": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1628": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "ADD",
      "path": "27"
    },
    "1629": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1630": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1631": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DIV",
      "path": "27"
    },
    "1632": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1633": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "MUL",
      "path": "27"
    },
    "1634": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1635": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "ADD",
      "path": "27"
    },
    "1636": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1637": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "ADD",
      "path": "27"
    },
    "1638": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1639": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1640": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1641": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1642": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1643": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1644": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1645": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1646": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1647": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "ADD",
      "path": "27"
    },
    "1648": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1649": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1650": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1651": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "ISZERO",
      "path": "27"
    },
    "1652": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x3E3"
    },
    "1655": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "1656": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1657": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x1F"
    },
    "1659": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "LT",
      "path": "27"
    },
    "1660": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x3B8"
    },
    "1663": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "JUMPI",
      "path": "27"
    },
    "1664": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x100"
    },
    "1667": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1668": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1669": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1670": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DIV",
      "path": "27"
    },
    "1671": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "MUL",
      "path": "27"
    },
    "1672": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1673": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1674": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1675": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1677": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "ADD",
      "path": "27"
    },
    "1678": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1679": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x3E3"
    },
    "1682": {
      "fn": "MockWETH.withdraw",
      "offset": [
        87,
        116
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1683": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1684": {
      "fn": "MockWETH.transfer",
      "offset": [
        1183,
        1187
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1686": {
      "fn": "MockWETH.transfer",
      "offset": [
        1202,
        1236
      ],
      "op": "PUSH2",
      "path": "27",
      "statement": 18,
      "value": "0x6A0"
    },
    "1689": {
      "fn": "MockWETH.transfer",
      "offset": [
        1215,
        1225
      ],
      "op": "CALLER",
      "path": "27"
    },
    "1690": {
      "fn": "MockWETH.transfer",
      "offset": [
        1227,
        1230
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1691": {
      "fn": "MockWETH.transfer",
      "offset": [
        1232,
        1235
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1692": {
      "fn": "MockWETH.transfer",
      "offset": [
        1202,
        1214
      ],
      "op": "PUSH2",
      "path": "27",
      "value": "0x455"
    },
    "1695": {
      "fn": "MockWETH.transfer",
      "jump": "i",
      "offset": [
        1202,
        1236
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1696": {
      "fn": "MockWETH.transfer",
      "offset": [
        1202,
        1236
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1697": {
      "fn": "MockWETH.transfer",
      "offset": [
        1195,
        1236
      ],
      "op": "SWAP4",
      "path": "27"
    },
    "1698": {
      "fn": "MockWETH.transfer",
      "offset": [
        1126,
        1241
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1699": {
      "op": "POP"
    },
    "1700": {
      "op": "POP"
    },
    "1701": {
      "op": "POP"
    },
    "1702": {
      "fn": "MockWETH.transfer",
      "jump": "o",
      "offset": [
        1126,
        1241
      ],
      "op": "JUMP",
      "path": "27"
    },
    "1703": {
      "offset": [
        436,
        497
      ],
      "op": "JUMPDEST",
      "path": "27"
    },
    "1704": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x4"
    },
    "1706": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x20"
    },
    "1708": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1709": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1710": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1711": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x0"
    },
    "1713": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "SWAP3",
      "path": "27"
    },
    "1714": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "DUP4",
      "path": "27"
    },
    "1715": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1716": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "PUSH1",
      "path": "27",
      "value": "0x40"
    },
    "1718": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "DUP1",
      "path": "27"
    },
    "1719": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "DUP5",
      "path": "27"
    },
    "1720": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1721": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1722": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "SWAP2",
      "path": "27"
    },
    "1723": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1724": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1725": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "DUP3",
      "path": "27"
    },
    "1726": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "MSTORE",
      "path": "27"
    },
    "1727": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "SWAP1",
      "path": "27"
    },
    "1728": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "KECCAK256",
      "path": "27"
    },
    "1729": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "SLOAD",
      "path": "27"
    },
    "1730": {
      "fn": "MockWETH.transfer",
      "offset": [
        436,
        497
      ],
      "op": "DUP2",
      "path": "27"
    },
    "1731": {
      "fn": "MockWETH.transfer",
      "jump": "o",
      "offset": [
        436,
        497
      ],
      "op": "JUMP",
      "path": "27"
    }
  },
  "sha1": "b3c6de2d1686e67b2cf1ba3dca394728488eb035",
  "source": "pragma solidity 0.6.12;\n\ncontract MockWETH {\n  string public name = 'Wrapped Ether';\n  string public symbol = 'WETH';\n  uint8 public decimals = 18;\n\n  event Approval(address indexed src, address indexed guy, uint wad);\n  event Transfer(address indexed src, address indexed dst, uint wad);\n  event Deposit(address indexed dst, uint wad);\n  event Withdrawal(address indexed src, uint wad);\n\n  mapping(address => uint) public balanceOf;\n  mapping(address => mapping(address => uint)) public allowance;\n\n  receive() external payable {\n    deposit();\n  }\n\n  function deposit() public payable {\n    balanceOf[msg.sender] += msg.value;\n    emit Deposit(msg.sender, msg.value);\n  }\n\n  function withdraw(uint wad) public {\n    require(balanceOf[msg.sender] >= wad);\n    balanceOf[msg.sender] -= wad;\n    msg.sender.transfer(wad);\n    emit Withdrawal(msg.sender, wad);\n  }\n\n  function totalSupply() public view returns (uint) {\n    return address(this).balance;\n  }\n\n  function approve(address guy, uint wad) public returns (bool) {\n    allowance[msg.sender][guy] = wad;\n    emit Approval(msg.sender, guy, wad);\n    return true;\n  }\n\n  function transfer(address dst, uint wad) public returns (bool) {\n    return transferFrom(msg.sender, dst, wad);\n  }\n\n  function transferFrom(\n    address src,\n    address dst,\n    uint wad\n  ) public returns (bool) {\n    require(balanceOf[src] >= wad);\n\n    if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {\n      require(allowance[src][msg.sender] >= wad);\n      allowance[src][msg.sender] -= wad;\n    }\n\n    balanceOf[src] -= wad;\n    balanceOf[dst] += wad;\n\n    emit Transfer(src, dst, wad);\n\n    return true;\n  }\n}\n",
  "sourceMap": "47:36:27:-:0;25:1636;47:36;;25:1636;47:36;;;-1:-1:-1;;;47:36:27;;;;;;-1:-1:-1;;47:36:27;;:::i;:::-;-1:-1:-1;87:29:27;;;;;;;;;;;;;-1:-1:-1;;;87:29:27;;;;;;;;;;;;:::i;:::-;-1:-1:-1;120:26:27;;;-1:-1:-1;;120:26:27;144:2;120:26;;;25:1636;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25:1636:27;;;-1:-1:-1;25:1636:27;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;",
  "sourcePath": "contracts/mock/MockWETH.sol",
  "type": "contract"
}