{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IBaseOracle",
          "name": "_source",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "governor",
          "type": "address"
        }
      ],
      "name": "AcceptGovernor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "governor",
          "type": "address"
        }
      ],
      "name": "SetGovernor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "pendingGovernor",
          "type": "address"
        }
      ],
      "name": "SetPendingGovernor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "borrowFactor",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "collateralFactor",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "liqIncentive",
              "type": "uint16"
            }
          ],
          "indexed": false,
          "internalType": "struct ProxyOracle.TokenFactors",
          "name": "tokenFactor",
          "type": "tuple"
        }
      ],
      "name": "SetTokenFactor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "ok",
          "type": "bool"
        }
      ],
      "name": "SetWhitelist",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "token",
          "type": "address"
        }
      ],
      "name": "UnsetTokenFactor",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "acceptGovernor",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "asETHBorrow",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "asETHCollateral",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenIn",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenOut",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenOutId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        }
      ],
      "name": "convertForLiquidation",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "governor",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingGovernor",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_pendingGovernor",
          "type": "address"
        }
      ],
      "name": "setPendingGovernor",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "tokens",
          "type": "address[]"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "borrowFactor",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "collateralFactor",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "liqIncentive",
              "type": "uint16"
            }
          ],
          "internalType": "struct ProxyOracle.TokenFactors[]",
          "name": "_tokenFactors",
          "type": "tuple[]"
        }
      ],
      "name": "setTokenFactors",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "tokens",
          "type": "address[]"
        },
        {
          "internalType": "bool",
          "name": "ok",
          "type": "bool"
        }
      ],
      "name": "setWhitelistERC1155",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "source",
      "outputs": [
        {
          "internalType": "contract IBaseOracle",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        }
      ],
      "name": "support",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "supportWrappedToken",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "tokenFactors",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "borrowFactor",
          "type": "uint16"
        },
        {
          "internalType": "uint16",
          "name": "collateralFactor",
          "type": "uint16"
        },
        {
          "internalType": "uint16",
          "name": "liqIncentive",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "tokens",
          "type": "address[]"
        }
      ],
      "name": "unsetTokenFactors",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "whitelistERC1155",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "14": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol",
    "17": "contracts/Governable.sol",
    "36": "contracts/oracle/ProxyOracle.sol",
    "4": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol",
    "5": "/Users/sagarbehara/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/proxy/Initializable.sol",
    "58": "interfaces/IBaseOracle.sol",
    "63": "interfaces/IERC20Wrapper.sol",
    "67": "interfaces/IOracle.sol"
  },
  "ast": {
    "absolutePath": "contracts/oracle/ProxyOracle.sol",
    "exportedSymbols": {
      "ProxyOracle": [
        13945
      ]
    },
    "id": 13946,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 13378,
        "literals": [
          "solidity",
          "0.6",
          ".12"
        ],
        "nodeType": "PragmaDirective",
        "src": "33:23:36"
      },
      {
        "id": 13379,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "57:33:36"
      },
      {
        "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": 13380,
        "nodeType": "ImportDirective",
        "scope": 13946,
        "sourceUnit": 23725,
        "src": "92:79:36",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/Governable.sol",
        "file": "../Governable.sol",
        "id": 13381,
        "nodeType": "ImportDirective",
        "scope": 13946,
        "sourceUnit": 109,
        "src": "173:27:36",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IOracle.sol",
        "file": "../../interfaces/IOracle.sol",
        "id": 13382,
        "nodeType": "ImportDirective",
        "scope": 13946,
        "sourceUnit": 24515,
        "src": "201:38:36",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IBaseOracle.sol",
        "file": "../../interfaces/IBaseOracle.sol",
        "id": 13383,
        "nodeType": "ImportDirective",
        "scope": 13946,
        "sourceUnit": 25210,
        "src": "240:42:36",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IERC20Wrapper.sol",
        "file": "../../interfaces/IERC20Wrapper.sol",
        "id": 13384,
        "nodeType": "ImportDirective",
        "scope": 13946,
        "sourceUnit": 25812,
        "src": "283:44:36",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 13385,
              "name": "IOracle",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 24514,
              "src": "353:7:36",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IOracle_$24514",
                "typeString": "contract IOracle"
              }
            },
            "id": 13386,
            "nodeType": "InheritanceSpecifier",
            "src": "353:7:36"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 13387,
              "name": "Governable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 108,
              "src": "362:10:36",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Governable_$108",
                "typeString": "contract Governable"
              }
            },
            "id": 13388,
            "nodeType": "InheritanceSpecifier",
            "src": "362:10:36"
          }
        ],
        "contractDependencies": [
          108,
          23296,
          24514
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 13945,
        "linearizedBaseContracts": [
          13945,
          108,
          23296,
          24514
        ],
        "name": "ProxyOracle",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 13391,
            "libraryName": {
              "contractScope": null,
              "id": 13389,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 23724,
              "src": "383:8:36",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$23724",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "377:24:36",
            "typeName": {
              "id": 13390,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "396:4:36",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "anonymous": false,
            "documentation": {
              "id": 13392,
              "nodeType": "StructuredDocumentation",
              "src": "405:54:36",
              "text": "The governor sets oracle token factor for a token."
            },
            "id": 13398,
            "name": "SetTokenFactor",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13397,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13394,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13398,
                  "src": "483:21:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13393,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "483:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13396,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "tokenFactor",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13398,
                  "src": "506:24:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                    "typeString": "struct ProxyOracle.TokenFactors"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 13395,
                    "name": "TokenFactors",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 13417,
                    "src": "506:12:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TokenFactors_$13417_storage_ptr",
                      "typeString": "struct ProxyOracle.TokenFactors"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "482:49:36"
            },
            "src": "462:70:36"
          },
          {
            "anonymous": false,
            "documentation": {
              "id": 13399,
              "nodeType": "StructuredDocumentation",
              "src": "535:56:36",
              "text": "The governor unsets oracle token factor for a token."
            },
            "id": 13403,
            "name": "UnsetTokenFactor",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13402,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13401,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13403,
                  "src": "617:21:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13400,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "617:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "616:23:36"
            },
            "src": "594:46:36"
          },
          {
            "anonymous": false,
            "documentation": {
              "id": 13404,
              "nodeType": "StructuredDocumentation",
              "src": "643:59:36",
              "text": "The governor sets token whitelist for an ERC1155 token."
            },
            "id": 13410,
            "name": "SetWhitelist",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13409,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13406,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13410,
                  "src": "724:21:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13405,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "724:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13408,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "ok",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13410,
                  "src": "747:7:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 13407,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "747:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "723:32:36"
            },
            "src": "705:51:36"
          },
          {
            "canonicalName": "ProxyOracle.TokenFactors",
            "id": 13417,
            "members": [
              {
                "constant": false,
                "id": 13412,
                "mutability": "mutable",
                "name": "borrowFactor",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 13417,
                "src": "786:19:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint16",
                  "typeString": "uint16"
                },
                "typeName": {
                  "id": 13411,
                  "name": "uint16",
                  "nodeType": "ElementaryTypeName",
                  "src": "786:6:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13414,
                "mutability": "mutable",
                "name": "collateralFactor",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 13417,
                "src": "867:23:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint16",
                  "typeString": "uint16"
                },
                "typeName": {
                  "id": 13413,
                  "name": "uint16",
                  "nodeType": "ElementaryTypeName",
                  "src": "867:6:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13416,
                "mutability": "mutable",
                "name": "liqIncentive",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 13417,
                "src": "956:19:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint16",
                  "typeString": "uint16"
                },
                "typeName": {
                  "id": 13415,
                  "name": "uint16",
                  "nodeType": "ElementaryTypeName",
                  "src": "956:6:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "TokenFactors",
            "nodeType": "StructDefinition",
            "scope": 13945,
            "src": "760:269:36",
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "67e828bf",
            "id": 13419,
            "mutability": "immutable",
            "name": "source",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 13945,
            "src": "1033:35:36",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IBaseOracle_$25209",
              "typeString": "contract IBaseOracle"
            },
            "typeName": {
              "contractScope": null,
              "id": 13418,
              "name": "IBaseOracle",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 25209,
              "src": "1033:11:36",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                "typeString": "contract IBaseOracle"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "7b3b022d",
            "id": 13423,
            "mutability": "mutable",
            "name": "tokenFactors",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 13945,
            "src": "1094:52:36",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
              "typeString": "mapping(address => struct ProxyOracle.TokenFactors)"
            },
            "typeName": {
              "id": 13422,
              "keyType": {
                "id": 13420,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1102:7:36",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1094:32:36",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                "typeString": "mapping(address => struct ProxyOracle.TokenFactors)"
              },
              "valueType": {
                "contractScope": null,
                "id": 13421,
                "name": "TokenFactors",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 13417,
                "src": "1113:12:36",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_TokenFactors_$13417_storage_ptr",
                  "typeString": "struct ProxyOracle.TokenFactors"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "functionSelector": "495621fb",
            "id": 13427,
            "mutability": "mutable",
            "name": "whitelistERC1155",
            "nodeType": "VariableDeclaration",
            "overrides": null,
            "scope": 13945,
            "src": "1196:48:36",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 13426,
              "keyType": {
                "id": 13424,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1204:7:36",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1196:24:36",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 13425,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "1215:4:36",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 13440,
              "nodeType": "Block",
              "src": "1405:53:36",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 13435,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 13433,
                      "name": "source",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13419,
                      "src": "1411:6:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                        "typeString": "contract IBaseOracle"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 13434,
                      "name": "_source",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13430,
                      "src": "1420:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                        "typeString": "contract IBaseOracle"
                      }
                    },
                    "src": "1411:16:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                      "typeString": "contract IBaseOracle"
                    }
                  },
                  "id": 13436,
                  "nodeType": "ExpressionStatement",
                  "src": "1411:16:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 13437,
                      "name": "__Governable__init",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 60,
                      "src": "1433:18:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 13438,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1433:20:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13439,
                  "nodeType": "ExpressionStatement",
                  "src": "1433:20:36"
                }
              ]
            },
            "documentation": {
              "id": 13428,
              "nodeType": "StructuredDocumentation",
              "src": "1299:63:36",
              "text": "@dev Create the contract and initialize the first governor."
            },
            "id": 13441,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 13431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13430,
                  "mutability": "mutable",
                  "name": "_source",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13441,
                  "src": "1377:19:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                    "typeString": "contract IBaseOracle"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 13429,
                    "name": "IBaseOracle",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 25209,
                    "src": "1377:11:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                      "typeString": "contract IBaseOracle"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1376:21:36"
            },
            "returnParameters": {
              "id": 13432,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1405:0:36"
            },
            "scope": 13945,
            "src": "1365:93:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 13534,
              "nodeType": "Block",
              "src": "1754:659:36",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 13458,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 13454,
                            "name": "tokens",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13445,
                            "src": "1768:6:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                              "typeString": "address[] memory"
                            }
                          },
                          "id": 13455,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1768:13:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 13456,
                            "name": "_tokenFactors",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13448,
                            "src": "1785:13:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_memory_ptr_$dyn_memory_ptr",
                              "typeString": "struct ProxyOracle.TokenFactors memory[] memory"
                            }
                          },
                          "id": 13457,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1785:20:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "1768:37:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "696e636f6e73697374656e74206c656e677468",
                        "id": 13459,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1807:21:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e39bb8790077c3776fc27d43a4a6ec16cc20ec68b47f9e789badccd37562c187",
                          "typeString": "literal_string \"inconsistent length\""
                        },
                        "value": "inconsistent length"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e39bb8790077c3776fc27d43a4a6ec16cc20ec68b47f9e789badccd37562c187",
                          "typeString": "literal_string \"inconsistent length\""
                        }
                      ],
                      "id": 13453,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1760:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13460,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1760:69:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13461,
                  "nodeType": "ExpressionStatement",
                  "src": "1760:69:36"
                },
                {
                  "body": {
                    "id": 13532,
                    "nodeType": "Block",
                    "src": "1882:527:36",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              },
                              "id": 13479,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 13474,
                                    "name": "_tokenFactors",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13448,
                                    "src": "1898:13:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct ProxyOracle.TokenFactors memory[] memory"
                                    }
                                  },
                                  "id": 13476,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 13475,
                                    "name": "idx",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13463,
                                    "src": "1912:3:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "1898:18:36",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                    "typeString": "struct ProxyOracle.TokenFactors memory"
                                  }
                                },
                                "id": 13477,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "borrowFactor",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 13412,
                                "src": "1898:31:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "3130303030",
                                "id": 13478,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1933:5:36",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_10000_by_1",
                                  "typeString": "int_const 10000"
                                },
                                "value": "10000"
                              },
                              "src": "1898:40:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "626f72726f7720666163746f72206d757374206265206174206c656173742031303025",
                              "id": 13480,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1940:37:36",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c4a560591d37543c98e42ed0066a451561692168e369bd9837c639b76692d844",
                                "typeString": "literal_string \"borrow factor must be at least 100%\""
                              },
                              "value": "borrow factor must be at least 100%"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_c4a560591d37543c98e42ed0066a451561692168e369bd9837c639b76692d844",
                                "typeString": "literal_string \"borrow factor must be at least 100%\""
                              }
                            ],
                            "id": 13473,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              -18,
                              -18
                            ],
                            "referencedDeclaration": -18,
                            "src": "1890:7:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 13481,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1890:88:36",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13482,
                        "nodeType": "ExpressionStatement",
                        "src": "1890:88:36"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              },
                              "id": 13489,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 13484,
                                    "name": "_tokenFactors",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13448,
                                    "src": "2003:13:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct ProxyOracle.TokenFactors memory[] memory"
                                    }
                                  },
                                  "id": 13486,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 13485,
                                    "name": "idx",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13463,
                                    "src": "2017:3:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "2003:18:36",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                    "typeString": "struct ProxyOracle.TokenFactors memory"
                                  }
                                },
                                "id": 13487,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "collateralFactor",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 13414,
                                "src": "2003:35:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "3130303030",
                                "id": 13488,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2042:5:36",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_10000_by_1",
                                  "typeString": "int_const 10000"
                                },
                                "value": "10000"
                              },
                              "src": "2003:44:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "636f6c6c61746572616c20666163746f72206d757374206265206174206d6f73742031303025",
                              "id": 13490,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2057:40:36",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_9da46c231b76c99f237c2626b5984adbbe412bfa07b5c2bfd1de5a55456e2138",
                                "typeString": "literal_string \"collateral factor must be at most 100%\""
                              },
                              "value": "collateral factor must be at most 100%"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_9da46c231b76c99f237c2626b5984adbbe412bfa07b5c2bfd1de5a55456e2138",
                                "typeString": "literal_string \"collateral factor must be at most 100%\""
                              }
                            ],
                            "id": 13483,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              -18,
                              -18
                            ],
                            "referencedDeclaration": -18,
                            "src": "1986:7:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 13491,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1986:119:36",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13492,
                        "nodeType": "ExpressionStatement",
                        "src": "1986:119:36"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              },
                              "id": 13499,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 13494,
                                    "name": "_tokenFactors",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13448,
                                    "src": "2121:13:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct ProxyOracle.TokenFactors memory[] memory"
                                    }
                                  },
                                  "id": 13496,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 13495,
                                    "name": "idx",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13463,
                                    "src": "2135:3:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "2121:18:36",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                    "typeString": "struct ProxyOracle.TokenFactors memory"
                                  }
                                },
                                "id": 13497,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "liqIncentive",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 13416,
                                "src": "2121:31:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "3130303030",
                                "id": 13498,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2156:5:36",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_10000_by_1",
                                  "typeString": "int_const 10000"
                                },
                                "value": "10000"
                              },
                              "src": "2121:40:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "696e63656e74697665206d757374206265206174206c656173742031303025",
                              "id": 13500,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2163:33:36",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c02605ed4440592dbd6517e833fe1682959d5df0ee58e75ca366aa64b8d4d5ab",
                                "typeString": "literal_string \"incentive must be at least 100%\""
                              },
                              "value": "incentive must be at least 100%"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_c02605ed4440592dbd6517e833fe1682959d5df0ee58e75ca366aa64b8d4d5ab",
                                "typeString": "literal_string \"incentive must be at least 100%\""
                              }
                            ],
                            "id": 13493,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              -18,
                              -18
                            ],
                            "referencedDeclaration": -18,
                            "src": "2113:7:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 13501,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2113:84:36",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13502,
                        "nodeType": "ExpressionStatement",
                        "src": "2113:84:36"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint16",
                                "typeString": "uint16"
                              },
                              "id": 13509,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 13504,
                                    "name": "_tokenFactors",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13448,
                                    "src": "2213:13:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct ProxyOracle.TokenFactors memory[] memory"
                                    }
                                  },
                                  "id": 13506,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 13505,
                                    "name": "idx",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13463,
                                    "src": "2227:3:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "2213:18:36",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                    "typeString": "struct ProxyOracle.TokenFactors memory"
                                  }
                                },
                                "id": 13507,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "liqIncentive",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 13416,
                                "src": "2213:31:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "3230303030",
                                "id": 13508,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2248:5:36",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_20000_by_1",
                                  "typeString": "int_const 20000"
                                },
                                "value": "20000"
                              },
                              "src": "2213:40:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "696e63656e74697665206d757374206265206174206d6f73742032303025",
                              "id": 13510,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2255:32:36",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_eb55b280205da15adb479446533f98939aef4d7595dab8838b03879712a15405",
                                "typeString": "literal_string \"incentive must be at most 200%\""
                              },
                              "value": "incentive must be at most 200%"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_eb55b280205da15adb479446533f98939aef4d7595dab8838b03879712a15405",
                                "typeString": "literal_string \"incentive must be at most 200%\""
                              }
                            ],
                            "id": 13503,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              -18,
                              -18
                            ],
                            "referencedDeclaration": -18,
                            "src": "2205:7:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 13511,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2205:83:36",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13512,
                        "nodeType": "ExpressionStatement",
                        "src": "2205:83:36"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 13521,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 13513,
                              "name": "tokenFactors",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13423,
                              "src": "2296:12:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                                "typeString": "mapping(address => struct ProxyOracle.TokenFactors storage ref)"
                              }
                            },
                            "id": 13517,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 13514,
                                "name": "tokens",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13445,
                                "src": "2309:6:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 13516,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 13515,
                                "name": "idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13463,
                                "src": "2316:3:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2309:11:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2296:25:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                              "typeString": "struct ProxyOracle.TokenFactors storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 13518,
                              "name": "_tokenFactors",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13448,
                              "src": "2324:13:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct ProxyOracle.TokenFactors memory[] memory"
                              }
                            },
                            "id": 13520,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 13519,
                              "name": "idx",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13463,
                              "src": "2338:3:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2324:18:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                              "typeString": "struct ProxyOracle.TokenFactors memory"
                            }
                          },
                          "src": "2296:46:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                            "typeString": "struct ProxyOracle.TokenFactors storage ref"
                          }
                        },
                        "id": 13522,
                        "nodeType": "ExpressionStatement",
                        "src": "2296:46:36"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 13524,
                                "name": "tokens",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13445,
                                "src": "2370:6:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 13526,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 13525,
                                "name": "idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13463,
                                "src": "2377:3:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2370:11:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 13527,
                                "name": "_tokenFactors",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13448,
                                "src": "2383:13:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct ProxyOracle.TokenFactors memory[] memory"
                                }
                              },
                              "id": 13529,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 13528,
                                "name": "idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13463,
                                "src": "2397:3:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2383:18:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                "typeString": "struct ProxyOracle.TokenFactors memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                "typeString": "struct ProxyOracle.TokenFactors memory"
                              }
                            ],
                            "id": 13523,
                            "name": "SetTokenFactor",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13398,
                            "src": "2355:14:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_struct$_TokenFactors_$13417_memory_ptr_$returns$__$",
                              "typeString": "function (address,struct ProxyOracle.TokenFactors memory)"
                            }
                          },
                          "id": 13530,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2355:47:36",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13531,
                        "nodeType": "EmitStatement",
                        "src": "2350:52:36"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 13469,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 13466,
                      "name": "idx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13463,
                      "src": "1854:3:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 13467,
                        "name": "tokens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13445,
                        "src": "1860:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 13468,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "1860:13:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1854:19:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 13533,
                  "initializationExpression": {
                    "assignments": [
                      13463
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 13463,
                        "mutability": "mutable",
                        "name": "idx",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 13533,
                        "src": "1840:8:36",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 13462,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "1840:4:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 13465,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 13464,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1851:1:36",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "1840:12:36"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 13471,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "1875:5:36",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 13470,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13463,
                        "src": "1875:3:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 13472,
                    "nodeType": "ExpressionStatement",
                    "src": "1875:5:36"
                  },
                  "nodeType": "ForStatement",
                  "src": "1835:574:36"
                }
              ]
            },
            "documentation": {
              "id": 13442,
              "nodeType": "StructuredDocumentation",
              "src": "1462:175:36",
              "text": "@dev Set oracle token factors for the given list of token addresses.\n @param tokens List of tokens to set info\n @param _tokenFactors List of oracle token factors"
            },
            "functionSelector": "e7a9883e",
            "id": 13535,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 13451,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 13450,
                  "name": "onlyGov",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 36,
                  "src": "1744:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1744:7:36"
              }
            ],
            "name": "setTokenFactors",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 13449,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13445,
                  "mutability": "mutable",
                  "name": "tokens",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13535,
                  "src": "1665:23:36",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 13443,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1665:7:36",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 13444,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1665:9:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13448,
                  "mutability": "mutable",
                  "name": "_tokenFactors",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13535,
                  "src": "1690:35:36",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct ProxyOracle.TokenFactors[]"
                  },
                  "typeName": {
                    "baseType": {
                      "contractScope": null,
                      "id": 13446,
                      "name": "TokenFactors",
                      "nodeType": "UserDefinedTypeName",
                      "referencedDeclaration": 13417,
                      "src": "1690:12:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TokenFactors_$13417_storage_ptr",
                        "typeString": "struct ProxyOracle.TokenFactors"
                      }
                    },
                    "id": 13447,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1690:14:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_TokenFactors_$13417_storage_$dyn_storage_ptr",
                      "typeString": "struct ProxyOracle.TokenFactors[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1664:62:36"
            },
            "returnParameters": {
              "id": 13452,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1754:0:36"
            },
            "scope": 13945,
            "src": "1640:773:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 13570,
              "nodeType": "Block",
              "src": "2604:146:36",
              "statements": [
                {
                  "body": {
                    "id": 13568,
                    "nodeType": "Block",
                    "src": "2657:89:36",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 13560,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "delete",
                          "prefix": true,
                          "src": "2665:32:36",
                          "subExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 13555,
                              "name": "tokenFactors",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13423,
                              "src": "2672:12:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                                "typeString": "mapping(address => struct ProxyOracle.TokenFactors storage ref)"
                              }
                            },
                            "id": 13559,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 13556,
                                "name": "tokens",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13539,
                                "src": "2685:6:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 13558,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 13557,
                                "name": "idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13545,
                                "src": "2692:3:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2685:11:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2672:25:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                              "typeString": "struct ProxyOracle.TokenFactors storage ref"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13561,
                        "nodeType": "ExpressionStatement",
                        "src": "2665:32:36"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 13563,
                                "name": "tokens",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13539,
                                "src": "2727:6:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 13565,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 13564,
                                "name": "idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13545,
                                "src": "2734:3:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2727:11:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 13562,
                            "name": "UnsetTokenFactor",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13403,
                            "src": "2710:16:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
                              "typeString": "function (address)"
                            }
                          },
                          "id": 13566,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2710:29:36",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13567,
                        "nodeType": "EmitStatement",
                        "src": "2705:34:36"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 13551,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 13548,
                      "name": "idx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13545,
                      "src": "2629:3:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 13549,
                        "name": "tokens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13539,
                        "src": "2635:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 13550,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "2635:13:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2629:19:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 13569,
                  "initializationExpression": {
                    "assignments": [
                      13545
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 13545,
                        "mutability": "mutable",
                        "name": "idx",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 13569,
                        "src": "2615:8:36",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 13544,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "2615:4:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 13547,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 13546,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2626:1:36",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "2615:12:36"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 13553,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "2650:5:36",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 13552,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13545,
                        "src": "2650:3:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 13554,
                    "nodeType": "ExpressionStatement",
                    "src": "2650:5:36"
                  },
                  "nodeType": "ForStatement",
                  "src": "2610:136:36"
                }
              ]
            },
            "documentation": {
              "id": 13536,
              "nodeType": "StructuredDocumentation",
              "src": "2417:115:36",
              "text": "@dev Unset token factors for the given list of token addresses\n @param tokens List of tokens to unset info"
            },
            "functionSelector": "6437388a",
            "id": 13571,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 13542,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 13541,
                  "name": "onlyGov",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 36,
                  "src": "2596:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2596:7:36"
              }
            ],
            "name": "unsetTokenFactors",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 13540,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13539,
                  "mutability": "mutable",
                  "name": "tokens",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13571,
                  "src": "2562:23:36",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 13537,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "2562:7:36",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 13538,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "2562:9:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2561:25:36"
            },
            "returnParameters": {
              "id": 13543,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2604:0:36"
            },
            "scope": 13945,
            "src": "2535:215:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 13610,
              "nodeType": "Block",
              "src": "2997:148:36",
              "statements": [
                {
                  "body": {
                    "id": 13608,
                    "nodeType": "Block",
                    "src": "3050:91:36",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 13599,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 13593,
                              "name": "whitelistERC1155",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13427,
                              "src": "3058:16:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                                "typeString": "mapping(address => bool)"
                              }
                            },
                            "id": 13597,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 13594,
                                "name": "tokens",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13575,
                                "src": "3075:6:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 13596,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 13595,
                                "name": "idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13583,
                                "src": "3082:3:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "3075:11:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3058:29:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 13598,
                            "name": "ok",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13577,
                            "src": "3090:2:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "3058:34:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 13600,
                        "nodeType": "ExpressionStatement",
                        "src": "3058:34:36"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 13602,
                                "name": "tokens",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13575,
                                "src": "3118:6:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                }
                              },
                              "id": 13604,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 13603,
                                "name": "idx",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13583,
                                "src": "3125:3:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "3118:11:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 13605,
                              "name": "ok",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13577,
                              "src": "3131:2:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 13601,
                            "name": "SetWhitelist",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13410,
                            "src": "3105:12:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$",
                              "typeString": "function (address,bool)"
                            }
                          },
                          "id": 13606,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3105:29:36",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13607,
                        "nodeType": "EmitStatement",
                        "src": "3100:34:36"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 13589,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 13586,
                      "name": "idx",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13583,
                      "src": "3022:3:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 13587,
                        "name": "tokens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13575,
                        "src": "3028:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 13588,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3028:13:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3022:19:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 13609,
                  "initializationExpression": {
                    "assignments": [
                      13583
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 13583,
                        "mutability": "mutable",
                        "name": "idx",
                        "nodeType": "VariableDeclaration",
                        "overrides": null,
                        "scope": 13609,
                        "src": "3008:8:36",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 13582,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "3008:4:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 13585,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 13584,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3019:1:36",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "3008:12:36"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 13591,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3043:5:36",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 13590,
                        "name": "idx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13583,
                        "src": "3043:3:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 13592,
                    "nodeType": "ExpressionStatement",
                    "src": "3043:5:36"
                  },
                  "nodeType": "ForStatement",
                  "src": "3003:138:36"
                }
              ]
            },
            "documentation": {
              "id": 13572,
              "nodeType": "StructuredDocumentation",
              "src": "2754:160:36",
              "text": "@dev Set whitelist status for the given list of token addresses.\n @param tokens List of tokens to set whitelist status\n @param ok Whitelist status"
            },
            "functionSelector": "78513230",
            "id": 13611,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 13580,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 13579,
                  "name": "onlyGov",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 36,
                  "src": "2989:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2989:7:36"
              }
            ],
            "name": "setWhitelistERC1155",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 13578,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13575,
                  "mutability": "mutable",
                  "name": "tokens",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13611,
                  "src": "2946:23:36",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 13573,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "2946:7:36",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 13574,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "2946:9:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13577,
                  "mutability": "mutable",
                  "name": "ok",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13611,
                  "src": "2971:7:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 13576,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2971:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2945:34:36"
            },
            "returnParameters": {
              "id": 13581,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2997:0:36"
            },
            "scope": 13945,
            "src": "2917:228:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              24465
            ],
            "body": {
              "id": 13645,
              "nodeType": "Block",
              "src": "3450:188:36",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 13625,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "!",
                    "prefix": true,
                    "src": "3460:24:36",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 13622,
                        "name": "whitelistERC1155",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13427,
                        "src": "3461:16:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 13624,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 13623,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13614,
                        "src": "3478:5:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "3461:23:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 13628,
                  "nodeType": "IfStatement",
                  "src": "3456:42:36",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 13626,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3493:5:36",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "functionReturnParameters": 13621,
                    "id": 13627,
                    "nodeType": "Return",
                    "src": "3486:12:36"
                  }
                },
                {
                  "assignments": [
                    13630
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13630,
                      "mutability": "mutable",
                      "name": "tokenUnderlying",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13645,
                      "src": "3504:23:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 13629,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3504:7:36",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13637,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13635,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13616,
                        "src": "3570:2:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13632,
                            "name": "token",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13614,
                            "src": "3544:5:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 13631,
                          "name": "IERC20Wrapper",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25811,
                          "src": "3530:13:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20Wrapper_$25811_$",
                            "typeString": "type(contract IERC20Wrapper)"
                          }
                        },
                        "id": 13633,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3530:20:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20Wrapper_$25811",
                          "typeString": "contract IERC20Wrapper"
                        }
                      },
                      "id": 13634,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getUnderlyingToken",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25802,
                      "src": "3530:39:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$",
                        "typeString": "function (uint256) view external returns (address)"
                      }
                    },
                    "id": 13636,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3530:43:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3504:69:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint16",
                      "typeString": "uint16"
                    },
                    "id": 13643,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 13638,
                          "name": "tokenFactors",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 13423,
                          "src": "3586:12:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                            "typeString": "mapping(address => struct ProxyOracle.TokenFactors storage ref)"
                          }
                        },
                        "id": 13640,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 13639,
                          "name": "tokenUnderlying",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 13630,
                          "src": "3599:15:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3586:29:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                          "typeString": "struct ProxyOracle.TokenFactors storage ref"
                        }
                      },
                      "id": 13641,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "liqIncentive",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13416,
                      "src": "3586:42:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint16",
                        "typeString": "uint16"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 13642,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3632:1:36",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3586:47:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 13621,
                  "id": 13644,
                  "nodeType": "Return",
                  "src": "3579:54:36"
                }
              ]
            },
            "documentation": {
              "id": 13612,
              "nodeType": "StructuredDocumentation",
              "src": "3149:207:36",
              "text": "@dev Return whether the oracle supports evaluating collateral value of the given token.\n @param token ERC1155 token address to check for support\n @param id ERC1155 token id to check for support"
            },
            "functionSelector": "2461a409",
            "id": 13646,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "supportWrappedToken",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 13618,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3426:8:36"
            },
            "parameters": {
              "id": 13617,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13614,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13646,
                  "src": "3388:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13613,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3388:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13616,
                  "mutability": "mutable",
                  "name": "id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13646,
                  "src": "3403:7:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13615,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3403:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3387:24:36"
            },
            "returnParameters": {
              "id": 13621,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13620,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13646,
                  "src": "3444:4:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 13619,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3444:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3443:6:36"
            },
            "scope": 13945,
            "src": "3359:279:36",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              24479
            ],
            "body": {
              "id": 13765,
              "nodeType": "Block",
              "src": "4065:822:36",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 13662,
                          "name": "whitelistERC1155",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 13427,
                          "src": "4079:16:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                            "typeString": "mapping(address => bool)"
                          }
                        },
                        "id": 13664,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 13663,
                          "name": "tokenOut",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 13651,
                          "src": "4096:8:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4079:26:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "62616420746f6b656e",
                        "id": 13665,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4107:11:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_616e08e83727931c4faaa79fa59b5d1cf7e6a017d36ea0a05bb8869d6f353798",
                          "typeString": "literal_string \"bad token\""
                        },
                        "value": "bad token"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_616e08e83727931c4faaa79fa59b5d1cf7e6a017d36ea0a05bb8869d6f353798",
                          "typeString": "literal_string \"bad token\""
                        }
                      ],
                      "id": 13661,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "4071:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13666,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4071:48:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13667,
                  "nodeType": "ExpressionStatement",
                  "src": "4071:48:36"
                },
                {
                  "assignments": [
                    13669
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13669,
                      "mutability": "mutable",
                      "name": "tokenOutUnderlying",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13765,
                      "src": "4125:26:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 13668,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "4125:7:36",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13676,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13674,
                        "name": "tokenOutId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13653,
                        "src": "4197:10:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13671,
                            "name": "tokenOut",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13651,
                            "src": "4168:8:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 13670,
                          "name": "IERC20Wrapper",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25811,
                          "src": "4154:13:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20Wrapper_$25811_$",
                            "typeString": "type(contract IERC20Wrapper)"
                          }
                        },
                        "id": 13672,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4154:23:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20Wrapper_$25811",
                          "typeString": "contract IERC20Wrapper"
                        }
                      },
                      "id": 13673,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getUnderlyingToken",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25802,
                      "src": "4154:42:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$",
                        "typeString": "function (uint256) view external returns (address)"
                      }
                    },
                    "id": 13675,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4154:54:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4125:83:36"
                },
                {
                  "assignments": [
                    13678
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13678,
                      "mutability": "mutable",
                      "name": "rateUnderlying",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13765,
                      "src": "4214:19:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 13677,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4214:4:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13685,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13683,
                        "name": "tokenOutId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13653,
                        "src": "4278:10:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13680,
                            "name": "tokenOut",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13651,
                            "src": "4250:8:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 13679,
                          "name": "IERC20Wrapper",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25811,
                          "src": "4236:13:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20Wrapper_$25811_$",
                            "typeString": "type(contract IERC20Wrapper)"
                          }
                        },
                        "id": 13681,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4236:23:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20Wrapper_$25811",
                          "typeString": "contract IERC20Wrapper"
                        }
                      },
                      "id": 13682,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getUnderlyingRate",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25810,
                      "src": "4236:41:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view external returns (uint256)"
                      }
                    },
                    "id": 13684,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4236:53:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4214:75:36"
                },
                {
                  "assignments": [
                    13687
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13687,
                      "mutability": "mutable",
                      "name": "tokenFactorIn",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13765,
                      "src": "4295:33:36",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                        "typeString": "struct ProxyOracle.TokenFactors"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 13686,
                        "name": "TokenFactors",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 13417,
                        "src": "4295:12:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TokenFactors_$13417_storage_ptr",
                          "typeString": "struct ProxyOracle.TokenFactors"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13691,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 13688,
                      "name": "tokenFactors",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13423,
                      "src": "4331:12:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                        "typeString": "mapping(address => struct ProxyOracle.TokenFactors storage ref)"
                      }
                    },
                    "id": 13690,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 13689,
                      "name": "tokenIn",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13649,
                      "src": "4344:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "4331:21:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                      "typeString": "struct ProxyOracle.TokenFactors storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4295:57:36"
                },
                {
                  "assignments": [
                    13693
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13693,
                      "mutability": "mutable",
                      "name": "tokenFactorOut",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13765,
                      "src": "4358:34:36",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                        "typeString": "struct ProxyOracle.TokenFactors"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 13692,
                        "name": "TokenFactors",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 13417,
                        "src": "4358:12:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TokenFactors_$13417_storage_ptr",
                          "typeString": "struct ProxyOracle.TokenFactors"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13697,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 13694,
                      "name": "tokenFactors",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13423,
                      "src": "4395:12:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                        "typeString": "mapping(address => struct ProxyOracle.TokenFactors storage ref)"
                      }
                    },
                    "id": 13696,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 13695,
                      "name": "tokenOutUnderlying",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13669,
                      "src": "4408:18:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "4395:32:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                      "typeString": "struct ProxyOracle.TokenFactors storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4358:69:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        },
                        "id": 13702,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 13699,
                            "name": "tokenFactorIn",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13687,
                            "src": "4441:13:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                              "typeString": "struct ProxyOracle.TokenFactors memory"
                            }
                          },
                          "id": 13700,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "liqIncentive",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 13416,
                          "src": "4441:26:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 13701,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4471:1:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4441:31:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "62616420756e6465726c79696e6720696e",
                        "id": 13703,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4474:19:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_de20ce1daa50713b25ca9e120933dfd8a11ccc1000c31b04280c4229f2eaca25",
                          "typeString": "literal_string \"bad underlying in\""
                        },
                        "value": "bad underlying in"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_de20ce1daa50713b25ca9e120933dfd8a11ccc1000c31b04280c4229f2eaca25",
                          "typeString": "literal_string \"bad underlying in\""
                        }
                      ],
                      "id": 13698,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "4433:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13704,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4433:61:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13705,
                  "nodeType": "ExpressionStatement",
                  "src": "4433:61:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        },
                        "id": 13710,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 13707,
                            "name": "tokenFactorOut",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13693,
                            "src": "4508:14:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                              "typeString": "struct ProxyOracle.TokenFactors memory"
                            }
                          },
                          "id": 13708,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "liqIncentive",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 13416,
                          "src": "4508:27:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 13709,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4539:1:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "4508:32:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "62616420756e6465726c79696e67206f7574",
                        "id": 13711,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4542:20:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_26206ec19f9406236dcd1014007b855a7e651ed3f19e2ab44df674f5d2f4a835",
                          "typeString": "literal_string \"bad underlying out\""
                        },
                        "value": "bad underlying out"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_26206ec19f9406236dcd1014007b855a7e651ed3f19e2ab44df674f5d2f4a835",
                          "typeString": "literal_string \"bad underlying out\""
                        }
                      ],
                      "id": 13706,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "4500:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13712,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4500:63:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13713,
                  "nodeType": "ExpressionStatement",
                  "src": "4500:63:36"
                },
                {
                  "assignments": [
                    13715
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13715,
                      "mutability": "mutable",
                      "name": "pxIn",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13765,
                      "src": "4569:9:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 13714,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4569:4:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13720,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13718,
                        "name": "tokenIn",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13649,
                        "src": "4597:7:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 13716,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13419,
                        "src": "4581:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                          "typeString": "contract IBaseOracle"
                        }
                      },
                      "id": 13717,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getETHPx",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25208,
                      "src": "4581:15:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 13719,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4581:24:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4569:36:36"
                },
                {
                  "assignments": [
                    13722
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13722,
                      "mutability": "mutable",
                      "name": "pxOut",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13765,
                      "src": "4611:10:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 13721,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4611:4:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13727,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13725,
                        "name": "tokenOutUnderlying",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13669,
                        "src": "4640:18:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 13723,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13419,
                        "src": "4624:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                          "typeString": "contract IBaseOracle"
                        }
                      },
                      "id": 13724,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getETHPx",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25208,
                      "src": "4624:15:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 13726,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4624:35:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4611:48:36"
                },
                {
                  "assignments": [
                    13729
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13729,
                      "mutability": "mutable",
                      "name": "amountOut",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13765,
                      "src": "4665:14:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 13728,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4665:4:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13737,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13735,
                        "name": "pxOut",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13722,
                        "src": "4705:5:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13732,
                            "name": "pxIn",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13715,
                            "src": "4695:4:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 13730,
                            "name": "amountIn",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13655,
                            "src": "4682:8:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 13731,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "4682:12:36",
                          "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": 13733,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4682:18:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 13734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "4682:22:36",
                      "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": 13736,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4682:29:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4665:46:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 13748,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 13738,
                      "name": "amountOut",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13729,
                      "src": "4717:9:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 13746,
                          "name": "rateUnderlying",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 13678,
                          "src": "4755:14:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                                "typeString": "int_const 5192...(26 digits omitted)...0096"
                              },
                              "id": 13743,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "hexValue": "32",
                                "id": 13741,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "4743:1:36",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_2_by_1",
                                  "typeString": "int_const 2"
                                },
                                "value": "2"
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "**",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "313132",
                                "id": 13742,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "4746:3:36",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_112_by_1",
                                  "typeString": "int_const 112"
                                },
                                "value": "112"
                              },
                              "src": "4743:6:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                                "typeString": "int_const 5192...(26 digits omitted)...0096"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                                "typeString": "int_const 5192...(26 digits omitted)...0096"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 13739,
                              "name": "amountOut",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13729,
                              "src": "4729:9:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 13740,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "mul",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 23607,
                            "src": "4729:13:36",
                            "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": 13744,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4729:21:36",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 13745,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "div",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23629,
                        "src": "4729:25:36",
                        "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": 13747,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4729:41:36",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4717:53:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 13749,
                  "nodeType": "ExpressionStatement",
                  "src": "4717:53:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_100000000_by_1",
                          "typeString": "int_const 100000000"
                        },
                        "id": 13762,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "3130303030",
                          "id": 13760,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4868:5:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_10000_by_1",
                            "typeString": "int_const 10000"
                          },
                          "value": "10000"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "*",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "3130303030",
                          "id": 13761,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4876:5:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_10000_by_1",
                            "typeString": "int_const 10000"
                          },
                          "value": "10000"
                        },
                        "src": "4868:13:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100000000_by_1",
                          "typeString": "int_const 100000000"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_100000000_by_1",
                          "typeString": "int_const 100000000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 13756,
                              "name": "tokenFactorOut",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13693,
                              "src": "4835:14:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                "typeString": "struct ProxyOracle.TokenFactors memory"
                              }
                            },
                            "id": 13757,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "liqIncentive",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 13416,
                            "src": "4835:27:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 13752,
                                  "name": "tokenFactorIn",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 13687,
                                  "src": "4803:13:36",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                    "typeString": "struct ProxyOracle.TokenFactors memory"
                                  }
                                },
                                "id": 13753,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "liqIncentive",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 13416,
                                "src": "4803:26:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 13750,
                                "name": "amountOut",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13729,
                                "src": "4789:9:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 13751,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "mul",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 23607,
                              "src": "4789:13:36",
                              "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": 13754,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4789:41:36",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 13755,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "4789:45:36",
                          "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": 13758,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4789:74:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 13759,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "4789:78:36",
                      "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": 13763,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4789:93:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 13660,
                  "id": 13764,
                  "nodeType": "Return",
                  "src": "4776:106:36"
                }
              ]
            },
            "documentation": {
              "id": 13647,
              "nodeType": "StructuredDocumentation",
              "src": "3642:264:36",
              "text": "@dev Return the amount of token out as liquidation reward for liquidating token in.\n @param tokenIn Input ERC20 token\n @param tokenOut Output ERC1155 token\n @param tokenOutId Output ERC1155 token id\n @param amountIn Input ERC20 token amount"
            },
            "functionSelector": "c38e795c",
            "id": 13766,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "convertForLiquidation",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 13657,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4041:8:36"
            },
            "parameters": {
              "id": 13656,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13649,
                  "mutability": "mutable",
                  "name": "tokenIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13766,
                  "src": "3945:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13648,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3945:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13651,
                  "mutability": "mutable",
                  "name": "tokenOut",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13766,
                  "src": "3966:16:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13650,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3966:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13653,
                  "mutability": "mutable",
                  "name": "tokenOutId",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13766,
                  "src": "3988:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13652,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3988:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13655,
                  "mutability": "mutable",
                  "name": "amountIn",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13766,
                  "src": "4009:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13654,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4009:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3939:87:36"
            },
            "returnParameters": {
              "id": 13660,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13659,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13766,
                  "src": "4059:4:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13658,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4059:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4058:6:36"
            },
            "scope": 13945,
            "src": "3909:978:36",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              24493
            ],
            "body": {
              "id": 13856,
              "nodeType": "Block",
              "src": "5364:565:36",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 13782,
                          "name": "whitelistERC1155",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 13427,
                          "src": "5378:16:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                            "typeString": "mapping(address => bool)"
                          }
                        },
                        "id": 13784,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 13783,
                          "name": "token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 13769,
                          "src": "5395:5:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "5378:23:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "62616420746f6b656e",
                        "id": 13785,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5403:11:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_616e08e83727931c4faaa79fa59b5d1cf7e6a017d36ea0a05bb8869d6f353798",
                          "typeString": "literal_string \"bad token\""
                        },
                        "value": "bad token"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_616e08e83727931c4faaa79fa59b5d1cf7e6a017d36ea0a05bb8869d6f353798",
                          "typeString": "literal_string \"bad token\""
                        }
                      ],
                      "id": 13781,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "5370:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13786,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5370:45:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13787,
                  "nodeType": "ExpressionStatement",
                  "src": "5370:45:36"
                },
                {
                  "assignments": [
                    13789
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13789,
                      "mutability": "mutable",
                      "name": "tokenUnderlying",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13856,
                      "src": "5421:23:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 13788,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "5421:7:36",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13796,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13794,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13771,
                        "src": "5487:2:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13791,
                            "name": "token",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13769,
                            "src": "5461:5:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 13790,
                          "name": "IERC20Wrapper",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25811,
                          "src": "5447:13:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20Wrapper_$25811_$",
                            "typeString": "type(contract IERC20Wrapper)"
                          }
                        },
                        "id": 13792,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5447:20:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20Wrapper_$25811",
                          "typeString": "contract IERC20Wrapper"
                        }
                      },
                      "id": 13793,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getUnderlyingToken",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25802,
                      "src": "5447:39:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$",
                        "typeString": "function (uint256) view external returns (address)"
                      }
                    },
                    "id": 13795,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5447:43:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5421:69:36"
                },
                {
                  "assignments": [
                    13798
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13798,
                      "mutability": "mutable",
                      "name": "rateUnderlying",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13856,
                      "src": "5496:19:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 13797,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5496:4:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13805,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13803,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13771,
                        "src": "5557:2:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13800,
                            "name": "token",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13769,
                            "src": "5532:5:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 13799,
                          "name": "IERC20Wrapper",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25811,
                          "src": "5518:13:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IERC20Wrapper_$25811_$",
                            "typeString": "type(contract IERC20Wrapper)"
                          }
                        },
                        "id": 13801,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5518:20:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20Wrapper_$25811",
                          "typeString": "contract IERC20Wrapper"
                        }
                      },
                      "id": 13802,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getUnderlyingRate",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25810,
                      "src": "5518:38:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) view external returns (uint256)"
                      }
                    },
                    "id": 13804,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5518:42:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5496:64:36"
                },
                {
                  "assignments": [
                    13807
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13807,
                      "mutability": "mutable",
                      "name": "amountUnderlying",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13856,
                      "src": "5566:21:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 13806,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5566:4:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13817,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        },
                        "id": 13815,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 13813,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5621:1:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "**",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "313132",
                          "id": 13814,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5624:3:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_112_by_1",
                            "typeString": "int_const 112"
                          },
                          "value": "112"
                        },
                        "src": "5621:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13810,
                            "name": "rateUnderlying",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13798,
                            "src": "5601:14:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 13808,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13773,
                            "src": "5590:6:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 13809,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "5590:10:36",
                          "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": 13811,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5590:26:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 13812,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "5590:30:36",
                      "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": 13816,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5590:38:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5566:62:36"
                },
                {
                  "assignments": [
                    13819
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13819,
                      "mutability": "mutable",
                      "name": "tokenFactor",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13856,
                      "src": "5634:31:36",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                        "typeString": "struct ProxyOracle.TokenFactors"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 13818,
                        "name": "TokenFactors",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 13417,
                        "src": "5634:12:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TokenFactors_$13417_storage_ptr",
                          "typeString": "struct ProxyOracle.TokenFactors"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13823,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 13820,
                      "name": "tokenFactors",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13423,
                      "src": "5668:12:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                        "typeString": "mapping(address => struct ProxyOracle.TokenFactors storage ref)"
                      }
                    },
                    "id": 13822,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 13821,
                      "name": "tokenUnderlying",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13789,
                      "src": "5681:15:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "5668:29:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                      "typeString": "struct ProxyOracle.TokenFactors storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5634:63:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        },
                        "id": 13828,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 13825,
                            "name": "tokenFactor",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13819,
                            "src": "5711:11:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                              "typeString": "struct ProxyOracle.TokenFactors memory"
                            }
                          },
                          "id": 13826,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "liqIncentive",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 13416,
                          "src": "5711:24:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 13827,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5739:1:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5711:29:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "62616420756e6465726c79696e6720636f6c6c61746572616c",
                        "id": 13829,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5742:27:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_00c0d9ae141be052954a25a4684eb045ce116402bc254e344b415249c8b13698",
                          "typeString": "literal_string \"bad underlying collateral\""
                        },
                        "value": "bad underlying collateral"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_00c0d9ae141be052954a25a4684eb045ce116402bc254e344b415249c8b13698",
                          "typeString": "literal_string \"bad underlying collateral\""
                        }
                      ],
                      "id": 13824,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "5703:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13830,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5703:67:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13831,
                  "nodeType": "ExpressionStatement",
                  "src": "5703:67:36"
                },
                {
                  "assignments": [
                    13833
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13833,
                      "mutability": "mutable",
                      "name": "ethValue",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13856,
                      "src": "5776:13:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 13832,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5776:4:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13846,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        },
                        "id": 13844,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 13842,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5851:1:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "**",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "313132",
                          "id": 13843,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5854:3:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_112_by_1",
                            "typeString": "int_const 112"
                          },
                          "value": "112"
                        },
                        "src": "5851:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13839,
                            "name": "amountUnderlying",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13807,
                            "src": "5829:16:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 13836,
                                "name": "tokenUnderlying",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13789,
                                "src": "5808:15:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 13834,
                                "name": "source",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13419,
                                "src": "5792:6:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                                  "typeString": "contract IBaseOracle"
                                }
                              },
                              "id": 13835,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getETHPx",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25208,
                              "src": "5792:15:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                "typeString": "function (address) view external returns (uint256)"
                              }
                            },
                            "id": 13837,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5792:32:36",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 13838,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "5792:36:36",
                          "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": 13840,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5792:54:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 13841,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "5792:58:36",
                      "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": 13845,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5792:66:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5776:82:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "3130303030",
                        "id": 13853,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5918:5:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_10000_by_1",
                          "typeString": "int_const 10000"
                        },
                        "value": "10000"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_10000_by_1",
                          "typeString": "int_const 10000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 13849,
                              "name": "tokenFactor",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13819,
                              "src": "5884:11:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                "typeString": "struct ProxyOracle.TokenFactors memory"
                              }
                            },
                            "id": 13850,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "collateralFactor",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 13414,
                            "src": "5884:28:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 13847,
                            "name": "ethValue",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13833,
                            "src": "5871:8:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 13848,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "5871:12:36",
                          "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": 13851,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5871:42:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 13852,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "5871:46:36",
                      "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": 13854,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5871:53:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 13780,
                  "id": 13855,
                  "nodeType": "Return",
                  "src": "5864:60:36"
                }
              ]
            },
            "documentation": {
              "id": 13767,
              "nodeType": "StructuredDocumentation",
              "src": "4891:335:36",
              "text": "@dev Return the value of the given input as ETH for collateral purpose.\n @param token ERC1155 token address to get collateral value\n @param id ERC1155 token id to get collateral value\n @param amount Token amount to get collateral value\n @param owner Token owner address (currently unused by this implementation)"
            },
            "functionSelector": "83454832",
            "id": 13857,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "asETHCollateral",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 13777,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5340:8:36"
            },
            "parameters": {
              "id": 13776,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13769,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13857,
                  "src": "5259:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13768,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5259:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13771,
                  "mutability": "mutable",
                  "name": "id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13857,
                  "src": "5278:7:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13770,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5278:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13773,
                  "mutability": "mutable",
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13857,
                  "src": "5291:11:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13772,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5291:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13775,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13857,
                  "src": "5308:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13774,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5308:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5253:72:36"
            },
            "returnParameters": {
              "id": 13780,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13779,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13857,
                  "src": "5358:4:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13778,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5358:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5357:6:36"
            },
            "scope": 13945,
            "src": "5229:700:36",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              24505
            ],
            "body": {
              "id": 13908,
              "nodeType": "Block",
              "src": "6324:263:36",
              "statements": [
                {
                  "assignments": [
                    13871
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13871,
                      "mutability": "mutable",
                      "name": "tokenFactor",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13908,
                      "src": "6330:31:36",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                        "typeString": "struct ProxyOracle.TokenFactors"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 13870,
                        "name": "TokenFactors",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 13417,
                        "src": "6330:12:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TokenFactors_$13417_storage_ptr",
                          "typeString": "struct ProxyOracle.TokenFactors"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13875,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 13872,
                      "name": "tokenFactors",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13423,
                      "src": "6364:12:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                        "typeString": "mapping(address => struct ProxyOracle.TokenFactors storage ref)"
                      }
                    },
                    "id": 13874,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 13873,
                      "name": "token",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13860,
                      "src": "6377:5:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "6364:19:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                      "typeString": "struct ProxyOracle.TokenFactors storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6330:53:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint16",
                          "typeString": "uint16"
                        },
                        "id": 13880,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 13877,
                            "name": "tokenFactor",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13871,
                            "src": "6397:11:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                              "typeString": "struct ProxyOracle.TokenFactors memory"
                            }
                          },
                          "id": 13878,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "liqIncentive",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 13416,
                          "src": "6397:24:36",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint16",
                            "typeString": "uint16"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 13879,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6425:1:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "6397:29:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "62616420756e6465726c79696e6720626f72726f77",
                        "id": 13881,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6428:23:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_856680147dc4c9764da053cdf52a95b603ec9af2400234769c93b252efa65440",
                          "typeString": "literal_string \"bad underlying borrow\""
                        },
                        "value": "bad underlying borrow"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_856680147dc4c9764da053cdf52a95b603ec9af2400234769c93b252efa65440",
                          "typeString": "literal_string \"bad underlying borrow\""
                        }
                      ],
                      "id": 13876,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "6389:7:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13882,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6389:63:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13883,
                  "nodeType": "ExpressionStatement",
                  "src": "6389:63:36"
                },
                {
                  "assignments": [
                    13885
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13885,
                      "mutability": "mutable",
                      "name": "ethValue",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 13908,
                      "src": "6458:13:36",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 13884,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "6458:4:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 13898,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        },
                        "id": 13896,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 13894,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6513:1:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "**",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "313132",
                          "id": 13895,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6516:3:36",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_112_by_1",
                            "typeString": "int_const 112"
                          },
                          "value": "112"
                        },
                        "src": "6513:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_5192296858534827628530496329220096_by_1",
                          "typeString": "int_const 5192...(26 digits omitted)...0096"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 13891,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13862,
                            "src": "6501:6:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 13888,
                                "name": "token",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13860,
                                "src": "6490:5:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 13886,
                                "name": "source",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13419,
                                "src": "6474:6:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                                  "typeString": "contract IBaseOracle"
                                }
                              },
                              "id": 13887,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getETHPx",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25208,
                              "src": "6474:15:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                "typeString": "function (address) view external returns (uint256)"
                              }
                            },
                            "id": 13889,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6474:22:36",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 13890,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "6474:26:36",
                          "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": 13892,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6474:34:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 13893,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "6474:38:36",
                      "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": 13897,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6474:46:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6458:62:36"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "3130303030",
                        "id": 13905,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6576:5:36",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_10000_by_1",
                          "typeString": "int_const 10000"
                        },
                        "value": "10000"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_10000_by_1",
                          "typeString": "int_const 10000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 13901,
                              "name": "tokenFactor",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13871,
                              "src": "6546:11:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_TokenFactors_$13417_memory_ptr",
                                "typeString": "struct ProxyOracle.TokenFactors memory"
                              }
                            },
                            "id": 13902,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "borrowFactor",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 13412,
                            "src": "6546:24:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint16",
                              "typeString": "uint16"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 13899,
                            "name": "ethValue",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13885,
                            "src": "6533:8:36",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 13900,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23607,
                          "src": "6533:12:36",
                          "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": 13903,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6533:38:36",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 13904,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23629,
                      "src": "6533:42:36",
                      "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": 13906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6533:49:36",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 13869,
                  "id": 13907,
                  "nodeType": "Return",
                  "src": "6526:56:36"
                }
              ]
            },
            "documentation": {
              "id": 13858,
              "nodeType": "StructuredDocumentation",
              "src": "5933:270:36",
              "text": "@dev Return the value of the given input as ETH for borrow purpose.\n @param token ERC20 token address to get borrow value\n @param amount ERC20 token amount to get borrow value\n @param owner Token owner address (currently unused by this implementation)"
            },
            "functionSelector": "d596bc03",
            "id": 13909,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "asETHBorrow",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 13866,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6300:8:36"
            },
            "parameters": {
              "id": 13865,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13860,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13909,
                  "src": "6232:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13859,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6232:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13862,
                  "mutability": "mutable",
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13909,
                  "src": "6251:11:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13861,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6251:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13864,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13909,
                  "src": "6268:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13863,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6268:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6226:59:36"
            },
            "returnParameters": {
              "id": 13869,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13868,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13909,
                  "src": "6318:4:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13867,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6318:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6317:6:36"
            },
            "scope": 13945,
            "src": "6206:381:36",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              24513
            ],
            "body": {
              "id": 13943,
              "nodeType": "Block",
              "src": "6772:159:36",
              "statements": [
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 13936,
                        "nodeType": "Block",
                        "src": "6823:70:36",
                        "statements": [
                          {
                            "expression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 13934,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 13927,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 13925,
                                  "name": "px",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 13923,
                                  "src": "6838:2:36",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "!=",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 13926,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "6844:1:36",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "6838:7:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "&&",
                              "rightExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint16",
                                  "typeString": "uint16"
                                },
                                "id": 13933,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 13928,
                                      "name": "tokenFactors",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 13423,
                                      "src": "6849:12:36",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenFactors_$13417_storage_$",
                                        "typeString": "mapping(address => struct ProxyOracle.TokenFactors storage ref)"
                                      }
                                    },
                                    "id": 13930,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 13929,
                                      "name": "token",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 13912,
                                      "src": "6862:5:36",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6849:19:36",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TokenFactors_$13417_storage",
                                      "typeString": "struct ProxyOracle.TokenFactors storage ref"
                                    }
                                  },
                                  "id": 13931,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "liqIncentive",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 13416,
                                  "src": "6849:32:36",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint16",
                                    "typeString": "uint16"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "!=",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 13932,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "6885:1:36",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "6849:37:36",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "6838:48:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "functionReturnParameters": 13917,
                            "id": 13935,
                            "nodeType": "Return",
                            "src": "6831:55:36"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 13937,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 13924,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 13923,
                            "mutability": "mutable",
                            "name": "px",
                            "nodeType": "VariableDeclaration",
                            "overrides": null,
                            "scope": 13937,
                            "src": "6814:7:36",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 13922,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "6814:4:36",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "src": "6813:9:36"
                      },
                      "src": "6805:88:36"
                    },
                    {
                      "block": {
                        "id": 13940,
                        "nodeType": "Block",
                        "src": "6900:27:36",
                        "statements": [
                          {
                            "expression": {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 13938,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6915:5:36",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            "functionReturnParameters": 13917,
                            "id": 13939,
                            "nodeType": "Return",
                            "src": "6908:12:36"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 13941,
                      "nodeType": "TryCatchClause",
                      "parameters": null,
                      "src": "6894:33:36"
                    }
                  ],
                  "externalCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 13920,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13912,
                        "src": "6798:5:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 13918,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13419,
                        "src": "6782:6:36",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBaseOracle_$25209",
                          "typeString": "contract IBaseOracle"
                        }
                      },
                      "id": 13919,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getETHPx",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25208,
                      "src": "6782:15:36",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                        "typeString": "function (address) view external returns (uint256)"
                      }
                    },
                    "id": 13921,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6782:22:36",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 13942,
                  "nodeType": "TryStatement",
                  "src": "6778:149:36"
                }
              ]
            },
            "documentation": {
              "id": 13910,
              "nodeType": "StructuredDocumentation",
              "src": "6591:108:36",
              "text": "@dev Return whether the ERC20 token is supported\n @param token The ERC20 token to check for support"
            },
            "functionSelector": "e660cc08",
            "id": 13944,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "support",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 13914,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "6748:8:36"
            },
            "parameters": {
              "id": 13913,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13912,
                  "mutability": "mutable",
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13944,
                  "src": "6719:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13911,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6719:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6718:15:36"
            },
            "returnParameters": {
              "id": 13917,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13916,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 13944,
                  "src": "6766:4:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 13915,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "6766:4:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6765:6:36"
            },
            "scope": 13945,
            "src": "6702:229:36",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 13946,
        "src": "329:6604:36"
      }
    ],
    "src": "33:6901:36"
  },
  "bytecode": "60a06040523480156200001157600080fd5b5060405162001b4138038062001b41833981016040819052620000349162000176565b6001600160601b0319606082901b166080526200005062000057565b5062000208565b600054610100900460ff16806200007357506200007362000152565b8062000082575060005460ff16155b620000aa5760405162461bcd60e51b8152600401620000a190620001ba565b60405180910390fd5b600054610100900460ff16158015620000d6576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b0319163362010000810291909117909155600180546001600160a01b03191690556040517fbce074c8369e26e70e1ae2f14fc944da352cfe6f52e2de9572f0c9942a24b7fc916200013491620001a6565b60405180910390a180156200014f576000805461ff00191690555b50565b60006200016a306200017060201b6200110d1760201c565b15905090565b3b151590565b60006020828403121562000188578081fd5b81516001600160a01b03811681146200019f578182fd5b9392505050565b6001600160a01b0391909116815260200190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60805160601c6119026200023f6000398061040a528061071c5280610a305280610abb5280610c415280610d7152506119026000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638345483211610097578063e58bb63911610066578063e58bb639146101eb578063e660cc08146101f3578063e7a9883e14610206578063f235757f14610219576100f5565b8063834548321461019d578063c38e795c146101bd578063d596bc03146101d0578063e3056a34146101e3576100f5565b80636437388a116100d35780636437388a1461014b57806367e828bf1461016057806378513230146101685780637b3b022d1461017b576100f5565b80630c340a24146100fa5780632461a40914610118578063495621fb14610138575b600080fd5b61010261022c565b60405161010f9190611520565b60405180910390f35b61012b6101263660046112ff565b610241565b60405161010f9190611534565b61012b610146366004611282565b610317565b61015e6101593660046113b4565b61032c565b005b610102610408565b61015e6101763660046114b4565b61042c565b61018e610189366004611282565b610519565b60405161010f93929190611846565b6101b06101ab36600461136b565b610544565b60405161010f9190611864565b6101b06101cb3660046112ba565b6107ed565b6101b06101de36600461132a565b610bbc565b610102610cb8565b61015e610cc7565b61012b610201366004611282565b610d57565b61015e6102143660046113ef565b610e34565b61015e610227366004611282565b611087565b6000546201000090046001600160a01b031681565b6001600160a01b03821660009081526043602052604081205460ff1661026957506000610311565b60405163523babb960e11b81526000906001600160a01b0385169063a477577290610298908690600401611864565b60206040518083038186803b1580156102b057600080fd5b505afa1580156102c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e8919061129e565b6001600160a01b0316600090815260426020526040902054600160201b900461ffff1615159150505b92915050565b60436020526000908152604090205460ff1681565b6000546201000090046001600160a01b031633146103655760405162461bcd60e51b815260040161035c90611610565b60405180910390fd5b60005b8151811015610404576042600083838151811061038157fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805465ffffffffffff1916905581518290829081106103bf57fe5b60200260200101516001600160a01b03167f995b73152d62a9a92bd554852db356f087e63690e0cb9656cedd21a8d0e27c1b60405160405180910390a2600101610368565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546201000090046001600160a01b0316331461045c5760405162461bcd60e51b815260040161035c90611610565b60005b825181101561051457816043600085848151811061047957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508281815181106104c457fe5b60200260200101516001600160a01b03167ff6019ec0a78d156d249a1ec7579e2321f6ac7521d6e1d2eacf90ba4a184dcceb836040516105049190611534565b60405180910390a260010161045f565b505050565b60426020526000908152604090205461ffff80821691620100008104821691600160201b9091041683565b6001600160a01b03841660009081526043602052604081205460ff1661057c5760405162461bcd60e51b815260040161035c9061163a565b60405163523babb960e11b81526000906001600160a01b0387169063a4775772906105ab908890600401611864565b60206040518083038186803b1580156105c357600080fd5b505afa1580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb919061129e565b90506000866001600160a01b031663af8002df876040518263ffffffff1660e01b815260040161062b9190611864565b60206040518083038186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190611508565b90506000610697600160701b6106918885611113565b90611154565b90506106a1611186565b506001600160a01b0383166000908152604260209081526040918290208251606081018452905461ffff8082168352620100008204811693830193909352600160201b90049091169181018290529061070c5760405162461bcd60e51b815260040161035c9061153f565b60006107bc600160701b610691857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab9aadfe8a6040518263ffffffff1660e01b81526004016107669190611520565b60206040518083038186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611508565b90611113565b90506107df612710610691846020015161ffff168461111390919063ffffffff16565b9a9950505050505050505050565b6001600160a01b03831660009081526043602052604081205460ff166108255760405162461bcd60e51b815260040161035c9061163a565b60405163523babb960e11b81526000906001600160a01b0386169063a477577290610854908790600401611864565b60206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a4919061129e565b90506000856001600160a01b031663af8002df866040518263ffffffff1660e01b81526004016108d49190611864565b60206040518083038186803b1580156108ec57600080fd5b505afa158015610900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109249190611508565b905061092e611186565b506001600160a01b0387166000908152604260209081526040918290208251606081018452905461ffff8082168352620100008204811693830193909352600160201b900490911691810191909152610985611186565b506001600160a01b0383166000908152604260209081526040918290208251606081018452905461ffff8082168352620100008204811693830193909352600160201b900482168184015291830151166109f15760405162461bcd60e51b815260040161035c9061178d565b604081015161ffff16610a165760405162461bcd60e51b815260040161035c90611576565b6040516355cd56ff60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab9aadfe90610a65908d90600401611520565b60206040518083038186803b158015610a7d57600080fd5b505afa158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190611508565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab9aadfe876040518263ffffffff1660e01b8152600401610b059190611520565b60206040518083038186803b158015610b1d57600080fd5b505afa158015610b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b559190611508565b90506000610b67826106918b86611113565b9050610b7b8661069183600160701b611113565b9050610bac6305f5e100610691866040015161ffff166107b6896040015161ffff168661111390919063ffffffff16565b9c9b505050505050505050505050565b6000610bc6611186565b506001600160a01b0384166000908152604260209081526040918290208251606081018452905461ffff8082168352620100008204811693830193909352600160201b900490911691810182905290610c315760405162461bcd60e51b815260040161035c9061165d565b6000610c8b600160701b610691877f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab9aadfe8b6040518263ffffffff1660e01b81526004016107669190611520565b9050610cae612710610691846000015161ffff168461111390919063ffffffff16565b9695505050505050565b6001546001600160a01b031681565b6001546001600160a01b03163314610cf15760405162461bcd60e51b815260040161035c906115a2565b600180546001600160a01b03191690556000805462010000600160b01b03191633620100008102919091179091556040517fd345d81ce68c70b119a17eee79dc1421700bd9cb21ca148a62dc90983964e82f91610d4d91611520565b60405180910390a1565b6040516355cd56ff60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab9aadfe90610da6908590600401611520565b60206040518083038186803b158015610dbe57600080fd5b505afa925050508015610dee575060408051601f3d908101601f19168201909252610deb91810190611508565b60015b610dfa57506000610e2f565b8015801590610e2b57506001600160a01b038316600090815260426020526040902054600160201b900461ffff1615155b9150505b919050565b6000546201000090046001600160a01b03163314610e645760405162461bcd60e51b815260040161035c90611610565b8051825114610e855760405162461bcd60e51b815260040161035c906117b8565b60005b825181101561051457612710828281518110610ea057fe5b60200260200101516000015161ffff161015610ece5760405162461bcd60e51b815260040161035c9061174a565b612710828281518110610edd57fe5b60200260200101516020015161ffff161115610f0b5760405162461bcd60e51b815260040161035c906116cd565b612710828281518110610f1a57fe5b60200260200101516040015161ffff161015610f485760405162461bcd60e51b815260040161035c90611713565b614e20828281518110610f5757fe5b60200260200101516040015161ffff161115610f855760405162461bcd60e51b815260040161035c906117e5565b818181518110610f9157fe5b602002602001015160426000858481518110610fa957fe5b6020908102919091018101516001600160a01b031682528181019290925260409081016000208351815493850151949092015161ffff1990931661ffff9283161763ffff0000191662010000948316949094029390931765ffff000000001916600160201b9190921602179055825183908290811061102457fe5b60200260200101516001600160a01b03167fc35b295ca62f561378f46da3a41b523fb1dc01cfb8d4036f8aa13363958ed45883838151811061106257fe5b6020026020010151604051611077919061181c565b60405180910390a2600101610e88565b6000546201000090046001600160a01b031633146110b75760405162461bcd60e51b815260040161035c90611610565b600180546001600160a01b0319166001600160a01b0383161790556040517f964dea888b00b2ab53f13dfe7ca334b46e99338c222ae232d98547a1da019f6090611102908390611520565b60405180910390a150565b3b151590565b60008261112257506000610311565b8282028284828161112f57fe5b041461114d5760405162461bcd60e51b815260040161035c9061168c565b9392505050565b60008082116111755760405162461bcd60e51b815260040161035c906115d9565b81838161117e57fe5b049392505050565b604080516060810182526000808252602082018190529181019190915290565b600082601f8301126111b6578081fd5b81356111c96111c482611894565b61186d565b8181529150602080830190848101818402860182018710156111ea57600080fd5b60005b84811015611212578135611200816118b4565b845292820192908201906001016111ed565b505050505092915050565b60006060828403121561122e578081fd5b611238606061186d565b90506112448383611270565b81526112538360208401611270565b60208201526112658360408401611270565b604082015292915050565b803561ffff8116811461031157600080fd5b600060208284031215611293578081fd5b813561114d816118b4565b6000602082840312156112af578081fd5b815161114d816118b4565b600080600080608085870312156112cf578283fd5b84356112da816118b4565b935060208501356112ea816118b4565b93969395505050506040820135916060013590565b60008060408385031215611311578182fd5b823561131c816118b4565b946020939093013593505050565b60008060006060848603121561133e578283fd5b8335611349816118b4565b9250602084013591506040840135611360816118b4565b809150509250925092565b60008060008060808587031215611380578384fd5b843561138b816118b4565b9350602085013592506040850135915060608501356113a9816118b4565b939692955090935050565b6000602082840312156113c5578081fd5b813567ffffffffffffffff8111156113db578182fd5b6113e7848285016111a6565b949350505050565b60008060408385031215611401578182fd5b823567ffffffffffffffff80821115611418578384fd5b611424868387016111a6565b935060209150818501358181111561143a578384fd5b85019050601f8101861361144c578283fd5b803561145a6111c482611894565b818152838101908385016060808502860187018b1015611478578788fd5b8795505b848610156114a45761148e8b8361121d565b845260019590950194928601929081019061147c565b5096999098509650505050505050565b600080604083850312156114c6578182fd5b823567ffffffffffffffff8111156114dc578283fd5b6114e8858286016111a6565b925050602083013580151581146114fd578182fd5b809150509250929050565b600060208284031215611519578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b60208082526019908201527f62616420756e6465726c79696e6720636f6c6c61746572616c00000000000000604082015260600190565b602080825260129082015271189859081d5b99195c9b1e5a5b99c81bdd5d60721b604082015260600190565b60208082526018908201527f6e6f74207468652070656e64696e6720676f7665726e6f720000000000000000604082015260600190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b60208082526010908201526f3737ba103a34329033b7bb32b93737b960811b604082015260600190565b6020808252600990820152683130b2103a37b5b2b760b91b604082015260600190565b60208082526015908201527462616420756e6465726c79696e6720626f72726f7760581b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526026908201527f636f6c6c61746572616c20666163746f72206d757374206265206174206d6f7360408201526574203130302560d01b606082015260800190565b6020808252601f908201527f696e63656e74697665206d757374206265206174206c65617374203130302500604082015260600190565b60208082526023908201527f626f72726f7720666163746f72206d757374206265206174206c65617374203160408201526230302560e81b606082015260800190565b6020808252601190820152703130b2103ab73232b9363cb4b7339034b760791b604082015260600190565b6020808252601390820152720d2dcc6dedce6d2e6e8cadce840d8cadccee8d606b1b604082015260600190565b6020808252601e908201527f696e63656e74697665206d757374206265206174206d6f737420323030250000604082015260600190565b815161ffff9081168252602080840151821690830152604092830151169181019190915260600190565b61ffff93841681529183166020830152909116604082015260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561188c57600080fd5b604052919050565b600067ffffffffffffffff8211156118aa578081fd5b5060209081020190565b6001600160a01b03811681146118c957600080fd5b5056fea264697066735822122076e22c678bd1854b006f262320e497895f41af05523732887b7376c72fd9211864736f6c634300060c0033",
  "bytecodeSha1": "b5b186a056dbb2e2019134c63608aa0c061a34cb",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.6.12+commit.27d51765"
  },
  "contractName": "ProxyOracle",
  "coverageMap": {
    "branches": {
      "14": {},
      "17": {
        "Governable.acceptGovernor": {
          "50": [
            1283,
            1312,
            true
          ]
        }
      },
      "36": {
        "ProxyOracle.asETHCollateral": {
          "41": [
            5378,
            5401,
            true
          ]
        },
        "ProxyOracle.convertForLiquidation": {
          "42": [
            4079,
            4105,
            true
          ],
          "43": [
            4441,
            4472,
            true
          ],
          "44": [
            4508,
            4540,
            true
          ]
        },
        "ProxyOracle.setTokenFactors": {
          "45": [
            1768,
            1805,
            true
          ],
          "46": [
            1898,
            1938,
            true
          ],
          "47": [
            2003,
            2047,
            true
          ],
          "48": [
            2121,
            2161,
            true
          ],
          "49": [
            2213,
            2253,
            true
          ]
        },
        "ProxyOracle.supportWrappedToken": {
          "40": [
            3461,
            3484,
            false
          ]
        }
      },
      "4": {
        "SafeMath.div": {
          "53": [
            4302,
            4307,
            true
          ]
        },
        "SafeMath.mul": {
          "51": [
            3619,
            3625,
            false
          ],
          "52": [
            3680,
            3690,
            true
          ]
        }
      },
      "5": {},
      "58": {},
      "63": {},
      "67": {}
    },
    "statements": {
      "14": {
        "Address.isContract": {
          "34": [
            1117,
            1132
          ]
        }
      },
      "17": {
        "Governable.acceptGovernor": {
          "18": [
            1275,
            1341
          ],
          "19": [
            1347,
            1375
          ],
          "20": [
            1381,
            1402
          ],
          "21": [
            1408,
            1439
          ]
        },
        "Governable.setPendingGovernor": {
          "32": [
            1058,
            1092
          ],
          "33": [
            1098,
            1139
          ]
        }
      },
      "36": {
        "ProxyOracle.asETHBorrow": {
          "16": [
            6389,
            6452
          ],
          "17": [
            6526,
            6582
          ]
        },
        "ProxyOracle.asETHCollateral": {
          "8": [
            5370,
            5415
          ],
          "9": [
            5703,
            5770
          ],
          "10": [
            5864,
            5924
          ]
        },
        "ProxyOracle.convertForLiquidation": {
          "11": [
            4071,
            4119
          ],
          "12": [
            4433,
            4494
          ],
          "13": [
            4500,
            4563
          ],
          "14": [
            4717,
            4770
          ],
          "15": [
            4776,
            4882
          ]
        },
        "ProxyOracle.setTokenFactors": {
          "24": [
            1760,
            1829
          ],
          "25": [
            1890,
            1978
          ],
          "26": [
            1986,
            2105
          ],
          "27": [
            2113,
            2197
          ],
          "28": [
            2205,
            2288
          ],
          "29": [
            2296,
            2342
          ],
          "30": [
            2350,
            2402
          ],
          "31": [
            1875,
            1880
          ]
        },
        "ProxyOracle.setWhitelistERC1155": {
          "5": [
            3058,
            3092
          ],
          "6": [
            3100,
            3134
          ],
          "7": [
            3043,
            3048
          ]
        },
        "ProxyOracle.support": {
          "22": [
            6908,
            6920
          ],
          "23": [
            6831,
            6886
          ]
        },
        "ProxyOracle.supportWrappedToken": {
          "0": [
            3486,
            3498
          ],
          "1": [
            3579,
            3633
          ]
        },
        "ProxyOracle.unsetTokenFactors": {
          "2": [
            2665,
            2697
          ],
          "3": [
            2705,
            2739
          ],
          "4": [
            2650,
            2655
          ]
        }
      },
      "4": {
        "SafeMath.div": {
          "38": [
            4294,
            4338
          ],
          "39": [
            4348,
            4360
          ]
        },
        "SafeMath.mul": {
          "35": [
            3627,
            3635
          ],
          "36": [
            3672,
            3728
          ],
          "37": [
            3738,
            3746
          ]
        }
      },
      "5": {},
      "58": {},
      "63": {},
      "67": {}
    }
  },
  "dependencies": [
    "OpenZeppelin/openzeppelin-contracts@3.4.0/Address",
    "Governable",
    "IBaseOracle",
    "IERC20Wrapper",
    "IOracle",
    "OpenZeppelin/openzeppelin-contracts@3.4.0/Initializable",
    "OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b50600436106100f55760003560e01c80638345483211610097578063e58bb63911610066578063e58bb639146101eb578063e660cc08146101f3578063e7a9883e14610206578063f235757f14610219576100f5565b8063834548321461019d578063c38e795c146101bd578063d596bc03146101d0578063e3056a34146101e3576100f5565b80636437388a116100d35780636437388a1461014b57806367e828bf1461016057806378513230146101685780637b3b022d1461017b576100f5565b80630c340a24146100fa5780632461a40914610118578063495621fb14610138575b600080fd5b61010261022c565b60405161010f9190611520565b60405180910390f35b61012b6101263660046112ff565b610241565b60405161010f9190611534565b61012b610146366004611282565b610317565b61015e6101593660046113b4565b61032c565b005b610102610408565b61015e6101763660046114b4565b61042c565b61018e610189366004611282565b610519565b60405161010f93929190611846565b6101b06101ab36600461136b565b610544565b60405161010f9190611864565b6101b06101cb3660046112ba565b6107ed565b6101b06101de36600461132a565b610bbc565b610102610cb8565b61015e610cc7565b61012b610201366004611282565b610d57565b61015e6102143660046113ef565b610e34565b61015e610227366004611282565b611087565b6000546201000090046001600160a01b031681565b6001600160a01b03821660009081526043602052604081205460ff1661026957506000610311565b60405163523babb960e11b81526000906001600160a01b0385169063a477577290610298908690600401611864565b60206040518083038186803b1580156102b057600080fd5b505afa1580156102c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e8919061129e565b6001600160a01b0316600090815260426020526040902054600160201b900461ffff1615159150505b92915050565b60436020526000908152604090205460ff1681565b6000546201000090046001600160a01b031633146103655760405162461bcd60e51b815260040161035c90611610565b60405180910390fd5b60005b8151811015610404576042600083838151811061038157fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805465ffffffffffff1916905581518290829081106103bf57fe5b60200260200101516001600160a01b03167f995b73152d62a9a92bd554852db356f087e63690e0cb9656cedd21a8d0e27c1b60405160405180910390a2600101610368565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546201000090046001600160a01b0316331461045c5760405162461bcd60e51b815260040161035c90611610565b60005b825181101561051457816043600085848151811061047957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508281815181106104c457fe5b60200260200101516001600160a01b03167ff6019ec0a78d156d249a1ec7579e2321f6ac7521d6e1d2eacf90ba4a184dcceb836040516105049190611534565b60405180910390a260010161045f565b505050565b60426020526000908152604090205461ffff80821691620100008104821691600160201b9091041683565b6001600160a01b03841660009081526043602052604081205460ff1661057c5760405162461bcd60e51b815260040161035c9061163a565b60405163523babb960e11b81526000906001600160a01b0387169063a4775772906105ab908890600401611864565b60206040518083038186803b1580156105c357600080fd5b505afa1580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb919061129e565b90506000866001600160a01b031663af8002df876040518263ffffffff1660e01b815260040161062b9190611864565b60206040518083038186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b9190611508565b90506000610697600160701b6106918885611113565b90611154565b90506106a1611186565b506001600160a01b0383166000908152604260209081526040918290208251606081018452905461ffff8082168352620100008204811693830193909352600160201b90049091169181018290529061070c5760405162461bcd60e51b815260040161035c9061153f565b60006107bc600160701b610691857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab9aadfe8a6040518263ffffffff1660e01b81526004016107669190611520565b60206040518083038186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611508565b90611113565b90506107df612710610691846020015161ffff168461111390919063ffffffff16565b9a9950505050505050505050565b6001600160a01b03831660009081526043602052604081205460ff166108255760405162461bcd60e51b815260040161035c9061163a565b60405163523babb960e11b81526000906001600160a01b0386169063a477577290610854908790600401611864565b60206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a4919061129e565b90506000856001600160a01b031663af8002df866040518263ffffffff1660e01b81526004016108d49190611864565b60206040518083038186803b1580156108ec57600080fd5b505afa158015610900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109249190611508565b905061092e611186565b506001600160a01b0387166000908152604260209081526040918290208251606081018452905461ffff8082168352620100008204811693830193909352600160201b900490911691810191909152610985611186565b506001600160a01b0383166000908152604260209081526040918290208251606081018452905461ffff8082168352620100008204811693830193909352600160201b900482168184015291830151166109f15760405162461bcd60e51b815260040161035c9061178d565b604081015161ffff16610a165760405162461bcd60e51b815260040161035c90611576565b6040516355cd56ff60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab9aadfe90610a65908d90600401611520565b60206040518083038186803b158015610a7d57600080fd5b505afa158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab59190611508565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab9aadfe876040518263ffffffff1660e01b8152600401610b059190611520565b60206040518083038186803b158015610b1d57600080fd5b505afa158015610b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b559190611508565b90506000610b67826106918b86611113565b9050610b7b8661069183600160701b611113565b9050610bac6305f5e100610691866040015161ffff166107b6896040015161ffff168661111390919063ffffffff16565b9c9b505050505050505050505050565b6000610bc6611186565b506001600160a01b0384166000908152604260209081526040918290208251606081018452905461ffff8082168352620100008204811693830193909352600160201b900490911691810182905290610c315760405162461bcd60e51b815260040161035c9061165d565b6000610c8b600160701b610691877f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab9aadfe8b6040518263ffffffff1660e01b81526004016107669190611520565b9050610cae612710610691846000015161ffff168461111390919063ffffffff16565b9695505050505050565b6001546001600160a01b031681565b6001546001600160a01b03163314610cf15760405162461bcd60e51b815260040161035c906115a2565b600180546001600160a01b03191690556000805462010000600160b01b03191633620100008102919091179091556040517fd345d81ce68c70b119a17eee79dc1421700bd9cb21ca148a62dc90983964e82f91610d4d91611520565b60405180910390a1565b6040516355cd56ff60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab9aadfe90610da6908590600401611520565b60206040518083038186803b158015610dbe57600080fd5b505afa925050508015610dee575060408051601f3d908101601f19168201909252610deb91810190611508565b60015b610dfa57506000610e2f565b8015801590610e2b57506001600160a01b038316600090815260426020526040902054600160201b900461ffff1615155b9150505b919050565b6000546201000090046001600160a01b03163314610e645760405162461bcd60e51b815260040161035c90611610565b8051825114610e855760405162461bcd60e51b815260040161035c906117b8565b60005b825181101561051457612710828281518110610ea057fe5b60200260200101516000015161ffff161015610ece5760405162461bcd60e51b815260040161035c9061174a565b612710828281518110610edd57fe5b60200260200101516020015161ffff161115610f0b5760405162461bcd60e51b815260040161035c906116cd565b612710828281518110610f1a57fe5b60200260200101516040015161ffff161015610f485760405162461bcd60e51b815260040161035c90611713565b614e20828281518110610f5757fe5b60200260200101516040015161ffff161115610f855760405162461bcd60e51b815260040161035c906117e5565b818181518110610f9157fe5b602002602001015160426000858481518110610fa957fe5b6020908102919091018101516001600160a01b031682528181019290925260409081016000208351815493850151949092015161ffff1990931661ffff9283161763ffff0000191662010000948316949094029390931765ffff000000001916600160201b9190921602179055825183908290811061102457fe5b60200260200101516001600160a01b03167fc35b295ca62f561378f46da3a41b523fb1dc01cfb8d4036f8aa13363958ed45883838151811061106257fe5b6020026020010151604051611077919061181c565b60405180910390a2600101610e88565b6000546201000090046001600160a01b031633146110b75760405162461bcd60e51b815260040161035c90611610565b600180546001600160a01b0319166001600160a01b0383161790556040517f964dea888b00b2ab53f13dfe7ca334b46e99338c222ae232d98547a1da019f6090611102908390611520565b60405180910390a150565b3b151590565b60008261112257506000610311565b8282028284828161112f57fe5b041461114d5760405162461bcd60e51b815260040161035c9061168c565b9392505050565b60008082116111755760405162461bcd60e51b815260040161035c906115d9565b81838161117e57fe5b049392505050565b604080516060810182526000808252602082018190529181019190915290565b600082601f8301126111b6578081fd5b81356111c96111c482611894565b61186d565b8181529150602080830190848101818402860182018710156111ea57600080fd5b60005b84811015611212578135611200816118b4565b845292820192908201906001016111ed565b505050505092915050565b60006060828403121561122e578081fd5b611238606061186d565b90506112448383611270565b81526112538360208401611270565b60208201526112658360408401611270565b604082015292915050565b803561ffff8116811461031157600080fd5b600060208284031215611293578081fd5b813561114d816118b4565b6000602082840312156112af578081fd5b815161114d816118b4565b600080600080608085870312156112cf578283fd5b84356112da816118b4565b935060208501356112ea816118b4565b93969395505050506040820135916060013590565b60008060408385031215611311578182fd5b823561131c816118b4565b946020939093013593505050565b60008060006060848603121561133e578283fd5b8335611349816118b4565b9250602084013591506040840135611360816118b4565b809150509250925092565b60008060008060808587031215611380578384fd5b843561138b816118b4565b9350602085013592506040850135915060608501356113a9816118b4565b939692955090935050565b6000602082840312156113c5578081fd5b813567ffffffffffffffff8111156113db578182fd5b6113e7848285016111a6565b949350505050565b60008060408385031215611401578182fd5b823567ffffffffffffffff80821115611418578384fd5b611424868387016111a6565b935060209150818501358181111561143a578384fd5b85019050601f8101861361144c578283fd5b803561145a6111c482611894565b818152838101908385016060808502860187018b1015611478578788fd5b8795505b848610156114a45761148e8b8361121d565b845260019590950194928601929081019061147c565b5096999098509650505050505050565b600080604083850312156114c6578182fd5b823567ffffffffffffffff8111156114dc578283fd5b6114e8858286016111a6565b925050602083013580151581146114fd578182fd5b809150509250929050565b600060208284031215611519578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b60208082526019908201527f62616420756e6465726c79696e6720636f6c6c61746572616c00000000000000604082015260600190565b602080825260129082015271189859081d5b99195c9b1e5a5b99c81bdd5d60721b604082015260600190565b60208082526018908201527f6e6f74207468652070656e64696e6720676f7665726e6f720000000000000000604082015260600190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b60208082526010908201526f3737ba103a34329033b7bb32b93737b960811b604082015260600190565b6020808252600990820152683130b2103a37b5b2b760b91b604082015260600190565b60208082526015908201527462616420756e6465726c79696e6720626f72726f7760581b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526026908201527f636f6c6c61746572616c20666163746f72206d757374206265206174206d6f7360408201526574203130302560d01b606082015260800190565b6020808252601f908201527f696e63656e74697665206d757374206265206174206c65617374203130302500604082015260600190565b60208082526023908201527f626f72726f7720666163746f72206d757374206265206174206c65617374203160408201526230302560e81b606082015260800190565b6020808252601190820152703130b2103ab73232b9363cb4b7339034b760791b604082015260600190565b6020808252601390820152720d2dcc6dedce6d2e6e8cadce840d8cadccee8d606b1b604082015260600190565b6020808252601e908201527f696e63656e74697665206d757374206265206174206d6f737420323030250000604082015260600190565b815161ffff9081168252602080840151821690830152604092830151169181019190915260600190565b61ffff93841681529183166020830152909116604082015260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561188c57600080fd5b604052919050565b600067ffffffffffffffff8211156118aa578081fd5b5060209081020190565b6001600160a01b03811681146118c957600080fd5b5056fea264697066735822122076e22c678bd1854b006f262320e497895f41af05523732887b7376c72fd9211864736f6c634300060c0033",
  "deployedSourceMap": "329:6604:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;321:23:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3359:279:36;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1196:48::-;;;;;;:::i;:::-;;:::i;2535:215::-;;;;;;:::i;:::-;;:::i;:::-;;1033:35;;;:::i;2917:228::-;;;;;;:::i;:::-;;:::i;1094:52::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;5229:700::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3909:978::-;;;;;;:::i;:::-;;:::i;6206:381::-;;;;;;:::i;:::-;;:::i;373:30:17:-;;;:::i;1234:210::-;;;:::i;6702:229:36:-;;;;;;:::i;:::-;;:::i;1640:773::-;;;;;;:::i;:::-;;:::i;981:163:17:-;;;;;;:::i;:::-;;:::i;321:23::-;;;;;;-1:-1:-1;;;;;321:23:17;;:::o;3359:279:36:-;-1:-1:-1;;;;;3461:23:36;;3444:4;3461:23;;;:16;:23;;;;;;;;3456:42;;-1:-1:-1;3493:5:36;3486:12;;3456:42;3530:43;;-1:-1:-1;;;3530:43:36;;3504:23;;-1:-1:-1;;;;;3530:39:36;;;;;:43;;3570:2;;3530:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3586:29:36;;;;;:12;:29;;;;;:42;-1:-1:-1;;;3586:42:36;;;;:47;;;-1:-1:-1;;3359:279:36;;;;;:::o;1196:48::-;;;;;;;;;;;;;;;:::o;2535:215::-;566:8:17;;;;;-1:-1:-1;;;;;566:8:17;552:10;:22;544:51;;;;-1:-1:-1;;;544:51:17;;;;;;;:::i;:::-;;;;;;;;;2615:8:36::1;2610:136;2635:6;:13;2629:3;:19;2610:136;;;2672:12;:25;2685:6;2692:3;2685:11;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;2672:25:36::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;2672:25:36;2665:32;;-1:-1:-1;;2665:32:36;;;2727:11;;:6;;2734:3;;2727:11;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;2710:29:36::1;;;;;;;;;;;2650:5;;2610:136;;;;2535:215:::0;:::o;1033:35::-;;;:::o;2917:228::-;566:8:17;;;;;-1:-1:-1;;;;;566:8:17;552:10;:22;544:51;;;;-1:-1:-1;;;544:51:17;;;;;;;:::i;:::-;3008:8:36::1;3003:138;3028:6;:13;3022:3;:19;3003:138;;;3090:2;3058:16;:29;3075:6;3082:3;3075:11;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3058:29:36::1;-1:-1:-1::0;;;;;3058:29:36::1;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;3118:6;3125:3;3118:11;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3105:29:36::1;;3131:2;3105:29;;;;;;:::i;:::-;;;;;;;;3043:5;;3003:138;;;;2917:228:::0;;:::o;1094:52::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1094:52:36;;;;;:::o;5229:700::-;-1:-1:-1;;;;;5378:23:36;;5358:4;5378:23;;;:16;:23;;;;;;;;5370:45;;;;-1:-1:-1;;;5370:45:36;;;;;;;:::i;:::-;5447:43;;-1:-1:-1;;;5447:43:36;;5421:23;;-1:-1:-1;;;;;5447:39:36;;;;;:43;;5487:2;;5447:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5421:69;;5496:19;5532:5;-1:-1:-1;;;;;5518:38:36;;5557:2;5518:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5496:64;-1:-1:-1;5566:21:36;5590:38;-1:-1:-1;;;5590:26:36;:6;5496:64;5590:10;:26::i;:::-;:30;;:38::i;:::-;5566:62;;5634:31;;:::i;:::-;-1:-1:-1;;;;;;5668:29:36;;;;;;:12;:29;;;;;;;;;5634:63;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5634:63:36;;;;;;;;;;;;5703:67;;;;-1:-1:-1;;;5703:67:36;;;;;;;:::i;:::-;5776:13;5792:66;-1:-1:-1;;;5792:54:36;5829:16;5792:6;-1:-1:-1;;;;;5792:15:36;;5808;5792:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;;:54::i;:66::-;5776:82;;5871:53;5918:5;5871:42;5884:11;:28;;;5871:42;;:8;:12;;:42;;;;:::i;:53::-;5864:60;5229:700;-1:-1:-1;;;;;;;;;;5229:700:36:o;3909:978::-;-1:-1:-1;;;;;4079:26:36;;4059:4;4079:26;;;:16;:26;;;;;;;;4071:48;;;;-1:-1:-1;;;4071:48:36;;;;;;;:::i;:::-;4154:54;;-1:-1:-1;;;4154:54:36;;4125:26;;-1:-1:-1;;;;;4154:42:36;;;;;:54;;4197:10;;4154:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4125:83;;4214:19;4250:8;-1:-1:-1;;;;;4236:41:36;;4278:10;4236:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4214:75;;4295:33;;:::i;:::-;-1:-1:-1;;;;;;4331:21:36;;;;;;:12;:21;;;;;;;;;4295:57;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4295:57:36;;;;;;;;;;;;4358:34;;:::i;:::-;-1:-1:-1;;;;;;4395:32:36;;;;;;:12;:32;;;;;;;;;4358:69;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4358:69:36;;;;;;;;4441:26;;;;:31;4433:61;;;;-1:-1:-1;;;4433:61:36;;;;;;;:::i;:::-;4508:27;;;;:32;;4500:63;;;;-1:-1:-1;;;4500:63:36;;;;;;;:::i;:::-;4581:24;;-1:-1:-1;;;4581:24:36;;4569:9;;-1:-1:-1;;;;;4581:6:36;:15;;;;:24;;4597:7;;4581:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4569:36;;4611:10;4624:6;-1:-1:-1;;;;;4624:15:36;;4640:18;4624:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4611:48;-1:-1:-1;4665:14:36;4682:29;4611:48;4682:18;:8;4695:4;4682:12;:18::i;:29::-;4665:46;-1:-1:-1;4729:41:36;4755:14;4729:21;4665:46;-1:-1:-1;;;4729:13:36;:21::i;:41::-;4717:53;;4789:93;4868:13;4789:74;4835:14;:27;;;4789:74;;:41;4803:13;:26;;;4789:41;;:9;:13;;:41;;;;:::i;:93::-;4776:106;3909:978;-1:-1:-1;;;;;;;;;;;;3909:978:36:o;6206:381::-;6318:4;6330:31;;:::i;:::-;-1:-1:-1;;;;;;6364:19:36;;;;;;:12;:19;;;;;;;;;6330:53;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6330:53:36;;;;;;;;;;;;6389:63;;;;-1:-1:-1;;;6389:63:36;;;;;;;:::i;:::-;6458:13;6474:46;-1:-1:-1;;;6474:34:36;6501:6;6474;-1:-1:-1;;;;;6474:15:36;;6490:5;6474:22;;;;;;;;;;;;;;;:::i;:46::-;6458:62;;6533:49;6576:5;6533:38;6546:11;:24;;;6533:38;;:8;:12;;:38;;;;:::i;:49::-;6526:56;6206:381;-1:-1:-1;;;;;;6206:381:36:o;373:30:17:-;;;-1:-1:-1;;;;;373:30:17;;:::o;1234:210::-;1297:15;;-1:-1:-1;;;;;1297:15:17;1283:10;:29;1275:66;;;;-1:-1:-1;;;1275:66:17;;;;;;;:::i;:::-;1347:15;:28;;-1:-1:-1;;;;;;1347:28:17;;;-1:-1:-1;1381:21:17;;-1:-1:-1;;;;;;1381:21:17;1392:10;1381:21;;;;;;;;;;1413:26;;;;;;;:::i;:::-;;;;;;;;1234:210::o;6702:229:36:-;6782:22;;-1:-1:-1;;;6782:22:36;;6766:4;;-1:-1:-1;;;;;6782:6:36;:15;;;;:22;;6798:5;;6782:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6782:22:36;;;;;;;;-1:-1:-1;;6782:22:36;;;;;;;;;;;;:::i;:::-;;;6778:149;;-1:-1:-1;6915:5:36;6908:12;;6778:149;6838:7;;;;;:48;;-1:-1:-1;;;;;;6849:19:36;;;;;;:12;:19;;;;;:32;-1:-1:-1;;;6849:32:36;;;;:37;;6838:48;6831:55;;;6778:149;6702:229;;;:::o;1640:773::-;566:8:17;;;;;-1:-1:-1;;;;;566:8:17;552:10;:22;544:51;;;;-1:-1:-1;;;544:51:17;;;;;;;:::i;:::-;1785:13:36::1;:20;1768:6;:13;:37;1760:69;;;;-1:-1:-1::0;;;1760:69:36::1;;;;;;;:::i;:::-;1840:8;1835:574;1860:6;:13;1854:3;:19;1835:574;;;1933:5;1898:13;1912:3;1898:18;;;;;;;;;;;;;;:31;;;:40;;;;1890:88;;;;-1:-1:-1::0;;;1890:88:36::1;;;;;;;:::i;:::-;2042:5;2003:13;2017:3;2003:18;;;;;;;;;;;;;;:35;;;:44;;;;1986:119;;;;-1:-1:-1::0;;;1986:119:36::1;;;;;;;:::i;:::-;2156:5;2121:13;2135:3;2121:18;;;;;;;;;;;;;;:31;;;:40;;;;2113:84;;;;-1:-1:-1::0;;;2113:84:36::1;;;;;;;:::i;:::-;2248:5;2213:13;2227:3;2213:18;;;;;;;;;;;;;;:31;;;:40;;;;2205:83;;;;-1:-1:-1::0;;;2205:83:36::1;;;;;;;:::i;:::-;2324:13;2338:3;2324:18;;;;;;;;;;;;;;2296:12;:25;2309:6;2316:3;2309:11;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;2296:25:36::1;::::0;;;;::::1;::::0;;;;;;;;-1:-1:-1;2296:25:36;:46;;;;;;::::1;::::0;;;;::::1;::::0;-1:-1:-1;;2296:46:36;;::::1;;::::0;;::::1;;-1:-1:-1::0;;2296:46:36::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;2296:46:36::1;-1:-1:-1::0;;;2296:46:36;;;::::1;;;::::0;;2370:11;;;;2377:3;;2370:11;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;2355:47:36::1;;2383:13;2397:3;2383:18;;;;;;;;;;;;;;2355:47;;;;;;:::i;:::-;;;;;;;;1875:5;;1835:574;;981:163:17::0;566:8;;;;;-1:-1:-1;;;;;566:8:17;552:10;:22;544:51;;;;-1:-1:-1;;;544:51:17;;;;;;;:::i;:::-;1058:15:::1;:34:::0;;-1:-1:-1;;;;;;1058:34:17::1;-1:-1:-1::0;;;;;1058:34:17;::::1;;::::0;;1103:36:::1;::::0;::::1;::::0;::::1;::::0;1058:34;;1103:36:::1;:::i;:::-;;;;;;;;981:163:::0;:::o;726:413:14:-;1086:20;1124:8;;;726:413::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;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:4:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:4;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:4:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;301:707::-;;418:3;411:4;403:6;399:17;395:27;385:2;;-1:-1;;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;603:21;;;486:89;-1:-1;647:4;660:14;;;;635:17;;;749;;;740:27;;;;737:36;-1:-1;734:2;;;786:1;;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;85:6;72:20;97:33;124:5;97:33;:::i;:::-;889:50;;953:14;;;;981;;;;843:1;836:9;796:206;;;800:14;;;;;378:630;;;;:::o;2035:642::-;;2155:4;2143:9;2138:3;2134:19;2130:30;2127:2;;;-1:-1;;2163:12;2127:2;2191:20;2155:4;2191:20;:::i;:::-;2182:29;;2301:48;2345:3;2321:22;2301:48;:::i;:::-;2283:16;2276:74;2456:48;2500:3;2423:2;2480:9;2476:22;2456:48;:::i;:::-;2423:2;2442:5;2438:16;2431:74;2607:48;2651:3;2574:2;2631:9;2627:22;2607:48;:::i;:::-;2574:2;2593:5;2589:16;2582:74;2121:556;;;;:::o;2684:128::-;2750:20;;23274:6;23263:18;;24485:34;;24475:2;;24533:1;;24523:12;3097:241;;3201:2;3189:9;3180:7;3176:23;3172:32;3169:2;;;-1:-1;;3207:12;3169:2;85:6;72:20;97:33;124:5;97:33;:::i;3345:263::-;;3460:2;3448:9;3439:7;3435:23;3431:32;3428:2;;;-1:-1;;3466:12;3428:2;226:6;220:13;238:33;265:5;238:33;:::i;3615:617::-;;;;;3770:3;3758:9;3749:7;3745:23;3741:33;3738:2;;;-1:-1;;3777:12;3738:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;3829:63;-1:-1;3929:2;3968:22;;72:20;97:33;72:20;97:33;:::i;:::-;3732:500;;3937:63;;-1:-1;;;;4037:2;4076:22;;2886:20;;4145:2;4184:22;2886:20;;3732:500::o;4239:366::-;;;4360:2;4348:9;4339:7;4335:23;4331:32;4328:2;;;-1:-1;;4366:12;4328:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;4418:63;4518:2;4557:22;;;;2886:20;;-1:-1;;;4322:283::o;4612:491::-;;;;4750:2;4738:9;4729:7;4725:23;4721:32;4718:2;;;-1:-1;;4756:12;4718:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;4808:63;-1:-1;4908:2;4947:22;;2886:20;;-1:-1;5016:2;5055:22;;72:20;97:33;72:20;97:33;:::i;:::-;5024:63;;;;4712:391;;;;;:::o;5110:617::-;;;;;5265:3;5253:9;5244:7;5240:23;5236:33;5233:2;;;-1:-1;;5272:12;5233:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;5324:63;-1:-1;5424:2;5463:22;;2886:20;;-1:-1;5532:2;5571:22;;2886:20;;-1:-1;5640:2;5679:22;;72:20;97:33;72:20;97:33;:::i;:::-;5227:500;;;;-1:-1;5227:500;;-1:-1;;5227:500::o;5734:377::-;;5863:2;5851:9;5842:7;5838:23;5834:32;5831:2;;;-1:-1;;5869:12;5831:2;5927:17;5914:31;5965:18;5957:6;5954:30;5951:2;;;-1:-1;;5987:12;5951:2;6017:78;6087:7;6078:6;6067:9;6063:22;6017:78;:::i;:::-;6007:88;5825:286;-1:-1;;;;5825:286::o;6118:700::-;;;6320:2;6308:9;6299:7;6295:23;6291:32;6288:2;;;-1:-1;;6326:12;6288:2;6384:17;6371:31;6422:18;;6414:6;6411:30;6408:2;;;-1:-1;;6444:12;6408:2;6474:78;6544:7;6535:6;6524:9;6520:22;6474:78;:::i;:::-;6464:88;;6617:2;;;;6606:9;6602:18;6589:32;6422:18;6633:6;6630:30;6627:2;;;-1:-1;;6663:12;6627:2;6770:22;;;-1:-1;1199:4;1187:17;;1183:27;-1:-1;1173:2;;-1:-1;;1214:12;1173:2;1261:6;1248:20;1283:111;1298:95;1386:6;1298:95;:::i;1283:111::-;1422:21;;;1479:14;;;;1454:17;;;1580:4;1568:17;;;1559:27;;;;1556:36;-1:-1;1553:2;;;-1:-1;;1595:12;1553:2;-1:-1;1621:10;;1615:237;1640:6;1637:1;1634:13;1615:237;;;1720:68;1784:3;1772:10;1720:68;:::i;:::-;1708:81;;1662:1;1655:9;;;;;1803:14;;;;1831;;;;1615:237;;;-1:-1;6282:536;;6683:119;;-1:-1;6282:536;-1:-1;;;;;;;6282:536::o;6825:496::-;;;6968:2;6956:9;6947:7;6943:23;6939:32;6936:2;;;-1:-1;;6974:12;6936:2;7032:17;7019:31;7070:18;7062:6;7059:30;7056:2;;;-1:-1;;7092:12;7056:2;7122:78;7192:7;7183:6;7172:9;7168:22;7122:78;:::i;:::-;7112:88;;;7237:2;7277:9;7273:22;1930:20;24390:5;23176:13;23169:21;24368:5;24365:32;24355:2;;-1:-1;;24401:12;24355:2;7245:60;;;;6930:391;;;;;:::o;7328:263::-;;7443:2;7431:9;7422:7;7418:23;7414:32;7411:2;;;-1:-1;;7449:12;7411:2;-1:-1;3034:13;;7405:186;-1:-1;7405:186::o;14019:222::-;-1:-1;;;;;23355:54;;;;7818:37;;14146:2;14131:18;;14117:124::o;14493:210::-;23176:13;;23169:21;7932:34;;14614:2;14599:18;;14585:118::o;14981:416::-;15181:2;15195:47;;;8378:2;15166:18;;;22944:19;8414:27;22984:14;;;8394:48;8461:12;;;15152:245::o;15404:416::-;15604:2;15618:47;;;8712:2;15589:18;;;22944:19;-1:-1;;;22984:14;;;8728:41;8788:12;;;15575:245::o;15827:416::-;16027:2;16041:47;;;9039:2;16012:18;;;22944:19;9075:26;22984:14;;;9055:47;9121:12;;;15998:245::o;16250:416::-;16450:2;16464:47;;;9372:2;16435:18;;;22944:19;9408:28;22984:14;;;9388:49;9456:12;;;16421:245::o;16673:416::-;16873:2;16887:47;;;9707:2;16858:18;;;22944:19;-1:-1;;;22984:14;;;9723:39;9781:12;;;16844:245::o;17096:416::-;17296:2;17310:47;;;10032:1;17281:18;;;22944:19;-1:-1;;;22984:14;;;10047:32;10098:12;;;17267:245::o;17519:416::-;17719:2;17733:47;;;10349:2;17704:18;;;22944:19;-1:-1;;;22984:14;;;10365:44;10428:12;;;17690:245::o;17942:416::-;18142:2;18156:47;;;10679:2;18127:18;;;22944:19;10715:34;22984:14;;;10695:55;-1:-1;;;10770:12;;;10763:25;10807:12;;;18113:245::o;18365:416::-;18565:2;18579:47;;;11058:2;18550:18;;;22944:19;11094:34;22984:14;;;11074:55;-1:-1;;;11149:12;;;11142:30;11191:12;;;18536:245::o;18788:416::-;18988:2;19002:47;;;11442:2;18973:18;;;22944:19;11478:33;22984:14;;;11458:54;11531:12;;;18959:245::o;19211:416::-;19411:2;19425:47;;;11782:2;19396:18;;;22944:19;11818:34;22984:14;;;11798:55;-1:-1;;;11873:12;;;11866:27;11912:12;;;19382:245::o;19634:416::-;19834:2;19848:47;;;12163:2;19819:18;;;22944:19;-1:-1;;;22984:14;;;12179:40;12238:12;;;19805:245::o;20057:416::-;20257:2;20271:47;;;12489:2;20242:18;;;22944:19;-1:-1;;;22984:14;;;12505:42;12566:12;;;20228:245::o;20480:416::-;20680:2;20694:47;;;12817:2;20665:18;;;22944:19;12853:32;22984:14;;;12833:53;12905:12;;;20651:245::o;20903:346::-;13233:23;;23274:6;23263:18;;;13734:36;;13414:4;13403:16;;;13397:23;23263:18;;13472:14;;;13734:36;13574:4;13563:16;;;13557:23;23263:18;13632:14;;;13734:36;;;;21092:2;21077:18;;21063:186::o;21256:432::-;23274:6;23263:18;;;13734:36;;23263:18;;;21593:2;21578:18;;13734:36;23263:18;;;21674:2;21659:18;;13734:36;21433:2;21418:18;;21404:284::o;21695:222::-;13970:37;;;21822:2;21807:18;;21793:124::o;21924:256::-;21986:2;21980:9;22012:17;;;22087:18;22072:34;;22108:22;;;22069:62;22066:2;;;22144:1;;22134:12;22066:2;21986;22153:22;21964:216;;-1:-1;21964:216::o;22187:304::-;;22346:18;22338:6;22335:30;22332:2;;;-1:-1;;22368:12;22332:2;-1:-1;22413:4;22401:17;;;22466:15;;22269:222::o;24185:117::-;-1:-1;;;;;23355:54;;24244:35;;24234:2;;24293:1;;24283:12;24234:2;24228:74;:::o",
  "language": "Solidity",
  "natspec": {
    "events": {
      "SetTokenFactor(address,(uint16,uint16,uint16))": {
        "notice": "The governor sets oracle token factor for a token."
      },
      "SetWhitelist(address,bool)": {
        "notice": "The governor sets token whitelist for an ERC1155 token."
      },
      "UnsetTokenFactor(address)": {
        "notice": "The governor unsets oracle token factor for a token."
      }
    },
    "kind": "dev",
    "methods": {
      "acceptGovernor()": {
        "details": "Accept to become the new governor. Must be called by the pending governor."
      },
      "asETHBorrow(address,uint256,address)": {
        "details": "Return the value of the given input as ETH for borrow purpose.",
        "params": {
          "amount": "ERC20 token amount to get borrow value",
          "owner": "Token owner address (currently unused by this implementation)",
          "token": "ERC20 token address to get borrow value"
        }
      },
      "asETHCollateral(address,uint256,uint256,address)": {
        "details": "Return the value of the given input as ETH for collateral purpose.",
        "params": {
          "amount": "Token amount to get collateral value",
          "id": "ERC1155 token id to get collateral value",
          "owner": "Token owner address (currently unused by this implementation)",
          "token": "ERC1155 token address to get collateral value"
        }
      },
      "constructor": {
        "details": "Create the contract and initialize the first governor."
      },
      "convertForLiquidation(address,address,uint256,uint256)": {
        "details": "Return the amount of token out as liquidation reward for liquidating token in.",
        "params": {
          "amountIn": "Input ERC20 token amount",
          "tokenIn": "Input ERC20 token",
          "tokenOut": "Output ERC1155 token",
          "tokenOutId": "Output ERC1155 token id"
        }
      },
      "setPendingGovernor(address)": {
        "details": "Set the pending governor, which will be the governor once accepted.",
        "params": {
          "_pendingGovernor": "The address to become the pending governor."
        }
      },
      "setTokenFactors(address[],(uint16,uint16,uint16)[])": {
        "details": "Set oracle token factors for the given list of token addresses.",
        "params": {
          "_tokenFactors": "List of oracle token factors",
          "tokens": "List of tokens to set info"
        }
      },
      "setWhitelistERC1155(address[],bool)": {
        "details": "Set whitelist status for the given list of token addresses.",
        "params": {
          "ok": "Whitelist status",
          "tokens": "List of tokens to set whitelist status"
        }
      },
      "support(address)": {
        "details": "Return whether the ERC20 token is supported",
        "params": {
          "token": "The ERC20 token to check for support"
        }
      },
      "supportWrappedToken(address,uint256)": {
        "details": "Return whether the oracle supports evaluating collateral value of the given token.",
        "params": {
          "id": "ERC1155 token id to check for support",
          "token": "ERC1155 token address to check for support"
        }
      },
      "unsetTokenFactors(address[])": {
        "details": "Unset token factors for the given list of token addresses",
        "params": {
          "tokens": "List of tokens to unset info"
        }
      }
    },
    "version": 1
  },
  "offset": [
    329,
    6933
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x83454832 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xE58BB639 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xE58BB639 EQ PUSH2 0x1EB JUMPI DUP1 PUSH4 0xE660CC08 EQ PUSH2 0x1F3 JUMPI DUP1 PUSH4 0xE7A9883E EQ PUSH2 0x206 JUMPI DUP1 PUSH4 0xF235757F EQ PUSH2 0x219 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x83454832 EQ PUSH2 0x19D JUMPI DUP1 PUSH4 0xC38E795C EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0xD596BC03 EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xE3056A34 EQ PUSH2 0x1E3 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x6437388A GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x6437388A EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0x67E828BF EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0x78513230 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0x7B3B022D EQ PUSH2 0x17B JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0xC340A24 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x2461A409 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x495621FB EQ PUSH2 0x138 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x22C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1520 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12B PUSH2 0x126 CALLDATASIZE PUSH1 0x4 PUSH2 0x12FF JUMP JUMPDEST PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1534 JUMP JUMPDEST PUSH2 0x12B PUSH2 0x146 CALLDATASIZE PUSH1 0x4 PUSH2 0x1282 JUMP JUMPDEST PUSH2 0x317 JUMP JUMPDEST PUSH2 0x15E PUSH2 0x159 CALLDATASIZE PUSH1 0x4 PUSH2 0x13B4 JUMP JUMPDEST PUSH2 0x32C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x102 PUSH2 0x408 JUMP JUMPDEST PUSH2 0x15E PUSH2 0x176 CALLDATASIZE PUSH1 0x4 PUSH2 0x14B4 JUMP JUMPDEST PUSH2 0x42C JUMP JUMPDEST PUSH2 0x18E PUSH2 0x189 CALLDATASIZE PUSH1 0x4 PUSH2 0x1282 JUMP JUMPDEST PUSH2 0x519 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1846 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x136B JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1864 JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x1CB CALLDATASIZE PUSH1 0x4 PUSH2 0x12BA JUMP JUMPDEST PUSH2 0x7ED JUMP JUMPDEST PUSH2 0x1B0 PUSH2 0x1DE CALLDATASIZE PUSH1 0x4 PUSH2 0x132A JUMP JUMPDEST PUSH2 0xBBC JUMP JUMPDEST PUSH2 0x102 PUSH2 0xCB8 JUMP JUMPDEST PUSH2 0x15E PUSH2 0xCC7 JUMP JUMPDEST PUSH2 0x12B PUSH2 0x201 CALLDATASIZE PUSH1 0x4 PUSH2 0x1282 JUMP JUMPDEST PUSH2 0xD57 JUMP JUMPDEST PUSH2 0x15E PUSH2 0x214 CALLDATASIZE PUSH1 0x4 PUSH2 0x13EF JUMP JUMPDEST PUSH2 0xE34 JUMP JUMPDEST PUSH2 0x15E PUSH2 0x227 CALLDATASIZE PUSH1 0x4 PUSH2 0x1282 JUMP JUMPDEST PUSH2 0x1087 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x43 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x269 JUMPI POP PUSH1 0x0 PUSH2 0x311 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x523BABB9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0xA4775772 SWAP1 PUSH2 0x298 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x1864 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2C4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2E8 SWAP2 SWAP1 PUSH2 0x129E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x42 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH2 0xFFFF AND ISZERO ISZERO SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x43 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x365 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x1610 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x404 JUMPI PUSH1 0x42 PUSH1 0x0 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x381 JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 DUP1 SLOAD PUSH6 0xFFFFFFFFFFFF NOT AND SWAP1 SSTORE DUP2 MLOAD DUP3 SWAP1 DUP3 SWAP1 DUP2 LT PUSH2 0x3BF JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x995B73152D62A9A92BD554852DB356F087E63690E0CB9656CEDD21A8D0E27C1B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 ADD PUSH2 0x368 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x45C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x1610 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x514 JUMPI DUP2 PUSH1 0x43 PUSH1 0x0 DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x479 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP3 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x4C4 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xF6019EC0A78D156D249A1EC7579E2321F6AC7521D6E1D2EACF90BA4A184DCCEB DUP4 PUSH1 0x40 MLOAD PUSH2 0x504 SWAP2 SWAP1 PUSH2 0x1534 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 ADD PUSH2 0x45F JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x42 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xFFFF DUP1 DUP3 AND SWAP2 PUSH3 0x10000 DUP2 DIV DUP3 AND SWAP2 PUSH1 0x1 PUSH1 0x20 SHL SWAP1 SWAP2 DIV AND DUP4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x43 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x57C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x163A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x523BABB9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH4 0xA4775772 SWAP1 PUSH2 0x5AB SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1864 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x5C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x5D7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5FB SWAP2 SWAP1 PUSH2 0x129E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xAF8002DF DUP8 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x62B SWAP2 SWAP1 PUSH2 0x1864 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x657 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x67B SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x697 PUSH1 0x1 PUSH1 0x70 SHL PUSH2 0x691 DUP9 DUP6 PUSH2 0x1113 JUMP JUMPDEST SWAP1 PUSH2 0x1154 JUMP JUMPDEST SWAP1 POP PUSH2 0x6A1 PUSH2 0x1186 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x42 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH2 0xFFFF DUP1 DUP3 AND DUP4 MSTORE PUSH3 0x10000 DUP3 DIV DUP2 AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV SWAP1 SWAP2 AND SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x70C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x153F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7BC PUSH1 0x1 PUSH1 0x70 SHL PUSH2 0x691 DUP6 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xAB9AADFE DUP11 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x766 SWAP2 SWAP1 PUSH2 0x1520 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x77E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x792 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7B6 SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST SWAP1 PUSH2 0x1113 JUMP JUMPDEST SWAP1 POP PUSH2 0x7DF PUSH2 0x2710 PUSH2 0x691 DUP5 PUSH1 0x20 ADD MLOAD PUSH2 0xFFFF AND DUP5 PUSH2 0x1113 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x43 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x825 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x163A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x523BABB9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH4 0xA4775772 SWAP1 PUSH2 0x854 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x1864 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x86C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x880 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x8A4 SWAP2 SWAP1 PUSH2 0x129E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xAF8002DF DUP7 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8D4 SWAP2 SWAP1 PUSH2 0x1864 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x900 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x924 SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST SWAP1 POP PUSH2 0x92E PUSH2 0x1186 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x42 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH2 0xFFFF DUP1 DUP3 AND DUP4 MSTORE PUSH3 0x10000 DUP3 DIV DUP2 AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV SWAP1 SWAP2 AND SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x985 PUSH2 0x1186 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x42 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH2 0xFFFF DUP1 DUP3 AND DUP4 MSTORE PUSH3 0x10000 DUP3 DIV DUP2 AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV DUP3 AND DUP2 DUP5 ADD MSTORE SWAP2 DUP4 ADD MLOAD AND PUSH2 0x9F1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x178D JUMP JUMPDEST PUSH1 0x40 DUP2 ADD MLOAD PUSH2 0xFFFF AND PUSH2 0xA16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x1576 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x55CD56FF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP1 PUSH4 0xAB9AADFE SWAP1 PUSH2 0xA65 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x1520 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA91 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAB5 SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xAB9AADFE DUP8 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB05 SWAP2 SWAP1 PUSH2 0x1520 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB31 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xB55 SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xB67 DUP3 PUSH2 0x691 DUP12 DUP7 PUSH2 0x1113 JUMP JUMPDEST SWAP1 POP PUSH2 0xB7B DUP7 PUSH2 0x691 DUP4 PUSH1 0x1 PUSH1 0x70 SHL PUSH2 0x1113 JUMP JUMPDEST SWAP1 POP PUSH2 0xBAC PUSH4 0x5F5E100 PUSH2 0x691 DUP7 PUSH1 0x40 ADD MLOAD PUSH2 0xFFFF AND PUSH2 0x7B6 DUP10 PUSH1 0x40 ADD MLOAD PUSH2 0xFFFF AND DUP7 PUSH2 0x1113 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC6 PUSH2 0x1186 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x42 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH2 0xFFFF DUP1 DUP3 AND DUP4 MSTORE PUSH3 0x10000 DUP3 DIV DUP2 AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV SWAP1 SWAP2 AND SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0xC31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x165D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC8B PUSH1 0x1 PUSH1 0x70 SHL PUSH2 0x691 DUP8 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xAB9AADFE DUP12 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x766 SWAP2 SWAP1 PUSH2 0x1520 JUMP JUMPDEST SWAP1 POP PUSH2 0xCAE PUSH2 0x2710 PUSH2 0x691 DUP5 PUSH1 0x0 ADD MLOAD PUSH2 0xFFFF AND DUP5 PUSH2 0x1113 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xCF1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x15A2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 DUP1 SLOAD PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT AND CALLER PUSH3 0x10000 DUP2 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0xD345D81CE68C70B119A17EEE79DC1421700BD9CB21CA148A62DC90983964E82F SWAP2 PUSH2 0xD4D SWAP2 PUSH2 0x1520 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x55CD56FF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP1 PUSH4 0xAB9AADFE SWAP1 PUSH2 0xDA6 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x1520 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xDBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xDEE JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xDEB SWAP2 DUP2 ADD SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xDFA JUMPI POP PUSH1 0x0 PUSH2 0xE2F JUMP JUMPDEST DUP1 ISZERO DUP1 ISZERO SWAP1 PUSH2 0xE2B JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x42 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x20 SHL SWAP1 DIV PUSH2 0xFFFF AND ISZERO ISZERO JUMPDEST SWAP2 POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x1610 JUMP JUMPDEST DUP1 MLOAD DUP3 MLOAD EQ PUSH2 0xE85 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x17B8 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x514 JUMPI PUSH2 0x2710 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xEA0 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH2 0xFFFF AND LT ISZERO PUSH2 0xECE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x174A JUMP JUMPDEST PUSH2 0x2710 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xEDD JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x20 ADD MLOAD PUSH2 0xFFFF AND GT ISZERO PUSH2 0xF0B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x16CD JUMP JUMPDEST PUSH2 0x2710 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xF1A JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 ADD MLOAD PUSH2 0xFFFF AND LT ISZERO PUSH2 0xF48 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x1713 JUMP JUMPDEST PUSH2 0x4E20 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xF57 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 ADD MLOAD PUSH2 0xFFFF AND GT ISZERO PUSH2 0xF85 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x17E5 JUMP JUMPDEST DUP2 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xF91 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x42 PUSH1 0x0 DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0xFA9 JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 MSTORE DUP2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 DUP2 ADD PUSH1 0x0 KECCAK256 DUP4 MLOAD DUP2 SLOAD SWAP4 DUP6 ADD MLOAD SWAP5 SWAP1 SWAP3 ADD MLOAD PUSH2 0xFFFF NOT SWAP1 SWAP4 AND PUSH2 0xFFFF SWAP3 DUP4 AND OR PUSH4 0xFFFF0000 NOT AND PUSH3 0x10000 SWAP5 DUP4 AND SWAP5 SWAP1 SWAP5 MUL SWAP4 SWAP1 SWAP4 OR PUSH6 0xFFFF00000000 NOT AND PUSH1 0x1 PUSH1 0x20 SHL SWAP2 SWAP1 SWAP3 AND MUL OR SWAP1 SSTORE DUP3 MLOAD DUP4 SWAP1 DUP3 SWAP1 DUP2 LT PUSH2 0x1024 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xC35B295CA62F561378F46DA3A41B523FB1DC01CFB8D4036F8AA13363958ED458 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1062 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1077 SWAP2 SWAP1 PUSH2 0x181C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 ADD PUSH2 0xE88 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x10B7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x1610 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x964DEA888B00B2AB53F13DFE7CA334B46E99338C222AE232D98547A1DA019F60 SWAP1 PUSH2 0x1102 SWAP1 DUP4 SWAP1 PUSH2 0x1520 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1122 JUMPI POP PUSH1 0x0 PUSH2 0x311 JUMP JUMPDEST DUP3 DUP3 MUL DUP3 DUP5 DUP3 DUP2 PUSH2 0x112F JUMPI INVALID JUMPDEST DIV EQ PUSH2 0x114D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x168C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x1175 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x35C SWAP1 PUSH2 0x15D9 JUMP JUMPDEST DUP2 DUP4 DUP2 PUSH2 0x117E JUMPI INVALID JUMPDEST DIV SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x11B6 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x11C9 PUSH2 0x11C4 DUP3 PUSH2 0x1894 JUMP JUMPDEST PUSH2 0x186D JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 POP PUSH1 0x20 DUP1 DUP4 ADD SWAP1 DUP5 DUP2 ADD DUP2 DUP5 MUL DUP7 ADD DUP3 ADD DUP8 LT ISZERO PUSH2 0x11EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1212 JUMPI DUP2 CALLDATALOAD PUSH2 0x1200 DUP2 PUSH2 0x18B4 JUMP JUMPDEST DUP5 MSTORE SWAP3 DUP3 ADD SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x11ED JUMP JUMPDEST POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x122E JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x1238 PUSH1 0x60 PUSH2 0x186D JUMP JUMPDEST SWAP1 POP PUSH2 0x1244 DUP4 DUP4 PUSH2 0x1270 JUMP JUMPDEST DUP2 MSTORE PUSH2 0x1253 DUP4 PUSH1 0x20 DUP5 ADD PUSH2 0x1270 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x1265 DUP4 PUSH1 0x40 DUP5 ADD PUSH2 0x1270 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0xFFFF DUP2 AND DUP2 EQ PUSH2 0x311 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1293 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x114D DUP2 PUSH2 0x18B4 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12AF JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x114D DUP2 PUSH2 0x18B4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x12CF JUMPI DUP3 DUP4 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x12DA DUP2 PUSH2 0x18B4 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x12EA DUP2 PUSH2 0x18B4 JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1311 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x131C DUP2 PUSH2 0x18B4 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x133E JUMPI DUP3 DUP4 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x1349 DUP2 PUSH2 0x18B4 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x1360 DUP2 PUSH2 0x18B4 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1380 JUMPI DUP4 DUP5 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x138B DUP2 PUSH2 0x18B4 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x13A9 DUP2 PUSH2 0x18B4 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13C5 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x13DB JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x13E7 DUP5 DUP3 DUP6 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1401 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1418 JUMPI DUP4 DUP5 REVERT JUMPDEST PUSH2 0x1424 DUP7 DUP4 DUP8 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 SWAP2 POP DUP2 DUP6 ADD CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x143A JUMPI DUP4 DUP5 REVERT JUMPDEST DUP6 ADD SWAP1 POP PUSH1 0x1F DUP2 ADD DUP7 SGT PUSH2 0x144C JUMPI DUP3 DUP4 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH2 0x145A PUSH2 0x11C4 DUP3 PUSH2 0x1894 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP4 DUP2 ADD SWAP1 DUP4 DUP6 ADD PUSH1 0x60 DUP1 DUP6 MUL DUP7 ADD DUP8 ADD DUP12 LT ISZERO PUSH2 0x1478 JUMPI DUP8 DUP9 REVERT JUMPDEST DUP8 SWAP6 POP JUMPDEST DUP5 DUP7 LT ISZERO PUSH2 0x14A4 JUMPI PUSH2 0x148E DUP12 DUP4 PUSH2 0x121D JUMP JUMPDEST DUP5 MSTORE PUSH1 0x1 SWAP6 SWAP1 SWAP6 ADD SWAP5 SWAP3 DUP7 ADD SWAP3 SWAP1 DUP2 ADD SWAP1 PUSH2 0x147C JUMP JUMPDEST POP SWAP7 SWAP10 SWAP1 SWAP9 POP SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14C6 JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x14DC JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH2 0x14E8 DUP6 DUP3 DUP7 ADD PUSH2 0x11A6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x14FD JUMPI DUP2 DUP3 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1519 JUMPI DUP1 DUP2 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x19 SWAP1 DUP3 ADD MSTORE PUSH32 0x62616420756E6465726C79696E6720636F6C6C61746572616C00000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x12 SWAP1 DUP3 ADD MSTORE PUSH18 0x189859081D5B99195C9B1E5A5B99C81BDD5D PUSH1 0x72 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x6E6F74207468652070656E64696E6720676F7665726E6F720000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206469766973696F6E206279207A65726F000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x3737BA103A34329033B7BB32B93737B9 PUSH1 0x81 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x9 SWAP1 DUP3 ADD MSTORE PUSH9 0x3130B2103A37B5B2B7 PUSH1 0xB9 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x15 SWAP1 DUP3 ADD MSTORE PUSH21 0x62616420756E6465726C79696E6720626F72726F77 PUSH1 0x58 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206D756C7469706C69636174696F6E206F766572666C6F PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x77 PUSH1 0xF8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x26 SWAP1 DUP3 ADD MSTORE PUSH32 0x636F6C6C61746572616C20666163746F72206D757374206265206174206D6F73 PUSH1 0x40 DUP3 ADD MSTORE PUSH6 0x742031303025 PUSH1 0xD0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1F SWAP1 DUP3 ADD MSTORE PUSH32 0x696E63656E74697665206D757374206265206174206C65617374203130302500 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x626F72726F7720666163746F72206D757374206265206174206C656173742031 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0x303025 PUSH1 0xE8 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x11 SWAP1 DUP3 ADD MSTORE PUSH17 0x3130B2103AB73232B9363CB4B7339034B7 PUSH1 0x79 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x13 SWAP1 DUP3 ADD MSTORE PUSH19 0xD2DCC6DEDCE6D2E6E8CADCE840D8CADCCEE8D PUSH1 0x6B SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1E SWAP1 DUP3 ADD MSTORE PUSH32 0x696E63656E74697665206D757374206265206174206D6F737420323030250000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP2 MLOAD PUSH2 0xFFFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD DUP3 AND SWAP1 DUP4 ADD MSTORE PUSH1 0x40 SWAP3 DUP4 ADD MLOAD AND SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH2 0xFFFF SWAP4 DUP5 AND DUP2 MSTORE SWAP2 DUP4 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP1 SWAP2 AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x188C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x18AA JUMPI DUP1 DUP2 REVERT JUMPDEST POP PUSH1 0x20 SWAP1 DUP2 MUL ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x18C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH23 0xE22C678BD1854B006F262320E497895F41AF0552373288 PUSH28 0x7376C72FD9211864736F6C634300060C003300000000000000000000 ",
  "pcMap": {
    "0": {
      "offset": [
        329,
        6933
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "5": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "CALLVALUE",
      "path": "36"
    },
    "6": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "7": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "8": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "12": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "REVERT",
      "path": "36"
    },
    "16": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "17": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "POP",
      "path": "36"
    },
    "18": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "21": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "LT",
      "path": "36"
    },
    "22": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF5"
    },
    "25": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "26": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "CALLDATALOAD",
      "path": "36"
    },
    "29": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "SHR",
      "path": "36"
    },
    "32": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "33": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x83454832"
    },
    "38": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "GT",
      "path": "36"
    },
    "39": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x97"
    },
    "42": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "43": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "44": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xE58BB639"
    },
    "49": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "GT",
      "path": "36"
    },
    "50": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x66"
    },
    "53": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "54": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "55": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xE58BB639"
    },
    "60": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "61": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1EB"
    },
    "64": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "65": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "66": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xE660CC08"
    },
    "71": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "72": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1F3"
    },
    "75": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "76": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "77": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xE7A9883E"
    },
    "82": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "83": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x206"
    },
    "86": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "87": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "88": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xF235757F"
    },
    "93": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "94": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x219"
    },
    "97": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "98": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF5"
    },
    "101": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMP",
      "path": "36"
    },
    "102": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "103": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "104": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x83454832"
    },
    "109": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "110": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x19D"
    },
    "113": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "114": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "115": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xC38E795C"
    },
    "120": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "121": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1BD"
    },
    "124": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "125": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "126": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xD596BC03"
    },
    "131": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "132": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1D0"
    },
    "135": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "136": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "137": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xE3056A34"
    },
    "142": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "143": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1E3"
    },
    "146": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "147": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF5"
    },
    "150": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMP",
      "path": "36"
    },
    "151": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "152": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "153": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x6437388A"
    },
    "158": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "GT",
      "path": "36"
    },
    "159": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xD3"
    },
    "162": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "163": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "164": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x6437388A"
    },
    "169": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "170": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x14B"
    },
    "173": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "174": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "175": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x67E828BF"
    },
    "180": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "181": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x160"
    },
    "184": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "185": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "186": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x78513230"
    },
    "191": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "192": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x168"
    },
    "195": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "196": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "197": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x7B3B022D"
    },
    "202": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "203": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x17B"
    },
    "206": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "207": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF5"
    },
    "210": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMP",
      "path": "36"
    },
    "211": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "212": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "213": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xC340A24"
    },
    "218": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "219": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFA"
    },
    "222": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "223": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "224": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x2461A409"
    },
    "229": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "230": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x118"
    },
    "233": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "234": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "235": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x495621FB"
    },
    "240": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "EQ",
      "path": "36"
    },
    "241": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x138"
    },
    "244": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "245": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "246": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "248": {
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "DUP1",
      "path": "36"
    },
    "249": {
      "first_revert": true,
      "fn": null,
      "offset": [
        329,
        6933
      ],
      "op": "REVERT",
      "path": "36"
    },
    "250": {
      "offset": [
        321,
        344
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "251": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x102"
    },
    "254": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x22C"
    },
    "257": {
      "fn": null,
      "jump": "i",
      "offset": [
        321,
        344
      ],
      "op": "JUMP",
      "path": "17"
    },
    "258": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "259": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "261": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "262": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x10F"
    },
    "265": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "266": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "267": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1520"
    },
    "270": {
      "fn": null,
      "jump": "i",
      "offset": [
        321,
        344
      ],
      "op": "JUMP",
      "path": "17"
    },
    "271": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "272": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "274": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "275": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "DUP1",
      "path": "17"
    },
    "276": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "277": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "SUB",
      "path": "17"
    },
    "278": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "279": {
      "fn": null,
      "offset": [
        321,
        344
      ],
      "op": "RETURN",
      "path": "17"
    },
    "280": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "281": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x12B"
    },
    "284": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x126"
    },
    "287": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "288": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "290": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x12FF"
    },
    "293": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "i",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMP",
      "path": "36"
    },
    "294": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "295": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x241"
    },
    "298": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "i",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMP",
      "path": "36"
    },
    "299": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "300": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "302": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "303": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x10F"
    },
    "306": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "307": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "308": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1534"
    },
    "311": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "i",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMP",
      "path": "36"
    },
    "312": {
      "offset": [
        1196,
        1244
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "313": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x12B"
    },
    "316": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x146"
    },
    "319": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "320": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "322": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1282"
    },
    "325": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "i",
      "offset": [
        1196,
        1244
      ],
      "op": "JUMP",
      "path": "36"
    },
    "326": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "327": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x317"
    },
    "330": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "i",
      "offset": [
        1196,
        1244
      ],
      "op": "JUMP",
      "path": "36"
    },
    "331": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "332": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x15E"
    },
    "335": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x159"
    },
    "338": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "339": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "341": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x13B4"
    },
    "344": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "jump": "i",
      "offset": [
        2535,
        2750
      ],
      "op": "JUMP",
      "path": "36"
    },
    "345": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "346": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x32C"
    },
    "349": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "jump": "i",
      "offset": [
        2535,
        2750
      ],
      "op": "JUMP",
      "path": "36"
    },
    "350": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "351": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "STOP",
      "path": "36"
    },
    "352": {
      "offset": [
        1033,
        1068
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "353": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        1033,
        1068
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x102"
    },
    "356": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        1033,
        1068
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x408"
    },
    "359": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "jump": "i",
      "offset": [
        1033,
        1068
      ],
      "op": "JUMP",
      "path": "36"
    },
    "360": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "361": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x15E"
    },
    "364": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x176"
    },
    "367": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "368": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "370": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x14B4"
    },
    "373": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "i",
      "offset": [
        2917,
        3145
      ],
      "op": "JUMP",
      "path": "36"
    },
    "374": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "375": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x42C"
    },
    "378": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "i",
      "offset": [
        2917,
        3145
      ],
      "op": "JUMP",
      "path": "36"
    },
    "379": {
      "offset": [
        1094,
        1146
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "380": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x18E"
    },
    "383": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x189"
    },
    "386": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "387": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "389": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1282"
    },
    "392": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "i",
      "offset": [
        1094,
        1146
      ],
      "op": "JUMP",
      "path": "36"
    },
    "393": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "394": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x519"
    },
    "397": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "i",
      "offset": [
        1094,
        1146
      ],
      "op": "JUMP",
      "path": "36"
    },
    "398": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "399": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "401": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "402": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x10F"
    },
    "405": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "406": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "407": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "408": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "409": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1846"
    },
    "412": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "i",
      "offset": [
        1094,
        1146
      ],
      "op": "JUMP",
      "path": "36"
    },
    "413": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "414": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1B0"
    },
    "417": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1AB"
    },
    "420": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "421": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "423": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x136B"
    },
    "426": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5229,
        5929
      ],
      "op": "JUMP",
      "path": "36"
    },
    "427": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "428": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x544"
    },
    "431": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5229,
        5929
      ],
      "op": "JUMP",
      "path": "36"
    },
    "432": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "433": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "435": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "436": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x10F"
    },
    "439": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "440": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "441": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1864"
    },
    "444": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5229,
        5929
      ],
      "op": "JUMP",
      "path": "36"
    },
    "445": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "446": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1B0"
    },
    "449": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1CB"
    },
    "452": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "453": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "455": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x12BA"
    },
    "458": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        3909,
        4887
      ],
      "op": "JUMP",
      "path": "36"
    },
    "459": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "460": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x7ED"
    },
    "463": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        3909,
        4887
      ],
      "op": "JUMP",
      "path": "36"
    },
    "464": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "465": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1B0"
    },
    "468": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1DE"
    },
    "471": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "472": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "474": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x132A"
    },
    "477": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "i",
      "offset": [
        6206,
        6587
      ],
      "op": "JUMP",
      "path": "36"
    },
    "478": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "479": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xBBC"
    },
    "482": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "i",
      "offset": [
        6206,
        6587
      ],
      "op": "JUMP",
      "path": "36"
    },
    "483": {
      "offset": [
        373,
        403
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "484": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        373,
        403
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x102"
    },
    "487": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        373,
        403
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0xCB8"
    },
    "490": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "i",
      "offset": [
        373,
        403
      ],
      "op": "JUMP",
      "path": "17"
    },
    "491": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1234,
        1444
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "492": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1234,
        1444
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x15E"
    },
    "495": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1234,
        1444
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0xCC7"
    },
    "498": {
      "fn": "Governable.acceptGovernor",
      "jump": "i",
      "offset": [
        1234,
        1444
      ],
      "op": "JUMP",
      "path": "17"
    },
    "499": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "500": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x12B"
    },
    "503": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x201"
    },
    "506": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "507": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "509": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1282"
    },
    "512": {
      "fn": "ProxyOracle.support",
      "jump": "i",
      "offset": [
        6702,
        6931
      ],
      "op": "JUMP",
      "path": "36"
    },
    "513": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "514": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xD57"
    },
    "517": {
      "fn": "ProxyOracle.support",
      "jump": "i",
      "offset": [
        6702,
        6931
      ],
      "op": "JUMP",
      "path": "36"
    },
    "518": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "519": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x15E"
    },
    "522": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x214"
    },
    "525": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "CALLDATASIZE",
      "path": "36"
    },
    "526": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "528": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x13EF"
    },
    "531": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        1640,
        2413
      ],
      "op": "JUMP",
      "path": "36"
    },
    "532": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "533": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xE34"
    },
    "536": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        1640,
        2413
      ],
      "op": "JUMP",
      "path": "36"
    },
    "537": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "538": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x15E"
    },
    "541": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x227"
    },
    "544": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "CALLDATASIZE",
      "path": "17"
    },
    "545": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x4"
    },
    "547": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1282"
    },
    "550": {
      "fn": "Governable.setPendingGovernor",
      "jump": "i",
      "offset": [
        981,
        1144
      ],
      "op": "JUMP",
      "path": "17"
    },
    "551": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "552": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1087"
    },
    "555": {
      "fn": "Governable.setPendingGovernor",
      "jump": "i",
      "offset": [
        981,
        1144
      ],
      "op": "JUMP",
      "path": "17"
    },
    "556": {
      "offset": [
        321,
        344
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "557": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        321,
        344
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x0"
    },
    "559": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        321,
        344
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "560": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        321,
        344
      ],
      "op": "PUSH3",
      "path": "17",
      "value": "0x10000"
    },
    "564": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        321,
        344
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "565": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        321,
        344
      ],
      "op": "DIV",
      "path": "17"
    },
    "566": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "568": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "570": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "572": {
      "op": "SHL"
    },
    "573": {
      "op": "SUB"
    },
    "574": {
      "offset": [
        321,
        344
      ],
      "op": "AND",
      "path": "17"
    },
    "575": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        321,
        344
      ],
      "op": "DUP2",
      "path": "17"
    },
    "576": {
      "fn": "Governable.setPendingGovernor",
      "jump": "o",
      "offset": [
        321,
        344
      ],
      "op": "JUMP",
      "path": "17"
    },
    "577": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "578": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "580": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "582": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "584": {
      "op": "SHL"
    },
    "585": {
      "op": "SUB"
    },
    "586": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "DUP3",
      "path": "36"
    },
    "587": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "AND",
      "path": "36"
    },
    "588": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3444,
        3448
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "590": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "591": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "DUP2",
      "path": "36"
    },
    "592": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "593": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3477
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x43"
    },
    "595": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "597": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "598": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "600": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "DUP2",
      "path": "36"
    },
    "601": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "602": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "603": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xFF"
    },
    "605": {
      "branch": 40,
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3461,
        3484
      ],
      "op": "AND",
      "path": "36"
    },
    "606": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3456,
        3498
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x269"
    },
    "609": {
      "branch": 40,
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3456,
        3498
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "610": {
      "op": "POP"
    },
    "611": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3493,
        3498
      ],
      "op": "PUSH1",
      "path": "36",
      "statement": 0,
      "value": "0x0"
    },
    "613": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3486,
        3498
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x311"
    },
    "616": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3486,
        3498
      ],
      "op": "JUMP",
      "path": "36"
    },
    "617": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3456,
        3498
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "618": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "620": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "621": {
      "op": "PUSH4",
      "value": "0x523BABB9"
    },
    "626": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "628": {
      "op": "SHL"
    },
    "629": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP2",
      "path": "36"
    },
    "630": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "631": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3504,
        3527
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "633": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3504,
        3527
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "634": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "636": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "638": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "640": {
      "op": "SHL"
    },
    "641": {
      "op": "SUB"
    },
    "642": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3569
      ],
      "op": "DUP6",
      "path": "36"
    },
    "643": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3569
      ],
      "op": "AND",
      "path": "36"
    },
    "644": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3569
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "645": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3569
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xA4775772"
    },
    "650": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3569
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "651": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x298"
    },
    "654": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "655": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3570,
        3572
      ],
      "op": "DUP7",
      "path": "36"
    },
    "656": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3570,
        3572
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "657": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "659": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "ADD",
      "path": "36"
    },
    "660": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1864"
    },
    "663": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "i",
      "offset": [
        3530,
        3573
      ],
      "op": "JUMP",
      "path": "36"
    },
    "664": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "665": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "667": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "669": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "670": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP1",
      "path": "36"
    },
    "671": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP4",
      "path": "36"
    },
    "672": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "SUB",
      "path": "36"
    },
    "673": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP2",
      "path": "36"
    },
    "674": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP7",
      "path": "36"
    },
    "675": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP1",
      "path": "36"
    },
    "676": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "677": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "678": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP1",
      "path": "36"
    },
    "679": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "680": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x2B0"
    },
    "683": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "684": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "686": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP1",
      "path": "36"
    },
    "687": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "REVERT",
      "path": "36"
    },
    "688": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "689": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "POP",
      "path": "36"
    },
    "690": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "GAS",
      "path": "36"
    },
    "691": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "692": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "693": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP1",
      "path": "36"
    },
    "694": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "695": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x2C4"
    },
    "698": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "699": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "700": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "702": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP1",
      "path": "36"
    },
    "703": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "RETURNDATACOPY",
      "path": "36"
    },
    "704": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "705": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "707": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "REVERT",
      "path": "36"
    },
    "708": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "709": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "POP",
      "path": "36"
    },
    "710": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "POP",
      "path": "36"
    },
    "711": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "POP",
      "path": "36"
    },
    "712": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "POP",
      "path": "36"
    },
    "713": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "715": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "716": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "717": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "719": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "NOT",
      "path": "36"
    },
    "720": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "722": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP3",
      "path": "36"
    },
    "723": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "ADD",
      "path": "36"
    },
    "724": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "AND",
      "path": "36"
    },
    "725": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP3",
      "path": "36"
    },
    "726": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "ADD",
      "path": "36"
    },
    "727": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP1",
      "path": "36"
    },
    "728": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "730": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "731": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "POP",
      "path": "36"
    },
    "732": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "DUP2",
      "path": "36"
    },
    "733": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "ADD",
      "path": "36"
    },
    "734": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "735": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x2E8"
    },
    "738": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "739": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "740": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x129E"
    },
    "743": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "i",
      "offset": [
        3530,
        3573
      ],
      "op": "JUMP",
      "path": "36"
    },
    "744": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3530,
        3573
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "745": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "747": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "749": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "751": {
      "op": "SHL"
    },
    "752": {
      "op": "SUB"
    },
    "753": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "AND",
      "path": "36",
      "statement": 1
    },
    "754": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "756": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "757": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "DUP2",
      "path": "36"
    },
    "758": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "759": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3598
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x42"
    },
    "761": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "763": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "764": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "766": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "767": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3615
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "768": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3628
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "769": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "771": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "773": {
      "op": "SHL"
    },
    "774": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3628
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "775": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3628
      ],
      "op": "DIV",
      "path": "36"
    },
    "776": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3628
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "779": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3628
      ],
      "op": "AND",
      "path": "36"
    },
    "780": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3633
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "781": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3633
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "782": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3586,
        3633
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "783": {
      "op": "POP"
    },
    "784": {
      "op": "POP"
    },
    "785": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "786": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "787": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "788": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "POP",
      "path": "36"
    },
    "789": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        3359,
        3638
      ],
      "op": "POP",
      "path": "36"
    },
    "790": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "o",
      "offset": [
        3359,
        3638
      ],
      "op": "JUMP",
      "path": "36"
    },
    "791": {
      "offset": [
        1196,
        1244
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "792": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x43"
    },
    "794": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "796": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "797": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "799": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "800": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "DUP2",
      "path": "36"
    },
    "801": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "802": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "804": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "805": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "806": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "807": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xFF"
    },
    "809": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "AND",
      "path": "36"
    },
    "810": {
      "fn": "ProxyOracle.supportWrappedToken",
      "offset": [
        1196,
        1244
      ],
      "op": "DUP2",
      "path": "36"
    },
    "811": {
      "fn": "ProxyOracle.supportWrappedToken",
      "jump": "o",
      "offset": [
        1196,
        1244
      ],
      "op": "JUMP",
      "path": "36"
    },
    "812": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "813": {
      "offset": [
        566,
        574
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x0"
    },
    "815": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        566,
        574
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "816": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        566,
        574
      ],
      "op": "PUSH3",
      "path": "17",
      "value": "0x10000"
    },
    "820": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        566,
        574
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "821": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        566,
        574
      ],
      "op": "DIV",
      "path": "17"
    },
    "822": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "824": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "826": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "828": {
      "op": "SHL"
    },
    "829": {
      "op": "SUB"
    },
    "830": {
      "offset": [
        566,
        574
      ],
      "op": "AND",
      "path": "17"
    },
    "831": {
      "offset": [
        552,
        562
      ],
      "op": "CALLER",
      "path": "17"
    },
    "832": {
      "offset": [
        552,
        574
      ],
      "op": "EQ",
      "path": "17"
    },
    "833": {
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x365"
    },
    "836": {
      "offset": [
        544,
        595
      ],
      "op": "JUMPI",
      "path": "17"
    },
    "837": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "839": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "840": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "844": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "846": {
      "op": "SHL"
    },
    "847": {
      "offset": [
        544,
        595
      ],
      "op": "DUP2",
      "path": "17"
    },
    "848": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "MSTORE",
      "path": "17"
    },
    "849": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x4"
    },
    "851": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "ADD",
      "path": "17"
    },
    "852": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x35C"
    },
    "855": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "856": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1610"
    },
    "859": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "jump": "i",
      "offset": [
        544,
        595
      ],
      "op": "JUMP",
      "path": "17"
    },
    "860": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "861": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "863": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "864": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "DUP1",
      "path": "17"
    },
    "865": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "866": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "SUB",
      "path": "17"
    },
    "867": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "868": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "REVERT",
      "path": "17"
    },
    "869": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "870": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2615,
        2623
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "872": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2610,
        2746
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "873": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2635,
        2641
      ],
      "op": "DUP2",
      "path": "36"
    },
    "874": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2635,
        2648
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "875": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2629,
        2632
      ],
      "op": "DUP2",
      "path": "36"
    },
    "876": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2629,
        2648
      ],
      "op": "LT",
      "path": "36"
    },
    "877": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2610,
        2746
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "878": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2610,
        2746
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x404"
    },
    "881": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2610,
        2746
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "882": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2684
      ],
      "op": "PUSH1",
      "path": "36",
      "statement": 2,
      "value": "0x42"
    },
    "884": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "886": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2691
      ],
      "op": "DUP4",
      "path": "36"
    },
    "887": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2692,
        2695
      ],
      "op": "DUP4",
      "path": "36"
    },
    "888": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "DUP2",
      "path": "36"
    },
    "889": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "890": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "DUP2",
      "path": "36"
    },
    "891": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "LT",
      "path": "36"
    },
    "892": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x381"
    },
    "895": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "896": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "INVALID",
      "path": "36"
    },
    "897": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "898": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "900": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "901": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "DUP2",
      "path": "36"
    },
    "902": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "MUL",
      "path": "36"
    },
    "903": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "904": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "905": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "906": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "ADD",
      "path": "36"
    },
    "907": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "DUP2",
      "path": "36"
    },
    "908": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "ADD",
      "path": "36"
    },
    "909": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2685,
        2696
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "910": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "912": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "914": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "916": {
      "op": "SHL"
    },
    "917": {
      "op": "SUB"
    },
    "918": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "AND",
      "path": "36"
    },
    "919": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "DUP3",
      "path": "36"
    },
    "920": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "921": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "DUP2",
      "path": "36"
    },
    "922": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "ADD",
      "path": "36"
    },
    "923": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "924": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "925": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "926": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "927": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "929": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "ADD",
      "path": "36"
    },
    "930": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "932": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2672,
        2697
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "933": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2665,
        2697
      ],
      "op": "DUP1",
      "path": "36"
    },
    "934": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2665,
        2697
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "935": {
      "op": "PUSH6",
      "value": "0xFFFFFFFFFFFF"
    },
    "942": {
      "op": "NOT"
    },
    "943": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2665,
        2697
      ],
      "op": "AND",
      "path": "36"
    },
    "944": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2665,
        2697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "945": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2665,
        2697
      ],
      "op": "SSTORE",
      "path": "36"
    },
    "946": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "DUP2",
      "path": "36",
      "statement": 3
    },
    "947": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "948": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2733
      ],
      "op": "DUP3",
      "path": "36"
    },
    "949": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2733
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "950": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2734,
        2737
      ],
      "op": "DUP3",
      "path": "36"
    },
    "951": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2734,
        2737
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "952": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "DUP2",
      "path": "36"
    },
    "953": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "LT",
      "path": "36"
    },
    "954": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x3BF"
    },
    "957": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "958": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "INVALID",
      "path": "36"
    },
    "959": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "960": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "962": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "MUL",
      "path": "36"
    },
    "963": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "965": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "ADD",
      "path": "36"
    },
    "966": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "ADD",
      "path": "36"
    },
    "967": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2727,
        2738
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "968": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "970": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "972": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "974": {
      "op": "SHL"
    },
    "975": {
      "op": "SUB"
    },
    "976": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "AND",
      "path": "36"
    },
    "977": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0x995B73152D62A9A92BD554852DB356F087E63690E0CB9656CEDD21A8D0E27C1B"
    },
    "1010": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1012": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1013": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1015": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1016": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1017": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1018": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "SUB",
      "path": "36"
    },
    "1019": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1020": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2710,
        2739
      ],
      "op": "LOG2",
      "path": "36"
    },
    "1021": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2650,
        2655
      ],
      "op": "PUSH1",
      "path": "36",
      "statement": 4,
      "value": "0x1"
    },
    "1023": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2650,
        2655
      ],
      "op": "ADD",
      "path": "36"
    },
    "1024": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2610,
        2746
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x368"
    },
    "1027": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2610,
        2746
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1028": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2610,
        2746
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1029": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2610,
        2746
      ],
      "op": "POP",
      "path": "36"
    },
    "1030": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        2535,
        2750
      ],
      "op": "POP",
      "path": "36"
    },
    "1031": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "jump": "o",
      "offset": [
        2535,
        2750
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1032": {
      "offset": [
        1033,
        1068
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1033": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        1033,
        1068
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0x0"
    },
    "1066": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "offset": [
        1033,
        1068
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1067": {
      "fn": "ProxyOracle.unsetTokenFactors",
      "jump": "o",
      "offset": [
        1033,
        1068
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1068": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1069": {
      "offset": [
        566,
        574
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x0"
    },
    "1071": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        566,
        574
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "1072": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        566,
        574
      ],
      "op": "PUSH3",
      "path": "17",
      "value": "0x10000"
    },
    "1076": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        566,
        574
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "1077": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        566,
        574
      ],
      "op": "DIV",
      "path": "17"
    },
    "1078": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1080": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1082": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1084": {
      "op": "SHL"
    },
    "1085": {
      "op": "SUB"
    },
    "1086": {
      "offset": [
        566,
        574
      ],
      "op": "AND",
      "path": "17"
    },
    "1087": {
      "offset": [
        552,
        562
      ],
      "op": "CALLER",
      "path": "17"
    },
    "1088": {
      "offset": [
        552,
        574
      ],
      "op": "EQ",
      "path": "17"
    },
    "1089": {
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x45C"
    },
    "1092": {
      "offset": [
        544,
        595
      ],
      "op": "JUMPI",
      "path": "17"
    },
    "1093": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "1095": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "1096": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1100": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1102": {
      "op": "SHL"
    },
    "1103": {
      "offset": [
        544,
        595
      ],
      "op": "DUP2",
      "path": "17"
    },
    "1104": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "MSTORE",
      "path": "17"
    },
    "1105": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x4"
    },
    "1107": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "ADD",
      "path": "17"
    },
    "1108": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x35C"
    },
    "1111": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "1112": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1610"
    },
    "1115": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "i",
      "offset": [
        544,
        595
      ],
      "op": "JUMP",
      "path": "17"
    },
    "1116": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        544,
        595
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "1117": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3008,
        3016
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1119": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3003,
        3141
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1120": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3028,
        3034
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1121": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3028,
        3041
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1122": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3022,
        3025
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1123": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3022,
        3041
      ],
      "op": "LT",
      "path": "36"
    },
    "1124": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3003,
        3141
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1125": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3003,
        3141
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x514"
    },
    "1128": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3003,
        3141
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1129": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3090,
        3092
      ],
      "op": "DUP2",
      "path": "36",
      "statement": 5
    },
    "1130": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3074
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x43"
    },
    "1132": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1134": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3081
      ],
      "op": "DUP6",
      "path": "36"
    },
    "1135": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3082,
        3085
      ],
      "op": "DUP5",
      "path": "36"
    },
    "1136": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1137": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1138": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1139": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "LT",
      "path": "36"
    },
    "1140": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x479"
    },
    "1143": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1144": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "INVALID",
      "path": "36"
    },
    "1145": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1146": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1148": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "MUL",
      "path": "36"
    },
    "1149": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1151": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "ADD",
      "path": "36"
    },
    "1152": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "ADD",
      "path": "36"
    },
    "1153": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3075,
        3086
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1154": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1156": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1158": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1160": {
      "op": "SHL"
    },
    "1161": {
      "op": "SUB"
    },
    "1162": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "AND",
      "path": "36"
    },
    "1163": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1165": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1167": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1169": {
      "op": "SHL"
    },
    "1170": {
      "op": "SUB"
    },
    "1171": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "AND",
      "path": "36"
    },
    "1172": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1173": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1174": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1176": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "ADD",
      "path": "36"
    },
    "1177": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1178": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1179": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1180": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1182": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "ADD",
      "path": "36"
    },
    "1183": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1185": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "1186": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3087
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1188": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x100"
    },
    "1191": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "EXP",
      "path": "36"
    },
    "1192": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1193": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "1194": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1195": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xFF"
    },
    "1197": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "MUL",
      "path": "36"
    },
    "1198": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "NOT",
      "path": "36"
    },
    "1199": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "AND",
      "path": "36"
    },
    "1200": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1201": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1202": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1203": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1204": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "MUL",
      "path": "36"
    },
    "1205": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "OR",
      "path": "36"
    },
    "1206": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1207": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "SSTORE",
      "path": "36"
    },
    "1208": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3058,
        3092
      ],
      "op": "POP",
      "path": "36"
    },
    "1209": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3124
      ],
      "op": "DUP3",
      "path": "36",
      "statement": 6
    },
    "1210": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3125,
        3128
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1211": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1212": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1213": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1214": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "LT",
      "path": "36"
    },
    "1215": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x4C4"
    },
    "1218": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1219": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "INVALID",
      "path": "36"
    },
    "1220": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1221": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1223": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "MUL",
      "path": "36"
    },
    "1224": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1226": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "ADD",
      "path": "36"
    },
    "1227": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "ADD",
      "path": "36"
    },
    "1228": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3118,
        3129
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1229": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1231": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1233": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1235": {
      "op": "SHL"
    },
    "1236": {
      "op": "SUB"
    },
    "1237": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "AND",
      "path": "36"
    },
    "1238": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0xF6019EC0A78D156D249A1EC7579E2321F6AC7521D6E1D2EACF90BA4A184DCCEB"
    },
    "1271": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3131,
        3133
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1272": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1274": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1275": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x504"
    },
    "1278": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1279": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1280": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1534"
    },
    "1283": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "i",
      "offset": [
        3105,
        3134
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1284": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1285": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1287": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1288": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1289": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1290": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "SUB",
      "path": "36"
    },
    "1291": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1292": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3105,
        3134
      ],
      "op": "LOG2",
      "path": "36"
    },
    "1293": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3043,
        3048
      ],
      "op": "PUSH1",
      "path": "36",
      "statement": 7,
      "value": "0x1"
    },
    "1295": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3043,
        3048
      ],
      "op": "ADD",
      "path": "36"
    },
    "1296": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3003,
        3141
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x45F"
    },
    "1299": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3003,
        3141
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1300": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3003,
        3141
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1301": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        3003,
        3141
      ],
      "op": "POP",
      "path": "36"
    },
    "1302": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "POP",
      "path": "36"
    },
    "1303": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        2917,
        3145
      ],
      "op": "POP",
      "path": "36"
    },
    "1304": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "o",
      "offset": [
        2917,
        3145
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1305": {
      "offset": [
        1094,
        1146
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1306": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x42"
    },
    "1308": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1310": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1311": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1313": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1314": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1315": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1316": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1318": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1319": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "1320": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "1321": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "1324": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1325": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1326": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "AND",
      "path": "36"
    },
    "1327": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1328": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "PUSH3",
      "path": "36",
      "value": "0x10000"
    },
    "1332": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1333": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "DIV",
      "path": "36"
    },
    "1334": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1335": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "AND",
      "path": "36"
    },
    "1336": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1337": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1339": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1341": {
      "op": "SHL"
    },
    "1342": {
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1343": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1344": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "DIV",
      "path": "36"
    },
    "1345": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "AND",
      "path": "36"
    },
    "1346": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "offset": [
        1094,
        1146
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1347": {
      "fn": "ProxyOracle.setWhitelistERC1155",
      "jump": "o",
      "offset": [
        1094,
        1146
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1348": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1349": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1351": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1353": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1355": {
      "op": "SHL"
    },
    "1356": {
      "op": "SUB"
    },
    "1357": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "DUP5",
      "path": "36",
      "statement": 8
    },
    "1358": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "AND",
      "path": "36"
    },
    "1359": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5358,
        5362
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1361": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1362": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1363": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1364": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5394
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x43"
    },
    "1366": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1368": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1369": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1371": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1372": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "1373": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "1374": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xFF"
    },
    "1376": {
      "branch": 41,
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5378,
        5401
      ],
      "op": "AND",
      "path": "36"
    },
    "1377": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x57C"
    },
    "1380": {
      "branch": 41,
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1381": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1383": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1384": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1388": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1390": {
      "op": "SHL"
    },
    "1391": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1392": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1393": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "1395": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "ADD",
      "path": "36"
    },
    "1396": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "1399": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1400": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x163A"
    },
    "1403": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5370,
        5415
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1404": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5370,
        5415
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1405": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1407": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1408": {
      "op": "PUSH4",
      "value": "0x523BABB9"
    },
    "1413": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "1415": {
      "op": "SHL"
    },
    "1416": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1417": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1418": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5421,
        5444
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1420": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5421,
        5444
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1421": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1423": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1425": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1427": {
      "op": "SHL"
    },
    "1428": {
      "op": "SUB"
    },
    "1429": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5486
      ],
      "op": "DUP8",
      "path": "36"
    },
    "1430": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5486
      ],
      "op": "AND",
      "path": "36"
    },
    "1431": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5486
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1432": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5486
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xA4775772"
    },
    "1437": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5486
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1438": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x5AB"
    },
    "1441": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1442": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5487,
        5489
      ],
      "op": "DUP9",
      "path": "36"
    },
    "1443": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5487,
        5489
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1444": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "1446": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "ADD",
      "path": "36"
    },
    "1447": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1864"
    },
    "1450": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5447,
        5490
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1451": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1452": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1454": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1456": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1457": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1458": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1459": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "SUB",
      "path": "36"
    },
    "1460": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1461": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP7",
      "path": "36"
    },
    "1462": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1463": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "1464": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1465": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1466": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1467": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x5C3"
    },
    "1470": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1471": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1473": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1474": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "REVERT",
      "path": "36"
    },
    "1475": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1476": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "POP",
      "path": "36"
    },
    "1477": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "GAS",
      "path": "36"
    },
    "1478": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "1479": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1480": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1481": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1482": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x5D7"
    },
    "1485": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1486": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1487": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1489": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1490": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "RETURNDATACOPY",
      "path": "36"
    },
    "1491": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1492": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1494": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "REVERT",
      "path": "36"
    },
    "1495": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1496": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "POP",
      "path": "36"
    },
    "1497": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "POP",
      "path": "36"
    },
    "1498": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "POP",
      "path": "36"
    },
    "1499": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "POP",
      "path": "36"
    },
    "1500": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1502": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1503": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1504": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "1506": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "NOT",
      "path": "36"
    },
    "1507": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "1509": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1510": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "ADD",
      "path": "36"
    },
    "1511": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "AND",
      "path": "36"
    },
    "1512": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1513": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "ADD",
      "path": "36"
    },
    "1514": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1515": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1517": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1518": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "POP",
      "path": "36"
    },
    "1519": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1520": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "ADD",
      "path": "36"
    },
    "1521": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1522": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x5FB"
    },
    "1525": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1526": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1527": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x129E"
    },
    "1530": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5447,
        5490
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1531": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5447,
        5490
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1532": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5421,
        5490
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1533": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5421,
        5490
      ],
      "op": "POP",
      "path": "36"
    },
    "1534": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5496,
        5515
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1536": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5532,
        5537
      ],
      "op": "DUP7",
      "path": "36"
    },
    "1537": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1539": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1541": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1543": {
      "op": "SHL"
    },
    "1544": {
      "op": "SUB"
    },
    "1545": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5556
      ],
      "op": "AND",
      "path": "36"
    },
    "1546": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5556
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xAF8002DF"
    },
    "1551": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5557,
        5559
      ],
      "op": "DUP8",
      "path": "36"
    },
    "1552": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1554": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1555": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1556": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xFFFFFFFF"
    },
    "1561": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "AND",
      "path": "36"
    },
    "1562": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xE0"
    },
    "1564": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "SHL",
      "path": "36"
    },
    "1565": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1566": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1567": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "1569": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "ADD",
      "path": "36"
    },
    "1570": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x62B"
    },
    "1573": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1574": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1575": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1864"
    },
    "1578": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5518,
        5560
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1579": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1580": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1582": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1584": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1585": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1586": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1587": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "SUB",
      "path": "36"
    },
    "1588": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1589": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP7",
      "path": "36"
    },
    "1590": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1591": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "1592": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1593": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1594": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1595": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x643"
    },
    "1598": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1599": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1601": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1602": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "REVERT",
      "path": "36"
    },
    "1603": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1604": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "POP",
      "path": "36"
    },
    "1605": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "GAS",
      "path": "36"
    },
    "1606": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "1607": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1608": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1609": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1610": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x657"
    },
    "1613": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1614": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1615": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1617": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1618": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "RETURNDATACOPY",
      "path": "36"
    },
    "1619": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1620": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1622": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "REVERT",
      "path": "36"
    },
    "1623": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1624": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "POP",
      "path": "36"
    },
    "1625": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "POP",
      "path": "36"
    },
    "1626": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "POP",
      "path": "36"
    },
    "1627": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "POP",
      "path": "36"
    },
    "1628": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1630": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1631": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1632": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "1634": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "NOT",
      "path": "36"
    },
    "1635": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "1637": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1638": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "ADD",
      "path": "36"
    },
    "1639": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "AND",
      "path": "36"
    },
    "1640": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1641": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "ADD",
      "path": "36"
    },
    "1642": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1643": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1645": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1646": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "POP",
      "path": "36"
    },
    "1647": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1648": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "ADD",
      "path": "36"
    },
    "1649": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1650": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x67B"
    },
    "1653": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1654": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1655": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1508"
    },
    "1658": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5518,
        5560
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1659": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5518,
        5560
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1660": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5496,
        5560
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1661": {
      "op": "POP"
    },
    "1662": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5566,
        5587
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1664": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5590,
        5628
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x697"
    },
    "1667": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1669": {
      "op": "PUSH1",
      "value": "0x70"
    },
    "1671": {
      "op": "SHL"
    },
    "1672": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5590,
        5616
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x691"
    },
    "1675": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5590,
        5596
      ],
      "op": "DUP9",
      "path": "36"
    },
    "1676": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5496,
        5560
      ],
      "op": "DUP6",
      "path": "36"
    },
    "1677": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5590,
        5600
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1113"
    },
    "1680": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5590,
        5616
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1681": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5590,
        5616
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1682": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5590,
        5620
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1683": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5590,
        5620
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1154"
    },
    "1686": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5590,
        5628
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1687": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5590,
        5628
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1688": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5566,
        5628
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1689": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5566,
        5628
      ],
      "op": "POP",
      "path": "36"
    },
    "1690": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5665
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x6A1"
    },
    "1693": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5665
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1186"
    },
    "1696": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5634,
        5665
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1697": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5665
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1698": {
      "op": "POP"
    },
    "1699": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1701": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1703": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1705": {
      "op": "SHL"
    },
    "1706": {
      "op": "SUB"
    },
    "1707": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1708": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "AND",
      "path": "36"
    },
    "1709": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1711": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1712": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1713": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1714": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5680
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x42"
    },
    "1716": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1718": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1719": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1720": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1721": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1723": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1724": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1725": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1726": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5668,
        5697
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "1727": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1728": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1729": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x60"
    },
    "1731": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1732": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "ADD",
      "path": "36"
    },
    "1733": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP5",
      "path": "36"
    },
    "1734": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1735": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1736": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "1737": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "1740": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1741": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1742": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "AND",
      "path": "36"
    },
    "1743": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1744": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1745": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "PUSH3",
      "path": "36",
      "value": "0x10000"
    },
    "1749": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1750": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DIV",
      "path": "36"
    },
    "1751": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1752": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "AND",
      "path": "36"
    },
    "1753": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "1754": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1755": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "ADD",
      "path": "36"
    },
    "1756": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "1757": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1758": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "1759": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1760": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1762": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1764": {
      "op": "SHL"
    },
    "1765": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1766": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DIV",
      "path": "36"
    },
    "1767": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1768": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1769": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "AND",
      "path": "36"
    },
    "1770": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1771": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1772": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "ADD",
      "path": "36"
    },
    "1773": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1774": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1775": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1776": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5634,
        5697
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1777": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 9,
      "value": "0x70C"
    },
    "1780": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1781": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1783": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1784": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "1788": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "1790": {
      "op": "SHL"
    },
    "1791": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1792": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1793": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "1795": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "ADD",
      "path": "36"
    },
    "1796": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "1799": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1800": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x153F"
    },
    "1803": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5703,
        5770
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1804": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5703,
        5770
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1805": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5776,
        5789
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1807": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5858
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x7BC"
    },
    "1810": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1812": {
      "op": "PUSH1",
      "value": "0x70"
    },
    "1814": {
      "op": "SHL"
    },
    "1815": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5846
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x691"
    },
    "1818": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5829,
        5845
      ],
      "op": "DUP6",
      "path": "36"
    },
    "1819": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5798
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0x0"
    },
    "1852": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1854": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1856": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1858": {
      "op": "SHL"
    },
    "1859": {
      "op": "SUB"
    },
    "1860": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5807
      ],
      "op": "AND",
      "path": "36"
    },
    "1861": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5807
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xAB9AADFE"
    },
    "1866": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5808,
        5823
      ],
      "op": "DUP11",
      "path": "36"
    },
    "1867": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1869": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1870": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1871": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xFFFFFFFF"
    },
    "1876": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "AND",
      "path": "36"
    },
    "1877": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xE0"
    },
    "1879": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "SHL",
      "path": "36"
    },
    "1880": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1881": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1882": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "1884": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "ADD",
      "path": "36"
    },
    "1885": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x766"
    },
    "1888": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1889": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1890": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1520"
    },
    "1893": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5792,
        5824
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1894": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1895": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1897": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1899": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1900": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1901": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP4",
      "path": "36"
    },
    "1902": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "SUB",
      "path": "36"
    },
    "1903": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1904": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP7",
      "path": "36"
    },
    "1905": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1906": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "1907": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1908": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1909": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1910": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x77E"
    },
    "1913": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1914": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1916": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1917": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "REVERT",
      "path": "36"
    },
    "1918": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1919": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "POP",
      "path": "36"
    },
    "1920": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "GAS",
      "path": "36"
    },
    "1921": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "1922": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1923": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1924": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "1925": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x792"
    },
    "1928": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "1929": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1930": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1932": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1933": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "RETURNDATACOPY",
      "path": "36"
    },
    "1934": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1935": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "1937": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "REVERT",
      "path": "36"
    },
    "1938": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1939": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "POP",
      "path": "36"
    },
    "1940": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "POP",
      "path": "36"
    },
    "1941": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "POP",
      "path": "36"
    },
    "1942": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "POP",
      "path": "36"
    },
    "1943": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1945": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1946": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "1947": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "1949": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "NOT",
      "path": "36"
    },
    "1950": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "1952": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1953": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "ADD",
      "path": "36"
    },
    "1954": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "AND",
      "path": "36"
    },
    "1955": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP3",
      "path": "36"
    },
    "1956": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "ADD",
      "path": "36"
    },
    "1957": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP1",
      "path": "36"
    },
    "1958": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "1960": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "1961": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "POP",
      "path": "36"
    },
    "1962": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "DUP2",
      "path": "36"
    },
    "1963": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "ADD",
      "path": "36"
    },
    "1964": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1965": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x7B6"
    },
    "1968": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "1969": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1970": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1508"
    },
    "1973": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5792,
        5824
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1974": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5824
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1975": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5828
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1976": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5828
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1113"
    },
    "1979": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5792,
        5846
      ],
      "op": "JUMP",
      "path": "36"
    },
    "1980": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5792,
        5858
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "1981": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5776,
        5858
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "1982": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5776,
        5858
      ],
      "op": "POP",
      "path": "36"
    },
    "1983": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5924
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 10,
      "value": "0x7DF"
    },
    "1986": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5918,
        5923
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x2710"
    },
    "1989": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5913
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x691"
    },
    "1992": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5884,
        5895
      ],
      "op": "DUP5",
      "path": "36"
    },
    "1993": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5884,
        5912
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "1995": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5884,
        5912
      ],
      "op": "ADD",
      "path": "36"
    },
    "1996": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5884,
        5912
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "1997": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5913
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "2000": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5913
      ],
      "op": "AND",
      "path": "36"
    },
    "2001": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5879
      ],
      "op": "DUP5",
      "path": "36"
    },
    "2002": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5883
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1113"
    },
    "2005": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5883
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2006": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5913
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2007": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5913
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2008": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5913
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xFFFFFFFF"
    },
    "2013": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5913
      ],
      "op": "AND",
      "path": "36"
    },
    "2014": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "i",
      "offset": [
        5871,
        5913
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2015": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5871,
        5924
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2016": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5864,
        5924
      ],
      "op": "SWAP11",
      "path": "36"
    },
    "2017": {
      "fn": "ProxyOracle.asETHCollateral",
      "offset": [
        5229,
        5929
      ],
      "op": "SWAP10",
      "path": "36"
    },
    "2018": {
      "op": "POP"
    },
    "2019": {
      "op": "POP"
    },
    "2020": {
      "op": "POP"
    },
    "2021": {
      "op": "POP"
    },
    "2022": {
      "op": "POP"
    },
    "2023": {
      "op": "POP"
    },
    "2024": {
      "op": "POP"
    },
    "2025": {
      "op": "POP"
    },
    "2026": {
      "op": "POP"
    },
    "2027": {
      "op": "POP"
    },
    "2028": {
      "fn": "ProxyOracle.asETHCollateral",
      "jump": "o",
      "offset": [
        5229,
        5929
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2029": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2030": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2032": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2034": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2036": {
      "op": "SHL"
    },
    "2037": {
      "op": "SUB"
    },
    "2038": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "DUP4",
      "path": "36",
      "statement": 11
    },
    "2039": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "AND",
      "path": "36"
    },
    "2040": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4059,
        4063
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2042": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2043": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2044": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2045": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4095
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x43"
    },
    "2047": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "2049": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2050": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2052": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2053": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "2054": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "2055": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xFF"
    },
    "2057": {
      "branch": 42,
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4079,
        4105
      ],
      "op": "AND",
      "path": "36"
    },
    "2058": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x825"
    },
    "2061": {
      "branch": 42,
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2062": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2064": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2065": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2069": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2071": {
      "op": "SHL"
    },
    "2072": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2073": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2074": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "2076": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "ADD",
      "path": "36"
    },
    "2077": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "2080": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2081": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x163A"
    },
    "2084": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4071,
        4119
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2085": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4071,
        4119
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2086": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2088": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2089": {
      "op": "PUSH4",
      "value": "0x523BABB9"
    },
    "2094": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "2096": {
      "op": "SHL"
    },
    "2097": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2098": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2099": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4125,
        4151
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2101": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4125,
        4151
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2102": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2104": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2106": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2108": {
      "op": "SHL"
    },
    "2109": {
      "op": "SUB"
    },
    "2110": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4196
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2111": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4196
      ],
      "op": "AND",
      "path": "36"
    },
    "2112": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4196
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2113": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4196
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xA4775772"
    },
    "2118": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4196
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2119": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x854"
    },
    "2122": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2123": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4197,
        4207
      ],
      "op": "DUP8",
      "path": "36"
    },
    "2124": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4197,
        4207
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2125": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "2127": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "ADD",
      "path": "36"
    },
    "2128": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1864"
    },
    "2131": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4154,
        4208
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2132": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2133": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "2135": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2137": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2138": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2139": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2140": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "SUB",
      "path": "36"
    },
    "2141": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2142": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2143": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2144": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "2145": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2146": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2147": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2148": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x86C"
    },
    "2151": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2152": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2154": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2155": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "REVERT",
      "path": "36"
    },
    "2156": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2157": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "POP",
      "path": "36"
    },
    "2158": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "GAS",
      "path": "36"
    },
    "2159": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "2160": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2161": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2162": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2163": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x880"
    },
    "2166": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2167": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2168": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2170": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2171": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "RETURNDATACOPY",
      "path": "36"
    },
    "2172": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2173": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2175": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "REVERT",
      "path": "36"
    },
    "2176": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2177": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "POP",
      "path": "36"
    },
    "2178": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "POP",
      "path": "36"
    },
    "2179": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "POP",
      "path": "36"
    },
    "2180": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "POP",
      "path": "36"
    },
    "2181": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2183": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2184": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2185": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "2187": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "NOT",
      "path": "36"
    },
    "2188": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "2190": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2191": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "ADD",
      "path": "36"
    },
    "2192": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "AND",
      "path": "36"
    },
    "2193": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2194": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "ADD",
      "path": "36"
    },
    "2195": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2196": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2198": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2199": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "POP",
      "path": "36"
    },
    "2200": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2201": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "ADD",
      "path": "36"
    },
    "2202": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2203": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x8A4"
    },
    "2206": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2207": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2208": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x129E"
    },
    "2211": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4154,
        4208
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2212": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4154,
        4208
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2213": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4125,
        4208
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2214": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4125,
        4208
      ],
      "op": "POP",
      "path": "36"
    },
    "2215": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4214,
        4233
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2217": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4250,
        4258
      ],
      "op": "DUP6",
      "path": "36"
    },
    "2218": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2220": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2222": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2224": {
      "op": "SHL"
    },
    "2225": {
      "op": "SUB"
    },
    "2226": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4277
      ],
      "op": "AND",
      "path": "36"
    },
    "2227": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4277
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xAF8002DF"
    },
    "2232": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4278,
        4288
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2233": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2235": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2236": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2237": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xFFFFFFFF"
    },
    "2242": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "AND",
      "path": "36"
    },
    "2243": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xE0"
    },
    "2245": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "SHL",
      "path": "36"
    },
    "2246": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2247": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2248": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "2250": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "ADD",
      "path": "36"
    },
    "2251": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x8D4"
    },
    "2254": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2255": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2256": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1864"
    },
    "2259": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4236,
        4289
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2260": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2261": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "2263": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2265": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2266": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2267": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2268": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "SUB",
      "path": "36"
    },
    "2269": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2270": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2271": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2272": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "2273": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2274": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2275": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2276": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x8EC"
    },
    "2279": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2280": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2282": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2283": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "REVERT",
      "path": "36"
    },
    "2284": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2285": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "POP",
      "path": "36"
    },
    "2286": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "GAS",
      "path": "36"
    },
    "2287": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "2288": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2289": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2290": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2291": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x900"
    },
    "2294": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2295": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2296": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2298": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2299": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "RETURNDATACOPY",
      "path": "36"
    },
    "2300": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2301": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2303": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "REVERT",
      "path": "36"
    },
    "2304": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2305": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "POP",
      "path": "36"
    },
    "2306": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "POP",
      "path": "36"
    },
    "2307": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "POP",
      "path": "36"
    },
    "2308": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "POP",
      "path": "36"
    },
    "2309": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2311": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2312": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2313": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "2315": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "NOT",
      "path": "36"
    },
    "2316": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "2318": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2319": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "ADD",
      "path": "36"
    },
    "2320": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "AND",
      "path": "36"
    },
    "2321": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2322": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "ADD",
      "path": "36"
    },
    "2323": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2324": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2326": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2327": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "POP",
      "path": "36"
    },
    "2328": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2329": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "ADD",
      "path": "36"
    },
    "2330": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2331": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x924"
    },
    "2334": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2335": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2336": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1508"
    },
    "2339": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4236,
        4289
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2340": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4236,
        4289
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2341": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4214,
        4289
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2342": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4214,
        4289
      ],
      "op": "POP",
      "path": "36"
    },
    "2343": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4328
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x92E"
    },
    "2346": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4328
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1186"
    },
    "2349": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4295,
        4328
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2350": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4328
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2351": {
      "op": "POP"
    },
    "2352": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2354": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2356": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2358": {
      "op": "SHL"
    },
    "2359": {
      "op": "SUB"
    },
    "2360": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "DUP8",
      "path": "36"
    },
    "2361": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "AND",
      "path": "36"
    },
    "2362": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2364": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2365": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2366": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2367": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4343
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x42"
    },
    "2369": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "2371": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2372": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2373": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2374": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2376": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2377": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2378": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2379": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4331,
        4352
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "2380": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2381": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2382": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x60"
    },
    "2384": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2385": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "ADD",
      "path": "36"
    },
    "2386": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP5",
      "path": "36"
    },
    "2387": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2388": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2389": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "2390": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "2393": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2394": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2395": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "AND",
      "path": "36"
    },
    "2396": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2397": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2398": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "PUSH3",
      "path": "36",
      "value": "0x10000"
    },
    "2402": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2403": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DIV",
      "path": "36"
    },
    "2404": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2405": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "AND",
      "path": "36"
    },
    "2406": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "2407": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2408": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "ADD",
      "path": "36"
    },
    "2409": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "2410": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2411": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "2412": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2413": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2415": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2417": {
      "op": "SHL"
    },
    "2418": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2419": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DIV",
      "path": "36"
    },
    "2420": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2421": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2422": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "AND",
      "path": "36"
    },
    "2423": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2424": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2425": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "ADD",
      "path": "36"
    },
    "2426": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2427": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2428": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2429": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4295,
        4352
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2430": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4392
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x985"
    },
    "2433": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4392
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1186"
    },
    "2436": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4358,
        4392
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2437": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4392
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2438": {
      "op": "POP"
    },
    "2439": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2441": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2443": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2445": {
      "op": "SHL"
    },
    "2446": {
      "op": "SUB"
    },
    "2447": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2448": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "AND",
      "path": "36"
    },
    "2449": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2451": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2452": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2453": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2454": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4407
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x42"
    },
    "2456": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "2458": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2459": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2460": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2461": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2463": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2464": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2465": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2466": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4395,
        4427
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "2467": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2468": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2469": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x60"
    },
    "2471": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2472": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "ADD",
      "path": "36"
    },
    "2473": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP5",
      "path": "36"
    },
    "2474": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2475": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2476": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "2477": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "2480": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2481": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2482": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "AND",
      "path": "36"
    },
    "2483": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2484": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2485": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "PUSH3",
      "path": "36",
      "value": "0x10000"
    },
    "2489": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2490": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DIV",
      "path": "36"
    },
    "2491": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2492": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "AND",
      "path": "36"
    },
    "2493": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "2494": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2495": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "ADD",
      "path": "36"
    },
    "2496": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "2497": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2498": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "2499": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2500": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2502": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "2504": {
      "op": "SHL"
    },
    "2505": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2506": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DIV",
      "path": "36"
    },
    "2507": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2508": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "AND",
      "path": "36"
    },
    "2509": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2510": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "DUP5",
      "path": "36"
    },
    "2511": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "ADD",
      "path": "36"
    },
    "2512": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4358,
        4427
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2513": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4441,
        4467
      ],
      "op": "SWAP2",
      "path": "36",
      "statement": 12
    },
    "2514": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4441,
        4467
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2515": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4441,
        4467
      ],
      "op": "ADD",
      "path": "36"
    },
    "2516": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4441,
        4467
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2517": {
      "branch": 43,
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4441,
        4472
      ],
      "op": "AND",
      "path": "36"
    },
    "2518": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x9F1"
    },
    "2521": {
      "branch": 43,
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2522": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2524": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2525": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2529": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2531": {
      "op": "SHL"
    },
    "2532": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2533": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2534": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "2536": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "ADD",
      "path": "36"
    },
    "2537": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "2540": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2541": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x178D"
    },
    "2544": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4433,
        4494
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2545": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4433,
        4494
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2546": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4508,
        4535
      ],
      "op": "PUSH1",
      "path": "36",
      "statement": 13,
      "value": "0x40"
    },
    "2548": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4508,
        4535
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2549": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4508,
        4535
      ],
      "op": "ADD",
      "path": "36"
    },
    "2550": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4508,
        4535
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2551": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4508,
        4540
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "2554": {
      "branch": 44,
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4508,
        4540
      ],
      "op": "AND",
      "path": "36"
    },
    "2555": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xA16"
    },
    "2558": {
      "branch": 44,
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2559": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2561": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2562": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "2566": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "2568": {
      "op": "SHL"
    },
    "2569": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2570": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2571": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "2573": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "ADD",
      "path": "36"
    },
    "2574": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "2577": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2578": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1576"
    },
    "2581": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4500,
        4563
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2582": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4500,
        4563
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2583": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2585": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2586": {
      "op": "PUSH4",
      "value": "0x55CD56FF"
    },
    "2591": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "2593": {
      "op": "SHL"
    },
    "2594": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2595": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2596": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4569,
        4578
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2598": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4569,
        4578
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2599": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2601": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2603": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2605": {
      "op": "SHL"
    },
    "2606": {
      "op": "SUB"
    },
    "2607": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4587
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0x0"
    },
    "2640": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4596
      ],
      "op": "AND",
      "path": "36"
    },
    "2641": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4596
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2642": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4596
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xAB9AADFE"
    },
    "2647": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4596
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2648": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xA65"
    },
    "2651": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2652": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4597,
        4604
      ],
      "op": "DUP14",
      "path": "36"
    },
    "2653": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4597,
        4604
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2654": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "2656": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "ADD",
      "path": "36"
    },
    "2657": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1520"
    },
    "2660": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4581,
        4605
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2661": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2662": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "2664": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2666": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2667": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2668": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2669": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "SUB",
      "path": "36"
    },
    "2670": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2671": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2672": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2673": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "2674": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2675": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2676": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2677": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xA7D"
    },
    "2680": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2681": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2683": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2684": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "REVERT",
      "path": "36"
    },
    "2685": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2686": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "POP",
      "path": "36"
    },
    "2687": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "GAS",
      "path": "36"
    },
    "2688": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "2689": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2690": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2691": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2692": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xA91"
    },
    "2695": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2696": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2697": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2699": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2700": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "RETURNDATACOPY",
      "path": "36"
    },
    "2701": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2702": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2704": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "REVERT",
      "path": "36"
    },
    "2705": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2706": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "POP",
      "path": "36"
    },
    "2707": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "POP",
      "path": "36"
    },
    "2708": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "POP",
      "path": "36"
    },
    "2709": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "POP",
      "path": "36"
    },
    "2710": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2712": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2713": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2714": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "2716": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "NOT",
      "path": "36"
    },
    "2717": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "2719": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2720": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "ADD",
      "path": "36"
    },
    "2721": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "AND",
      "path": "36"
    },
    "2722": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2723": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "ADD",
      "path": "36"
    },
    "2724": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2725": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2727": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2728": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "POP",
      "path": "36"
    },
    "2729": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2730": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "ADD",
      "path": "36"
    },
    "2731": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2732": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xAB5"
    },
    "2735": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2736": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2737": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1508"
    },
    "2740": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4581,
        4605
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2741": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4581,
        4605
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2742": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4569,
        4605
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2743": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4569,
        4605
      ],
      "op": "POP",
      "path": "36"
    },
    "2744": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4611,
        4621
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2746": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4630
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0x0"
    },
    "2779": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2781": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2783": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "2785": {
      "op": "SHL"
    },
    "2786": {
      "op": "SUB"
    },
    "2787": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4639
      ],
      "op": "AND",
      "path": "36"
    },
    "2788": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4639
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xAB9AADFE"
    },
    "2793": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4640,
        4658
      ],
      "op": "DUP8",
      "path": "36"
    },
    "2794": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2796": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2797": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2798": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xFFFFFFFF"
    },
    "2803": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "AND",
      "path": "36"
    },
    "2804": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xE0"
    },
    "2806": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "SHL",
      "path": "36"
    },
    "2807": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2808": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2809": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "2811": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "ADD",
      "path": "36"
    },
    "2812": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xB05"
    },
    "2815": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2816": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2817": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1520"
    },
    "2820": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4624,
        4659
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2821": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2822": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "2824": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2826": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2827": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2828": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2829": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "SUB",
      "path": "36"
    },
    "2830": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2831": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2832": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2833": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "2834": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2835": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2836": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2837": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xB1D"
    },
    "2840": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2841": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2843": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2844": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "REVERT",
      "path": "36"
    },
    "2845": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2846": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "POP",
      "path": "36"
    },
    "2847": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "GAS",
      "path": "36"
    },
    "2848": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "2849": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2850": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2851": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "2852": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xB31"
    },
    "2855": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "2856": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2857": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2859": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2860": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "RETURNDATACOPY",
      "path": "36"
    },
    "2861": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2862": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2864": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "REVERT",
      "path": "36"
    },
    "2865": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2866": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "POP",
      "path": "36"
    },
    "2867": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "POP",
      "path": "36"
    },
    "2868": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "POP",
      "path": "36"
    },
    "2869": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "POP",
      "path": "36"
    },
    "2870": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2872": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2873": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "2874": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "2876": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "NOT",
      "path": "36"
    },
    "2877": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "2879": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2880": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "ADD",
      "path": "36"
    },
    "2881": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "AND",
      "path": "36"
    },
    "2882": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2883": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "ADD",
      "path": "36"
    },
    "2884": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP1",
      "path": "36"
    },
    "2885": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2887": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "2888": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "POP",
      "path": "36"
    },
    "2889": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "DUP2",
      "path": "36"
    },
    "2890": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "ADD",
      "path": "36"
    },
    "2891": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2892": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xB55"
    },
    "2895": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2896": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2897": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1508"
    },
    "2900": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4624,
        4659
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2901": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4624,
        4659
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2902": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4611,
        4659
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2903": {
      "op": "POP"
    },
    "2904": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4665,
        4679
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "2906": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4682,
        4711
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xB67"
    },
    "2909": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4611,
        4659
      ],
      "op": "DUP3",
      "path": "36"
    },
    "2910": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4682,
        4700
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x691"
    },
    "2913": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4682,
        4690
      ],
      "op": "DUP12",
      "path": "36"
    },
    "2914": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4695,
        4699
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2915": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4682,
        4694
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1113"
    },
    "2918": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4682,
        4700
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2919": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4682,
        4711
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2920": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4665,
        4711
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2921": {
      "op": "POP"
    },
    "2922": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4729,
        4770
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 14,
      "value": "0xB7B"
    },
    "2925": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4755,
        4769
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2926": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4729,
        4750
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x691"
    },
    "2929": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4665,
        4711
      ],
      "op": "DUP4",
      "path": "36"
    },
    "2930": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "2932": {
      "op": "PUSH1",
      "value": "0x70"
    },
    "2934": {
      "op": "SHL"
    },
    "2935": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4729,
        4742
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1113"
    },
    "2938": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4729,
        4750
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2939": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4729,
        4770
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2940": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4717,
        4770
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2941": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4717,
        4770
      ],
      "op": "POP",
      "path": "36"
    },
    "2942": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4882
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 15,
      "value": "0xBAC"
    },
    "2945": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4868,
        4881
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0x5F5E100"
    },
    "2950": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4863
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x691"
    },
    "2953": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4835,
        4849
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2954": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4835,
        4862
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2956": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4835,
        4862
      ],
      "op": "ADD",
      "path": "36"
    },
    "2957": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4835,
        4862
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2958": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4863
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "2961": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4863
      ],
      "op": "AND",
      "path": "36"
    },
    "2962": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4830
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x7B6"
    },
    "2965": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4803,
        4816
      ],
      "op": "DUP10",
      "path": "36"
    },
    "2966": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4803,
        4829
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "2968": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4803,
        4829
      ],
      "op": "ADD",
      "path": "36"
    },
    "2969": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4803,
        4829
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "2970": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4830
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "2973": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4830
      ],
      "op": "AND",
      "path": "36"
    },
    "2974": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4798
      ],
      "op": "DUP7",
      "path": "36"
    },
    "2975": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4802
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1113"
    },
    "2978": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4802
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2979": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4830
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "2980": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4830
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "2981": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4830
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xFFFFFFFF"
    },
    "2986": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4830
      ],
      "op": "AND",
      "path": "36"
    },
    "2987": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "i",
      "offset": [
        4789,
        4830
      ],
      "op": "JUMP",
      "path": "36"
    },
    "2988": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4789,
        4882
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "2989": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        4776,
        4882
      ],
      "op": "SWAP13",
      "path": "36"
    },
    "2990": {
      "fn": "ProxyOracle.convertForLiquidation",
      "offset": [
        3909,
        4887
      ],
      "op": "SWAP12",
      "path": "36"
    },
    "2991": {
      "op": "POP"
    },
    "2992": {
      "op": "POP"
    },
    "2993": {
      "op": "POP"
    },
    "2994": {
      "op": "POP"
    },
    "2995": {
      "op": "POP"
    },
    "2996": {
      "op": "POP"
    },
    "2997": {
      "op": "POP"
    },
    "2998": {
      "op": "POP"
    },
    "2999": {
      "op": "POP"
    },
    "3000": {
      "op": "POP"
    },
    "3001": {
      "op": "POP"
    },
    "3002": {
      "op": "POP"
    },
    "3003": {
      "fn": "ProxyOracle.convertForLiquidation",
      "jump": "o",
      "offset": [
        3909,
        4887
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3004": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3005": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6318,
        6322
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3007": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6361
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xBC6"
    },
    "3010": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6361
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1186"
    },
    "3013": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "i",
      "offset": [
        6330,
        6361
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3014": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6361
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3015": {
      "op": "POP"
    },
    "3016": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3018": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3020": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3022": {
      "op": "SHL"
    },
    "3023": {
      "op": "SUB"
    },
    "3024": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "DUP5",
      "path": "36"
    },
    "3025": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "AND",
      "path": "36"
    },
    "3026": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3028": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3029": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3030": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3031": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6376
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x42"
    },
    "3033": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3035": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3036": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3037": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3038": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3040": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "3041": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3042": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3043": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6364,
        6383
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "3044": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3045": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3046": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x60"
    },
    "3048": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3049": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "ADD",
      "path": "36"
    },
    "3050": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP5",
      "path": "36"
    },
    "3051": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3052": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3053": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "3054": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "3057": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP1",
      "path": "36"
    },
    "3058": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3059": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "AND",
      "path": "36"
    },
    "3060": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP4",
      "path": "36"
    },
    "3061": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3062": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "PUSH3",
      "path": "36",
      "value": "0x10000"
    },
    "3066": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3067": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DIV",
      "path": "36"
    },
    "3068": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3069": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "AND",
      "path": "36"
    },
    "3070": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "3071": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP4",
      "path": "36"
    },
    "3072": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "ADD",
      "path": "36"
    },
    "3073": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "3074": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3075": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "3076": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3077": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3079": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3081": {
      "op": "SHL"
    },
    "3082": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3083": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DIV",
      "path": "36"
    },
    "3084": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3085": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "3086": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "AND",
      "path": "36"
    },
    "3087": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "3088": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3089": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "ADD",
      "path": "36"
    },
    "3090": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3091": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3092": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3093": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6330,
        6383
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3094": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 16,
      "value": "0xC31"
    },
    "3097": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3098": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3100": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3101": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3105": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3107": {
      "op": "SHL"
    },
    "3108": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3109": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3110": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "3112": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "ADD",
      "path": "36"
    },
    "3113": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "3116": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3117": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x165D"
    },
    "3120": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "i",
      "offset": [
        6389,
        6452
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3121": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6389,
        6452
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3122": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6458,
        6471
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3124": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6520
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xC8B"
    },
    "3127": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3129": {
      "op": "PUSH1",
      "value": "0x70"
    },
    "3131": {
      "op": "SHL"
    },
    "3132": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6508
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x691"
    },
    "3135": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6501,
        6507
      ],
      "op": "DUP8",
      "path": "36"
    },
    "3136": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6480
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0x0"
    },
    "3169": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3171": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3173": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3175": {
      "op": "SHL"
    },
    "3176": {
      "op": "SUB"
    },
    "3177": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6489
      ],
      "op": "AND",
      "path": "36"
    },
    "3178": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6489
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xAB9AADFE"
    },
    "3183": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6490,
        6495
      ],
      "op": "DUP12",
      "path": "36"
    },
    "3184": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3186": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3187": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3188": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xFFFFFFFF"
    },
    "3193": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "AND",
      "path": "36"
    },
    "3194": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0xE0"
    },
    "3196": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "SHL",
      "path": "36"
    },
    "3197": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3198": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3199": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "3201": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "ADD",
      "path": "36"
    },
    "3202": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x766"
    },
    "3205": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "3206": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3207": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6496
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1520"
    },
    "3210": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "i",
      "offset": [
        6474,
        6496
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3211": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6474,
        6520
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3212": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6458,
        6520
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3213": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6458,
        6520
      ],
      "op": "POP",
      "path": "36"
    },
    "3214": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6582
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 17,
      "value": "0xCAE"
    },
    "3217": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6576,
        6581
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x2710"
    },
    "3220": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6571
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x691"
    },
    "3223": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6546,
        6557
      ],
      "op": "DUP5",
      "path": "36"
    },
    "3224": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6546,
        6570
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3226": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6546,
        6570
      ],
      "op": "ADD",
      "path": "36"
    },
    "3227": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6546,
        6570
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3228": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6571
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "3231": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6571
      ],
      "op": "AND",
      "path": "36"
    },
    "3232": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6541
      ],
      "op": "DUP5",
      "path": "36"
    },
    "3233": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6545
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1113"
    },
    "3236": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6545
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3237": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6571
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "3238": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6571
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3239": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6571
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xFFFFFFFF"
    },
    "3244": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6571
      ],
      "op": "AND",
      "path": "36"
    },
    "3245": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "i",
      "offset": [
        6533,
        6571
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3246": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6533,
        6582
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3247": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6526,
        6582
      ],
      "op": "SWAP7",
      "path": "36"
    },
    "3248": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        6206,
        6587
      ],
      "op": "SWAP6",
      "path": "36"
    },
    "3249": {
      "op": "POP"
    },
    "3250": {
      "op": "POP"
    },
    "3251": {
      "op": "POP"
    },
    "3252": {
      "op": "POP"
    },
    "3253": {
      "op": "POP"
    },
    "3254": {
      "op": "POP"
    },
    "3255": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "o",
      "offset": [
        6206,
        6587
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3256": {
      "offset": [
        373,
        403
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "3257": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        373,
        403
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x1"
    },
    "3259": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        373,
        403
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "3260": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3262": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3264": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3266": {
      "op": "SHL"
    },
    "3267": {
      "op": "SUB"
    },
    "3268": {
      "offset": [
        373,
        403
      ],
      "op": "AND",
      "path": "17"
    },
    "3269": {
      "fn": "ProxyOracle.asETHBorrow",
      "offset": [
        373,
        403
      ],
      "op": "DUP2",
      "path": "17"
    },
    "3270": {
      "fn": "ProxyOracle.asETHBorrow",
      "jump": "o",
      "offset": [
        373,
        403
      ],
      "op": "JUMP",
      "path": "17"
    },
    "3271": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1234,
        1444
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "3272": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1297,
        1312
      ],
      "op": "PUSH1",
      "path": "17",
      "statement": 18,
      "value": "0x1"
    },
    "3274": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1297,
        1312
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "3275": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3277": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3279": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3281": {
      "op": "SHL"
    },
    "3282": {
      "op": "SUB"
    },
    "3283": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1297,
        1312
      ],
      "op": "AND",
      "path": "17"
    },
    "3284": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1283,
        1293
      ],
      "op": "CALLER",
      "path": "17"
    },
    "3285": {
      "branch": 50,
      "fn": "Governable.acceptGovernor",
      "offset": [
        1283,
        1312
      ],
      "op": "EQ",
      "path": "17"
    },
    "3286": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0xCF1"
    },
    "3289": {
      "branch": 50,
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "JUMPI",
      "path": "17"
    },
    "3290": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "3292": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "3293": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3297": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3299": {
      "op": "SHL"
    },
    "3300": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "DUP2",
      "path": "17"
    },
    "3301": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "MSTORE",
      "path": "17"
    },
    "3302": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x4"
    },
    "3304": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "ADD",
      "path": "17"
    },
    "3305": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x35C"
    },
    "3308": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "3309": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x15A2"
    },
    "3312": {
      "fn": "Governable.acceptGovernor",
      "jump": "i",
      "offset": [
        1275,
        1341
      ],
      "op": "JUMP",
      "path": "17"
    },
    "3313": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1275,
        1341
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "3314": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1347,
        1362
      ],
      "op": "PUSH1",
      "path": "17",
      "statement": 19,
      "value": "0x1"
    },
    "3316": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1347,
        1375
      ],
      "op": "DUP1",
      "path": "17"
    },
    "3317": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1347,
        1375
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "3318": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3320": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3322": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3324": {
      "op": "SHL"
    },
    "3325": {
      "op": "SUB"
    },
    "3326": {
      "op": "NOT"
    },
    "3327": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1347,
        1375
      ],
      "op": "AND",
      "path": "17"
    },
    "3328": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1347,
        1375
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "3329": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1347,
        1375
      ],
      "op": "SSTORE",
      "path": "17"
    },
    "3330": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "3332": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "DUP1",
      "path": "17",
      "statement": 20
    },
    "3333": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "3334": {
      "op": "PUSH3",
      "value": "0x10000"
    },
    "3338": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3340": {
      "op": "PUSH1",
      "value": "0xB0"
    },
    "3342": {
      "op": "SHL"
    },
    "3343": {
      "op": "SUB"
    },
    "3344": {
      "op": "NOT"
    },
    "3345": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "AND",
      "path": "17"
    },
    "3346": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1392,
        1402
      ],
      "op": "CALLER",
      "path": "17"
    },
    "3347": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "PUSH3",
      "path": "17",
      "value": "0x10000"
    },
    "3351": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "DUP2",
      "path": "17"
    },
    "3352": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "MUL",
      "path": "17"
    },
    "3353": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "3354": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "3355": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "3356": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "OR",
      "path": "17"
    },
    "3357": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "3358": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "3359": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1381,
        1402
      ],
      "op": "SSTORE",
      "path": "17"
    },
    "3360": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "PUSH1",
      "path": "17",
      "statement": 21,
      "value": "0x40"
    },
    "3362": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "3363": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "PUSH32",
      "path": "17",
      "value": "0xD345D81CE68C70B119A17EEE79DC1421700BD9CB21CA148A62DC90983964E82F"
    },
    "3396": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "3397": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0xD4D"
    },
    "3400": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "3401": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1520"
    },
    "3404": {
      "fn": "Governable.acceptGovernor",
      "jump": "i",
      "offset": [
        1413,
        1439
      ],
      "op": "JUMP",
      "path": "17"
    },
    "3405": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "3406": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "3408": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "3409": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "DUP1",
      "path": "17"
    },
    "3410": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "3411": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "SUB",
      "path": "17"
    },
    "3412": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "3413": {
      "fn": "Governable.acceptGovernor",
      "offset": [
        1413,
        1439
      ],
      "op": "LOG1",
      "path": "17"
    },
    "3414": {
      "fn": "Governable.acceptGovernor",
      "jump": "o",
      "offset": [
        1234,
        1444
      ],
      "op": "JUMP",
      "path": "17"
    },
    "3415": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3416": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3418": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3419": {
      "op": "PUSH4",
      "value": "0x55CD56FF"
    },
    "3424": {
      "op": "PUSH1",
      "value": "0xE1"
    },
    "3426": {
      "op": "SHL"
    },
    "3427": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3428": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3429": {
      "fn": "ProxyOracle.support",
      "offset": [
        6766,
        6770
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3431": {
      "fn": "ProxyOracle.support",
      "offset": [
        6766,
        6770
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3432": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3434": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3436": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3438": {
      "op": "SHL"
    },
    "3439": {
      "op": "SUB"
    },
    "3440": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6788
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0x0"
    },
    "3473": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6797
      ],
      "op": "AND",
      "path": "36"
    },
    "3474": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6797
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3475": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6797
      ],
      "op": "PUSH4",
      "path": "36",
      "value": "0xAB9AADFE"
    },
    "3480": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6797
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3481": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xDA6"
    },
    "3484": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3485": {
      "fn": "ProxyOracle.support",
      "offset": [
        6798,
        6803
      ],
      "op": "DUP6",
      "path": "36"
    },
    "3486": {
      "fn": "ProxyOracle.support",
      "offset": [
        6798,
        6803
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3487": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "3489": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "ADD",
      "path": "36"
    },
    "3490": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1520"
    },
    "3493": {
      "fn": "ProxyOracle.support",
      "jump": "i",
      "offset": [
        6782,
        6804
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3494": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3495": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3497": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3499": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3500": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP1",
      "path": "36"
    },
    "3501": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP4",
      "path": "36"
    },
    "3502": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "SUB",
      "path": "36"
    },
    "3503": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3504": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP7",
      "path": "36"
    },
    "3505": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP1",
      "path": "36"
    },
    "3506": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "EXTCODESIZE",
      "path": "36"
    },
    "3507": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3508": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP1",
      "path": "36"
    },
    "3509": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3510": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xDBE"
    },
    "3513": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3514": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3516": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP1",
      "path": "36"
    },
    "3517": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "REVERT",
      "path": "36"
    },
    "3518": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3519": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "POP",
      "path": "36"
    },
    "3520": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "GAS",
      "path": "36"
    },
    "3521": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "STATICCALL",
      "path": "36"
    },
    "3522": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "3523": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "POP",
      "path": "36"
    },
    "3524": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "POP",
      "path": "36"
    },
    "3525": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "POP",
      "path": "36"
    },
    "3526": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP1",
      "path": "36"
    },
    "3527": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3528": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xDEE"
    },
    "3531": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3532": {
      "op": "POP"
    },
    "3533": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3535": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP1",
      "path": "36"
    },
    "3536": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3537": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1F"
    },
    "3539": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "RETURNDATASIZE",
      "path": "36"
    },
    "3540": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3541": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3542": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "ADD",
      "path": "36"
    },
    "3543": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "3545": {
      "op": "NOT"
    },
    "3546": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "AND",
      "path": "36"
    },
    "3547": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3548": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "ADD",
      "path": "36"
    },
    "3549": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3550": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "3551": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3552": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xDEB"
    },
    "3555": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "3556": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3557": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "ADD",
      "path": "36"
    },
    "3558": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3559": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1508"
    },
    "3562": {
      "fn": "ProxyOracle.support",
      "jump": "i",
      "offset": [
        6782,
        6804
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3563": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3564": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x1"
    },
    "3566": {
      "fn": "ProxyOracle.support",
      "offset": [
        6782,
        6804
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3567": {
      "fn": "ProxyOracle.support",
      "offset": [
        6778,
        6927
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xDFA"
    },
    "3570": {
      "fn": "ProxyOracle.support",
      "offset": [
        6778,
        6927
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3571": {
      "op": "POP"
    },
    "3572": {
      "fn": "ProxyOracle.support",
      "offset": [
        6915,
        6920
      ],
      "op": "PUSH1",
      "path": "36",
      "statement": 22,
      "value": "0x0"
    },
    "3574": {
      "fn": "ProxyOracle.support",
      "offset": [
        6908,
        6920
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xE2F"
    },
    "3577": {
      "fn": "ProxyOracle.support",
      "offset": [
        6908,
        6920
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3578": {
      "fn": "ProxyOracle.support",
      "offset": [
        6778,
        6927
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3579": {
      "fn": "ProxyOracle.support",
      "offset": [
        6838,
        6845
      ],
      "op": "DUP1",
      "path": "36",
      "statement": 23
    },
    "3580": {
      "fn": "ProxyOracle.support",
      "offset": [
        6838,
        6845
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3581": {
      "fn": "ProxyOracle.support",
      "offset": [
        6838,
        6845
      ],
      "op": "DUP1",
      "path": "36"
    },
    "3582": {
      "fn": "ProxyOracle.support",
      "offset": [
        6838,
        6845
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3583": {
      "fn": "ProxyOracle.support",
      "offset": [
        6838,
        6845
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3584": {
      "fn": "ProxyOracle.support",
      "offset": [
        6838,
        6886
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xE2B"
    },
    "3587": {
      "fn": "ProxyOracle.support",
      "offset": [
        6838,
        6886
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3588": {
      "op": "POP"
    },
    "3589": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3591": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3593": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3595": {
      "op": "SHL"
    },
    "3596": {
      "op": "SUB"
    },
    "3597": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "DUP4",
      "path": "36"
    },
    "3598": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "AND",
      "path": "36"
    },
    "3599": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3601": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3602": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3603": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3604": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6861
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x42"
    },
    "3606": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3608": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3609": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3611": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3612": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6868
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "3613": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6881
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "3614": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3616": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "3618": {
      "op": "SHL"
    },
    "3619": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6881
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3620": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6881
      ],
      "op": "DIV",
      "path": "36"
    },
    "3621": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6881
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "3624": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6881
      ],
      "op": "AND",
      "path": "36"
    },
    "3625": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6886
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3626": {
      "fn": "ProxyOracle.support",
      "offset": [
        6849,
        6886
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3627": {
      "fn": "ProxyOracle.support",
      "offset": [
        6838,
        6886
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3628": {
      "fn": "ProxyOracle.support",
      "offset": [
        6831,
        6886
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "3629": {
      "fn": "ProxyOracle.support",
      "offset": [
        6831,
        6886
      ],
      "op": "POP",
      "path": "36"
    },
    "3630": {
      "fn": "ProxyOracle.support",
      "offset": [
        6831,
        6886
      ],
      "op": "POP",
      "path": "36"
    },
    "3631": {
      "fn": "ProxyOracle.support",
      "offset": [
        6778,
        6927
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3632": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "3633": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3634": {
      "fn": "ProxyOracle.support",
      "offset": [
        6702,
        6931
      ],
      "op": "POP",
      "path": "36"
    },
    "3635": {
      "fn": "ProxyOracle.support",
      "jump": "o",
      "offset": [
        6702,
        6931
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3636": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1640,
        2413
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3637": {
      "offset": [
        566,
        574
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x0"
    },
    "3639": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        566,
        574
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "3640": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        566,
        574
      ],
      "op": "PUSH3",
      "path": "17",
      "value": "0x10000"
    },
    "3644": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        566,
        574
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "3645": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        566,
        574
      ],
      "op": "DIV",
      "path": "17"
    },
    "3646": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3648": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "3650": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "3652": {
      "op": "SHL"
    },
    "3653": {
      "op": "SUB"
    },
    "3654": {
      "offset": [
        566,
        574
      ],
      "op": "AND",
      "path": "17"
    },
    "3655": {
      "offset": [
        552,
        562
      ],
      "op": "CALLER",
      "path": "17"
    },
    "3656": {
      "offset": [
        552,
        574
      ],
      "op": "EQ",
      "path": "17"
    },
    "3657": {
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0xE64"
    },
    "3660": {
      "offset": [
        544,
        595
      ],
      "op": "JUMPI",
      "path": "17"
    },
    "3661": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "3663": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "3664": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3668": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3670": {
      "op": "SHL"
    },
    "3671": {
      "offset": [
        544,
        595
      ],
      "op": "DUP2",
      "path": "17"
    },
    "3672": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "MSTORE",
      "path": "17"
    },
    "3673": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x4"
    },
    "3675": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "ADD",
      "path": "17"
    },
    "3676": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x35C"
    },
    "3679": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "3680": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1610"
    },
    "3683": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        544,
        595
      ],
      "op": "JUMP",
      "path": "17"
    },
    "3684": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        544,
        595
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "3685": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1785,
        1798
      ],
      "op": "DUP1",
      "path": "36",
      "statement": 24
    },
    "3686": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1785,
        1805
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3687": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1768,
        1774
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3688": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1768,
        1781
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3689": {
      "branch": 45,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1768,
        1805
      ],
      "op": "EQ",
      "path": "36"
    },
    "3690": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xE85"
    },
    "3693": {
      "branch": 45,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3694": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3696": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3697": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3701": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3703": {
      "op": "SHL"
    },
    "3704": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3705": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3706": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "3708": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "ADD",
      "path": "36"
    },
    "3709": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "3712": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3713": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x17B8"
    },
    "3716": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        1760,
        1829
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3717": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1760,
        1829
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3718": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1840,
        1848
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3720": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1835,
        2409
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3721": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1860,
        1866
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3722": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1860,
        1873
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3723": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1854,
        1857
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3724": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1854,
        1873
      ],
      "op": "LT",
      "path": "36"
    },
    "3725": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1835,
        2409
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3726": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1835,
        2409
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x514"
    },
    "3729": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1835,
        2409
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3730": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1933,
        1938
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 25,
      "value": "0x2710"
    },
    "3733": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1911
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3734": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1912,
        1915
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3735": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3736": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3737": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3738": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "LT",
      "path": "36"
    },
    "3739": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xEA0"
    },
    "3742": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3743": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "INVALID",
      "path": "36"
    },
    "3744": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3745": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3747": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "MUL",
      "path": "36"
    },
    "3748": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3750": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "ADD",
      "path": "36"
    },
    "3751": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "ADD",
      "path": "36"
    },
    "3752": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1916
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3753": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1929
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3755": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1929
      ],
      "op": "ADD",
      "path": "36"
    },
    "3756": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1929
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3757": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1938
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "3760": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1938
      ],
      "op": "AND",
      "path": "36"
    },
    "3761": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1938
      ],
      "op": "LT",
      "path": "36"
    },
    "3762": {
      "branch": 46,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1898,
        1938
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3763": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xECE"
    },
    "3766": {
      "branch": 46,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3767": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3769": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3770": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3774": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3776": {
      "op": "SHL"
    },
    "3777": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3778": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3779": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "3781": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "ADD",
      "path": "36"
    },
    "3782": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "3785": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3786": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x174A"
    },
    "3789": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        1890,
        1978
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3790": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1890,
        1978
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3791": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2042,
        2047
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 26,
      "value": "0x2710"
    },
    "3794": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2016
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3795": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2017,
        2020
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3796": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3797": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3798": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3799": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "LT",
      "path": "36"
    },
    "3800": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xEDD"
    },
    "3803": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3804": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "INVALID",
      "path": "36"
    },
    "3805": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3806": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3808": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "MUL",
      "path": "36"
    },
    "3809": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3811": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "ADD",
      "path": "36"
    },
    "3812": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "ADD",
      "path": "36"
    },
    "3813": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2021
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3814": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2038
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3816": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2038
      ],
      "op": "ADD",
      "path": "36"
    },
    "3817": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2038
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3818": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2047
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "3821": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2047
      ],
      "op": "AND",
      "path": "36"
    },
    "3822": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2047
      ],
      "op": "GT",
      "path": "36"
    },
    "3823": {
      "branch": 47,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2003,
        2047
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3824": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF0B"
    },
    "3827": {
      "branch": 47,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3828": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3830": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3831": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3835": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3837": {
      "op": "SHL"
    },
    "3838": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3839": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3840": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "3842": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "ADD",
      "path": "36"
    },
    "3843": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "3846": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3847": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x16CD"
    },
    "3850": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        1986,
        2105
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3851": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1986,
        2105
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3852": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2156,
        2161
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 27,
      "value": "0x2710"
    },
    "3855": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2134
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3856": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2135,
        2138
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3857": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3858": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3859": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3860": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "LT",
      "path": "36"
    },
    "3861": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF1A"
    },
    "3864": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3865": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "INVALID",
      "path": "36"
    },
    "3866": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3867": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3869": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "MUL",
      "path": "36"
    },
    "3870": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3872": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "ADD",
      "path": "36"
    },
    "3873": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "ADD",
      "path": "36"
    },
    "3874": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2139
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3875": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2152
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3877": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2152
      ],
      "op": "ADD",
      "path": "36"
    },
    "3878": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2152
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3879": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2161
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "3882": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2161
      ],
      "op": "AND",
      "path": "36"
    },
    "3883": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2161
      ],
      "op": "LT",
      "path": "36"
    },
    "3884": {
      "branch": 48,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2121,
        2161
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3885": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF48"
    },
    "3888": {
      "branch": 48,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3889": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3891": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3892": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3896": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3898": {
      "op": "SHL"
    },
    "3899": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3900": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3901": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "3903": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "ADD",
      "path": "36"
    },
    "3904": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "3907": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3908": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1713"
    },
    "3911": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        2113,
        2197
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3912": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2113,
        2197
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3913": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2248,
        2253
      ],
      "op": "PUSH2",
      "path": "36",
      "statement": 28,
      "value": "0x4E20"
    },
    "3916": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2226
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3917": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2227,
        2230
      ],
      "op": "DUP3",
      "path": "36"
    },
    "3918": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3919": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3920": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3921": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "LT",
      "path": "36"
    },
    "3922": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF57"
    },
    "3925": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3926": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "INVALID",
      "path": "36"
    },
    "3927": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3928": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3930": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "MUL",
      "path": "36"
    },
    "3931": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3933": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "ADD",
      "path": "36"
    },
    "3934": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "ADD",
      "path": "36"
    },
    "3935": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2231
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3936": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2244
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3938": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2244
      ],
      "op": "ADD",
      "path": "36"
    },
    "3939": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2244
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3940": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2253
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "3943": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2253
      ],
      "op": "AND",
      "path": "36"
    },
    "3944": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2253
      ],
      "op": "GT",
      "path": "36"
    },
    "3945": {
      "branch": 49,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2213,
        2253
      ],
      "op": "ISZERO",
      "path": "36"
    },
    "3946": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF85"
    },
    "3949": {
      "branch": 49,
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3950": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "3952": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3953": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "3957": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "3959": {
      "op": "SHL"
    },
    "3960": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3961": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "3962": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x4"
    },
    "3964": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "ADD",
      "path": "36"
    },
    "3965": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x35C"
    },
    "3968": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "3969": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x17E5"
    },
    "3972": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        2205,
        2288
      ],
      "op": "JUMP",
      "path": "36"
    },
    "3973": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2205,
        2288
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3974": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2337
      ],
      "op": "DUP2",
      "path": "36",
      "statement": 29
    },
    "3975": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2338,
        2341
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3976": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3977": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3978": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "DUP2",
      "path": "36"
    },
    "3979": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "LT",
      "path": "36"
    },
    "3980": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xF91"
    },
    "3983": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "3984": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "INVALID",
      "path": "36"
    },
    "3985": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "3986": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3988": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "MUL",
      "path": "36"
    },
    "3989": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "3991": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "ADD",
      "path": "36"
    },
    "3992": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "ADD",
      "path": "36"
    },
    "3993": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2324,
        2342
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "3994": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2308
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x42"
    },
    "3996": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x0"
    },
    "3998": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2315
      ],
      "op": "DUP6",
      "path": "36"
    },
    "3999": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2316,
        2319
      ],
      "op": "DUP5",
      "path": "36"
    },
    "4000": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4001": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4002": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4003": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "LT",
      "path": "36"
    },
    "4004": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFA9"
    },
    "4007": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "4008": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "INVALID",
      "path": "36"
    },
    "4009": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "4010": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "4012": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4013": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4014": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "MUL",
      "path": "36"
    },
    "4015": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "4016": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4017": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "4018": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "ADD",
      "path": "36"
    },
    "4019": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4020": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "ADD",
      "path": "36"
    },
    "4021": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2309,
        2320
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4022": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4024": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4026": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4028": {
      "op": "SHL"
    },
    "4029": {
      "op": "SUB"
    },
    "4030": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "AND",
      "path": "36"
    },
    "4031": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "DUP3",
      "path": "36"
    },
    "4032": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "4033": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4034": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4035": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "ADD",
      "path": "36"
    },
    "4036": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "4037": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4038": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "4039": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "MSTORE",
      "path": "36"
    },
    "4040": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "4042": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4043": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4044": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "ADD",
      "path": "36"
    },
    "4045": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4047": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2321
      ],
      "op": "KECCAK256",
      "path": "36"
    },
    "4048": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "DUP4",
      "path": "36"
    },
    "4049": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4050": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4051": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SLOAD",
      "path": "36"
    },
    "4052": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "4053": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "DUP6",
      "path": "36"
    },
    "4054": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "ADD",
      "path": "36"
    },
    "4055": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4056": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP5",
      "path": "36"
    },
    "4057": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4058": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "4059": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "ADD",
      "path": "36"
    },
    "4060": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4061": {
      "op": "PUSH2",
      "value": "0xFFFF"
    },
    "4064": {
      "op": "NOT"
    },
    "4065": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4066": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "4067": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "AND",
      "path": "36"
    },
    "4068": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xFFFF"
    },
    "4071": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "4072": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "DUP4",
      "path": "36"
    },
    "4073": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "AND",
      "path": "36"
    },
    "4074": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "OR",
      "path": "36"
    },
    "4075": {
      "op": "PUSH4",
      "value": "0xFFFF0000"
    },
    "4080": {
      "op": "NOT"
    },
    "4081": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "AND",
      "path": "36"
    },
    "4082": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "PUSH3",
      "path": "36",
      "value": "0x10000"
    },
    "4086": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP5",
      "path": "36"
    },
    "4087": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "DUP4",
      "path": "36"
    },
    "4088": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "AND",
      "path": "36"
    },
    "4089": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP5",
      "path": "36"
    },
    "4090": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4091": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP5",
      "path": "36"
    },
    "4092": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "MUL",
      "path": "36"
    },
    "4093": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "4094": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4095": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP4",
      "path": "36"
    },
    "4096": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "OR",
      "path": "36"
    },
    "4097": {
      "op": "PUSH6",
      "value": "0xFFFF00000000"
    },
    "4104": {
      "op": "NOT"
    },
    "4105": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "AND",
      "path": "36"
    },
    "4106": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4108": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4110": {
      "op": "SHL"
    },
    "4111": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "4112": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4113": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP3",
      "path": "36"
    },
    "4114": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "AND",
      "path": "36"
    },
    "4115": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "MUL",
      "path": "36"
    },
    "4116": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "OR",
      "path": "36"
    },
    "4117": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4118": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2296,
        2342
      ],
      "op": "SSTORE",
      "path": "36"
    },
    "4119": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "DUP3",
      "path": "36",
      "statement": 30
    },
    "4120": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4121": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "DUP4",
      "path": "36"
    },
    "4122": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4123": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2377,
        2380
      ],
      "op": "DUP3",
      "path": "36"
    },
    "4124": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2377,
        2380
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4125": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4126": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "LT",
      "path": "36"
    },
    "4127": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1024"
    },
    "4130": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "4131": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "INVALID",
      "path": "36"
    },
    "4132": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "4133": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "4135": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "MUL",
      "path": "36"
    },
    "4136": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "4138": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "ADD",
      "path": "36"
    },
    "4139": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "ADD",
      "path": "36"
    },
    "4140": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2370,
        2381
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4141": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4143": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4145": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4147": {
      "op": "SHL"
    },
    "4148": {
      "op": "SUB"
    },
    "4149": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "AND",
      "path": "36"
    },
    "4150": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "PUSH32",
      "path": "36",
      "value": "0xC35B295CA62F561378F46DA3A41B523FB1DC01CFB8D4036F8AA13363958ED458"
    },
    "4183": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2396
      ],
      "op": "DUP4",
      "path": "36"
    },
    "4184": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2397,
        2400
      ],
      "op": "DUP4",
      "path": "36"
    },
    "4185": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4186": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4187": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "DUP2",
      "path": "36"
    },
    "4188": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "LT",
      "path": "36"
    },
    "4189": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1062"
    },
    "4192": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "JUMPI",
      "path": "36"
    },
    "4193": {
      "dev": "Index out of range",
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "INVALID",
      "path": "36"
    },
    "4194": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "4195": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "4197": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "MUL",
      "path": "36"
    },
    "4198": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x20"
    },
    "4200": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "ADD",
      "path": "36"
    },
    "4201": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "ADD",
      "path": "36"
    },
    "4202": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2383,
        2401
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4203": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "4205": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4206": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x1077"
    },
    "4209": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "4210": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4211": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0x181C"
    },
    "4214": {
      "fn": "ProxyOracle.setTokenFactors",
      "jump": "i",
      "offset": [
        2355,
        2402
      ],
      "op": "JUMP",
      "path": "36"
    },
    "4215": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "JUMPDEST",
      "path": "36"
    },
    "4216": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "PUSH1",
      "path": "36",
      "value": "0x40"
    },
    "4218": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "MLOAD",
      "path": "36"
    },
    "4219": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "DUP1",
      "path": "36"
    },
    "4220": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "SWAP2",
      "path": "36"
    },
    "4221": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "SUB",
      "path": "36"
    },
    "4222": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "SWAP1",
      "path": "36"
    },
    "4223": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        2355,
        2402
      ],
      "op": "LOG2",
      "path": "36"
    },
    "4224": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1875,
        1880
      ],
      "op": "PUSH1",
      "path": "36",
      "statement": 31,
      "value": "0x1"
    },
    "4226": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1875,
        1880
      ],
      "op": "ADD",
      "path": "36"
    },
    "4227": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1835,
        2409
      ],
      "op": "PUSH2",
      "path": "36",
      "value": "0xE88"
    },
    "4230": {
      "fn": "ProxyOracle.setTokenFactors",
      "offset": [
        1835,
        2409
      ],
      "op": "JUMP",
      "path": "36"
    },
    "4231": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "4232": {
      "offset": [
        566,
        574
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x0"
    },
    "4234": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        566,
        574
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "4235": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        566,
        574
      ],
      "op": "PUSH3",
      "path": "17",
      "value": "0x10000"
    },
    "4239": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        566,
        574
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "4240": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        566,
        574
      ],
      "op": "DIV",
      "path": "17"
    },
    "4241": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4243": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4245": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4247": {
      "op": "SHL"
    },
    "4248": {
      "op": "SUB"
    },
    "4249": {
      "offset": [
        566,
        574
      ],
      "op": "AND",
      "path": "17"
    },
    "4250": {
      "offset": [
        552,
        562
      ],
      "op": "CALLER",
      "path": "17"
    },
    "4251": {
      "offset": [
        552,
        574
      ],
      "op": "EQ",
      "path": "17"
    },
    "4252": {
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x10B7"
    },
    "4255": {
      "offset": [
        544,
        595
      ],
      "op": "JUMPI",
      "path": "17"
    },
    "4256": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "4258": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "4259": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4263": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4265": {
      "op": "SHL"
    },
    "4266": {
      "offset": [
        544,
        595
      ],
      "op": "DUP2",
      "path": "17"
    },
    "4267": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "MSTORE",
      "path": "17"
    },
    "4268": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x4"
    },
    "4270": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "ADD",
      "path": "17"
    },
    "4271": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x35C"
    },
    "4274": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "4275": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1610"
    },
    "4278": {
      "fn": "Governable.setPendingGovernor",
      "jump": "i",
      "offset": [
        544,
        595
      ],
      "op": "JUMP",
      "path": "17"
    },
    "4279": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        544,
        595
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "4280": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1073
      ],
      "op": "PUSH1",
      "path": "17",
      "statement": 32,
      "value": "0x1"
    },
    "4282": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "DUP1",
      "path": "17"
    },
    "4283": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "SLOAD",
      "path": "17"
    },
    "4284": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4286": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4288": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4290": {
      "op": "SHL"
    },
    "4291": {
      "op": "SUB"
    },
    "4292": {
      "op": "NOT"
    },
    "4293": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "AND",
      "path": "17"
    },
    "4294": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4296": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4298": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "4300": {
      "op": "SHL"
    },
    "4301": {
      "op": "SUB"
    },
    "4302": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "DUP4",
      "path": "17"
    },
    "4303": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "AND",
      "path": "17"
    },
    "4304": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "OR",
      "path": "17"
    },
    "4305": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "4306": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "SSTORE",
      "path": "17"
    },
    "4307": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "PUSH1",
      "path": "17",
      "statement": 33,
      "value": "0x40"
    },
    "4309": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "4310": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "PUSH32",
      "path": "17",
      "value": "0x964DEA888B00B2AB53F13DFE7CA334B46E99338C222AE232D98547A1DA019F60"
    },
    "4343": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "4344": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1102"
    },
    "4347": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "4348": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "DUP4",
      "path": "17"
    },
    "4349": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1058,
        1092
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "4350": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "PUSH2",
      "path": "17",
      "value": "0x1520"
    },
    "4353": {
      "fn": "Governable.setPendingGovernor",
      "jump": "i",
      "offset": [
        1103,
        1139
      ],
      "op": "JUMP",
      "path": "17"
    },
    "4354": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "JUMPDEST",
      "path": "17"
    },
    "4355": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "PUSH1",
      "path": "17",
      "value": "0x40"
    },
    "4357": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "MLOAD",
      "path": "17"
    },
    "4358": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "DUP1",
      "path": "17"
    },
    "4359": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "SWAP2",
      "path": "17"
    },
    "4360": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "SUB",
      "path": "17"
    },
    "4361": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "SWAP1",
      "path": "17"
    },
    "4362": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        1103,
        1139
      ],
      "op": "LOG1",
      "path": "17"
    },
    "4363": {
      "fn": "Governable.setPendingGovernor",
      "offset": [
        981,
        1144
      ],
      "op": "POP",
      "path": "17"
    },
    "4364": {
      "fn": "Governable.setPendingGovernor",
      "jump": "o",
      "offset": [
        981,
        1144
      ],
      "op": "JUMP",
      "path": "17"
    },
    "4365": {
      "fn": "Address.isContract",
      "offset": [
        726,
        1139
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "4366": {
      "fn": "Address.isContract",
      "offset": [
        1086,
        1106
      ],
      "op": "EXTCODESIZE",
      "path": "14"
    },
    "4367": {
      "fn": "Address.isContract",
      "offset": [
        1124,
        1132
      ],
      "op": "ISZERO",
      "path": "14",
      "statement": 34
    },
    "4368": {
      "fn": "Address.isContract",
      "offset": [
        1124,
        1132
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "4369": {
      "fn": "Address.isContract",
      "offset": [
        1124,
        1132
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "4370": {
      "fn": "Address.isContract",
      "jump": "o",
      "offset": [
        726,
        1139
      ],
      "op": "JUMP",
      "path": "14"
    },
    "4371": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "4372": {
      "fn": "SafeMath.mul",
      "offset": [
        3596,
        3603
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "4374": {
      "branch": 51,
      "fn": "SafeMath.mul",
      "offset": [
        3619,
        3625
      ],
      "op": "DUP3",
      "path": "4"
    },
    "4375": {
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x1122"
    },
    "4378": {
      "branch": 51,
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "4379": {
      "op": "POP"
    },
    "4380": {
      "fn": "SafeMath.mul",
      "offset": [
        3634,
        3635
      ],
      "op": "PUSH1",
      "path": "4",
      "statement": 35,
      "value": "0x0"
    },
    "4382": {
      "fn": "SafeMath.mul",
      "offset": [
        3627,
        3635
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x311"
    },
    "4385": {
      "fn": "SafeMath.mul",
      "offset": [
        3627,
        3635
      ],
      "op": "JUMP",
      "path": "4"
    },
    "4386": {
      "fn": "SafeMath.mul",
      "offset": [
        3615,
        3635
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "4387": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "4388": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "4389": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "MUL",
      "path": "4"
    },
    "4390": {
      "fn": "SafeMath.mul",
      "offset": [
        3661,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "4391": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3658
      ],
      "op": "DUP5",
      "path": "4"
    },
    "4392": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3662
      ],
      "op": "DUP3",
      "path": "4"
    },
    "4393": {
      "fn": "SafeMath.mul",
      "offset": [
        3657,
        3658
      ],
      "op": "DUP2",
      "path": "4"
    },
    "4394": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "PUSH2",
      "path": "4",
      "statement": 36,
      "value": "0x112F"
    },
    "4397": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "4398": {
      "dev": "Division by zero",
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "INVALID",
      "path": "4"
    },
    "4399": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "4400": {
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3685
      ],
      "op": "DIV",
      "path": "4"
    },
    "4401": {
      "branch": 52,
      "fn": "SafeMath.mul",
      "offset": [
        3680,
        3690
      ],
      "op": "EQ",
      "path": "4"
    },
    "4402": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x114D"
    },
    "4405": {
      "branch": 52,
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "4406": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "4408": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "4409": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4413": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4415": {
      "op": "SHL"
    },
    "4416": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "DUP2",
      "path": "4"
    },
    "4417": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "4418": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "4420": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "ADD",
      "path": "4"
    },
    "4421": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x35C"
    },
    "4424": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "4425": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x168C"
    },
    "4428": {
      "fn": "SafeMath.mul",
      "jump": "i",
      "offset": [
        3672,
        3728
      ],
      "op": "JUMP",
      "path": "4"
    },
    "4429": {
      "fn": "SafeMath.mul",
      "offset": [
        3672,
        3728
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "4430": {
      "fn": "SafeMath.mul",
      "offset": [
        3745,
        3746
      ],
      "op": "SWAP4",
      "path": "4",
      "statement": 37
    },
    "4431": {
      "fn": "SafeMath.mul",
      "offset": [
        3538,
        3753
      ],
      "op": "SWAP3",
      "path": "4"
    },
    "4432": {
      "op": "POP"
    },
    "4433": {
      "op": "POP"
    },
    "4434": {
      "op": "POP"
    },
    "4435": {
      "fn": "SafeMath.mul",
      "jump": "o",
      "offset": [
        3538,
        3753
      ],
      "op": "JUMP",
      "path": "4"
    },
    "4436": {
      "fn": "SafeMath.div",
      "offset": [
        4217,
        4367
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "4437": {
      "fn": "SafeMath.div",
      "offset": [
        4275,
        4282
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x0"
    },
    "4439": {
      "fn": "SafeMath.div",
      "offset": [
        4306,
        4307
      ],
      "op": "DUP1",
      "path": "4",
      "statement": 38
    },
    "4440": {
      "fn": "SafeMath.div",
      "offset": [
        4302,
        4303
      ],
      "op": "DUP3",
      "path": "4"
    },
    "4441": {
      "branch": 53,
      "fn": "SafeMath.div",
      "offset": [
        4302,
        4307
      ],
      "op": "GT",
      "path": "4"
    },
    "4442": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x1175"
    },
    "4445": {
      "branch": 53,
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "4446": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x40"
    },
    "4448": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MLOAD",
      "path": "4"
    },
    "4449": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "4453": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "4455": {
      "op": "SHL"
    },
    "4456": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "DUP2",
      "path": "4"
    },
    "4457": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "MSTORE",
      "path": "4"
    },
    "4458": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH1",
      "path": "4",
      "value": "0x4"
    },
    "4460": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "ADD",
      "path": "4"
    },
    "4461": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x35C"
    },
    "4464": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "SWAP1",
      "path": "4"
    },
    "4465": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x15D9"
    },
    "4468": {
      "fn": "SafeMath.div",
      "jump": "i",
      "offset": [
        4294,
        4338
      ],
      "op": "JUMP",
      "path": "4"
    },
    "4469": {
      "fn": "SafeMath.div",
      "offset": [
        4294,
        4338
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "4470": {
      "fn": "SafeMath.div",
      "offset": [
        4359,
        4360
      ],
      "op": "DUP2",
      "path": "4",
      "statement": 39
    },
    "4471": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4356
      ],
      "op": "DUP4",
      "path": "4"
    },
    "4472": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "DUP2",
      "path": "4"
    },
    "4473": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "PUSH2",
      "path": "4",
      "value": "0x117E"
    },
    "4476": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "JUMPI",
      "path": "4"
    },
    "4477": {
      "dev": "Division by zero",
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "INVALID",
      "path": "4"
    },
    "4478": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "JUMPDEST",
      "path": "4"
    },
    "4479": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "DIV",
      "path": "4"
    },
    "4480": {
      "fn": "SafeMath.div",
      "offset": [
        4355,
        4360
      ],
      "op": "SWAP4",
      "path": "4"
    },
    "4481": {
      "fn": "SafeMath.div",
      "offset": [
        4217,
        4367
      ],
      "op": "SWAP3",
      "path": "4"
    },
    "4482": {
      "op": "POP"
    },
    "4483": {
      "op": "POP"
    },
    "4484": {
      "op": "POP"
    },
    "4485": {
      "fn": "SafeMath.div",
      "jump": "o",
      "offset": [
        4217,
        4367
      ],
      "op": "JUMP",
      "path": "4"
    },
    "4486": {
      "op": "JUMPDEST"
    },
    "4487": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "4489": {
      "op": "DUP1"
    },
    "4490": {
      "op": "MLOAD"
    },
    "4491": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "4493": {
      "op": "DUP2"
    },
    "4494": {
      "op": "ADD"
    },
    "4495": {
      "op": "DUP3"
    },
    "4496": {
      "op": "MSTORE"
    },
    "4497": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4499": {
      "op": "DUP1"
    },
    "4500": {
      "op": "DUP3"
    },
    "4501": {
      "op": "MSTORE"
    },
    "4502": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4504": {
      "op": "DUP3"
    },
    "4505": {
      "op": "ADD"
    },
    "4506": {
      "op": "DUP2"
    },
    "4507": {
      "op": "SWAP1"
    },
    "4508": {
      "op": "MSTORE"
    },
    "4509": {
      "op": "SWAP2"
    },
    "4510": {
      "op": "DUP2"
    },
    "4511": {
      "op": "ADD"
    },
    "4512": {
      "op": "SWAP2"
    },
    "4513": {
      "op": "SWAP1"
    },
    "4514": {
      "op": "SWAP2"
    },
    "4515": {
      "op": "MSTORE"
    },
    "4516": {
      "op": "SWAP1"
    },
    "4517": {
      "op": "JUMP"
    },
    "4518": {
      "op": "JUMPDEST"
    },
    "4519": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4521": {
      "op": "DUP3"
    },
    "4522": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "4524": {
      "op": "DUP4"
    },
    "4525": {
      "op": "ADD"
    },
    "4526": {
      "op": "SLT"
    },
    "4527": {
      "op": "PUSH2",
      "value": "0x11B6"
    },
    "4530": {
      "op": "JUMPI"
    },
    "4531": {
      "op": "DUP1"
    },
    "4532": {
      "op": "DUP2"
    },
    "4533": {
      "op": "REVERT"
    },
    "4534": {
      "op": "JUMPDEST"
    },
    "4535": {
      "op": "DUP2"
    },
    "4536": {
      "op": "CALLDATALOAD"
    },
    "4537": {
      "op": "PUSH2",
      "value": "0x11C9"
    },
    "4540": {
      "op": "PUSH2",
      "value": "0x11C4"
    },
    "4543": {
      "op": "DUP3"
    },
    "4544": {
      "op": "PUSH2",
      "value": "0x1894"
    },
    "4547": {
      "op": "JUMP"
    },
    "4548": {
      "op": "JUMPDEST"
    },
    "4549": {
      "op": "PUSH2",
      "value": "0x186D"
    },
    "4552": {
      "op": "JUMP"
    },
    "4553": {
      "op": "JUMPDEST"
    },
    "4554": {
      "op": "DUP2"
    },
    "4555": {
      "op": "DUP2"
    },
    "4556": {
      "op": "MSTORE"
    },
    "4557": {
      "op": "SWAP2"
    },
    "4558": {
      "op": "POP"
    },
    "4559": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4561": {
      "op": "DUP1"
    },
    "4562": {
      "op": "DUP4"
    },
    "4563": {
      "op": "ADD"
    },
    "4564": {
      "op": "SWAP1"
    },
    "4565": {
      "op": "DUP5"
    },
    "4566": {
      "op": "DUP2"
    },
    "4567": {
      "op": "ADD"
    },
    "4568": {
      "op": "DUP2"
    },
    "4569": {
      "op": "DUP5"
    },
    "4570": {
      "op": "MUL"
    },
    "4571": {
      "op": "DUP7"
    },
    "4572": {
      "op": "ADD"
    },
    "4573": {
      "op": "DUP3"
    },
    "4574": {
      "op": "ADD"
    },
    "4575": {
      "op": "DUP8"
    },
    "4576": {
      "op": "LT"
    },
    "4577": {
      "op": "ISZERO"
    },
    "4578": {
      "op": "PUSH2",
      "value": "0x11EA"
    },
    "4581": {
      "op": "JUMPI"
    },
    "4582": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4584": {
      "op": "DUP1"
    },
    "4585": {
      "op": "REVERT"
    },
    "4586": {
      "op": "JUMPDEST"
    },
    "4587": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4589": {
      "op": "JUMPDEST"
    },
    "4590": {
      "op": "DUP5"
    },
    "4591": {
      "op": "DUP2"
    },
    "4592": {
      "op": "LT"
    },
    "4593": {
      "op": "ISZERO"
    },
    "4594": {
      "op": "PUSH2",
      "value": "0x1212"
    },
    "4597": {
      "op": "JUMPI"
    },
    "4598": {
      "op": "DUP2"
    },
    "4599": {
      "op": "CALLDATALOAD"
    },
    "4600": {
      "op": "PUSH2",
      "value": "0x1200"
    },
    "4603": {
      "op": "DUP2"
    },
    "4604": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "4607": {
      "op": "JUMP"
    },
    "4608": {
      "op": "JUMPDEST"
    },
    "4609": {
      "op": "DUP5"
    },
    "4610": {
      "op": "MSTORE"
    },
    "4611": {
      "op": "SWAP3"
    },
    "4612": {
      "op": "DUP3"
    },
    "4613": {
      "op": "ADD"
    },
    "4614": {
      "op": "SWAP3"
    },
    "4615": {
      "op": "SWAP1"
    },
    "4616": {
      "op": "DUP3"
    },
    "4617": {
      "op": "ADD"
    },
    "4618": {
      "op": "SWAP1"
    },
    "4619": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "4621": {
      "op": "ADD"
    },
    "4622": {
      "op": "PUSH2",
      "value": "0x11ED"
    },
    "4625": {
      "op": "JUMP"
    },
    "4626": {
      "op": "JUMPDEST"
    },
    "4627": {
      "op": "POP"
    },
    "4628": {
      "op": "POP"
    },
    "4629": {
      "op": "POP"
    },
    "4630": {
      "op": "POP"
    },
    "4631": {
      "op": "POP"
    },
    "4632": {
      "op": "SWAP3"
    },
    "4633": {
      "op": "SWAP2"
    },
    "4634": {
      "op": "POP"
    },
    "4635": {
      "op": "POP"
    },
    "4636": {
      "op": "JUMP"
    },
    "4637": {
      "op": "JUMPDEST"
    },
    "4638": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4640": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "4642": {
      "op": "DUP3"
    },
    "4643": {
      "op": "DUP5"
    },
    "4644": {
      "op": "SUB"
    },
    "4645": {
      "op": "SLT"
    },
    "4646": {
      "op": "ISZERO"
    },
    "4647": {
      "op": "PUSH2",
      "value": "0x122E"
    },
    "4650": {
      "op": "JUMPI"
    },
    "4651": {
      "op": "DUP1"
    },
    "4652": {
      "op": "DUP2"
    },
    "4653": {
      "op": "REVERT"
    },
    "4654": {
      "op": "JUMPDEST"
    },
    "4655": {
      "op": "PUSH2",
      "value": "0x1238"
    },
    "4658": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "4660": {
      "op": "PUSH2",
      "value": "0x186D"
    },
    "4663": {
      "op": "JUMP"
    },
    "4664": {
      "op": "JUMPDEST"
    },
    "4665": {
      "op": "SWAP1"
    },
    "4666": {
      "op": "POP"
    },
    "4667": {
      "op": "PUSH2",
      "value": "0x1244"
    },
    "4670": {
      "op": "DUP4"
    },
    "4671": {
      "op": "DUP4"
    },
    "4672": {
      "op": "PUSH2",
      "value": "0x1270"
    },
    "4675": {
      "op": "JUMP"
    },
    "4676": {
      "op": "JUMPDEST"
    },
    "4677": {
      "op": "DUP2"
    },
    "4678": {
      "op": "MSTORE"
    },
    "4679": {
      "op": "PUSH2",
      "value": "0x1253"
    },
    "4682": {
      "op": "DUP4"
    },
    "4683": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4685": {
      "op": "DUP5"
    },
    "4686": {
      "op": "ADD"
    },
    "4687": {
      "op": "PUSH2",
      "value": "0x1270"
    },
    "4690": {
      "op": "JUMP"
    },
    "4691": {
      "op": "JUMPDEST"
    },
    "4692": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4694": {
      "op": "DUP3"
    },
    "4695": {
      "op": "ADD"
    },
    "4696": {
      "op": "MSTORE"
    },
    "4697": {
      "op": "PUSH2",
      "value": "0x1265"
    },
    "4700": {
      "op": "DUP4"
    },
    "4701": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "4703": {
      "op": "DUP5"
    },
    "4704": {
      "op": "ADD"
    },
    "4705": {
      "op": "PUSH2",
      "value": "0x1270"
    },
    "4708": {
      "op": "JUMP"
    },
    "4709": {
      "op": "JUMPDEST"
    },
    "4710": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "4712": {
      "op": "DUP3"
    },
    "4713": {
      "op": "ADD"
    },
    "4714": {
      "op": "MSTORE"
    },
    "4715": {
      "op": "SWAP3"
    },
    "4716": {
      "op": "SWAP2"
    },
    "4717": {
      "op": "POP"
    },
    "4718": {
      "op": "POP"
    },
    "4719": {
      "op": "JUMP"
    },
    "4720": {
      "op": "JUMPDEST"
    },
    "4721": {
      "op": "DUP1"
    },
    "4722": {
      "op": "CALLDATALOAD"
    },
    "4723": {
      "op": "PUSH2",
      "value": "0xFFFF"
    },
    "4726": {
      "op": "DUP2"
    },
    "4727": {
      "op": "AND"
    },
    "4728": {
      "op": "DUP2"
    },
    "4729": {
      "op": "EQ"
    },
    "4730": {
      "op": "PUSH2",
      "value": "0x311"
    },
    "4733": {
      "op": "JUMPI"
    },
    "4734": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4736": {
      "op": "DUP1"
    },
    "4737": {
      "op": "REVERT"
    },
    "4738": {
      "op": "JUMPDEST"
    },
    "4739": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4741": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4743": {
      "op": "DUP3"
    },
    "4744": {
      "op": "DUP5"
    },
    "4745": {
      "op": "SUB"
    },
    "4746": {
      "op": "SLT"
    },
    "4747": {
      "op": "ISZERO"
    },
    "4748": {
      "op": "PUSH2",
      "value": "0x1293"
    },
    "4751": {
      "op": "JUMPI"
    },
    "4752": {
      "op": "DUP1"
    },
    "4753": {
      "op": "DUP2"
    },
    "4754": {
      "op": "REVERT"
    },
    "4755": {
      "op": "JUMPDEST"
    },
    "4756": {
      "op": "DUP2"
    },
    "4757": {
      "op": "CALLDATALOAD"
    },
    "4758": {
      "op": "PUSH2",
      "value": "0x114D"
    },
    "4761": {
      "op": "DUP2"
    },
    "4762": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "4765": {
      "op": "JUMP"
    },
    "4766": {
      "op": "JUMPDEST"
    },
    "4767": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4769": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4771": {
      "op": "DUP3"
    },
    "4772": {
      "op": "DUP5"
    },
    "4773": {
      "op": "SUB"
    },
    "4774": {
      "op": "SLT"
    },
    "4775": {
      "op": "ISZERO"
    },
    "4776": {
      "op": "PUSH2",
      "value": "0x12AF"
    },
    "4779": {
      "op": "JUMPI"
    },
    "4780": {
      "op": "DUP1"
    },
    "4781": {
      "op": "DUP2"
    },
    "4782": {
      "op": "REVERT"
    },
    "4783": {
      "op": "JUMPDEST"
    },
    "4784": {
      "op": "DUP2"
    },
    "4785": {
      "op": "MLOAD"
    },
    "4786": {
      "op": "PUSH2",
      "value": "0x114D"
    },
    "4789": {
      "op": "DUP2"
    },
    "4790": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "4793": {
      "op": "JUMP"
    },
    "4794": {
      "op": "JUMPDEST"
    },
    "4795": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4797": {
      "op": "DUP1"
    },
    "4798": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4800": {
      "op": "DUP1"
    },
    "4801": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "4803": {
      "op": "DUP6"
    },
    "4804": {
      "op": "DUP8"
    },
    "4805": {
      "op": "SUB"
    },
    "4806": {
      "op": "SLT"
    },
    "4807": {
      "op": "ISZERO"
    },
    "4808": {
      "op": "PUSH2",
      "value": "0x12CF"
    },
    "4811": {
      "op": "JUMPI"
    },
    "4812": {
      "op": "DUP3"
    },
    "4813": {
      "op": "DUP4"
    },
    "4814": {
      "op": "REVERT"
    },
    "4815": {
      "op": "JUMPDEST"
    },
    "4816": {
      "op": "DUP5"
    },
    "4817": {
      "op": "CALLDATALOAD"
    },
    "4818": {
      "op": "PUSH2",
      "value": "0x12DA"
    },
    "4821": {
      "op": "DUP2"
    },
    "4822": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "4825": {
      "op": "JUMP"
    },
    "4826": {
      "op": "JUMPDEST"
    },
    "4827": {
      "op": "SWAP4"
    },
    "4828": {
      "op": "POP"
    },
    "4829": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4831": {
      "op": "DUP6"
    },
    "4832": {
      "op": "ADD"
    },
    "4833": {
      "op": "CALLDATALOAD"
    },
    "4834": {
      "op": "PUSH2",
      "value": "0x12EA"
    },
    "4837": {
      "op": "DUP2"
    },
    "4838": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "4841": {
      "op": "JUMP"
    },
    "4842": {
      "op": "JUMPDEST"
    },
    "4843": {
      "op": "SWAP4"
    },
    "4844": {
      "op": "SWAP7"
    },
    "4845": {
      "op": "SWAP4"
    },
    "4846": {
      "op": "SWAP6"
    },
    "4847": {
      "op": "POP"
    },
    "4848": {
      "op": "POP"
    },
    "4849": {
      "op": "POP"
    },
    "4850": {
      "op": "POP"
    },
    "4851": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "4853": {
      "op": "DUP3"
    },
    "4854": {
      "op": "ADD"
    },
    "4855": {
      "op": "CALLDATALOAD"
    },
    "4856": {
      "op": "SWAP2"
    },
    "4857": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "4859": {
      "op": "ADD"
    },
    "4860": {
      "op": "CALLDATALOAD"
    },
    "4861": {
      "op": "SWAP1"
    },
    "4862": {
      "op": "JUMP"
    },
    "4863": {
      "op": "JUMPDEST"
    },
    "4864": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4866": {
      "op": "DUP1"
    },
    "4867": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "4869": {
      "op": "DUP4"
    },
    "4870": {
      "op": "DUP6"
    },
    "4871": {
      "op": "SUB"
    },
    "4872": {
      "op": "SLT"
    },
    "4873": {
      "op": "ISZERO"
    },
    "4874": {
      "op": "PUSH2",
      "value": "0x1311"
    },
    "4877": {
      "op": "JUMPI"
    },
    "4878": {
      "op": "DUP2"
    },
    "4879": {
      "op": "DUP3"
    },
    "4880": {
      "op": "REVERT"
    },
    "4881": {
      "op": "JUMPDEST"
    },
    "4882": {
      "op": "DUP3"
    },
    "4883": {
      "op": "CALLDATALOAD"
    },
    "4884": {
      "op": "PUSH2",
      "value": "0x131C"
    },
    "4887": {
      "op": "DUP2"
    },
    "4888": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "4891": {
      "op": "JUMP"
    },
    "4892": {
      "op": "JUMPDEST"
    },
    "4893": {
      "op": "SWAP5"
    },
    "4894": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4896": {
      "op": "SWAP4"
    },
    "4897": {
      "op": "SWAP1"
    },
    "4898": {
      "op": "SWAP4"
    },
    "4899": {
      "op": "ADD"
    },
    "4900": {
      "op": "CALLDATALOAD"
    },
    "4901": {
      "op": "SWAP4"
    },
    "4902": {
      "op": "POP"
    },
    "4903": {
      "op": "POP"
    },
    "4904": {
      "op": "POP"
    },
    "4905": {
      "op": "JUMP"
    },
    "4906": {
      "op": "JUMPDEST"
    },
    "4907": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4909": {
      "op": "DUP1"
    },
    "4910": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4912": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "4914": {
      "op": "DUP5"
    },
    "4915": {
      "op": "DUP7"
    },
    "4916": {
      "op": "SUB"
    },
    "4917": {
      "op": "SLT"
    },
    "4918": {
      "op": "ISZERO"
    },
    "4919": {
      "op": "PUSH2",
      "value": "0x133E"
    },
    "4922": {
      "op": "JUMPI"
    },
    "4923": {
      "op": "DUP3"
    },
    "4924": {
      "op": "DUP4"
    },
    "4925": {
      "op": "REVERT"
    },
    "4926": {
      "op": "JUMPDEST"
    },
    "4927": {
      "op": "DUP4"
    },
    "4928": {
      "op": "CALLDATALOAD"
    },
    "4929": {
      "op": "PUSH2",
      "value": "0x1349"
    },
    "4932": {
      "op": "DUP2"
    },
    "4933": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "4936": {
      "op": "JUMP"
    },
    "4937": {
      "op": "JUMPDEST"
    },
    "4938": {
      "op": "SWAP3"
    },
    "4939": {
      "op": "POP"
    },
    "4940": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "4942": {
      "op": "DUP5"
    },
    "4943": {
      "op": "ADD"
    },
    "4944": {
      "op": "CALLDATALOAD"
    },
    "4945": {
      "op": "SWAP2"
    },
    "4946": {
      "op": "POP"
    },
    "4947": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "4949": {
      "op": "DUP5"
    },
    "4950": {
      "op": "ADD"
    },
    "4951": {
      "op": "CALLDATALOAD"
    },
    "4952": {
      "op": "PUSH2",
      "value": "0x1360"
    },
    "4955": {
      "op": "DUP2"
    },
    "4956": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "4959": {
      "op": "JUMP"
    },
    "4960": {
      "op": "JUMPDEST"
    },
    "4961": {
      "op": "DUP1"
    },
    "4962": {
      "op": "SWAP2"
    },
    "4963": {
      "op": "POP"
    },
    "4964": {
      "op": "POP"
    },
    "4965": {
      "op": "SWAP3"
    },
    "4966": {
      "op": "POP"
    },
    "4967": {
      "op": "SWAP3"
    },
    "4968": {
      "op": "POP"
    },
    "4969": {
      "op": "SWAP3"
    },
    "4970": {
      "op": "JUMP"
    },
    "4971": {
      "op": "JUMPDEST"
    },
    "4972": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4974": {
      "op": "DUP1"
    },
    "4975": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "4977": {
      "op": "DUP1"
    },
    "4978": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "4980": {
      "op": "DUP6"
    },
    "4981": {
      "op": "DUP8"
    },
    "4982": {
      "op": "SUB"
    },
    "4983": {
      "op": "SLT"
    },
    "4984": {
      "op": "ISZERO"
    },
    "4985": {
      "op": "PUSH2",
      "value": "0x1380"
    },
    "4988": {
      "op": "JUMPI"
    },
    "4989": {
      "op": "DUP4"
    },
    "4990": {
      "op": "DUP5"
    },
    "4991": {
      "op": "REVERT"
    },
    "4992": {
      "op": "JUMPDEST"
    },
    "4993": {
      "op": "DUP5"
    },
    "4994": {
      "op": "CALLDATALOAD"
    },
    "4995": {
      "op": "PUSH2",
      "value": "0x138B"
    },
    "4998": {
      "op": "DUP2"
    },
    "4999": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "5002": {
      "op": "JUMP"
    },
    "5003": {
      "op": "JUMPDEST"
    },
    "5004": {
      "op": "SWAP4"
    },
    "5005": {
      "op": "POP"
    },
    "5006": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5008": {
      "op": "DUP6"
    },
    "5009": {
      "op": "ADD"
    },
    "5010": {
      "op": "CALLDATALOAD"
    },
    "5011": {
      "op": "SWAP3"
    },
    "5012": {
      "op": "POP"
    },
    "5013": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5015": {
      "op": "DUP6"
    },
    "5016": {
      "op": "ADD"
    },
    "5017": {
      "op": "CALLDATALOAD"
    },
    "5018": {
      "op": "SWAP2"
    },
    "5019": {
      "op": "POP"
    },
    "5020": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5022": {
      "op": "DUP6"
    },
    "5023": {
      "op": "ADD"
    },
    "5024": {
      "op": "CALLDATALOAD"
    },
    "5025": {
      "op": "PUSH2",
      "value": "0x13A9"
    },
    "5028": {
      "op": "DUP2"
    },
    "5029": {
      "op": "PUSH2",
      "value": "0x18B4"
    },
    "5032": {
      "op": "JUMP"
    },
    "5033": {
      "op": "JUMPDEST"
    },
    "5034": {
      "op": "SWAP4"
    },
    "5035": {
      "op": "SWAP7"
    },
    "5036": {
      "op": "SWAP3"
    },
    "5037": {
      "op": "SWAP6"
    },
    "5038": {
      "op": "POP"
    },
    "5039": {
      "op": "SWAP1"
    },
    "5040": {
      "op": "SWAP4"
    },
    "5041": {
      "op": "POP"
    },
    "5042": {
      "op": "POP"
    },
    "5043": {
      "op": "JUMP"
    },
    "5044": {
      "op": "JUMPDEST"
    },
    "5045": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5047": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5049": {
      "op": "DUP3"
    },
    "5050": {
      "op": "DUP5"
    },
    "5051": {
      "op": "SUB"
    },
    "5052": {
      "op": "SLT"
    },
    "5053": {
      "op": "ISZERO"
    },
    "5054": {
      "op": "PUSH2",
      "value": "0x13C5"
    },
    "5057": {
      "op": "JUMPI"
    },
    "5058": {
      "op": "DUP1"
    },
    "5059": {
      "op": "DUP2"
    },
    "5060": {
      "op": "REVERT"
    },
    "5061": {
      "op": "JUMPDEST"
    },
    "5062": {
      "op": "DUP2"
    },
    "5063": {
      "op": "CALLDATALOAD"
    },
    "5064": {
      "op": "PUSH8",
      "value": "0xFFFFFFFFFFFFFFFF"
    },
    "5073": {
      "op": "DUP2"
    },
    "5074": {
      "op": "GT"
    },
    "5075": {
      "op": "ISZERO"
    },
    "5076": {
      "op": "PUSH2",
      "value": "0x13DB"
    },
    "5079": {
      "op": "JUMPI"
    },
    "5080": {
      "op": "DUP2"
    },
    "5081": {
      "op": "DUP3"
    },
    "5082": {
      "op": "REVERT"
    },
    "5083": {
      "op": "JUMPDEST"
    },
    "5084": {
      "op": "PUSH2",
      "value": "0x13E7"
    },
    "5087": {
      "op": "DUP5"
    },
    "5088": {
      "op": "DUP3"
    },
    "5089": {
      "op": "DUP6"
    },
    "5090": {
      "op": "ADD"
    },
    "5091": {
      "op": "PUSH2",
      "value": "0x11A6"
    },
    "5094": {
      "op": "JUMP"
    },
    "5095": {
      "op": "JUMPDEST"
    },
    "5096": {
      "op": "SWAP5"
    },
    "5097": {
      "op": "SWAP4"
    },
    "5098": {
      "op": "POP"
    },
    "5099": {
      "op": "POP"
    },
    "5100": {
      "op": "POP"
    },
    "5101": {
      "op": "POP"
    },
    "5102": {
      "op": "JUMP"
    },
    "5103": {
      "op": "JUMPDEST"
    },
    "5104": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5106": {
      "op": "DUP1"
    },
    "5107": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5109": {
      "op": "DUP4"
    },
    "5110": {
      "op": "DUP6"
    },
    "5111": {
      "op": "SUB"
    },
    "5112": {
      "op": "SLT"
    },
    "5113": {
      "op": "ISZERO"
    },
    "5114": {
      "op": "PUSH2",
      "value": "0x1401"
    },
    "5117": {
      "op": "JUMPI"
    },
    "5118": {
      "op": "DUP2"
    },
    "5119": {
      "op": "DUP3"
    },
    "5120": {
      "op": "REVERT"
    },
    "5121": {
      "op": "JUMPDEST"
    },
    "5122": {
      "op": "DUP3"
    },
    "5123": {
      "op": "CALLDATALOAD"
    },
    "5124": {
      "op": "PUSH8",
      "value": "0xFFFFFFFFFFFFFFFF"
    },
    "5133": {
      "op": "DUP1"
    },
    "5134": {
      "op": "DUP3"
    },
    "5135": {
      "op": "GT"
    },
    "5136": {
      "op": "ISZERO"
    },
    "5137": {
      "op": "PUSH2",
      "value": "0x1418"
    },
    "5140": {
      "op": "JUMPI"
    },
    "5141": {
      "op": "DUP4"
    },
    "5142": {
      "op": "DUP5"
    },
    "5143": {
      "op": "REVERT"
    },
    "5144": {
      "op": "JUMPDEST"
    },
    "5145": {
      "op": "PUSH2",
      "value": "0x1424"
    },
    "5148": {
      "op": "DUP7"
    },
    "5149": {
      "op": "DUP4"
    },
    "5150": {
      "op": "DUP8"
    },
    "5151": {
      "op": "ADD"
    },
    "5152": {
      "op": "PUSH2",
      "value": "0x11A6"
    },
    "5155": {
      "op": "JUMP"
    },
    "5156": {
      "op": "JUMPDEST"
    },
    "5157": {
      "op": "SWAP4"
    },
    "5158": {
      "op": "POP"
    },
    "5159": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5161": {
      "op": "SWAP2"
    },
    "5162": {
      "op": "POP"
    },
    "5163": {
      "op": "DUP2"
    },
    "5164": {
      "op": "DUP6"
    },
    "5165": {
      "op": "ADD"
    },
    "5166": {
      "op": "CALLDATALOAD"
    },
    "5167": {
      "op": "DUP2"
    },
    "5168": {
      "op": "DUP2"
    },
    "5169": {
      "op": "GT"
    },
    "5170": {
      "op": "ISZERO"
    },
    "5171": {
      "op": "PUSH2",
      "value": "0x143A"
    },
    "5174": {
      "op": "JUMPI"
    },
    "5175": {
      "op": "DUP4"
    },
    "5176": {
      "op": "DUP5"
    },
    "5177": {
      "op": "REVERT"
    },
    "5178": {
      "op": "JUMPDEST"
    },
    "5179": {
      "op": "DUP6"
    },
    "5180": {
      "op": "ADD"
    },
    "5181": {
      "op": "SWAP1"
    },
    "5182": {
      "op": "POP"
    },
    "5183": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "5185": {
      "op": "DUP2"
    },
    "5186": {
      "op": "ADD"
    },
    "5187": {
      "op": "DUP7"
    },
    "5188": {
      "op": "SGT"
    },
    "5189": {
      "op": "PUSH2",
      "value": "0x144C"
    },
    "5192": {
      "op": "JUMPI"
    },
    "5193": {
      "op": "DUP3"
    },
    "5194": {
      "op": "DUP4"
    },
    "5195": {
      "op": "REVERT"
    },
    "5196": {
      "op": "JUMPDEST"
    },
    "5197": {
      "op": "DUP1"
    },
    "5198": {
      "op": "CALLDATALOAD"
    },
    "5199": {
      "op": "PUSH2",
      "value": "0x145A"
    },
    "5202": {
      "op": "PUSH2",
      "value": "0x11C4"
    },
    "5205": {
      "op": "DUP3"
    },
    "5206": {
      "op": "PUSH2",
      "value": "0x1894"
    },
    "5209": {
      "op": "JUMP"
    },
    "5210": {
      "op": "JUMPDEST"
    },
    "5211": {
      "op": "DUP2"
    },
    "5212": {
      "op": "DUP2"
    },
    "5213": {
      "op": "MSTORE"
    },
    "5214": {
      "op": "DUP4"
    },
    "5215": {
      "op": "DUP2"
    },
    "5216": {
      "op": "ADD"
    },
    "5217": {
      "op": "SWAP1"
    },
    "5218": {
      "op": "DUP4"
    },
    "5219": {
      "op": "DUP6"
    },
    "5220": {
      "op": "ADD"
    },
    "5221": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5223": {
      "op": "DUP1"
    },
    "5224": {
      "op": "DUP6"
    },
    "5225": {
      "op": "MUL"
    },
    "5226": {
      "op": "DUP7"
    },
    "5227": {
      "op": "ADD"
    },
    "5228": {
      "op": "DUP8"
    },
    "5229": {
      "op": "ADD"
    },
    "5230": {
      "op": "DUP12"
    },
    "5231": {
      "op": "LT"
    },
    "5232": {
      "op": "ISZERO"
    },
    "5233": {
      "op": "PUSH2",
      "value": "0x1478"
    },
    "5236": {
      "op": "JUMPI"
    },
    "5237": {
      "op": "DUP8"
    },
    "5238": {
      "op": "DUP9"
    },
    "5239": {
      "op": "REVERT"
    },
    "5240": {
      "op": "JUMPDEST"
    },
    "5241": {
      "op": "DUP8"
    },
    "5242": {
      "op": "SWAP6"
    },
    "5243": {
      "op": "POP"
    },
    "5244": {
      "op": "JUMPDEST"
    },
    "5245": {
      "op": "DUP5"
    },
    "5246": {
      "op": "DUP7"
    },
    "5247": {
      "op": "LT"
    },
    "5248": {
      "op": "ISZERO"
    },
    "5249": {
      "op": "PUSH2",
      "value": "0x14A4"
    },
    "5252": {
      "op": "JUMPI"
    },
    "5253": {
      "op": "PUSH2",
      "value": "0x148E"
    },
    "5256": {
      "op": "DUP12"
    },
    "5257": {
      "op": "DUP4"
    },
    "5258": {
      "op": "PUSH2",
      "value": "0x121D"
    },
    "5261": {
      "op": "JUMP"
    },
    "5262": {
      "op": "JUMPDEST"
    },
    "5263": {
      "op": "DUP5"
    },
    "5264": {
      "op": "MSTORE"
    },
    "5265": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5267": {
      "op": "SWAP6"
    },
    "5268": {
      "op": "SWAP1"
    },
    "5269": {
      "op": "SWAP6"
    },
    "5270": {
      "op": "ADD"
    },
    "5271": {
      "op": "SWAP5"
    },
    "5272": {
      "op": "SWAP3"
    },
    "5273": {
      "op": "DUP7"
    },
    "5274": {
      "op": "ADD"
    },
    "5275": {
      "op": "SWAP3"
    },
    "5276": {
      "op": "SWAP1"
    },
    "5277": {
      "op": "DUP2"
    },
    "5278": {
      "op": "ADD"
    },
    "5279": {
      "op": "SWAP1"
    },
    "5280": {
      "op": "PUSH2",
      "value": "0x147C"
    },
    "5283": {
      "op": "JUMP"
    },
    "5284": {
      "op": "JUMPDEST"
    },
    "5285": {
      "op": "POP"
    },
    "5286": {
      "op": "SWAP7"
    },
    "5287": {
      "op": "SWAP10"
    },
    "5288": {
      "op": "SWAP1"
    },
    "5289": {
      "op": "SWAP9"
    },
    "5290": {
      "op": "POP"
    },
    "5291": {
      "op": "SWAP7"
    },
    "5292": {
      "op": "POP"
    },
    "5293": {
      "op": "POP"
    },
    "5294": {
      "op": "POP"
    },
    "5295": {
      "op": "POP"
    },
    "5296": {
      "op": "POP"
    },
    "5297": {
      "op": "POP"
    },
    "5298": {
      "op": "POP"
    },
    "5299": {
      "op": "JUMP"
    },
    "5300": {
      "op": "JUMPDEST"
    },
    "5301": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5303": {
      "op": "DUP1"
    },
    "5304": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5306": {
      "op": "DUP4"
    },
    "5307": {
      "op": "DUP6"
    },
    "5308": {
      "op": "SUB"
    },
    "5309": {
      "op": "SLT"
    },
    "5310": {
      "op": "ISZERO"
    },
    "5311": {
      "op": "PUSH2",
      "value": "0x14C6"
    },
    "5314": {
      "op": "JUMPI"
    },
    "5315": {
      "op": "DUP2"
    },
    "5316": {
      "op": "DUP3"
    },
    "5317": {
      "op": "REVERT"
    },
    "5318": {
      "op": "JUMPDEST"
    },
    "5319": {
      "op": "DUP3"
    },
    "5320": {
      "op": "CALLDATALOAD"
    },
    "5321": {
      "op": "PUSH8",
      "value": "0xFFFFFFFFFFFFFFFF"
    },
    "5330": {
      "op": "DUP2"
    },
    "5331": {
      "op": "GT"
    },
    "5332": {
      "op": "ISZERO"
    },
    "5333": {
      "op": "PUSH2",
      "value": "0x14DC"
    },
    "5336": {
      "op": "JUMPI"
    },
    "5337": {
      "op": "DUP3"
    },
    "5338": {
      "op": "DUP4"
    },
    "5339": {
      "op": "REVERT"
    },
    "5340": {
      "op": "JUMPDEST"
    },
    "5341": {
      "op": "PUSH2",
      "value": "0x14E8"
    },
    "5344": {
      "op": "DUP6"
    },
    "5345": {
      "op": "DUP3"
    },
    "5346": {
      "op": "DUP7"
    },
    "5347": {
      "op": "ADD"
    },
    "5348": {
      "op": "PUSH2",
      "value": "0x11A6"
    },
    "5351": {
      "op": "JUMP"
    },
    "5352": {
      "op": "JUMPDEST"
    },
    "5353": {
      "op": "SWAP3"
    },
    "5354": {
      "op": "POP"
    },
    "5355": {
      "op": "POP"
    },
    "5356": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5358": {
      "op": "DUP4"
    },
    "5359": {
      "op": "ADD"
    },
    "5360": {
      "op": "CALLDATALOAD"
    },
    "5361": {
      "op": "DUP1"
    },
    "5362": {
      "op": "ISZERO"
    },
    "5363": {
      "op": "ISZERO"
    },
    "5364": {
      "op": "DUP2"
    },
    "5365": {
      "op": "EQ"
    },
    "5366": {
      "op": "PUSH2",
      "value": "0x14FD"
    },
    "5369": {
      "op": "JUMPI"
    },
    "5370": {
      "op": "DUP2"
    },
    "5371": {
      "op": "DUP3"
    },
    "5372": {
      "op": "REVERT"
    },
    "5373": {
      "op": "JUMPDEST"
    },
    "5374": {
      "op": "DUP1"
    },
    "5375": {
      "op": "SWAP2"
    },
    "5376": {
      "op": "POP"
    },
    "5377": {
      "op": "POP"
    },
    "5378": {
      "op": "SWAP3"
    },
    "5379": {
      "op": "POP"
    },
    "5380": {
      "op": "SWAP3"
    },
    "5381": {
      "op": "SWAP1"
    },
    "5382": {
      "op": "POP"
    },
    "5383": {
      "op": "JUMP"
    },
    "5384": {
      "op": "JUMPDEST"
    },
    "5385": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "5387": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5389": {
      "op": "DUP3"
    },
    "5390": {
      "op": "DUP5"
    },
    "5391": {
      "op": "SUB"
    },
    "5392": {
      "op": "SLT"
    },
    "5393": {
      "op": "ISZERO"
    },
    "5394": {
      "op": "PUSH2",
      "value": "0x1519"
    },
    "5397": {
      "op": "JUMPI"
    },
    "5398": {
      "op": "DUP1"
    },
    "5399": {
      "op": "DUP2"
    },
    "5400": {
      "op": "REVERT"
    },
    "5401": {
      "op": "JUMPDEST"
    },
    "5402": {
      "op": "POP"
    },
    "5403": {
      "op": "MLOAD"
    },
    "5404": {
      "op": "SWAP2"
    },
    "5405": {
      "op": "SWAP1"
    },
    "5406": {
      "op": "POP"
    },
    "5407": {
      "op": "JUMP"
    },
    "5408": {
      "op": "JUMPDEST"
    },
    "5409": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5411": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "5413": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "5415": {
      "op": "SHL"
    },
    "5416": {
      "op": "SUB"
    },
    "5417": {
      "op": "SWAP2"
    },
    "5418": {
      "op": "SWAP1"
    },
    "5419": {
      "op": "SWAP2"
    },
    "5420": {
      "op": "AND"
    },
    "5421": {
      "op": "DUP2"
    },
    "5422": {
      "op": "MSTORE"
    },
    "5423": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5425": {
      "op": "ADD"
    },
    "5426": {
      "op": "SWAP1"
    },
    "5427": {
      "op": "JUMP"
    },
    "5428": {
      "op": "JUMPDEST"
    },
    "5429": {
      "op": "SWAP1"
    },
    "5430": {
      "op": "ISZERO"
    },
    "5431": {
      "op": "ISZERO"
    },
    "5432": {
      "op": "DUP2"
    },
    "5433": {
      "op": "MSTORE"
    },
    "5434": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5436": {
      "op": "ADD"
    },
    "5437": {
      "op": "SWAP1"
    },
    "5438": {
      "op": "JUMP"
    },
    "5439": {
      "op": "JUMPDEST"
    },
    "5440": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5442": {
      "op": "DUP1"
    },
    "5443": {
      "op": "DUP3"
    },
    "5444": {
      "op": "MSTORE"
    },
    "5445": {
      "op": "PUSH1",
      "value": "0x19"
    },
    "5447": {
      "op": "SWAP1"
    },
    "5448": {
      "op": "DUP3"
    },
    "5449": {
      "op": "ADD"
    },
    "5450": {
      "op": "MSTORE"
    },
    "5451": {
      "op": "PUSH32",
      "value": "0x62616420756E6465726C79696E6720636F6C6C61746572616C00000000000000"
    },
    "5484": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5486": {
      "op": "DUP3"
    },
    "5487": {
      "op": "ADD"
    },
    "5488": {
      "op": "MSTORE"
    },
    "5489": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5491": {
      "op": "ADD"
    },
    "5492": {
      "op": "SWAP1"
    },
    "5493": {
      "op": "JUMP"
    },
    "5494": {
      "op": "JUMPDEST"
    },
    "5495": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5497": {
      "op": "DUP1"
    },
    "5498": {
      "op": "DUP3"
    },
    "5499": {
      "op": "MSTORE"
    },
    "5500": {
      "op": "PUSH1",
      "value": "0x12"
    },
    "5502": {
      "op": "SWAP1"
    },
    "5503": {
      "op": "DUP3"
    },
    "5504": {
      "op": "ADD"
    },
    "5505": {
      "op": "MSTORE"
    },
    "5506": {
      "op": "PUSH18",
      "value": "0x189859081D5B99195C9B1E5A5B99C81BDD5D"
    },
    "5525": {
      "op": "PUSH1",
      "value": "0x72"
    },
    "5527": {
      "op": "SHL"
    },
    "5528": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5530": {
      "op": "DUP3"
    },
    "5531": {
      "op": "ADD"
    },
    "5532": {
      "op": "MSTORE"
    },
    "5533": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5535": {
      "op": "ADD"
    },
    "5536": {
      "op": "SWAP1"
    },
    "5537": {
      "op": "JUMP"
    },
    "5538": {
      "op": "JUMPDEST"
    },
    "5539": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5541": {
      "op": "DUP1"
    },
    "5542": {
      "op": "DUP3"
    },
    "5543": {
      "op": "MSTORE"
    },
    "5544": {
      "op": "PUSH1",
      "value": "0x18"
    },
    "5546": {
      "op": "SWAP1"
    },
    "5547": {
      "op": "DUP3"
    },
    "5548": {
      "op": "ADD"
    },
    "5549": {
      "op": "MSTORE"
    },
    "5550": {
      "op": "PUSH32",
      "value": "0x6E6F74207468652070656E64696E6720676F7665726E6F720000000000000000"
    },
    "5583": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5585": {
      "op": "DUP3"
    },
    "5586": {
      "op": "ADD"
    },
    "5587": {
      "op": "MSTORE"
    },
    "5588": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5590": {
      "op": "ADD"
    },
    "5591": {
      "op": "SWAP1"
    },
    "5592": {
      "op": "JUMP"
    },
    "5593": {
      "op": "JUMPDEST"
    },
    "5594": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5596": {
      "op": "DUP1"
    },
    "5597": {
      "op": "DUP3"
    },
    "5598": {
      "op": "MSTORE"
    },
    "5599": {
      "op": "PUSH1",
      "value": "0x1A"
    },
    "5601": {
      "op": "SWAP1"
    },
    "5602": {
      "op": "DUP3"
    },
    "5603": {
      "op": "ADD"
    },
    "5604": {
      "op": "MSTORE"
    },
    "5605": {
      "op": "PUSH32",
      "value": "0x536166654D6174683A206469766973696F6E206279207A65726F000000000000"
    },
    "5638": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5640": {
      "op": "DUP3"
    },
    "5641": {
      "op": "ADD"
    },
    "5642": {
      "op": "MSTORE"
    },
    "5643": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5645": {
      "op": "ADD"
    },
    "5646": {
      "op": "SWAP1"
    },
    "5647": {
      "op": "JUMP"
    },
    "5648": {
      "op": "JUMPDEST"
    },
    "5649": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5651": {
      "op": "DUP1"
    },
    "5652": {
      "op": "DUP3"
    },
    "5653": {
      "op": "MSTORE"
    },
    "5654": {
      "op": "PUSH1",
      "value": "0x10"
    },
    "5656": {
      "op": "SWAP1"
    },
    "5657": {
      "op": "DUP3"
    },
    "5658": {
      "op": "ADD"
    },
    "5659": {
      "op": "MSTORE"
    },
    "5660": {
      "op": "PUSH16",
      "value": "0x3737BA103A34329033B7BB32B93737B9"
    },
    "5677": {
      "op": "PUSH1",
      "value": "0x81"
    },
    "5679": {
      "op": "SHL"
    },
    "5680": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5682": {
      "op": "DUP3"
    },
    "5683": {
      "op": "ADD"
    },
    "5684": {
      "op": "MSTORE"
    },
    "5685": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5687": {
      "op": "ADD"
    },
    "5688": {
      "op": "SWAP1"
    },
    "5689": {
      "op": "JUMP"
    },
    "5690": {
      "op": "JUMPDEST"
    },
    "5691": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5693": {
      "op": "DUP1"
    },
    "5694": {
      "op": "DUP3"
    },
    "5695": {
      "op": "MSTORE"
    },
    "5696": {
      "op": "PUSH1",
      "value": "0x9"
    },
    "5698": {
      "op": "SWAP1"
    },
    "5699": {
      "op": "DUP3"
    },
    "5700": {
      "op": "ADD"
    },
    "5701": {
      "op": "MSTORE"
    },
    "5702": {
      "op": "PUSH9",
      "value": "0x3130B2103A37B5B2B7"
    },
    "5712": {
      "op": "PUSH1",
      "value": "0xB9"
    },
    "5714": {
      "op": "SHL"
    },
    "5715": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5717": {
      "op": "DUP3"
    },
    "5718": {
      "op": "ADD"
    },
    "5719": {
      "op": "MSTORE"
    },
    "5720": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5722": {
      "op": "ADD"
    },
    "5723": {
      "op": "SWAP1"
    },
    "5724": {
      "op": "JUMP"
    },
    "5725": {
      "op": "JUMPDEST"
    },
    "5726": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5728": {
      "op": "DUP1"
    },
    "5729": {
      "op": "DUP3"
    },
    "5730": {
      "op": "MSTORE"
    },
    "5731": {
      "op": "PUSH1",
      "value": "0x15"
    },
    "5733": {
      "op": "SWAP1"
    },
    "5734": {
      "op": "DUP3"
    },
    "5735": {
      "op": "ADD"
    },
    "5736": {
      "op": "MSTORE"
    },
    "5737": {
      "op": "PUSH21",
      "value": "0x62616420756E6465726C79696E6720626F72726F77"
    },
    "5759": {
      "op": "PUSH1",
      "value": "0x58"
    },
    "5761": {
      "op": "SHL"
    },
    "5762": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5764": {
      "op": "DUP3"
    },
    "5765": {
      "op": "ADD"
    },
    "5766": {
      "op": "MSTORE"
    },
    "5767": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5769": {
      "op": "ADD"
    },
    "5770": {
      "op": "SWAP1"
    },
    "5771": {
      "op": "JUMP"
    },
    "5772": {
      "op": "JUMPDEST"
    },
    "5773": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5775": {
      "op": "DUP1"
    },
    "5776": {
      "op": "DUP3"
    },
    "5777": {
      "op": "MSTORE"
    },
    "5778": {
      "op": "PUSH1",
      "value": "0x21"
    },
    "5780": {
      "op": "SWAP1"
    },
    "5781": {
      "op": "DUP3"
    },
    "5782": {
      "op": "ADD"
    },
    "5783": {
      "op": "MSTORE"
    },
    "5784": {
      "op": "PUSH32",
      "value": "0x536166654D6174683A206D756C7469706C69636174696F6E206F766572666C6F"
    },
    "5817": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5819": {
      "op": "DUP3"
    },
    "5820": {
      "op": "ADD"
    },
    "5821": {
      "op": "MSTORE"
    },
    "5822": {
      "op": "PUSH1",
      "value": "0x77"
    },
    "5824": {
      "op": "PUSH1",
      "value": "0xF8"
    },
    "5826": {
      "op": "SHL"
    },
    "5827": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5829": {
      "op": "DUP3"
    },
    "5830": {
      "op": "ADD"
    },
    "5831": {
      "op": "MSTORE"
    },
    "5832": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "5834": {
      "op": "ADD"
    },
    "5835": {
      "op": "SWAP1"
    },
    "5836": {
      "op": "JUMP"
    },
    "5837": {
      "op": "JUMPDEST"
    },
    "5838": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5840": {
      "op": "DUP1"
    },
    "5841": {
      "op": "DUP3"
    },
    "5842": {
      "op": "MSTORE"
    },
    "5843": {
      "op": "PUSH1",
      "value": "0x26"
    },
    "5845": {
      "op": "SWAP1"
    },
    "5846": {
      "op": "DUP3"
    },
    "5847": {
      "op": "ADD"
    },
    "5848": {
      "op": "MSTORE"
    },
    "5849": {
      "op": "PUSH32",
      "value": "0x636F6C6C61746572616C20666163746F72206D757374206265206174206D6F73"
    },
    "5882": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5884": {
      "op": "DUP3"
    },
    "5885": {
      "op": "ADD"
    },
    "5886": {
      "op": "MSTORE"
    },
    "5887": {
      "op": "PUSH6",
      "value": "0x742031303025"
    },
    "5894": {
      "op": "PUSH1",
      "value": "0xD0"
    },
    "5896": {
      "op": "SHL"
    },
    "5897": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5899": {
      "op": "DUP3"
    },
    "5900": {
      "op": "ADD"
    },
    "5901": {
      "op": "MSTORE"
    },
    "5902": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "5904": {
      "op": "ADD"
    },
    "5905": {
      "op": "SWAP1"
    },
    "5906": {
      "op": "JUMP"
    },
    "5907": {
      "op": "JUMPDEST"
    },
    "5908": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5910": {
      "op": "DUP1"
    },
    "5911": {
      "op": "DUP3"
    },
    "5912": {
      "op": "MSTORE"
    },
    "5913": {
      "op": "PUSH1",
      "value": "0x1F"
    },
    "5915": {
      "op": "SWAP1"
    },
    "5916": {
      "op": "DUP3"
    },
    "5917": {
      "op": "ADD"
    },
    "5918": {
      "op": "MSTORE"
    },
    "5919": {
      "op": "PUSH32",
      "value": "0x696E63656E74697665206D757374206265206174206C65617374203130302500"
    },
    "5952": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "5954": {
      "op": "DUP3"
    },
    "5955": {
      "op": "ADD"
    },
    "5956": {
      "op": "MSTORE"
    },
    "5957": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "5959": {
      "op": "ADD"
    },
    "5960": {
      "op": "SWAP1"
    },
    "5961": {
      "op": "JUMP"
    },
    "5962": {
      "op": "JUMPDEST"
    },
    "5963": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "5965": {
      "op": "DUP1"
    },
    "5966": {
      "op": "DUP3"
    },
    "5967": {
      "op": "MSTORE"
    },
    "5968": {
      "op": "PUSH1",
      "value": "0x23"
    },
    "5970": {
      "op": "SWAP1"
    },
    "5971": {
      "op": "DUP3"
    },
    "5972": {
      "op": "ADD"
    },
    "5973": {
      "op": "MSTORE"
    },
    "5974": {
      "op": "PUSH32",
      "value": "0x626F72726F7720666163746F72206D757374206265206174206C656173742031"
    },
    "6007": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "6009": {
      "op": "DUP3"
    },
    "6010": {
      "op": "ADD"
    },
    "6011": {
      "op": "MSTORE"
    },
    "6012": {
      "op": "PUSH3",
      "value": "0x303025"
    },
    "6016": {
      "op": "PUSH1",
      "value": "0xE8"
    },
    "6018": {
      "op": "SHL"
    },
    "6019": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "6021": {
      "op": "DUP3"
    },
    "6022": {
      "op": "ADD"
    },
    "6023": {
      "op": "MSTORE"
    },
    "6024": {
      "op": "PUSH1",
      "value": "0x80"
    },
    "6026": {
      "op": "ADD"
    },
    "6027": {
      "op": "SWAP1"
    },
    "6028": {
      "op": "JUMP"
    },
    "6029": {
      "op": "JUMPDEST"
    },
    "6030": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6032": {
      "op": "DUP1"
    },
    "6033": {
      "op": "DUP3"
    },
    "6034": {
      "op": "MSTORE"
    },
    "6035": {
      "op": "PUSH1",
      "value": "0x11"
    },
    "6037": {
      "op": "SWAP1"
    },
    "6038": {
      "op": "DUP3"
    },
    "6039": {
      "op": "ADD"
    },
    "6040": {
      "op": "MSTORE"
    },
    "6041": {
      "op": "PUSH17",
      "value": "0x3130B2103AB73232B9363CB4B7339034B7"
    },
    "6059": {
      "op": "PUSH1",
      "value": "0x79"
    },
    "6061": {
      "op": "SHL"
    },
    "6062": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "6064": {
      "op": "DUP3"
    },
    "6065": {
      "op": "ADD"
    },
    "6066": {
      "op": "MSTORE"
    },
    "6067": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "6069": {
      "op": "ADD"
    },
    "6070": {
      "op": "SWAP1"
    },
    "6071": {
      "op": "JUMP"
    },
    "6072": {
      "op": "JUMPDEST"
    },
    "6073": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6075": {
      "op": "DUP1"
    },
    "6076": {
      "op": "DUP3"
    },
    "6077": {
      "op": "MSTORE"
    },
    "6078": {
      "op": "PUSH1",
      "value": "0x13"
    },
    "6080": {
      "op": "SWAP1"
    },
    "6081": {
      "op": "DUP3"
    },
    "6082": {
      "op": "ADD"
    },
    "6083": {
      "op": "MSTORE"
    },
    "6084": {
      "op": "PUSH19",
      "value": "0xD2DCC6DEDCE6D2E6E8CADCE840D8CADCCEE8D"
    },
    "6104": {
      "op": "PUSH1",
      "value": "0x6B"
    },
    "6106": {
      "op": "SHL"
    },
    "6107": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "6109": {
      "op": "DUP3"
    },
    "6110": {
      "op": "ADD"
    },
    "6111": {
      "op": "MSTORE"
    },
    "6112": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "6114": {
      "op": "ADD"
    },
    "6115": {
      "op": "SWAP1"
    },
    "6116": {
      "op": "JUMP"
    },
    "6117": {
      "op": "JUMPDEST"
    },
    "6118": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6120": {
      "op": "DUP1"
    },
    "6121": {
      "op": "DUP3"
    },
    "6122": {
      "op": "MSTORE"
    },
    "6123": {
      "op": "PUSH1",
      "value": "0x1E"
    },
    "6125": {
      "op": "SWAP1"
    },
    "6126": {
      "op": "DUP3"
    },
    "6127": {
      "op": "ADD"
    },
    "6128": {
      "op": "MSTORE"
    },
    "6129": {
      "op": "PUSH32",
      "value": "0x696E63656E74697665206D757374206265206174206D6F737420323030250000"
    },
    "6162": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "6164": {
      "op": "DUP3"
    },
    "6165": {
      "op": "ADD"
    },
    "6166": {
      "op": "MSTORE"
    },
    "6167": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "6169": {
      "op": "ADD"
    },
    "6170": {
      "op": "SWAP1"
    },
    "6171": {
      "op": "JUMP"
    },
    "6172": {
      "op": "JUMPDEST"
    },
    "6173": {
      "op": "DUP2"
    },
    "6174": {
      "op": "MLOAD"
    },
    "6175": {
      "op": "PUSH2",
      "value": "0xFFFF"
    },
    "6178": {
      "op": "SWAP1"
    },
    "6179": {
      "op": "DUP2"
    },
    "6180": {
      "op": "AND"
    },
    "6181": {
      "op": "DUP3"
    },
    "6182": {
      "op": "MSTORE"
    },
    "6183": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6185": {
      "op": "DUP1"
    },
    "6186": {
      "op": "DUP5"
    },
    "6187": {
      "op": "ADD"
    },
    "6188": {
      "op": "MLOAD"
    },
    "6189": {
      "op": "DUP3"
    },
    "6190": {
      "op": "AND"
    },
    "6191": {
      "op": "SWAP1"
    },
    "6192": {
      "op": "DUP4"
    },
    "6193": {
      "op": "ADD"
    },
    "6194": {
      "op": "MSTORE"
    },
    "6195": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "6197": {
      "op": "SWAP3"
    },
    "6198": {
      "op": "DUP4"
    },
    "6199": {
      "op": "ADD"
    },
    "6200": {
      "op": "MLOAD"
    },
    "6201": {
      "op": "AND"
    },
    "6202": {
      "op": "SWAP2"
    },
    "6203": {
      "op": "DUP2"
    },
    "6204": {
      "op": "ADD"
    },
    "6205": {
      "op": "SWAP2"
    },
    "6206": {
      "op": "SWAP1"
    },
    "6207": {
      "op": "SWAP2"
    },
    "6208": {
      "op": "MSTORE"
    },
    "6209": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "6211": {
      "op": "ADD"
    },
    "6212": {
      "op": "SWAP1"
    },
    "6213": {
      "op": "JUMP"
    },
    "6214": {
      "op": "JUMPDEST"
    },
    "6215": {
      "op": "PUSH2",
      "value": "0xFFFF"
    },
    "6218": {
      "op": "SWAP4"
    },
    "6219": {
      "op": "DUP5"
    },
    "6220": {
      "op": "AND"
    },
    "6221": {
      "op": "DUP2"
    },
    "6222": {
      "op": "MSTORE"
    },
    "6223": {
      "op": "SWAP2"
    },
    "6224": {
      "op": "DUP4"
    },
    "6225": {
      "op": "AND"
    },
    "6226": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6228": {
      "op": "DUP4"
    },
    "6229": {
      "op": "ADD"
    },
    "6230": {
      "op": "MSTORE"
    },
    "6231": {
      "op": "SWAP1"
    },
    "6232": {
      "op": "SWAP2"
    },
    "6233": {
      "op": "AND"
    },
    "6234": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "6236": {
      "op": "DUP3"
    },
    "6237": {
      "op": "ADD"
    },
    "6238": {
      "op": "MSTORE"
    },
    "6239": {
      "op": "PUSH1",
      "value": "0x60"
    },
    "6241": {
      "op": "ADD"
    },
    "6242": {
      "op": "SWAP1"
    },
    "6243": {
      "op": "JUMP"
    },
    "6244": {
      "op": "JUMPDEST"
    },
    "6245": {
      "op": "SWAP1"
    },
    "6246": {
      "op": "DUP2"
    },
    "6247": {
      "op": "MSTORE"
    },
    "6248": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6250": {
      "op": "ADD"
    },
    "6251": {
      "op": "SWAP1"
    },
    "6252": {
      "op": "JUMP"
    },
    "6253": {
      "op": "JUMPDEST"
    },
    "6254": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "6256": {
      "op": "MLOAD"
    },
    "6257": {
      "op": "DUP2"
    },
    "6258": {
      "op": "DUP2"
    },
    "6259": {
      "op": "ADD"
    },
    "6260": {
      "op": "PUSH8",
      "value": "0xFFFFFFFFFFFFFFFF"
    },
    "6269": {
      "op": "DUP2"
    },
    "6270": {
      "op": "GT"
    },
    "6271": {
      "op": "DUP3"
    },
    "6272": {
      "op": "DUP3"
    },
    "6273": {
      "op": "LT"
    },
    "6274": {
      "op": "OR"
    },
    "6275": {
      "op": "ISZERO"
    },
    "6276": {
      "op": "PUSH2",
      "value": "0x188C"
    },
    "6279": {
      "op": "JUMPI"
    },
    "6280": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "6282": {
      "op": "DUP1"
    },
    "6283": {
      "op": "REVERT"
    },
    "6284": {
      "op": "JUMPDEST"
    },
    "6285": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "6287": {
      "op": "MSTORE"
    },
    "6288": {
      "op": "SWAP2"
    },
    "6289": {
      "op": "SWAP1"
    },
    "6290": {
      "op": "POP"
    },
    "6291": {
      "op": "JUMP"
    },
    "6292": {
      "op": "JUMPDEST"
    },
    "6293": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "6295": {
      "op": "PUSH8",
      "value": "0xFFFFFFFFFFFFFFFF"
    },
    "6304": {
      "op": "DUP3"
    },
    "6305": {
      "op": "GT"
    },
    "6306": {
      "op": "ISZERO"
    },
    "6307": {
      "op": "PUSH2",
      "value": "0x18AA"
    },
    "6310": {
      "op": "JUMPI"
    },
    "6311": {
      "op": "DUP1"
    },
    "6312": {
      "op": "DUP2"
    },
    "6313": {
      "op": "REVERT"
    },
    "6314": {
      "op": "JUMPDEST"
    },
    "6315": {
      "op": "POP"
    },
    "6316": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "6318": {
      "op": "SWAP1"
    },
    "6319": {
      "op": "DUP2"
    },
    "6320": {
      "op": "MUL"
    },
    "6321": {
      "op": "ADD"
    },
    "6322": {
      "op": "SWAP1"
    },
    "6323": {
      "op": "JUMP"
    },
    "6324": {
      "op": "JUMPDEST"
    },
    "6325": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6327": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "6329": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "6331": {
      "op": "SHL"
    },
    "6332": {
      "op": "SUB"
    },
    "6333": {
      "op": "DUP2"
    },
    "6334": {
      "op": "AND"
    },
    "6335": {
      "op": "DUP2"
    },
    "6336": {
      "op": "EQ"
    },
    "6337": {
      "op": "PUSH2",
      "value": "0x18C9"
    },
    "6340": {
      "op": "JUMPI"
    },
    "6341": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "6343": {
      "op": "DUP1"
    },
    "6344": {
      "op": "REVERT"
    },
    "6345": {
      "op": "JUMPDEST"
    },
    "6346": {
      "op": "POP"
    },
    "6347": {
      "op": "JUMP"
    }
  },
  "sha1": "30a9000ac9ba79d2f97642fed133ceba0f1bba8b",
  "source": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.6.12;\npragma experimental ABIEncoderV2;\n\nimport 'OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol';\n\nimport '../Governable.sol';\nimport '../../interfaces/IOracle.sol';\nimport '../../interfaces/IBaseOracle.sol';\nimport '../../interfaces/IERC20Wrapper.sol';\n\ncontract ProxyOracle is IOracle, Governable {\n  using SafeMath for uint;\n\n  /// The governor sets oracle token factor for a token.\n  event SetTokenFactor(address indexed token, TokenFactors tokenFactor);\n  /// The governor unsets oracle token factor for a token.\n  event UnsetTokenFactor(address indexed token);\n  /// The governor sets token whitelist for an ERC1155 token.\n  event SetWhitelist(address indexed token, bool ok);\n\n  struct TokenFactors {\n    uint16 borrowFactor; // The borrow factor for this token, multiplied by 1e4.\n    uint16 collateralFactor; // The collateral factor for this token, multiplied by 1e4.\n    uint16 liqIncentive; // The liquidation incentive, multiplied by 1e4.\n  }\n\n  IBaseOracle public immutable source; // Main oracle source\n  mapping(address => TokenFactors) public tokenFactors; // Mapping from token address to oracle info.\n  mapping(address => bool) public whitelistERC1155; // Mapping from token address to whitelist status\n\n  /// @dev Create the contract and initialize the first governor.\n  constructor(IBaseOracle _source) public {\n    source = _source;\n    __Governable__init();\n  }\n\n  /// @dev Set oracle token factors for the given list of token addresses.\n  /// @param tokens List of tokens to set info\n  /// @param _tokenFactors List of oracle token factors\n  function setTokenFactors(address[] memory tokens, TokenFactors[] memory _tokenFactors)\n    external\n    onlyGov\n  {\n    require(tokens.length == _tokenFactors.length, 'inconsistent length');\n    for (uint idx = 0; idx < tokens.length; idx++) {\n      require(_tokenFactors[idx].borrowFactor >= 10000, 'borrow factor must be at least 100%');\n      require(\n        _tokenFactors[idx].collateralFactor <= 10000,\n        'collateral factor must be at most 100%'\n      );\n      require(_tokenFactors[idx].liqIncentive >= 10000, 'incentive must be at least 100%');\n      require(_tokenFactors[idx].liqIncentive <= 20000, 'incentive must be at most 200%');\n      tokenFactors[tokens[idx]] = _tokenFactors[idx];\n      emit SetTokenFactor(tokens[idx], _tokenFactors[idx]);\n    }\n  }\n\n  /// @dev Unset token factors for the given list of token addresses\n  /// @param tokens List of tokens to unset info\n  function unsetTokenFactors(address[] memory tokens) external onlyGov {\n    for (uint idx = 0; idx < tokens.length; idx++) {\n      delete tokenFactors[tokens[idx]];\n      emit UnsetTokenFactor(tokens[idx]);\n    }\n  }\n\n  /// @dev Set whitelist status for the given list of token addresses.\n  /// @param tokens List of tokens to set whitelist status\n  /// @param ok Whitelist status\n  function setWhitelistERC1155(address[] memory tokens, bool ok) external onlyGov {\n    for (uint idx = 0; idx < tokens.length; idx++) {\n      whitelistERC1155[tokens[idx]] = ok;\n      emit SetWhitelist(tokens[idx], ok);\n    }\n  }\n\n  /// @dev Return whether the oracle supports evaluating collateral value of the given token.\n  /// @param token ERC1155 token address to check for support\n  /// @param id ERC1155 token id to check for support\n  function supportWrappedToken(address token, uint id) external view override returns (bool) {\n    if (!whitelistERC1155[token]) return false;\n    address tokenUnderlying = IERC20Wrapper(token).getUnderlyingToken(id);\n    return tokenFactors[tokenUnderlying].liqIncentive != 0;\n  }\n\n  /// @dev Return the amount of token out as liquidation reward for liquidating token in.\n  /// @param tokenIn Input ERC20 token\n  /// @param tokenOut Output ERC1155 token\n  /// @param tokenOutId Output ERC1155 token id\n  /// @param amountIn Input ERC20 token amount\n  function convertForLiquidation(\n    address tokenIn,\n    address tokenOut,\n    uint tokenOutId,\n    uint amountIn\n  ) external view override returns (uint) {\n    require(whitelistERC1155[tokenOut], 'bad token');\n    address tokenOutUnderlying = IERC20Wrapper(tokenOut).getUnderlyingToken(tokenOutId);\n    uint rateUnderlying = IERC20Wrapper(tokenOut).getUnderlyingRate(tokenOutId);\n    TokenFactors memory tokenFactorIn = tokenFactors[tokenIn];\n    TokenFactors memory tokenFactorOut = tokenFactors[tokenOutUnderlying];\n    require(tokenFactorIn.liqIncentive != 0, 'bad underlying in');\n    require(tokenFactorOut.liqIncentive != 0, 'bad underlying out');\n    uint pxIn = source.getETHPx(tokenIn);\n    uint pxOut = source.getETHPx(tokenOutUnderlying);\n    uint amountOut = amountIn.mul(pxIn).div(pxOut);\n    amountOut = amountOut.mul(2**112).div(rateUnderlying);\n    return\n      amountOut.mul(tokenFactorIn.liqIncentive).mul(tokenFactorOut.liqIncentive).div(10000 * 10000);\n  }\n\n  /// @dev Return the value of the given input as ETH for collateral purpose.\n  /// @param token ERC1155 token address to get collateral value\n  /// @param id ERC1155 token id to get collateral value\n  /// @param amount Token amount to get collateral value\n  /// @param owner Token owner address (currently unused by this implementation)\n  function asETHCollateral(\n    address token,\n    uint id,\n    uint amount,\n    address owner\n  ) external view override returns (uint) {\n    require(whitelistERC1155[token], 'bad token');\n    address tokenUnderlying = IERC20Wrapper(token).getUnderlyingToken(id);\n    uint rateUnderlying = IERC20Wrapper(token).getUnderlyingRate(id);\n    uint amountUnderlying = amount.mul(rateUnderlying).div(2**112);\n    TokenFactors memory tokenFactor = tokenFactors[tokenUnderlying];\n    require(tokenFactor.liqIncentive != 0, 'bad underlying collateral');\n    uint ethValue = source.getETHPx(tokenUnderlying).mul(amountUnderlying).div(2**112);\n    return ethValue.mul(tokenFactor.collateralFactor).div(10000);\n  }\n\n  /// @dev Return the value of the given input as ETH for borrow purpose.\n  /// @param token ERC20 token address to get borrow value\n  /// @param amount ERC20 token amount to get borrow value\n  /// @param owner Token owner address (currently unused by this implementation)\n  function asETHBorrow(\n    address token,\n    uint amount,\n    address owner\n  ) external view override returns (uint) {\n    TokenFactors memory tokenFactor = tokenFactors[token];\n    require(tokenFactor.liqIncentive != 0, 'bad underlying borrow');\n    uint ethValue = source.getETHPx(token).mul(amount).div(2**112);\n    return ethValue.mul(tokenFactor.borrowFactor).div(10000);\n  }\n\n  /// @dev Return whether the ERC20 token is supported\n  /// @param token The ERC20 token to check for support\n  function support(address token) external view override returns (bool) {\n    try source.getETHPx(token) returns (uint px) {\n      return px != 0 && tokenFactors[token].liqIncentive != 0;\n    } catch {\n      return false;\n    }\n  }\n}\n",
  "sourceMap": "329:6604:36:-:0;;;1365:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1411:16:36;;;;;;;1433:20;:18;:20::i;:::-;1365:93;329:6604;;673:151:17;1501:13:5;;;;;;;;:33;;-1:-1:-1;1518:16:5;:14;:16::i;:::-;1501:50;;;-1:-1:-1;1539:12:5;;;;1538:13;1501:50;1493:109;;;;-1:-1:-1;;;1493:109:5;;;;;;;:::i;:::-;;;;;;;;;1613:19;1636:13;;;;;;1635:14;1659:98;;;;1693:13;:20;;-1:-1:-1;;;;1693:20:5;;;;;1727:19;1709:4;1727:19;;;1659:98;730:8:17::1;:21:::0;;-1:-1:-1;;;;;;730:21:17::1;741:10;730:21:::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;757:28:17;;-1:-1:-1;;;;;;757:28:17::1;::::0;;796:23:::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;1783:14:5::0;1779:66;;;1829:5;1813:21;;-1:-1:-1;;1813:21:5;;;1779:66;673:151:17;:::o;1941:112:5:-;1989:4;2013:33;2040:4;2013:18;;;;;:33;;:::i;:::-;2012:34;2005:41;;1941:112;:::o;726:413:14:-;1086:20;1124:8;;;726:413::o;188:305:-1:-;;324:2;312:9;303:7;299:23;295:32;292:2;;;-1:-1;;330:12;292:2;104:13;;-1:-1;;;;;2160:54;;2685:56;;2675:2;;-1:-1;;2745:12;2675:2;382:95;286:207;-1:-1;;;286:207::o;1041:238::-;-1:-1;;;;;2160:54;;;;579:58;;1176:2;1161:18;;1147:132::o;1286:416::-;1486:2;1500:47;;;874:2;1471:18;;;1813:19;910:34;1853:14;;;890:55;-1:-1;;;965:12;;;958:38;1015:12;;;1457:245::o;:::-;329:6604:36;;;;;;;;;;;",
  "sourcePath": "contracts/oracle/ProxyOracle.sol",
  "type": "contract"
}