{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_token",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "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": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "mintAmount",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "mintRate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "redeemAmount",
          "type": "uint256"
        }
      ],
      "name": "redeem",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_mintRate",
          "type": "uint256"
        }
      ],
      "name": "setMintRate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "token",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "underlying",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "12": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC20/IERC20.sol",
    "13": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC20/SafeERC20.sol",
    "14": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol",
    "23": "contracts/mock/MockCErc20_2.sol",
    "4": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol",
    "60": "interfaces/ICErc20_2.sol"
  },
  "ast": {
    "absolutePath": "contracts/mock/MockCErc20_2.sol",
    "exportedSymbols": {
      "MockCErc20_2": [
        4852
      ]
    },
    "id": 4853,
    "license": null,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4682,
        "literals": [
          "solidity",
          "0.6",
          ".12"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:23"
      },
      {
        "absolutePath": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC20/SafeERC20.sol",
        "file": "OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC20/SafeERC20.sol",
        "id": 4683,
        "nodeType": "ImportDirective",
        "scope": 4853,
        "sourceUnit": 24138,
        "src": "113:87:23",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol",
        "file": "OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol",
        "id": 4684,
        "nodeType": "ImportDirective",
        "scope": 4853,
        "sourceUnit": 23725,
        "src": "201:79:23",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/ICErc20_2.sol",
        "file": "../../interfaces/ICErc20_2.sol",
        "id": 4685,
        "nodeType": "ImportDirective",
        "scope": 4853,
        "sourceUnit": 25199,
        "src": "282:40:23",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 4686,
              "name": "ICErc20_2",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 25198,
              "src": "349:9:23",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ICErc20_2_$25198",
                "typeString": "contract ICErc20_2"
              }
            },
            "id": 4687,
            "nodeType": "InheritanceSpecifier",
            "src": "349:9:23"
          }
        ],
        "contractDependencies": [
          25198
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4852,
        "linearizedBaseContracts": [
          4852,
          25198
        ],
        "name": "MockCErc20_2",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 4690,
            "libraryName": {
              "contractScope": null,
              "id": 4688,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 23724,
              "src": "369:8:23",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$23724",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "363:24:23",
            "typeName": {
              "id": 4689,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "382:4:23",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "id": 4693,
            "libraryName": {
              "contractScope": null,
              "id": 4691,
              "name": "SafeERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 24137,
              "src": "396:9:23",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeERC20_$24137",
                "typeString": "library SafeERC20"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "390:27:23",
            "typeName": {
              "contractScope": null,
              "id": 4692,
              "name": "IERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 23924,
              "src": "410:6:23",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IERC20_$23924",
                "typeString": "contract IERC20"
              }
            }
          },
          {
            "constant": false,
            "functionSelector": "fc0c546a",
            "id": 4695,
            "mutability": "mutable",
            "name": "token",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4852,
            "src": "421:19:23",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IERC20_$23924",
              "typeString": "contract IERC20"
            },
            "typeName": {
              "contractScope": null,
              "id": 4694,
              "name": "IERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 23924,
              "src": "421:6:23",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IERC20_$23924",
                "typeString": "contract IERC20"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "ca0dcf16",
            "id": 4698,
            "mutability": "mutable",
            "name": "mintRate",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4852,
            "src": "444:27:23",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4696,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "444:4:23",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31653138",
              "id": 4697,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "467:4:23",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000"
              },
              "value": "1e18"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "18160ddd",
            "id": 4701,
            "mutability": "mutable",
            "name": "totalSupply",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 4852,
            "src": "475:27:23",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4699,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "475:4:23",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 4700,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "501:1:23",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "baseFunctions": [
              25192
            ],
            "constant": false,
            "functionSelector": "70a08231",
            "id": 4706,
            "mutability": "mutable",
            "name": "balanceOf",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 4705,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "538:8:23"
            },
            "scope": 4852,
            "src": "506:50:23",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 4704,
              "keyType": {
                "id": 4702,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "514:7:23",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "506:24:23",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 4703,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "525:4:23",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4715,
              "nodeType": "Block",
              "src": "595:25:23",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4713,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4711,
                      "name": "token",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4695,
                      "src": "601:5:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IERC20_$23924",
                        "typeString": "contract IERC20"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4712,
                      "name": "_token",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4708,
                      "src": "609:6:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IERC20_$23924",
                        "typeString": "contract IERC20"
                      }
                    },
                    "src": "601:14:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC20_$23924",
                      "typeString": "contract IERC20"
                    }
                  },
                  "id": 4714,
                  "nodeType": "ExpressionStatement",
                  "src": "601:14:23"
                }
              ]
            },
            "documentation": null,
            "id": 4716,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 4709,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4708,
                  "mutability": "mutable",
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 4716,
                  "src": "573:13:23",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IERC20_$23924",
                    "typeString": "contract IERC20"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4707,
                    "name": "IERC20",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 23924,
                    "src": "573:6:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC20_$23924",
                      "typeString": "contract IERC20"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "572:15:23"
            },
            "returnParameters": {
              "id": 4710,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "595:0:23"
            },
            "scope": 4852,
            "src": "561:59:23",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              25197
            ],
            "body": {
              "id": 4726,
              "nodeType": "Block",
              "src": "679:31:23",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4724,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4722,
                      "name": "mintRate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4698,
                      "src": "685:8:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4723,
                      "name": "_mintRate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4718,
                      "src": "696:9:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "685:20:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4725,
                  "nodeType": "ExpressionStatement",
                  "src": "685:20:23"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "dbe2193f",
            "id": 4727,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "setMintRate",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4720,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "670:8:23"
            },
            "parameters": {
              "id": 4719,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4718,
                  "mutability": "mutable",
                  "name": "_mintRate",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 4727,
                  "src": "645:14:23",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4717,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "645:4:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "644:16:23"
            },
            "returnParameters": {
              "id": 4721,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "679:0:23"
            },
            "scope": 4852,
            "src": "624:86:23",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              25171
            ],
            "body": {
              "id": 4738,
              "nodeType": "Block",
              "src": "772:32:23",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4735,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4695,
                        "src": "793:5:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$23924",
                          "typeString": "contract IERC20"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IERC20_$23924",
                          "typeString": "contract IERC20"
                        }
                      ],
                      "id": 4734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "785:7:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 4733,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "785:7:23",
                        "typeDescriptions": {
                          "typeIdentifier": null,
                          "typeString": null
                        }
                      }
                    },
                    "id": 4736,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "785:14:23",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 4732,
                  "id": 4737,
                  "nodeType": "Return",
                  "src": "778:21:23"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "6f307dc3",
            "id": 4739,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "underlying",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4729,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "745:8:23"
            },
            "parameters": {
              "id": 4728,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "733:2:23"
            },
            "returnParameters": {
              "id": 4732,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4731,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 4739,
                  "src": "763:7:23",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4730,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "763:7:23",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "762:9:23"
            },
            "scope": 4852,
            "src": "714:90:23",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              25178
            ],
            "body": {
              "id": 4792,
              "nodeType": "Block",
              "src": "872:262:23",
              "statements": [
                {
                  "assignments": [
                    4748
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4748,
                      "mutability": "mutable",
                      "name": "amountIn",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 4792,
                      "src": "878:13:23",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 4747,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "878:4:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4756,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "31653138",
                        "id": 4754,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "923:4:23",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1000000000000000000_by_1",
                          "typeString": "int_const 1000000000000000000"
                        },
                        "value": "1e18"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1000000000000000000_by_1",
                          "typeString": "int_const 1000000000000000000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4751,
                            "name": "mintRate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4698,
                            "src": "909:8:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4749,
                            "name": "mintAmount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4741,
                            "src": "894:10:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 4750,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "894:14:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 4752,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "894:24:23",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 4753,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "894:28:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 4755,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "894:34:23",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "878:50:23"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4761,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "965:3:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4762,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "965:10:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4765,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "985:4:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MockCErc20_2_$4852",
                              "typeString": "contract MockCErc20_2"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MockCErc20_2_$4852",
                              "typeString": "contract MockCErc20_2"
                            }
                          ],
                          "id": 4764,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "977:7:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 4763,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "977:7:23",
                            "typeDescriptions": {
                              "typeIdentifier": null,
                              "typeString": null
                            }
                          }
                        },
                        "id": 4766,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "977:13:23",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4767,
                        "name": "amountIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4748,
                        "src": "992:8:23",
                        "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"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4758,
                            "name": "token",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4695,
                            "src": "941:5:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IERC20_$23924",
                              "typeString": "contract IERC20"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_IERC20_$23924",
                              "typeString": "contract IERC20"
                            }
                          ],
                          "id": 4757,
                          "name": "IERC20",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23924,
                          "src": "934:6:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20_$23924_$",
                            "typeString": "type(contract IERC20)"
                          }
                        },
                        "id": 4759,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "934:13:23",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$23924",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 4760,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23983,
                      "src": "934:30:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$23924_$_t_address_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$23924_$",
                        "typeString": "function (contract IERC20,address,address,uint256)"
                      }
                    },
                    "id": 4768,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "934:67:23",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4769,
                  "nodeType": "ExpressionStatement",
                  "src": "934:67:23"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4775,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4770,
                      "name": "totalSupply",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4701,
                      "src": "1007:11:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4773,
                          "name": "mintAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4741,
                          "src": "1037:10:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 4771,
                          "name": "totalSupply",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4701,
                          "src": "1021:11:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4772,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23551,
                        "src": "1021:15:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 4774,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1021:27:23",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1007:41:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4776,
                  "nodeType": "ExpressionStatement",
                  "src": "1007:41:23"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4788,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 4777,
                        "name": "balanceOf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4706,
                        "src": "1054:9:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 4780,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4778,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "1064:3:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4779,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1064:10:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1054:21:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4786,
                          "name": "mintAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4741,
                          "src": "1104:10:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 4781,
                            "name": "balanceOf",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4706,
                            "src": "1078:9:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 4784,
                          "indexExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4782,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -15,
                              "src": "1088:3:23",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4783,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1088:10:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1078:21:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4785,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23551,
                        "src": "1078:25:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 4787,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1078:37:23",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1054:61:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4789,
                  "nodeType": "ExpressionStatement",
                  "src": "1054:61:23"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 4790,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1128:1:23",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "functionReturnParameters": 4746,
                  "id": 4791,
                  "nodeType": "Return",
                  "src": "1121:8:23"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "a0712d68",
            "id": 4793,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4743,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "848:8:23"
            },
            "parameters": {
              "id": 4742,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4741,
                  "mutability": "mutable",
                  "name": "mintAmount",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 4793,
                  "src": "822:15:23",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4740,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "822:4:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "821:17:23"
            },
            "returnParameters": {
              "id": 4746,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4745,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 4793,
                  "src": "866:4:23",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4744,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "866:4:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "865:6:23"
            },
            "scope": 4852,
            "src": "808:326:23",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              25185
            ],
            "body": {
              "id": 4842,
              "nodeType": "Block",
              "src": "1206:251:23",
              "statements": [
                {
                  "assignments": [
                    4802
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4802,
                      "mutability": "mutable",
                      "name": "amountOut",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 4842,
                      "src": "1212:14:23",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 4801,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "1212:4:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4810,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4808,
                        "name": "mintRate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4698,
                        "src": "1256:8:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31653138",
                            "id": 4805,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1246:4:23",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1000000000000000000_by_1",
                              "typeString": "int_const 1000000000000000000"
                            },
                            "value": "1e18"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1000000000000000000_by_1",
                              "typeString": "int_const 1000000000000000000"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4803,
                            "name": "redeemAmount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4795,
                            "src": "1229:12:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 4804,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "1229:16:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 4806,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1229:22:23",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 4807,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "1229:26:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 4809,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1229:36:23",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1212:53:23"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4815,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "1298:3:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4816,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1298:10:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4817,
                        "name": "amountOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4802,
                        "src": "1310:9:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4812,
                            "name": "token",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4695,
                            "src": "1278:5:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IERC20_$23924",
                              "typeString": "contract IERC20"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_IERC20_$23924",
                              "typeString": "contract IERC20"
                            }
                          ],
                          "id": 4811,
                          "name": "IERC20",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23924,
                          "src": "1271:6:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20_$23924_$",
                            "typeString": "type(contract IERC20)"
                          }
                        },
                        "id": 4813,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1271:13:23",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$23924",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 4814,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "safeTransfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23958,
                      "src": "1271:26:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$23924_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$23924_$",
                        "typeString": "function (contract IERC20,address,uint256)"
                      }
                    },
                    "id": 4818,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1271:49:23",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4819,
                  "nodeType": "ExpressionStatement",
                  "src": "1271:49:23"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4825,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4820,
                      "name": "totalSupply",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4701,
                      "src": "1326:11:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4823,
                          "name": "redeemAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4795,
                          "src": "1356:12:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 4821,
                          "name": "totalSupply",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4701,
                          "src": "1340:11:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4822,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23573,
                        "src": "1340:15:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 4824,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1340:29:23",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1326:43:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4826,
                  "nodeType": "ExpressionStatement",
                  "src": "1326:43:23"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4838,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 4827,
                        "name": "balanceOf",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4706,
                        "src": "1375:9:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 4830,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4828,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "1385:3:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4829,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1385:10:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1375:21:23",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4836,
                          "name": "redeemAmount",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4795,
                          "src": "1425:12:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 4831,
                            "name": "balanceOf",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4706,
                            "src": "1399:9:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                              "typeString": "mapping(address => uint256)"
                            }
                          },
                          "id": 4834,
                          "indexExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4832,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -15,
                              "src": "1409:3:23",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4833,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1409:10:23",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1399:21:23",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 4835,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sub",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23573,
                        "src": "1399:25:23",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 4837,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1399:39:23",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1375:63:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4839,
                  "nodeType": "ExpressionStatement",
                  "src": "1375:63:23"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 4840,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1451:1:23",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "functionReturnParameters": 4800,
                  "id": 4841,
                  "nodeType": "Return",
                  "src": "1444:8:23"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "db006a75",
            "id": 4843,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "redeem",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4797,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1182:8:23"
            },
            "parameters": {
              "id": 4796,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4795,
                  "mutability": "mutable",
                  "name": "redeemAmount",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 4843,
                  "src": "1154:17:23",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4794,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1154:4:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1153:19:23"
            },
            "returnParameters": {
              "id": 4800,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4799,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 4843,
                  "src": "1200:4:23",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4798,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1200:4:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1199:6:23"
            },
            "scope": 4852,
            "src": "1138:319:23",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 4850,
              "nodeType": "Block",
              "src": "1535:19:23",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "38",
                    "id": 4848,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1548:1:23",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_8_by_1",
                      "typeString": "int_const 8"
                    },
                    "value": "8"
                  },
                  "functionReturnParameters": 4847,
                  "id": 4849,
                  "nodeType": "Return",
                  "src": "1541:8:23"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "313ce567",
            "id": 4851,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 4844,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1507:2:23"
            },
            "returnParameters": {
              "id": 4847,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4846,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 4851,
                  "src": "1528:5:23",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 4845,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1528:5:23",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1527:7:23"
            },
            "scope": 4852,
            "src": "1490:64:23",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 4853,
        "src": "324:1232:23"
      }
    ],
    "src": "0:1557:23"
  },
  "bytecode": "6080604052670de0b6b3a7640000600155600060025534801561002157600080fd5b506040516108de3803806108de8339818101604052602081101561004457600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610868806100766000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a0712d6811610066578063a0712d681461011a578063ca0dcf1614610137578063db006a751461013f578063dbe2193f1461015c578063fc0c546a1461017b57610093565b806318160ddd14610098578063313ce567146100b25780636f307dc3146100d057806370a08231146100f4575b600080fd5b6100a0610183565b60408051918252519081900360200190f35b6100ba610189565b6040805160ff9092168252519081900360200190f35b6100d861018e565b604080516001600160a01b039092168252519081900360200190f35b6100a06004803603602081101561010a57600080fd5b50356001600160a01b031661019d565b6100a06004803603602081101561013057600080fd5b50356101af565b6100a0610238565b6100a06004803603602081101561015557600080fd5b503561023e565b6101796004803603602081101561017257600080fd5b50356102a6565b005b6100d86102ab565b60025481565b600890565b6000546001600160a01b031690565b60036020526000908152604090205481565b6000806101d9670de0b6b3a76400006101d3600154866102ba90919063ffffffff16565b9061031c565b6000549091506101f4906001600160a01b0316333084610383565b60025461020190846103e3565b6002553360009081526003602052604090205461021e90846103e3565b336000908152600360205260408120919091559392505050565b60015481565b6000806102626001546101d3670de0b6b3a7640000866102ba90919063ffffffff16565b60005490915061027c906001600160a01b0316338361043d565b6002546102899084610494565b6002553360009081526003602052604090205461021e9084610494565b600155565b6000546001600160a01b031681565b6000826102c957506000610316565b828202828482816102d657fe5b04146103135760405162461bcd60e51b81526004018080602001828103825260218152602001806107e86021913960400191505060405180910390fd5b90505b92915050565b6000808211610372576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161037b57fe5b049392505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526103dd9085906104f1565b50505050565b600082820183811015610313576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261048f9084906104f1565b505050565b6000828211156104eb576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610546826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166105a29092919063ffffffff16565b80519091501561048f5780806020019051602081101561056557600080fd5b505161048f5760405162461bcd60e51b815260040180806020018281038252602a815260200180610809602a913960400191505060405180910390fd5b60606105b184846000856105bb565b90505b9392505050565b6060824710156105fc5760405162461bcd60e51b81526004018080602001828103825260268152602001806107c26026913960400191505060405180910390fd5b61060585610717565b610656576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106106955780518252601f199092019160209182019101610676565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146106f7576040519150601f19603f3d011682016040523d82523d6000602084013e6106fc565b606091505b509150915061070c82828661071d565b979650505050505050565b3b151590565b6060831561072c5750816105b4565b82511561073c5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561078657818101518382015260200161076e565b50505050905090810190601f1680156107b35780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122091efa44a606178e52f74ca6f5153a86aee458045deeeb4d9809d5d9a4bdeca9c64736f6c634300060c0033",
  "bytecodeSha1": "2e60a32314c3419f3d4c8ec9d26cbdee6017804c",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.6.12+commit.27d51765"
  },
  "contractName": "MockCErc20_2",
  "coverageMap": {
    "branches": {
      "12": {},
      "13": {
        "SafeERC20._callOptionalReturn": {
          "31": [
            3495,
            3516,
            false
          ],
          "32": [
            3624,
            3654,
            true
          ]
        }
      },
      "14": {
        "Address._verifyCallResult": {
          "29": [
            7234,
            7241,
            false
          ],
          "30": [
            7375,
            7396,
            false
          ]
        },
        "Address.functionCallWithValue": {
          "27": [
            4767,
            4797,
            true
          ],
          "28": [
            4858,
            4876,
            true
          ]
        }
      },
      "23": {},
      "4": {
        "SafeMath.add": {
          "36": [
            2802,
            2808,
            true
          ]
        },
        "SafeMath.div": {
          "35": [
            4302,
            4307,
            true
          ]
        },
        "SafeMath.mul": {
          "33": [
            3619,
            3625,
            false
          ],
          "34": [
            3680,
            3690,
            true
          ]
        },
        "SafeMath.sub": {
          "37": [
            3221,
            3227,
            true
          ]
        }
      },
      "60": {}
    },
    "statements": {
      "12": {},
      "13": {
        "SafeERC20._callOptionalReturn": {
          "19": [
            3616,
            3701
          ]
        },
        "SafeERC20.safeTransfer": {
          "16": [
            786,
            872
          ]
        },
        "SafeERC20.safeTransferFrom": {
          "14": [
            985,
            1081
          ]
        }
      },
      "14": {
        "Address._verifyCallResult": {
          "25": [
            7257,
            7274
          ],
          "26": [
            7765,
            7785
          ]
        },
        "Address.functionCall": {
          "20": [
            3708,
            3767
          ]
        },
        "Address.functionCallWithValue": {
          "21": [
            4759,
            4840
          ],
          "22": [
            4850,
            4910
          ],
          "23": [
            5065,
            5124
          ]
        },
        "Address.isContract": {
          "24": [
            1117,
            1132
          ]
        }
      },
      "23": {
        "MockCErc20_2.decimals": {
          "0": [
            1541,
            1549
          ]
        },
        "MockCErc20_2.mint": {
          "2": [
            934,
            1001
          ],
          "3": [
            1007,
            1048
          ],
          "4": [
            1054,
            1115
          ]
        },
        "MockCErc20_2.redeem": {
          "5": [
            1271,
            1320
          ],
          "6": [
            1326,
            1369
          ],
          "7": [
            1375,
            1438
          ]
        },
        "MockCErc20_2.setMintRate": {
          "8": [
            685,
            705
          ]
        },
        "MockCErc20_2.underlying": {
          "1": [
            778,
            799
          ]
        }
      },
      "4": {
        "SafeMath.add": {
          "15": [
            2794,
            2840
          ]
        },
        "SafeMath.div": {
          "12": [
            4294,
            4338
          ],
          "13": [
            4348,
            4360
          ]
        },
        "SafeMath.mul": {
          "9": [
            3627,
            3635
          ],
          "10": [
            3672,
            3728
          ],
          "11": [
            3738,
            3746
          ]
        },
        "SafeMath.sub": {
          "17": [
            3213,
            3262
          ],
          "18": [
            3272,
            3284
          ]
        }
      },
      "60": {}
    }
  },
  "dependencies": [
    "OpenZeppelin/openzeppelin-contracts@3.4.0/Address",
    "ICErc20_2",
    "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC20",
    "OpenZeppelin/openzeppelin-contracts@3.4.0/SafeERC20",
    "OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b50600436106100935760003560e01c8063a0712d6811610066578063a0712d681461011a578063ca0dcf1614610137578063db006a751461013f578063dbe2193f1461015c578063fc0c546a1461017b57610093565b806318160ddd14610098578063313ce567146100b25780636f307dc3146100d057806370a08231146100f4575b600080fd5b6100a0610183565b60408051918252519081900360200190f35b6100ba610189565b6040805160ff9092168252519081900360200190f35b6100d861018e565b604080516001600160a01b039092168252519081900360200190f35b6100a06004803603602081101561010a57600080fd5b50356001600160a01b031661019d565b6100a06004803603602081101561013057600080fd5b50356101af565b6100a0610238565b6100a06004803603602081101561015557600080fd5b503561023e565b6101796004803603602081101561017257600080fd5b50356102a6565b005b6100d86102ab565b60025481565b600890565b6000546001600160a01b031690565b60036020526000908152604090205481565b6000806101d9670de0b6b3a76400006101d3600154866102ba90919063ffffffff16565b9061031c565b6000549091506101f4906001600160a01b0316333084610383565b60025461020190846103e3565b6002553360009081526003602052604090205461021e90846103e3565b336000908152600360205260408120919091559392505050565b60015481565b6000806102626001546101d3670de0b6b3a7640000866102ba90919063ffffffff16565b60005490915061027c906001600160a01b0316338361043d565b6002546102899084610494565b6002553360009081526003602052604090205461021e9084610494565b600155565b6000546001600160a01b031681565b6000826102c957506000610316565b828202828482816102d657fe5b04146103135760405162461bcd60e51b81526004018080602001828103825260218152602001806107e86021913960400191505060405180910390fd5b90505b92915050565b6000808211610372576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161037b57fe5b049392505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526103dd9085906104f1565b50505050565b600082820183811015610313576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261048f9084906104f1565b505050565b6000828211156104eb576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610546826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166105a29092919063ffffffff16565b80519091501561048f5780806020019051602081101561056557600080fd5b505161048f5760405162461bcd60e51b815260040180806020018281038252602a815260200180610809602a913960400191505060405180910390fd5b60606105b184846000856105bb565b90505b9392505050565b6060824710156105fc5760405162461bcd60e51b81526004018080602001828103825260268152602001806107c26026913960400191505060405180910390fd5b61060585610717565b610656576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106106955780518252601f199092019160209182019101610676565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146106f7576040519150601f19603f3d011682016040523d82523d6000602084013e6106fc565b606091505b509150915061070c82828661071d565b979650505050505050565b3b151590565b6060831561072c5750816105b4565b82511561073c5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561078657818101518382015260200161076e565b50505050905090810190601f1680156107b35780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122091efa44a606178e52f74ca6f5153a86aee458045deeeb4d9809d5d9a4bdeca9c64736f6c634300060c0033",
  "deployedSourceMap": "324:1232:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;475:27;;;:::i;:::-;;;;;;;;;;;;;;;;1490:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;714:90;;;:::i;:::-;;;;-1:-1:-1;;;;;714:90:23;;;;;;;;;;;;;;506:50;;;;;;;;;;;;;;;;-1:-1:-1;506:50:23;-1:-1:-1;;;;;506:50:23;;:::i;808:326::-;;;;;;;;;;;;;;;;-1:-1:-1;808:326:23;;:::i;444:27::-;;;:::i;1138:319::-;;;;;;;;;;;;;;;;-1:-1:-1;1138:319:23;;:::i;624:86::-;;;;;;;;;;;;;;;;-1:-1:-1;624:86:23;;:::i;:::-;;421:19;;;:::i;475:27::-;;;;:::o;1490:64::-;1548:1;1490:64;:::o;714:90::-;763:7;793:5;-1:-1:-1;;;;;793:5:23;714:90;:::o;506:50::-;;;;;;;;;;;;;:::o;808:326::-;866:4;878:13;894:34;923:4;894:24;909:8;;894:10;:14;;:24;;;;:::i;:::-;:28;;:34::i;:::-;941:5;;878:50;;-1:-1:-1;934:67:23;;-1:-1:-1;;;;;941:5:23;965:10;985:4;878:50;934:30;:67::i;:::-;1021:11;;:27;;1037:10;1021:15;:27::i;:::-;1007:11;:41;1088:10;1078:21;;;;:9;:21;;;;;;:37;;1104:10;1078:25;:37::i;:::-;1064:10;1054:21;;;;:9;:21;;;;;:61;;;;:21;808:326;-1:-1:-1;;;808:326:23:o;444:27::-;;;;:::o;1138:319::-;1200:4;1212:14;1229:36;1256:8;;1229:22;1246:4;1229:12;:16;;:22;;;;:::i;:36::-;1278:5;;1212:53;;-1:-1:-1;1271:49:23;;-1:-1:-1;;;;;1278:5:23;1298:10;1212:53;1271:26;:49::i;:::-;1340:11;;:29;;1356:12;1340:15;:29::i;:::-;1326:11;:43;1409:10;1399:21;;;;:9;:21;;;;;;:39;;1425:12;1399:25;:39::i;624:86::-;685:8;:20;624:86::o;421:19::-;;;-1:-1:-1;;;;;421:19:23;;:::o;3538:215:4:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:4;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:4;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:4:o;885:203:13:-;1012:68;;;-1:-1:-1;;;;;1012:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:13;-1:-1:-1;;;1012:68:13;;;985:96;;1005:5;;985:19;:96::i;:::-;885:203;;;;:::o;2690:175:4:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:4;;;;;;;;;;;;;;;;;;;;;;;;;;;704:175:13;813:58;;;-1:-1:-1;;;;;813:58:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:13;-1:-1:-1;;;813:58:13;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;3136:155:4:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:4;;;3136:155::o;2967:751:13:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:13;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:13;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:13;3616:85;;;;-1:-1:-1;;;3616:85:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:14;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:14;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:14:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:14;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    324,
    1556
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA0712D68 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA0712D68 EQ PUSH2 0x11A JUMPI DUP1 PUSH4 0xCA0DCF16 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xDB006A75 EQ PUSH2 0x13F JUMPI DUP1 PUSH4 0xDBE2193F EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0xFC0C546A EQ PUSH2 0x17B JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x6F307DC3 EQ PUSH2 0xD0 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0xF4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH2 0x183 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xBA PUSH2 0x189 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xD8 PUSH2 0x18E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xA0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x10A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x19D JUMP JUMPDEST PUSH2 0xA0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x1AF JUMP JUMPDEST PUSH2 0xA0 PUSH2 0x238 JUMP JUMPDEST PUSH2 0xA0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x23E JUMP JUMPDEST PUSH2 0x179 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x2A6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD8 PUSH2 0x2AB JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x8 SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x1D9 PUSH8 0xDE0B6B3A7640000 PUSH2 0x1D3 PUSH1 0x1 SLOAD DUP7 PUSH2 0x2BA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 PUSH2 0x31C JUMP JUMPDEST PUSH1 0x0 SLOAD SWAP1 SWAP2 POP PUSH2 0x1F4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER ADDRESS DUP5 PUSH2 0x383 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x201 SWAP1 DUP5 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x2 SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x21E SWAP1 DUP5 PUSH2 0x3E3 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x262 PUSH1 0x1 SLOAD PUSH2 0x1D3 PUSH8 0xDE0B6B3A7640000 DUP7 PUSH2 0x2BA SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x0 SLOAD SWAP1 SWAP2 POP PUSH2 0x27C SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER DUP4 PUSH2 0x43D JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x289 SWAP1 DUP5 PUSH2 0x494 JUMP JUMPDEST PUSH1 0x2 SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x21E SWAP1 DUP5 PUSH2 0x494 JUMP JUMPDEST PUSH1 0x1 SSTORE JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2C9 JUMPI POP PUSH1 0x0 PUSH2 0x316 JUMP JUMPDEST DUP3 DUP3 MUL DUP3 DUP5 DUP3 DUP2 PUSH2 0x2D6 JUMPI INVALID JUMPDEST DIV EQ PUSH2 0x313 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x7E8 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x372 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206469766973696F6E206279207A65726F000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP2 DUP4 DUP2 PUSH2 0x37B JUMPI INVALID JUMPDEST DIV SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 DUP1 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH2 0x3DD SWAP1 DUP6 SWAP1 PUSH2 0x4F1 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x313 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP1 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH2 0x48F SWAP1 DUP5 SWAP1 PUSH2 0x4F1 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x4EB JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST POP SWAP1 SUB SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x546 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x5A2 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP ISZERO PUSH2 0x48F JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x48F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x809 PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 PUSH2 0x5B1 DUP5 DUP5 PUSH1 0x0 DUP6 PUSH2 0x5BB JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x5FC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x7C2 PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x605 DUP6 PUSH2 0x717 JUMP JUMPDEST PUSH2 0x656 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x695 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x676 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x6F7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x6FC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x70C DUP3 DUP3 DUP7 PUSH2 0x71D JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x72C JUMPI POP DUP2 PUSH2 0x5B4 JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x73C JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x786 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x76E JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x7B3 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 REVERT INVALID COINBASE PUSH5 0x6472657373 GASPRICE KECCAK256 PUSH10 0x6E73756666696369656E PUSH21 0x2062616C616E636520666F722063616C6C53616665 0x4D PUSH2 0x7468 GASPRICE KECCAK256 PUSH14 0x756C7469706C69636174696F6E20 PUSH16 0x766572666C6F77536166654552433230 GASPRICE KECCAK256 GASLIMIT MSTORE NUMBER ORIGIN ADDRESS KECCAK256 PUSH16 0x7065726174696F6E20646964206E6F74 KECCAK256 PUSH20 0x756363656564A264697066735822122091EFA44A PUSH1 0x61 PUSH25 0xE52F74CA6F5153A86AEE458045DEEEB4D9809D5D9A4BDECA9C PUSH5 0x736F6C6343 STOP MOD 0xC STOP CALLER ",
  "pcMap": {
    "0": {
      "offset": [
        324,
        1556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "5": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "CALLVALUE",
      "path": "23"
    },
    "6": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "7": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "ISZERO",
      "path": "23"
    },
    "8": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "12": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "REVERT",
      "path": "23"
    },
    "16": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "17": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "POP",
      "path": "23"
    },
    "18": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "CALLDATASIZE",
      "path": "23"
    },
    "21": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "LT",
      "path": "23"
    },
    "22": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x93"
    },
    "25": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "26": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "CALLDATALOAD",
      "path": "23"
    },
    "29": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "SHR",
      "path": "23"
    },
    "32": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "33": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0xA0712D68"
    },
    "38": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "GT",
      "path": "23"
    },
    "39": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x66"
    },
    "42": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "43": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "44": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0xA0712D68"
    },
    "49": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "50": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x11A"
    },
    "53": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "54": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "55": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0xCA0DCF16"
    },
    "60": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "61": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x137"
    },
    "64": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "65": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "66": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0xDB006A75"
    },
    "71": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "72": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x13F"
    },
    "75": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "76": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "77": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0xDBE2193F"
    },
    "82": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "83": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x15C"
    },
    "86": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "87": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "88": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0xFC0C546A"
    },
    "93": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "94": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x17B"
    },
    "97": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "98": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x93"
    },
    "101": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMP",
      "path": "23"
    },
    "102": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "103": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "104": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0x18160DDD"
    },
    "109": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "110": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x98"
    },
    "113": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "114": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "115": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0x313CE567"
    },
    "120": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "121": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xB2"
    },
    "124": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "125": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "126": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0x6F307DC3"
    },
    "131": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "132": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xD0"
    },
    "135": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "136": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "137": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0x70A08231"
    },
    "142": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "EQ",
      "path": "23"
    },
    "143": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xF4"
    },
    "146": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "147": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "148": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "150": {
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "151": {
      "first_revert": true,
      "fn": null,
      "offset": [
        324,
        1556
      ],
      "op": "REVERT",
      "path": "23"
    },
    "152": {
      "offset": [
        475,
        502
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "153": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xA0"
    },
    "156": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x183"
    },
    "159": {
      "fn": null,
      "jump": "i",
      "offset": [
        475,
        502
      ],
      "op": "JUMP",
      "path": "23"
    },
    "160": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "161": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x40"
    },
    "163": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "DUP1",
      "path": "23"
    },
    "164": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "MLOAD",
      "path": "23"
    },
    "165": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "SWAP2",
      "path": "23"
    },
    "166": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "DUP3",
      "path": "23"
    },
    "167": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "168": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "MLOAD",
      "path": "23"
    },
    "169": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "170": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "DUP2",
      "path": "23"
    },
    "171": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "172": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "SUB",
      "path": "23"
    },
    "173": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "175": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "ADD",
      "path": "23"
    },
    "176": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "177": {
      "fn": null,
      "offset": [
        475,
        502
      ],
      "op": "RETURN",
      "path": "23"
    },
    "178": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "179": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xBA"
    },
    "182": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x189"
    },
    "185": {
      "fn": "MockCErc20_2.decimals",
      "jump": "i",
      "offset": [
        1490,
        1554
      ],
      "op": "JUMP",
      "path": "23"
    },
    "186": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "187": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x40"
    },
    "189": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "DUP1",
      "path": "23"
    },
    "190": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "MLOAD",
      "path": "23"
    },
    "191": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0xFF"
    },
    "193": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "194": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "SWAP3",
      "path": "23"
    },
    "195": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "AND",
      "path": "23"
    },
    "196": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "DUP3",
      "path": "23"
    },
    "197": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "198": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "MLOAD",
      "path": "23"
    },
    "199": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "200": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "DUP2",
      "path": "23"
    },
    "201": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "202": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "SUB",
      "path": "23"
    },
    "203": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "205": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "ADD",
      "path": "23"
    },
    "206": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "207": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "RETURN",
      "path": "23"
    },
    "208": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "209": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xD8"
    },
    "212": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x18E"
    },
    "215": {
      "fn": "MockCErc20_2.underlying",
      "jump": "i",
      "offset": [
        714,
        804
      ],
      "op": "JUMP",
      "path": "23"
    },
    "216": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "217": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x40"
    },
    "219": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "DUP1",
      "path": "23"
    },
    "220": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "MLOAD",
      "path": "23"
    },
    "221": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "223": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "225": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "227": {
      "op": "SHL"
    },
    "228": {
      "op": "SUB"
    },
    "229": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "230": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "SWAP3",
      "path": "23"
    },
    "231": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "AND",
      "path": "23"
    },
    "232": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "DUP3",
      "path": "23"
    },
    "233": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "234": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "MLOAD",
      "path": "23"
    },
    "235": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "236": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "DUP2",
      "path": "23"
    },
    "237": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "238": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "SUB",
      "path": "23"
    },
    "239": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "241": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "ADD",
      "path": "23"
    },
    "242": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "243": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "RETURN",
      "path": "23"
    },
    "244": {
      "offset": [
        506,
        556
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "245": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xA0"
    },
    "248": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x4"
    },
    "250": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "251": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "CALLDATASIZE",
      "path": "23"
    },
    "252": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "SUB",
      "path": "23"
    },
    "253": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "255": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "DUP2",
      "path": "23"
    },
    "256": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "LT",
      "path": "23"
    },
    "257": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "ISZERO",
      "path": "23"
    },
    "258": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x10A"
    },
    "261": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "262": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "264": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "DUP1",
      "path": "23"
    },
    "265": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "REVERT",
      "path": "23"
    },
    "266": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "267": {
      "op": "POP"
    },
    "268": {
      "offset": [
        506,
        556
      ],
      "op": "CALLDATALOAD",
      "path": "23"
    },
    "269": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "271": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "273": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "275": {
      "op": "SHL"
    },
    "276": {
      "op": "SUB"
    },
    "277": {
      "offset": [
        506,
        556
      ],
      "op": "AND",
      "path": "23"
    },
    "278": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x19D"
    },
    "281": {
      "fn": "MockCErc20_2.underlying",
      "jump": "i",
      "offset": [
        506,
        556
      ],
      "op": "JUMP",
      "path": "23"
    },
    "282": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "283": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xA0"
    },
    "286": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x4"
    },
    "288": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "DUP1",
      "path": "23"
    },
    "289": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "CALLDATASIZE",
      "path": "23"
    },
    "290": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "SUB",
      "path": "23"
    },
    "291": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "293": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "DUP2",
      "path": "23"
    },
    "294": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "LT",
      "path": "23"
    },
    "295": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "ISZERO",
      "path": "23"
    },
    "296": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x130"
    },
    "299": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "300": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "302": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "DUP1",
      "path": "23"
    },
    "303": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "REVERT",
      "path": "23"
    },
    "304": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "305": {
      "op": "POP"
    },
    "306": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "CALLDATALOAD",
      "path": "23"
    },
    "307": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x1AF"
    },
    "310": {
      "fn": "MockCErc20_2.mint",
      "jump": "i",
      "offset": [
        808,
        1134
      ],
      "op": "JUMP",
      "path": "23"
    },
    "311": {
      "offset": [
        444,
        471
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "312": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        444,
        471
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xA0"
    },
    "315": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        444,
        471
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x238"
    },
    "318": {
      "fn": "MockCErc20_2.mint",
      "jump": "i",
      "offset": [
        444,
        471
      ],
      "op": "JUMP",
      "path": "23"
    },
    "319": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "320": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xA0"
    },
    "323": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x4"
    },
    "325": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "DUP1",
      "path": "23"
    },
    "326": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "CALLDATASIZE",
      "path": "23"
    },
    "327": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "SUB",
      "path": "23"
    },
    "328": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "330": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "DUP2",
      "path": "23"
    },
    "331": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "LT",
      "path": "23"
    },
    "332": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "ISZERO",
      "path": "23"
    },
    "333": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x155"
    },
    "336": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "337": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "339": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "DUP1",
      "path": "23"
    },
    "340": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "REVERT",
      "path": "23"
    },
    "341": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "342": {
      "op": "POP"
    },
    "343": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "CALLDATALOAD",
      "path": "23"
    },
    "344": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x23E"
    },
    "347": {
      "fn": "MockCErc20_2.redeem",
      "jump": "i",
      "offset": [
        1138,
        1457
      ],
      "op": "JUMP",
      "path": "23"
    },
    "348": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "349": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x179"
    },
    "352": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x4"
    },
    "354": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "DUP1",
      "path": "23"
    },
    "355": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "CALLDATASIZE",
      "path": "23"
    },
    "356": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "SUB",
      "path": "23"
    },
    "357": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "359": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "DUP2",
      "path": "23"
    },
    "360": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "LT",
      "path": "23"
    },
    "361": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "ISZERO",
      "path": "23"
    },
    "362": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x172"
    },
    "365": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "JUMPI",
      "path": "23"
    },
    "366": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "368": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "DUP1",
      "path": "23"
    },
    "369": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "REVERT",
      "path": "23"
    },
    "370": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "371": {
      "op": "POP"
    },
    "372": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "CALLDATALOAD",
      "path": "23"
    },
    "373": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x2A6"
    },
    "376": {
      "fn": "MockCErc20_2.setMintRate",
      "jump": "i",
      "offset": [
        624,
        710
      ],
      "op": "JUMP",
      "path": "23"
    },
    "377": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "378": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "STOP",
      "path": "23"
    },
    "379": {
      "offset": [
        421,
        440
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "380": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        421,
        440
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0xD8"
    },
    "383": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        421,
        440
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x2AB"
    },
    "386": {
      "fn": "MockCErc20_2.setMintRate",
      "jump": "i",
      "offset": [
        421,
        440
      ],
      "op": "JUMP",
      "path": "23"
    },
    "387": {
      "offset": [
        475,
        502
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "388": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        475,
        502
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x2"
    },
    "390": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        475,
        502
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "391": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        475,
        502
      ],
      "op": "DUP2",
      "path": "23"
    },
    "392": {
      "fn": "MockCErc20_2.setMintRate",
      "jump": "o",
      "offset": [
        475,
        502
      ],
      "op": "JUMP",
      "path": "23"
    },
    "393": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "394": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1548,
        1549
      ],
      "op": "PUSH1",
      "path": "23",
      "statement": 0,
      "value": "0x8"
    },
    "396": {
      "fn": "MockCErc20_2.decimals",
      "offset": [
        1490,
        1554
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "397": {
      "fn": "MockCErc20_2.decimals",
      "jump": "o",
      "offset": [
        1490,
        1554
      ],
      "op": "JUMP",
      "path": "23"
    },
    "398": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "399": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        763,
        770
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "401": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        793,
        798
      ],
      "op": "SLOAD",
      "path": "23",
      "statement": 1
    },
    "402": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "404": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "406": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "408": {
      "op": "SHL"
    },
    "409": {
      "op": "SUB"
    },
    "410": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        793,
        798
      ],
      "op": "AND",
      "path": "23"
    },
    "411": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        714,
        804
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "412": {
      "fn": "MockCErc20_2.underlying",
      "jump": "o",
      "offset": [
        714,
        804
      ],
      "op": "JUMP",
      "path": "23"
    },
    "413": {
      "offset": [
        506,
        556
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "414": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x3"
    },
    "416": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "418": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "419": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "421": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "422": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "DUP2",
      "path": "23"
    },
    "423": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "424": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x40"
    },
    "426": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "427": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "KECCAK256",
      "path": "23"
    },
    "428": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "429": {
      "fn": "MockCErc20_2.underlying",
      "offset": [
        506,
        556
      ],
      "op": "DUP2",
      "path": "23"
    },
    "430": {
      "fn": "MockCErc20_2.underlying",
      "jump": "o",
      "offset": [
        506,
        556
      ],
      "op": "JUMP",
      "path": "23"
    },
    "431": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "432": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        866,
        870
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "434": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        878,
        891
      ],
      "op": "DUP1",
      "path": "23"
    },
    "435": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        928
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x1D9"
    },
    "438": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        923,
        927
      ],
      "op": "PUSH8",
      "path": "23",
      "value": "0xDE0B6B3A7640000"
    },
    "447": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        918
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x1D3"
    },
    "450": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        909,
        917
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x1"
    },
    "452": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        909,
        917
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "453": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        904
      ],
      "op": "DUP7",
      "path": "23"
    },
    "454": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        908
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x2BA"
    },
    "457": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        908
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "458": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        918
      ],
      "op": "SWAP2",
      "path": "23"
    },
    "459": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        918
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "460": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        918
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0xFFFFFFFF"
    },
    "465": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        918
      ],
      "op": "AND",
      "path": "23"
    },
    "466": {
      "fn": "MockCErc20_2.mint",
      "jump": "i",
      "offset": [
        894,
        918
      ],
      "op": "JUMP",
      "path": "23"
    },
    "467": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        918
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "468": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        922
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "469": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        922
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x31C"
    },
    "472": {
      "fn": "MockCErc20_2.mint",
      "jump": "i",
      "offset": [
        894,
        928
      ],
      "op": "JUMP",
      "path": "23"
    },
    "473": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        894,
        928
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "474": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        941,
        946
      ],
      "op": "PUSH1",
      "path": "23",
      "statement": 2,
      "value": "0x0"
    },
    "476": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        941,
        946
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "477": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        878,
        928
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "478": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        878,
        928
      ],
      "op": "SWAP2",
      "path": "23"
    },
    "479": {
      "op": "POP"
    },
    "480": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        934,
        1001
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x1F4"
    },
    "483": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        934,
        1001
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "484": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "486": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "488": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "490": {
      "op": "SHL"
    },
    "491": {
      "op": "SUB"
    },
    "492": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        941,
        946
      ],
      "op": "AND",
      "path": "23"
    },
    "493": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        965,
        975
      ],
      "op": "CALLER",
      "path": "23"
    },
    "494": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        985,
        989
      ],
      "op": "ADDRESS",
      "path": "23"
    },
    "495": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        878,
        928
      ],
      "op": "DUP5",
      "path": "23"
    },
    "496": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        934,
        964
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x383"
    },
    "499": {
      "fn": "MockCErc20_2.mint",
      "jump": "i",
      "offset": [
        934,
        1001
      ],
      "op": "JUMP",
      "path": "23"
    },
    "500": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        934,
        1001
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "501": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1021,
        1032
      ],
      "op": "PUSH1",
      "path": "23",
      "statement": 3,
      "value": "0x2"
    },
    "503": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1021,
        1032
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "504": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1021,
        1048
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x201"
    },
    "507": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1021,
        1048
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "508": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1037,
        1047
      ],
      "op": "DUP5",
      "path": "23"
    },
    "509": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1021,
        1036
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x3E3"
    },
    "512": {
      "fn": "MockCErc20_2.mint",
      "jump": "i",
      "offset": [
        1021,
        1048
      ],
      "op": "JUMP",
      "path": "23"
    },
    "513": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1021,
        1048
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "514": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1007,
        1018
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x2"
    },
    "516": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1007,
        1048
      ],
      "op": "SSTORE",
      "path": "23"
    },
    "517": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1088,
        1098
      ],
      "op": "CALLER",
      "path": "23",
      "statement": 4
    },
    "518": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "520": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "521": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "DUP2",
      "path": "23"
    },
    "522": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "523": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1087
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x3"
    },
    "525": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "527": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "528": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x40"
    },
    "530": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "531": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "KECCAK256",
      "path": "23"
    },
    "532": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1099
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "533": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1115
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x21E"
    },
    "536": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1115
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "537": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1104,
        1114
      ],
      "op": "DUP5",
      "path": "23"
    },
    "538": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1103
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x3E3"
    },
    "541": {
      "fn": "MockCErc20_2.mint",
      "jump": "i",
      "offset": [
        1078,
        1115
      ],
      "op": "JUMP",
      "path": "23"
    },
    "542": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1078,
        1115
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "543": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1064,
        1074
      ],
      "op": "CALLER",
      "path": "23"
    },
    "544": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "546": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "547": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "DUP2",
      "path": "23"
    },
    "548": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "549": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1063
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x3"
    },
    "551": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "553": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "554": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x40"
    },
    "556": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "DUP2",
      "path": "23"
    },
    "557": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "KECCAK256",
      "path": "23"
    },
    "558": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1115
      ],
      "op": "SWAP2",
      "path": "23"
    },
    "559": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1115
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "560": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1115
      ],
      "op": "SWAP2",
      "path": "23"
    },
    "561": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1115
      ],
      "op": "SSTORE",
      "path": "23"
    },
    "562": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        1054,
        1075
      ],
      "op": "SWAP4",
      "path": "23"
    },
    "563": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        808,
        1134
      ],
      "op": "SWAP3",
      "path": "23"
    },
    "564": {
      "op": "POP"
    },
    "565": {
      "op": "POP"
    },
    "566": {
      "op": "POP"
    },
    "567": {
      "fn": "MockCErc20_2.mint",
      "jump": "o",
      "offset": [
        808,
        1134
      ],
      "op": "JUMP",
      "path": "23"
    },
    "568": {
      "offset": [
        444,
        471
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "569": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        444,
        471
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x1"
    },
    "571": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        444,
        471
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "572": {
      "fn": "MockCErc20_2.mint",
      "offset": [
        444,
        471
      ],
      "op": "DUP2",
      "path": "23"
    },
    "573": {
      "fn": "MockCErc20_2.mint",
      "jump": "o",
      "offset": [
        444,
        471
      ],
      "op": "JUMP",
      "path": "23"
    },
    "574": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1138,
        1457
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "575": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1200,
        1204
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "577": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1212,
        1226
      ],
      "op": "DUP1",
      "path": "23"
    },
    "578": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1265
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x262"
    },
    "581": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1256,
        1264
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x1"
    },
    "583": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1256,
        1264
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "584": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1251
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x1D3"
    },
    "587": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1246,
        1250
      ],
      "op": "PUSH8",
      "path": "23",
      "value": "0xDE0B6B3A7640000"
    },
    "596": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1241
      ],
      "op": "DUP7",
      "path": "23"
    },
    "597": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1245
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x2BA"
    },
    "600": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1245
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "601": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1251
      ],
      "op": "SWAP2",
      "path": "23"
    },
    "602": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1251
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "603": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1251
      ],
      "op": "PUSH4",
      "path": "23",
      "value": "0xFFFFFFFF"
    },
    "608": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1251
      ],
      "op": "AND",
      "path": "23"
    },
    "609": {
      "fn": "MockCErc20_2.redeem",
      "jump": "i",
      "offset": [
        1229,
        1251
      ],
      "op": "JUMP",
      "path": "23"
    },
    "610": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1229,
        1265
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "611": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1278,
        1283
      ],
      "op": "PUSH1",
      "path": "23",
      "statement": 5,
      "value": "0x0"
    },
    "613": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1278,
        1283
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "614": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1212,
        1265
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "615": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1212,
        1265
      ],
      "op": "SWAP2",
      "path": "23"
    },
    "616": {
      "op": "POP"
    },
    "617": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1271,
        1320
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x27C"
    },
    "620": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1271,
        1320
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "621": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "623": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "625": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "627": {
      "op": "SHL"
    },
    "628": {
      "op": "SUB"
    },
    "629": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1278,
        1283
      ],
      "op": "AND",
      "path": "23"
    },
    "630": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1298,
        1308
      ],
      "op": "CALLER",
      "path": "23"
    },
    "631": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1212,
        1265
      ],
      "op": "DUP4",
      "path": "23"
    },
    "632": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1271,
        1297
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x43D"
    },
    "635": {
      "fn": "MockCErc20_2.redeem",
      "jump": "i",
      "offset": [
        1271,
        1320
      ],
      "op": "JUMP",
      "path": "23"
    },
    "636": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1271,
        1320
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "637": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1340,
        1351
      ],
      "op": "PUSH1",
      "path": "23",
      "statement": 6,
      "value": "0x2"
    },
    "639": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1340,
        1351
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "640": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1340,
        1369
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x289"
    },
    "643": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1340,
        1369
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "644": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1356,
        1368
      ],
      "op": "DUP5",
      "path": "23"
    },
    "645": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1340,
        1355
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x494"
    },
    "648": {
      "fn": "MockCErc20_2.redeem",
      "jump": "i",
      "offset": [
        1340,
        1369
      ],
      "op": "JUMP",
      "path": "23"
    },
    "649": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1340,
        1369
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "650": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1326,
        1337
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x2"
    },
    "652": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1326,
        1369
      ],
      "op": "SSTORE",
      "path": "23"
    },
    "653": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1409,
        1419
      ],
      "op": "CALLER",
      "path": "23",
      "statement": 7
    },
    "654": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "656": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "657": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "DUP2",
      "path": "23"
    },
    "658": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "659": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1408
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x3"
    },
    "661": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x20"
    },
    "663": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "MSTORE",
      "path": "23"
    },
    "664": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x40"
    },
    "666": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "667": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "KECCAK256",
      "path": "23"
    },
    "668": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1420
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "669": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1438
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x21E"
    },
    "672": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1438
      ],
      "op": "SWAP1",
      "path": "23"
    },
    "673": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1425,
        1437
      ],
      "op": "DUP5",
      "path": "23"
    },
    "674": {
      "fn": "MockCErc20_2.redeem",
      "offset": [
        1399,
        1424
      ],
      "op": "PUSH2",
      "path": "23",
      "value": "0x494"
    },
    "677": {
      "fn": "MockCErc20_2.redeem",
      "jump": "i",
      "offset": [
        1399,
        1438
      ],
      "op": "JUMP",
      "path": "23"
    },
    "678": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        624,
        710
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "679": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        685,
        693
      ],
      "op": "PUSH1",
      "path": "23",
      "statement": 8,
      "value": "0x1"
    },
    "681": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        685,
        705
      ],
      "op": "SSTORE",
      "path": "23"
    },
    "682": {
      "fn": "MockCErc20_2.setMintRate",
      "jump": "o",
      "offset": [
        624,
        710
      ],
      "op": "JUMP",
      "path": "23"
    },
    "683": {
      "offset": [
        421,
        440
      ],
      "op": "JUMPDEST",
      "path": "23"
    },
    "684": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        421,
        440
      ],
      "op": "PUSH1",
      "path": "23",
      "value": "0x0"
    },
    "686": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        421,
        440
      ],
      "op": "SLOAD",
      "path": "23"
    },
    "687": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "689": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "691": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "693": {
      "op": "SHL"
    },
    "694": {
      "op": "SUB"
    },
    "695": {
      "offset": [
        421,
        440
      ],
      "op": "AND",
      "path": "23"
    },
    "696": {
      "fn": "MockCErc20_2.setMintRate",
      "offset": [
        421,
        440
      ],
      "op": "DUP2",
      "path": "23"
    },
    "697": {
      "fn": "MockCErc20_2.setMintRate",
      "jump": "o",
      "offset": [
        421,
        440
      ],
      "op": "JUMP",
      "path": "23"
    },
    "698": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "699": {
      "fn": "SafeMath.mul",
      "offset": [
        3596,
        3603
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "701": {
      "branch": 33,
      "fn": "SafeMath.mul",
      "offset": [
        3619,
        3625
      ],
      "op": "DUP3",
      "path": "4"
    },
    "702": {
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x2C9"
    },
    "705": {
      "branch": 33,
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "706": {
      "op": "POP"
    },
    "707": {
      "fn": "SafeMath.mul",
      "offset": [
        3634,
        3635
      ],
      "op": "PUSH1",
      "path": "4",
      "statement": 9,
      "value": "0x0"
    },
    "709": {
      "fn": "SafeMath.mul",
      "offset": [
        3627,
        3635
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x316"
    },
    "712": {
      "fn": "SafeMath.mul",
      "offset": [
        3627,
        3635
      ],
      "op": "JUMP",
      "path": "4"
    },
    "713": {
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "714": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "715": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "716": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "MUL",
      "path": "4"
    },
    "717": {
      "fn": "SafeMath.mul",
      "offset": [
        3661,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "718": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3658
      ],
      "op": "DUP5",
      "path": "4"
    },
    "719": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "720": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3658
      ],
      "op": "DUP2",
      "path": "4"
    },
    "721": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "PUSH2",
      "path": "4",
      "statement": 10,
      "value": "0x2D6"
    },
    "724": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "725": {
      "dev": "Division by zero",
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "INVALID",
      "path": "4"
    },
    "726": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "727": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "DIV",
      "path": "4"
    },
    "728": {
      "branch": 34,
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3690
      ],
      "op": "EQ",
      "path": "4"
    },
    "729": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x313"
    },
    "732": {
      "branch": 34,
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "733": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "735": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "736": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "740": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "742": {
      "op": "SHL"
    },
    "743": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP2",
      "path": "4"
    },
    "744": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "745": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "747": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "748": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP1",
      "path": "4"
    },
    "749": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP1",
      "path": "4"
    },
    "750": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x20"
    },
    "752": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "753": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP3",
      "path": "4"
    },
    "754": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP2",
      "path": "4"
    },
    "755": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SUB",
      "path": "4"
    },
    "756": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP3",
      "path": "4"
    },
    "757": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "758": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x21"
    },
    "760": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP2",
      "path": "4"
    },
    "761": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "762": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x20"
    },
    "764": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "765": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP1",
      "path": "4"
    },
    "766": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x7E8"
    },
    "769": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x21"
    },
    "771": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "772": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "CODECOPY",
      "path": "4"
    },
    "773": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "775": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "776": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "777": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "POP",
      "path": "4"
    },
    "778": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "POP",
      "path": "4"
    },
    "779": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "781": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "782": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP1",
      "path": "4"
    },
    "783": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "784": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SUB",
      "path": "4"
    },
    "785": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "786": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "REVERT",
      "path": "4"
    },
    "787": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "788": {
      "fn": "SafeMath.mul",
      "offset": [
        3745,
        3746
      ],
      "op": "SWAP1",
      "path": "4",
      "statement": 11
    },
    "789": {
      "op": "POP"
    },
    "790": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "791": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "SWAP3",
      "path": "4"
    },
    "792": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "SWAP2",
      "path": "4"
    },
    "793": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "POP",
      "path": "4"
    },
    "794": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "POP",
      "path": "4"
    },
    "795": {
      "fn": "SafeMath.mul",
      "jump": "o",
      "offset": [
        3538,
        3753
      ],
      "op": "JUMP",
      "path": "4"
    },
    "796": {
      "fn": "SafeMath.div",
      "offset": [
        4217,
        4367
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "797": {
      "fn": "SafeMath.div",
      "offset": [
        4275,
        4282
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "799": {
      "fn": "SafeMath.div",
      "offset": [
        4306,
        4307
      ],
      "op": "DUP1",
      "path": "4",
      "statement": 12
    },
    "800": {
      "fn": "SafeMath.div",
      "offset": [
        4302,
        4303
      ],
      "op": "DUP3",
      "path": "4"
    },
    "801": {
      "branch": 35,
      "fn": "SafeMath.div",
      "offset": [
        4302,
        4307
      ],
      "op": "GT",
      "path": "4"
    },
    "802": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x372"
    },
    "805": {
      "branch": 35,
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "806": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "808": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP1",
      "path": "4"
    },
    "809": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "810": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "814": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "816": {
      "op": "SHL"
    },
    "817": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP2",
      "path": "4"
    },
    "818": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "819": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x20"
    },
    "821": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "823": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP3",
      "path": "4"
    },
    "824": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "825": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "826": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x1A"
    },
    "828": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x24"
    },
    "830": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP3",
      "path": "4"
    },
    "831": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "832": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "833": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH32",
      "path": "4",
      "value": "0x536166654D6174683A206469766973696F6E206279207A65726F000000000000"
    },
    "866": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x44"
    },
    "868": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP3",
      "path": "4"
    },
    "869": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "870": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "871": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "872": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "873": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "874": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP2",
      "path": "4"
    },
    "875": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "876": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SUB",
      "path": "4"
    },
    "877": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x64"
    },
    "879": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "880": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "881": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "REVERT",
      "path": "4"
    },
    "882": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "883": {
      "fn": "SafeMath.div",
      "offset": [
        4359,
        4360
      ],
      "op": "DUP2",
      "path": "4",
      "statement": 13
    },
    "884": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4356
      ],
      "op": "DUP4",
      "path": "4"
    },
    "885": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "DUP2",
      "path": "4"
    },
    "886": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x37B"
    },
    "889": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "890": {
      "dev": "Division by zero",
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "INVALID",
      "path": "4"
    },
    "891": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "892": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "DIV",
      "path": "4"
    },
    "893": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "SWAP4",
      "path": "4"
    },
    "894": {
      "fn": "SafeMath.div",
      "offset": [
        4217,
        4367
      ],
      "op": "SWAP3",
      "path": "4"
    },
    "895": {
      "op": "POP"
    },
    "896": {
      "op": "POP"
    },
    "897": {
      "op": "POP"
    },
    "898": {
      "fn": "SafeMath.div",
      "jump": "o",
      "offset": [
        4217,
        4367
      ],
      "op": "JUMP",
      "path": "4"
    },
    "899": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        885,
        1088
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "900": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "PUSH1",
      "path": "13",
      "statement": 14,
      "value": "0x40"
    },
    "902": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP1",
      "path": "13"
    },
    "903": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "904": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "906": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "908": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "910": {
      "op": "SHL"
    },
    "911": {
      "op": "SUB"
    },
    "912": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP1",
      "path": "13"
    },
    "913": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP7",
      "path": "13"
    },
    "914": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "AND",
      "path": "13"
    },
    "915": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x24"
    },
    "917": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP4",
      "path": "13"
    },
    "918": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "ADD",
      "path": "13"
    },
    "919": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "920": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP5",
      "path": "13"
    },
    "921": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "AND",
      "path": "13"
    },
    "922": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x44"
    },
    "924": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP3",
      "path": "13"
    },
    "925": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "ADD",
      "path": "13"
    },
    "926": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "927": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x64"
    },
    "929": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP1",
      "path": "13"
    },
    "930": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP3",
      "path": "13"
    },
    "931": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "ADD",
      "path": "13"
    },
    "932": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP5",
      "path": "13"
    },
    "933": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "934": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "935": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP3",
      "path": "13"
    },
    "936": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "937": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP1",
      "path": "13"
    },
    "938": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP4",
      "path": "13"
    },
    "939": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SUB",
      "path": "13"
    },
    "940": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "941": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "942": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "ADD",
      "path": "13"
    },
    "943": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP2",
      "path": "13"
    },
    "944": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "945": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x84"
    },
    "947": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "948": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "949": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "ADD",
      "path": "13"
    },
    "950": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "951": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "952": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "953": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "955": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP2",
      "path": "13"
    },
    "956": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "ADD",
      "path": "13"
    },
    "957": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "DUP1",
      "path": "13"
    },
    "958": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "959": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "961": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "963": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "965": {
      "op": "SHL"
    },
    "966": {
      "op": "SUB"
    },
    "967": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "AND",
      "path": "13"
    },
    "968": {
      "op": "PUSH4",
      "value": "0x23B872DD"
    },
    "973": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "975": {
      "op": "SHL"
    },
    "976": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "OR",
      "path": "13"
    },
    "977": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "978": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1012,
        1080
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "979": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        985,
        1081
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x3DD"
    },
    "982": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        985,
        1081
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "983": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1005,
        1010
      ],
      "op": "DUP6",
      "path": "13"
    },
    "984": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        1005,
        1010
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "985": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        985,
        1004
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x4F1"
    },
    "988": {
      "fn": "SafeERC20.safeTransferFrom",
      "jump": "i",
      "offset": [
        985,
        1081
      ],
      "op": "JUMP",
      "path": "13"
    },
    "989": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        985,
        1081
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "990": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        885,
        1088
      ],
      "op": "POP",
      "path": "13"
    },
    "991": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        885,
        1088
      ],
      "op": "POP",
      "path": "13"
    },
    "992": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        885,
        1088
      ],
      "op": "POP",
      "path": "13"
    },
    "993": {
      "fn": "SafeERC20.safeTransferFrom",
      "offset": [
        885,
        1088
      ],
      "op": "POP",
      "path": "13"
    },
    "994": {
      "fn": "SafeERC20.safeTransferFrom",
      "jump": "o",
      "offset": [
        885,
        1088
      ],
      "op": "JUMP",
      "path": "13"
    },
    "995": {
      "fn": "SafeMath.add",
      "offset": [
        2690,
        2865
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "996": {
      "fn": "SafeMath.add",
      "offset": [
        2748,
        2755
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "998": {
      "fn": "SafeMath.add",
      "offset": [
        2779,
        2784
      ],
      "op": "DUP3",
      "path": "4"
    },
    "999": {
      "fn": "SafeMath.add",
      "offset": [
        2779,
        2784
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1000": {
      "fn": "SafeMath.add",
      "offset": [
        2779,
        2784
      ],
      "op": "ADD",
      "path": "4"
    },
    "1001": {
      "fn": "SafeMath.add",
      "offset": [
        2802,
        2808
      ],
      "op": "DUP4",
      "path": "4",
      "statement": 15
    },
    "1002": {
      "fn": "SafeMath.add",
      "offset": [
        2802,
        2808
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1003": {
      "fn": "SafeMath.add",
      "offset": [
        2802,
        2808
      ],
      "op": "LT",
      "path": "4"
    },
    "1004": {
      "branch": 36,
      "fn": "SafeMath.add",
      "offset": [
        2802,
        2808
      ],
      "op": "ISZERO",
      "path": "4"
    },
    "1005": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x313"
    },
    "1008": {
      "branch": 36,
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1009": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "1011": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "DUP1",
      "path": "4"
    },
    "1012": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1013": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1017": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1019": {
      "op": "SHL"
    },
    "1020": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1021": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1022": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x20"
    },
    "1024": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "1026": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1027": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "ADD",
      "path": "4"
    },
    "1028": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1029": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x1B"
    },
    "1031": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x24"
    },
    "1033": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1034": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "ADD",
      "path": "4"
    },
    "1035": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1036": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH32",
      "path": "4",
      "value": "0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000"
    },
    "1069": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x44"
    },
    "1071": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1072": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "ADD",
      "path": "4"
    },
    "1073": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1074": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1075": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1076": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1077": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1078": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1079": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "SUB",
      "path": "4"
    },
    "1080": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x64"
    },
    "1082": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "ADD",
      "path": "4"
    },
    "1083": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1084": {
      "fn": "SafeMath.add",
      "offset": [
        2794,
        2840
      ],
      "op": "REVERT",
      "path": "4"
    },
    "1085": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        704,
        879
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1086": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "PUSH1",
      "path": "13",
      "statement": 16,
      "value": "0x40"
    },
    "1088": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1089": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1090": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1092": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1094": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1096": {
      "op": "SHL"
    },
    "1097": {
      "op": "SUB"
    },
    "1098": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1099": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "AND",
      "path": "13"
    },
    "1100": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x24"
    },
    "1102": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1103": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "ADD",
      "path": "13"
    },
    "1104": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1105": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x44"
    },
    "1107": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1108": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1109": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "ADD",
      "path": "13"
    },
    "1110": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1111": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1112": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1113": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1114": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1115": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1116": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP4",
      "path": "13"
    },
    "1117": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SUB",
      "path": "13"
    },
    "1118": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1119": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1120": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "ADD",
      "path": "13"
    },
    "1121": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1122": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1123": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x64"
    },
    "1125": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1126": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1127": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "ADD",
      "path": "13"
    },
    "1128": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1129": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1130": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1131": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1133": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1134": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "ADD",
      "path": "13"
    },
    "1135": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1136": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1137": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1139": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1141": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "1143": {
      "op": "SHL"
    },
    "1144": {
      "op": "SUB"
    },
    "1145": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "AND",
      "path": "13"
    },
    "1146": {
      "op": "PUSH4",
      "value": "0xA9059CBB"
    },
    "1151": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "1153": {
      "op": "SHL"
    },
    "1154": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "OR",
      "path": "13"
    },
    "1155": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1156": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        813,
        871
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1157": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        786,
        872
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x48F"
    },
    "1160": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        786,
        872
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1161": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        806,
        811
      ],
      "op": "DUP5",
      "path": "13"
    },
    "1162": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        806,
        811
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1163": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        786,
        805
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x4F1"
    },
    "1166": {
      "fn": "SafeERC20.safeTransfer",
      "jump": "i",
      "offset": [
        786,
        872
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1167": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        786,
        872
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1168": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        704,
        879
      ],
      "op": "POP",
      "path": "13"
    },
    "1169": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        704,
        879
      ],
      "op": "POP",
      "path": "13"
    },
    "1170": {
      "fn": "SafeERC20.safeTransfer",
      "offset": [
        704,
        879
      ],
      "op": "POP",
      "path": "13"
    },
    "1171": {
      "fn": "SafeERC20.safeTransfer",
      "jump": "o",
      "offset": [
        704,
        879
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1172": {
      "fn": "SafeMath.sub",
      "offset": [
        3136,
        3291
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1173": {
      "fn": "SafeMath.sub",
      "offset": [
        3194,
        3201
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "1175": {
      "fn": "SafeMath.sub",
      "offset": [
        3226,
        3227
      ],
      "op": "DUP3",
      "path": "4",
      "statement": 17
    },
    "1176": {
      "fn": "SafeMath.sub",
      "offset": [
        3221,
        3222
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1177": {
      "fn": "SafeMath.sub",
      "offset": [
        3221,
        3227
      ],
      "op": "GT",
      "path": "4"
    },
    "1178": {
      "branch": 37,
      "fn": "SafeMath.sub",
      "offset": [
        3221,
        3227
      ],
      "op": "ISZERO",
      "path": "4"
    },
    "1179": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x4EB"
    },
    "1182": {
      "branch": 37,
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "1183": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "1185": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "DUP1",
      "path": "4"
    },
    "1186": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1187": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1191": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1193": {
      "op": "SHL"
    },
    "1194": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1195": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1196": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x20"
    },
    "1198": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "1200": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1201": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "ADD",
      "path": "4"
    },
    "1202": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1203": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x1E"
    },
    "1205": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x24"
    },
    "1207": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1208": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "ADD",
      "path": "4"
    },
    "1209": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1210": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH32",
      "path": "4",
      "value": "0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000"
    },
    "1243": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x44"
    },
    "1245": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "DUP3",
      "path": "4"
    },
    "1246": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "ADD",
      "path": "4"
    },
    "1247": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "1248": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1249": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "1250": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1251": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "DUP2",
      "path": "4"
    },
    "1252": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1253": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "SUB",
      "path": "4"
    },
    "1254": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x64"
    },
    "1256": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "ADD",
      "path": "4"
    },
    "1257": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1258": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "REVERT",
      "path": "4"
    },
    "1259": {
      "fn": "SafeMath.sub",
      "offset": [
        3213,
        3262
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "1260": {
      "op": "POP"
    },
    "1261": {
      "fn": "SafeMath.sub",
      "offset": [
        3279,
        3284
      ],
      "op": "SWAP1",
      "path": "4",
      "statement": 18
    },
    "1262": {
      "fn": "SafeMath.sub",
      "offset": [
        3279,
        3284
      ],
      "op": "SUB",
      "path": "4"
    },
    "1263": {
      "fn": "SafeMath.sub",
      "offset": [
        3279,
        3284
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "1264": {
      "fn": "SafeMath.sub",
      "jump": "o",
      "offset": [
        3136,
        3291
      ],
      "op": "JUMP",
      "path": "4"
    },
    "1265": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        2967,
        3718
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1266": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3386,
        3409
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x60"
    },
    "1268": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x546"
    },
    "1271": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3440,
        3444
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1272": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1274": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1275": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1276": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1278": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "ADD",
      "path": "13"
    },
    "1279": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1281": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1282": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1283": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1285": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1286": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1287": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1289": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "ADD",
      "path": "13"
    },
    "1290": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "PUSH32",
      "path": "13",
      "value": "0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564"
    },
    "1323": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1324": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1325": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "POP",
      "path": "13"
    },
    "1326": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3420,
        3425
      ],
      "op": "DUP6",
      "path": "13"
    },
    "1327": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1329": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1331": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1333": {
      "op": "SHL"
    },
    "1334": {
      "op": "SUB"
    },
    "1335": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3439
      ],
      "op": "AND",
      "path": "13"
    },
    "1336": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3439
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x5A2"
    },
    "1339": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3439
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1340": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "SWAP3",
      "path": "13"
    },
    "1341": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1342": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1343": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "PUSH4",
      "path": "13",
      "value": "0xFFFFFFFF"
    },
    "1348": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "AND",
      "path": "13"
    },
    "1349": {
      "fn": "SafeERC20._callOptionalReturn",
      "jump": "i",
      "offset": [
        3412,
        3481
      ],
      "op": "JUMP",
      "path": "13"
    },
    "1350": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3412,
        3481
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1351": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3495,
        3512
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1352": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3495,
        3512
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1353": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3386,
        3481
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1354": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3386,
        3481
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1355": {
      "op": "POP"
    },
    "1356": {
      "branch": 31,
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3495,
        3516
      ],
      "op": "ISZERO",
      "path": "13"
    },
    "1357": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3491,
        3712
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x48F"
    },
    "1360": {
      "branch": 31,
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3491,
        3712
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1361": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3635,
        3645
      ],
      "op": "DUP1",
      "path": "13",
      "statement": 19
    },
    "1362": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1363": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1365": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "ADD",
      "path": "13"
    },
    "1366": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1367": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1368": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1370": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1371": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "LT",
      "path": "13"
    },
    "1372": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "ISZERO",
      "path": "13"
    },
    "1373": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x565"
    },
    "1376": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1377": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x0"
    },
    "1379": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1380": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "REVERT",
      "path": "13"
    },
    "1381": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "JUMPDEST",
      "path": "13"
    },
    "1382": {
      "op": "POP"
    },
    "1383": {
      "branch": 32,
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3624,
        3654
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1384": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x48F"
    },
    "1387": {
      "branch": 32,
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "JUMPI",
      "path": "13"
    },
    "1388": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1390": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1391": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1395": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1397": {
      "op": "SHL"
    },
    "1398": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1399": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1400": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x4"
    },
    "1402": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "ADD",
      "path": "13"
    },
    "1403": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1404": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1405": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1407": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "ADD",
      "path": "13"
    },
    "1408": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1409": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1410": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "SUB",
      "path": "13"
    },
    "1411": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP3",
      "path": "13"
    },
    "1412": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1413": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x2A"
    },
    "1415": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP2",
      "path": "13"
    },
    "1416": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "MSTORE",
      "path": "13"
    },
    "1417": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x20"
    },
    "1419": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "ADD",
      "path": "13"
    },
    "1420": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1421": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH2",
      "path": "13",
      "value": "0x809"
    },
    "1424": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x2A"
    },
    "1426": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1427": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "CODECOPY",
      "path": "13"
    },
    "1428": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1430": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "ADD",
      "path": "13"
    },
    "1431": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1432": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "POP",
      "path": "13"
    },
    "1433": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "POP",
      "path": "13"
    },
    "1434": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "PUSH1",
      "path": "13",
      "value": "0x40"
    },
    "1436": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "MLOAD",
      "path": "13"
    },
    "1437": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "DUP1",
      "path": "13"
    },
    "1438": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "SWAP2",
      "path": "13"
    },
    "1439": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "SUB",
      "path": "13"
    },
    "1440": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "SWAP1",
      "path": "13"
    },
    "1441": {
      "fn": "SafeERC20._callOptionalReturn",
      "offset": [
        3616,
        3701
      ],
      "op": "REVERT",
      "path": "13"
    },
    "1442": {
      "fn": "Address.functionCall",
      "offset": [
        3581,
        3774
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1443": {
      "fn": "Address.functionCall",
      "offset": [
        3684,
        3696
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x60"
    },
    "1445": {
      "fn": "Address.functionCall",
      "offset": [
        3715,
        3767
      ],
      "op": "PUSH2",
      "path": "14",
      "statement": 20,
      "value": "0x5B1"
    },
    "1448": {
      "fn": "Address.functionCall",
      "offset": [
        3737,
        3743
      ],
      "op": "DUP5",
      "path": "14"
    },
    "1449": {
      "fn": "Address.functionCall",
      "offset": [
        3745,
        3749
      ],
      "op": "DUP5",
      "path": "14"
    },
    "1450": {
      "fn": "Address.functionCall",
      "offset": [
        3751,
        3752
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x0"
    },
    "1452": {
      "fn": "Address.functionCall",
      "offset": [
        3754,
        3766
      ],
      "op": "DUP6",
      "path": "14"
    },
    "1453": {
      "fn": "Address.functionCall",
      "offset": [
        3715,
        3736
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x5BB"
    },
    "1456": {
      "fn": "Address.functionCall",
      "jump": "i",
      "offset": [
        3715,
        3767
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1457": {
      "fn": "Address.functionCall",
      "offset": [
        3715,
        3767
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1458": {
      "fn": "Address.functionCall",
      "offset": [
        3708,
        3767
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1459": {
      "fn": "Address.functionCall",
      "offset": [
        3708,
        3767
      ],
      "op": "POP",
      "path": "14"
    },
    "1460": {
      "fn": "Address.functionCall",
      "offset": [
        3581,
        3774
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1461": {
      "fn": "Address.functionCall",
      "offset": [
        3581,
        3774
      ],
      "op": "SWAP4",
      "path": "14"
    },
    "1462": {
      "fn": "Address.functionCall",
      "offset": [
        3581,
        3774
      ],
      "op": "SWAP3",
      "path": "14"
    },
    "1463": {
      "fn": "Address.functionCall",
      "offset": [
        3581,
        3774
      ],
      "op": "POP",
      "path": "14"
    },
    "1464": {
      "fn": "Address.functionCall",
      "offset": [
        3581,
        3774
      ],
      "op": "POP",
      "path": "14"
    },
    "1465": {
      "fn": "Address.functionCall",
      "offset": [
        3581,
        3774
      ],
      "op": "POP",
      "path": "14"
    },
    "1466": {
      "fn": "Address.functionCall",
      "jump": "o",
      "offset": [
        3581,
        3774
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1467": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4608,
        5131
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1468": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4735,
        4747
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x60"
    },
    "1470": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4792,
        4797
      ],
      "op": "DUP3",
      "path": "14",
      "statement": 21
    },
    "1471": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4767,
        4788
      ],
      "op": "SELFBALANCE",
      "path": "14"
    },
    "1472": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4767,
        4797
      ],
      "op": "LT",
      "path": "14"
    },
    "1473": {
      "branch": 27,
      "fn": "Address.functionCallWithValue",
      "offset": [
        4767,
        4797
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "1474": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x5FC"
    },
    "1477": {
      "branch": 27,
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "1478": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1480": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1481": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1485": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1487": {
      "op": "SHL"
    },
    "1488": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1489": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1490": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x4"
    },
    "1492": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "ADD",
      "path": "14"
    },
    "1493": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1494": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1495": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1497": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "ADD",
      "path": "14"
    },
    "1498": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1499": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1500": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "SUB",
      "path": "14"
    },
    "1501": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1502": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1503": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x26"
    },
    "1505": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1506": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1507": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1509": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "ADD",
      "path": "14"
    },
    "1510": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1511": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x7C2"
    },
    "1514": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x26"
    },
    "1516": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1517": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "CODECOPY",
      "path": "14"
    },
    "1518": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1520": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "ADD",
      "path": "14"
    },
    "1521": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1522": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "POP",
      "path": "14"
    },
    "1523": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "POP",
      "path": "14"
    },
    "1524": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1526": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1527": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1528": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1529": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "SUB",
      "path": "14"
    },
    "1530": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1531": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "REVERT",
      "path": "14"
    },
    "1532": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4759,
        4840
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1533": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4858,
        4876
      ],
      "op": "PUSH2",
      "path": "14",
      "statement": 22,
      "value": "0x605"
    },
    "1536": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4869,
        4875
      ],
      "op": "DUP6",
      "path": "14"
    },
    "1537": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4858,
        4868
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x717"
    },
    "1540": {
      "fn": "Address.functionCallWithValue",
      "jump": "i",
      "offset": [
        4858,
        4876
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1541": {
      "branch": 28,
      "fn": "Address.functionCallWithValue",
      "offset": [
        4858,
        4876
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1542": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x656"
    },
    "1545": {
      "branch": 28,
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "1546": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1548": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1549": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1550": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1554": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1556": {
      "op": "SHL"
    },
    "1557": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1558": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1559": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1561": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x4"
    },
    "1563": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1564": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "ADD",
      "path": "14"
    },
    "1565": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1566": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x1D"
    },
    "1568": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x24"
    },
    "1570": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1571": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "ADD",
      "path": "14"
    },
    "1572": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1573": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH32",
      "path": "14",
      "value": "0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000"
    },
    "1606": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x44"
    },
    "1608": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1609": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "ADD",
      "path": "14"
    },
    "1610": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1611": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1612": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1613": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1614": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1615": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1616": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "SUB",
      "path": "14"
    },
    "1617": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x64"
    },
    "1619": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "ADD",
      "path": "14"
    },
    "1620": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1621": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "REVERT",
      "path": "14"
    },
    "1622": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4850,
        4910
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1623": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4981,
        4993
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x0"
    },
    "1625": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4995,
        5018
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x60"
    },
    "1627": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5028
      ],
      "op": "DUP7",
      "path": "14"
    },
    "1628": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1630": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1632": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1634": {
      "op": "SHL"
    },
    "1635": {
      "op": "SUB"
    },
    "1636": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5033
      ],
      "op": "AND",
      "path": "14"
    },
    "1637": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5042,
        5047
      ],
      "op": "DUP6",
      "path": "14"
    },
    "1638": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5050,
        5054
      ],
      "op": "DUP8",
      "path": "14"
    },
    "1639": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1641": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1642": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1643": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1644": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1645": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1646": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1647": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1649": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "ADD",
      "path": "14"
    },
    "1650": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1651": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1652": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1653": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1654": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1655": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1657": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1658": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "LT",
      "path": "14"
    },
    "1659": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x695"
    },
    "1662": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "1663": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1664": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1665": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1666": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1667": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "1669": {
      "op": "NOT"
    },
    "1670": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1671": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP3",
      "path": "14"
    },
    "1672": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "ADD",
      "path": "14"
    },
    "1673": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1674": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1676": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1677": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1678": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "ADD",
      "path": "14"
    },
    "1679": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1680": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "ADD",
      "path": "14"
    },
    "1681": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x676"
    },
    "1684": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1685": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1686": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x1"
    },
    "1688": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1689": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1691": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SUB",
      "path": "14"
    },
    "1692": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x100"
    },
    "1695": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "EXP",
      "path": "14"
    },
    "1696": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SUB",
      "path": "14"
    },
    "1697": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1698": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "NOT",
      "path": "14"
    },
    "1699": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1700": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1701": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "AND",
      "path": "14"
    },
    "1702": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1703": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP5",
      "path": "14"
    },
    "1704": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1705": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "AND",
      "path": "14"
    },
    "1706": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1707": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1708": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "OR",
      "path": "14"
    },
    "1709": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP6",
      "path": "14"
    },
    "1710": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1711": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1712": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1713": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1714": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1715": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1716": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1717": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1718": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1719": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "ADD",
      "path": "14"
    },
    "1720": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1721": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1722": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1723": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x0"
    },
    "1725": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1727": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1728": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1729": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1730": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SUB",
      "path": "14"
    },
    "1731": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1732": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP6",
      "path": "14"
    },
    "1733": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP8",
      "path": "14"
    },
    "1734": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "GAS",
      "path": "14"
    },
    "1735": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "CALL",
      "path": "14"
    },
    "1736": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP3",
      "path": "14"
    },
    "1737": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1738": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1739": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1740": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "RETURNDATASIZE",
      "path": "14"
    },
    "1741": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1742": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x0"
    },
    "1744": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1745": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "EQ",
      "path": "14"
    },
    "1746": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x6F7"
    },
    "1749": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "1750": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1752": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1753": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1754": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1755": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x1F"
    },
    "1757": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "NOT",
      "path": "14"
    },
    "1758": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x3F"
    },
    "1760": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "RETURNDATASIZE",
      "path": "14"
    },
    "1761": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "ADD",
      "path": "14"
    },
    "1762": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "AND",
      "path": "14"
    },
    "1763": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1764": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "ADD",
      "path": "14"
    },
    "1765": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1767": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1768": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "RETURNDATASIZE",
      "path": "14"
    },
    "1769": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1770": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1771": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "RETURNDATASIZE",
      "path": "14"
    },
    "1772": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x0"
    },
    "1774": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1776": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "DUP5",
      "path": "14"
    },
    "1777": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "ADD",
      "path": "14"
    },
    "1778": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "RETURNDATACOPY",
      "path": "14"
    },
    "1779": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x6FC"
    },
    "1782": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1783": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1784": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x60"
    },
    "1786": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1787": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1788": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1789": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5022,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1790": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4980,
        5055
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1791": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4980,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1792": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4980,
        5055
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1793": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4980,
        5055
      ],
      "op": "POP",
      "path": "14"
    },
    "1794": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5072,
        5124
      ],
      "op": "PUSH2",
      "path": "14",
      "statement": 23,
      "value": "0x70C"
    },
    "1797": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5090,
        5097
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1798": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5099,
        5109
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1799": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5111,
        5123
      ],
      "op": "DUP7",
      "path": "14"
    },
    "1800": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5072,
        5089
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x71D"
    },
    "1803": {
      "fn": "Address.functionCallWithValue",
      "jump": "i",
      "offset": [
        5072,
        5124
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1804": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5072,
        5124
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1805": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        5065,
        5124
      ],
      "op": "SWAP8",
      "path": "14"
    },
    "1806": {
      "fn": "Address.functionCallWithValue",
      "offset": [
        4608,
        5131
      ],
      "op": "SWAP7",
      "path": "14"
    },
    "1807": {
      "op": "POP"
    },
    "1808": {
      "op": "POP"
    },
    "1809": {
      "op": "POP"
    },
    "1810": {
      "op": "POP"
    },
    "1811": {
      "op": "POP"
    },
    "1812": {
      "op": "POP"
    },
    "1813": {
      "op": "POP"
    },
    "1814": {
      "fn": "Address.functionCallWithValue",
      "jump": "o",
      "offset": [
        4608,
        5131
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1815": {
      "fn": "Address.isContract",
      "offset": [
        726,
        1139
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1816": {
      "fn": "Address.isContract",
      "offset": [
        1086,
        1106
      ],
      "op": "EXTCODESIZE",
      "path": "14"
    },
    "1817": {
      "fn": "Address.isContract",
      "offset": [
        1124,
        1132
      ],
      "op": "ISZERO",
      "path": "14",
      "statement": 24
    },
    "1818": {
      "fn": "Address.isContract",
      "offset": [
        1124,
        1132
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "1819": {
      "fn": "Address.isContract",
      "offset": [
        1124,
        1132
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1820": {
      "fn": "Address.isContract",
      "jump": "o",
      "offset": [
        726,
        1139
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1821": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7091,
        7816
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1822": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7206,
        7218
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x60"
    },
    "1824": {
      "branch": 29,
      "fn": "Address._verifyCallResult",
      "offset": [
        7234,
        7241
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1825": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7230,
        7810
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "1826": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7230,
        7810
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x72C"
    },
    "1829": {
      "branch": 29,
      "fn": "Address._verifyCallResult",
      "offset": [
        7230,
        7810
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "1830": {
      "op": "POP"
    },
    "1831": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7264,
        7274
      ],
      "op": "DUP2",
      "path": "14",
      "statement": 25
    },
    "1832": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7257,
        7274
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x5B4"
    },
    "1835": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7257,
        7274
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1836": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7230,
        7810
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1837": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7375,
        7392
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1838": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7375,
        7392
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1839": {
      "branch": 30,
      "fn": "Address._verifyCallResult",
      "offset": [
        7375,
        7396
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "1840": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7371,
        7800
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x73C"
    },
    "1843": {
      "branch": 30,
      "fn": "Address._verifyCallResult",
      "offset": [
        7371,
        7800
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "1844": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7633,
        7643
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1845": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7627,
        7644
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1846": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7693,
        7708
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1847": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7680,
        7690
      ],
      "op": "DUP5",
      "path": "14"
    },
    "1848": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7676,
        7678
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1850": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7672,
        7691
      ],
      "op": "ADD",
      "path": "14"
    },
    "1851": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7665,
        7709
      ],
      "op": "REVERT",
      "path": "14"
    },
    "1852": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7582,
        7727
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1853": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7772,
        7784
      ],
      "op": "DUP2",
      "path": "14",
      "statement": 26
    },
    "1854": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1856": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1857": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1861": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1863": {
      "op": "SHL"
    },
    "1864": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1865": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1866": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x4"
    },
    "1868": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1869": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1870": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1871": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1873": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1874": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1875": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1876": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SUB",
      "path": "14"
    },
    "1877": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1878": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1879": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1880": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1881": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1882": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1883": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1884": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1885": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1887": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1888": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1889": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1890": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1891": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1892": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1893": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1895": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1896": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1897": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1898": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1899": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1900": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x0"
    },
    "1902": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1903": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1904": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1905": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "LT",
      "path": "14"
    },
    "1906": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "1907": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x786"
    },
    "1910": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "1911": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1912": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1913": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1914": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1915": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1916": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1917": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1918": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1919": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1921": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1922": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x76E"
    },
    "1925": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "JUMP",
      "path": "14"
    },
    "1926": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1927": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1928": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1929": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1930": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1931": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1932": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1933": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1934": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1935": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1936": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1937": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x1F"
    },
    "1939": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "AND",
      "path": "14"
    },
    "1940": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1941": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "1942": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x7B3"
    },
    "1945": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "1946": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1947": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP3",
      "path": "14"
    },
    "1948": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SUB",
      "path": "14"
    },
    "1949": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1950": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1951": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x1"
    },
    "1953": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP4",
      "path": "14"
    },
    "1954": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1956": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SUB",
      "path": "14"
    },
    "1957": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x100"
    },
    "1960": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "EXP",
      "path": "14"
    },
    "1961": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SUB",
      "path": "14"
    },
    "1962": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "NOT",
      "path": "14"
    },
    "1963": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "AND",
      "path": "14"
    },
    "1964": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP2",
      "path": "14"
    },
    "1965": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "1966": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x20"
    },
    "1968": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "ADD",
      "path": "14"
    },
    "1969": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1970": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1971": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "1972": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1973": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP3",
      "path": "14"
    },
    "1974": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1975": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1976": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "POP",
      "path": "14"
    },
    "1977": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "1979": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "1980": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "DUP1",
      "path": "14"
    },
    "1981": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "1982": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SUB",
      "path": "14"
    },
    "1983": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "1984": {
      "fn": "Address._verifyCallResult",
      "offset": [
        7765,
        7785
      ],
      "op": "REVERT",
      "path": "14"
    }
  },
  "sha1": "0ad4477a971409b9c074779c6e612f2835c2c10a",
  "source": "pragma solidity 0.6.12;\n\n// import 'OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC20/IERC20.sol';\nimport 'OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC20/SafeERC20.sol';\nimport 'OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol';\n\nimport '../../interfaces/ICErc20_2.sol';\n\ncontract MockCErc20_2 is ICErc20_2 {\n  using SafeMath for uint;\n  using SafeERC20 for IERC20;\n\n  IERC20 public token;\n  uint public mintRate = 1e18;\n  uint public totalSupply = 0;\n  mapping(address => uint) public override balanceOf;\n\n  constructor(IERC20 _token) public {\n    token = _token;\n  }\n\n  function setMintRate(uint _mintRate) external override {\n    mintRate = _mintRate;\n  }\n\n  function underlying() external override returns (address) {\n    return address(token);\n  }\n\n  function mint(uint mintAmount) external override returns (uint) {\n    uint amountIn = mintAmount.mul(mintRate).div(1e18);\n    IERC20(token).safeTransferFrom(msg.sender, address(this), amountIn);\n    totalSupply = totalSupply.add(mintAmount);\n    balanceOf[msg.sender] = balanceOf[msg.sender].add(mintAmount);\n    return 0;\n  }\n\n  function redeem(uint redeemAmount) external override returns (uint) {\n    uint amountOut = redeemAmount.mul(1e18).div(mintRate);\n    IERC20(token).safeTransfer(msg.sender, amountOut);\n    totalSupply = totalSupply.sub(redeemAmount);\n    balanceOf[msg.sender] = balanceOf[msg.sender].sub(redeemAmount);\n    return 0;\n  }\n\n  // Modified Added function\n  function decimals() external returns (uint8) {\n    return 8;\n  }\n}\n",
  "sourceMap": "324:1232:23:-:0;;;467:4;444:27;;501:1;475:27;;561:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;561:59:23;601:5;:14;;-1:-1:-1;;;;;601:14:23;;;-1:-1:-1;;;;;;601:14:23;;;;;;;;;324:1232;;;;;;",
  "sourcePath": "contracts/mock/MockCErc20_2.sol",
  "type": "contract"
}